/*
	'=====================================================
    ' Fonction : inputFieldLength
    '
    ' Description : Cette fonction permet de verifier la longueur d'une chaîne texte
    '				de la saisie dans un <INPUT>
    '
    ' Entrée : formName : nom du formulaire dans la page
    '			fieldName : nom du champ a traiter
    '			Length : string -> Nombre de caractère
	'					num	-> valeur max (+ et -)
    '			errMess : message d'erreur à afficher
    '
    ' Sortie : TRUE le champ est correctement renseigné
    '			FALSE sinon (et message d'avertissement)
    '
    ' Auteur : F LIGOUY le 28/01/2005
    ' Historique :
    '=====================================================
*/
//--------------------------------------------------------------------------------------
//	inputFieldLength:
//--------------------------------------------------------------------------------------
function inputFieldLength(formName, fieldName, Length, errMess)
{
	/*
	formName = nom du formulaire
	fieldName = nom du champ a traiter
	Length : string -> Nombre de caractère
		 num	-> valeur max (+ et -)
	Type   : S, N, I, M (String, Numeric, Integer ou Mail)
	isMandatory : true ou false (Obligatoire or Optionnel)
	Field  : Input text label
	*/

	var inputField = eval("document." + formName + "." + fieldName);	
	
	// string

		if ( Length != null ) {
		//alert(String(inputField.value).length);
			if (String(inputField.value).length > Length)	{
				alert(errMess);
				inputField.focus();
				return false;
			}
	}
	

	return true;
}

function Validator(theForm){
	var test;

	test = check_Field('login_admin','Veuillez indiquer votre login');
	if(test == false) return false;

	test = check_Field('pass_admin','Veuillez indiquer votre password');
	if(test == false) return false;

	return true;
}

var tab = new Array();
tab[0] = "à";
tab[1] = "â";
tab[2] = "é";
tab[3] = "è";
tab[4] = "ê";
tab[5] = "ë";
tab[6] = "î";
tab[7] = "ï";
tab[8] = "ù";
tab[9] = "ô";
tab[10] = "ç";
tab[11] = "'";
tab[12] = '"';
tab[13] = "%";
tab[14] = " ";
tab[15] = ";";
tab[16] = "<";
tab[17] = ">";

function Validator15(theForm) {
	var test;

	test = check_Field('lastname_goldbook','Veuillez indiquer votre nom');
	if(test == false) return false;
	test = inputFieldLength('theForm','lastname_goldbook',63,'Votre nom ne peut comporter plus de 63 caractères. Merci de corriger.');
	if(test == false) return false;

	test = check_Field('firstname_goldbook','Veuillez indiquer votre prénom');
	if(test == false) return false;
	test = inputFieldLength('theForm','firstname_goldbook',63,'Votre nom ne peut comporter plus de 63 caractères. Merci de corriger.');
	if(test == false) return false;

	test = check_Email('email_goldbook');
	if(test == false) return false;
	test = inputFieldLength('theForm','email_goldbook',127,'Votre courriel ne peut comporter plus de 127 caractères. Merci de corriger.');
	if(test == false) return false;
	
	test = inputFieldLength('theForm','title_goldbook',31,'Le titre ne peut comporter plus de 31 caractères. Merci de corriger');
	if(test == false) return false;

	test = check_Field('txt_goldbook','Veuillez indiquer votre question ou remarque');
	if(test == false) return false;
	test = inputFieldLength('theForm','txt_goldbook',5000,'Votre message ne peut comporter plus de 5000 caractères. Merci de corriger.');
	if(test == false) return false;

	return true;
}
function Validator151(theForm) {
	var test;

	test = check_Field('lastname','Veuillez indiquer votre nom');
	if(test == false) return false;

	test = check_Field('firstname','Veuillez indiquer votre prénom');
	if(test == false) return false;

	test = check_Email('address_courriel');
	if(test == false) return false;

	test = check_Field('txt_goldbook','Veuillez indiquer votre question ou remarque');
	if(test == false) return false;

	return true;
}

