/*
Fichier de gestion des popup auto 
*/

var zindex=40;
var fenetre_deplacee=0;
var fenetre_deplacee_difx=0;
var fenetre_deplacee_dify=0;
var nb_fenetre=0;

function creer_fenetre(left,top,width,height,test_fermer,test_ok,action,text,reduire) {
	
	nb_fenetre++;
	var nom = "fenetre_"+nb_fenetre;
	var fenetre = document.createElement("div");
	fenetre.setAttribute("id", nom);
	fenetre.className="fenetre"; //On donne un attribut class à cette div
	if(left == '' && top == ''){
		fenetre.style.position = "fixed";
		left="25";
		top="40";
	}
	fenetre.style.left=left+"px"; //Modification de l'attribut left du style de notre div
	fenetre.style.top=top+"px";
	fenetre.style.width=width+"px";
	fenetre.style.height=height+"px";
	addEvent(fenetre,"mousedown",function (){premier_plan(fenetre)});
	     
	//On créé de la même manière la div "haut":
	var haut = document.createElement("div");
	haut.className="haut";
	addEvent(haut,"mousedown",function (event){commencer_deplacement(event,fenetre)});
	addEvent(haut,"mouseup",arreter_deplacement);
	//On créé ensuite les trois div qui seront dedans:
	var haut_gauche = document.createElement("div");
	haut_gauche.className="haut_gauche";
	var haut_droite = document.createElement("div");
	haut_droite.className="haut_droite";
	var haut_centre = document.createElement("div");
	haut_centre.className="haut_centre";
	//if(test_ok == true) haut_centre.innerHTML="<img src='images/fenetre/ok.png' alt='ok' class='ok' onclick='ok(\""+nom+"\",\""+action+"\",\"index.php\")'/>";
	if(test_fermer == true) haut_centre.innerHTML+="<img src='images/fenetre/fermer.png' alt='x' class='fermer' onclick='fermer(\""+nom+"\")'/>";
	haut_centre.innerHTML+="<img src=\"images/fenetre/reduire.png\" alt=\"Réduire\" name=\"r_a_"+nb_fenetre+"\" onclick=\"reduire_augmenter("+nb_fenetre+", "+height+")\" class=\"reduire\" />";
	//Puis on les insère une par une dans notre bloc "haut":
	haut.appendChild(haut_gauche);
	haut.appendChild(haut_droite);
	haut.appendChild(haut_centre);
	//On insère le tout (la div "haut" et les trois div à l'intérieur) dans le bloc "fenetre":
	fenetre.appendChild(haut);
       
	//On fait de même pour la div "milieu"
	var milieu = document.createElement("div");
	milieu.className="milieu";
	var milieu_gauche = document.createElement("div");
	milieu_gauche.className="milieu_gauche";
	var milieu_droite = document.createElement("div");
	milieu_droite.className="milieu_droite";
	var milieu_centre = document.createElement("div");
	milieu_centre.setAttribute("id", "contenu_"+nb_fenetre);
	milieu_centre.className="milieu_centre";
	if(text == '' && document.getElementById('message')) milieu_centre.innerHTML=document.getElementById('message').value;
	else milieu_centre.innerHTML=text;
		
	milieu.appendChild(milieu_gauche);
	milieu.appendChild(milieu_droite);
	milieu.appendChild(milieu_centre);
	fenetre.appendChild(milieu);
       
	//On fait de même pour la div "bas
	var bas = document.createElement("div");
	bas.className="bas";
	var bas_gauche = document.createElement("div");
	bas_gauche.className="bas_gauche";
	var bas_droite = document.createElement("div");
	bas_droite.className="bas_droite";
	var bas_centre = document.createElement("div");
	bas_centre.className="bas_centre";
	bas.appendChild(bas_gauche);
	bas.appendChild(bas_droite);
	bas.appendChild(bas_centre);
	fenetre.appendChild(bas);
		
	var node = document.getElementById("liste_windows");
	node.appendChild(fenetre);
	
	if(reduire == true) {
		document.getElementById("fenetre_"+nb_fenetre).style.height = "0px";
		document.getElementById("contenu_"+nb_fenetre).style.display = "none";
		document.images["r_a_"+nb_fenetre].src = "images/fenetre/augmenter.png";
	}

	premier_plan(fenetre); //On met au premier plan notre fenêtre
	document.body.appendChild(fenetre); //On insère le tout dans notre document, dans le corps
	
	return nom;
}


