/*
 * Globales
 */
// Position du curseur
Mouse_x = Mouse_y = 0;
// Raccourçis vers le popup et sa section "style".
Popup_elt = Popup_style = null;
/*
 * Limite (calculée en fonction de la taille de la fenêtre) pour affichage
 * du popup en dessous ou au dessus du curseur
 */
Mouse_max_y = Mouse_max_x = 0;
// Chaque image fait 225x246
Pict_w = 225; Pict_h = 246

/*
 * Affiche le popup (à peu près) à l'endroit où se trouve le curseur
 * - le popup est affiché au dessous ou au dessus de la position du curseur
 * suivant où on se trouve par rapport au bas de la fenêtre.
 */
function showImage( img_path ){
	//var content = "Curseur : "+Mouse_x+", top: "+Mouse_y;
	var offset_x = document.getElementById( 'main_frame').offsetLeft;
	var content =
	//"Mouse : "+Mouse_x+", "+Mouse_y+"<br>Offset X : "+offset_x+"<br>"+
	"<img src=\""+img_path+"\">";
	document.getElementById("popup_img").innerHTML = content;
	// S'il n'y a pas assez de place pour afficher l'image on décale vers le haut
	if (Mouse_y > Mouse_max_y) {
		Popup_style.top  = (Mouse_y - Pict_h) + "px";
	}
	else  {
		Popup_style.top  = (Mouse_y + 4) + "px";
	}
	// idem à droite
	if (Mouse_x > Mouse_max_x) {
		Popup_style.left = (Mouse_x - Pict_w - offset_x) + "px";
	}
	else {
		Popup_style.left = (Mouse_x + 4 - offset_x) + "px";
	}
	Popup_style.display = "block";
}

/*
 * Masque le popup
 */
function hideImage(){
	Popup_style.display = "none";
}

/*
 * Fonction d'initialisation à appeler (une seule fois) depuis la page HTML
 * - Calcule un pointeur global sur la section 'style' du popup.
 * - Enregistre le callback de gestion des déplacements du curseur.
 */
function initPopup() {
	Popup_elt = document.getElementById( "popup_img")
	Popup_style = Popup_elt.style;
	var win_w = window.innerWidth;
	if (win_w == 0) {win_w = document.body.clientWidth;}
	Mouse_max_x = win_w - Pict_w;
	var win_h = window.innerHeight;
	if (win_h == 0) {win_h = document.body.clientHeight;}
	Mouse_max_y = win_h - Pict_h;
	document.onmousemove = onMouseMove;
}

/*
 * Callback sur déplacement du curseur.
 * - Mémorise la position courante de la souris dans les variables globales
 * Mouse_x et Mouse_y
 * -  Ces coordonnées sont utilisées pour afficher les info-bulles.
 */
function onMouseMove( evt_obj ){
	if (evt_obj) {
		// Tout sauf IE
		Mouse_x = evt_obj.pageX;
		Mouse_y = evt_obj.pageY;
	}
	else {
		// IE.
		Mouse_x = event.clientX
		Mouse_y = event.clientY;
	}
}

/*
 * Retour à la page des filtres depuis la page d'affichage du catalogue
 */
function backToQuerying( form_id) {
	form_elt = document.getElementById( form_id);
	form_elt.rqstName.value = 'showQueryingForm';
	// GO !
	form_elt.submit();
}

