// ***********************************************************************************************
// Gestion de la PopIn
// ***********************************************************************************************
// !!! Besoin de la bibliothÃ¨que AJAX

// ---------------------------------------------------------
// Initialisation de toutes les balises <a> de la page en cours d'affichage
function iniPopIn(){
	// RÃƒÂ©cupÃƒÂ©ration de toutes les balises <a> de la page
	var listeBaliseA = document.getElementsByTagName("a");
	
	for(var i=0; (pointeurBaliseA = listeBaliseA[i]); i++){

		// Nous recherchons toutes les balises <a> de la page ayant la classe "lienPopIn"
		if((pointeurBaliseA.className == "lienPopIn") || (pointeurBaliseA.className == "lienRetourHome lienPopIn")  || (pointeurBaliseA.className == "conditions_pdf lienPopIn") ){
			
			//on regarde vire la classe pour ÃƒÂ©viter que ÃƒÂ§a ne soit traitÃƒÂ© une deuxiÃƒÂ¨me fois
			if(pointeurBaliseA.className == "lienRetourHome lienPopIn")
			{
				pointeurBaliseA.setAttribute("class", "lienRetourHome");
			}else if(pointeurBaliseA.className == "conditions_pdf lienPopIn")
			{
				pointeurBaliseA.setAttribute("class", "conditions_pdf");
			}
			else{
				pointeurBaliseA.setAttribute("class", "");
			}
			
			
			
			// Elimination de l'attribut "target" pour ne pas que la PopIn ne s'ouvre dans une nouvelle fenÃƒÂªtre
			pointeurBaliseA.removeAttribute("target");
			
			var href = pointeurBaliseA.getAttribute("href");
			
			//on va regarder dans le href si on a pas dÃ©jÃ  le javascript
			
			if(href.indexOf('ouvrirPopIn', 0) < 0)
			{
				//alert(href);
				// Application d'un ÃƒÂ©vÃƒÂ©nement de souris au lien
				var positionVar = href.indexOf('?');
	
				if(positionVar != -1){
					pointeurBaliseA.setAttribute("href", "javascript: ouvrirPopIn('"+href+"&popin=1')");
				}else{
					pointeurBaliseA.setAttribute("href", "javascript: ouvrirPopIn('"+href+"?popin=1')");
				}
			}
		}
	}
	
}

// ---------------------------------------------------------
// Ouverture de la PopIn dans la page actuelle
function ouvrirPopIn(adressePage){
	
	// ---------------------------------------------------------
	// Intégration du template de la PopIn seul (sans aucun contenu)
	
	// on vérifie que la PopIn n'est pas déjà chargée
	if(!document.getElementById("popIn")){
		// Récupération du code HTML du template de la PopIn
		
		// !!! C'est ici que l'on prend le template de la PopIn entière à faire afficher !!!
		// var codeHTML = ajaxRequeteSynchrone("/Modules/FuncPopIn/Templates/Template_PopIn_TargetSelf.php");
		//var codeHTMLTemplatePopIn = ajaxRequeteSynchrone("Template_PopIn_TargetSelf.php");
		//var codeHTML = codeHTMLTemplatePopIn;
		var codeHTML = "";
		
		// Création du div conteneur de la PopIn
		var importPopIn = document.createElement("div");
		importPopIn.setAttribute('id', 'popIn')
		importPopIn.style.zIndex = 999;
		importPopIn.style.display = "none";
		
		// Injection du code HTML à la fin de la balise <body>
		var baliseBody = document.getElementsByTagName("body")[0];
		
		// On injecte à la fin du <body> le div conteneur de la PopIn
		baliseBody.appendChild(importPopIn);
		
		// On repère le <div> fraichement intégré et on y insere le code du template de la PopIn
		var pointeurPopIn = document.getElementById("popIn");
		
		popInCodeHTML = pointeurPopIn.innerHTML;
		pointeurPopIn.innerHTML = popInCodeHTML + codeHTML;
	}
	
	// ---------------------------------------------------------
	// Intégration de d'un contenu à la PopIn
	
	// On recherche la page demandée à afficher
	var codeHTMLContenuPopIn = ajaxRequeteSynchrone(adressePage);
	codeHTMLContenuPopIn = getContenuBody(codeHTMLContenuPopIn);
	
	// On vérifie que la contenu appelé n'a pas d'en-tête body
	// codeHTMLContenuPopIn.getElementsByTagName("body");
	
	// Repérage du conteneur centrale de la PopIn et intégration du contenu recherché
	var pointeurContenuPopIn = document.getElementById("popInRepereInterne");
	pointeurContenuPopIn.innerHTML = codeHTMLContenuPopIn;
	
	var pointeurPopIn = document.getElementById("popIn");

	// On vérifie que la PopIn ne soit pas déjà ouverte
	if(pointeurPopIn.style.display != "block"){
		// Interpolation de l'ouverture de la PopIn
		//interpolOuverturePopIn();
		
		var pointeurPopIn = document.getElementById("popIn");
		pointeurPopIn.style.display = "block";		
	}	
	
	//cacheSelects();
	
	iniPopIn();
	
	//resizePopin();
	
}

// ---------------------------------------------------------
// RÃ©cupÃ©ration du contenu du <body> d'un variable
function getContenuBody(codeHTML){
	
	// Nous vÃ©rifions que <body> existe
	var bodyPositionDebut = codeHTML.indexOf('<body');
	
	if(bodyPositionDebut != -1){
		// On extrait le contenu entre les balise <body></body>
		bodyPositionDebut = codeHTML.indexOf('>', bodyPositionDebut) + 1;
		var bodyPositionFin = codeHTML.indexOf('</body>', bodyPositionDebut);
		
		codeHTML = codeHTML.substring(bodyPositionDebut, bodyPositionFin);	
	}
	return codeHTML		
}

