// Expressions régulières de test de longueur
var regExpEmpty=/^$/g;					// Accepte une chaine vide
var regExp8Chars=/^[0-9a-zA-Z]{8,}$/g;			// Accepte une chaine d'au moins 8 carctères alphanumeriques (pour un mot de passe par exemple).

// Expressions régulières de test de type de caractère
var regExpAlphanumeric=/[0-9a-zA-Z]+/g;			// Accepte une chaine alphanumérique
var regExpAlphanumericWithWhitespace=/[0-9a-zA-Z ]+/g;	// Accepte une chaine alphanumérique + ' '
var regExpAlphabetic=/[a-zA-Z]+/g;			// Accepte une chaine alphabétique
var regExpNumeric=/[0-9]+/g;				// Accepte une chaine numérique

// Expressions régulières de test de type
var regExpInt=/^[0-9]+$/g;				// Accepte une chaine de type 'int'
var regExpDouble=/^[-+]?[0-9]+(\.[0-9]+)?$/g;		// Accepte une chaine de type 'double'
var regExpFloat=/^[-+]?[0-9]+(\.[0-9]+)?([eE][-+]?[0-9]+)?$/g;	// Accepte une chaine de type 'float'
var regExpTime=/^([01][0-9]|2[0123])\:([012345][0-9])(\:([012345][0-9])(.([0-9]{3})+)?)?$/g;		 // Accepte une chaine de type 'time'. Ex : 12:51 ou 21:45:35.654
var regExpFrenchDate=/^(0[1-9]|[12][0-9]|3[01])[\- \/\.](0[1-9]|1[012])[\- \/\.](19|20)\d\d$/g;  // date au format jj/mm/aaaa ou jj-mm-aaaa ou jj mm aaaa ou jj.mm.aaaa avec aaaa compris entre 1900 et 2099.
var regExpEnglishDate=/^(19|20)\d\d[\- \/\.](0[1-9]|1[012])[\- \/\.](0[1-9]|[12][0-9]|3[01])$/g; // idem ci-dessus mais format anglais (Ex : aaaa/mm/jj)
var regExpBoolean=/^true|false$/g;			// Accepte une chaine de type 'boolean'

// Expressions régulières de test de types administratifs français
var regExpCodePostal=/^([A-Z]+[A-Z]?\-)?[0-9]{1,2} ?[0-9]{3}$/g;							// Accepte une chaine de type 'code postal'. Ex : F-33370 ou 33 370 ou 33370 ou F-1 370
var regExpTelephoneFixe=/^(01|02|03|04|05|08)[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}$/g;		// Accepte un numero de téléphone de type 'fixe'. Ex : 01.34.12.52.30 ou 0134125230
var regExpTelephoneFixePF=/^(01|02|03|04|05|08|06)[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}$/g;		// Accepte un numero de téléphone de type 'fixe'. Ex : 01.34.12.52.30 ou 0134125230

var regExpTelephonePortable=/^(06)[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}$/g;			// Accepte un numero de téléphone de type 'portable'.
var regExpTelephoneNational=/^(0[1234568])[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}$/g;		// Accepte un numero de téléphone de type 'national' y compris numéros en '08'.
var regExpTelephoneInternational=/^(\(\+[0-9]{2}\))[ \.\-]?[0-9][ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}$/g; 	// Accepte un numero de téléphone de type 'international'. Ex : (+33) 1 34 12 52 30

var regExpNumeroSecuriteSociale=/^[12][ \.\-]?[0-9]{2}[ \.\-]?(0[1-9]|[1][0-2])[ \.\-]?([0-9]{2}|2A|2B)[ \.\-]?[0-9]{3}[ \.\-]?[0-9]{3}[ \.\-]?[0-9]{2}$/g; // Accepte un numero de sécurité sociale français. Ex : 1 85 34 33 354 450 45

var regExpTVAIntracommunautaire=/^[A-Z]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{3}[ \.\-]?[0-9]{3}[ \.\-]?[0-9]{3}$/g;		// Accepte un numero de TVA Intra-communautaire. Ex : FR 02 254 254 254
var regExpNumeroSiren=/^[0-9]{3}[ \.\-]?[0-9]{3}[ \.\-]?[0-9]{3}$/g;							// Accepte un numero SIREN. Ex : 254 254 254
var regExpNumeroSiret=/^[0-9]{3}[ \.\-]?[0-9]{3}[ \.\-]?[0-9]{3}[ \.\-]?[0-9]{5}$/g;					// Accepte un numero SIRET. Ex : 254 254 254 12345
var regExpCodeApe=/^[0-9]{2}[ \.\-]?[0-9]{1} ?[a-zA-Z]$/g;								// Accepte un code APE. Ex : 25.4Z

