//------------------------------------------------------------------------------------//
// PROGRAMME : ajax_afficher_div_popup.js
// DEscriptION : Afficher une requete ajax type lightbox
// HISTORIQUE DES VERSIONS : 
// V1.0 - 03/10/2008 - Mickaël - Création du programme
//------------------------------------------------------------------------------------//

//Fonction JS

// FONCTION : centerPopup(element)
// DESCRIPTION : centre dans la fenetre l'element
// PARAMETRE EN ENTREE :
// element : nom du div
function centerPopup(element) {   
	 var height=document.getElementById(element).offsetHeight;//hauteur de l'élément à positionner
	 var width=document.getElementById(element).offsetWidth;//largeur de l'élément à positionner
	 myParent=document.getElementById(element).parentNode;
	 var pHeight=myParent.offsetHeight;//Hauteur de l'élément parent
	 var pWidth=myParent.offsetWidth;//Largeur de l'élément parent
	 var sTop = document.documentElement.scrollTop;
	// var sLeft=myParent.scrollLeft;//Longueur de défilement de l'élément parent
	 var largsite = 1000;
	 // ma façon, celle qui fonctionne le moins mal ...
	 var posY=sTop+15;
	 var posX=(pWidth/2)-(width/2);

	 // vrai calcul
	// var posY=(pHeight/2)-(height)+sTop;//Calcul de la position en Y
	 //var posX=(pWidth/3)-(width)+sLeft;//Calcul de la position en X
	 document.getElementById(element).style.top=posY+"px";
	 document.getElementById(element).style.left=posX+"px";
	 //document.getElementById(element).style.display= "block";
	 return true;
}

function hauteur_page(){
	var new_hauteur=parseInt(document.body.scrollHeight);
	if(new_hauteur<690)
		document.getElementById('div_de_trans').style.height = 690+"px";
	else
		document.getElementById('div_de_trans').style.height = new_hauteur+"px";
}

function transparaitre(p,sens,id_div){
	var div_trans=document.getElementById("div_de_trans");
	var div_affiche=document.getElementById(id_div);
	if(sens=="moins"){
		div_trans.className="div_trans_transparence_"+p;
		if(p!=0){
			window.setTimeout("transparaitre("+(p-1)+",\"moins\",'"+id_div+"')",30);
		}else{
			div_trans.style.display="none";
		}
	}
	if(sens=="plus"){
		div_trans.className="div_trans_transparence_"+p;
		if(p!=9){
			window.setTimeout("transparaitre("+(p+1)+",\"plus\",'"+id_div+"')",30);
		}else{
			centerPopup(id_div);
			div_affiche.style.display="block";
			
		}
	}
}

function affiche_div_trans(id_div){
	hauteur_page();
	var div_trans=document.getElementById("div_de_trans");
	var div_affiche=document.getElementById(id_div);
	if(div_trans.style.display=="none"){
		div_trans.style.display="block";
		transparaitre(3,"plus",id_div);
	}else{
		div_affiche.style.display="none";
		transparaitre(9,"moins",id_div);
	}
}
function affiche_div(id_div){
	affiche_div_trans(id_div);
}

//Fonctions AJAX

//
// Ajout depuis une liste de résultat ou une fiche produit 
//
function createRequestObject(){
	var ro;
	var browser = navigator.appName;
	if(browser == "Microsoft Internet Explorer"){
		ro = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		ro = new XMLHttpRequest();
	}
	return ro;
}

function envoyer_ajax(e,requete){
	http = createRequestObject();
	if(http.readyState == 4 || http.readyState == 0){
		http.open('GET',requete,true);
		http.onreadystatechange = handleResponse;
		http.send(null);
	}
}

function handleResponse(){
	if(http.readyState == 4){
		var response = http.responseText;
		if(response != ""){
			document.getElementById('div_dessus').innerHTML =response;
			affiche_div('popup_php');
		}
	}
}


//Fonctions AJAX Gestion des medias

//
// Ajout depuis une liste de résultat ou une fiche produit 
//
function createRequestObject_medias(){
	var ro;
	var browser = navigator.appName;
	if(browser == "Microsoft Internet Explorer"){
		ro = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		ro = new XMLHttpRequest();
	}
	return ro;
}

function envoyer_ajax_medias(requete){
	http = createRequestObject_medias();
	if(http.readyState == 4 || http.readyState == 0){
		http.open('GET',requete,true);
		http.onreadystatechange = handleResponse_medias;
		http.send(null);
	}
}

function handleResponse_medias(){
	if(http.readyState == 4){
		var response = http.responseText;
		if(response != ""){
			document.getElementById('espace_liste_media').innerHTML =response;
		}
	}
}

var pq=false; // La variable i nous dit si la bulle est visible ou non

function move(e) {
 // if(pq) {  // Si la bulle est visible, on calcul en temps reel sa position ideale
    if (navigator.appName!="Microsoft Internet Explorer") { // Si on est pas sous IE
    	var posleft=(e.pageX);
    	if(posleft>document.body.offsetWidth-300)	posleft=(document.body.offsetWidth-300);
	    document.getElementById("div_aide").style.left=posleft+"px";
	    document.getElementById("div_aide").style.top=(5+e.pageY)+"px";
    }
    else { 
    if(document.documentElement.clientWidth>0) {
    	var posleft=event.x+document.documentElement.scrollLeft;
    	if(posleft>document.body.offsetWidth-300)	posleft=(document.body.offsetWidth-300);
		document.getElementById("div_aide").style.left=posleft+"px";
		document.getElementById("div_aide").style.top=5+event.y+document.documentElement.scrollTop+"px";
    } else {
		document.getElementById("div_aide").style.left=event.x+document.body.scrollLeft+"px";
		document.getElementById("div_aide").style.top=event.y+document.body.scrollTop+"px";
         }
    }
 // }
}

function affiche_div_aide(text) {
  if(pq==false) {
  document.getElementById("div_aide").style.display="block"; // Si il est cacher (la verif n'est qu'une securitÃ©) on le rend visible.
  document.getElementById("contenu_aide").innerHTML = text; // on copie notre texte dans l'élément html
  pq=true;
  }
}
function masque_div_aide() {
	if(pq==true) {
		document.getElementById("div_aide").style.display="none"; // Si la bulle est visible on la cache
		pq=false;
	}
}
document.onmousemove=move; // dès que la souris bouge, on appelle la fonction move pour mettre à  jour la position de la bulle.


