var num_affiche; //stocke le numero de l'oeuvre dont la jaquette est sous la souris
var timer_affichage; //objet destiné a recevoir le timer d'affichage des infos

function getMouseY(e)
{
	if(e!=null && typeof(e.pageY)!="undefined"){
		return e.pageY;
	}else{
		return (e!=null?e.clientY:event.clientY)+ document.documentElement.scrollTop;
	}
};

function affiche_infos_bulle(id_oeuvre, num_edition , ev , chemin)		
{
	num_affiche=id_oeuvre + '_' + num_edition;
	var id = "infos_bulle_" + id_oeuvre + '_' + num_edition;
	
	// on recupere l'evenement
	if (!ev)
	{
		var ev = window.event
	}
		
	// on calcule la distance entre la souris et le haut de la fenetre (coordY)
	// on calcule la distance entre la souris et le haut du document (posy)
	// on calcule la distance entre la souris et le bord gauche du document (posx)
	if(ev!=null && typeof(ev.pageY)!="undefined")
	{
		coordY = ev.pageY - document.documentElement.scrollTop;
		posy = ev.pageY;
		posx = ev.pageX;
	}
	else
	{
   		coordY = (ev!=null?ev.clientY:event.clientY);
   		posy = ev.clientY + document.body.scrollTop + document.documentElement.scrollTop;
   		posx = ev.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
	}
	
	
	// Si la bulle existe on laffiche
	if (document.getElementById(id))
	{
		timer_affichage=setTimeout("affiche_after_time('"+id+"',"+coordY+","+posy+","+posx+")",500);
	}
	// Sinon on la crée
	else 
	{
		/* On crée le div qui va contenir l'info bulle */
		var div_conteneur = document.createElement("div");
		
		/* On lui met un style */
		div_conteneur.className = "infobulleFilm";
		
		/* On lui met un id unique comprenant l'id_oeuvre */
		div_conteneur.setAttribute("id",id);
		
		/* On l'envoie */
		document.body.appendChild(div_conteneur);
		
		/* On envoie une requete ajax pour récupérer les informations contenues dans l'info bulle, et construire la bulle */
		var loadRequest = new PFW_AJAX(chemin + "libs/infos_bulles_httprequest.php");

		loadRequest.setResponseType("xml");
		loadRequest.setIdChamp(id);
		loadRequest.setParametres("id_oeuvre=" + id_oeuvre + "&num_edition=" + num_edition);
		loadRequest.action_OK = function()	
		{ 		
		  	document.getElementById(this.getIdChamp()).innerHTML = this.getResponse().getHTML_content();
		  	document.getElementById(id).style.visibility="hidden";
		  	if(id_oeuvre+'_'+num_edition==num_affiche)
		  		// on affiche l'info bulle une fois que la jaquette est fini de chargé (element le plus long a chargé) 
		  		document.getElementById('infoBulleJaquette' + num_affiche).onload = function(){affiche_after_time(id,coordY,posy,posx);}
		  	else
		  		document.getElementById(id).style.display="none";
		  	
		  	document.getElementById(id).style.visibility="visible";
		}

		loadRequest.HTTPrequest();
	}	
}

function affiche_after_time(id,coordY,posy,posx)
{
	document.getElementById(id).style.display="block";
	deplaceBulle(id,coordY,posy,posx);
}
/************************************************************/
/************************************************************/
/************************************************************/


/* Fonction qui permet de masquer une info bulle existante */
function cache_infos_bulle(id_oeuvre, num_edition)
{
	num_affiche=null;
	clearTimeout(timer_affichage);
	var id = "infos_bulle_" + id_oeuvre + '_' + num_edition;
	document.getElementById(id).style.display="none";
}


/************************************************************/
/************************************************************/
/************************************************************/


function deplaceBulle(id,coordY,posy,posx)
{
	// On calcule la hauteur du div
	hauteur = document.getElementById(id).offsetHeight;

	// On calcule la taille de la fenétre
	if( typeof( window.innerWidth ) == 'number' ) 
	{
		//Non-IE
		myHeight = window.innerHeight; // hauteur de la fenétre
	} 
	else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) 
	{
		//IE 6+ in 'standards compliant mode'
		myHeight = document.documentElement.clientHeight; // hauteur de la fenétre
	} 
	else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) 
	{
		//IE 4 compatible
		myHeight = document.body.clientHeight; // hauteur de la fenétre
	}

	// On calcule les coordonnées du coin inférieur gauche de l'info bulle selon IE ou Firefox
	var bas_gauche = coordY + hauteur;
	if (bas_gauche > myHeight)
	{	
		var la = posy - (coordY+hauteur-myHeight)
		document.getElementById(id).style.top= la +"px";
	}
	else
	{
		document.getElementById(id).style.top= posy+"px";
	}
	
	//en ajoutant 67px, on empeche la popin de se trouver sur la jaquette survolée
	document.getElementById(id).style.left= posx+67 +"px";
}


/************************************************************/
/******** POUR L'AFFICHAGE DE L'INFO BULLE OFFRE DVD ********/
/************************************************************/

function affiche_offre_DVD(id , ev , afficher)
{
	coordY = ev!=null?ev.y:event.y;
	posy = ev.clientY + document.body.scrollTop + document.documentElement.scrollTop - 180;
	posx = ev.clientX + document.body.scrollLeft + document.documentElement.scrollLeft - 280;
	deplaceBulle(id,coordY,posy,posx);
	timer_affichage=setTimeout("affiche_after_time('"+id+"',"+coordY+","+posy+","+posx+")",500);
}
function cache_offre_DVD(id)
{
	clearTimeout(timer_affichage);
	document.getElementById(id).style.display="none";
}
