// Vérification si la chaine est vide
function VerifVide(textbox,labelid,msg1,listeerreurs,message){
	if (textbox.value == '')
	{
		document.getElementById(labelid).style.color="red";
    	message+=msg1;
    	return message;
	}
	else
	{
		document.getElementById(labelid).style.color="#9d0c15";
    	return message;	
    }
}

// Vérification si la chaine est vide ou si de mauvais caractères ont été tapés
function VerifVideetCarac(textbox,labelid,msg1,msg2,listeerreurs,message){

	if (textbox.value == '')
	{
		document.getElementById(labelid).style.color="red";
		
    	message+=msg1;
    	return message;
	}
	else
	{
		//Vérification des caractères
		//var où l on stock le nombre de caractères total
		var nbrcar = textbox.value.length;
		var chaine = textbox.value;
		
		//var de retour boolean true ou false
		var ret = true;
		
		//var définissant les caractères authorisés	
		var goodcar = "@0123456789.-_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWYXZ/ ";
		
		for(cnt=0;cnt<nbrcar;cnt++) 
		{
		    //Récupération du caractère courant
		    var car = chaine.substr(cnt,1);
		    
		    //Si le caractère est authorisé
		    if(goodcar.indexOf(car) >= 0) 
		    {
		    }
		    else
		    {
				//Affectation Faux à la var de retour
				ret = false;				
				//On sort de la boucle
				break;
			}
		}
		if (ret == false)
		{
			document.getElementById(labelid).style.color="red";
			message+=msg2;
			return message;
		}
		else
		{
			document.getElementById(labelid).style.color="#9d0c15";
			return message;
		}
	}
	
}

// Même principe que VerifVideetCarac seulement pas de label
function VerifVideetCaracSansLabel(textbox,msg1,msg2,listeerreurs,message){

	if (textbox.value == '')
	{
    	message+=msg1;
    	return message;
	}
	else
	{
		//Vérification des caractères
		//var où l on stock le nombre de caractères total
		var nbrcar = textbox.value.length;
		var chaine = textbox.value;
		
		//var de retour boolean true ou false
		var ret = true;
		
		//var définissant les caractères authorisés	
		var goodcar = "@0123456789.-_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWYXZ/ ";
		
		for(cnt=0;cnt<nbrcar;cnt++) 
		{
		    //Récupération du caractère courant
		    var car = chaine.substr(cnt,1);
		    
		    //Si le caractère est authorisé
		    if(goodcar.indexOf(car) >= 0) 
		    {
		    }
		    else
		    {
				//Affectation Faux à la var de retour
				ret = false;
				//On sort de la boucle
				break;
			}
		}
		if (ret == false)
		{
			message+=msg2;
			return message;
		}
		else
		{
			return message;
		}
	}
}

// Même principe que VerifVideetCarac seulement avec cette fonction la saisie d'informations est facultative et il n'y a pas de label colorié en rouge en cas d'erreur
function VerifCaracFac(textbox,msg1,listeerreurs,message){

	if (textbox.value == '')
	{
	  return message;
	}
	else
	{
		//Vérification des caractères
		//var où l on stock le nombre de caractères total
		var nbrcar = textbox.value.length;
		var chaine = textbox.value;
		
		//var de retour boolean true ou false
		var ret = true;
		
		//var définissant les caractères authorisés	
		var goodcar = "@0123456789.-_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWYXZ/ ";
		
		for(cnt=0;cnt<nbrcar;cnt++) 
		{
		    //Récupération du caractère courant
		    var car = chaine.substr(cnt,1);
		    
		    //Si le caractère est authorisé
		    if(goodcar.indexOf(car) >= 0) 
		    {
		    }
		    else
		    {
				//Affectation Faux à la var de retour
				ret = false;
				break;
			}
		}
		if (ret == false)
		{
			message+=msg1;
			return message;
		}
		else
		{ 
			return message;
		}
	}
}

// Même principe que VerifVideetCarac seulement avec cette fonction la saisie d'informations est facultative
function VerifCaracFacLabel(textbox,labelid,msg1,listeerreurs,message){

	if (textbox.value == '')
	{
	  document.getElementById(labelid).style.color="#9d0c15";
	  return message;
	}
	else
	{
		//Vérification des caractères
		//var où l on stock le nombre de caractères total
		var nbrcar = textbox.value.length;
		var chaine = textbox.value;
		
		//var de retour boolean true ou false
		var ret = true;
		
		//var définissant les caractères authorisés	
		var goodcar = "@0123456789.-_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWYXZ/ ";
		
		for(cnt=0;cnt<nbrcar;cnt++) 
		{
		    //Récupération du caractère courant
		    var car = chaine.substr(cnt,1);
		    
		    //Si le caractère est authorisé
		    if(goodcar.indexOf(car) >= 0) 
		    {
		    }
		    else
		    {
				//Affectation Faux à la var de retour
				ret = false;
				break;
			}
		}
		if (ret == false)
		{
			document.getElementById(labelid).style.color="red";
			message+=msg1;
			return message;
		}
		else
		{ 
			document.getElementById(labelid).style.color="#9d0c15";
			return message;
		}
	}
}