function Validator2(theForm) {
	var test;

	test = check_Field('lastname_contact','Veuillez indiquer votre nom');
	if(test == false) return false;
	test = inputFieldLength('theForm','lastname_contact',63,'Votre nom ne peut comporter plus de 63 caractères. Merci de corriger.');
	if(test == false) return false;

	test = check_Field('firstname_contact','Veuillez indiquer votre prénom');
	if(test == false) return false;
	test = inputFieldLength('theForm','firstname_contact',63,'Votre prénom ne peut comporter plus de 63 caractères. Merci de corriger.');
	if(test == false) return false;

	test = check_Email('email_contact');
	if(test == false) return false;
	test = inputFieldLength('theForm','email_contact',127,'Votre courriel ne peut comporter plus de 127 caractères. Merci de corriger.');
	if(test == false) return false;

	test = check_Field('txt_contact','Veuillez indiquer votre question ou remarque');
	if(test == false) return false;
	test = inputFieldLength('theForm','txt_contact',5000,'Votre message ne peut comporter plus de 5000 caractères. Merci de corriger.');
	if(test == false) return false;

	return true;
}

function Validator20(theForm) {
	var test;

	test = check_Field('lastname_contact','Please indicate your name');
	if(test == false) return false;
	test = inputFieldLength('theForm','lastname_contact',63,'Your last name must not be more than 63 digits long. Please write it again.');
	if(test == false) return false;

	test = check_Field('firstname_contact','Please indicate your first name');
	if(test == false) return false;
	test = inputFieldLength('theForm','firstname_contact',63,'Your first must not be more than 63 digits long. Please write it again.');
	if(test == false) return false;

	test = check_Emailen('email_contact');
	if(test == false) return false;
	test = inputFieldLength('theForm','email_contact',127,'Your email must not be more than 127 digits long. Please write it again.');
	if(test == false) return false;

	test = check_Field('txt_contact','Please indicate your question or notices');
	if(test == false) return false;
	test = inputFieldLength('theForm','txt_contact',5000,'Your message must not be more than 5000 digits long. Please write it again.');
	if(test == false) return false;

	return true;
}

function Validator21(theForm) {
	var test;

	test = check_Field('lastname','Veuillez indiquer votre nom');
	if(test == false) return false;

	test = check_Field('firstname','Veuillez indiquer votre prénom');
	if(test == false) return false;

	test = check_Email('address_courriel');
	if(test == false) return false;

	test = check_Field('txt_contact','Veuillez indiquer votre question ou remarque');
	if(test == false) return false;

	return true;
}

function Validator3(theForm,bin) {
	var code = eval("document.theForm");
	var test;

	test = check_Field('lastname_extranet','Veuillez indiquer votre nom');
	if(test == false) return false;

	test = check_Field('firstname_extranet','Veuillez indiquer votre prénom');
	if(test == false) return false;

	test = check_Email('email_extranet');
	if(test == false) return false;

	test = check_Field('login_extranet','Veuillez indiquer votre login');
	if(test == false) return false;

	test = check_Field('pass_extranet','Veuillez indiquer votre password');
	if(test == false) return false;

	if(bin == 1) {
		if(code.pass_extranet.value != code.pass_extranet_confirm.value) {
			alert("Veuillez resaisir votre mot de passe");
			code.pass_extranet.focus();
			return false;
		}
	}

	if(bin == 0) {
		if(code.valid.checked) code.valid_extranet.value = 1;
		else code.valid_extranet.value = 0;
	}
	
	return true;
}

function Validator4(theForm) {
	var test;

	test = check_Email('email_abonne');
	if(test == false) return false;

	return true;
}

function Validator5(theForm,bin) {
	var test;

	test = check_Email('email_extranet');
	if(test == false) return false;

	return true;
}

function Validator6(theForm){
	var test;

	test = check_Field('login_extranet','Veuillez indiquer votre login');
	if(test == false) return false;

	test = check_Field('pass_extranet','Veuillez indiquer votre password');
	if(test == false) return false;

	return true;
}

