var sh_debug = false;
var k_largeur_pop = 600;
var k_largeur_pop_secteur = 800;
var obj_select = null;

var mouse_x = 0;
var mouse_y = 0;

var gID_zone_texte = "";
var glast_id_zone = "";


function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}



function toggle(nodeID)
{
    widgetNode = document.getElementById("widget" + nodeID)
    childTableNode = document.getElementById("children" + nodeID)
    if (childTableNode.className == 'expanded') {
		childTableNode.className = 'collapsed';
		widgetNode.src = 'squelettes/images/collapsed.gif';
    } else {
		childTableNode.className = 'expanded';
		widgetNode.src = 'squelettes/images/expanded.gif';
    }
}

function toggle_simple(nodeID)
{
    widgetNode = document.getElementById("widget" + nodeID)
    childTableNode = document.getElementById("children" + nodeID)
    if (childTableNode.className == 'expanded') {
		childTableNode.className = 'collapsed';
		widgetNode.src = 'squelettes/images/collapsed.gif';
    } else {
		childTableNode.className = 'expanded';
		widgetNode.src = 'squelettes/images/expanded.gif';
    }
}


function toggle_uniq(nodeID)
{
	try {
		// alert("toggle_uniq, node : "+nodeID);
	
		// on ferme tous les elements
		iNode = 1;
		do {
			element = document.getElementById("childrenid" + iNode);
			if (element != null) {
				element.className = 'collapsed';
			}
			iNode++;
		} while (element != null);
	
		childTableNode = document.getElementById("childrenid" + nodeID)
		if (childTableNode.className == 'expanded') {
			childTableNode.className = 'collapsed';
		} else {
			childTableNode.className = 'expanded';
		}
    }
    catch(e) {
		var msg = (typeof e == "string") ? e : ((e.message) ? e.message : "Erreur inconnue");
	   mydebug("Erreur javascript :\n" + msg);
	   return;
    }
}



function getWindowWidth() {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
  // window.alert( 'Width = ' + myWidth );
  // window.alert( 'Height = ' + myHeight );
  
  return myWidth;
}


function closeZone(id, zone)
{
	elt=document.getElementById(id);
//	alert("elt : "+elt);
	if (elt != null)
		elt.style.display = 'none';
	
	if (zone != '') {
		elt=document.getElementById(zone);
		if (elt != null)
			elt.innerHTML = '';
	
	}
}


function menuLink(url) {
	// alert("menuLink : "+url);
	window.location=url;
}

function onLinkOver( link ){
	// alert("onLinkOver : "+link);
	// link.style.cursor = "hand";
	link.style.cursor = "pointer";
}






function callback_loadarticlespecial() {

	var offsetTop = 0;
	var offsetLeft = 0;
	
    if (request.readyState == 4) {
        // only if "OK"
  		if (sh_debug)
    		mydebug("cb : state :"+request.readyState+" status :"+request.status);


        if (request.status == 200) {
		   if(request.responseText) {
		   		str = request.responseText;
		   		if (sh_debug)
					mydebug("reponse : "+str+"");
				
				// traitement de la reponse
				// la reponse est du javascript : il suffit de l'executer !
				// eval(str);
				
				// on positionne le cadre : non...
				// deja fait avant l'appel ajax.

				// et on remplit le texte	
				elt=document.getElementById(gID_zone_texte); // 'pop_texte8'); // 'zone_texte_article_special');
				// alert('cb : elt : '+elt);
				elt.innerHTML = str;
				// elt.innerText = str;


				if (sh_debug)
					mydebug("debug :"+cb_debug);

	
				delete request;
			} else
				mydebug(" callback_loadarticle : erreur : ce n'est pas du texte\n"+"/"+request);
				delete request;
         } else {
            mydebug(" callback_loadarticle : erreur status:\n" + request.status+"/"+request);
			delete request;
         }
    } else {
  		if (sh_debug)
    		mydebug(" cb : state :"+request.readyState+" status :"+request.status);

    }
}