// Vérification de la validité de l'adresse email (facultative)
function VerifMail(textbox,labelid,msg1,listeerreurs,message) {
  var mail = textbox.value;
  
  if (mail == '')
  {
      document.getElementById(labelid).style.color="#9d0c15";
      return message;
  }
  else
  {
	  if (mail.search(/^[-a-zA-Z0-9._]*[-a-zA-Z0-9_]@[-a-zA-Z0-9_]+(\.[-a-zA-Z0-9_]+)*\.[a-zA-Z]{2,3}$/) < 0)
	  {
	    document.getElementById(labelid).style.color="red";
      	message+=msg1;
      	return message;
	  }
	  else
	  {
	    document.getElementById(labelid).style.color="#9d0c15";
	    return message;
	  }
  }
}

// Vérification de la validité de l'adresse email (obligatoire)
function VerifMailObli(textbox,labelid,msg1,msg2,listeerreurs,message) {
  var mail = textbox.value;
  
  if (mail == '')
  {
      document.getElementById(labelid).style.color="red";
      message+=msg1;
      return message;
  }
  else
  {
	  if (mail.search(/^[-a-zA-Z0-9._]*[-a-zA-Z0-9_]@[-a-zA-Z0-9_]+(\.[-a-zA-Z0-9_]+)*\.[a-zA-Z]{2,3}$/) < 0)
	  {
	    document.getElementById(labelid).style.color="red";
      	message+=msg2;
      	return message;
	  }
	  else
	  {
	    document.getElementById(labelid).style.color="#9d0c15";
	    return message;
	  }
  }
}

// Vérification de la validité du numéro de tel (obligatoire)
function VerifTel(textbox,labelid,msg1,listeerreurs,message){
	var tel = textbox.value; 
    if (tel.search(/^([0-9]{2})( )([0-9]{2})( )([0-9]{2})( )([0-9]{2})( )([0-9]{2})$/) == -1)
    {
    	document.getElementById(labelid).style.color="red";
    	message+=msg1;
    	return message;
    }
    else
    {
    	document.getElementById(labelid).style.color="#9d0c15";
    	return message;
    }
}

// Vérification de la validité du numéro de tel (facultatif)
function VerifTelFac(textbox,labelid,msg1,listeerreurs,message){
	var tel = textbox.value; 
    
    if (tel == '')
	{
		document.getElementById(labelid).style.color="#9d0c15";
      	return message;
	}
	else
	{
		if (tel.search(/^([0-9]{2})( )([0-9]{2})( )([0-9]{2})( )([0-9]{2})( )([0-9]{2})$/) == -1)
		{
			document.getElementById(labelid).style.color="red";
        	message+=msg1;
        	return message;
		}
		else
		{
			document.getElementById(labelid).style.color="#9d0c15";
			return message;
		}
	}
}

// Vérification de la validité du code postal (obligatoire)
function VerifCp(textbox,labelid,msg1,listeerreurs,message){
	var cp = textbox.value; 
    if (cp.search(/^([0-9]{5})$/) == -1)
    {
    	document.getElementById(labelid).style.color="red";
    	message+=msg1;
    	return message;
    }
    else
    {
    	document.getElementById(labelid).style.color="#9d0c15";
    	return message;
    }
}

// Vérification de la validité du code postal (facultatif)
function VerifCpFac(textbox,labelid,msg1,listeerreurs,message,msg2){
	var cp = textbox.value; 
	if (cp == '')
	{
	  	document.getElementById(labelid).style.color="red";
    		message+=msg2;
      		return message;
	}
	else
  	{
      if (cp.search(/^([0-9]{5})$/) == -1)
      {
      	document.getElementById(labelid).style.color="red";
      	message+=msg1;
      	return message;
      }
      else
      {
      	document.getElementById(labelid).style.color="#9d0c15";
      	return message;
      }
  	}
}

