/*      JQUERY				*/
$(document).ready(function(){
		
		/* ROLLOVER POUR LE MENU PRINCIPAL */
		
		// Au survol d'un élement de liste du menu #nav_principale
		$("#nav_principale li").hover(			
			//OnMouseHover :
			function(){
				// l'ID de la liste (<li id="rub_xx.png> dans le html) va servir pour identifier les images.
				var imgId = $(this).attr('id');
				// Si l'élément n'est pas actif, on change l'image
				if ($(this).is(".on")) {  //Si l'élement est déjà actif
					return false; // on fait rien
				}
				else {
					// ajout d'une classe actif (pour z-index différent par exemple)
					$(this).addClass("actif");	
					// on change l'image
					$(this).find("img").attr({src: "images/" + imgId + "-over.png"});					
				}
			}, 
			// OnMouseOut
			function(){
				var imgId = $(this).attr('id');
				if ($(this).is(".on")) { //Si l'élement est déjà actif
					return false; // on fait rien
				}
				else {
					$(this).find("img").attr({
						src: "images/" + imgId + ".png"
					});
					$(this).removeClass("actif");
				}
			}
		);	
		
		// Au focus de l'élément
		$("#nav_principale li a").focus(	
			function(){
				// l'ID de la liste (<li id="rub_xx.png> dans le html) va servir pour identifier les images.
				var laliste = $(this).parent("li");
				var imgId = laliste.attr('id');
				// Si l'élément n'est pas actif, on change l'image
				if (laliste.is(".on")) {  //Si l'élement est déjà actif
					return false; // on fait rien
				}
				else {
					// ajout d'une classe actif (pour z-index différent par exemple)
					laliste.addClass("actif");	
					// on change l'image
					laliste.find("img").attr({src: "images/" + imgId + "-over.png"});	
				}
			}			
				
		);
		
		$("#nav_principale li a").blur(
			function(){
				// l'ID de la liste (<li id="rub_xx.png> dans le html) va servir pour identifier les images.
				var laliste = $(this).parent("li");
				var imgId = laliste.attr('id');
				
				if (!laliste.is(".on")) {
					laliste.find("img").attr({
							src: "images/" + imgId + ".png"
					});
					laliste.removeClass("actif");
					}
				}
				
		);

		/* ROLLOVER GENERIQUE */
		/* A améliorer lorsqu'on aura Jquery 1.4 */
		/*
		Mise en place : mettre une class="rollover" sur le lien qui entoure l'image sur laquelle on veut le roll over
		Les images au repos sont nommées "monimage_off.png"
		Les images au survol sont nommées "monimage_on.png"
		Ex : <a href="www.google.fr" class="rollover"><img src="images/testrollover_off.png" alt="" /></a>
		Quand un item du menu est actif, ajouter la classe "actif" ainsi, et faire afficher l'image "_off", le roll over sera désactivé :
		Ex : <a href="www.google.fr" class="rollover actif"><img src="images/testrollover_off.png" alt="" /></a>
		*/
		
   $(".rollover:not(.actif)").hover(
			function()
			{
				var img = $(this).find("img").attr("src");
				var newsrc = img.replace("_off","_on");
				$(this).find("img").attr("src",newsrc);
			},
			function()
			{
				var img = $(this).find("img").attr("src");
				var newsrc = img.replace("_on","_off");
					$(this).find("img").attr("src",newsrc);
			}
		);
		$(".rollover:not(.actif)").focus(
			function(){
				var img = $(this).find("img").attr("src");
				var newsrc = img.replace("_off","_on");
				$(this).find("img").attr("src",newsrc);
			}
		);
		$(".rollover:not(.actif)").blur(
			function(){
				var img = $(this).find("img").attr("src");
				var newsrc = img.replace("_on","_off");
				$(this).find("img").attr("src",newsrc);
			}
		);

 		 
		 /* ZOOM SUR VIGNETTE ANNUAIRE */
  	/*
       *  Zoom lors d'un hover sur image utilisée par block_extras
       *  Au survol d'un lien class="previsu", regarde la source de l'image indiquée dans l'attribut 'rel'
       *  et l'affiche en avant plan dans un cadre qui suit les mouvements de la souris.
       *  Styler le cadre qui apparait dans spip_style.css (#previsu)
       *  La taille des images se règle dans inc_variables avec #TMP{taille_zoom_vignette_*}
       */ 
  	/* CONFIG */
  	xOffset = 150; // régler le décalage vertical du zoom
  	yOffset = 20; // régler le décalage horizontal du zoom
  	/* END CONFIG */
  	
  	$("a.previsu").hover(function(e){
  		this.t = this.title;
  		this.title = "";
  		//var c = (this.t != "") ? "<br/>" + this.t : "";
  		//$("body").append("<p id='previsu'><img src='"+ this.rel +"' alt='url preview' />"+ c +"</p>");
  		$("body").append("<p id='previsu'><img src='"+ this.rel +"' alt='Aperçu' /></p>");
  		$("#previsu")
  			.css("top",(e.pageY - xOffset) + "px")
  			.css("left",(e.pageX + yOffset) + "px")
  			.fadeIn("fast");
  	},
  	function(){
  		this.title = this.t;
  		$("#previsu").fadeOut("fast").remove();
  	});
  	$("a.previsu").mousemove(function(e){
  		$("#previsu")
  		.css("top",(e.pageY - xOffset) + "px")
  		.css("left",(e.pageX + yOffset) + "px");
  	});
		
});

