// AFFICHE / CACHE ID
function afficheId(baliseId)
{
if (document.getElementById && document.getElementById(baliseId) != null)
{
document.getElementById(baliseId).style.visibility='visible';
document.getElementById(baliseId).style.display='block';
}
}

function cacheId(baliseId)
{
if (document.getElementById && document.getElementById(baliseId) != null)
{
document.getElementById(baliseId).style.visibility='hidden';
document.getElementById(baliseId).style.display='none';
}
}

cacheId('contenu');

// VERIF CARAC
function EstEmail (emailStr) {
/* The following pattern is used to check if the entered e-mail address
   fits the user@domain format.  It also is used to separate the username
   from the domain. */
var emailPat=/^(.+)@(.+)$/
/* The following string represents the pattern for matching all special
   characters.  We don't want to allow special characters in the address.
   These characters include ( ) < > @ , ; : \ " . [ ]    */
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
/* The following string represents the range of characters allowed in a
   username or domainname.  It really states which chars aren't allowed. */
var validChars="\[^\\s" + specialChars + "\]"
/* The following pattern applies if the "user" is a quoted string (in
   which case, there are no rules about which characters are allowed
   and which aren't; anything goes).  E.g. "jiminy cricket"@disney.com
   is a legal e-mail address. */
var quotedUser="(\"[^\"]*\")"
/* The following pattern applies for domains that are IP addresses,
   rather than symbolic names.  E.g. joe@[123.124.233.4] is a legal
   e-mail address. NOTE: The square brackets are required. */
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
/* The following string represents an atom (basically a series of
   non-special characters.) */
var atom=validChars + '+'
/* The following string represents one word in the typical username.
   For example, in john.doe@somewhere.com, john and doe are words.
   Basically, a word is either an atom or quoted string. */
var word="(" + atom + "|" + quotedUser + ")"
// The following pattern describes the structure of the user
var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
/* The following pattern describes the structure of a normal symbolic
   domain, as opposed to ipDomainPat, shown above. */
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")


/* Finally, let's start trying to figure out if the supplied address is
   valid. */

/* Begin with the coarse pattern to simply break up user@domain into
   different pieces that are easy to analyze. */
var matchArray=emailStr.match(emailPat)
if (matchArray==null) {
  /* Too many/few @'s or something; basically, this address doesn't
     even fit the general mould of a valid e-mail address. */
        return false
}
var user=matchArray[1]
var domain=matchArray[2]

// See if "user" is valid
if (user.match(userPat)==null) {
    // user is not valid
    return false
}

/* if the e-mail address is at an IP address (as opposed to a symbolic
   host name) make sure the IP address is valid. */
var IPArray=domain.match(ipDomainPat)
if (IPArray!=null) {
    // this is an IP address
          for (var i=1;i<=4;i++) {
            if (IPArray[i]>255) {

                return false
            }
    }
    return true
}

// Domain is symbolic name
var domainArray=domain.match(domainPat)
if (domainArray==null) {

    return false
}

/* domain name seems valid, but now make sure that it ends in a
   three-letter word (like com, edu, gov) or a two-letter word,
   representing country (uk, nl), and that there's a hostname preceding
   the domain or country. */

/* Now we need to break up the domain to get a count of how many atoms
   it consists of. */
var atomPat=new RegExp(atom,"g")
var domArr=domain.match(atomPat)
var len=domArr.length
if (domArr[domArr.length-1].length<2 ||
    domArr[domArr.length-1].length>5) {
   // the address must end in a two letter or three letter word.
   return false
}

// Make sure there's a host name preceding the domain.
if (len<2) {
   var errStr="This address is missing a hostname!"
   return false
}

// If we've gotten this far, everything's valid!
return true;
}
//  End -->




// Renvoi Faux si le champ ne contient pas une date
function EstDate(Text_Input)
{
	var passe=true;
	var Tous_les_numeros = "0123456789";
	if (Text_Input.value.length!=10) {passe=false;};

	if (passe==true)
	{
     if ( Tous_les_numeros.indexOf(Text_Input.value.substring(0,1))=="-1" ) passe=false;
	 if ( Tous_les_numeros.indexOf(Text_Input.value.substring(1,2))=="-1" ) passe=false;
	 if ( Text_Input.value.substring(2,3)!="-") passe=false;

	 if ( Tous_les_numeros.indexOf(Text_Input.value.substring(3,4))=="-1" ) passe=false;
	 if ( Tous_les_numeros.indexOf(Text_Input.value.substring(4,5))=="-1" ) passe=false;
	 if ( Text_Input.value.substring(5,6)!="-") passe=false;

	 if ( Tous_les_numeros.indexOf(Text_Input.value.substring(6,7))=="-1" ) passe=false;
	 if ( Tous_les_numeros.indexOf(Text_Input.value.substring(7,8))=="-1" ) passe=false;
	 if ( Tous_les_numeros.indexOf(Text_Input.value.substring(8,9))=="-1" ) passe=false;
	 if ( Tous_les_numeros.indexOf(Text_Input.value.substring(9,10))=="-1" ) passe=false;


	 if (passe==true)
	 {
	  if ( (Text_Input.value.substring(0,1)+Text_Input.value.substring(1,2))>31) passe=false;
	  if ( (Text_Input.value.substring(3,4)+Text_Input.value.substring(4,5))>12) passe=false;
	 }

	}
	return passe;
}