// Vérification de la validité des deux mots de passe
function VerifMdp(mdp1,mdp2,labelid1,labelid2,msg1,msg2,msg3,msg4,msg5,listeerreurs,message){

if (mdp1.value.length<5)
{
	document.getElementById(labelid1).style.color="red";
	message+=msg1;
	return message;
}
else
{
    
  var nbrcar = mdp1.value.length;
  var chaine = mdp1.value;
  var ret = true;

  var goodcar = "0123456789.-_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWYXZ/";

  for(cnt=0;cnt<nbrcar;cnt++) 
  {
      var car = chaine.substr(cnt,1);

      if(goodcar.indexOf(car) >= 0) 
      {
      }
      else
      {
  		ret = false;
  		break;
  	  }
  }
  if (ret == false)
  {
  	document.getElementById(labelid1).style.color="red";
  	message+=msg4;
  	return message;
  }
  else
  { 
  	document.getElementById(labelid1).style.color="#9d0c15";

    if (mdp2.value.length<5)
    {
    	document.getElementById(labelid2).style.color="red";
    	message+=msg2;
    	ret = false
    	return message;
    }
    else
    {
        var nbrcar2 = mdp2.value.length;
        var chaine2 = mdp2.value;
        var ret2 = true;

        var goodcar2 = "0123456789.-_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWYXZ/";

        for(cnt2=0;cnt2<nbrcar2;cnt2++) 
        {
            var car2 = chaine.substr(cnt2,1);

            if(goodcar2.indexOf(car2) >= 0) 
            {
            }
            else
            {
        		ret2 = false;
        		break;
        	}
        }
        if (ret2 == false)
        {
        	document.getElementById(labelid2).style.color="red";
        	message+=msg5;
        	return message;
        }
        else
        { 
        	document.getElementById(labelid1).style.color="#9d0c15";
        }
        
        if (mdp1.value != mdp2.value)
        {
          document.getElementById(labelid1).style.color="red";
          document.getElementById(labelid2).style.color="red";
          message+=msg3;
          return message;
        }
        else
        {
        	document.getElementById(labelid1).style.color="#9d0c15";
        	document.getElementById(labelid2).style.color="#9d0c15";
    		return message;
        }
      }
    }
  }
}

// Vérification de la validité d'une chaine de type entier (facultative)
function VerifEntierFac(textbox,labelid,msg1,listeerreurs,message){
	var entierfac = textbox.value; 
    
    if (entierfac == '')
	{
		document.getElementById(labelid).style.color="#9d0c15";
		return message;
	}
	else
	{
		var strTemp = new String(entierfac);
		if( strTemp.search(/^([0-9]{1,})?$/) < 0 )
		{
			document.getElementById(labelid).style.color="red";
        	message+=msg1;
        	return message;
		}
		else
		{
			document.getElementById(labelid).style.color="#9d0c15";
			return message;
		}
	}
}

// Vérification de la validité d'une chaine de type entier (obligatoire)
function VerifEntier(textbox,labelid,msg1,listeerreurs,message){
	var entier = textbox.value; 
  	var strTemp2 = new String(entier);
  	if( strTemp2.search(/^([0-9])/) < 0 )
  	{
  		document.getElementById(labelid).style.color="red";
      	message+=msg1;
      	return message;
  	}
  	else
  	{
  		document.getElementById(labelid).style.color="#9d0c15";
  		return message;
  	}
}

// Vérification de la validité d'une date (facultative)
function VerifDateFac(textbox,labelid,msg1,listeerreurs,message) {
	var jour, mois, annee;
	var today = new Date();
	var dstr= textbox.value;
	if (dstr == '')
	{
		document.getElementById(labelid).style.color="#9d0c15";
		return message;
	}
	else
	{
    	if (dstr.search(/^([0-3][0-9])\/([0-1][0-9])\/((20)[0-9][0-9])$/) <  0) 
    	{
    		document.getElementById(labelid).style.color="red";
            message+=msg1;
            return message;
    	}
    	else
    	{
    		document.getElementById(labelid).style.color="#9d0c15";
			return message;
    	}
    	jour = parseInt(RegExp.$1,10);
    	mois = parseInt(RegExp.$2,10);
    	annee = parseInt(RegExp.$3,10);
    	switch (mois) {
    		case 1 : case 3 : case 5: case 7: case 8: case 10: case 12:
    			if (jour < 1 || jour > 31) 
    			{
    				document.getElementById(labelid).style.color="red";
            		message+=msg1;
            		return message;
    			}
    			else
            	{
            		document.getElementById(labelid).style.color="#9d0c15";
        			return message;
            	}
    			break;
    		case 4 : case 6 : case 9 : case 11 :
    			if (jour < 1 || jour > 30) 
    			{
    				document.getElementById(labelid).style.color="red";
            		message+=msg1;
            		return message;
    			}
                else
            	{
            		document.getElementById(labelid).style.color="#9d0c15";
        			return message;
            	}    			
            	break;
    		case 2 :
    			if (jour < 1 || jour > 29) 
    			{
    				document.getElementById(labelid).style.color="red";
            		message+=msg1;
           			return message;
    			}
    			else
            	{
            		document.getElementById(labelid).style.color="#9d0c15";
        			return message;
            	}
    			if (jour == 29 && (annee % 4) != 0) 
    			{
    				document.getElementById(labelid).style.color="red";
            		message+=msg1;
            		return message;
    			}
    			else
            	{
            		document.getElementById(labelid).style.color="#9d0c15";
        			return message;
            	}
    			break;
    		default :
    			document.getElementById(labelid).style.color="red";
            	message+=msg1;
           		return message;
    	}
    	if ( annee > 99 && annee < 1900 ) 
    	{
  			document.getElementById(labelid).style.color="red";
          	message+=msg1;
          	return message;
    	}
    	if (annee <= 99)
    	{	
    	  	annee += 1900;
        	document.getElementById(labelid).style.color="#9d0c15";
        	return message;
    	}
	}
}