// ---------------------------------------------------------
// Fermeture de la PopIn de la page actuelle
function fermerPopIn(){
	
	// Disparition simple de la PopIn avec du CSS
	interpolFermeturePopIn();
	affSelects();
	//iniScroll();
}

// ---------------------------------------------------------
// Interpolation de l'ouverture de la PopIn
function interpolOuverturePopIn(){

	var pointeurElement = document.getElementById("popInRepereInterne");
	pointeurElement.style.display = "none";


	//ici il faut rÃ©cupÃ©rer la taille du contenu de la popin pour pouvoir adapter la taille de la popin
	//var popInLargeur = getTailleElements();
	
	var popInLargeur = 866;	
	var popInHauteur = getHeight;
	var ouverturePopInLargeur = new classInterpolation("ombreCentre", true, "width", "decelerer", 20, popInLargeur, 350);
	var ouverturePopInHauteur = new classInterpolation("ombreCentre", true, "height", "decelerer", 20, popInHauteur, 350);
	ouverturePopInLargeur.debutSeq = contenuInvisible;
	ouverturePopInLargeur.finSeq = contenuVisible;
	
	function contenuInvisible(){
	}
	
	function contenuVisible(){
		var pointeurElement = document.getElementById("popInRepereInterne");
		pointeurElement.style.display = "block";
		resizePopin();
		
	}
	
	var popInMargeGauche = -453;
	var popInMargeHaute = -214;	
	var ouverturePopInMargeGauche = new classInterpolation("habillageOmbre", true, "marginLeft", "decelerer", -10, popInMargeGauche, 350);
	var ouverturePopInMargeHaute = new classInterpolation("habillageOmbre", true, "marginTop", "decelerer", -120, popInMargeHaute, 350);
	
	ouverturePopInLargeur.start();
	ouverturePopInHauteur.start();
	
	ouverturePopInMargeGauche.start();
	ouverturePopInMargeHaute.start();	
	
}

function resizePopin()
{
	var popInHauteur = 866;
	var popInLargeur = 420;
	var pointeurElement = document.getElementById("contenuPrimairePopIn");
	popInLargeur = document.getElementById("contenuPrimairePopIn").clientHeight;
	if(popInLargeur == 0)
	{
		popInLargeur = document.getElementById("contenuPrimairePopIn").offsetHeight;
	}
	
	if(popInLargeur == 0)
	{
		
		popInLargeur = 380;
	
	}
	
	popInLargeur = popInLargeur+120;
	
	
	var pointeurPopin = document.getElementById("ombreCentre");
	if(popInLargeur < 420)
	{
		pointeurPopin.style.height = popInLargeur + "px";
	}else{
		pointeurPopin.style.height = "420px";
	}
	
	//iniScrollPopin();
	//iniScroll();
}

function getHeight()
{
	var popInHauteur = 420;
	var pointeurElement = document.getElementById("contenuPrimairePopIn");
	popInHauteur = document.getElementById("contenuPrimairePopIn").clientHeight;
	popInHauteur = popInHauteur + 120;
	return popInHauteur;
}

// ---------------------------------------------------------
// Interpolation de la fermeture de la PopIn
function interpolFermeturePopIn(){
	
	
	var pointeurElement = document.getElementById("popInRepereInterne");
	pointeurElement.style.display = "none";

	//var popInLargeur = 866;	
	//var popInHauteur = getHeight();
	var popInHauteur = document.getElementById("ombreCentre").offsetHeight;
	var popInLargeur = document.getElementById("ombreCentre").offsetWidth;
	var ouverturePopInLargeur = new classInterpolation("ombreCentre", true, "width", "decelerer", popInLargeur, 20, 300);
	var ouverturePopInHauteur = new classInterpolation("ombreCentre", true, "height", "decelerer", popInHauteur, 20, 300);
	ouverturePopInLargeur.debutSeq = contenuInvisible;
	ouverturePopInLargeur.finSeq = popInInvisible;
	
	function contenuInvisible(){
	}
	
	function popInInvisible(){
		var pointeurPopIn = document.getElementById("popIn");
		pointeurPopIn.style.display = "none";	
	}
	
	/*var popInHauteur = -453;
	var popInLargeur = -214;	
	var ouverturePopInMargeGauche = new classInterpolation("habillageOmbre", true, "marginLeft", "decelerer", popInHauteur, -10, 300);
	var ouverturePopInMargeHaute = new classInterpolation("habillageOmbre", true, "marginTop", "decelerer", popInLargeur, -10, 300);*/
	
	var popInMargeGauche = -popInLargeur/2;
	var popInMargeDroite= -popInHauteur/2;	
	var ouverturePopInMargeGauche = new classInterpolation("habillageOmbre", true, "marginLeft", "decelerer", popInMargeGauche, -10, 300);
	var ouverturePopInMargeHaute = new classInterpolation("habillageOmbre", true, "marginTop", "decelerer", popInMargeDroite, -10, 300);
	
	ouverturePopInLargeur.start();
	ouverturePopInHauteur.start();
	
	ouverturePopInMargeGauche.start();
	ouverturePopInMargeHaute.start();	
	
}

function closePop() {
	document.getElementById("popIn").style.display = "none";	
}