// Renvoi Faux si le champs autre chose que des point, virgule et numero
function EstNombre(Text_Input)
{
	var Tous_les_numeros = "0123456789.,"
	var passage = true;
	var temp;
	var pointvirg;
	pointvirg=0;
	for (var i=0; i<Text_Input.value.length; i++)
	{
		temp = "" + Text_Input.value.substring(i, i+1);
		if (Tous_les_numeros.indexOf(temp) == "-1") passage=false;
		if ( (temp==".")||(temp==",") )
			{pointvirg=pointvirg+1;}
	}
	if (pointvirg>1)
		{passage=false;}
	return passage;
}

// Renvoi Faux si le champs autre chose que des numero
function EstEntier(Text_Input)
{
	var Tous_les_numeros = "0123456789"
	var passage = true;
	var temp;
	for (var i=0; i<Text_Input.value.length; i++)
	{
		temp = "" + Text_Input.value.substring(i, i+1);
		if (Tous_les_numeros.indexOf(temp) == "-1") passage=false;
	}
	return passage;
}


// Renvoi Faux si le champ contient un nombre égal a 0 (exemple: 00 ou 0000)
function EstNul(Text_Input)
{
	var zero=true;
	for (var i=0; i<Text_Input.value.length; i++)
	{
		if (Text_Input.value.substring(i, i+1)!="0") zero=false;
	}
	return zero;
}


// Renvoi Vrai si le champ est vide ou contient autre chose qu'un nombre différent de 000...
function LetNulVide(Text_Input)
{
	if ( (!EstNombre(Text_Input))||(Text_Input.value=="")||(EstNul(Text_Input)) )
		{return true;} else {return false;};
}

function Radio_Check(radio)
{
	var Valid=false;
	if (radio.length)
		{
		for (var i=0;i<radio.length;i++)
			{ if (radio[i].checked) Valid=true;}
		if (Valid==false) { return false;};
		}
	else {

		 if (!radio.checked)
		 	{  return false;};
		};

	return true;

}


// VERIF CODE
function verif_code (form)
{
	regnumeric = new RegExp("^[0-9]{1,}$");
  	regcp = new RegExp("^[0-9]{5}$");
  	regtel = new RegExp("^[0-9]{10}$");
  	regmail = new RegExp("^.*@{1}.*[.].{2,}$");
	regfile = new RegExp("^.*.jpg$");
  	var i = 0, error = "", u = 0;
  	var numElements = form.length;

 	if(form.pass.value.length ==0)
	{
		error += "Vous devez retaper votre ancien mot de passe !\n";
	}

 	if(form.pass1.value.length ==0)
	{
		error += "Le champs mot de passe doit etre rempli !\n";
	}

 	if(form.pass2.value.length ==0)
	{
		error += "Vous devez retaper le mot de passe !\n";
	}

	if (error != "")
    {
      	alert(error);
      	return(false);
    }
  	if (error == "")
    {
      	return(true);
    }

}

// VERIF COORD
function verif_coord (form)
{
	regnumeric = new RegExp("^[0-9]{1,}$");
  	regcp = new RegExp("^[0-9]{5}$");
  	regtel = new RegExp("^[0-9]{10}$");
  	regmail = new RegExp("^.*@{1}.*[.].{2,}$");
	regfile = new RegExp("^.*.jpg$");
  	var i = 0, error = "", u = 0;
  	var numElements = form.length;

	if (form.cp.value.search(regnumeric) == -1)
	{
		error += "Code postal : Uniquement des chiffres !\n";
	}

	if ((form.telephone.value.search(regnumeric) == -1))
	{
		error += "Telephone : Uniquement des chiffres sans séparation!\n";
	}

	if(!EstEmail(form.email.value))
	{
		error += "Votre email n'est pas valide\n";
	}

	if (error != "")
    {
      	alert(error);
      	return(false);
    }
  	if (error == "")
    {
      	return(true);
    }

}

// VERIF AMI
function verif_ami (form)
{
	regnumeric = new RegExp("^[0-9]{1,}$");
  	regcp = new RegExp("^[0-9]{5}$");
  	regtel = new RegExp("^[0-9]{10}$");
  	regmail = new RegExp("^.*@{1}.*[.].{2,}$");
	regfile = new RegExp("^.*.jpg$");
  	var i = 0, error = "", u = 0;
  	var numElements = form.length;

 	if(form.nom.value.length ==0)
	{
		error += "Vous devez taper votre prénom !\n";
	}

	if(!EstEmail(form.emailexp.value))
	{
		error += "Votre email n'est pas valide\n";
	}

	if(!EstEmail(form.emaildes.value))
	{
		error += "Son email n'est pas valide\n";
	}

	if (error != "")
    {
      	alert(error);
      	return(false);
    }
  	if (error == "")
    {
      	return(true);
    }

}

// VERIF COORD
function verif_contact (form)
{
	regnumeric = new RegExp("^[0-9]{1,}$");
  	regcp = new RegExp("^[0-9]{5}$");
  	regtel = new RegExp("^[0-9]{10}$");
  	regmail = new RegExp("^.*@{1}.*[.].{2,}$");
	regfile = new RegExp("^.*.jpg$");
  	var i = 0, error = "", u = 0;
  	var numElements = form.length;

 	if(form.nom.value.length ==0)
	{
		error += "Votre nom et prénom doit être composé de caractères standards\n";
	}

	if (form.cp.value.search(regnumeric) == -1)
	{
		error += "Code postal : Uniquement des chiffres !\n";
	}

	if ((form.telephone.value.search(regnumeric) == -1))
	{
		error += "Telephone : Uniquement des chiffres sans séparation!\n";
	}

  	if(!EstEmail(form.email.value))
	{
		error += "Votre email n'est pas valide\n";
	}

 	if(form.mesg.value.length ==0)
	{
		error += "Vous devez renseigner un message\n";
	}

	if (error != "")
    {
      	alert(error);
      	return(false);
    }
  	if (error == "")
    {
      	return(true);
    }

}

