// PARAMETRES
var _xlayer = screen.width; // position du bord gauche du layer relativement à la page
var _ylayer = screen.height; // position du bord haut du layer relativement à la page
var _id_layer = "popup";
var _haut_titre = 30; // hauteur du titre en pixels (pour déterminer la hauteur de la zone permettant le déplacement)

// VARIABLES GLOBALES
var nn4 = (document.layers);
var dom = (document.getElementById);
var iex = (document.all);
var obj_layer = null;
var larg_image = 0; // largeur de l'image
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(largeur, hauteur) {
	_xlayer = (_xlayer-largeur)/2;
	_ylayer = ((_ylayer-hauteur)/2)-100;

	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(obj_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 le titre
function affiche_titre(texte) {
	var ch_texte = "";
	// si on a défini une bordure autour du titre, on entoure celui-ci de 2 tableaux imbriqués
	// on écrit le titre
	ch_texte += "<tr><td><table cellspacing='0' cellpadding='0' border='0' width='100%'><tr><td width='23'><img src='http://img.veridik.net/promo/bar/gauche.gif' width='23' height='30' /></td>";
	ch_texte += "<td background='http://img.veridik.net/promo/bar/milieu.gif'" + (nn4 ? ">" : " width='100%'>") + "<font color='#FFFFFF' face='Tahoma' size='2'><b><span style='cursor: default'>&nbsp;" + texte + "</span></b></font></td>";
	// puis le bouton de fermeture de la fenêtre
	ch_texte += "<td align='right'><a href='javascript:fermer();'><img src='http://img.veridik.net/promo/bar/droite.gif' border='0'></a></td></tr></table></td></tr>";
	return ch_texte;
}

// 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 dhtml(url, largeur, hauteur, titre, limit){
	if(limit > 0){
		var nb_print = 0;

		nb_print = LireCookie("printed");
		nb_print = parseInt(nb_print+1);
		EcrireCookie("printed", nb_print);
		if(nb_print > limit){
			clearInterval(auto_place);
			return;
		}
	}

	// reinitialise le layer
	init_layer(largeur, hauteur);
	// 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;
		cache = false;
		var ch_texte = "<table cellspacing='0' cellpadding='0' border='0' width='" + largeur + "'>";
		// affiche le titre en haut
		ch_texte += affiche_titre(titre);
		// affiche l'image
		ch_texte += "<tr><td align='center'><iframe src='http://promo.veridik.net/js/pop_url.php?idm=" + url + "' width='" + largeur + "' height='" + hauteur + "' frameborder='0' scrolling='no'></td></tr>";
		ch_texte += "</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)) {
			clearInterval(auto_place);
			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;
	}
}

function getCookieVal(offset)
{
	var endstr=document.cookie.indexOf (";", offset);
	if (endstr==-1) endstr=document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}
function LireCookie(nom)
{
	var arg=nom+"=";
	var alen=arg.length;
	var clen=document.cookie.length;
	var i=0;
	while (i<clen)
	{
		var j=i+alen;
		if (document.cookie.substring(i, j)==arg) return Number(getCookieVal(j));
		i=document.cookie.indexOf(" ",i)+1;
		if (i==0) break;

	}
	return null;
}

function EcrireCookie(nom, valeur)
{
	var argv=EcrireCookie.arguments;
	var argc=EcrireCookie.arguments.length;
	var expires=(argc > 2) ? argv[2] : null;
	var path=(argc > 3) ? argv[3] : null;
	var domain=(argc > 4) ? argv[4] : null;
	var secure=(argc > 5) ? argv[5] : false;
	document.cookie=nom+"="+escape(valeur)+
	((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
	((path==null) ? "" : ("; path="+path))+
	((domain==null) ? "" : ("; domain="+domain))+
	((secure==true) ? "; secure" : "");
}

document.onmousedown=init_traine;
document.onmousemove=traine_layer;
document.onmouseup=stop_traine;

var auto_place = setInterval("scroll_layer()",10);