function Validator7(theForm) {

	var test;

	test = check_Field('lastname_press_contact','Veuillez indiquer votre nom');
	if(test == false) return false;
	test = inputFieldLength('theForm','lastname_press_contact',63,'Votre nom ne peut comporter plus de 63 caractères. Merci de corriger.');
	if(test == false) return false;
	
	test = check_Field('firstname_press_contact','Veuillez indiquer votre prénom');
	if(test == false) return false;	
	test = inputFieldLength('theForm','firstname_press_contact',63,'Votre prénom ne peut comporter plus de 63 caractères. Merci de corriger.');
	if(test == false) return false;
	
	test = check_Field('company_press_contact','Veuillez indiquer le nom de votre société');
	if(test == false) return false;
	test = inputFieldLength('theForm','company_press_contact',63,'Le nom de votre société ne peut comporter plus de 63 caractères. Merci de corriger.');
	if(test == false) return false;
	
	test = inputFieldLength('theForm','function_press_contact',50,'Votre fonction ne peut comporter plus de 50 caractères. Merci de corriger.');
	if(test == false) return false;	
	
	test = check_Email('email_press_contact');
	if(test == false) return false;
	test = inputFieldLength('theForm','email_press_contact',127,'Votre courriel ne peut comporter plus de 127 caractères. Merci de corriger.');
	if(test == false) return false;
	
	test = inputFieldLength('theForm','tel_press_contact', 20, 'Votre téléphone ne peut comporter plus de 20 caractères. Merci de corriger.');
	if(test == false) return false;	
	
	test = inputFieldLength('theForm','fax_press_contact', 20, 'Votre télécopie ne peut comporter plus de 20 caractères. Merci de corriger.');
	if(test == false) return false;		

	test = check_Field('msg_press_contact','Veuillez nous laisser un message');
	if(test == false) return false;
	test = inputFieldLength('theForm','txt_contact',5000,'Votre message ne peut comporter plus de 5000 caractères. Merci de corriger.');
	if(test == false) return false;
	
	return true;
}

function Validator8(theForm) {
	var code = eval("document.theForm");
	var test;

	test = validateDate(theForm);
	if(test == false) return false;

	test = check_Field('lbl_extranet_event','Veuillez donner une description de l\'événement');
	if(test == false) return false;

	if(code.online.checked) code.online_extranet_event.value = 1;
	else code.online_extranet_event.value = 0;
	
	return true
}

function Validator9(theForm) {
	var code = eval("document.theForm");
	var test;

	test = validateDate(theForm);
	if(test == false) return false;

	test = check_Field('lbl_press_event','Veuillez donner une description de l\'événement');
	if(test == false) return false;

	test = check_Field('url_press_event','Veuillez donner une URL à l\'événement');
	if(test == false) return false;

	if(code.online.checked) code.online_press_event.value = 1;
	else code.online_press_event.value = 0;
	
	return true
}

var carac = new Array();
carac[0] = "0";
carac[1] = "1";
carac[2] = "2";
carac[3] = "3";
carac[4] = "4";
carac[5] = "5";
carac[6] = "6";
carac[7] = "7";
carac[8] = "8";
carac[9] = "9";
carac[10] = ".";

function Validator10(theForm) {
	var code = eval("document.theForm");
	var test;

	test = check_Field('soutien_gift','Le choix d\'un des montants est obligatoire');
	if(test == false) return false;

	if(code.soutien_gift.value == 0) {
		alert("Veuillez faire un autre choix de don");
		return false;
	}
	else {
		var len = code.soutien_gift.value.length;
		if(code.soutien_gift.value.indexOf(",") >= 0) {
			var j = 0;
			var k = 0;
			for(var i = 0; i < len; i++) {
				if(code.soutien_gift.value.charAt(i) == ",") j++;
			}

			if(j > 1) {
				alert("Un nombre décimale ne contient qu'une virgule");
				code.soutien_other_gift.focus();
				return false;
			}
			else {
				var txt = code.soutien_gift.value;
				txt = txt.replace(",",".");
				code.soutien_gift.value = txt;

				var txt = code.soutien_other_gift.value;
				txt = txt.replace(",",".");
				code.soutien_other_gift.value = txt;
			}

			for(var i = 0; i < len; i++) {
				for(var l = 0; l < carac.length; l ++) {
					if(code.soutien_gift.value.charAt(i) != carac[l]) k = 1;
				}
			}

			if(k == 1) {
				alert("Le don doit être un chiffre décimale");
				code.soutien_other_gift.focus();
				return false;
			}
		}
		if(code.soutien_gift.value.lastIndexOf(".") >= 0) var chiffre = "dec";
		len = len - code.soutien_gift.value.lastIndexOf(".");
		if(chiffre == "dec" && len > 3) {
			alert("Le don est un chiffre à deux décimales");
			code.soutien_other_gift.focus();
			return false;
		}
	}

	test = check_Field('civility_gift','Le choix d\'une des civilités est obligatoire');
	if(test == false) return false;

	test = check_Field('lastname_gift','Veuillez indiquer votre nom');
	if(test == false) return false;

	test = check_Field('firstname_gift','Veuillez indiquer votre prénom');
	if(test == false) return false;

	test = check_Field('address_gift','Veuillez indiquer votre adresse');
	if(test == false) return false;

	test = check_Field('zipcode_gift','Veuillez indiquer votre code postal');
	if(test == false) return false;

	test = check_Field('city_gift','Veuillez indiquer votre ville');
	if(test == false) return false;

	test = check_Field('country_gift','Veuillez indiquer votre pays');
	if(test == false) return false;

	test = check_Email('email_gift');
	if(test == false) return false;

	return true;
}