// VERIF ALERTE
function verif_alerte (form)
{
	regnumeric = new RegExp("^[0-9]{1,}$");
  	regcp = new RegExp("^[0-9]{5}$");
  	regtel = new RegExp("^[0-9]{10}$");
  	regmail = new RegExp("^.*@{1}.*[.].{2,}$");
	regfile = new RegExp("^.*.jpg$");
  	var i = 0, error = "", u = 0;
  	var numElements = form.length;

        if(form.listMarque.selectedIndex==0 || form.listModele.selectedIndex==0)
        {
                error += 'Veuillez Préciser la marque et la Série/Modèle\n';
        }

        if(form.PrixMax.selectedIndex==0)
        {
                error += 'Veuillez Préciser obligatoirement votre budget pour votre recherche\n';
        }
        else
        {
            if(form.MillesimeMin.value > form.MillesimeMax.value)
            {
                    error += 'Attention le millesime minimum est supérieure au millesime maximum, merci de corriger.\n';
            }                
        }
        if(form.listEnergie.selectedIndex==0)
        {
                error += 'Veuillez Préciser le type de carburant\n';
        }

        if(form.MillesimeMin.selectedIndex==0)
        {
                error += 'Veuillez Préciser au moins à partir de quelle année millésime vous recherchez\n';
        }

        if(form.Kilometrage.selectedIndex==0)
        {
                error += 'Veuillez Préciser le kilométrage maximum de votre recherche\n';
        }


        //condition sur la tentative de login si un des deux login est vide ou les deux vides alors vérification du formulaire 
        if((form.email_login.value.length != 0 && form.passwd_login.value.length ==0) || (form.email_login.value.length == 0 && form.passwd_login.value.length !=0) || (form.email_login.value.length == 0 && form.passwd_login.value.length ==0))
        {
            if(form.nom.value.length ==0)
            {
                    error += "Votre nom et prénom doit être composé de caractères standards\n";
            }

            if (form.cp.value.search(regnumeric) == -1)
            {
                    error += "Code postal : Uniquement des chiffres !\n";
            }

            if ((form.telephone.value.search(regnumeric) == -1))
            {
                    error += "Telephone : Uniquement des chiffres sans séparation!\n";
            }

            if (form.telephone.value.length < 10)
            {
                    error += "Telephone incorrect - moins de 10 chiffres !\n";
            }

            if (form.telephone.value == "0000000000")
            {
                    error += "Telephone incorrect !\n";
            }
            if (form.telephone.value == "1111111111")
            {
                    error += "Telephone incorrect !\n";
            }

            if(!EstEmail(form.email.value))
            {
                    error += "Votre email n'est pas valide\n";
            }

            if(form.passwd.value.length ==0)
            {
                    error += "Vous devez indiquer un mot de passe\n";
            }
        }

    if (error != "")
    {
        //condition particulière si il y a une erreur dans le form d'inscription et que l'on a une tentative de login message supplèmentaire
        if((form.email_login.value.length != 0 && form.passwd_login.value.length ==0) || (form.email_login.value.length == 0 && form.passwd_login.value.length !=0))
        {
             error += 'Si vous souhaitez vous connecter avec un compte merci de renseigner le mot de passe et votre email \n';
        }
        
      	alert(error);
      	return(false);
    }
  	if (error == "")
    {
      	return(true);
    }

}

