//GEMINI-1311 VC 12/12/2008: DEBUT deportation des fct js du fichier bandeau.asp
// Ajouter une page aux favoris
//cr-10/06/08
function AjouterFavoris(id, location)
{
	lien = document.getElementById(id);
	
	if (document.all)
	{
		if (location)
			window.external.AddFavorite(window.location.href, lien.getAttribute('title'));
		else 
			window.external.AddFavorite(lien.getAttribute('href'), lien.getAttribute('title'));
		
	}
	else
	{
		if (location)
			window.sidebar.addPanel(lien.getAttribute('title'), window.location.href, ""); 
		else
			window.sidebar.addPanel(lien.getAttribute('title'), lien.getAttribute('href'), ""); 
	}

	return false;
}

/*Envoyer à un ami
Gemini-597 CR 11/04/2007
GEMINI-1028 VC 04/11/2008: déplacer de javascript.js car on en a besoin sur toutes les pages
*/
function EnvoyerAmi(typeEnvoi,nomform,envoiami_id,parametres) 
{
var email1
	if ((parametres==false)&&(parametres!="0")){
		parametres="";
	};
	
	if (typeEnvoi=="1"){
		email1="";
		email2="";
		message="";
		//nom="";
		email="";
	}
	else {
		email1=escape(document.forms[""+nomform+""].elements["email_ami1"].value);
		email2=escape(document.forms[""+nomform+""].elements["email_ami2"].value);
		message=escape(document.forms[""+nomform+""].elements["message_ami"].value);
		//nom=escape(document.forms[""+nomform+""].elements["nom"].value);
		email=escape(document.forms[""+nomform+""].elements["votre_email"].value);
	}
	
	var xhr_object = null;
	if(window.XMLHttpRequest){ // Firefox
		xhr_object = new XMLHttpRequest();
	}	
	else if(window.ActiveXObject){ // Internet Explorer
		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else {// XMLHttpRequest non supporté par le navigateur
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
		return;
	}
	xhr_object.open("POST", "../../includes/envoyerAmi.asp", true);
	//alert(xhr_object.status);
	xhr_object.onreadystatechange = function() {
		if(xhr_object.readyState == 4){
			//alert(xhr_object.responseText);
			eval(xhr_object.responseText);
		}
	}
	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");  
	//var data = "typeEnvoi="+typeEnvoi+"&form="+document.forms[""+nomform+""].name+"&envoiami_id="+envoiami_id+"&parametres="+parametres+"&email1="+email1+"&email2="+email2+"&message="+message+"&nom="+nom+"&email="+email;
	var data = "typeEnvoi="+typeEnvoi+"&form="+document.forms[""+nomform+""].name+"&envoiami_id="+envoiami_id+"&parametres="+parametres+"&email_ami1="+email1+"&email_ami2="+email2+"&message_ami="+message+"&votre_email="+email;
	xhr_object.send(data);
			
}

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_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 MaZero()
{
	if (document.RechMotCle.mot_cle)
	{document.RechMotCle.mot_cle.value="";}
}

/* function trim()
 *	GEMINI-1311 VC 04/12/2008
 *
 * Resume:
 * 	fonction qui supprime les blanc de chaque 
 * 	coté d'une chaine de carateres
 *
 * Utilisation: ma_chaine.trim()
 */
function trim () {
	return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.trim = trim;
//GEMINI-1311 VC 12/12/2008: FIN deportation des fct js du fichier bandeau.asp


//GEMINI-1365 VC 13/11/2008: obligé sur l'annuaire
function MaZero()
{
	if (document.RechMotCle.mot_cle)
	{
		document.RechMotCle.mot_cle.value="";
	}
}


//Ouvre un popup au centre de l'écran
//	-luc- 12/05/2005
function openPopup(page,largeur,hauteur,options) {
	var top=(screen.height-hauteur)/2;
	var left=(screen.width-largeur)/2;
	window.open(page,"","top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options);
}


/* -------------------------------------------	
	Function IsNumeric (sText)
		-luc- 06/01/2006	
	Renvoie true si sText est un numéric, False
	sinon.
		
	@Revision :
		GEMINI-125 LL 06/01/2006
-----------------------------------------------*/
function IsNumeric(sText) {
   	var ValidChars = "0123456789.";
   	var IsNumber=true;
	var Char;
    
	for (i = 0; i < sText.length && IsNumber == true; i++) { 
    	Char = sText.charAt(i); 
      	if (ValidChars.indexOf(Char) == -1)
         	IsNumber = false;
	}
   	return IsNumber;   
}


function urlencode(ch) {
   ch = ch.replace(/[ ]/g,"+") 
   return escape(ch) 
}

//GEMINI-450 CR 18/10/2006
function AfficherTexte(letexte,element)
 {
 	var IE = (document.all) ? 1 : 0;
	var DOM = 0; 
	
	if (parseInt(navigator.appVersion) >=5) {DOM=1};
	// Detect Browser
	if (DOM) {
		var viewer = document.getElementById(element);
		viewer.innerHTML=letexte;
	}
	else if(IE) {
		document.all[element].innerHTML=letexte;
	}
}

//Fonction javascript qui permet de typer un champs du formulaire
// typechamps : numerique ou limiter
//champs le champs concerné
//parametres : liste des parametre necessaire séparer par des virgules quand il y en a plusieurs
//		pour date : lenom du div,la date min la date max	
//		pour numerique : l'id du div ou va etre mis le texte
//		pour limiter : nombre de caracteres limiter, l'id du div ou va etre mis le texte
//
function TyperChamps(typechamps,champs,parametres)
{
	switch (typechamps) {
		case "date":
			 // Cette fonction vérifie le format JJ/MM/AAAA saisi et la validité de la date.
		      // Le séparateur est défini dans la variable separateur
			  var tabparam=parametres.split(",");
			  var textediv=tabparam[0];
			  var ladate=new Date();
			  var tabchamps=champs.value.split("/");
			  ladate.setTime(Date.parse(tabchamps[2]+"/"+tabchamps[1]+"/"+tabchamps[0]))
			  var datemin=tabparam[1];
			  var dmin=new Date();
			 
			  var datemax=tabparam[2];
			  var dmax=new Date();

		      var amin ;
			  if ((datemin!="")&&(datemin!=null)) {
			  	var tabamin	=	datemin.split("/");
			  	amin=tabamin[2];
				dmin.setTime(Date.parse(tabamin[2]+"/"+tabamin[1]+"/"+tabamin[0]));
			  }
			  else {
			  	amin=1000;
				dmin.setTime(Date.parse("1000/01/01"));
			  }
			  
		      var amax ;
			  if ((datemax!="")&&(datemax!=null)) {
			  	var tabamax	=	datemax.split("/");
			  	amax=tabamax[2];
				dmax.setTime(Date.parse(tabamax[2]+"/"+tabamax[1]+"/"+tabamax[0]));
			  }
			   else {
			  	amax=3000;
				dmax.setTime(Date.parse("3000/12/31"));
			  }
		      var separateur="/"; // separateur entre jour/mois/annee
		      var j=(champs.value.substring(0,2));
		      var m=(champs.value.substring(3,5));
		      var a=(champs.value.substring(6));
		      var letexte="";
		      if ( ( (isNaN(j)) || (j<1) || (j>31) ) && (champs.value!="")) {
			  	letexte= "<span class='coul2'>Le jour n'est pas correct.</span>";
		      }
		      if ( ((isNaN(m))||(m<1)||(m>12))  && (champs.value!="")) {
			  	letexte= letexte + "<span class='coul2'> Le mois n'est pas correct.</span>";
		      }
		      if ( ((isNaN(a))||(a<amin)||(a>amax))  && (champs.value!="")) {
			  	letexte= letexte + "<span class='coul2'> L'année n'est pas correcte.</span>";
		      }
			  if ( ((ladate<dmin))  && (champs.value!="")) {
			  	letexte= letexte + "<span class='coul2'> La date doit être supérieur à " + datemin + ".</span>";
		      }
			  if ( ((ladate>dmax))  && (champs.value!="")) {
			  	letexte= letexte + "<span class='coul2'> La date doit être inférieur à " + datemax + ".</span>";
		      }
		      if ( ((champs.value.substring(2,3)!=separateur)||(champs.value.substring(5,6)!=separateur)) && (champs!="")) {
		         letexte= letexte + "<span class='coul2'> Les séparateurs doivent être des "+separateur+"</span>";
		      }
		      if (letexte=="" && (champs.value!="")) {
		         var d2=new Date(a,m-1,j);
		         j2=d2.getDate();
		         m2=d2.getMonth()+1;
		         a2=d2.getFullYear();
		         if (a2<=100 ) {a2=1900+a2}
		         if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
		            letexte= letexte + "<span class='coul2'>La date "+champs.value+" n'existe pas !</span>";
		         }
		      } 
			  if (textediv!="") {
			  	AfficherTexte(letexte,textediv);
				}
			  if (letexte=="" ){
			  		return true;
			  }
			  else {
			  		return false;
			  }
		     
      		break;
   		case "numerique": //param1 : le div, param2 : nombre max, param3 : nombre min
			 var tabparam=parametres.split(",");
			 var param1 = tabparam[0];
			 var param2 = "";
			 var param3 = "";
			 
			 if (tabparam.length>1) {
			 	param2= tabparam[1];
			 }
			  if (tabparam.length>2) {
			 	param3= tabparam[2];
			 }
			if (isNaN(champs.value) == true)
			{
				letexte= "<span class='coul2'>Entrez uniquement des chiffres</span>";
				AfficherTexte(letexte,param1);
				champs.value = champs.value.substr(0,champs.value.length-1);
				return false;
			}
			else if ((param2!="")&&(parseInt(champs.value)>parseInt(param2))) {
				letexte= "<span class='coul2'>Ne pas être supérieur à " + param2 + "</span>";
				AfficherTexte(letexte,param1);
				champs.value = champs.value.substr(0,champs.value.length-1);
				return false;
			}
			else if ((param3!="")&&(parseInt(champs.value)<parseInt(param3))) {
				letexte= "<span class='coul2'>Ne pas être inférieur à " + param3 + "</span>";
				AfficherTexte(letexte,param1);
				//champs.value = champs.value.substr(0,champs.value.length-1);
				return false;
			}
			else
			{
				letexte= "";
				AfficherTexte(letexte,param1);
				return true;
			}
      		break;
			
		/* GEMINI-1517 CG 03/12/2008 */
		case "heure":
			var tabparam=parametres.split(",");
			var param1 = tabparam[0];
			var param2 = "";
			var param3 = "";
	
			document.getElementById(param1).style.display='none';

			if (isNaN(champs.value) == true)
			{
				letexte= "<span>Entrez uniquement des heures</span>";
				AfficherTexte(letexte,param1);
				champs.value = '0';
				document.getElementById(param1).style.display='block';
			}

			if (champs.value > 2 && champs.value.length < 2) 
			{
				champs.value = '0' + champs.value;

			}
			if (champs.value > 23) 
			{
				letexte= "<span>Une journée ne compte que 24h (00 à 23)</span>";
				AfficherTexte(letexte,param1);
				champs.value = champs.value.substr(0,champs.value.length-2);
				document.getElementById(param1).style.display='block';
			}


			break;

		case "minute":
			var tabparam=parametres.split(",");
			var param1 = tabparam[0];
			var param2 = "";
			var param3 = "";

			document.getElementById(param1).style.display='none';

			if (isNaN(champs.value) == true)
			{
				letexte= "<span>Entrez uniquement des minutes</span>";
				AfficherTexte(letexte,param1);
				champs.value = '0';
				document.getElementById(param1).style.display='block';
			}

			if (champs.value.length < 2 ) 
			{
				champs.value = '0' + champs.value;
				champs.value = champs.value.substring(1,2);
			}

			if (champs.value> 59 ) 
			{
				letexte= "<span>Une heure ne compte que 60min (00 à 59)</span>";
				AfficherTexte(letexte,param1);
				champs.value = champs.value.substr(0,champs.value.length-2);
				document.getElementById(param1).style.display='block';
			}
			break;

   		case "limiter":
			var str = new String(champs.value);
			var len = str.length;
			var maxKeys,div;
			var tabparam = parametres.split(",")
			if (tabparam.length > 1)
			{
				maxKeys = tabparam[0]
			}
			else
			{
				maxKeys = 50
			}
			if (tabparam.length >= 2)
			{
				element = tabparam[1]
			}
			
			var letexte = '<span class=coul2>Il reste <span class=coul3>' + (maxKeys-len) + '</span> caractères.</span> ';
			if (len > maxKeys) letexte = '<span class=coul2>Désolé ! Vous avez saisi <span class=coul3>' + (len - maxKeys) +'</span> caractères en trop. Votres descriptif sera coupé à ' + maxKeys + ' caractères.</span>';
			AfficherTexte(letexte,element);
      	
      		break;
			
		//GEMINI-2062 CR-10/06/09
		//ajout le cas de budget
		 case "budget": //param1 : le div, param2 : nombre max, param3 : nombre min
		 	//on verifie d'abord qu'il est bien numerique
		 	if (TyperChamps('numerique',champs,parametres)) {
				var tabparam = parametres.split(",");
				var param1 = tabparam[0];
				var param4 = "";
				if (tabparam.length>3) {
			 		param4= tabparam[3];
				 }
				if ((param4!="")&&(parseInt(champs.value)<parseInt(param4))) {
					letexte= "<span class='coul2'>Votre budget est trop bas par rapport aux prix du marché. Vous risquez de ne recevoir aucune proposition. Veuillez indiquer un budget plus élevé.</span>";
					AfficherTexte(letexte,param1);
				}
				else
				{
					letexte= "";
					AfficherTexte(letexte,param1);
				}
			}
			break;

   		default:
      // lignes à exécuter dans les autres cas
}

}
//GEMINI-450 CR 18/10/2006

//Fonction de validation du nombre de choix autorisés sur une checkbox (s'applique principalement aux LPs)
//-luc- 01/05/2006
function js_checkSelectionMax (nomCheckbox, index, maxVal) {
	var count = 0;
	for(var i=0; i < document.formulaire[nomCheckbox].length; i++)  {
		if (document.formulaire[nomCheckbox][i].checked == true) 
			count++;
	}
	if (count > maxVal) {
		if (maxVal==1) 
			alert ("Désolé, il n'y a qu'un seul choix possible.");				
		else 
			alert ("Désolé, il n'y a que " + maxVal + " choix possibles.");
		
	
		document.formulaire[nomCheckbox][index].checked=false ;				
	}						
}


//affiche/masque le div layerId quand l'index index du groupement de case à cocher nomCheckBox
//est cliqué
function js_displayLayerFromCheckBox (nomCheckbox, index, layerId)  {
	var elem = document.getElementById(layerId);
	if (document.formulaire[nomCheckbox][index].checked == true) {
			elem.style.display = 'block';
			elem.style.visibility = 'visible';
	}
	else {				
		elem.style.display = 'none';
		elem.style.visibility = 'hidden';
	}
}

//renvoi le nom jour de la semaine d'une date
function dayname(d) {
   var t = "dimanche,lundi,mardi,mercredi,jeudi,vendredi,samedi"
   var j = t.split(",")
   return j[d.getDay()]
}

//renvoi le nom du mois d'une date donnée
function monthname(d) {
   var t = "janvier,février,mars,avril,mai,juin,juillet,août,septembre,octobre,novembre,décembre"
   var m = t.split(",")
   return m[d.getMonth()]
}

//Renvoi sans les accents
function accents(lavar)
{
	lavar = lavar.replace(/e/g,"_");
	lavar = lavar.replace(/é/g,"_");
	lavar = lavar.replace(/è/g,"_");
	lavar = lavar.replace(/ê/g,"_");
	lavar = lavar.replace(/ë/g,"_");
	//alert(lavar);
	return lavar;
}

//CR 20/04/07
//On suppose que la date entrée a été validée auparavant
//au format dd/mm/yyyy
function getDate(strDate){
var sep1,sep2,day,month,year,d
	sep1 = strDate.indexOf("/");
	sep2 = strDate.indexOf("/",sep1+1);
	day = strDate.substring(0,sep1);
	month = strDate.substring(sep1+1,sep2);
	month = (month*1);
	year = strDate.substring(sep2+1,strDate.length);
	if (year.length==2) {
		year="20"+year;	
	}
	d = new Date();
	//GEMINI-2089 SB 17/06/2009 on inverse l'ordre dans lequel on set la date.
	//car si on est en juin (30j dans le mois) et qu'on veux mettre le 31/07/2009 ça ne marche pas.
	/*
	d.setDate(day);
	d.setMonth(month-1);
	d.setFullYear(year); 
	*/
	d.setFullYear(year); 
	//GEMINI-2089 SB 31/05/2010 on ajoute le param day à la fonction setMonth
	d.setMonth(month-1, day);
	d.setDate(day);

	return d;
}

//Retorune:
//   0 si date_1=date_2
//   1 si date_1>date_2
//  -1 si date_1<date_2	  
//CR 20/04/07
function compare2Dates(date_1, date_2){
diff = date_1.getTime()-date_2.getTime();
return (diff==0?diff:diff/Math.abs(diff));
}

function JS_trim(str) {
   return str.replace(/(^\s*)|(\s*$)/g,"")
}

//CR 28/03/08 met la 1er lettre en majuscule et le reste en minuscule
function ucfirst(str) {
   return str.substr(0,1).toUpperCase()+str.substr(1).toLowerCase()
}

//GEMINI-1694 BC 27/02/2009 fonction comptant le nombre d'occurences de searched dans chaine
function substr_count(chaine, searched) {
 
    var compte = 0;
	var newIndex = 0;

    while(newIndex != -1){
		//si on ne trouve pas la chaine recherchée, on va sortir de la boucle
        if(chaine.indexOf(searched,newIndex) == -1) {
            newIndex = -1;
        }
		//sinon on change l'index de départ de la recherche, on ajoute 1 au compte et on continue 
		else{
            compte++;
			newIndex = chaine.indexOf(searched,newIndex) + 1;
        }
    }
 
    return compte;
}

//CR 6/05/08 formate un nombre en prix comme la fonction asp CHAR_NumEnPrix (num)
function JS_NumEnPrix (num) {
var signe,cents,i
  num = num.toString().replace(/\$|\,/g,'');
  if(isNaN(num))
     num = "0";
  signe = (num == (num = Math.abs(num)));
  num = Math.floor(num*100+0.50000000001);
  cents = num%100;
  num = Math.floor(num/100).toString();
  if(cents<10)
      cents = "0" + cents;
  for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
      num = num.substring(0,num.length-(4*i+3)) + '.' + num.substring(num.length-(4*i+3));
  //return (((sign)?'':'-') +  num + ',' + cents);
  return (((signe)?'':'-') +  num);
}

//GEMINI-1782 SB 03/2009
function vireRecherche(obj, etat)
{
	if (etat == "arrive")
	{
		if (obj.value == "Rechercher")
		{
			obj.value = "";
			obj.style.fontStyle = "normal";
		}
	}
	else
	{
		//si rien de saisie on remet Rechercher
		if (obj.value == "")
		{
			obj.value = "Rechercher";
			obj.style.fontStyle = "italic";
		}
	}
}
//GEMINI-2539 ET 12/02/2010
//Modif de lieu_id en zone_id
//Ajout du zone_id en paramètre
//GEMINI-1782 SB 03/2009
function rechercheRapide(even, obj, type, commu_id, zone_id)
{
	
	if (even.keyCode != 27) // si touche echap on masque la liste
	{
		if (type == 'Rub')
			document.forms['recherche'].rub_numero.value = '';
		//else
			//document.forms['recherche'].zone_id.value = '';
		
		champRecherche = encodeURIComponent(obj.value);
		if (champRecherche != "")
		{
			monHtml = requete("/sources/annu/annu_recherche.asp?recherche="+champRecherche+"&type="+type+"&commu_id="+commu_id+"&zone_id="+zone_id, "charge_Liste", ",'"+type+"'");

		}
		else
		{
			document.getElementById('affResult' + type).innerHTML = '';
			document.getElementById('affResult' + type).style.display = 'none';
		}
	}
	else
	{
		document.getElementById('affResult' + type).innerHTML = '';
		document.getElementById('affResult' + type).style.display = 'none';
	}
}

//GEMINI-1782 SB 03/2009
function charge_Liste(obj, type)
{
	if (obj.responseText != '')
	{
		document.getElementById('affResult'+type).innerHTML = obj.responseText;
		document.getElementById('affResult'+type).style.display = '';
	}
	else
	{
		document.getElementById('affResult'+type).innerHTML = '';
		document.getElementById('affResult'+type).style.display = 'none';
	}
}

//GEMINI-1782 VC 05/05/2009: fonction qui rempli 
// GEMINI-2539 ET 12/02/2010 : Modif de lieu_id en zone_id
// les champs caché de la recherche (rub_numero et zone_id)
function rempliChamp (obj, id, type, lien)
{
	if (type == 'Rub')
	{
		//pour éviter l'apparition de la balise <i> dans le champ INPUT, on la remplace par rien
		var texte = obj.innerHTML;
		texte = texte.replace("<i>", "")
		texte = texte.replace("</i>", "")
		texte = texte.replace("<I>", "")
		texte = texte.replace("</I>", "")
		texte = texte.replace(")", "")
		texte = texte.replace("(", "")
		document.forms['recherche'].mot_cle.value = texte;
		document.forms['recherche'].rub_numero.value = id + ':' + lien;
	}
	else
	{
		document.forms['recherche'].lieu.value = obj.innerHTML;
		document.forms['recherche'].zone_id.value = id;
	}
	
	document.getElementById('affResult' + type).style.display = 'none';
}

function validationForm() {
	Ext.MessageBox.show({title: '<center><font color="#666666">Lememo.com effectue votre recherche.</font></center>',msg: '<center><br><img src="/images/charte2/spinner.gif"/><br /><br />Recherche en cours...</center>',width:300,closable:false/*buttons: Ext.MessageBox.OKCANCEL,*//*multiline: true,*//*animEl: 'mb4'*/});
}

//GEMINI-1782 VC 05/05/2009: fonction qui valide le formulaire de recherche
function valideRecherche()
{
	var reg1 = new RegExp(/[\*|%|!|\[|\]|\{|\}|_|#|=|~|\||\^|°|§|¤|\+|µ|¨\(\),&"]/);
	var reg2 = new RegExp(/[\*|%|!|\[|\]|\{|\}|_|#|=|~|\||\^|°|§|¤|\+|µ|¨\(\),&"]/);
	var accents		= 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿ';
	var noAccents	= 'AAAAAAACEEEEIIIIDNOOOOOOUUUUYbsaaaaaaaceeeeiiiidnoooooouuuyyby';

	if (document.forms['recherche'])
	{
		var lien;
		var erreur = true;
		var redirect = false;
		var sources = '';
		var url = '';
		var url_site='';

		//GEMINI-2850 ET 8/7/2010
		//if(document.forms['recherche'].typeC_id.value == 1){
url_site = document.location.href.replace(/\.com.*/, '.com');
		//	document.forms['recherche'].action = '/' + url_site.replace('http://', '').replace(/\.lememo.*/, '');
		//}
			


		//GEMINI-2634 VC 02/03/2010: suppression du /sources
		
		var sources = document.forms['recherche'].action;//.replace(/http:\/\/[\w|-]+\.lememo2?\.com\//, '').replace(/\/.*/, '');
		
		url = sources + '/';
		
				
		if (document.forms['recherche'].rub_numero.value.trim() != '')
		{
			id = document.forms['recherche'].rub_numero.value.split(':')[0];
			lien = document.forms['recherche'].rub_numero.value.split(':')[1];
			
			url += 'P' + id;
			
			erreur = false;
			redirect = true;
		}
		else if (document.forms['recherche'].mot_cle.value.trim() != '' && !reg1.test(document.forms['recherche'].mot_cle.value))
		{
			erreur = false;
		}
		
		if (reg2.test(document.forms['recherche'].lieu.value))
			erreur = true;
		else if (document.forms['recherche'].zone_id.value.trim() != '')
		{
			if (document.forms['recherche'].zone_id.value.length == 7)
				url += 'NR' + document.forms['recherche'].zone_id.value + 'D';
			else
				url += 'NRD' + document.forms['recherche'].zone_id.value;
		}
		
		if (erreur)
		{
			document.getElementById('erreurRech').style.visibility = 'visible';
			document.forms['recherche'].mot_cle.className = 'champInvalide';
			if (document.forms['recherche'].lieu.value.trim() != '')
				document.forms['recherche'].lieu.className = 'champInvalide';
			else
				document.forms['recherche'].lieu.className = '';
			
			return false;
		}
		else
		{
			document.getElementById('erreurRech').style.visibility = 'hidden';
			//GEMINI-2577 VC 02/02/2010: si ce n'est pas l'exemple on supprime la class
			if (document.forms['recherche'].mot_cle.value.indexOf('Ex') == -1)
				document.forms['recherche'].mot_cle.className = '';
				
			document.forms['recherche'].lieu.className = '';
			
			if (redirect)
			{
				//GEMINI-2577 VC 03/02/2010: ajout du lieu dans la redirection
				if (document.forms['recherche'].lieu.value.trim() != '' && document.forms['recherche'].zone_id.value.trim() == '')
				{
					//GEMINI-2713 VC 01/06/2010: on remplace les accents avant de passer dans l'url.
					if (document.forms['recherche'].rub_numero.value.trim() != '')
						url = sources + '/annu/annu_generique2.asp?rub=' + document.forms['recherche'].rub_numero.value.split(':')[0] + '&lieu=' +document.forms['recherche'].lieu.value.trim().strtr(accents, noAccents);
					else
						url = sources + '/annu/annu_generique2.asp?mot_cle=' + document.forms['recherche'].mot_cle.value.trim() + '&lieu=' +document.forms['recherche'].lieu.value.trim().strtr(accents, noAccents);
				}
				else
					url += '/' + lien;
				
				if (url.indexOf('http') == -1)
					url = url_site + url;
				
				window.location.href = url;
				
				return false;
			}
			else
			{
				//GEMINI-2713 VC 01/06/2010: on remplace les accents avant de passer dans l'url.
				document.forms['recherche'].mot_cle.value = document.forms['recherche'].mot_cle.value.trim().strtr(accents, noAccents);
				document.forms['recherche'].action = sources + '/annu/annu_generique2.asp';
				//document.getElementById('cgs').innerHTML += sources;
				document.forms['recherche'].submit();
				return true;
			}
		}
	}
	else
	{
		var champ = document.forms['RechMotCle'].mot_cle.value;
		
		if (champ.trim() == '' || reg1.test(champ))
		{
			document.forms['RechMotCle'].mot_cle.className = "champInvalide";
			document.getElementById('erreurRech').style.visibility = 'visible';
			return false;
		}
		else
		{
			document.forms['RechMotCle'].submit();
			return true;
		}
	}
}
			
//GEMINI-2726 MG 25/05/2010 : rajout d'une condition pour le champ de recherche annuaire présent sur annu_generique2.asp
function verifRecherche()
{
	var reg = new RegExp(/[\*|%|!|\[|\]|\{|\}|_|#|=|~|\||\^|°|§|¤|\+|µ|¨\(\),&"]/);
	if(document.forms['rechAnnu'])
	{
		var texte = document.forms['rechAnnu'].mot_cle.value;
		if(texte.trim() == '' || reg.test(texte))
		{
			document.forms['rechAnnu'].mot_cle.className = "champIncorrect";
			document.getElementById('mauvaiseRech').style.display = 'block';
			return false;
		}
		else
		{
			//document.forms['rechAnnu'].submit();
			validationForm();
			return true;
		}
	}
	/**/
}

//Fonction javascript qui permet de recuperer des parametre d'url
// url : url ou l'on veu récuperer les parametres (window.location)
// nom : nom du parametre que l'on veut recuperer
// GEMINI-1782 VC 11/06/2009
function queryString(url, nom){
	qs = url.search.substring(1);
	params = qs.split('&');
	
	for(i= 0; i < params.length; ++i){
		le_param = params[i].split('=');
		if (le_param[0] == nom)
			return le_param[1];
	}
}
//GEMINI-2539 ET 05/05/2010
function criteresSupp(action)
{
	if (action=='ouvrir') {
		Effect.SlideDown('criteresSupp',{duration:0.1});
		document.getElementById('openCriteresSupp').style.display='none';
		document.getElementById('closeCriteresSupp').style.display='block';
		document.getElementById('validAnnu1').style.display='none';
		 setTimeout("heightRef()",1000);
	}
	else{
		Effect.SlideUp('criteresSupp',{duration:0.1});
		document.getElementById('openCriteresSupp').style.display='block';
		document.getElementById('closeCriteresSupp').style.display='none';
		document.getElementById('validAnnu1').style.display='block';
		setTimeout("heightRef()",1000);
	}
}

//GEMINI-2539 ET 05/05/2010
function sousRubriques(action, nb)
{
	if (action=='ouvrir') {
		Effect.SlideDown('sousRubriques_' + nb,{duration:1.0});
		document.getElementById('openSousRub_' + nb).style.visibility='hidden';
		document.getElementById('closeSousRub_' + nb).style.visibility='visible';
	}
	else{
		Effect.SlideUp('sousRubriques_' + nb,{duration:1.0});
		document.getElementById('openSousRub_' + nb).style.visibility='visible';
		document.getElementById('closeSousRub_' + nb).style.visibility='hidden';
	}
}

//GEMINI-2539 ET 05/05/2010
function chgZone(val,lib,type) {
	if(val != '' && val !=0) {
		//document.rechAnnu.submit();
		if(type == 'dep_id') {
			//var pos1 = lib.indexOf(" - ") + 3;
			document.rechAnnu.reg_id.selectedIndex = 0;
			document.rechAnnu.vill_numero.selectedIndex = 0;
		}
		if(type == 'reg_id') {
			//var pos1 = 0;
			document.rechAnnu.dep_id.selectedIndex = 0;
			document.rechAnnu.vill_numero.selectedIndex = 0;
		}
		if(type == 'vill_numero') {
			//var pos1 = 0;
			document.rechAnnu.dep_id.selectedIndex = 0;
			document.rechAnnu.reg_id.selectedIndex = 0;
		}
		validationForm();
		document.forms['rechAnnu'].submit();
	}
}

//GEMINI-2539 ET 05/05/2010
function heightRef()
{
	if ( 1 == 0 )
	{
		var myH = document.getElementById('annu_bandeauDroite').parentNode.offsetHeight;
		/*
		alert(myH);
		if (myH < 1000) {
			myH = 1000;
		}
		*/
		document.getElementById('annu_bandeauDroite').style.height = myH;
	}
}

//GEMINI-2539 ET 05/05/2010
//function valider() {
//	if((event.which && event.which == 13) || (event.keyCode && event.keyCode == 13)) {
//		rechAnnu.submit();
//	} 
//}