//_________________________________________________________
//
//                      BOUTON IMPRIMER
//_________________________________________________________
function bouton_imprimer(lang,imprimercettepage,imprimer)
	{
	texte_bouton = '<a href="javascript:window.print()" title="'+imprimercettepage+'" rel="nofollow" class="rollover"><img name="bouton_imprimer" src="images/bouton_imprimer_'+lang+'_off.png" alt="'+imprimer+'" class="format_png" /></a>';
	ecrire_bouton = document.write(texte_bouton);
	return ecrire_bouton;
	}

//_________________________________________________________
//
//                      BOUTON IMPRIMER
//_________________________________________________________
function bouton_retour(url,lang,boutonretour,id)
	{
	texte_bouton = '<a href="'+url+'" title="'+boutonretour+'" class="rollover"><img  name="bouton_retour'+id+'" src="images/bouton_retour_'+lang+'_off.png" alt="'+boutonretour+'" class="format_png" /></a>';
	ecrire_bouton = document.write(texte_bouton);
	return ecrire_bouton;
	}

//_________________________________________________________
//
//                      ROLL OVER
//_________________________________________________________
function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}


function changeImages() {
	if (document.images && (preloadFlag == true)) {
		var img;
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			img = null;
			if (document.layers) {
				img = findElement(changeImages.arguments[i],0);
			}
			else {
				img = document.images[changeImages.arguments[i]];
			}
			if (img) {
				img.src = changeImages.arguments[i+1];
			}
		}
	}
}


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_showHideLayers() { //v6.0
 var i,p,v,obj,args=MM_showHideLayers.arguments;
 for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
   if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
   obj.visibility=v; }
}

//_________________________________________________________
//
//                      OUVERTURE D'UNE POPUP
//_________________________________________________________
function popup(page, titre, largeur, hauteur,options) {
 	var top=(screen.height-hauteur)/2;
  	var left=(screen.width-largeur)/2;
	var a=window.open(page,"","title="+titre+",resizable=yes,top="+top+",left="+left+",width="+largeur+", height="+hauteur+","+options);
	}

//_________________________________________________________
//
//                      OUVERTURE POPUP
//_________________________________________________________
// Ouverture d'une page pour impression
// Appel : <a href="#" onClick="MM_openBrWindow('imprimer.php3?id_article=#ID_ARTICLE','test','width=1,height=1')">
// Dans la page d'impression  : onload="window.print()"
function MM_openBrWindow(theURL,winName,features) {
  window.open(theURL,winName,features);
}

//_________________________________________________________
//
//                     DEPLIAGE
//_________________________________________________________
var memo_obj = new Array();

function findObj_test_forcer(n, forcer) { 
	var p,i,x;

	// Voir si on n'a pas deja memorise cet element
	if (memo_obj[n] && !forcer) {
		return memo_obj[n];
	}

	var 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 = findObj(n,d.layers[i].document);
	if(!x && document.getElementById) x = document.getElementById(n); 

	// Memoriser l'element
	if (!forcer) memo_obj[n] = x;
	return x;
}

function findObj(n) { 
	return findObj_test_forcer(n, false);
}

function swap_couche(couche, rtl, dir, no_swap, carto) {
	var layer;
	var triangle = findObj('triangle' + couche);
	if (carto==undefined) carto = '';
	if (!(layer = findObj('Layer' + couche))) return;
	if (layer.style.display == "none"){
		if (!no_swap && triangle) triangle.src = dir + 'deplierbas.png';
		layer.style.display = 'block';
		if(document.getElementById(couche))
	    {
	      document.getElementById(couche).className='layer-actif';
		  document.getElementById('titre'+couche).className='depliage actif ' + carto;
	    }

	} else {
		if (!no_swap && triangle) triangle.src = dir + 'deplierhaut' + rtl + '.png';
		layer.style.display = 'none';
		if(document.getElementById(couche))
	    {
		  document.getElementById(couche).className='layer-inactif';
		  document.getElementById('titre'+couche).className='depliage inactif ' + carto;
	    }

	}
}

function hide_couche(couche, rtl, dir, no_swap) {
	var layer;
	var triangle = findObj('triangle' + couche);
	if (!(layer = findObj('Layer' + couche))) return;
	if (!no_swap && triangle) triangle.src = dir + 'deplierhaut' + rtl + '.png';
	layer.style.display = 'none';
}

function show_couche(couche, rtl, dir, no_swap) {
	var layer;
	var triangle = findObj('triangle' + couche);
	if (!(layer = findObj('Layer' + couche))) return;
	if (!no_swap && triangle) triangle.src = dir + 'deplierbas.png';
	layer.style.display = 'block';

}