// VERIF ALERTE
function verif_cmd (form)
{
	regnumeric = new RegExp("^[0-9]{1,}$");
  	regcp = new RegExp("^[0-9]{5}$");
  	regtel = new RegExp("^[0-9]{10}$");
  	regmail = new RegExp("^.*@{1}.*[.].{2,}$");
	regfile = new RegExp("^.*.jpg$");
  	var i = 0, error = "", u = 0;
  	var numElements = form.length;

    if(form.listMarque.selectedIndex==0 || form.listModele.selectedIndex==0)
    {
            error += 'Veuillez Préciser la marque et la Série/Modèle\n';
    }

    //condition sur la tentative de login si un des deux login est vide ou les deux vides alors vérification du formulaire 
    if((form.email_login.value.length != 0 && form.passwd_login.value.length ==0) || (form.email_login.value.length == 0 && form.passwd_login.value.length !=0) || (form.email_login.value.length == 0 && form.passwd_login.value.length ==0))
    {
    	if(form.nom.value.length ==0)
	{
		error += "Votre nom et prénom doit être composé de caractères standards\n";
	}

	if (form.cp.value.search(regnumeric) == -1)
	{
		error += "Code postal : Uniquement des chiffres !\n";
	}

	if ((form.telephone.value.search(regnumeric) == -1))
	{
		error += "Telephone : Uniquement des chiffres sans séparation!\n";
	}

	if(!EstEmail(form.email.value))
	{
		error += "Votre email n'est pas valide\n";
	}

 	if(form.passwd.value.length ==0)
	{
		error += "Vous devez indiquer un mot de passe\n";
	}
    }
    if (error != "")
    {
        //condition particulière si il y a une erreur dans le form d'inscription et que l'on a une tentative de login message supplèmentaire
        if((form.email_login.value.length != 0 && form.passwd_login.value.length ==0) || (form.email_login.value.length == 0 && form.passwd_login.value.length !=0))
        {
             error += 'Si vous souhaitez vous connecter avec un compte merci de renseigner le mot de passe et votre email \n';
        }
        
      	alert(error);
      	return(false);
    }
    if (error == "")
    {
      	return(true);
    }

}
//VERIF ALERTE
function verif_contact_pro (form){
	regnumeric = new RegExp("^[0-9]{1,}$");
  	regcp = new RegExp("^[0-9]{5}$");
  	regtel = new RegExp("^[0-9]{10}$");
  	regmail = new RegExp("^.*@{1}.*[.].{2,}$");
	regfile = new RegExp("^.*.jpg$");
  	var i = 0, error = "", u = 0;
  	var numElements = form.length;
  	
	if(form.nomsociete.value.length ==0)
	{
		error += "Veuillez préciser votre nom de société\n";
	}

	if(form.nomcontact.value.length ==0)
	{
		error += "Votre nom et prénom doit etre renseigné\n";
	}

	if(form.adresse.value.length ==0)
	{
		error += "Adresse manquante\n";
	}

	if (form.cp.value.search(regnumeric) == -1)
	{
		error += "Code postal : Uniquement des chiffres !\n";
	}

	if(form.ville.value.length ==0)
	{
		error += "Ville manquante\n";
	}

	if ((form.tel.value.search(regnumeric) == -1))
	{
		error += "Telephone : Uniquement des chiffres sans séparation!\n";
	}

	if(!EstEmail(form.email.value))
	{
		error += "Votre email n'est pas valide\n";
	} 	
	if(form.code.value.length ==0)
	{
		error += "Veuillez saisir le code de controle\n";
	}	
	if (error != "")
    {
      	alert(error);
      	return(false);
    }else{
    	form.submit();
    }	
  	
}
// VERIF ALERTE
function verif_contrat (form)
{
	regnumeric = new RegExp("^[0-9]{1,}$");
  	regcp = new RegExp("^[0-9]{5}$");
  	regtel = new RegExp("^[0-9]{10}$");
  	regmail = new RegExp("^.*@{1}.*[.].{2,}$");
	regfile = new RegExp("^.*.jpg$");
  	var i = 0, error = "", u = 0;
  	var numElements = form.length;

	if(form.nomsociete.value.length ==0)
	{
		error += "Veuillez préciser votre nom de société\n";
	}

	if(form.nomcontact.value.length ==0)
	{
		error += "Votre nom et prénom doit etre renseigné\n";
	}

	if(form.adresse.value.length ==0)
	{
		error += "Adresse manquante\n";
	}

	if (form.cp.value.search(regnumeric) == -1)
	{
		error += "Code postal : Uniquement des chiffres !\n";
	}

	if(form.ville.value.length ==0)
	{
		error += "Ville manquante\n";
	}

	if ((form.tel.value.search(regnumeric) == -1))
	{
		error += "Telephone : Uniquement des chiffres sans séparation!\n";
	}

	if(!EstEmail(form.email.value))
	{
		error += "Votre email n'est pas valide\n";
	}

	if(form.etabli.value.length ==0)
	{
		error += "Votre code etablissement est manquant ou incorrect\n";
	}

	if(form.guiche.value.length ==0)
	{
		error += "Votre code guichet est manquant ou incorrect\n";
	}

	if(form.numcompte.value.length ==0)
	{
		error += "Votre numéro de compte est manquant ou incorrect\n";
	}

	if(form.cle.value.length ==0)
	{
		error += "Votre clé de RIB est manquante ou incorrect\n";
	}

	if(form.domiciliation.value.length ==0)
	{
		error += "Vous devez spécifier le nom de votre banque\n";
	}

	if (form.cgv.checked==false)
	{
		error += "Vous n'avez pas accepté les conditions générales de vente\n";
	}



    if (error != "")
    {
      	alert(error);
      	return(false);
    }
  	if (error == "")
    {
      	return(true);
    }

}

// VERIF ALERTE
function verif_cmd_loge (form)
{
	regnumeric = new RegExp("^[0-9]{1,}$");
  	regcp = new RegExp("^[0-9]{5}$");
  	regtel = new RegExp("^[0-9]{10}$");
  	regmail = new RegExp("^.*@{1}.*[.].{2,}$");
	regfile = new RegExp("^.*.jpg$");
  	var i = 0, error = "", u = 0;
  	var numElements = form.length;



	if(form.listMarque.selectedIndex==0 || form.listModele.selectedIndex==0)
	{
		error += 'Veuillez Préciser la marque et la Série/Modèle\n';
	}

	if(form.nom.value.length ==0)
	{
		error += "Votre nom et prénom doit être composé de caractères standards\n";
	}

	if (form.cp.value.search(regnumeric) == -1)
	{
		error += "Code postal : Uniquement des chiffres !\n";
	}

	if ((form.telephone.value.search(regnumeric) == -1))
	{
		error += "Telephone : Uniquement des chiffres sans séparation!\n";
	}

	if(!EstEmail(form.email.value))
	{
		error += "Votre email n'est pas valide\n";
	}

 	if (error != "")
    {
      	alert(error);
      	return(false);
    }
  	if (error == "")
    {
      	return(true);
    }

}