function moveshowArticleSpecial(id_zone, id_zone_parent, est_secteur) {

	// alert ("last id "+glast_id_zone);

	if (sh_debug) mydebug("debut moveshowArticleSpecial() ");

	if (glast_id_zone != "") {
		elt=document.getElementById(glast_id_zone);
		if (elt.style)
			elt.style.display="";
		else
			elt.display="";
	}
	
	
	// on positionne le cadre
	elt=document.getElementById(id_zone);
	elt_parent=document.getElementById(id_zone_parent);
	// il faudrait recalculer les coordonnees du parent en global...?

	if (sh_debug) mydebug("debut moveshowArticleSpecial() 2");

	// message = "X : "+mouse_x+" Y : "+mouse_y;
	// alert(message);

	offsetTop = mouse_y;
	offsetLeft = mouse_x;
	// offsetTop = 0;
	// offsetLeft = 0;
	
	


	/* Recadrage vertical */
	if (offsetTop > 500)
		offsetTop = 500;
	

	// alert("offsetTop : "+offsetTop.toString());
	largeur_fen = getWindowWidth();
	if (est_secteur)
		largeur_zone = k_largeur_pop_secteur;
	else
		largeur_zone = k_largeur_pop;
	res = (largeur_fen - largeur_zone)/2;

	if (elt.style) {
	
		if (sh_debug) mydebug("debut moveshowArticleSpecial() 3 : avec style "+elt.style);

		// largeur_zone = elt.style.width;
		// res = (largeur_fen - largeur_zone)/2;
		
		elt.style.top =offsetTop +'px';
		if (sh_debug) mydebug("debut moveshowArticleSpecial() 3 : apres top : "+offsetTop+" elt.style.top : "+elt.style.top);
		// elt.style.left=offsetLeft+'px';
		// elt.style.left = elt_parent.style.left+'px';


		if (sh_debug) mydebug("debut moveshowArticleSpecial() 3 : avant left : "+res+" elt.style.left : "+elt.style.left);
		elt.style.left = res+'px';
		if (sh_debug) mydebug("debut moveshowArticleSpecial() 3 : apres left : "+res+" elt.style.left : "+elt.style.left);

		if (sh_debug) mydebug("debut moveshowArticleSpecial() 3 : apres top-left");

		elt.style.width = largeur_zone+'px';

		// str = str + "elt.style.top ";
	} else {

		if (sh_debug) mydebug("debut moveshowArticleSpecial() 3 : sans style");

		// largeur_zone = elt.width;
		// res = (largeur_fen - largeur_zone)/2;

		elt.top = offsetTop +'px';
		// elt.left=offsetLeft+'px';
		// elt.left = elt_parent.left+'px';
		elt.left = res+'px';
		elt.width = largeur_zone+'px';
		// str = str + "elt.top ";
	}


	if (sh_debug) mydebug("debut moveshowArticleSpecial() 4 ");

	elt.style.display="inline";

	glast_id_zone = id_zone;

	// alert("largeur_fen : "+largeur_fen+"   largeur_zone : "+largeur_zone+" res : "+res);

	// str = str + "offsetTop : " +offsetTop.toString();
	// str = str + " OffsetLeft :"+offsetLeft.toString();
	// alert(str);
	
	// et on remplit le texte
	// elt=document.getElementById(id_zone_text);
	// elt.innerHTML = str;

}



function loadArticleSpecial(id_zone, id_zone_text, id_article) {
	
	if (sh_debug)
		mydebug("debut de loadArticleSpecial :\n");

    // equalize W3C/IE event models to get event object
    try {
		var url = "spip.php?page=load_article&id_article="+id_article;
		if (sh_debug)
			url = url+"&debug=debug";

		if (sh_debug)
			mydebug('appel ajax :'+url);
		var proc = callback_loadarticlespecial;
		gID_zone_texte = id_zone_text;
		moveshowArticleSpecial(id_zone,"zone_contenu", false);
		elt=document.getElementById(id_zone_text);
		// alert('elt : '+elt);
		elt.innerHTML = "Connexion au serveur...";
		
		loadXMLDoc(url, proc);
    }
    catch(e) {
		var msg = (typeof e == "string") ? e : ((e.message) ? e.message : "Erreur inconnue");
	   mydebug("Erreur lors de la communication avec le serveur :\n" + msg);
	   return;
    }

	if (sh_debug)
		mydebug("fin de loadArticleSpecial:\n"+request);

}




function showSecteurParMenu(zone) {

	// alert("showSecteurParMenu");
	
	elt = document.getElementById(zone);
	id_secteur = elt.value;
	// alert("elt : "+elt+"   value : "+id_secteur);
	
	toggle_uniq(id_secteur)
}



function loadSecteur(id_zone, id_zone_text, id_secteur, compteur) {
	
	if (sh_debug)
		mydebug("debut de loadSecteur :\n");

	id_region = "";
	
    // equalize W3C/IE event models to get event object
    try {
    	// var pre = "http://82.66.74.88/htdocs/spip_adoc/";
    	var pre = "";
		var url = pre+"spip.php?page=load_secteur&id_secteur="+id_secteur+"&id_region="+id_region+"&cptr="+compteur;
		if (sh_debug)
			url = url+"&debug=debug";

		if (sh_debug)
			mydebug('appel ajax :'+url);
		var proc = callback_loadarticlespecial;
		gID_zone_texte = id_zone_text;

		if (sh_debug) mydebug("avant moveshowArticleSpecial() ");

		moveshowArticleSpecial(id_zone,"zone_contenu",true);

		if (sh_debug) mydebug("apres moveshowArticleSpecial() ");

		elt=document.getElementById(id_zone_text);
		// alert('elt : '+elt);
		elt.innerHTML = "Connexion au serveur...";

		if (sh_debug) mydebug("avant loadXMLDoc() ");
		
		loadXMLDoc(url, proc);
    }
    catch(e) {
		var msg = (typeof e == "string") ? e : ((e.message) ? e.message : "Erreur inconnue");
	   mydebug("Erreur lors de la communication avec le serveur :\n" + msg);
	   return;
    }

	if (sh_debug)
		mydebug("fin de loadSecteur:\n"+request);

}