// Vérification de la validité de la civilité sélectionnée (obligatoire)
function VerifCivilite(textbox,valeurnulle,msg1,listeerreurs,message){
	var civilite = textbox.value; 

    if (civilite == valeurnulle)
	{
        message+=msg1;
	}
	return message; 
}

// Vérification de la selection des conditions générales de vente (obligatoire)
function VerifConditions(textbox,msg1,listeerreurs,message){
	var conditions = textbox.checked; 

    if (conditions == false)
	{
        message+=msg1;
	}
	return message;
}

// Vérification de la selection d'un élément, d'une liste, autre que l'élément par défaut (obligatoire)
function VerifListe(textbox,labelid,valeurnulle,msg1,listeerreurs,message){
	var element = textbox.value; 
    if (element == valeurnulle)
	{
        document.getElementById(labelid).style.color="red";
        message+=msg1;
	}
	else
	{
    	document.getElementById(labelid).style.color="#9d0c15";
	}
	return message; 
}

// Affichage ou non d'un tableau de saisie d'informations de type adresse de livraison
function AfficheCacheTableau(tableau,tableauhautclass1,tableauhautclass2,tableaubasclass,pucetableau,labeltableauhautclass1,labeltableauhautclass2,labeltableauhautclass2blanc,labeltableaubasclass,labelpucetableau1,labelpucetableau2,hauteurtableau,hauteurtableausrc,hauteurtableausrc2)
{
    var el = document.getElementById(tableau);
    var tableauhautclass1 = document.getElementById(tableauhautclass1);
    var tableauhautclass2 = document.getElementById(tableauhautclass2);
    var tableaubasclass = document.getElementById(tableaubasclass);
    var pucetableau = document.getElementById(pucetableau);
    var hauteurtableau = document.getElementById(hauteurtableau);
    
    if(el.style.display == "none")
    {
    	el.style.display = "";
		tableauhautclass1.className=labeltableauhautclass1;
		tableauhautclass2.className=labeltableauhautclass2;
		tableaubasclass.className=labeltableaubasclass;
		pucetableau.src=labelpucetableau1;
		hauteurtableau.src=hauteurtableausrc;
    }
    else
    {
    	el.style.display = "none";
    	tableauhautclass1.className="";
		tableauhautclass2.className=labeltableauhautclass2blanc;
		tableaubasclass.className="";
    	pucetableau.src=labelpucetableau2;
    	hauteurtableau.src=hauteurtableausrc2;
    }
}

