// JavaScript Document

var nom_nav=navigator.appName;
var ie=(nom_nav == 'Microsoft Internet Explorer') ? 1:0

/////////////////////////////////////////gestion taille police//////////////////////////////////////////////////
var taille;
var nom_cookie_size="arrobe_cookie_size";
var css_rules="0";
var size_init="12";

//cette fonction verifie si cookie accepté
function verifie_cookie(){
	accepteCookies = (navigator.cookieEnabled) ? true : false;
	
	if (typeof navigator.cookieEnabled == "undefined" && !cookieEnabled) {
	  document.cookie = "test_cookie";
	  accepteCookies = (document.cookie.indexOf("test_cookie") != -1) ? true : false;
	}
	
	if(!accepteCookies){
		
		$('gestion_menu').style.display='none';
		
		var tab=document.getElementsByTagName("div");	
		for(var i=0;i<tab.length;i++){	
			if(tab[i].className=="barre"){
				tab[i].style.display='none';
			}
			if(tab[i].className=="deplacable"){
				tab[i].onmousedown=function(){};
			}
		}
	
		var tab=document.getElementsByTagName("img");	
		for(var i=0;i<tab.length;i++){
			if(tab[i].className=="ferm_gadget"){
					tab[i].style.display='none';
				}
		}
	}
}

//cette fonction permet de  recupérer la valeur d'un cookie
function arguments_cookie(offset){

  var endstr=document.cookie.indexOf (";", offset);
  
  if (endstr==-1){
		endstr=document.cookie.length;
  }
  
  var valeur=unescape(document.cookie.substring(offset, endstr)); 
  
	return valeur; 
	
}



//cette fonction permet d'ecrire dans un cookie
function ecrire_cookie(nom_cookie, valeur_cookie, duree_cookie) {

	var miam=nom_cookie+"="+escape(valeur_cookie)+";path=/";
	if(duree_cookie!=null){
		miam+="; expires="+duree_cookie.toGMTString();
	}
  document.cookie=miam;
}


//cette fonction permet de lire un cookie
function lire_cookie(nom_cookie) {

  var partie_nom=nom_cookie+"=";
  var partie_nom_size=partie_nom.length;
  
  var nb_cookie=document.cookie.length;
  
  var i=0;
  
  //pour chopper le cookie qui a le bon nom qu'on veut
  while (i<nb_cookie){
  
    var j=i+partie_nom_size;
    
    if (document.cookie.substring(i, j)==partie_nom){
       return arguments_cookie(j);
    }
    
    i=document.cookie.indexOf(" ",i)+1;
    
    if (i==0){
			break;
		} 
		
  }
  
  return null; 
  
}


//cette fonction permet de modifier le css du contenu
function setTaillePoliceCSS(taille){

	if(ie==1){
	  document.styleSheets[0].rules[css_rules].style.fontSize=taille+"px";
	}
	else{
		document.styleSheets[0].cssRules[css_rules].style.fontSize=taille+"px";
	}
	
	
}



//cette fonction permet d'augmenter ou de diminuer la tailles des polices d'un div
function majTaillePolice(modif){

//recuperation taille initial
	//on essaye de lire le cookie de nom nom_cookie_size
	var cookie=lire_cookie(nom_cookie_size);
	
	//si pas trouvé alors on fait rien, sinon on appelle la fonction de maj de taille de police avec la valeur du cookie
	if(cookie!=null){
		taille=cookie;
	}
	else{
		taille=size_init;							
	}

	taille=parseInt(taille);	
	
//maj de la taille
	if(modif!=null){
		if(modif=="+"){
			taille++;
		}
		else if(modif=="-"){
			taille--;
		}
		else{
			taille=size_init;
		}
	}

//maj du css
	setTaillePoliceCSS(taille);
	
//on ecrit/reecrit le cookie avec la taille du css
	date_validite=new Date;
	date_validite.setMonth(date_validite.getMonth()+1);
	ecrire_cookie(nom_cookie_size,taille+"px",date_validite);

}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	



/////////////////////////////////////////autres fonctions//////////////////////////////////////////////////////
//cette fonction rend visible un element
function montrer(idElement){
  document.getElementById(idElement).style.display='block';
}