function loadRegion(id_zone, id_zone_text, id_region) {
	
	if (sh_debug)
		mydebug("debut de loadSecteur :\n"+id_zone+" "+id_zone_text+" "+id_region);

	id_secteur = "";
	
    // equalize W3C/IE event models to get event object
    try {
		var url = "spip.php?page=load_secteur&id_secteur="+id_secteur+"&id_region="+id_region;
		if (sh_debug)
			url = url+"&debug=debug";

		if (sh_debug)
			mydebug('appel ajax :'+url);
		var proc = callback_loadarticlespecial;
		gID_zone_texte = id_zone_text;
		moveshowArticleSpecial(id_zone,"zone_contenu", true);
		elt=document.getElementById(id_zone_text);
		// alert('elt : '+elt);
		elt.innerHTML = "Connexion au serveur...";
				
		loadXMLDoc(url, proc);
    }
    catch(e) {
		var msg = (typeof e == "string") ? e : ((e.message) ? e.message : "Erreur inconnue");
	   mydebug("Erreur lors de la communication avec le serveur :\n" + msg);
	   return;
    }

	if (sh_debug)
		mydebug("fin de loadSecteur:\n"+request);

}


function loadRegionParMenu(id_zone, id_zone_text) {

	// alert("loadRegionParMenu");
	
	elt = document.getElementById("menu_regions");
	id_region = elt.value;
	id_region = '%25('+id_region+')%25';
	// alert("elt : "+elt+"   value : "+id_region);
		
	
	// on remet le popop a 'vide'
	elt.value = "";

	loadRegion(id_zone, id_zone_text, id_region);

}



function showRegion(nom) {
	elt=document.getElementById("nom_region");

	if (elt.innerHTML != nom)
		elt.innerHTML = nom;

	if (elt.style) {
		if (nom != "") {
			if (elt.style.display != "inline")
				elt.style.display="inline";
		} else {
			if (elt.style.display != "")
				elt.style.display="";
		}
	} else {
		if (nom != "") {
			if (elt.display != "inline")
				elt.display="inline";
		} else {
			if (elt.display != "")
				elt.display="";
		}
	}
	
	offsetTop = mouse_y-15;
	offsetLeft = mouse_x;

	if (elt.style) {
		elt.style.top =offsetTop +'px';
		elt.style.left = offsetLeft+'px';
	} else {
		elt.top =offsetTop +'px';
		elt.left = offsetLeft+'px';
	}

}


function infosdebug() {
	elt=document.getElementById('contenu');
	alert("largeur contenu :"+elt.width);

}

function HauteurDe(quoi) {
	if (quoi) {
		if (quoi.style) {
			return parseInt(quoi.style.height);
		}
		else {
			return parseInt(quoi.height);
		}
	}

}

 
 
function mydebug(mess) {

	if (true) {
		alert(mess);
	
	} else {
		var valeur = document.forms['saisie_heures'].elements['valeur_debug'].value;
		valeur = valeur + mess;
		document.forms['saisie_heures'].elements['valeur_debug'].value = valeur;
	}
	
}





function apparitionImage() {



	obj = document.getElementById('apparition_bandeau');
	if (obj != null) {
		g_obj_anim = obj;
		g_compteur_anim = 0;
				
		_setOpacity(obj,0); // transparent...
		
		obj.style.display="inline"; // visible
		
		// mettre une animation pour "faire apparaitre" la nouvelle image
		g_compteur_anim = 0;
		g_timer_anim = setInterval("_bandeau_apparaitre()",g_delta_anim);
	}
}

function InstallMouseMove_NS() {
	// alert("InstallMouseMove_NS 1");


	if (document.addEventListener) {
		document.addEventListener('mousemove', cb_mousemove, false);
	} else {

		document.captureEvents(Event.MOUSEMOVE);
		document.onmousemove = cb_mousemove;
	}
	// alert("InstallMouseMove_NS 2");
}


function cb_mousemove(event) {

//	alert("cb_mousemove");
	
	if (!event) {
	
		// coordonnŽes absolues
		mouse_x = window.event.clientX;
		mouse_y = window.event.clientY;

		// coordonnŽes relatives...
		//	mouse_x = window.event.offsetX;
		//	mouse_y = window.event.offsetY;
		
	} else {
		// coordonnŽes absolues
		mouse_x = event.pageX;
		mouse_y = event.pageY;
	
	}
	
	// debug
	// message = "X : "+mouse_x+" Y : "+mouse_y;
	// window.status = message;
	
//	alert(message);
}
