// ================================================ FENETRE MODALE
	var ib_hContenu	= 0;
	var ib_lAlerte;
	var ib_hAlerte;
	var ib_lContenu;
	var ib_pTimer;
	var ib_pLargeur;
	var ib_pHauteur;

	var ib_laFenetre;
	var ib_leMasque;
	var ib_leRepere;

	//la fenetre, le repere, le masque
	function ib_init_elts(){
		ib_laFenetre=ib_id('ib_fenetreModale');
		ib_leMasque=ib_id('ib_masque');
		ib_leRepere=ib_id('ib_repere');
	}

	//la ahuteur du contenu
	function ib_calcule_hContenu(){
		ib_hContenu=ib_leRepere.offsetTop+1;
	}
	
	function ib_alerte(largeur,hauteur){
		if(!ib_id('ib_masque')){
			noeudRep=document.createElement('div');
			noeudRep.id='ib_repere';
			noeudRep.innerHTML='<span></span>';

			noeudMasque=document.createElement('div');
			noeudMasque.id='ib_masque';
			noeudMasque.innerHTML='<span></span>';

			noeudFen=document.createElement('div');
			noeudFen.id='ib_fenetreModale';

			document.body.insertBefore(noeudRep, document.body.firstChild);
			document.body.insertBefore(noeudMasque, document.body.firstChild);
			document.body.insertBefore(noeudFen, document.body.firstChild);
		}
		ib_init_elts();

		ib_laFenetre.style.height=hauteur+'px';
		ib_laFenetre.style.width=largeur+'px';

		ib_pLargeur = largeur;
		ib_pHauteur = hauteur;
		
		ib_replace_alerte();
		
		ib_leMasque.style.display="block";
		if(navigator.userAgent.indexOf("MSIE 6")!=-1)
			ib_laFenetre.style.position="absolute";
		
		ib_laFenetre.style.display="block";

		ib_leMasque.onclick=function(){
			ib_fermer_alerte();
		};
	}

	function ib_replace_alerte(){
		ib_calcule_hContenu();

		ib_init_repere(ib_pLargeur, ib_pHauteur);
		
		ib_deplace_alerte((ib_lContenu-ib_lAlerte)/2,ib_hContenu,ib_hAlerte);
		
		ib_leMasque.style.width=(document.body.offsetWidth)+"px";
		ib_leMasque.style.height=(document.body.offsetHeight+60)+"px";
	}
	
	function ib_init_repere(largeur,hauteur){
		ib_lContenu=ib_leRepere.offsetLeft+1;
		ib_lAlerte=largeur;
		ib_hAlerte=hauteur;
	}
	
	function ib_fermer_alerte(){
		ib_leMasque.style.display="none";
		ib_laFenetre.style.display="none";
		if(navigator.userAgent.indexOf("MSIE 6")!=-1)
			clearInterval(ib_pTimer);
	}
	
	function ib_deplace_alerte(coordX,ib_hContenu,ib_hAlerte){
 		ib_laFenetre.style.top=ib_get_alerte_y(ib_hContenu,ib_hAlerte)+"px";
 		ib_laFenetre.style.left=coordX+"px";
	}
	
	function ib_get_alerte_y(ib_hContenu,ib_hAlerte){
		if(navigator.userAgent.indexOf("MSIE 6")!=-1){
			var hauteurScroll=document.documentElement.scrollTop;
			return (hauteurScroll+ib_hContenu-ib_hAlerte)/2;
		}
		else
			return (ib_hContenu-ib_hAlerte)/2;
	}
// ================================================ FENETRE MODALE

function ib_id(elt){
	if(document.getElementById(elt))
		return document.getElementById(elt);
	else
		return false;
}

function ib_GetParameters(url){
	var arg=new Object();
	var href=url;

	if(href.indexOf( "?")!=-1){
		var params=href.split( "?")[1];
		var param=params.split("&");

		for(var i=0; i<param.length;++i){
			var name=param[i].split( "=")[0];
			var value=param[i].split( "=")[1];
			arg[name]=value;
		}
	}
	return arg;
}

function ib_getElementsByClassName(oElm, strTagName, strClassName){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/\-/g, "\\-");
	var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];
		if(oRegExp.test(oElement.className))
			arrReturnElements.push(oElement);
	}
	return (arrReturnElements)
}

function ib_addEvent(obj, type, fn){
	if(!obj['on'+type]){
		obj['on'+type]=function(){
			return false;
		};
	}
  	if(obj.addEventListener){
    	obj.addEventListener(type, function(event){
      		return fn.call(obj, event);
    	}, false );
  	}else if(obj.attachEvent){
    	obj.attachEvent("on"+type, function(e){
      		if (!e) var e = window.event;
      		return fn.call(obj, e);
    	});
  	}
}

var ib_http_request=false;
var ib_http_div_content;

function ib_makeRequest(url, div)
{
	if (window.XMLHttpRequest) ib_http_request = new XMLHttpRequest(); 
	else if (window.ActiveXObject) ib_http_request = new ActiveXObject("Microsoft.XMLHTTP"); 
	ib_http_request.onreadystatechange = ib_alertContents;
	ib_http_request.open('GET', url, true); 
	ib_http_request.send(null);
	ib_http_div_content=div;
}

function ib_change_div(nom,valeur)
{
	ib_id(nom).innerHTML=valeur;
}

function ib_alertContents() 
{
	if (ib_http_request.readyState == 4) 
	{
		if (ib_http_request.status == 200) 
			ib_change_div(ib_http_div_content, ib_http_request.responseText);
		else alert('Erreur de chargement!'); 
	}
}

ib_addEvent(window, 'load', function(){
	modales=ib_getElementsByClassName(document,'*','ibModal');
	for(i=0;i<modales.length;i++){
	ib_addEvent(modales[i], 'click', function(){
			ib_makeRequest(this.href, 'ib_fenetreModale');
			par=ib_GetParameters(this.href);
			ib_alerte(par['width'], par['height']);
		});
	}
});

ib_addEvent(window, 'resize', function(){
	ib_replace_alerte();
});