function Validator101(theForm) {
	var code = eval("document.theForm");
	var test;

	test = check_Field('soutien_gift','Le choix d\'un des montants est obligatoire');
	if(test == false) return false;

	if(code.soutien_gift.value == 0) {
		alert("Veuillez faire un autre choix de don");
		return false;
	}
	else {
		var len = code.soutien_gift.value.length;
		if(code.soutien_gift.value.indexOf(",") >= 0) {
			var j = 0;
			var k = 0;
			for(var i = 0; i < len; i++) {
				if(code.soutien_gift.value.charAt(i) == ",") j++;
			}

			if(j > 1) {
				alert("Un nombre décimale ne contient qu'une virgule");
				code.soutien_other_gift.focus();
				return false;
			}
			else {
				var txt = code.soutien_gift.value;
				txt = txt.replace(",",".");
				code.soutien_gift.value = txt;

				var txt = code.soutien_other_gift.value;
				txt = txt.replace(",",".");
				code.soutien_other_gift.value = txt;
			}

			for(var i = 0; i < len; i++) {
				for(var l = 0; l < carac.length; l ++) {
					if(code.soutien_gift.value.charAt(i) != carac[l]) k = 1;
				}
			}

			if(k == 1) {
				alert("Le don doit être un chiffre décimale");
				code.soutien_other_gift.focus();
				return false;
			}
		}
		if(code.soutien_gift.value.lastIndexOf(".") >= 0) var chiffre = "dec";
		len = len - code.soutien_gift.value.lastIndexOf(".");
		if(chiffre == "dec" && len > 3) {
			alert("Le don est un chiffre à deux décimales");
			code.soutien_other_gift.focus();
			return false;
		}
	}
	
	//FL 11/01/2005 avec cette restriction, la même procédure peut être appelée à partir de dons.asp 
	// et dons_spe.asp
	if (typeof(code.Id_campagne) != null) {
		if(code.Id_campagne.value == -1) {
			alert("Veuillez selectionner une campagne");
			return false;
			}
	}

	test = check_Field('civility_gift','Le choix d\'une des civilités est obligatoire');
	if(test == false) return false;

	test = check_Field('lastname_gift','Veuillez indiquer votre nom');
	if(test == false) return false;

	test = check_Field('firstname_gift','Veuillez indiquer votre prénom');
	if(test == false) return false;

	test = check_Field('address_gift','Veuillez indiquer votre adresse');
	if(test == false) return false;

	test = check_Field('zipcode_gift','Veuillez indiquer votre code postal');
	if(test == false) return false;

	test = check_Field('city_gift','Veuillez indiquer votre ville');
	if(test == false) return false;

	test = check_Field('country_gift','Veuillez indiquer votre pays');
	if(test == false) return false;

	test = check_Email('email_gift');
	if(test == false) return false;

	return true;
}