function premier_plan(fenetre) {
	zindex++; //On incrémente la variable globale
	fenetre.style.zIndex=zindex; //On affecte sa valeur au z-index de la fenetre concernée
}

function commencer_deplacement(ev,fenetre) {
	fenetre_deplacee=fenetre; //On défini quelle fenêtre est en cours de déplacement
	var old_mouseCoords=mouseCoords(ev); //On récupère la position de la souris
	var old_windowCoords=getPosition(fenetre); //Et la position de notre fenêtre
	//On stocke les différences dans les variables globales
	fenetre_deplacee_difx=old_mouseCoords.x-old_windowCoords.x;
	fenetre_deplacee_dify=old_mouseCoords.y-old_windowCoords.y;
	//document.getElementById("coordonnes").innerHTML = (old_mouseCoords.x-old_windowCoords.x)+"; "+(old_mouseCoords.y-old_windowCoords.y);
}

function arreter_deplacement() {
	fenetre_deplacee=0; //La variable vaut 0
}

function deplacer_fenetre(ev) {
	if(fenetre_deplacee!=0) {
		var souris=mouseCoords(ev);
		fenetre_deplacee.style.left=(souris.x-fenetre_deplacee_difx)+'px'; //On soustrait l'abscisse du curseur par rapport au coin gauche de la fenêtr
		fenetre_deplacee.style.top=(souris.y-fenetre_deplacee_dify)+'px'; //On fait de même avec l'ordonnée
		if(document.getElementById("coordonnes")) document.getElementById("coordonnes").innerHTML = (souris.x-fenetre_deplacee_difx)+"; "+(souris.y-fenetre_deplacee_dify);
	}
}

function addEvent(obj,event,fct){
	if(obj.attachEvent)
		obj.attachEvent('on' + event,fct);
	else
		obj.addEventListener(event,fct,true);
}

function mouseCoords(ev){
	if(navigator.appName == 'Microsoft Internet Explorer'){
		return {
			x:event.clientX + document.body.scrollLeft - document.body.clientLeft,
			y:event.clientY + document.body.scrollTop  - document.body.clientTop
		};
	}else{
		if(ev.pageX || ev.pageY){
			return {x:ev.pageX, y:ev.pageY};
		}else return {x:0, y:0};
	}
}

function getPosition(e){
	var left = 0;
	var top  = 0;
	while (e.offsetParent){
		left += e.offsetLeft;
		top += e.offsetTop;
		e = e.offsetParent;
	}
	left += e.offsetLeft;
	top  += e.offsetTop;
	return {x:left, y:top};
}
function fermer(f){
	if(document.getElementById(f)){
		var node=document.getElementById(f)
		node.style.display="none";
		var value="fermeture";
	}else var value="";
	return value;
	/*liste_fenetres=document.getElementById("liste_windows");
	liste_fenetres.removeChild(node);*/
}
function ok(f,action,page){
	if(document.getElementById(f)){
		var node=document.getElementById(f)
		node.style.display="none";
		var value="fermeture";
	}else var value="";
	if(action=="redirection") window.location.replace(page);
	if(action=="actualisation") window.reload();
	/*liste_fenetres=document.getElementById("liste_windows");
	liste_fenetres.removeChild(node);*/
}

function reduire_augmenter(f,taille_avant){
	var nom_img = "r_a_"+f;
	if(document.getElementById("fenetre_"+f).style.height != '0px'){
		document.getElementById("fenetre_"+f).style.height = '0px';
		document.getElementById("contenu_"+f).style.display = "none";
		document.images[nom_img].src = "images/fenetre/augmenter.png";
	}else{
		document.getElementById("fenetre_"+f).style.height = taille_avant+"px";
		document.getElementById("contenu_"+f).style.display = "block";
		document.images[nom_img].src = "images/fenetre/reduire.png";
	}
}
