function launchOnEnter(expression) {
  if(event.keyCode==3 || event.keyCode==13) {
    eval(expression);
  }
}

function emptySearch(inputObj,txt){
  if(inputObj.value==txt){
    inputObj.value="";
  } 
}
function fillSearch(inputObj,txt){
  if(inputObj.value==""){
    inputObj.value=txt;
  } 
}

function displayThis(obj,value){
  obj.style.display=value;
}
function switchClass(obj,zeClass){
  obj.className=zeClass;
}

function rolloverMenu(zeobj,classToReplace,classToGive){  
  for(var i=0;i<zeobj.childNodes.length;i++){
    if(zeobj.childNodes[i].tagName=="DIV"){
      zeobj.childNodes[i].className=zeobj.childNodes[i].className.replace(classToReplace,classToGive);
    }      
  }   
}

function setMailAction(arbo) {
  document.forms['submitor'].mailaction.value = arbo;
}

function setDestinataireMail(idDestinataire, languageProprio) {
  document.forms['submitor'].membreid.value = idDestinataire;
}



function setEnr(enregistrementid,firstenr,nbenr) {
  document.getElementById('submitor').enregistrementid.value = enregistrementid;
  document.getElementById('submitor').nbenr.value = nbenr;
  document.getElementById('submitor').firstenr.value = firstenr;
} 


function go(typerubrique,rubriqueid,elementid,offset,nbrec,firstrec) {
  if(document.getElementById('password') && document.getElementById('login')){
    if(document.getElementById('password').value == 'Password' && document.getElementById('login').value == 'E-mail'){
      document.getElementById('password').value = "";
    }
  }
  document.getElementById('submitor').target='';
  document.getElementById('submitor').typerubrique.value = typerubrique;
  document.getElementById('submitor').rubriqueid.value = rubriqueid;
  document.getElementById('submitor').elementid.value = elementid;
  document.getElementById('submitor').offset.value = offset;
  document.getElementById('submitor').nbrec.value = nbrec;
  document.getElementById('submitor').firstrec.value = firstrec;
  document.getElementById('submitor').submit();
} 

function goMethod(typerubrique,rubriqueid,elementid,offset,nbrec,firstrec,method) {
  if(method) {
    document.getElementById('submitor').method = method;
  }
  document.getElementById('submitor').target='';
  document.getElementById('submitor').typerubrique.value = typerubrique;
  document.getElementById('submitor').rubriqueid.value = rubriqueid;
  document.getElementById('submitor').elementid.value = elementid;
  document.getElementById('submitor').offset.value = offset;
  document.getElementById('submitor').nbrec.value = nbrec;
  document.getElementById('submitor').firstrec.value = firstrec;
  document.getElementById('submitor').submit();
}

function goPdf(typerubrique, rubriqueid, elementid, offset, nbrec, firstrec, height, width, ajout) {
  window.open('','popupDetails'+ajout,'scrollbars,resizable,status=yes,toolbar=no,directories=no,width='+width+',height='+height);
  document.getElementById('submitor').target = 'popupDetails'+ajout;
  document.forms['submitor'].typerubrique.value = typerubrique;
  document.forms['submitor'].rubriqueid.value = rubriqueid;
  document.forms['submitor'].elementid.value = elementid;
  document.forms['submitor'].offset.value = offset;
  document.forms['submitor'].nbrec.value = nbrec;
  document.forms['submitor'].firstrec.value = firstrec;
  /* document.forms['submitor'].target="pdf"+Math.floor(Math.random()*10000); */
  document.forms['submitor'].action=root+"DirectPdf.aspx";
  document.forms['submitor'].submit();
  document.forms['submitor'].action="xslt.aspx"; 
  document.forms['submitor'].target='';
}


function goPop(typerubrique, rubriqueid, elementid, offset, nbrec, firstrec, height, width, ajout) {
 window.open('','popupDetails'+ajout,'scrollbars,resizable,status=yes,toolbar=no,directories=no,width='+width+',height='+height);
 document.getElementById('submitor').target = 'popupDetails'+ajout;
 document.getElementById('submitor').typerubrique.value = typerubrique;
 document.getElementById('submitor').rubriqueid.value = rubriqueid;
 document.getElementById('submitor').elementid.value = elementid;
 document.getElementById('submitor').offset.value = offset;
 document.getElementById('submitor').nbrec.value = nbrec;
 document.getElementById('submitor').firstrec.value = firstrec;
 document.getElementById('submitor').submit();
 document.getElementById('submitor').target = '';
}



function getRadioValue(radio,msg) {
  for (var i=0; i<radio.length;i++) {
    if (radio[i].checked) {
      return radio[i].value;
    }
  }
  return false;
}

function notgood(field,msg) {
  field.focus();
  alert(msg);
  return false;
}

function isFull(field,msg){
  if (field.value=='') {return notgood(field,msg);}
  return true;
}

function isDigit(field,msg) {
  i = field.value.charCodeAt(0);
  if (!((47<i)&&(i<58))){return notgood(field,msg);}
  return true;
}

function isAllDigits(champ,msg){
   var chiffres = new RegExp("^[0-9]*$");
   var verif;
   verif = chiffres.test(champ.value);
   if((verif == false)||(champ.value=='')){
    return notgood(champ,msg);
   }
   return true;
}

function isSelect(field,msg){
  if (field.selectedIndex==0 && field.options[0].value=="") {return notgood(field,msg);}
  return true;
}

function isMail(field,msg) {
  email=field.value;
  arobase=email.indexOf('@');
  point=email.indexOf('.',arobase);
  longueur=email.length;
  if(arobase<=0||point<=arobase+1||longueur<=point+1) {return notgood(field,msg);}
  return true;
}

function getDateValue(dateStr){
  
  //Modified by DO 12/31/2003
  var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
  var matchArray = dateStr.match(datePat); // is the format ok?
  var datestatus=true;
  datemsg="";
  
  if (matchArray == null || matchArray[1]==null)
  {
    datemsg="----- Please enter date as mm/dd/yyyy " + "\n";
    return false;
  }
  else
  {
    if(matchArray[3]==null || matchArray[5]==null)
    {
      datemsg="----- Please enter date as mm/dd/yyyy " + "\n";
      return false;
    }
  }
  
  month = parseInt(matchArray[3],10);
  day = parseInt(matchArray[1],10);  
  year = parseInt(matchArray[5],10);
  
  if (month < 1 || month > 12)
  { 
    datemsg=datemsg + "----- Month must be between 1 and 12." + "\n";
    datestatus=false;
  }
  
  if (day < 1 || day > 31)
  {
    datemsg=datemsg + "----- Day must be between 1 and 31." + "\n";
    datestatus=false;
  }
  
  if ((month==4 || month==6 || month==9 || month==11) && day==31)
  {
    datemsg=datemsg + "----- Month " + month + " doesn`t have 31 days!" + "\n";
    datestatus=false;
  }
  
  if (month == 2)
  { 
    var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
    if (day > 29 || (day==29 && !isleap))
    {
      datemsg=datemsg + "----- February " + year + " doesn`t have " + day + " days!" + "\n";
      datestatus=false;
    }
  }  
  if(datestatus){
    var zeDate = new Date(year,month-1,day);    
    return zeDate;
  }
  else{
    return null;
  }

}

function isInf(val1, val2 ) {
  return val1<val2;
}

function isInfEgal(val1, val2 ) {
  return val1<=val2;
}

function isSup(val1, val2 ) {
  return val1>val2;
}

function isSupEgal(val1, val2 ) {
  return val1>=val2;
}

function findPosX(obj)
{
  var curleft = 0;
  if(obj.offsetParent)
      while(1) 
      {
        curleft += obj.offsetLeft;
        if(!obj.offsetParent)
          break;
        obj = obj.offsetParent;
      }
  else if(obj.x)
      curleft += obj.x;
  return curleft;
}

function findPosY(obj)
{
  var curtop = 0;
  if(obj.offsetParent)
      while(1)
      {
        curtop += obj.offsetTop;
        if(!obj.offsetParent)
          break;
        obj = obj.offsetParent;
      }
  else if(obj.y)
      curtop += obj.y;
  return curtop;
}

function goMail(elementid,zeracine) {
  mailfen = window.open('','mail','scrollbars,toolbar=no,directories=no,width=350,height=200');
  racine=zeracine;
  
  imgLoad =new Image; imgLoad.src= racine + 'img/wait.gif';
  imgLoad.height=73;
  imgLoad.width=75;
  
  mailfen.moveTo((screen.width/2)-(350/2),(screen.height/2)-(200/2));
  
  wait = setTimeout("if(imgLoad.complete){writeMessageBeforeMailAndSend("+elementid+");}",315);    
} 

function writeMessageBeforeMailAndSend(elementid){
  mailfen.document.writeln('<html>');
  mailfen.document.writeln('<head>');
  mailfen.document.writeln('  <title>Envoi de message</title>');
  mailfen.document.writeln('</head>');
  mailfen.document.writeln('<body>    ');
  mailfen.document.writeln('  <table cellpadding="0" border="0" cellspacing="0" width="100%">');
  mailfen.document.writeln('    <tr>');
  mailfen.document.writeln('      <td align="center">');
  mailfen.document.writeln('        &#160;');
  mailfen.document.writeln('      </td>');
  mailfen.document.writeln('    </tr>');
  mailfen.document.writeln('    <tr>');
  mailfen.document.writeln('      <td align="center">');
  mailfen.document.writeln('        &#160;');
  mailfen.document.writeln('      </td>');
  mailfen.document.writeln('    </tr>');
  mailfen.document.writeln('    <tr>');
  mailfen.document.writeln('      <td align="center">');
  mailfen.document.writeln('        <span class="texte">');
  mailfen.document.writeln('          <img height="73" width="75" id="wait" src="' + racine + 'img/wait.gif"/>');
  mailfen.document.writeln('        </span>');
  mailfen.document.writeln('      </td>');
  mailfen.document.writeln('    </tr>');
  mailfen.document.writeln('    <tr>');
  mailfen.document.writeln('      <td align="center" style="font-family:verdana;font-size:10px;">');
  mailfen.document.writeln('        <span class="texte">');
  mailfen.document.writeln('          Veuillez patienter...');
  mailfen.document.writeln('        </span>');
  mailfen.document.writeln('      </td>');
  mailfen.document.writeln('    </tr>');
  mailfen.document.writeln('  </table>   ');    
  mailfen.document.writeln('</body>');
  mailfen.document.writeln('</html>');
  
  document.getElementById('submitor').target = 'mail';
  document.getElementById('submitor').action = racine + 'xsltMailer.aspx';
  ///alert(document.getElementById('submitor').elementid);
  document.getElementById('submitor').elementid.value = elementid;
  document.getElementById('submitor').submit();
  document.getElementById('submitor').reset();
  document.getElementById('submitor').target = '';
  document.getElementById('submitor').action= root + 'xslt.aspx';    
}