function Validator11(theForm) {
	var code = eval("document.theForm");
	var test;

	test = check_Field('soutien_gift','Le choix d\'un des montants est obligatoire');
	if(test == false) return false;

	if(code.soutien_gift.value == 0) {
		alert("Veuillez faire un autre choix de don");
		return false;
	}
	else {
		var len = code.soutien_gift.value.length;
		if(code.soutien_gift.value.indexOf(",") >= 0) {
			var j = 0;
			var k = 0;
			for(var i = 0; i < len; i++) {
				if(code.soutien_gift.value.charAt(i) == ",") j++;
			}

			if(j > 1) {
				alert("Un nombre décimale ne contient qu'une virgule");
				code.soutien_other_gift.focus();
				return false;
			}
			else {
				var txt = code.soutien_gift.value;
				txt = txt.replace(",",".");
				code.soutien_gift.value = txt;

				var txt = code.soutien_other_gift.value;
				txt = txt.replace(",",".");
				code.soutien_other_gift.value = txt;
			}

			for(var i = 0; i < len; i++) {
				for(var l = 0; l < carac.length; l ++) {
					if(code.soutien_gift.value.charAt(i) != carac[l]) k = 1;
				}
			}

			if(k == 1) {
				alert("Le don doit être un chiffre décimale");
				code.soutien_other_gift.focus();
				return false;
			}
		}
		if(code.soutien_gift.value.lastIndexOf(".") >= 0) var chiffre = "dec";
		len = len - code.soutien_gift.value.lastIndexOf(".");
		if(chiffre == "dec" && len > 3) {
			alert("Le don est un chiffre à deux décimales");
			code.soutien_other_gift.focus();
			return false;
		}
	}


	test = check_Field('civility_gift','Le choix d\'une des civilités est obligatoire');
	if(test == false) return false;

	test = check_Field('lastname_gift','Veuillez indiquer votre nom');
	if(test == false) return false;

	test = check_Field('firstname_gift','Veuillez indiquer votre prénom');
	if(test == false) return false;

	test = check_Field('address_gift','Veuillez indiquer votre adresse');
	if(test == false) return false;

	test = check_Field('zipcode_gift','Veuillez indiquer votre code postal');
	if(test == false) return false;

	test = check_Field('city_gift','Veuillez indiquer votre ville');
	if(test == false) return false;

	test = check_Field('country_gift','Veuillez indiquer votre pays');
	if(test == false) return false;

	test = check_Email('email_gift');
	if(test == false) return false;

	return true;
}



function Validator100(theForm) {
	var test;

	test = check_Field('Id_Campagne','Vous devez indiquer l\'Id de la campagne');
	if(test == false) return false;

	test = check_Field('Nom_Campagne','Vous devez indiquer le nom de la campagne');
	if(test == false) return false;

	test = check_Field('Debut_Campagne','Veuillez indiquer la date de début de la campagne');
	if(test == false) return false;
	
	test = check_Field('Fin_Campagne','Veuillez indiquer la date de fin de la campagne');
	if(test == false) return false;

	return true;
}

function Validator13(theForm) {
	var sEmail;
	sEmail=document.theForm.lbl_email_contact.value
var oRegExp = /^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/g;
if (oRegExp.test(sEmail))
	{
	return true;
	}    
 else
	{
	alert('Vous devez entrer une adresse email valide')
	return false;
	}
}
/*
	var test;

	test = check_Field('','');
	if(test == false) return false;

	test = check_Email('');
	if(test == false) return false;
*/

function check_Field(type,msg) {
	var code = eval("document.theForm."+type);
	
	if(code.value == ""){
		alert(msg);
		if(type != "soutien_gift" && type != "civility_gift") code.focus();
		return false;
	}
}

function check_Email(type) {
	var code = eval("document.theForm."+type);
	var test;

	test = check_Field(type,'Veuillez indiquer votre e-mail');
	if(test == false) return false;

	if(code.value != ""){
		var longueur = code.value.length;
		var index_pos = code.value.indexOf("@");
		var index_posn = parseInt(index_pos);
		var chaine = code.value.substring((index_posn+1),longueur);
		var pt_pos = chaine.indexOf(".");
		var pt_posn = parseInt(pt_pos);
		if ((index_posn < 0) || (pt_posn < 0)) {
			alert("L'adresse e-mail indiquée est erronée, merci de la modifier");
			code.focus();
			return false;
		}
		else {
			for (var i=0;i<tab.length;i++) {
				if(code.value.indexOf(tab[i]) >= 0) {
					alert("Aucun caractère spécial n'est accepté.");
					code.focus();
					return false;
				}
			}
		}
	}
}

function check_Emailen(type) {
	var code = eval("document.theForm."+type);
	var test;

	test = check_Field(type,'Please indicate your e-mail');
	if(test == false) return false;

	if(code.value != ""){
		var longueur = code.value.length;
		var index_pos = code.value.indexOf("@");
		var index_posn = parseInt(index_pos);
		var chaine = code.value.substring((index_posn+1),longueur);
		var pt_pos = chaine.indexOf(".");
		var pt_posn = parseInt(pt_pos);
		if ((index_posn < 0) || (pt_posn < 0)) {
			alert("the address e-mail indicated is erroneous, thank you to modify it");
			code.focus();
			return false;
		}
		else {
			for (var i=0;i<tab.length;i++) {
				if(code.value.indexOf(tab[i]) >= 0) {
					alert("Aucun caractère spécial n'est accepté.");
					code.focus();
					return false;
				}
			}
		}
	}
}

