var divPopupContent;
var divPopupContainer=null;


function openDivPopup(pUrl, pbIsImitation, pb_ArrayImage)
{
	//Commence par fermer le divpopup si il y en a 1
	divPopupClose();
	
	/*Variables initialisation*/
	var marginTop = 50; //Espace au sommet
	var resizingTimer = 10; //Vitesse du rafraichissement lors de scroll et resize du browser
	var opacity = 50;  //Pourcent de l'opacitÃ©
	var opacityTimer = 1; //Vitesse de l'opacitÃ©
	var opacityStep = 20; //Incrementation de l'opacite toutes les opacityTimer milliseconde 
	var classBgDivPopup = "bgDivPopup"; //Class pour dÃ©finir la couleur de fonds des popups
	var opaqBgColor = "#000020"; //Class pour dÃ©finir la couleur de fonds des popups
	
	/*DIV CONTAINER*/
	divPopupContainer = document.createElement("div");
	document.body.appendChild(divPopupContainer);
	divPopupContainer.id = "popupContainer";
	divPopupContainer.style.position="absolute"; 
	divPopupContainer.style.top = divPopupContainer.style.left="0px";
	//divPopupContainer.style.width= document.body.offsetWidth + "px";Pas de largeur au container, prends la largeur nÃ©cessaire
	divPopupContainer.style.height="100%"; //Hauteur Ã  100% comme ca j'ai la hauteur de la fenetre visible avec le offsetHeight
	divPopupContainer.style.zIndex= 2000;
	
	
	/*DIV OPACITY*/
	var divPopupOpaq = document.createElement("div");
	divPopupContainer.appendChild(divPopupOpaq);
	divPopupOpaq.id = "popupOpaq";
	divPopupOpaq.style.position="relative"; 
	divPopupOpaq.style.backgroundColor=opaqBgColor;
	divPopupOpaq.style.width = document.body.offsetWidth + "px";
	
	window.initDivPopupOpaqHeight = function()
	{
		if(document.body.offsetHeight>document.body.parentNode.clientHeight)
			divPopupOpaq.style.height = document.body.offsetHeight + "px";
		else
			divPopupOpaq.style.height = document.body.parentNode.clientHeight + "px";
	};	
	initDivPopupOpaqHeight();	
		
	
    var iOpacity = 0;
	window.setOpacity = function()
	{
		if(iOpacity<opacity)
		{
			iOpacity += opacityStep;
			divPopupOpaq.style.filter = "alpha(opacity=" + iOpacity + ")"; 
			divPopupOpaq.style.opacity = iOpacity/100;
			divPopupOpaq.style.MozOpacity = iOpacity/100;
			setTimeout("setOpacity()", opacityTimer);
		}
	}
	setOpacity();
	
	/* DIV CONTENT */ 
	divPopupContent = document.createElement("div");
	divPopupContainer.appendChild(divPopupContent);
	divPopupContent.id = "popupContent";
	divPopupContent.style.backgroundColor="transparent"; 	
	divPopupContent.innerHTML = "<img src=\"/template/image/loading.gif\"/>"; //Met l'image d'attente
	
	//Propriete commune au divPopupContent pour imitation ou pas
	divPopupContent.style.position="absolute"; 
	//divPopupContent.className = classBgDivPopup;
	divPopupContent.style.background = "white";
	
	//Initialistation de la position
	window.initPopupPosition = function()
	{
		divPopupContent.style.left= getPopupCenteredPercentage(divPopupOpaq.offsetWidth, divPopupContent.offsetWidth);
		var posY = getPopupPosY() + marginTop; //marge de marginTop
		divPopupContent.style.top = posY + "px";
		//Recalcul la hauteur du divPopupOpaq
		if((posY + divPopupContent.offsetHeight)>parseInt(divPopupOpaq.style.height))
			divPopupOpaq.style.height = posY + divPopupContent.offsetHeight + "px";
	};
	initPopupPosition();

	loadImage(pUrl,pb_ArrayImage) ;
	
	//Resize de la popup
	window.resizePopup = function()
	{
		//Si plus de popup, je me casse
		if(divPopupContainer==null)
			return;
		//Resize le div opaq (en largeur uniquement), si la taille a changer
		var newWidth = document.body.offsetWidth + "px";
		if(newWidth != divPopupOpaq.style.width)
		{
			divPopupOpaq.style.width = newWidth;
			divPopupContent.style.left= getPopupCenteredPercentage(divPopupOpaq.offsetWidth, divPopupContent.offsetWidth);
		}
		divPopupOpaq.style.left= 0 + getPopupPosX() + "px";
			
		var newPos = getPopupPosY() + marginTop;
		if(newPos<parseInt(divPopupContent.style.top) ||  ((divPopupContent.offsetHeight+marginTop)<parseInt(divPopupContainer.offsetHeight) && (divPopupContent.offsetHeight+marginTop)<document.body.parentNode.clientHeight)) 
			divPopupContent.style.top= newPos + "px";	
		
		//Recheck toutes les resizingTimer milliseconde		
		setTimeout("resizePopup()", resizingTimer);	
	
	};
	
	resizePopup();
}