//cette fonction rend invisible un element
function cacher(idElement){
  document.getElementById(idElement).style.display='none';
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	



/////////////////////////////////////////gestion menu contextuel////////////////////////////////////////////////
function afficher_menu_contextuel(event){
	
	//on recupère la position de la souris
	if(ie==1){
		var x_souris=window.event.clientX;
		var y_souris=window.event.clientY;
	}
	else{
		var x_souris=event.clientX;
		var y_souris=event.clientY;
	}
	//on recupère le menu contextuel
	var menu=document.getElementById("menu_contextuel");

	//si le click droit est fait dans la partie menu alors on affiche la partie gestion affichage des cases deplacables
	//on recupère la limite menu / contenu
	var x_max=document.getElementById("contenu").offsetLeft;

	//si on est dans la partie menu alors on met la gestion de ce dernier
	if(x_souris<=x_max && $('gestion_menu').style.display!='none'){

			//creation des differentes elements
			//en fonction de l'affichage ou non des div deplacable, on va mettre ou non la coche et le code js different pour le onclick
		var tab=document.getElementsByTagName("div");	
		for(var i=0;i<tab.length;i++){	

			if(tab[i].className=="deplacable"){	
						
				var idBloc=tab[i].id;
				
				if(tab[i].style.display=="none"){
					//on utilise visible et pas display pour garder l'alignement check / libelle
					/*
					if(ie==1){
						document.getElementById(idBloc+"_li").onclick=ouvrir_div();
					}
					else{
						document.getElementById(idBloc+"_li").setProperty('onClick', "ouvrir_div('"+idBloc+"')");
					}
					document.getElementById(idBloc+"_check").style.visibility="hidden";
					*/
					document.getElementById(idBloc+'_li_on').style.display="none";
					document.getElementById(idBloc+'_li_off').style.display="block";
				}
				else{
					/*
					if(ie==1){						
						alert("on click=> "+idBloc);
						document.getElementById(idBloc+"_li").onclick=function(){alert(idBloc);};	
					}
					else{
						document.getElementById(idBloc+"_li").setProperty('onClick', "fermer_div('"+idBloc+"')");
					}
					document.getElementById(idBloc+"_check").style.visibility="visible";
					*/
					document.getElementById(idBloc+'_li_on').style.display="block";
					document.getElementById(idBloc+'_li_off').style.display="none";
				}
			}
		}	
		var disp_m="block";	
	}
	else{
		var disp_m="none";
	}
	
	
	
	//on l'affiche
	document.getElementById('gestion_menu').style.display=disp_m;
	
	//pour bug affichage
	//si pas ie mettre display avant le positionnement sinon marche pas
	if(ie==0){
		menu.style.display="block";
	}
	//on regarde si le menu est pas "mangé" par le bas du navigateur
	var y_nav=document.getElementById('contenu').offsetHeight;
	var bas_menu=y_souris+menu.offsetHeight;
	//on positionne le menu
	if(bas_menu>y_nav){
		menu.style.top=(y_souris-menu.offsetHeight)+"px";
		menu.style.left=x_souris+"px";
	}
	else{
		menu.style.top=y_souris+"px";
		menu.style.left=x_souris+"px";
	}
	//si ie mettre display apres positionnement sinon tout l'affichage "explose"
	if(ie==1){
		menu.style.display="block";
	}
	
	
	//return faux pour cacher le menu du navigateur
	return(false);
	

}



function fermer_menu_contextuel(){

	
	//on recupère le menu contextuel
	var menu=document.getElementById("menu_contextuel");
		
	//on le cache
	menu.style.display="none";	

}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////



/////////////////////////////////////gestion infobulle personnalisée////////////////////////////////////////////
//pour infobulle
function infoBulle(texte,display,balise,event){

	//on recupère le div
	var infobulle=document.getElementById("infobulle");
	
	if(display!="none"){
		
		//on met le texte
		if(texte!=""){
			switch(balise){
				case'img' : var t='<img '+texte+' />';break;
				default : var t=texte;break;
			}
			infobulle.innerHTML=t;
		}
		
		var dec_x=12;
		var dec_y=20;
		
		//on positionne le div sous la souris
		var x_souris=event.clientX;
		var y_souris=event.clientY;

		infobulle.style.display="block";
		
		//on regarde si l'infobulle est pas "mangé" par le bas du navigateur
		if(document.getElementById('menu')){
			var y_nav=document.getElementById('menu').offsetHeight;
		}
		else{
			var y_nav=document.body.offsetHeight;
		}
		
	//var y_nav=document.body.offsetHeight;
		var h_info=infobulle.offsetHeight;
		var bas_info=y_souris+h_info;

		
		//on regarde si l'infobulle est pas "mangé" par la gauche du navigateur
		var x_nav=document.body.offsetWidth;
		var w_info=infobulle.offsetWidth;
		var gauche_info=x_souris+w_info;
		//salert("x_nav : "+x_nav+" w_info : "+w_info+" gauche_info : "+gauche_info);
		
	
		//on positionne l'infobulle
		if(bas_info+dec_y > y_nav){
			infobulle.style.top=(y_souris-h_info)+"px";
		}
		else{
			infobulle.style.top=(y_souris+dec_y)+"px";
		}	
		//alert(gauche_info);
		if(gauche_info + dec_x > x_nav){
			
			infobulle.style.left=(x_souris-w_info-dec_x)+"px";
		}
		else{
			infobulle.style.left=(x_souris+dec_x)+"px";
		}	

	}
	else{
		infobulle.style.display="none";
	}
	
	
}


//Cette fonction permet de cacher un gadget
function cacher_gadget(gadget){

	//on cache le div associé
	document.getElementById(gadget).style.display='none';
	
	//on supprime le cookie associé avant de le recreer avec une valeur 0
	var date_validite=new Date;
	date_validite.setMonth(date_validite.getMonth()-1);
	ecrire_cookie(gadget, "", date_validite);
	
	//on met le cookie associé à la valeur 0
	date_validite=new Date;
	date_validite.setMonth(date_validite.getMonth()+1);
	ecrire_cookie(gadget, 0, date_validite);

}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////



function prechargeImageInfo(src_image){

	//on creer notre image
	image=new Image();
	
	//quand c fini de charger alors on remplace la jauge par la vrai image
	image.onload=function(){
		//alert('c fini !!!');
		$('img_inf').src=image.src;
	}
	
	//on la charge
	image.src = src_image;

}