// VERIF ALERTE
function verif_alerte_loge (form)
{
	regnumeric = new RegExp("^[0-9]{1,}$");
  	regcp = new RegExp("^[0-9]{5}$");
  	regtel = new RegExp("^[0-9]{10}$");
  	regmail = new RegExp("^.*@{1}.*[.].{2,}$");
	regfile = new RegExp("^.*.jpg$");
  	var i = 0, error = "", u = 0;
  	var numElements = form.length;

	if(form.listMarque.selectedIndex==0 || form.listModele.selectedIndex==0)
	{
		error += 'Veuillez Préciser la marque et la Série/Modèle\n';
	}

	if(form.PrixMax.selectedIndex==0)
	{
		error += 'Veuillez Préciser obligatoirement votre budget pour votre recherche\n';
	}
	
	if (error != "")
    {
      	alert(error);
      	return(false);
    }
  
    if (error == "")
    {
    	alert('Votre recherche a bien été modifiée. Celle ci va être de nouveau vérifiée par un de nos modérateurs qui la revalidera d\'ici quelques heures');
      	return(true);
    }

}

// VERIF ALERTE
function verif_alerte_attente (form)
{
	regnumeric = new RegExp("^[0-9]{1,}$");
  	regcp = new RegExp("^[0-9]{5}$");
  	regtel = new RegExp("^[0-9]{10}$");
  	regmail = new RegExp("^.*@{1}.*[.].{2,}$");
	regfile = new RegExp("^.*.jpg$");
  	var i = 0, error = "", u = 0;
  	var numElements = form.length;
        

        if(form.listMarque.selectedIndex==0 || form.listModele.selectedIndex==0)
        {
                error += 'Veuillez Préciser la marque et la Série/Modèle\n';
        }

        if(form.PrixMax.selectedIndex==0)
        {
                error += 'Veuillez indiquer un budget pour votre recherche\n';
        }
        
        /*
        if(form.listEnergie.selectedIndex==0)
        {
                error += 'Veuillez Préciser la carburation\n';
        }

        if(form.MillesimeMin.selectedIndex==0)
        {
                error += 'Veuillez Préciser au moins à partir de quelle année millésime vous recherchez\n';
        }
        if(form.Kilometrage.selectedIndex==0)
        {
                error += 'Veuillez Préciser le kilométrage maximum de votre recherche\n';
        }

        if ((form.telc.value.search(regnumeric) == -1))
        {
                error += "Telephone : Uniquement des chiffres sans séparation!\n";
        }
		*/
	
        if(form.passwd.value.length ==0)
        {
                error += "Veuillez saisir votre mot de passe pour enregistrer vos modifications.\n";
        }  

        if (error != '')
        {
        	displayErrorMsg(error);
        	return(false);
        }
        else
        	return(true);
}

// VERIF SAME CRITERE
function verif_samecrit (form)
{
	regnumeric = new RegExp("^[0-9]{1,}$");
  	regcp = new RegExp("^[0-9]{5}$");
  	regtel = new RegExp("^[0-9]{10}$");
  	regmail = new RegExp("^.*@{1}.*[.].{2,}$");
	regfile = new RegExp("^.*.jpg$");
  	var i = 0, error = "", u = 0;
  	var numElements = form.length;

	if(form.listMarque.selectedIndex==0 || form.listModele.selectedIndex==0)
	{
		error += 'Veuillez Préciser la marque et la Série/Modèle\n';
	}

	if (error != "")
    {
      	alert(error);
      	return(false);
    }
  	if (error == "")
    {
      	return(true);
    }

}

// AJAX