function goMailAdvance(elementid,zeracine,xslt) {
  mailfen = window.open('','mail','scrollbars,toolbar=no,directories=no,width=350,height=200');
  racine=zeracine;
  
  imgLoad =new Image; imgLoad.src= racine + 'img/wait.gif';
  imgLoad.height=73;
  imgLoad.width=75;
  
  mailfen.moveTo((screen.width/2)-(350/2),(screen.height/2)-(200/2));
  
  wait = setTimeout("if(imgLoad.complete){writeMessageBeforeMailAndSendAdvance('"+elementid+"','"+xslt+"');}",315);    
} 

function writeMessageBeforeMailAndSendAdvance(elementid,xslt){
  mailfen.document.writeln('<html>');
  mailfen.document.writeln('<head>');
  mailfen.document.writeln('  <title>Envoi de message</title>');
  mailfen.document.writeln('</head>');
  mailfen.document.writeln('<body>    ');
  mailfen.document.writeln('  <table cellpadding="0" border="0" cellspacing="0" width="100%">');
  mailfen.document.writeln('    <tr>');
  mailfen.document.writeln('      <td align="center">');
  mailfen.document.writeln('        &#160;');
  mailfen.document.writeln('      </td>');
  mailfen.document.writeln('    </tr>');
  mailfen.document.writeln('    <tr>');
  mailfen.document.writeln('      <td align="center">');
  mailfen.document.writeln('        &#160;');
  mailfen.document.writeln('      </td>');
  mailfen.document.writeln('    </tr>');
  mailfen.document.writeln('    <tr>');
  mailfen.document.writeln('      <td align="center">');
  mailfen.document.writeln('        <span class="texte">');
  mailfen.document.writeln('          <img height="73" width="75" id="wait" src="' + racine + 'img/wait.gif"/>');
  mailfen.document.writeln('        </span>');
  mailfen.document.writeln('      </td>');
  mailfen.document.writeln('    </tr>');
  mailfen.document.writeln('    <tr>');
  mailfen.document.writeln('      <td align="center" style="font-family:verdana;font-size:10px;">');
  mailfen.document.writeln('        <span class="texte">');
  mailfen.document.writeln('          Veuillez patienter...');
  mailfen.document.writeln('        </span>');
  mailfen.document.writeln('      </td>');
  mailfen.document.writeln('    </tr>');
  mailfen.document.writeln('  </table>   ');    
  mailfen.document.writeln('</body>');
  mailfen.document.writeln('</html>');
  
  document.getElementById('submitor').target = 'mail';
  document.getElementById('submitor').action = racine + xslt;
  document.getElementById('submitor').elementid.value = elementid;
  document.getElementById('submitor').submit();
  document.getElementById('submitor').reset();
  document.getElementById('submitor').target = '';
  document.getElementById('submitor').action=racine + 'xslt.aspx';
}
  
function showMoreSuggest(text){
  var div=document.getElementById('hiddenSuggest');
  var lien=document.getElementById('lienplus');
  if(div.style.display==''){
    div.style.display='none';
    lien.innerHTML='+'+text;
  }
  else{
    div.style.display='';
    lien.innerHTML='-'+text;
  }
}

function showMoreSuggestGeneral(text){
  var div=document.getElementById('hiddenSuggestGeneral');
  var lien=document.getElementById('lienplusgeneral');
  if(div.style.display==''){
    div.style.display='none';
    lien.innerHTML='+'+text;
  }
  else{
    div.style.display='';
    lien.innerHTML='-'+text;
  }
}
  
function changePic(Id){
  document.getElementById('grandePhoto').src=eval('grandePhoto'+Id)   
  clearInterval(wait);
}

//On parcours le tableau jusqu'a trouver l'image en cours, et on prend la suivante.
//Si c'est la dernière on reprend la première
function changePicAuto(){
  var iloop=0;
  var exit=false;
  
  while(iloop<=(tabIds.length-2) && exit==false){      
    if(tabIds[iloop]==curId){
      iloop++;
      exit=true;
    }
    else{
      iloop++;
    }      
    if(iloop>tabIds.length-2){
      iloop=0;
      exit==true;    
    }
  }
  document.getElementById('grandePhoto').src=eval('grandePhoto'+tabIds[iloop])
  curId = tabIds[iloop];
}

function launchSlide(){
  wait=(setInterval("changePicAuto()",3000));
}