// On masque le layer en utilisant la propiété margin et non plus le display
// On utilise dans le affiche_fiche pour dépliage carto
function swap_couche_margin(couche, rtl, dir, no_swap, carto) {
	var layer;
	var triangle = findObj('triangle' + couche);
	if (carto==undefined) carto = '';
	if (!(layer = findObj('Layer' + couche))) return;
	if (layer.className == "masque"){
		if (!no_swap && triangle) triangle.src = dir + 'deplierbas.png';
		layer.className = 'affiche';
		if(document.getElementById(couche))
	    {
	      document.getElementById(couche).className='layer-actif';
		  document.getElementById('titre'+couche).className='depliage actif ' + carto;
	    }

	} else {
		if (!no_swap && triangle) triangle.src = dir + 'deplierhaut' + rtl + '.png';
		layer.className = 'masque';
		if(document.getElementById(couche))
	    {
	      document.getElementById(couche).className='layer-inactif';
		  document.getElementById('titre'+couche).className='depliage inactif ' + carto;
	    }

	}
}

function hide_couche_margin(couche, rtl, dir, no_swap) {
	var layer;
	var triangle = findObj('triangle' + couche);
	if (!(layer = findObj('Layer' + couche))) return;
	if (!no_swap && triangle) triangle.src = dir + 'deplierhaut' + rtl + '.png';
	layer.className = 'masque';
}

//_________________________________________________________
//
//                      FORUM
//_________________________________________________________

function swap_couche_forum(couche, rtl, dir, no_swap) {
	var layer;
	var triangle = findObj('triangle' + couche);
	if (!(layer = findObj('Layer' + couche))) return;
		if (layer.style.display == "none"){
			if (!no_swap && triangle) triangle.src = dir + 'deplierbasforum.png';
			layer.style.display = 'block';
			
		if(document.getElementById(couche))
			{
			  document.getElementById(couche).className='layer-actif';
			  document.getElementById('titre'+couche).className='depliageforum actif';
			}
		} else {
			if (!no_swap && triangle) triangle.src = dir + 'deplierhautforum' + rtl + '.png';
			layer.style.display = 'none';
			if(document.getElementById(couche))
			{
			  document.getElementById(couche).className='layer-inactif';
			  document.getElementById('titre'+couche).className='depliageforum inactif';
			}
		}
}

function hide_couche_forum(couche, rtl, dir, no_swap) {
	var layer;
	var triangle = findObj('triangle' + couche);
	if (!(layer = findObj('Layer' + couche))) return;
	if (!no_swap && triangle) triangle.src = dir + 'deplierhautforum' + rtl + '.png';
	layer.style.display = 'none';
}

function show_couche_forum(couche, rtl, dir, no_swap) {
	var layer;
	var triangle = findObj('triangle' + couche);
	if (!(layer = findObj('Layer' + couche))) return;
	if (!no_swap && triangle) triangle.src = dir + 'deplierbasforum' + rtl + '.png';
	layer.style.display = 'block';
}



//_________________________________________________________
//
//                      CONVERSION DES ACCENTS EN UTF8
//_________________________________________________________
/*
    * é : \351
    * è : \350
    * ê : \352
    * à : \340
	* ù : \371
	
	Liste complete : http://www.pjb.com.au/comp/diacritics.html
*/


//_________________________________________________________
//
//                      FORMULAIRE INSCRIPTION NEWSLETTER
//_________________________________________________________
function form_newsletter_submit() {
 	with (document.newsletter)
	{
				if (elements ['mail_inscription_'].value=='')
				{
					alert ("Vous devez saisir une adresse Email.");
					return false;
				}
				// JavaScript pris sur le site: "http://www.java.scripts-fr.com" 
				testm = false ;
					a=elements ['mail_inscription_'].value
					 for (var j=1 ; j<(a.length) ; j++) {
					  if (a.charAt(j)=='@') {
					   if (j<(a.length-4)){
					    for (var k=j ; k<(a.length-2) ; k++) {
					     if (a.charAt(k)=='.') testm = true;
					    }
					   }
					  }
					 }

					if (testm==false) {
						alert('Saisissez une adresse email valide');
						return false ;
					}
	}
	return true;
}


//_________________________________________________________
//
//                      FORMULAIRE RECRUTEMENT
//_________________________________________________________
function form_submit() {
 	with (document.form_recrut)
	{
				if (elements ['nom'].value=='')
				{
					alert ("Le champ \"Nom\" est obligatoire");
					document.form_recrut.nom.focus();
					return false;
				}
				
				if (elements ['prenom'].value=='')
				{
					alert ("Le champ \"Pr\351nom\" est obligatoire");
					document.form_recrut.prenom.focus();
					return false;
				}
				
				if (elements ['adresse'].value=='')
				{
					alert ("Le champ \"Adresse\" est obligatoire");
					document.form_recrut.adresse.focus();
					return false;
				}
				
	}
	return true;
}