function changeValue(bouton,valeur) {
	var code = eval("document.theForm."+bouton);
	if(valeur != "other") code.value = valeur;
	if(bouton == "soutien_gift") document.theForm.soutien_other_gift.value = "";
}

function changeValue2(champ) {
	document.theForm.soutien_gift.value = champ.value;
	if(!document.theForm.elements[7].checked) document.theForm.elements[7].checked = !document.theForm.elements[7].checked;
}

function changeValue3(champ,valeur) {
	document.theForm.elements(champ).value = valeur;
}

// JLF
function ValidCourriel(){

	if(document.theForm.file_mail.value!=""){
		var verif = new String(document.theForm.file_mail.value);
		var index = verif.lastIndexOf(".");
		var resultat = verif.substr(index);
		var minuscule = resultat.toLowerCase(resultat)
		
		if(document.theForm.html_courriel.value == "True"){
			if (minuscule != ".html" && minuscule != ".htm"){
				alert("Le fichier n'est pas compatible en HTML");
			return false
			}
		}
		else 
		{
			if(document.theForm.html_courriel.value == "False"){
				if(resultat!=".txt"){
					alert("Le fichier n'est pas compatible en texte");
				return false
				}
			}
		//if (document.theForm.Text_objet_mail.value=""){
		//	alert("L'Objet du courriel est vide");
		//	return false
		}
		return true
	}
}

function ValidCourrielEnvoi(){
	var strAction;
	if (document.theForm.file_mail.value == ""){
		alert("Le fichier correspondant au contenu du message n'est pas renseigné");
		return false
	}
	if (document.theForm.Text_objet_mail.value == ""){
		alert("L'Objet du courriel est vide");
		return false
	}
	if ( document.theForm.html_courriel.checked )
		strAction = document.theForm.action + "&html_courriel=1"
	else
		strAction = document.theForm.action + "&html_courriel=0"
	
	strAction = strAction + "&file_mail=" + document.theForm.file_mail.value + "&Text_objet_mail=" + document.theForm.Text_objet_mail.value
	// check Citécool -> 1, Armée du salut -> 2
	if ( document.theForm.check_envoi_site(0).checked )
		strAction = strAction + "&check_envoi_site=1"
	else
		strAction = strAction + "&check_envoi_site=2"
	strAction = strAction + "&donateur_check=" + document.theForm.donateur_check.value
	document.theForm.action = strAction;
	return true;
}

function montre_donateur(valeur){
	
	//affiche le selected
	if(valeur==1)
	{
		document.theForm.donateur_check.style.visibility = 'visible';
    }
    //cache le selected
    else 
    {
		document.theForm.donateur_check.style.visibility = 'hidden';
    } 
}

// JLF
function PopUpUpload(){
		var URL = '../upload/Fichier_joint_form.asp'
		if (document.theForm.html_courriel.checked == true)
			URL = URL + '?HTML=True';
		else
			URL = URL + '?HTML=False';
		
		window.open(URL,'Upload','toolbar=0, location=0, directories=0, status=0, scrollbars=0, resizable=0, copyhistory=0, menuBar=0, width=500, height=100, left=100, top=100');
	}

function changeValue4(champ) {
	document.theForm.soutien_gift.value = champ.value;
	if(!document.theForm.elements[5].checked) document.theForm.elements[5].checked = !document.theForm.elements[5].checked;
}

var mesec =  new Array();
mesec[1] = 31;
mesec[2] = 29;
mesec[3] = 31;
mesec[4] = 30;
mesec[5] = 31;
mesec[6] = 30;
mesec[7] = 31;
mesec[8] = 31;
mesec[9] = 30;
mesec[10] = 31;
mesec[11] = 30;
mesec[12] = 31;

var code_date;
var i;
var test;

