// JavaScript Document

/********************************************************
* Variable global
*********************************************************/
	var activeField = null;//Auto switch d'un obj formulaire a l'autre

/**********************************************************
* Fonction général
**********************************************************/


function visibilite(thingId)
{
  var targetElement;
  targetElement = document.getElementById(thingId) ;
  if (targetElement.style.display == "none" )
  {
  targetElement.style.display = "inline" ;
 
  } else {
  targetElement.style.display = "none" ;
  }
} 

	/* EFFET ROLLOVER FONCTION */
	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];}
	}

	//Fonction qui valide les noms propres
	function nompropre(mot) 
	{
		  var m=mot.charAt(0).toUpperCase() + mot.substring(1);
		  return m;
	 }
	   
	// Fonction pour donner le focus à un champ
	// variable nom: correspond au texte box
	function DonnerFocus(nom) 
	{
		document.forms[0].elements[nom].focus();
	}
	

	//Auto switch d'un obj formulaire a l'autre	
	function autoJump_onKeyDown(fieldName) 
	{
	
		var field = document.valid.elements[fieldName];
	
		activeField = field;
	
		field.lastValue = field.value;
	
	}

//Auto switch d'un obj formulaire a l'autre	
	function autoJump_onKeyUp(fieldName,nextFieldName,maxLength) {
	
		var field = document.valid.elements[fieldName];
	
		var nextField = document.valid.elements[nextFieldName];
	
		if (field.value.length >= maxLength){
	
			nextField.focus();
	
			activeField = null;
	
		}
	
	}	

	//Change l'apostrophe double en apostrophe simple dans une chaîne de caractères!
	function changerApostrophe( chaine ) 
	{
	
		var z = 0;
		var b = "''";
		var a = "'";
		
		while (z!=-1) {
		
			 z=chaine.indexOf(b,z);
			
			if (z>=0) {
				chaine=chaine.substring(0,z)+a+chaine.substring(z+2);
				z+=2;
			}
					 
		} 
	
		return chaine;
	}
	
	//Utiliser dans modifier Communiqué
	//zone active
	function afficherHTMLmodifierCommunique( zone1, zone2 ) 
	{
		
		var inputDateDebut = "Date de d&eacute;but : <input id=\"Date de d&eacute;but\" name=\"date_debut\" onClick=\"miseAjourCalendrier( 0, 0, 'date_debut', 'A', 'calendrier_Debut' );\" type=\"text\" id=\"date_debut\" style=\"font-size:10;font-text:arial;\" onfocus=\"this.blur()\" size=\"12\" readonly height=\"16\" ><a href=\"javascript:void(0)\" onclick=\"miseAjourCalendrier( 0, 0, 'date_debut', 'A', 'calendrier_Debut' );\" HIDEFOCUS><img name=\"popcal\" align=\"absmiddle\" src=\"/calendrier/img/calendrier.gif\" width=\"16\" height=\"16\" border=\"0\" alt=\"Cliquez pour s&eacute;lectionner une date\"></a>";	
		var inputDateFin = "Date de fin : <input id=\"Date de fin\" name=\"date_fin\" type=\"text\" id=\"date_fin\" onClick=\"miseAjourCalendrier( 0, 0, 'date_fin', 'A', 'calendrier_Fin' );\" style=\"font-size:10;font-text:arial;\" onfocus=\"this.blur()\" size=\"12\" readonly height=\"16\" ><a href=\"javascript:void(0)\" onclick=\"miseAjourCalendrier( 0, 0, 'date_fin', 'A', 'calendrier_Fin' );\" HIDEFOCUS><img name=\"popcal\" align=\"absmiddle\" src=\"/calendrier/img/calendrier.gif\" width=\"16\" height=\"16\" border=\"0\" alt=\"Cliquez pour s&eacute;lectionner une date\"></a>";
	
		
		document.getElementById( zone1 ).innerHTML=inputDateDebut; 
		document.getElementById( zone2 ).innerHTML=inputDateFin; 
		
	}

	function afficherHTMLpige( zone1 ) 
	{
		var dateJour = new Date();
		var annee = dateJour.getFullYear();
		var mois = dateJour.getMonth()+1;
		var jour = dateJour.getDate();
		
		var inputDateDeb = "Date d'enregistrement du <input id=\"Date d'enregistrement\" name=\"date_debut\" onClick=\"miseAjourCalendrier( 0, 0, 'date_debut', 'A', 'calendrier_Enr' );\" type=\"text\" id=\"Date de début d'enregistrement\" style=\"font-size:10;font-text:arial;\" onfocus=\"this.blur()\" size=\"12\" readonly height=\"16\" ><a href=\"javascript:void(0)\" onclick=\"miseAjourCalendrier( 0, 0, 'date_debut', 'A', 'calendrier_Enr' );\" HIDEFOCUS><img name=\"popcal\" align=\"absmiddle\" src=\"/calendrier/img/calendrier.gif\" width=\"16\" height=\"16\" border=\"0\" alt=\"Cliquez pour s&eacute;lectionner une date\"></a>";	
		var inputDateFin = " au <input id=\"Date d'enregistrement\" name=\"date_fin\" onClick=\"miseAjourCalendrier( 0, 0, 'date_fin', 'A', 'calendrier_Enr' );\" type=\"text\" id=\"Date de fin d'enregistrement\" style=\"font-size:10;font-text:arial;\" onfocus=\"this.blur()\" size=\"12\" readonly height=\"16\" ><a href=\"javascript:void(0)\" onclick=\"miseAjourCalendrier( 0, 0, 'date_fin', 'A', 'calendrier_Enr' );\" HIDEFOCUS><img name=\"popcal\" align=\"absmiddle\" src=\"/calendrier/img/calendrier.gif\" width=\"16\" height=\"16\" border=\"0\" alt=\"Cliquez pour s&eacute;lectionner une date\"></a>";
		
		document.getElementById( zone1 ).innerHTML=inputDateDeb + inputDateFin; 
		
	}

	function effacerHTMLmodifierCommunique (zone1) 
	{
	
		document.getElementById( zone1 ).innerHTML=""; 
		document.getElementById( zone2 ).innerHTML=""; 
		
	}

	function effacerHTMLpige (zone1) 
	{
	
		document.getElementById( zone1 ).innerHTML=""; 
	}
	//Fin des fonction utilisées dans modifier communiqués

	//Fonction utilisé dans les communiqués de presses
	function affiche_Comm(zone, zone2, nom1, nom2 ) 
		{
			var retour = false;
			
			for (var i=0; i < document.RECH_COMM.selection.length; i++)
			{
			   if (document.RECH_COMM.selection[i].checked)
			   {
					var valeur = document.RECH_COMM.selection[i].value;
			   }
			}
			 
			if ( valeur == "avec_date" )	
				retour = true;
			else {
					retour = false;
					document.getElementById(zone).innerHTML="";
					document.getElementById(zone2).innerHTML="";
					document.getElementsByName(nom1)[0].value = "";
					document.getElementsByName(nom2)[0].value = "";
				}
				
			return retour;
	
		}	

	/* Fonction servant à la page PageEndInclude afin d'afficher l'informations dans une nouvelle fenêtre redimensionné*/
	/* *******************************************
	   *   Fonction Créer par Jonathan Vallée    *
	   *	         14-06-2004                  *
	   ******************************************* */
	function Start(page, longueur, scrll ) 
	{
	
	var largeur;/* Variable qui détermine la largeur*/
	
	/* Condition pour déterminer la largeur de la fenêtre. */
	if ( scrll == 'no' ) {
		largeur = 480;
		}
	else
		largeur = 550;
	
	/*Variable qui stock l'information à envoyer à la fonction document.open */
	var affiche = "width=" + largeur + ",height=" + longueur + ",toolbar=no,menubar=no,location=no,scrollbars=" + scrll + ",resizable=yes";
	
	/*Affiche la nouvelle fenêtre en mode _blank*/
	OpenWin = document.open(page, "_blank", affiche );
	
	}	
	
	// Format un nombre en décimal 
	// e = element du formulaire! ex : doc.obj.input
	// nb_decimal = nombre de decimal 
	function format_decimal(e, nb_decimal)
	{
		var valeur = e.value;
		valeur = deformate(valeur);
	
		// recherche le point dans le nombre inscrit
		// si aucun = -1
		var pos = valeur.indexOf('.');		
		if (pos == -1)
		{
			if (nb_decimal > 0)
			{
				if ( valeur != '' )
					valeur += ".";					
				else
					valeur += "0.";
					
				for (var i = 0; i < nb_decimal; i++)
					valeur += "0";
			}
		}
		else if (nb_decimal > 0)
		{
			var taille = valeur.length ;
			var nb_chiffre_apres_pts = taille - ( pos + 1 );

			if (nb_chiffre_apres_pts < 2 )
			{
					valeur += "0";
			}
			else
			{
				valeur = valeur.substring(0,(taille-nb_chiffre_apres_pts)+nb_decimal);	
			}	
			
			valeur = virgule(valeur);
		}
		e.value = valeur;
	}

	// enlève les flafla .... $ , / etc
	// Conserve seulement les valeurs légals pour un nombre
	// Caractère légal --> 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -, ., E
	function deformate(s)
	{
		var val = "";
		for (var i = 0; i < s.length; i++)
		{
			var c = s.charAt(i);
			if (c == '0' || c == '1' || c == '2' || c == '3' || c == '4' || c == '5' || c == '6'
							|| c == '7' || c == '8' || c == '9' || c == '-' || c == '.' || c == 'E' )
				val += c;
		}
		return val;
	}

	//place des virgules comme séparateurs de millier
	//ex.:  70,023.45$
	function virgule(s)
	{
		var pos = s.indexOf('.');
		var suffixe = "";
		var prefixe = "";
		if (pos == -1)
		{
			prefixe = s;
		}
		else
		{
			prefixe = s.substring(0, pos);
			suffixe = s.substring(pos, s.length);
		}
		var valeur = "";
		var taille = prefixe.length;
		if (taille < 3)
			{
				valeur = prefixe;
			}
		else
		{
				var compteur = 0;
				for (var i = taille - 1; i > -1; i--)
				{
					if (compteur % 3 == 0 && compteur > 0)
						valeur = "," + valeur;
					valeur = prefixe.charAt(i) + valeur;
					compteur++;
				}
		}
		valeur += suffixe;
		return valeur;
	}

	// Format d'entrée = AAAAMMDD ou AAAA-MM-DD ou AAAA/MM/DD
	// Format de sortie = AAAA-MM-DD
	// e = élément de la form
	function format_date(e)
	{
		var s = e.value;
		if (s != null && s.length > 0)
		{
			var travail = "";
			for (var i = 0; i < s.length; i++)
			{
				var c = s.charAt(i);
				if (unNombre(c))
				{
					travail += c;
				}
			}
			if (travail.length == 8)
			{
				var texte = travail.substring(0, 4) + "-" + travail.substring(4, 6) 
					+ "-" + travail.substring(6, travail.length);
				e.value = texte;
			}
		}
	}

	// Format d'entrée = HHMMSS ou HH:MM:SS
	// Format de sortie = HH:MM:SS
	// e = élément de la form
	function format_heure(e)
	{
		var s = e.value;
		if (s != null && s.length > 0)
		{
			var travail = "";
			for (var i = 0; i < s.length; i++)
			{
				var c = s.charAt(i);
				if (unNombre(c))
				{
					travail += c;
				}
			}
			
			if (travail.length == 4)
			{
				var texte = travail.substring(0, 2) + ":" + travail.substring(2, 4) 
					+ ":" + "00";
				e.value = texte;
			}			
			
			if (travail.length == 6)
			{
				var texte = travail.substring(0, 2) + ":" + travail.substring(2, 4) 
					+ ":" + travail.substring(4, travail.length);
				e.value = texte;
			}
		}
	}

	//Sur le clique d'un objet checkbox, tous les autres chechkbox ayant le id "Chk" se décoche et dévienne innactif
	//@param Nom de la form, nom de l'objet formulaire
	//@exemple valid, 'monInput'
	function valider_Chk(f, nom)
	{
		var objFormu = f;
		var e = "";
		var tmp = "";
		var id = "";
	
		for ( var y = 0; y < objFormu.length; y++ ) 
		{
			e = objFormu.elements[y];
			
			if ( e.name == nom )
				id = y;
		}
		
		for ( var z = 0; z < f.length; z++ ) 
		{
			e = f.elements[z];
			if (e.type == "checkbox"  && e.id == "chk")
			{
				tmp = f.elements[id].checked;
				
				if ( tmp == true )
				{
					e.checked = false;
					e.disabled = true;
				}
				else
				{
					e.disabled = false;
				}
			}
		}
	}	