function getHTTPObject()
{
	var xmlhttp = false;

	// On essaye de rÃ©cupÃ©rer l'objet XMLHTTPRequest selon le navigateur (IE, Firefox...)
	try
	{
		// Internet Explorer
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch (e)
	{
		try
		{
			// Autres navigateurs
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch (E)
		{
			// Sinon l'objet XMLHTTPRequest n'existe pas
			xmlhttp = false;
		}
	}

	// Si l'objet XMLHTTPRequest existe, on en crÃ©e une instance
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined')
	{
		try
		{
			xmlhttp = new XMLHttpRequest();
		}

		catch (e)
		{
			xmlhttp = false;
		}
	}

	return xmlhttp;
}


function change(changed,f)
{

	if (changed == 1) // Mise à jour des modèles des constructeurs
	{
		var xhr_Modele = getHTTPObject();
		majListe('listModele', xhr_Modele, 'majModeleAlerte.php', 1,f);
	}
	if (changed == 2) // Mise à jour des stage de piulotage
	{
		var xhr_Modele = getHTTPObject();
		majListe2('listModele2', xhr_Modele, 'majModeleAlerte.php', 1,f);
	}
	if (changed == 3) // Mise à jour des stage de piulotage
	{
		var xhr_Modele = getHTTPObject();
		majListe3('listModeleSameCrit', xhr_Modele, 'majModeleAlerte.php', 1,f);
	}
	if (changed == 4) // Mise à jour des stage de piulotage
	{
		var xhr_Modele = getHTTPObject();
		majListe4('listModele', xhr_Modele, 'majNbTek.php', 1,f);
	}
	if (changed == 5) // Mise à jour des stage de piulotage
	{
		var xhr_Modele = getHTTPObject();
		majListe5('listModeleAcheteur', xhr_Modele, 'majModeleAlerte.php', 1,f);
	}
	if (changed == 6) // Mise à jour des stage de piulotage
	{
		var xhr_Modele = getHTTPObject();
		majListe('listModele', xhr_Modele, 'majModeleAlerte2.php', 1,f);
	}
	if (changed == 7) // Mise à jour des stage de piulotage
	{
		var xhr_Modele = getHTTPObject();
		majListe6('listModele', xhr_Modele, 'majNbTek2.php', 1,f);
	}
	if (changed == 8) // Mise à jour de l'année
	{
		var xhr_Modele = getHTTPObject();
		majAnnee('MillesimeMax', xhr_Modele, 'majAnn.php', 1,f);
	}
}

function ajoutPanier(id) {

  var xhr_Panier = getHTTPObject();

  url = 'modules/majPanier.php?s=a&id='  + id;

	xhr_Panier.onreadystatechange = function()
	{
		if (xhr_Panier.readyState == 1 || xhr_Panier.readyState == 2)
		{

		}
		if (xhr_Panier.readyState == 4)
		{
			eval(xhr_Panier.responseText);
		}
	}
	xhr_Panier.open("GET",	url, true);
	xhr_Panier.send(null);
}

function supprPanier(id,urlx) {

  var xhr_Panier = getHTTPObject();

  url = 'modules/majPanier.php?s=d&id='  + id;


	xhr_Panier.open("GET",	url, true);
	xhr_Panier.send(null);

	window.location=urlx+'.php';


}

function vidPanier() {

  var xhr_Panier = getHTTPObject();

  url = 'modules/majPanier.php?s=l';


	xhr_Panier.open("GET",	url, true);
	xhr_Panier.send(null);

	xhr_Panier.onreadystatechange = function()
	{
		if (xhr_Panier.readyState == 1 || xhr_Panier.readyState == 2)
		{

		}
		if (xhr_Panier.readyState == 4)
		{
			window.location='autotheque.php';
		}
	}
	xhr_Panier.open("GET",	url, true);
	xhr_Panier.send(null);

}

function majListe(liste, xhr_maj, fichier, changed,f)
{
	url = 'modules/' + fichier +
	'?idmarque='+ escape(f.listMarque.value) +
	'&liste=' 	+ escape(liste);

	xhr_maj.onreadystatechange = function()
	{
		if (xhr_maj.readyState == 1 || xhr_maj.readyState == 2)
		{
			f.elements[liste].options.length = 0;
			f.elements[liste].options[f.elements[liste].options.length] = new Option('Chargement ...', '0');
		}
		if (xhr_maj.readyState == 4)
		{
			eval(xhr_maj.responseText);
		}
	}
	xhr_maj.open("GET",	url, true);
	xhr_maj.send(null);
}

function majAnnee(liste, xhr_maj, fichier, changed,f)
{
	url = 'modules/' + fichier +
	'?anneemin='+ escape(f.MillesimeMin.value) +
	'&liste=' 	+ escape(liste);

	xhr_maj.onreadystatechange = function()
	{

		if (xhr_maj.readyState == 4)
		{
			eval(xhr_maj.responseText);
		}
	}
	xhr_maj.open("GET",	url, true);
	xhr_maj.send(null);
}

function majListe2(liste, xhr_maj, fichier, changed,f)
{
	url = 'modules/' + fichier +
	'?idmarque='+ escape(f.listMarque2.value) +
	'&liste=' 	+ escape(liste);

	xhr_maj.onreadystatechange = function()
	{
		if (xhr_maj.readyState == 1 || xhr_maj.readyState == 2)
		{
			f.elements[liste].options.length = 0;
			f.elements[liste].options[f.elements[liste].options.length] = new Option('Chargement ...', '0');
		}
		if (xhr_maj.readyState == 4)
		{
			eval(xhr_maj.responseText);
		}
	}
	xhr_maj.open("GET",	url, true);
	xhr_maj.send(null);
}

function majListe3(liste, xhr_maj, fichier, changed,f)
{
	url = 'modules/' + fichier +
	'?idmarque='+ escape(f.listMarqueSameCrit.value) +
	'&liste=' 	+ escape(liste);

	xhr_maj.onreadystatechange = function()
	{
		if (xhr_maj.readyState == 1 || xhr_maj.readyState == 2)
		{
			f.elements[liste].options.length = 0;
			f.elements[liste].options[f.elements[liste].options.length] = new Option('Chargement ...', '0');
		}
		if (xhr_maj.readyState == 4)
		{
			eval(xhr_maj.responseText);
		}
	}
	xhr_maj.open("GET",	url, true);
	xhr_maj.send(null);
}

function majListe4(liste, xhr_maj, fichier, changed,f)
{
	url = 'modules/' + fichier +
	'?idmarque='+ escape(f.listMarqueAcheteur.value) +
	'&idserie='+ escape(f.listModeleAcheteur.value) +
	'&idcat='+ escape(f.listCat.value) +
	'&prixmax='+ escape(f.PrixMax.value) +
	'&region='+ escape(f.Region.value) +
	'&annee='+ escape(f.MillesimeMin.value) +
	'&energie='+ escape(f.Energie.value) +
	'&km='+ escape(f.Kilometrage.value) +
	'&liste=' 	+ escape(liste);

	xhr_maj.onreadystatechange = function()
	{
		if (xhr_maj.readyState == 1 || xhr_maj.readyState == 2)
		{

		}
		if (xhr_maj.readyState == 4)
		{
			eval(xhr_maj.responseText);
		}
	}
	xhr_maj.open("GET",	url, true);
	xhr_maj.send(null);
}

function majListe5(liste, xhr_maj, fichier, changed, f)
{
	url = 'modules/' + fichier +
	'?idmarque='+ escape(f.listMarqueAcheteur.value) +
	'&liste=' 	+ escape(liste);

	xhr_maj.onreadystatechange = function()
	{
		if (xhr_maj.readyState == 1 || xhr_maj.readyState == 2)
		{
			f.elements[liste].options.length = 0;
			f.elements[liste].options[f.elements[liste].options.length] = new Option('Chargement ...', '0');
		}
		if (xhr_maj.readyState == 4)
		{
			eval(xhr_maj.responseText);
		}
	}
	xhr_maj.open("GET",	url, true);
	xhr_maj.send(null);
}

function majListe6(liste, xhr_maj, fichier, changed,f)
{
	url = 'modules/' + fichier +
	'?idserie='+ escape(f.listModele.value) +
	'&liste=' 	+ escape(liste);

	xhr_maj.onreadystatechange = function()
	{
		if (xhr_maj.readyState == 1 || xhr_maj.readyState == 2)
		{

		}
		if (xhr_maj.readyState == 4)
		{
			eval(xhr_maj.responseText);
		}
	}
	xhr_maj.open("GET",	url, true);
	xhr_maj.send(null);
}

/********************************************************************************************/
// Les regexp de contrôle des champs 
regnumeric = new RegExp("^[0-9]{1,}$");
regcp = new RegExp("^[0-9]{5}$");
regtel = new RegExp("^[0-9]{10}$");
regmail = new RegExp("^.*@{1}.*[.].{2,}$");
regfile = new RegExp("^.*.jpg$");

// Fonction standard d'affichage des messages d'erreur JS
function displayErrorMsg(content)
{
	alert('Votre demande comporte les erreurs suivantes : \n\n'+content+'\n Merci de les corriger.');
}

// Gestion du enable/disabled sur les champs "Reprise" en fonction de la case à cocher 
function refreshReprise()
{
	var to_disable = !document.getElementById('marque_reprise').disabled;
	
	if(to_disable == true)
	{
		document.getElementById('marque_reprise').selectedIndex = 0;
		document.getElementById('modele_reprise').selectedIndex = 0;
		document.getElementById('description_reprise').value = '';
	}
	
	document.getElementById('marque_reprise').disabled = to_disable;
	document.getElementById('modele_reprise').disabled = to_disable;
	document.getElementById('description_reprise').disabled = to_disable;
}

// Fonction appelée lors de la soumission du formulaire de dépôt d'un nouvel Appel d'Offre. 
function sendNewAo(pZoneGeoActived)
{
	var error = '';
  	var formulaire = document.getElementById('form_depot_ao');
	
    if(formulaire.marque.selectedIndex == 0 || formulaire.modele.selectedIndex == 0)
    {
    	error += '\t- Veuillez préciser la marque et le modèle de la voiture que vous recherchez\n';
    }

    if(pZoneGeoActived == true)
    {
    	var zone_geo_checked = false;
    	for(var i=0; i<formulaire.zone_geo.length; i++)
    	{
    		if(formulaire.zone_geo[i].checked)
    			zone_geo_checked = true;
    	}
    	
    	if(zone_geo_checked == false)
    		error += '\t- Merci d\'indiquer la zone géographique de votre recherche.\n';
    }
    
    if(formulaire.budget.value == '' || formulaire.budget.value == 0)
    {
    	error += '\t- Veuillez préciser un budget\n';
    }
    
    if(formulaire.annee_min.value != '' && formulaire.annee_max.value != '' && formulaire.annee_min.value > formulaire.annee_max.value)
    {
    	error += '\t- L\'année minimum est supérieure à l\'année maximum.\n';
    }                
    
    if (error != '')
    	displayErrorMsg(error);
    else
      	formulaire.submit();
}

//fonction appelée lors de la soumission du formulaire de dépot d'un nouvel Appel d'Offre / Nouvelle inscription
function sendNewAoAndClient(pZoneGeoActived)
{
    var error = '';
    var formulaire = document.getElementById('form_depot_ao');
	
    if(formulaire.marque.selectedIndex == 0 || formulaire.modele.selectedIndex == 0)
    {
    	error += '\t- Veuillez préciser la marque et le modèle de la voiture que vous recherchez\n';
    }

    if(pZoneGeoActived == true)
    {
    	var zone_geo_checked = false;
    	for(var i=0; i<formulaire.zone_geo.length; i++)
    	{
    		if(formulaire.zone_geo[i].checked)
    			zone_geo_checked = true;
    	}
    	
    	if(zone_geo_checked == false)
    		error += '\t- Merci d\'indiquer la zone géographique de votre recherche.\n';
    }
    
    if(formulaire.budget.value == '' || formulaire.budget.value == 0)
    {
    	error += '\t- Veuillez préciser un budget\n';
    }
    
    if(formulaire.annee_min.value != '' && formulaire.annee_max.value != '' && formulaire.annee_min.value > formulaire.annee_max.value)
    {
    	error += '\t- L\'année minimum est supérieure à l\'année maximum.\n';
    }
    
    // Si login complet, on envoi le form
    if (typeof formulaire.email_login !== "undefined" && typeof formulaire.passwd_login !== "undefined") 
    {
        if(formulaire.email_login.value != '' && formulaire.passwd_login.value != '')
        {
            if(error == '')
            {
                formulaire.submit();
            }
        }
        else
        {	// Sinon on considère que c'est une inscription
                if(formulaire.dept.options[formulaire.dept.selectedIndex].value == '')
                        error += '\t- Veuillez préciser votre département\n';

                if(formulaire.email.value == '')
                        error += '\t- Veuillez indiquer votre adresse email\n';
                else
                {	
                        if(formulaire.email2.value == '')
                                error += '\t- Veuillez saisir la confirmation de votre email\n';
                        else
                        {
                                if(formulaire.email.value != formulaire.email2.value)
                                        error += '\t- L\'email saisi et sa confirmation ne sont pas identiques\n';
                        }
                }

                if(formulaire.passwd.value == '')
                        error += '\t- Veuillez saisir un mot de passe\n';

                if(!formulaire.valid_cgu.checked)
                        error += '\t- Veuillez accepter les Conditions Générales d\'Utilisation du site pour continuer\n';
        }
    }

    
    if (error != '')
    	displayErrorMsg(error);
    else
      	formulaire.submit();
}

//Fonction appelée lors de la soumission du formulaire de dépôt d'un nouvel Appel d'Offre. 
function sendNewAoBasedOnPrecAo()
{
	var error = '';
  	var formulaire = document.getElementById('form_depot_same_ao');
	
    if(formulaire.marque.selectedIndex == 0 || formulaire.modele.selectedIndex == 0)
    {
    	error += '\t- Veuillez préciser la marque et le modèle de la voiture que vous recherchez\n';
    }

    if (error != '')
    	displayErrorMsg(error);
    else
      	formulaire.submit();
}

// Fonction de création d'un HttpRequest AJAX
function createHttpRequest()
{
	var resultat = null;
	
	try 
	{	// Mozilla, Opéra, ...
		resultat = new XMLHttpRequest();
	}
	catch (Error)
	{
		try
		{ // IE
			resultat = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (Error)
		{
			resultat = null;
		}
	}
	
	resultat.open("post", "controler.php");
	resultat.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	
	return resultat;
}

// Fonction créant une QueryString à partir des champs du formulaire transmis en parametre
function getFormParametersUrl(formObject)
{
	var result = '';
	var first = true;
	
	for (var i=0;i<formObject.length;i++)
	{
		var to_add = '';
		
		if (formObject.elements[i].type != 'checkbox' || (formObject.elements[i].type == 'checkbox' && formObject.elements[i].checked))
		{
			if (first)
			{
				result += formObject.elements[i].name+'='+trim(formObject.elements[i].value);
				first = false;
			}
			else
				result += '&'+formObject.elements[i].name+'='+trim(formObject.elements[i].value);
		}
	}
	
	return result;
}

// Fonction chargée de raffraichir le contenu de la liste déroulante des modèles.
function refreshModelesList(field_name, id_marque, default_label)
{
	var first_item = ' - Sélectionnez - ';
	
	if(default_label != undefined || default_label != null)
		first_item = default_label;	
	
	field_modeles = document.getElementById(field_name);
	
	// Vide la liste déroulante
	field_modeles.options.length=0;
	field_modeles.options[0] = new Option('Chargement ...', '');
	
	
	if(id_marque == '')
	{
		field_modeles.options[0] = new Option(first_item, '');
	}
	else
	{
		httpRequest = createHttpRequest();
		httpRequest.open("post", "controler.php");
		httpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		
		var data = "action=tools-getmodeles&id_marque="+id_marque;
			
		httpRequest.onreadystatechange = 
			function() 
			{
				if (httpRequest.readyState == 4) 
				{
					var liste_modeles = eval(httpRequest.responseText);
					field_modeles.options[0] = new Option(first_item, '');
					for(var i=0; i<liste_modeles.length; i++)
					{
						field_modeles.options[i+1] = new Option(liste_modeles[i].nom_serie_auto, liste_modeles[i].id_serie_auto);
					}
					
				}
			} 
		
		httpRequest.send(data);
	}
}

//Fonction appelée lors de la soumission du formulaire d'incription suite à dépot d'un AO
function sendInscription()
{
	var error = '';
  	var formulaire = document.getElementById('form_inscription');
	
    // Si login complet, on envoi le form
  	if(formulaire.email_login.value != '' && formulaire.passwd_login.value != '')
    	formulaire.submit();
  	else
  	{	// Sinon on considère que c'est une inscription
  		if(formulaire.dept.options[formulaire.dept.selectedIndex].value == '')
  			error += '\t- Veuillez préciser votre département\n';
  		
  		if(formulaire.email.value == '')
  			error += '\t- Veuillez indiquer votre adresse email\n';
  		
  		if(formulaire.passwd.value == '')
  			error += '\t- Veuillez saisir un mot de passe\n';
  		else
  		{	
	  		if(formulaire.passwd2.value == '')
	  			error += '\t- Veuillez saisir la confirmation de votre mot de passe\n';
	  		else
	  		{
	  			if(formulaire.passwd.value != formulaire.passwd2.value)
	  	  			error += '\t- Le mot de passe saisi et sa confirmation ne sont pas identiques\n';
	  	  	}
  		}
  		
  		if(!formulaire.valid_cgu.checked)
  			error += '\t- Veuillez accepter les Conditions Générales d\'Utilisation du site pour continuer\n';
  		
  		if (error != '')
  			
  	    	displayErrorMsg(error);
  	    else
  	      	formulaire.submit();
  	}
}

//Fonction appelée lors de la soumission du formulaire de modification du compte
function sendModifCompte()
{
	var error = '';
  	var formulaire = document.getElementById('form_modif_compte');
	
    // Sinon on considère que c'est une inscription
  	if(formulaire.dept.options[formulaire.dept.selectedIndex].value == '')
  		error += '\t- Veuillez préciser votre département\n';
  	
  	if(formulaire.email.value == '')
  		error += '\t- Veuillez indiquer votre adresse email\n';
  	
  	if (error != '')
  	   	displayErrorMsg(error);
  	else
  	   	formulaire.submit();
}