function validateDate(theForm) {
	for(var i=3;i>0;i--) {
		code_date=eval("document.theForm.datum"+i);
		if(code_date.value=="") {
			if(i==3) msg="Le jour";
			if(i==2) msg="Le mois";
			if(i==1) msg="L'année";
			msg+="  est obligatoire";
			alert(msg);
			code_date.focus();
			return false;
		}

		if(code_date.value!="") {
			if((i==2 || i==3) && code_date.value=="00") {
				if(i==3) msg="Le jour";
				if(i==2) msg="Le mois";
				msg+=" est erronné";
				alert(msg);
				code_date.focus();
				return false;
			}

			if(i==1 && code_date.value=="0000") {
				alert("L'année est erronnée");
				code_date.focus();
				return false;
			}

			if(i==1 && code_date.value.charAt(0)=="0") {
				alert("L'année est erronnée");
				code_date.focus();
				return false;
			}

			var longueur=code_date.value.length;
			var car="";

			for(var j=0;j<longueur;j++) {
				car = code_date.value.charAt(j);

				if(car<"0" || car>"9") {
					if(i==3) msg="Le jour";
					if(i==2) msg="Le mois";
					if(i==1) msg="L'année";
					msg+=" doit être un chiffre";
					alert(msg);
					code_date.focus();
					return false;
				}
			}

			if(code_date.value.length==1 && i!=1) code_date.value="0"+code_date.value;

			if(i==1 && code_date.value.length!=4) {
				alert("L'année doit avoir 4 chiffres");
				code_date.focus();
				return false;
			}

			if(i==2 && code_date.value>12) {
				alert("Mois inextistant dans notre calendrier.");
				code_date.focus();
				return false;
			}

			if(i==3 && code_date.value>31) {
				alert("Trop de jours");
				code_date.focus();
				return false;
			}

			if(i==2) var check=check_Day(document.theForm.datum2.value,document.theForm.datum3.value);
			if(check==0) return false;
		}
	}

	var check=check_Date(document.theForm.datum1.value,document.theForm.datum2.value,document.theForm.datum3.value);

	if(check==0) return false;

	return true;
}

function check_Day(month,day) {
	var test = 1;
	var intMonth = parseInt(month);
	var intDay = parseInt(day);

	if(intDay > mesec[intMonth]) {
		test = 0;
		alert("Date invalide");
	}

	return test;
}

function check_Date(year,month,day) {
	var test = 1;
	var intYear = parseInt(year);
	var intMonth = parseInt(month);
	var intDay = parseInt(day);

	if(intDay > 28 && intMonth == 2 && ((intYear%4 != 0) || !((intYear%100 == 0) && (intYear%400 == 0)))) {
		test = 0;
		alert("Année non bissextile");
	}

	return test;
}

// Contrôle de saisie du type date
function isDate(d) {
    // Cette fonction permet de vérifier la validité d'une date au format jj/mm/aa ou jj/mm/aaaa

    
    if (d == "") // si la variable est vide on retourne faux
        return false;
    
    e = new RegExp("^[0-9]{1,2}\/[0-9]{1,2}\/([0-9]{2}|[0-9]{4})$");

    if (!e.test(d)) // On teste l'expression régulière pour valider la forme de la date
        return false; // Si pas bon, retourne faux

    // On sépare la date en 3 variables pour vérification, parseInt() converti du texte en entier
    j = parseInt(d.split("/")[0], 10); // jour
    m = parseInt(d.split("/")[1], 10); // mois
    a = parseInt(d.split("/")[2], 10); // année

    // Si l'année n'est composée que de 2 chiffres on complète automatiquement
    if (a < 1000) {
        if (a < 89)    a+=2000; // Si a < 89 alors on ajoute 2000 sinon on ajoute 1900
        else a+=1900;
    }

    // Définition du dernier jour de février
    // Année bissextile si annnée divisible par 4 et que ce n'est pas un siècle, ou bien si divisible par 400
    if (a%4 == 0 && a%100 !=0 || a%400 == 0) fev = 29;
    else fev = 28;

    // Nombre de jours pour chaque mois
    nbJours = new Array(31,fev,31,30,31,30,31,31,30,31,30,31);

    // Enfin, retourne vrai si le jour est bien entre 1 et le bon nombre de jours, idem pour les mois, sinon retourn faux
    return ( m >= 1 && m <=12 && j >= 1 && j <= nbJours[m-1] );
}


function testDateInput(possibleDate) {
 if (isDate(possibleDate))
 { 
 }
 else
 {
	alert("Date incorrecte");
	Debut_Campagne.focus();

    }
}