//renvoi la position en hauteur du control selon la hauteur de la scroll
function getPopupPosY()
{
	var body = (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body;
	var ns = (navigator.appName.indexOf("Netscape") != -1) || window.opera;
	return ns ? pageYOffset : body.scrollTop;
}

//renvoi la position en largeur du control selon la largeur de la scroll
function getPopupPosX()
{
	var body = (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body;
	var ns = (navigator.appName.indexOf("Netscape") != -1) || window.opera;
	return ns ? pageXOffset : body.scrollLeft;
}

//Calcul le pourcent Ã  mettre Ã  la propriÃ©tÃ© left (left:20%) pour que le contenu soit centrÃ©
function getPopupCenteredPercentage(pOpaqWidth, pContentWidth)
{
	return parseInt((pOpaqWidth/2 - pContentWidth/2) * 100/pOpaqWidth)+"%";
}

//Function pour fermer la popup
function divPopupClose()
{
	if(divPopupContainer!=null)
	{
		document.body.removeChild(divPopupContainer);
		divPopupContainer = null;	
	}
}

		
function loadImage(pUrl,pb_ArrayImage)
{
	//Contenu HTML
	oImage = new Image();
	oImage.onload = function(){
		this.onreadystatechange=null;
		var size;
		var largeur = oImage.width ;
		var hauteur = oImage.height ;
		
		if (largeur > 800)
		{
			divPopupContent.style.width = 800 + "px";;
			divPopupContent.style.overflow = "auto" ;
		}
		else
			divPopupContent.style.width = largeur + "px";
			
		if (hauteur > 600)
		{
			divPopupContent.style.height = 600 + "px";;
			divPopupContent.style.overflow = "auto" ;
		}
		else
			divPopupContent.style.height = hauteur + 27 + "px";//pour le décalage du sommet
			
		
			
		divPopupContent.style.border = "1px solid #ffffff";
		
		//Test pour les chemins des images			
		eval(pb_ArrayImage);
		
		var pb_idBack = parseInt(a_ArrayImage[pUrl]) - 1;
		var pb_idNext = parseInt(a_ArrayImage[pUrl]) + 1;
		var arrayFlip = array_flip(a_ArrayImage);
		
		
		var l_url_back ;
		var l_url_next ;
		

		if(a_ArrayImage[pUrl]>1)
		{
			var displayBack = "";
			l_url_back = "openDivPopup("+ arrayFlip[pb_idBack] +",false,&quot;"+ pb_ArrayImage + "&quot;);";
		}
		else
			var displayBack = "display:none;";
			
		if(arrayFlip[pb_idNext] != undefined)
		{
			var displayNext = "";
			l_url_next = "openDivPopup("+ arrayFlip[pb_idNext] +",false,&quot;"+ pb_ArrayImage + "&quot;);";
		}
		else
			var displayNext = "display:none;";
			
		divPopupContent.innerHTML = '<div style="width:"'+ divPopupContent.style.width +'"px;height:"'+ divPopupContent.style.height +'"px;overflow:auto;text-align:center;background-color:white;"><div style="text-align:center;background-color:white;"><center><table cellpadding="0" cellspacing="0" style="border-collapse:collapse;"><tr><td style="cursor:pointer;padding-right:20px;padding-top:5px;'+ displayBack +'"><img src="/template/image/left.gif" onclick="'+ l_url_back +'" ></td><td style="padding-top:5px;cursor:pointer;'+ displayNext +'"><img src="/template/image/right.gif" onclick="'+ l_url_next +'" ></td></tr></table></center></div><div><img onclick="divPopupClose()" src="/template/fs/gallery/grandes/'+ pUrl + '.jpg"/></div></div>';
		
		//Initialise la position de la popup
		initPopupPosition();
		
	};
	//Mettre url APRES le onload, sinon marche pas comme il faut
	oImage.src = "/template/fs/gallery/grandes/"+ pUrl+".jpg" ;

	
}

function array_flip (trans) {
    // Return array with key <-> value flipped  
    // 
    // version: 1003.2411
    // discuss at: http://phpjs.org/functions/array_flip    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: array_flip( {a: 1, b: 1, c: 2} );
    // *     returns 1: {1: 'b', 2: 'c'}
    var key, tmp_ar = {};
     for (key in trans) {
        tmp_ar[trans[key]] = key;
    }
 
    return tmp_ar;
}