// Expressions régulières de test de types liés à internet

var regExpEmailAdress=/^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$/g;										// Accepte une adresse email. Ex : toto@toto.com
var regExpIpAdress=/\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/g;	// Accepte une adresse ip. Ex : 192.168.0.1
var regExpDomainName=/^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$/g;													// Accepte un nom de domaine. Ex : toto.com
var regExpUrl=/^(((ht|f)tp(s?))\:\/\/)?(([a-zA-Z0-9]+([@\-\.]?[a-zA-Z0-9]+)*)(\:[a-zA-Z0-9\-\.]+)?@)?(www.|ftp.|[a-zA-Z]+.)?[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,})(\:[0-9]+)?\/?/g;			// Accepte une url ftp, http ou https, avec ou sans login/mot de passe, avec ou sans numero de port. Ex : http://www.toto.com, ftp://toto:toto@ftp.toto.com:21/

var regExpHexColor=/^#[0-9A-Fa-f]{6}$/g; // Accepte une couleur hexadécimale


var cart = new Object;

jQuery.validator.addMethod ("reg_expr", function(value, element, param) {
var regExpBeginning = /^\s+/;
var regExpEnd       = /\s+$/;

value.replace(regExpBeginning, "").replace(regExpEnd, "");
if (value=="") {
return true;
}
else {
var resultat = value.match(param);
if(resultat!=null && resultat.length==1) return true;
else return false;
}
}

); 

$().ready(function() {

// validate signup form on keyup and submit
$("#formulaire").validate({
rules: {
id_1:{required:true},
id_2:{required:true},
id_3:{required:true,},
id_4:{required:true},
id_6:{required:true,
reg_expr:regExpEmailAdress},
id_7:{maxLength:20,
reg_expr:regExpTelephoneFixePF},
id_8:{required:true},
id_10:{required:true,
maxLength:10,
reg_expr:regExpCodePostal},
id_11:{required:true},
id_12:{required:true},
id_13:{required:true},
id_14:{required:true,
maxLength:10,
reg_expr:regExpNumeric},
id_15:{maxLength:12,
reg_expr:regExpNumeric},
id_16:{required:true},
id_17:{required:true},
id_18:{required:true,
maxLength:1500},
security_code:{required:true}
},
messages: {
id_1:{required:"Merci de cochez une case."},
id_2:{required:"Merci de indiquer votre nom."},
id_3:{required:"Veuillez indiquer votre pr&eacute;nom."},
id_4:{required:"Merci de cochez une case."},
id_6:{required:"Veuillez saisir votre adresse e-mail.",
reg_expr:"Votre adresse e-mail est invalide."},
id_7:{maxLength:"Ne pas d&eacute;passer 20 caract&egrave;res",
reg_expr:"Votre t&eacute;l&eacute;phone est invalide."},
id_8:{required:"Veuillez indiquer votre adresse."},
id_10:{required:"Veuillez indiquer votre code postal.",
maxLength:"Ne pas d&eacute;passer 10 caract&egrave;res.",
reg_expr:"Veuillez entrer un nombre."},
id_11:{required:"Veuillez indiquer votre ville."},
id_12:{required:"Veuillez indiquer votre pays."},
id_13:{required:"Veuillez donner un titre."},
id_14:{required:"Veuillez indiquer le nombre de pages.",
maxLength:"Ne pas d&eacute;passer 10 caract&egrave;res.",
reg_expr:"Veuillez entrer un nombre."},
id_15:{maxLength:"Ne pas d&eacute;passer 12 caract&egrave;res.",
reg_expr:"Veuillez entrer un nombre."},
id_16:{required:"Merci de cocher une case."},
id_17:{required:"Merci de s&eacute;lectionner un document."},
id_18:{required:"Veuillez saisir un message.",
maxLength:"Ne pas d&eacute;passer 1500 caract&egrave;res."},
security_code:{required:"Veuillez saisir le code de s&eacute;curit&eacute;."}
}
});

});

function valide_cbx(champ){
var x;
var nbre=0;
for (x=0;x< champ.length;x++){

if((champ[x].checked)==true){
nbre++;		 
} 

}

return nbre;
}

function valeur_cbx(champ){
var x;
var str='';

for (x=0;x< champ.length;x++){
if((champ[x].checked)==true){
str = str +  champ[x].value+',';  	 
} 
}
if (x==0 && champ.checked) {
str=champ.value;
}	
return str;
}

function btn_show_id1(choix_select){
}
function btn_show_id4(choix_select){
}
function btn_show_id16(choix_select){
}