// Affichage ou non d'un tableau de saisie d'informations de type adresse de livraison
function AfficheCacheTableauCheck(tableau,tableauhautclass1,tableauhautclass2,tableaubasclass,checktableau,labeltableauhautclass1,labeltableauhautclass2,labeltableauhautclass2blanc,labeltableaubasclass,hauteurtableau,hauteurtableausrc,hauteurtableausrc2,ViderChamp1textbox,ViderChamp2textbox,ViderChamp3textbox,ViderChamp3labelid,ListeNullliste,ListeNulllabelid,ListeNullvaleurnulle)
{
    var el = document.getElementById(tableau);
    var tableauhautclass1 = document.getElementById(tableauhautclass1);
    var tableauhautclass2 = document.getElementById(tableauhautclass2);
    var tableaubasclass = document.getElementById(tableaubasclass);
    var checktableau = document.getElementById(checktableau);
    var hauteurtableau = document.getElementById(hauteurtableau);
    
    var ViderChamp1textbox = document.getElementById(ViderChamp1textbox);
    var ViderChamp2textbox = document.getElementById(ViderChamp2textbox);
    var ViderChamp3textbox = document.getElementById(ViderChamp3textbox);
    var ListeNullliste = document.getElementById(ListeNullliste);
    
    if(el.style.display == "none")
    {
    	el.style.display = "";
		tableauhautclass1.className=labeltableauhautclass1;
		tableauhautclass2.className=labeltableauhautclass2;
		tableaubasclass.className=labeltableaubasclass;
		hauteurtableau.src=hauteurtableausrc;
    }
    else
    {
    	el.style.display = "none";
    	tableauhautclass1.className="";
		tableauhautclass2.className=labeltableauhautclass2blanc;
		tableaubasclass.className="";
    	hauteurtableau.src=hauteurtableausrc2;
    	
    	// vider champs et listedéroulante à null
		ViderChampSansLabel(ViderChamp1textbox);
		ViderChampSansLabel(ViderChamp2textbox);
		ViderChamp(ViderChamp3textbox,ViderChamp3labelid);
		ListeNull(ListeNullliste,ListeNulllabelid,ListeNullvaleurnulle);
    }
}

function ViderChamp(textbox,labelid)
{
	textbox.value="";
	document.getElementById(labelid).style.color="#9d0c15";
}

function ViderChampSansLabel(textbox)
{
	textbox.value="";
}

function ListeNull(liste,labelid,valeurnulle)
{
	liste.value=valeurnulle;
	document.getElementById(labelid).style.color="#9d0c15";
}

// Affichage ou non d'un tableau de saisie d'informations de type adresse de livraison mais sans liste déroulante
function AfficheCacheTableauCheckSansListe(tableau,tableauhautclass1,tableauhautclass2,tableaubasclass,checktableau,labeltableauhautclass1,labeltableauhautclass2,labeltableauhautclass2blanc,labeltableaubasclass,hauteurtableau,hauteurtableausrc,hauteurtableausrc2,ViderChamp1textbox,ViderChamp1labelid,ViderChamp2textbox,ViderChamp3textbox,ViderChamp4textbox,ViderChamp4labelid)
{
    var el = document.getElementById(tableau);
    var tableauhautclass1 = document.getElementById(tableauhautclass1);
    var tableauhautclass2 = document.getElementById(tableauhautclass2);
    var tableaubasclass = document.getElementById(tableaubasclass);
    var checktableau = document.getElementById(checktableau);
    var hauteurtableau = document.getElementById(hauteurtableau);
    
    var ViderChamp1textbox = document.getElementById(ViderChamp1textbox);
    var ViderChamp2textbox = document.getElementById(ViderChamp2textbox);
    var ViderChamp3textbox = document.getElementById(ViderChamp3textbox);
    var ViderChamp4textbox = document.getElementById(ViderChamp4textbox);
    
    if(el.style.display == "none")
    {
    	el.style.display = "";
		tableauhautclass1.className=labeltableauhautclass1;
		tableauhautclass2.className=labeltableauhautclass2;
		tableaubasclass.className=labeltableaubasclass;
		hauteurtableau.src=hauteurtableausrc;
    }
    else
    {
    	el.style.display = "none";
    	tableauhautclass1.className="";
		tableauhautclass2.className=labeltableauhautclass2blanc;
		tableaubasclass.className="";
    	hauteurtableau.src=hauteurtableausrc2;
    	
    	// vider champs et listedéroulante à null
    	ViderChamp(ViderChamp1textbox,ViderChamp1labelid);
		ViderChampSansLabel(ViderChamp2textbox);
		ViderChampSansLabel(ViderChamp3textbox);
		ViderChamp(ViderChamp4textbox,ViderChamp4labelid);
    }
}


function VerifNbJours(textbox,labelid,msg1,listeerreurs,message)
{
  
 	var nbjours = textbox.value; 
 	if( nbjours.search(/^([0-9]{1,})$/) < 0 )        
        {
        	document.getElementById(labelid).style.color="red";
        	message+=msg1;
        	return message;
        }
        else
        {
          	if( parseInt(nbjours, 10) <=0 || parseInt(nbjours, 10) >60 )
          	{
          	  document.getElementById(labelid).style.color="red";
                  message+=msg1;
                  return message;
          	}
          	else
          	{          
        	  document.getElementById(labelid).style.color="#9d0c15";
        	  return message;
          	}
        } 
  
}