// Permet de configurer la langue du calendrier passé en paramètre en fonction de la langue du site
// reflétée par @arboLangage
function cfgLangueCalendrier(unCalendrier, arboLangage)
{
  // On va configurer en fonction d'arboLangage qui renseigne la langue
  switch ( arboLangage )
  {
    // FR
    case '0000' :
      unCalendrier.cfg.setProperty("START_WEEKDAY", 1);
      unCalendrier.cfg.setProperty("MONTHS_LONG",    ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"]);					
			unCalendrier.cfg.setProperty("WEEKDAYS_SHORT", ["Di", "Lu", "Ma", "Me", "Je", "Ve", "Sa"]);
    break;
    case '0001' :
      unCalendrier.cfg.setProperty("START_WEEKDAY", 1);
      unCalendrier.cfg.setProperty("MONTHS_LONG",    ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]);					
			unCalendrier.cfg.setProperty("WEEKDAYS_SHORT", ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"]);
    break;
    // ESP
    case '0002' :
      unCalendrier.cfg.setProperty("START_WEEKDAY", 1);
      unCalendrier.cfg.setProperty("MONTHS_LONG",    ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"]);					
			unCalendrier.cfg.setProperty("WEEKDAYS_SHORT", ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa"]);
    break;
  }
}

// Permet de remplir l'input dont l'ID est passé en paramètre avec une date
// tableauDates : un Array d'objets Date. On remplira avec le 0
function remplirInputDate(idInput, tableauDates)
{
  var laDate = tableauDates[0];
  document.getElementById(idInput).value = laDate.getDate() + '/' + (laDate.getMonth() + 1) + '/' + laDate.getFullYear();
}


/*-------- Specifique pour les pays, departements, régions, villes -------*/

var requeteEnCours = 0;
var requeteAJAX;
// Déclenche une requête AJAX permettant de retrouver les données correspondant
// à l'élément sélectionné dans listeSource
// !! La rubrique qui génère les données doit utiliser elementid
// @preSelection : Dans certains cas, on a besoin de présélectionner une des valeurs qui va être ramenée dans la liste cible
// ce paramètre sert à préciser cette valeur.
// Utilisée partout où on a des listes liées
function ajaxListeDeroulanteRecherche(idListeSource, idListeCible, idRubrique, preSelection)
{
  if ( requeteEnCours == 0 )
  {
    requeteEnCours = 1;
    var listeSource = document.getElementById(idListeSource);
    var listeCible = document.getElementById(idListeCible);
    requeteAJAX = new activsoft.ajax.RequestToSend();
    requeteAJAX.page = root + "xslt.aspx";
    requeteAJAX.method = 'POST';
    requeteAJAX.request = "typerubrique=1&rubriqueid=" + idRubrique + "&elementid=" + listeSource.value;
    requeteAJAX.afterLoadCallBack = function() { remplirListeDeroulante(idListeCible, preSelection) }  
    requeteAJAX.send();
  }
  else
  {
    setTimeout(function() {ajaxListeDeroulanteRecherche(idListeSource, idListeCible,idRubrique)}, 100);
  }        
}


// Remplit la liste déroulante dont l'ID est passé en paramètre avec le XML de requeteAJAX
function remplirListeDeroulante(idListeCible, preSelection)
{
  var laListe = document.getElementById(idListeCible);
  
  // On vide la liste de ce qu'elle contenait
  laListe.options.length = 0;
  
  // Ajout d'un élément vide, seulement si on n'a pas de pré-selection
  if ( !preSelection )
  {
    // On determine le texte du slot vide en fonction de ce que contient l'ID de la liste cible
    var titre;
    
    if ( idListeCible.indexOf('region') != -1 )
      titre = 'Choisir une région';
    if ( idListeCible.indexOf('departement') != -1)
      titre = 'Choisir un département';
    if ( idListeCible.indexOf('ville') != -1)
      titre = 'Choisir une ville';
          
    laListe.options[0] = new Option(titre, '');
  }
  
  // On va chercher les elements qui vont servir a remplir la liste
  var lesElements = activsoft.ajax.util.xpathNodeList("/BODY//UNELEMENT",requeteAJAX.xmlDocumentLoaded,requeteAJAX.xmlDocumentLoaded);
  
  /* On sait que le XML est de la forme
      <UNELEMENT>
        <VALUE>la_value</VALUE>
        <LIBELLE>le_libelle</LIBELLE>
        <NBANNONCES>le_nombre</NBANNONCES>
      </UNELEMENT>
  */
  
  // Donc on parcours la collection...
  for ( var i = 0 ; i < lesElements.length ; i++ )
  {
    var unOption = document.createElement('option');
    // ...et on prend les childNodes qu'il faut
    unOption.value = lesElements[i].childNodes[0].firstChild.nodeValue;
    if(lesElements[i].childNodes[1].childNodes.length>0 && lesElements[i].childNodes[2].childNodes.length>0) {
      if (lesElements[i].childNodes[2].firstChild.nodeValue >= '0')
        {unOption.text = lesElements[i].childNodes[1].firstChild.nodeValue;}
      else
        {unOption.text = lesElements[i].childNodes[1].firstChild.nodeValue + ' (' + lesElements[i].childNodes[2].firstChild.nodeValue + ')';}
    }
    else {
      unOption.text = 'Zone sans nom (' + unOption.value + ')';
    }
    if ( preSelection )
    {
      if ( preSelection == lesElements[i].childNodes[0].firstChild.nodeValue )
      {
        unOption.setAttribute("selected", "selected");
      }
    }
    // On choisit où insérer : en effet avec preselection on remplit à partir de 0, sinon à partir de 1 car le slot 0 est déjà pris
    // i+1 car on a déjà mis un élément "vide" en 0
    if ( preSelection )
      laListe.options[i] = unOption;
    else
      laListe.options[i+1] = unOption;
  }
  
  requeteEnCours = 0;
}


/*-------- Specialement pour les typologies -----*/
var requeteEnCours = 0;
var requeteAJAX;

function ajaxListeDeroulanteRechercheTypo(idListeSource, idListeCible, idRubrique)
{
  if ( requeteEnCours == 0 )
  {
    requeteEnCours = 1;
    var listeSource = document.getElementById(idListeSource);
    var listeCible = document.getElementById(idListeCible);
    requeteAJAX = new activsoft.ajax.RequestToSend();
    requeteAJAX.page = "xslt.aspx";
    requeteAJAX.method = 'POST';
    requeteAJAX.request = "typerubrique=1&rubriqueid=" + idRubrique + "&elementid=" + listeSource.value;
    requeteAJAX.afterLoadCallBack = function() { remplirListeDeroulanteTypo(idListeCible) }  
    requeteAJAX.send();
  }
  else
  {
    setTimeout(function() {ajaxListeDeroulanteRechercheTypo(idListeSource, idListeCible,idRubrique)}, 100);
  }        
}

function remplirListeDeroulanteTypo(idListeCible)
{
  var laListe = document.getElementById(idListeCible);
  
  // On vide la liste de ce qu'elle contenait
  laListe.options.length = 0;
  
  // Ajout d'un élément vide
  laListe.options[0] = new Option('...', '');

  // On va chercher les éléments qui vont servir à remplir la liste
  var lesElements = activsoft.ajax.util.xpathNodeList("/BODY//UNELEMENT",requeteAJAX.xmlDocumentLoaded,requeteAJAX.xmlDocumentLoaded);
  
  /* On sait que le XML est de la forme
      <UNELEMENT>
        <VALUE>la_value</VALUE>
        <LIBELLE>le_libelle</LIBELLE>
      </UNELEMENT>
  */
  
  // Donc on parcours de la collection...
  for ( var i = 0 ; i < lesElements.length ; i++ )
  {
    var unOption = document.createElement('option');
    // ...et on prend les childNodes qu'il faut
    unOption.value = lesElements[i].childNodes[0].firstChild.nodeValue;
    unOption.text = lesElements[i].childNodes[1].firstChild.nodeValue;
    // i+1 car on a déjà mis un élément "vide" en 0
    laListe.options[i+1] = unOption;
  }
  
  requeteEnCours = 0;
}


// Permet d'enregistrer les critères de recherche simple
function setCriteresRechercheSimple(typeBien, nbPersonnes, idTheme, dateDebut, dateFin, idPays, idRegion, idDepartement, idVille)
{
  document.forms['submitor'].rec10.options[document.forms['submitor'].rec10.selectedIndex].value = typeBien;
  document.forms['submitor'].rec11.options[document.forms['submitor'].rec11.selectedIndex].value = nbPersonnes;
  document.forms['submitor'].rec12.options[document.forms['submitor'].rec12.selectedIndex].value = idTheme;
  document.forms['submitor'].rec13.value = dateDebut;
  document.forms['submitor'].rec14.value = dateFin;
  document.forms['submitor'].rec15.options[document.forms['submitor'].rec15.selectedIndex].value = idPays;
  document.forms['submitor'].rec16.options[document.forms['submitor'].rec16.selectedIndex].value = idRegion;
  document.forms['submitor'].rec17.options[document.forms['submitor'].rec17.selectedIndex].value = idDepartement;
  document.forms['submitor'].rec18.options[document.forms['submitor'].rec18.selectedIndex].value = idVille;
}

// Permet de ré-initialiser les rec qui sont utilisés pour la recherche de location
function resetCriteresRechercheSimple()
{
  document.getElementsByName('rec10')[0].options[document.getElementsByName('rec10')[0].selectedIndex].value = '';
  document.getElementsByName('rec11')[0].options[document.getElementsByName('rec11')[0].selectedIndex].value = '';
  document.getElementsByName('rec12')[0].options[document.getElementsByName('rec12')[0].selectedIndex].value = '';
  document.getElementsByName('rec13')[0].value = '';
  document.getElementsByName('rec14')[0].value = '';
  document.getElementsByName('rec15')[0].options[document.getElementsByName('rec15')[0].selectedIndex].value = '';
  document.getElementsByName('rec16')[0].options[document.getElementsByName('rec16')[0].selectedIndex].value = '';
  document.getElementsByName('rec17')[0].options[document.getElementsByName('rec17')[0].selectedIndex].value = '';
  document.getElementsByName('rec18')[0].options[document.getElementsByName('rec18')[0].selectedIndex].value = '';
}

// Permet d'effacer les critères de la recherche avancée
// Utile pour repartir vers une recherche simple quand on clique sur "recherche" dans l'encart de droite
function resetCriteresRechercheAvancee()
{
  var frm = document.forms['submitor'];
  frm.rec19.value = '';
  frm.rec20.value = '';
  frm.rec21.value = '';
  frm.rec22.value = '';
  frm.rec23.value = '';
  frm.rec24.value = '';
  frm.rec25.value = '';
  frm.rec26.value = '';
}

// Permet de n'afficher que la partie du formulaire qui convient aux locataires
// Utilisée sur la page d'inscription
/* function afficherFormulaireLocataire()
{
  for ( var i = 0 ; i < document.getElementsByName('formulaire_proprietaire').length ; i++ )
  {
    document.getElementsByName('formulaire_proprietaire')[i].style.display = 'none';
  }
}
 */


// Permet de n'afficher que la partie du formulaire qui convient aux propriétaires
// Utilisée sur la page d'inscription
/* function afficherFormulaireProprietaire()
{
  for ( var i = 0 ; i < document.getElementsByName('formulaire_proprietaire').length ; i++ )
  {
    document.getElementsByName('formulaire_proprietaire')[i].style.display = 'block';
  }
} */


function verifSaisieInscription()
{

  // On verifie les champs commun aux inscriptions qui sont obligatoires
  if 
    ( 
      document.getElementById('enr2').value == '' || // Nom
      document.getElementById('enr3').value == '' || // Prenom
      document.getElementById('enr4').value == '' || // Email
      document.getElementById('enr5').value == '' || // Password 1
      document.getElementById('enr6').value == '' || // Password 2
      document.getElementById('enr7').value == '' || // CGU
      document.getElementById('enr8').value == ''    // Newsletter
    )
    {
      alert('Tous les champs marqués d\'une étoile sont obligatoires');
      return false;
    }
    
  if (document.getElementById('statutInscription').value == 7) {
    if 
     (
       document.getElementById('enr9').value == '' || // Tel fixe
       document.getElementById('enr11').value == '' || // Adresse
       document.getElementById('enr12').value == '' || // CP
       document.getElementById('enr13').value == ''  // Ville
     )
     {
      alert('Tous les champs marqués d\'une étoile sont obligatoires');
      return false;
    }
  }

  if (document.getElementById('statutInscription').value == 41) {
    if 
     (
       document.getElementById('enr9').value == '' || // Tel fixe
       document.getElementById('enr11').value == '' || // Adresse
       document.getElementById('select_choix_region').value == '' ||
       document.getElementById('select_choix_departement').value == '' ||
       document.getElementById('select_choix_ville').value == '' ||
       document.getElementById('enr15').value == '' || // Nom agence
       document.getElementById('enr16').value == '' || // Nom société
       document.getElementById('enr17').value == '' || // Siren
       document.getElementById('enr18').value == ''  // Civilité

     )
     {
      alert('Tous les champs marqués d\'une étoile sont obligatoires');
      return false;
    }
  }  
      
    // On vérifie le mail avec plus d'attention
    if ( !isMail(document.getElementById('enr4'), 'L\'adresse email est incorrecte.') )
    {
      return false;
    }
    
    // Acceptation des CGU
    if ( document.getElementById('enr7').checked == false )
    {
      alert('Vous devez accepter les Conditions Générales d\'Utilisation.');
      return false;
    }
    
    // Les deux mots de passe sont-ils identiques ?
    if ( document.getElementById('enr5').value != document.getElementById('enr6').value )
    {
      alert('Le mot de passe et sa confirmation ne sont pas identiques.');
      return false;
    }
    
    /* if ( document.getElementById('enr10').value != '' ){
      if ( !isAllDigits(document.getElementById('enr10'), 'Le telephone est incorrect.') )
        return false;
    }  */
  return true;
}


function verifModificationProfil(typeInternaute)
{
  if 
    ( 
      document.getElementById('enr2').value == '' || // Nom
      document.getElementById('enr3').value == '' || // Prenom
      document.getElementById('enr4').value == '' || // Email
      document.getElementById('enr5').value == '' || // Password 1
      document.getElementById('enr6').value == '' || // Password 2
      document.getElementById('enr8').value == ''    // Newsletter
    )
    {
      alert('Tous les champs marqués d\'une étoile sont obligatoires');
      return false;
    }
  
  if ( typeInternaute == 52 )
  {
    if 
     (
       document.getElementById('enr9').value == '' || // Tel fixe
       document.getElementById('enr11').value == '' || // Adresse
       document.getElementById('enr12').value == '' || // CP
       document.getElementById('enr13').value == ''  // Ville
     )
     {
      alert('Tous les champs marqués d\'une étoile sont obligatoires');
      return false;
     }
  }
  
  if ( typeInternaute == 53)
  {
    if 
    (
      document.getElementById('enr9').value == '' || // Tel fixe
      document.getElementById('enr11').value == '' || // Adresse
      document.getElementById('select_choix_departement').value == '' ||
      document.getElementById('select_choix_region').value == '' ||
      document.getElementById('select_choix_ville').value == '' ||
      document.getElementById('enr15').value == '' || // Nom agence
      document.getElementById('enr16').value == '' || // Nom société
      document.getElementById('enr17').value == '' || // Siren
      document.getElementById('enr18').value == ''  // Civilité
    )
    {
     alert('Tous les champs marqués d\'une étoile sont obligatoires');
     return false;
    }
  
  }
    
    // On vérifie le mail avec plus d'attention
    if ( !isMail(document.getElementById('enr4'), 'L\'adresse email est incorrecte.') )
    {
      return false;
    }
    
    // Les deux mots de passe sont-ils identiques ?
    if ( document.getElementById('enr5').value != document.getElementById('enr6').value )
    {
      alert('Le mot de passe et sa confirmation ne sont pas identiques.');
      return false;
    }
    
    return true;
  }
  
// Permet de vérifer que les champs destinés au message privé sont 
// bien remplis
function validPM(inscription)
{
  // Pour l'inscription, des contrôles de saisies en plus
  if ( inscription )
  {
    if ( document.getElementsByName('enr2')[0].value == '' ||
      document.getElementsByName('enr3')[0].value == '' ||
      document.getElementsByName('enr5')[0].value == '' ||
      document.getElementsByName('enr6')[0].value == '' ||
      document.getElementsByName('enr7')[0].value == '' )
    {
      alert('Tous les champs d\'inscription sont obligatoires :\n\n\t- nom\n\t- prenom\n\t- email\n\t- mot de passe');
      return false;
    }
    // L'email bien formé
    if ( !isMail(document.getElementsByName('enr5')[0], 'L\'email n\'est pas correctement formé.') )
      return false;
      
    // Les mots de passe identiques
    if ( document.getElementsByName('enr6')[0].value != document.getElementsByName('enr7')[0].value )
    {
      alert('Le mot de passe n\'est pas recopié deux fois de façon identique.');
      return false;
    }
    // Les CGU
    if ( document.getElementsByName('enr8')[0].checked == false )
    {
      alert('Vous devez accepter les Conditions Générales d\'Utilisation.');
      return false;
    }
  }
  
  if ( document.getElementsByName('enr14')[0].value == '' )
  {
    alert('Veuillez remplir le corps du message.');
    return false
  }
  return true;
}


// Permet de changer l'état des checkbox dont le nom est passé en paramètre
// L'état = coché ou pas coché
// @nomCheckbox : la valeur de l'attribut "name" des checkbox visées
// @cochee : booléen indiquant si la checkbox doit être cochée
function changerEtatCheckboxByName(nomCheckbox, cochee)
{
  var nbCheckbox = document.getElementsByName(nomCheckbox).length;
  for ( var i = 0 ; i < nbCheckbox ; i++ )
  {
    document.getElementsByName(nomCheckbox)[i].checked = cochee;
  }
}


// Retourne le nombre de checkbox ayant le nom passé en paramètre
// et qui sont dans l'état passé en paramètre
function getNombreCheckboxEtatByName(nomCheckbox, cochee)
{
  var nbCheckbox = document.getElementsByName(nomCheckbox).length;
  var nbCheckboxEtat = 0;
  
  for ( var i = 0 ; i < nbCheckbox ; i++ )
  { 
    if ( document.getElementsByName(nomCheckbox)[i].checked == cochee )
    {
      nbCheckboxEtat++;
    }
  }
  return nbCheckboxEtat;
}


// Permet de générer une chaîne de caractère avec les valeurs cochées des checkbox en ordre croissant
function genererRecOrdered(nameCheckbox)
{
  var lesCheckbox = document.getElementsByName(nameCheckbox);
  var lesCochees = Array();
  var i;
  var condition = '';
  
  // On récupère toutes les checkbox cochées
  for ( i = 0 ; i < lesCheckbox.length; i++ )
  {
    if ( lesCheckbox[i].checked )
      lesCochees.push(lesCheckbox[i]);
  }
  
  // Et on tri
  var echange;
  var longueur = lesCochees.length
  
  do
  {
    echange = false;
    for ( i = 0 ; i < longueur - 1 ; i++ )
    {
      if ( lesCochees[i].value > lesCochees[i + 1].value )
      {
        var temp = lesCochees[i];
        lesCochees[i] = lesCochees[i + 1];
        lesCochees[i + 1] = temp;
        echange = true;
      }
    }
    longueur--;
  } while ( echange == true )
  
  // On construit la chaîne avec les valeurs ordonnées  
  var chaineOrdered = ''
  for ( i = 0 ; i < lesCochees.length ; i++ )
    chaineOrdered += lesCochees[i].value + ',';
  
  // On enlève la dernière virgule
  return chaineOrdered.substring(0, chaineOrdered.length - 1);
}


function verifSaisieDispoPlanning()
{
  if (document.getElementById('typeBien').value == 6001 || document.getElementById('typeBien').value == 6002 || document.getElementById('typeBien').value == 6003 || document.getElementById('typeBien').value == 6005 || document.getElementById('typeBien').value == 6006 ) {
    if (document.getElementById('enr5').checked == true || document.getElementById('noWeekEnd').checked == true) {
      return true;
    }
    else
    {
      alert('Tous les champs avec étoile sont obligatoires.');
      return false;
    }
  }
  else
  {
    return true;
  }
  
}

function goCB(elementid, sessionuniqueid) {
  document.getElementById('submitor').action=root+"envoiPaiement.aspx";
  document.getElementById('submitor').elementid.value = elementid;
  document.getElementById('submitor').sessionuniqueid.value = sessionuniqueid;
  document.getElementById('submitor').submit();
}

function createMethod(valeur) {
   return 'elementid=' + valeur;
}
  

function autoCompletion(root) {

  var tab1 = new Array();
  tab1["searchLocalisation1Hidden"] = 'CLE';
  
  var tab2 = new Array();
  tab2["searchLocalisation2Hidden"] = 'CLE';
  
  var tab3 = new Array();
  tab3["searchLocalisation3Hidden"] = 'CLE';
  
  var tab4 = new Array();
  tab4["searchLocalisation4Hidden"] = 'CLE';
  
  var autoA = new activsoft.ajax.util.AutoComplete(document.getElementById('searchLocalisation1'), root+'xslt.aspx?typerubrique=1&rubriqueid=50', createMethod, '/BODY/ITEM', 'VALEUR', 'VALEUR', tab1 , 'wait', true, 500, 2);
  var autoB = new activsoft.ajax.util.AutoComplete(document.getElementById('searchLocalisation2'), root+'xslt.aspx?typerubrique=1&rubriqueid=50', createMethod, '/BODY/ITEM', 'VALEUR', 'VALEUR', tab2  ,'wait', true, 500, 2);
  var autoC = new activsoft.ajax.util.AutoComplete(document.getElementById('searchLocalisation3'), root+'xslt.aspx?typerubrique=1&rubriqueid=50', createMethod, '/BODY/ITEM', 'VALEUR', 'VALEUR', tab3 ,  'wait', true, 500, 2);
  var autoD = new activsoft.ajax.util.AutoComplete(document.getElementById('searchLocalisation4'), root+'xslt.aspx?typerubrique=1&rubriqueid=50', createMethod, '/BODY/ITEM', 'VALEUR', 'VALEUR', tab4 , 'wait' , true, 500, 2);

}

function autoCompletionAlerteMandat(root) {

  var tab1 = new Array();
  tab1["Localisation1Hidden"] = 'CLE';
  
  var tab2 = new Array();
  tab2["Localisation2Hidden"] = 'CLE';
  
  var tab3 = new Array();
  tab3["Localisation3Hidden"] = 'CLE';
  
  var tab4 = new Array();
  tab4["Localisation4Hidden"] = 'CLE';
  
  var tab5 = new Array();
  tab5["Localisation5Hidden"] = 'CLE';
  
  var autoA = new activsoft.ajax.util.AutoComplete(document.getElementById('Localisation1'), root+'xslt.aspx?typerubrique=1&rubriqueid=91', createMethod, '/BODY/ITEM', 'VALEUR', 'VALEUR', tab1 , 'wait', true, 500, 2);
  var autoB = new activsoft.ajax.util.AutoComplete(document.getElementById('Localisation2'), root+'xslt.aspx?typerubrique=1&rubriqueid=91', createMethod, '/BODY/ITEM', 'VALEUR', 'VALEUR', tab2  ,'wait', true, 500, 2);
  var autoC = new activsoft.ajax.util.AutoComplete(document.getElementById('Localisation3'), root+'xslt.aspx?typerubrique=1&rubriqueid=91', createMethod, '/BODY/ITEM', 'VALEUR', 'VALEUR', tab3 ,  'wait', true, 500, 2);
  var autoD = new activsoft.ajax.util.AutoComplete(document.getElementById('Localisation4'), root+'xslt.aspx?typerubrique=1&rubriqueid=91', createMethod, '/BODY/ITEM', 'VALEUR', 'VALEUR', tab4 , 'wait' , true, 500, 2);
  var autoE = new activsoft.ajax.util.AutoComplete(document.getElementById('Localisation5'), root+'xslt.aspx?typerubrique=1&rubriqueid=91', createMethod, '/BODY/ITEM', 'VALEUR', 'VALEUR', tab5 , 'wait' , true, 500, 2);

}


function autoCompletionStatistique(root) {

  var tab1 = new Array();
  tab1["searchLocalisationStat1Hidden"] = 'CLE';
  
  var tab2 = new Array();
  tab2["searchLocalisationStat2Hidden"] = 'CLE';
  
  var autoA = new activsoft.ajax.util.AutoComplete(document.getElementById('searchLocalisationStat1'), root+'xslt.aspx?typerubrique=1&rubriqueid=50', createMethod, '/BODY/ITEM', 'VALEUR', 'VALEUR', tab1 , 'wait', true, 500, 2);
  var autoB = new activsoft.ajax.util.AutoComplete(document.getElementById('searchLocalisationStat2'), root+'xslt.aspx?typerubrique=1&rubriqueid=50', createMethod, '/BODY/ITEM', 'VALEUR', 'VALEUR', tab2  ,'wait', true, 500, 2);
  
}


function resteCritereTypeBienStatistique(nameCheckbox) {

  var nb = document.getElementsByName(nameCheckbox).length;
  for ( var i = 0 ; i < nb ; i++ ) {
    document.getElementsByName(nameCheckbox)[i].value = '';
  }
  
}


/*------- Fonction js pour le moteur de recherche ------*/


function remplirInputTypeBien(idInput) {
  var nbCheckbox = document.getElementsByTagName('input').length;
  var listeCheckBox = '';
  var valueCheckBox;
  var y = 1;
   
  for ( var i = 0 ; i < nbCheckbox ; i++ )
  {
    if ( document.getElementsByTagName('input')[i].type == 'checkbox' && document.getElementsByTagName('input')[i].name == 'rec602' )
    {
      if(document.getElementsByTagName('input')[i].checked == true)
      {
        currentid = document.getElementsByTagName('input')[i].value;
        if(listeCheckBox != '')
        {
          listeCheckBox = listeCheckBox+', '+document.getElementById('libelle_'+currentid).innerHTML;
          y = y+1;
        }
        else
        {
          listeCheckBox = document.getElementById('libelle_'+currentid).innerHTML;
        } 
      }
    }           
  }
  document.getElementById(idInput).value = listeCheckBox;
  document.getElementById('typeBienChecked').value = listeCheckBox;
  document.getElementById('rec622').value = y;
} 

function remplirInputTypeBienEnr(idInput) {
    
  var nbCheckbox = document.getElementsByTagName('input').length;
  var listeCheckBox = '';
  var y = 1;
   
  for ( var i = 0 ; i < nbCheckbox ; i++ )
  {
    
    if ( document.getElementsByTagName('input')[i].type == 'checkbox' && document.getElementsByTagName('input')[i].name == 'enr2' )
    {
      if(document.getElementsByTagName('input')[i].checked == true)
      {
        currentid = document.getElementsByTagName('input')[i].value;
        if(listeCheckBox != '')
        {
          listeCheckBox = listeCheckBox+', '+document.getElementById('libelle_'+currentid).innerHTML;
          y = y+1;
        }
        else
        {
          listeCheckBox = document.getElementById('libelle_'+currentid).innerHTML;
        } 
      }
    }           
  }
  document.getElementById(idInput).value = listeCheckBox;
  document.getElementById('typeBienChecked').value = listeCheckBox;
  document.getElementById('rec622').value = y;
} 

function initCheckBox(name) {
    
  var nbCheckbox = document.getElementsByTagName('input').length;
  

  for ( var i = 0 ; i < nbCheckbox ; i++ )
  {
    
    if ( document.getElementsByTagName('input')[i].type == 'checkbox' && document.getElementsByTagName('input')[i].name == name )
    {
      if(document.getElementsByTagName('input')[i].checked == true)
      {
        document.getElementsByTagName('input')[i].checked = false;
      }
    }           
  }
  
  if (name == 'rec602') {
    document.getElementById('typeBienChecked').value = "";
  }
} 

function initInput(idInput) {
  document.getElementById(idInput).value = "";
}
   
function verifSearch() {

 var i = 0;
  
  if (document.getElementById('searchLocalisation1Hidden').value != "" ){
    i = i+1;
  }
  
  if (document.getElementById('searchLocalisation2Hidden').value != "" ){
    i = i+1;
  }
  
  if (document.getElementById('searchLocalisation3Hidden').value != "" ){
    i = i+1;
  }
  
  if (document.getElementById('searchLocalisation4Hidden').value != "" ){
    i = i+1;
  }
  
  document.getElementById('rec621').value = i;
  if (i > 1) {
    if (document.getElementById('typeBienChecked').value == ""){
      alert ('Vous devez choisir un type de bien');
      return false;
    }
  }
  
  if(document.getElementById('surfaceMin').value != '') {
    if ( !isAllDigits(document.getElementById('surfaceMin'), 'La surface est incorrect.') ){
        return false;
    }
  }
  
  if(document.getElementById('surfaceMax').value != '') {
    if ( !isAllDigits(document.getElementById('surfaceMax'), 'La surface est incorrect.') ){
        return false;
    }
  }
  
  if (document.getElementById('searchLocalisation1Hidden').value != "" || document.getElementById('searchLocalisation2Hidden').value != "" || document.getElementById('searchLocalisation3Hidden').value != "" || document.getElementById('searchLocalisation4Hidden').value != "" ) {
     return true;
  }
  else {
    alert('Vous devez choisir au moins une localisation');
    return false;
  } 
}  

function initLocalisationHidden(idInput) {
  document.getElementById(idInput).value = "";
}

function showDL(idDL, catOnglet, idDLHide, IdDLHide2) {
  document.getElementById(idDL).style.display = '';
  if (catOnglet == 3){
    document.getElementById('rec613').style.display = 'none';
    document.getElementById('rec614').style.display = 'none';
  } 
}
    
function hideDL(idDL, catOnglet) {
  document.getElementById(idDL).style.display = 'none';
  if (catOnglet == 3){
    document.getElementById('rec613').style.display = '';
    document.getElementById('rec614').style.display = '';
  } 
} 

 function showVente(rubrique, init){
   
  document.getElementById('rec620').value = 1;
   
  document.getElementById('ongletLocation').className = "onglet2_off";
  document.getElementById('ongletVente').className = "onglet1_on";
  document.getElementById('ongletVacances').className = "onglet3_off";

  document.getElementById('champUpTypeBienVacance').style.display = 'none';
  document.getElementById('champUpTypeBienCommun').style.display = '';
  document.getElementById('champDownTypeBienVacance').style.display = 'none';
  document.getElementById('champDownTypeBienCommun').style.display = '';

  document.getElementById('inputTypeBienLocation').style.display = 'none';
  document.getElementById('inputTypeBienVente').style.display = '';
  document.getElementById('inputTypeBienVacance').style.display = 'none';
  
  document.getElementById('imgTypeBienVente').style.display = '';
  document.getElementById('imgTypeBienLocation').style.display = 'none';
  document.getElementById('imgTypeBienVacance').style.display = 'none';

  if(rubrique == '1'){  
    document.getElementById('conteneurTypeBien').style.width= "100px";
    document.getElementById('conteneurInputImg').style.width= "97px";
  }

  document.getElementById('DLtypeBienLocation').style.display = 'none';
  document.getElementById('DLtypeBienVacance').style.display = 'none';
  
  if (init == 1){
    initCheckBox('rec610');
    initCheckBox('rec603');
    initCheckBox('rec604');
    initCheckBox('rec602');
    initCheckBox('rec624');
    initCheckBox('rec623');

    initInput('typeBienVente');
    initInput('typeBienLocation');
    initInput('typeBienVacance');
    
    initInput('searchLocalisation1');
    initInput('searchLocalisation2');
    initInput('searchLocalisation3');
    initInput('searchLocalisation4');
    initInput('searchLocalisation1Hidden');
    initInput('searchLocalisation2Hidden');
    initInput('searchLocalisation3Hidden');
    initInput('searchLocalisation4Hidden');
    
    initInput('surfaceMin');
    initInput('surfaceMax');
    initInput('budgetMin');
    initInput('budgetMax');
    
    initInput('input_date_debut');
    initInput('input_date_fin');
    
    initSelect('rec613');
    initSelect('rec614');
  } 
} 

function showVacance(rubrique, init){
  document.getElementById('rec620').value = 3;
  document.getElementById('ongletLocation').className = "onglet2_off";
  document.getElementById('ongletVente').className = "onglet1_off";
  document.getElementById('ongletVacances').className = "onglet3_on";
  
  document.getElementById('champUpTypeBienVacance').style.display = '';
  document.getElementById('champUpTypeBienCommun').style.display = 'none';
  document.getElementById('champDownTypeBienVacance').style.display = '';
  document.getElementById('champDownTypeBienCommun').style.display = 'none';
 
  document.getElementById('inputTypeBienLocation').style.display = 'none';
  document.getElementById('inputTypeBienVente').style.display = 'none';
  document.getElementById('inputTypeBienVacance').style.display = '';
  
  document.getElementById('imgTypeBienVente').style.display = 'none';
  document.getElementById('imgTypeBienLocation').style.display = 'none';
  document.getElementById('imgTypeBienVacance').style.display = '';
  if(rubrique == '1'){
    document.getElementById('conteneurTypeBien').style.width= "290px";
    document.getElementById('conteneurInputImg').style.width= "290px";
  }
  
  document.getElementById('DLtypeBienLocation').style.display = 'none';
  document.getElementById('DLtypeBienVente').style.display = 'none';
  
  if (init == 1){
    initCheckBox('rec610');
    initCheckBox('rec602');
    initCheckBox('rec624');
    initCheckBox('rec623');
    
    initInput('typeBienVente');
    initInput('typeBienLocation');
    initInput('typeBienVacance');
    
    initInput('searchLocalisation1');
    initInput('searchLocalisation2');
    initInput('searchLocalisation3');
    initInput('searchLocalisation4');
    initInput('searchLocalisation1Hidden');
    initInput('searchLocalisation2Hidden');
    initInput('searchLocalisation3Hidden');
    initInput('searchLocalisation4Hidden');
  }
} 

function showLocation(rubrique, init){
  document.getElementById('rec620').value = 2;
  
  document.getElementById('ongletLocation').className = "onglet2_on";
  document.getElementById('ongletVente').className = "onglet1_off";
  document.getElementById('ongletVacances').className = "onglet3_off";
  
  document.getElementById('inputTypeBienLocation').style.display = '';
  document.getElementById('inputTypeBienVente').style.display = 'none';
  document.getElementById('inputTypeBienVacance').style.display = 'none';
  
  document.getElementById('champUpTypeBienVacance').style.display = 'none';
  document.getElementById('champUpTypeBienCommun').style.display = '';
  document.getElementById('champDownTypeBienVacance').style.display = 'none';
  document.getElementById('champDownTypeBienCommun').style.display = '';
  
  document.getElementById('imgTypeBienVente').style.display = 'none';
  document.getElementById('imgTypeBienLocation').style.display = '';
  document.getElementById('imgTypeBienVacance').style.display = 'none';
  if(rubrique == '1'){
    document.getElementById('conteneurTypeBien').style.width= "100px";
    document.getElementById('conteneurInputImg').style.width= "97px";
  }
  document.getElementById('DLtypeBienVente').style.display = 'none';
  document.getElementById('DLtypeBienVacance').style.display = 'none';
  
  if (init == 1){ 
    initCheckBox('rec610');
    initCheckBox('rec603');
    initCheckBox('rec604');
    initCheckBox('rec602');
    initCheckBox('rec624');
    initCheckBox('rec623');

    initInput('typeBienVente');
    initInput('typeBienLocation');
    initInput('typeBienVacance');

    initInput('searchLocalisation1');
    initInput('searchLocalisation2');
    initInput('searchLocalisation3');
    initInput('searchLocalisation4');
    initInput('searchLocalisation1Hidden');
    initInput('searchLocalisation2Hidden');
    initInput('searchLocalisation3Hidden');
    initInput('searchLocalisation4Hidden');

    initInput('surfaceMin');
    initInput('surfaceMax');
    initInput('budgetMin');
    initInput('budgetMax');
    
    initInput('input_date_debut');
    initInput('input_date_fin');
    
    initSelect('rec613');
    initSelect('rec614');
  } 
} 



function search(){
  if (verifSearch()) {
    document.getElementById('input_date_debut').disabled = false;
    document.getElementById('input_date_fin').disabled = false;
    go(1, 3, '', '', 30, 602);
  } 
} 

function searchAgence(){
  if (document.getElementById('searchLocalisation1Hidden').value == "" ){
    alert('Vous devez choisir au moins une localisation');
  }
  else{
    go(1, 67, '', '', 2,605);
  }
}


/**
 * Déclenche une recherche d'agence à partir
 * @idRec : indique le NUMERO (sans 'rec' devant) du rec qui va contenir la zone recherchée
 * @idZone : l'ID de la zone recherchée
 */
function searchAgenceFromFilAriane(numRec, idZone) {
  document.getElementById('rec' + numRec).value = idZone;
  go(1, 67, '', '', 2, numRec);
}

function initOnglet(){
  if(document.getElementById('rec620')){
    if(document.getElementById('rec620').value == 1){
      document.getElementById('ongletLocation').className = "onglet2_off";
      document.getElementById('ongletVente').className = "onglet1_on";
      document.getElementById('ongletVacances').className = "onglet3_off";
      showVente('','0');
    }
    else if(document.getElementById('rec620').value == 2){
      document.getElementById('ongletLocation').className = "onglet2_on";
      document.getElementById('ongletVente').className = "onglet1_off";
      document.getElementById('ongletVacances').className = "onglet3_off";
      showLocation('','0');
    }
    else if(document.getElementById('rec620').value == 3){
      document.getElementById('ongletLocation').className = "onglet2_off";
      document.getElementById('ongletVente').className = "onglet1_off";
      document.getElementById('ongletVacances').className = "onglet3_on";
      showVacance('','0');
    }
    else{
      document.getElementById('ongletLocation').className = "onglet2_off";
      document.getElementById('ongletVente').className = "onglet1_on";
      document.getElementById('ongletVacances').className = "onglet3_off";
      showVente('','0');
    }
  }

} 
      
function switchDisplay(el) {
  if(el){
    if(el.style.display=='') {
      el.style.display='none';
    }
    else {
      el.style.display='';
    }
  }
}

function ajaxAjoutPanier(id,root){
  var request = new activsoft.ajax.RequestToSend();          
  request.page = root+"xslt.aspx";   
  request.nbTries = 3;
  request.request = 'rubriqueid=3&enregistrementid=55&typerubrique=1&elementid='+id; 
  request.method = "POST";     
  request.afterLoadCallBack = confirmationPanier;  
  request.httpErrorCallBack = affichageErreurPanier; 
  request.send();
}

function confirmationPanier(){
  alert('Cette annonce a été ajoutée à votre selection');
}

function affichageErreurPanier(){
  alert('Une erreur c\'est produite dans l\'ajout de l\'annonce dans votre panier');
}

function initMoteurOnglet() {
  if (document.getElementById('initOngletMoteur').value == 'vente'){
    showVente('1','1');
  }
  else if(document.getElementById('initOngletMoteur').value == 'location'){
    showLocation('1','1');
  }
  else if(document.getElementById('initOngletMoteur').value == 'location-vacances'){
    showVacance('1','1');
  }
}



function masquerElementsSpeciauxRechercheAdvance()
{
  var classeSpeciales = Array();
  classeSpeciales[0] = 'champVente';
  classeSpeciales[1] = 'champLocation';
  classeSpeciales[2] = 'champVacance';
  classeSpeciales[3] = 'champCommun';

  //On commence par masquer tous les spéciaux
  for ( var cptClasses = 0 ; cptClasses < classeSpeciales.length ; cptClasses++ )
  {
    var champsSpeciaux = Array();
    
    // On remplit l'array avec les éléments propres à la classe spéciale courante.
    // On utilise la fonction homemade de creation-annonce.js
    getElementsByClassName( document.getElementById('rechercheAv'), classeSpeciales[cptClasses], champsSpeciaux);
    
    // On masque chaque élément
    for ( var i = 0 ; i < champsSpeciaux.length ; i++ )
    {
      champsSpeciaux[i].style.display = 'none';
    } 
    
  }
}

// Permet d'afficher les éléments ayant pour class CSS @classeAffichee
function visibiliteElementsSpeciauxRechercheAdvance(classeRecherchee, visibiliteSouhaitee)
{
  var elementsAModifier = Array();
  getElementsByClassName( document.getElementById('rechercheAv'), classeRecherchee, elementsAModifier);
  
  for ( var i = 0 ; i < elementsAModifier.length ; i++ )
  {
    elementsAModifier[i].style.display = visibiliteSouhaitee;
  }
}

function masquerElementsSpeciauxAlerteEmail()
{
  var classeSpeciales = Array();
  classeSpeciales[0] = 'champVente';
  classeSpeciales[1] = 'champLocation';
  classeSpeciales[2] = 'champCommun';
  
  

  //On commence par masquer tous les spéciaux
  for ( var cptClasses = 0 ; cptClasses < classeSpeciales.length ; cptClasses++ )
  {
    var champsSpeciaux = Array();
    
    // On remplit l'array avec les éléments propres à la classe spéciale courante.
    // On utilise la fonction homemade de creation-annonce.js
    getElementsByClassName( document.getElementById('alerteEmail'), classeSpeciales[cptClasses], champsSpeciaux);
    
    // On masque chaque élément
    for ( var i = 0 ; i < champsSpeciaux.length ; i++ )
    {
      champsSpeciaux[i].style.display = 'none';
    } 
    
  }
}

// Permet d'afficher les éléments ayant pour class CSS @classeAffichee
function visibiliteElementsSpeciauxAlerteEmail(classeRecherchee, visibiliteSouhaitee)
{
  var elementsAModifier = Array();
  getElementsByClassName( document.getElementById('alerteEmail'), classeRecherchee, elementsAModifier);
  
  for ( var i = 0 ; i < elementsAModifier.length ; i++ )
  {
    elementsAModifier[i].style.display = visibiliteSouhaitee;
  }
}


function verifSearchAdvance() {

 var i = 0;
  
  if (document.getElementById('searchLocalisation1Hidden').value != "" ){
    i = i+1;
  }
  
  if (document.getElementById('searchLocalisation2Hidden').value != "" ){
    i = i+1;
  }
  
  if (document.getElementById('searchLocalisation3Hidden').value != "" ){
    i = i+1;
  }
  
  if (document.getElementById('searchLocalisation4Hidden').value != "" ){
    i = i+1;
  }
  document.getElementById('rec621').value = i;
  if (i > 1) {
    if (document.getElementById('typeBienChecked').value == ""){
      alert ('Vous devez choisir un type de bien');
      return false;
    }
  }
  
  if (document.getElementById('searchLocalisation1Hidden').value != "" || document.getElementById('searchLocalisation2Hidden').value != "" || document.getElementById('searchLocalisation3Hidden').value != "" || document.getElementById('searchLocalisation4Hidden').value != "" ) {
     return true;
  }
  else {
    alert('Vous devez choisir au moin une localisation, parmis la liste proposé');
    return false;
  } 
}  

function searchAdvance(){

  if (verifSearchAdvance()) {
    document.getElementById('rec630').value = genererRecOrdered('anciennete');
    document.getElementById('rec631').value = genererRecOrdered('bien');
    document.getElementById('rec632').value = genererRecOrdered('equipement');
    document.getElementById('input_date_debut').disabled = false;
    document.getElementById('input_date_fin').disabled = false;
    document.getElementById('input_date_dispo').disabled = false;
    go(1, 3, '', '', 50, 602);
  } 
} 

function initSelect(idSelect){
  document.getElementById(idSelect).selectedIndex = "0";
}

function initCommun() {
    
  var nbInput = document.getElementsByTagName('input').length;
  var nbSelect = document.getElementsByTagName('select').length;

  for ( var i = 0 ; i < nbInput ; i++ )
  {
    if ( document.getElementsByTagName('input')[i].type == 'checkbox' && document.getElementsByTagName('input')[i].className == "checkCommun" )
    {
      if(document.getElementsByTagName('input')[i].checked == true)
      {
        document.getElementsByTagName('input')[i].checked = false;
      }
    }
 
    if(document.getElementsByTagName('input')[i].type == 'text' && document.getElementsByTagName('input')[i].className == "textCommun" ){
      document.getElementsByTagName('input')[i].value = "";
    }
    
    if(document.getElementsByTagName('input')[i].type == 'hidden' && document.getElementsByTagName('input')[i].className == "hiddenCommun"){
      document.getElementsByTagName('input')[i].value = "";
    } 
  }
  
  for ( var i = 0 ; i < nbSelect ; i++ ){
    if(document.getElementsByTagName('select')[i].type == 'select-one' && document.getElementsByTagName('select')[i].className == "selectCommun"){
      document.getElementsByTagName('select')[i].selectedIndex = "0";
    }
  }
} 

function generateIdAjax(name) {
  var nbCheckbox = document.getElementsByTagName('input').length;
  var id = "";
  var longueurChaine = 0;
  var longeurChainePetit = 0;
  var chaineFormater = "";

  for ( var i = 0 ; i < nbCheckbox ; i++ )
  {
    
    if ( document.getElementsByTagName('input')[i].type == 'checkbox' && document.getElementsByTagName('input')[i].name == name )
    {
      if(document.getElementsByTagName('input')[i].checked == true)
      {
        
        id += document.getElementsByTagName('input')[i].value+',';
      }
    }           
  }
  
 longueurChaine = id.length;
 longeurChainePetit = Number(longueurChaine - 1);
 chaineFormater = id.substring(0,longeurChainePetit); 
 
 if(chaineFormater == ""){
   chaineFormater = -1;
 }
 
 return chaineFormater;
} 

/* function calculNbAnnonces(name) {
  var nbCheckbox = document.getElementsByTagName('input').length;
  var nbAnnonces = 0;

  for ( var i = 0 ; i < nbCheckbox ; i++ )
  {
    
    if ( document.getElementsByTagName('input')[i].type == 'checkbox' && document.getElementsByTagName('input')[i].name == name )
    {
      if(document.getElementsByTagName('input')[i].checked == true)
      {
        nbAnnonces += Number(document.getElementsByTagName('input')[i].value);
      }
    }           
  }
 
  alert(nbAnnonces);
}   */


function affichagePrix(idAjax)
{
  request = new activsoft.ajax.RequestToSend();          
  request.page = "xslt.aspx";
  request.nbTries = 3;
  request.request = 'rubriqueid=62&typerubrique=1&elementid='+idAjax; 
  request.method = "POST";     
  request.afterLoadCallBack = function() { ok() };  
  request.httpErrorCallBack = affichageErreur; 
  request.send();
}

function affichageErreur()
{
  alert('Une erreur est survenue');
}

function ok()
{
  var unPrix = activsoft.ajax.util.xpathNodeList("/BODY/PRIX",request.xmlDocumentLoaded,request.xmlDocumentLoaded);
  var prix = retourneValeurNoeud(unPrix[0].childNodes[0])

  document.getElementById('prixTotal').innerHTML = prix; 
  document.getElementById('enr2').value = prix;
  
}

function retourneValeurNoeud(unNoeud){
  if(unNoeud.textContent == undefined){
    return unNoeud.text;
  }
  else{
    return unNoeud.textContent;
  }
}


function verifNbChecked(nbChecked){
  if(nbChecked > 1){
    return false;
  }
  else{
    return true;
  }
}

function verifCreate(){
  if(document.getElementById('typeBienVente').value == "" && document.getElementById('typeBienLocation').value == "" ){
    alert('Vous devez choisir au moins un type de bien');
    return false;
  }
  
  if(document.getElementById('searchLocalisation1Hidden').value == "" && document.getElementById('searchLocalisation2Hidden').value == "" && document.getElementById('searchLocalisation3Hidden').value == "" && document.getElementById('searchLocalisation4Hidden').value == "" ){
    alert('Vous devez choisir une localisation');
    return false;
  }
  
  
  if (document.getElementById('surfaceMin')){
    if(document.getElementById('surfaceMin').value != '') {
      if ( !isAllDigits(document.getElementById('surfaceMin'), 'Surface incorrect.') ){
          return false;
      }
    }
  }
  
  if (document.getElementById('surfaceMax')){
    if(document.getElementById('surfaceMax').value != '') {
      if ( !isAllDigits(document.getElementById('surfaceMax'), 'Surface incorrect.') ){
          return false;
      }
    }
  }
  if (document.getElementById('budgetMin')){
    if(document.getElementById('budgetMin').value != '') {
      if ( !isAllDigits(document.getElementById('budgetMin'), 'Budget incorrect.') ){
          return false;
      }
    }
  }
  if (document.getElementById('budgetMax')){
    if(document.getElementById('budgetMax').value != '') {
      if ( !isAllDigits(document.getElementById('budgetMax'), 'Budget incorrect.') ){
          return false;
      }
    }
  }
  return true;
}

function goFlash(idLoca){
  categorie = document.getElementById('elementid').value
  if (categorie != "agences-immobilieres"){
    if (categorie == ""){
      document.getElementById('rec620').value = "";
    }
    else if(categorie == "vente"){
      document.getElementById('rec620').value = 1;
    }
    else if(categorie == "location"){
      document.getElementById('rec620').value = 2;
    }
     else if(categorie == "location-vacances"){
      document.getElementById('rec620').value = 3;
    }
    document.getElementById('searchLocalisation1Hidden').value = idLoca;
    go(1, 3, '', '', 30, 602);
  }
  else{
    document.getElementById('searchLocalisation1Hidden').value = idLoca;
    go(1, 67, '', '', 2,605);
  }
}


function genrateListeNumerique(nbMin, nbMax, liste) {
  var laListe = document.getElementById(liste);
    
  var unOption = document.createElement('option');
  
  for (var i = nbMin; i <= nbMax; i++)
   {
      var unOption = document.createElement('option');
      unOption.value = i;
      if (document.getElementById(liste).value != "") {
        if (document.getElementById(liste).value == i)
        {
          unOption.selected = "true";
        }
      }
      unOption.text = i; 
      laListe.options[i+1] = unOption; 
    }
}

function initCheckFormule(idInput) {
    
  var nbCheckbox = document.getElementsByTagName('input').length;
  var listeCheckBox = '';
  var y = 1;
   
  for ( var i = 0 ; i < nbCheckbox ; i++ )
  {
    
    if ( document.getElementsByTagName('input')[i].type == 'checkbox' && document.getElementsByTagName('input')[i].name == 'rec602' )
    {
      if(document.getElementsByTagName('input')[i].checked == true)
      {
        if(listeCheckBox != '')
        {
          listeCheckBox = listeCheckBox+','+document.getElementsByTagName('input')[i].nextSibling.nodeValue;
          y = y+1;
        }
        else
        {
          listeCheckBox = document.getElementsByTagName('input')[i].nextSibling.nodeValue;
        }
      }
    }           
  }
  document.getElementById(idInput).value = listeCheckBox;
  document.getElementById('typeBienChecked').value = listeCheckBox;
  document.getElementById('rec622').value = y;
} 

function initCheckBoxFormule(name) {
    
  var nbCheckbox = document.getElementsByTagName('input').length;
  
  for ( var i = 0 ; i < nbCheckbox ; i++ )
  {
    
    if ( document.getElementsByTagName('input')[i].type == 'checkbox' && document.getElementsByTagName('input')[i].name == name )
    {
      if(document.getElementsByTagName('input')[i].checked == true)
      {
        document.getElementsByTagName('input')[i].checked = false;
      }
    }           
  }
  
  document.getElementById('alreadyCheckedP').value = "";
  document.getElementById('alreadyCheckedPU').value = "";
} 

function genrateListeFrequence(liste,init) {

  var laListe = document.getElementById(liste);
    
  var option1 = document.createElement('option');
  var option2 = document.createElement('option');
  var option3 = document.createElement('option');
  var option4 = document.createElement('option');
  var option5 = document.createElement('option');
  
  option1.value = 1;
  option1.text = 1;
  
  option2.value = 2;
  option2.text = 2;
  
  option3.value = 5;
  option3.text = 5;
  
  option4.value = 10;
  option4.text = 10;
  
  option5.value = 20;
  option5.text = 20;
  
  
  laListe.options[0] = option1; 
  laListe.options[1] = option2; 
  laListe.options[2] = option3; 
  laListe.options[3] = option4; 
  laListe.options[4] = option5; 
  
  if(init == 1){
    option1.selected = "selected"
  }
  else if(init == 2){
    option2.selected = "selected"
  }
  else if(init == 5){
    option3.selected = "selected"
  }
  else if(init == 10){
    option4.selected = "selected"
  }
  else if(init == 20){
    option5.selected = "selected"
  }
}

function check_number_input(input,test)
{/*appel de la fonction check_number_input(this)*/
  if(test==0) { //Check int
    content = input.value;
    result = content.replace(/([^0123456789]*)/g,"");
    input.value = result;
  }
  if(test==1) { //Check float
    content = input.value;
    result = content.replace(/([^0123456789\.,]*)/g,"");
    result = result.replace(/,/g,".");
    result = result.replace(/^\.([0123456789\.]*)/,"0.$1");
    result = result.replace(/\.([0123456789]*)\./g,".$1")
    input.value = result;
  }
  if(test==2) { //Check phone
    content = input.value;
    result = content.replace(/([^0123456789 ]*)/g,"");
    input.value = result;
  }
}

function check_date(input)
{/*appel de la fonction check_date(this)*/
    content = input.value;
    result = content.replace(/^([0-9]{2})([0-9]{2})([0-9]{4})$/, "$1/$2/$3");
    
    if(result.search(/[^0123456789/]/) >= 0) {
      result="";
    }
    
    input.value = result;
}

function check_mail(input)
{/*appel de la fonction check_mail(this)*/
    content = input.value;
    result = content;
    
    if(content.search(/[@]/) < 0 || content.search(/[\.]/) < 0) {
      result="";
    }
    
    input.value = result;
}

function sendp() {
  if (document.getElementById('remail').value != ''){
    if(isMail(document.forms['submitor'].remail, 'Adresse email invalide')){
      document.forms['submitor'].login.value=document.forms['submitor'].remail.value;
      setMailAction('recupPassword');
      go(1, 4, '00040006', '', '', '', 200, 640, '');
    }
  }
  else{
    alert('Vous devez saisir une adresse email pour recevoir votre mot de passe.');
  } 
}




// Une variable globale pour les deux fonctions ajax du login
var requeteAjaxLogin;


/**
 * Envoie à la rubrique AJAX les infos de connexion de l'utilisateur
 * Configure la requête pour que ajaxLoginTraitement() soit appelée lors du retour de la requête
 * Les paramètres sont là uniquement dans un but d'évolutivité facile
 * @ idRubriqueActuelle : La rubrique sur laquelle se trouve l'internaute. Utile pour envoyer un go() si l'identification s'est bien passée
 * @ elementIdActuel : L'elementid en cours. Utile pour envoyer un go() si l'identification s'est bien passée
 * @ idRubriqueLogin : l'ID de la rubrique qui va renvoyer le statut de l'internaute
 * @ idEnrLogin : L'ID du champ contenant le login
 * @ idEnrMdp : l'ID du champ contenant le mot de passe
 */
function ajaxLoginSend(idRubriqueAcutelle, elementidActuel, idRubriqueLogin, idEnrLogin, idEnrMdp) {
  // On récupère les infos qui nous intéressent
  login = document.getElementById(idEnrLogin).value;
  mdp = document.getElementById(idEnrMdp).value;
  
  requeteAjaxLogin = new activsoft.ajax.RequestToSend();
  requeteAjaxLogin.page = root + "xslt.aspx";
  requeteAjaxLogin.method = 'GET';
  requeteAjaxLogin.request = "typerubrique=1&rubriqueid=" + idRubriqueLogin + "&login=" + login + "&password=" + mdp;
  requeteAjaxLogin.afterLoadCallBack = function() { ajaxLoginTraitement(idRubriqueAcutelle, elementidActuel) }  
  requeteAjaxLogin.send();
}

/**
 * En fonction du résultat de la requête AJAX de login, affiche le bon message à l'internaute :
 *    - Email / mot de passe invalide
 *    - Compte pas encore validé
 *    - Si la connexion est OK, redirige l'internaute vers la rubrique où il est actuellement sauf si c'est une
 *      agence auquel cas on redirige vers le tableau de bord
 * @ idRubriqueActuelle : La rubrioque vers laquelle l'internaute sera redirigée si la connexion se passe bien
 * @ elementidActuel : L'elementid qui sera envoyé au go()
 */
function ajaxLoginTraitement(idRubriqueActuelle, elementidActuel) {
  // On va chercher les elements qui vont servir a remplir la liste
  var noeudEtatInternaute = activsoft.ajax.util.xpathNodeList("/BODY/INTERNAUTE/ETAT",requeteAjaxLogin.xmlDocumentLoaded,requeteAjaxLogin.xmlDocumentLoaded);
  // noeudEtatInternaute[0] amène dans le noeud ETAT
  // firstChild.nodeValue donne la valeur entre la balise ETAT
  // On test la présence de chilNode car si ETAT est vide (mauvais couple login / mdp), l'affectation directe provoque un crash
  var etatInternaute = '';
  if ( noeudEtatInternaute[0].firstChild ) {
    etatInternaute = noeudEtatInternaute[0].firstChild.nodeValue;
  }
  
  /* On sait que le XML est de la forme
      <INTERNAUTE>
        <ETAT>etat_de_son_inscription</ETAT>
        <TYPEINTERNAUTE>type_internaute</TYPEINTERNAUTE>
      </INTERNAUTE>
    */
  // Etats possibles
  // 22001 : en attente
  // 22002 : activé
  // Ni l'un ni l'autre : le couple login / mdp n'a rien renvoyé donc erreur (en pratique, la balise ETAT est vide)
  // Si l'internaute est une agence on redirige vers le tableau de bord
  
  switch (etatInternaute) {
    case '22002' :
      // Compte activé, on déclenche l'enregistreur de login et on redirige vers la page où est déjà l'internaute ou le tableau de bord
      setEnr(2, 501, 3);
      var noeudTypeInternaute = activsoft.ajax.util.xpathNodeList("/BODY/INTERNAUTE/TYPEINTERNAUTE",requeteAjaxLogin.xmlDocumentLoaded,requeteAjaxLogin.xmlDocumentLoaded);
      var typeInternaute = '';
      if (noeudTypeInternaute[0].firstChild) {
        typeInternaute = noeudTypeInternaute[0].firstChild.nodeValue;
      }
      if (typeInternaute == '53') {
        go(1, 113, '', '', '', '');
      }
      else {
        go(1, idRubriqueActuelle, elementidActuel, '', 30, 602);
      }
      break;
    case '22001' :
      // Compte en attente, on va afficher le message d'erreur approprié
      // On masque l'erreur d'avant éventuellement affichée
      document.getElementById('erreurMauvaisCouple').style.display = 'none';
      // Et on affiche le message
      document.getElementById('erreurNonActif').style.display = 'block';
      break;
    default :
      // Mauvais login/mdp, on va afficher le message d'erreur approprié
      // On masque l'erreur d'avant éventuellement affichée
      document.getElementById('erreurNonActif').style.display = 'none';
      // Et on affiche le message
      document.getElementById('erreurMauvaisCouple').style.display = 'block';
      break;
  }
  
}

function verificationAddVille(ville1, ville2, ville3, ville4, ville5){
  if(ville1 == '' && ville2 == '' && ville3 == '' && ville4 == '' && ville5 == ''){
    alert('Vous devez selectionner au moins une ville');
    return false;
  }

  return true;
}


function verifRadioOrCheckboxChecked(name,type) {
  var verif = false;  
  var nbElement = document.getElementsByTagName('input').length;
  
  for ( var i = 0 ; i < nbElement ; i++ )
  {
    
    if ( document.getElementsByTagName('input')[i].type == type && document.getElementsByTagName('input')[i].name == name )
    {
      if(document.getElementsByTagName('input')[i].checked == true)
      {
        verif = true;
        break;
        
      }
    }           
  }
  
  return verif;
} 

/**
 * Masque tous les blocs d'explications sur les moyens de paiement
 */
function masquerExplicationMoyenPaiement() {
  var blocs = new Array();
  getElementsByClassName(document.getElementById('pereExplications'), 'explicationMoyenPaiement', blocs);
  var i;
  for (i = 0 ; i < blocs.length ; i++ ) {
    blocs[i].style.display = 'none';
  }      
}

// Remplit @arrayElements avec tous les noeuds sous @noeud ayant pour class CSS @classRecherchee
// Créée car cette fonction manquait à IE
// Ne renvoie rien, se contente de remplir @arrayElements
function getElementsByClassName(noeud, classRecherchee, arrayElements)
{
  var numNoeud = 0;
  // TQ il reste des noeuds en-dessous, on va les parcourir avec cette même fonction
  while ( numNoeud < noeud.childNodes.length )
  {
    getElementsByClassName(noeud.childNodes[numNoeud], classRecherchee, arrayElements);
    numNoeud++;
  }
  // Si par hasard c'est une bonne classe, on l'ajoute au tableau
  if ( noeud.className )
  {
    if ( noeud.className.indexOf(classRecherchee) != -1 )
    {
      arrayElements.push(noeud);
    }
  }
}

/**
 * Applique un style.display = 'block' à l'élément dont l'ID
 * est passé en paramètre
 */
function afficher(idElement) {
  document.getElementById(idElement).style.display = 'block'; 
}

/* Pour lancer l'enregistreur qui sert à initialiser le paiement, on est obligé de passer par une requete ajax, car on ne peut pas submit 2 formulaires (pour appeler paypal, on submit deja le formulaire de paypal)
si dans le temps, un enr est ajouté sur cette page, il faut modifier l'appel de la  fonction ajaxEnregistrementPaypal(), en augmentant le nbEnr et sa définition en récuperant l'enr correspondant
si possible, demander à PJ */

//Fonction qui lance l'enregistreur qui initialise le paiement (lance l'enregistreur 59)
function ajaxEnregistrementPaypal(rubriqueId, enregistrementId, firstEnr, nbEnr, elementId, comefrom){
  var enr2 = document.getElementById('enr2').value;
  var enr3 = '';
  if (document.getElementById('enr3')) {
    enr3 = document.getElementById('enr3').value;
  }
  var stringRequest = 'rubriqueid='+ rubriqueId +'&enregistrementid='+ enregistrementId +'&typerubrique=1&elementid='+elementId+'&firstenr='+ firstEnr;
  if (enr3 == '') {
    nbEnr--;
  }
  stringRequest += '&nbenr='+nbEnr+'&enr2='+enr2
  if (enr3 != '') {
    stringRequest += '&enr3='+enr3;
  }
  stringRequest += '&comefrom='+comefrom; 
  request = new activsoft.ajax.RequestToSend();          
  request.page = "xslt.aspx";
  request.nbTries = 3;  
  request.request =  stringRequest;
  request.method = "POST";
  request.afterLoadCallBack = function() { beforeGoPaypal() };  
  request.httpErrorCallBack = affichageErreurPaypal; 
  request.send();
}

function affichageErreurPaypal(){
  // Le message d'erreur se trouve dans l'xsl (59.xsl) pour permettre une traduction plus aisée.
  alert(erreurAjaxPaypal);
}

function beforeGoPaypal(){
  var cryptage = activsoft.ajax.util.xpathNodeList("/BODY/CRYPTAGE",request.xmlDocumentLoaded,request.xmlDocumentLoaded);
  var trameCrypte = retourneValeurNoeud(cryptage[0].childNodes[0])
  if(trameCrypte != ''){
    document.getElementById('encrypted').value = trameCrypte;
    goPaypal(); 
  }
  else{
    alert(erreurAjaxPaypal);
    return;
  }
}

function goPaypal() {
  var ppFrm = document.getElementById('paypalForm');
  ppFrm.submit(); 
}

/**
 * Permet de contrôler le nombre de caractères entrés dans un champ.
 * Si le nombre de caractères est supérieur à la limite, on coupe 
 * la saisie.
 * @evt : L'événement de saisie dans la zone : typiquement keyup.
 * @displayedCounterId : l'ID de l'élément HTML qui affiche le nombre
 *   de caractères restants.
 * @limit : Le nombre de caractères à partir duquel limiter la saisie.
 *
 */
function countKeysOnField(evt, displayedCounterId, limit) {
  // Récupération du champ
  var field = YAHOO.util.Event.getTarget(evt);
  if (field.value.length >= limit) {
    field.value = field.value.substring(0, limit - 1);
  }
  else {
    document.getElementById(displayedCounterId).innerHTML = (limit - field.value.length - 1);
  }
}