function Validator102(theForm) {
	//FL 11/01/2005 Ce validateur remplace les "validator10" et "validator101" en intégrant les éléments suivants:
	// - détection de la présence du champ "id_campagne", qui conditionne le test de son renseignement
	// - le test de la nature décimale du champ "soutien_gift" est fait à l'aide d'une expression régulière
	// la méthode employée précédemment ne gérait pas la présence de caractères du genre "€".

	var oRegExp
	var code = eval("document.theForm");
	var txt = code.soutien_gift.value;
	txt = txt.replace(",",".");
	code.soutien_gift.value = txt;

	var test;
	test = check_Field('soutien_gift','Le choix d\'un des montants est obligatoire');

	if(test == false) return false;
	var fieldValue = code.soutien_gift.value;
	
	if(fieldValue == 0) {
		alert("Veuillez faire un autre choix de don");
		return false;
	}
	else {

		//var oRegExp = new RegExp("^(?!\u00a2)\p{Sc}?(?!0,?\d)(?:\d{1,3}(?:([, .])\d{3})?(?:\1\d{3})*|(?:\d+))((?!\1)[,.]\d{2})?$");
		var oRegExp = new RegExp("^\\d+(\\.\\d{1,2}){0,1}$")

		if (!oRegExp.test(fieldValue)) // On teste l'expression régulière pour valider la forme du champ
        {
        alert('Le montant de votre don doit être un nombre entier ou décimal; merci de corriger SVP');
        return false; // Si pas bon, retourne faux
        }
	}
	
	//FL 11/01/2005 avec cette restriction, la même procédure peut être appelée à partir de dons.asp 
	// ,dons_spe.asp ou dons_spe_english

	if (typeof(code.Id_campagne) != 'undefined') {
		if(code.Id_campagne.value == -1) {
			alert("Veuillez selectionner une campagne");
			return false;
			}
	}

	test = check_Field('civility_gift','Le choix d\'une des civilités est obligatoire');
	if(test == false) return false;

	test = check_Field('lastname_gift','Veuillez indiquer votre nom');
	if(test == false) return false;
	test = inputFieldLength('theForm','lastname_gift',63,'Votre nom ne peut comporter plus de 63 caractères. Merci de corriger.');
	if(test == false) return false;

	test = check_Field('firstname_gift','Veuillez indiquer votre prénom');
	if(test == false) return false;
	test = inputFieldLength('theForm','firstname_gift',63,'Votre prénom ne peut comporter plus de 63 caractères. Merci de corriger.');
	if(test == false) return false;

	test = check_Field('address_gift','Veuillez indiquer votre adresse');
	if(test == false) return false;
	test = inputFieldLength('theForm','address_gift',255,'Votre adresse ne peut comporter plus de 255 caractères. Merci de corriger.');
	if(test == false) return false;

	test = check_Field('zipcode_gift','Veuillez indiquer votre code postal');
	if(test == false) return false;
	test = inputFieldLength('theForm','zipcode_gift',16,'Votre code postal ne peut comporter plus de 16 caractères. Merci de corriger.');
	if(test == false) return false;

	test = check_Field('city_gift','Veuillez indiquer votre ville');
	if(test == false) return false;
	test = inputFieldLength('theForm','city_gift',255,'Votre ville ne peut comporter plus de 255 caractères. Merci de corriger.');
	if(test == false) return false;

	test = check_Field('country_gift','Veuillez indiquer votre pays');
	if(test == false) return false;
	test = inputFieldLength('theForm','country_gift',255,'Votre pays ne peut comporter plus de 255 caractères. Merci de corriger.');
	if(test == false) return false;
	
	test = inputFieldLength('theForm','tel_gift',25,'Votre téléphone ne peut comporter plus de 25 caractères. Merci de corriger.');
	if(test == false) return false;

	test = check_Email('email_gift');
	if(test == false) return false;
	test = inputFieldLength('theForm','email_gift',127,'Votre courriel ne peut comporter plus de 127 caractères. Merci de corriger.');
	if(test == false) return false;

    var i = document.theForm.hidIdAutre.value;
    if(document.getElementById('chkConnu'+i).checked == true){
        test = check_Field('txtAutre','Veuillez indiquer une raison');
        document.theForm.txtAutre.value = document.theForm.txtAutre.value.replace('"','\'');
        if(test == false) return false;
    }
	return true;
}