/* auteur: Laurent DRIESSENS */

/* Date de création: 10/09/2008 */



// ***********************************************************************

// AFFICHAGE D'UNE IMAGE EN SURIMPRESSION SUR LA PAGE 

// ***********************************************************************



// PARAMETRES

var _xlayer = (screen.width / 2) - ( 480 / 2); // position du bord gauche du layer relativement à la page

var _ylayer = 200; // position du bord haut du layer relativement à la page

var _police = "Verdana,Arial,Helvetica,sans serif"; // police du texte

var _id_layer = "popup";

var _haut_titre = 0

// VARIABLES GLOBALES

var nn4 = (document.layers);

var dom = (document.getElementById);

var iex = (document.all);

var obj_layer = null;

var larg_image = 0;

var cache = true;

var X,Y,moveX,moveY,offsetX,offsetY;

var b_traine = false; // vrai, lorsqu'on est en train de déplacer le layer



// création de l'objet obj_layer en fonction du navigateur :

// affecte le layer et lui donne son emplacement vertical

function init_layer() {

  if (dom && (document.getElementById(_id_layer))) {

    obj_layer = document.getElementById(_id_layer).style;

    X = iex ?  "event.clientX": "e.clientX";

    Y = iex ?  "event.clientY" : "e.clientY";

    offsetX = (iex) ? "document.body.scrollLeft" : "pageXOffset";

    offsetY = (iex) ? "document.body.scrollTop" : "pageYOffset";

  }

  else if (iex && (_id_layer)) {

    obj_layer = _id_layer.style;

    X="event.clientX";

    Y="event.clientY";

    offsetX="document.body.scrollLeft";

    offsetY="document.body.scrollTop";

  }

  else if (nn4 && (document.layers[_id_layer])) {

    obj_layer = document.layers[_id_layer];

    X="e.pageX";

    Y="e.pageY";

    offsetX="pageXOffset";

    offsetY="pageYOffset";

    document.captureEvents(Event.MOUSEDOWN|Event.MOUSEMOVE|Event.MOUSEUP);

  }

  if (obj_layer) {

    obj_layer.left = _xlayer;

    obj_layer.top = _ylayer;

  }

}





// écrit le contenu dans le layer et le rend visible

function contenu_layer(contenu) {

  if (nn4) {

    obj_layer.document.write(contenu);

    obj_layer.document.close();

    obj_layer.visibility = "visible";

  }

  else if (dom) {

    document.getElementById(_id_layer).innerHTML = contenu;

    obj_layer.visibility = "visible";

  }

  else if (iex) {

    document.all[_id_layer].innerHTML = contenu;

    obj_layer.visibility = "visible";

  }

}



// cache le layer (seulement s'il est visible)

function fermer() {

  if (!cache) {

    obj_layer.visibility = "hidden";

    cache = true;

  }

}



// positionne correctement le layer si on a fait défilé la page

function scroll_layer() {

    if (document.all) {

        obj_layer.left = parseInt(document.body.scrollLeft + _xlayer);

        obj_layer.top = parseInt(document.body.scrollTop + _ylayer);

    }

    else {

        obj_layer.left = parseInt(window.pageXOffset + _xlayer);

        obj_layer.top = parseInt(window.pageYOffset + _ylayer);

    }

}

  

// affiche une image en surimpression

// avec un texte au-dessus et éventuellement un sous-titre en bas

// 4 arguments : le fichier image, sa largeur en pixels, le titre (en haut) et le sous-titre (en bas)

function agrandir_image(fimage, largeur_image) {

  

	// reinitialise le layer

	 init_layer();

  // si le layer existe, on affiche titre et image dans un tableau de fond _couleur_fond (défini dans les paramètres)

	if (obj_layer) {

    larg_image = largeur_image;

    cache = false;

 		var ch_texte= '<table style="border:2px solid #000000;"><tr><td align="right" valign="top" style="background-color:#FFFFFF"><a href="javascript:fermer();">Fermer</a></td></tr><tr><td width="480px" height="300px" align="center"><a href="http://www.villefranche.net/agenda.asp?mois=4&annee=2010&id=5952#article" target="_parent" class="affiche onClick="fermer();">Fête de l\'environnement</a> </td></tr></table>';
	
	// a utiliser si besoin de faire un lien hypertext
	//<a href="Modeledeclaration.doc" class="affiche onClick="fermer();">Voir le site du festival</a> </td></tr></table>';


    // replace le layer, si on a fait défilé la fenêtre

    scroll_layer();

    // affecte ch_texte au contenu du layer

    contenu_layer(ch_texte);

  }

}





// DEPLACEMENT DU LAYER AVEC LA SOURIS



// initialisation lorsqu'on appuye sur le bouton de la souris (début du déplacement)

// l'argument "e" est nécessaire pour Netscape 4

function init_traine(e) {

  if (obj_layer && !cache) {

    var Xin = eval(X);

    var Yin = eval(Y);

    var L = parseFloat(obj_layer.left);

    var T = parseFloat(obj_layer.top);

    var offX = (nn4)? 0 : eval(offsetX);

    var offY = (nn4)? 0 : eval(offsetY);

    // détermine si la souris est dans la zone supérieure du layer

    if (Xin>(L-offX) && Xin<(L-offX+larg_image) && Yin>(T-offY) && Yin<(T-offY+_haut_titre)) {

      b_traine = true;

      moveX=Xin-L;

      moveY=Yin-T;

    }

    else b_traine = false;

  }

  else b_traine = false;

}



function stop_traine() {

  if (b_traine) {

    moveX = null;

    moveY = null;

    b_traine = false;

  }

}



function traine_layer(e) {

  if (b_traine) {

    var Xin = eval(X);

    var Yin = eval(Y);

   // déplacement

    obj_layer.top = Yin - moveY;

    obj_layer.left = Xin - moveX;

  }

}



document.onmousedown=init_traine;

document.onmousemove=traine_layer;

document.onmouseup=stop_traine;