
function addslashes(ch) {
ch = ch.replace(/\\/g,"\\\\")
ch = ch.replace(/\'/g,"\\'")
ch = ch.replace(/\"/g,"\\\"")
return ch
}

function trim(s) {
	string_aux = new String("");
	while (s != string_aux) {
		string_aux = s;
		s = string_aux.replace(/(^\s*)|(\s*$)/g,'');
		s = s.replace(/(^\xA0*)|(\xA0*$)/g,'');
	} 
	return s;
} 

function checkForm(f, tab_champs_checked, action, erreur_texte, id_div) {
	pre="";
	post="";
	if (action==1) {
		pre="!checkMail";
	}
	else if (action==2) {
		pre="!checkDate";
	}
	else if (action==3) {
		pre="!checkNoUrl";
	}
	else {
		post="==\"\"";
	}
	erreur_champ=true;
	if (div=document.getElementById("div_erreur_" + action)) {
		document.getElementById("div_erreur_" + id_div).removeChild(div);
	}
	for (i=0;i<tab_champs_checked.length;i++){
	style = document.createAttribute("class");
		//if (typeof(f.elements[tab_champs_checked[i]].value)=="undefined") {
		if (typeof(f.elements[tab_champs_checked[i]])=="undefined" || typeof(f.elements[tab_champs_checked[i]].value)=="undefined") {
			erreur=false;
			j = 0;
			while (f.elements[tab_champs_checked[i] + '_' + j]) {//alert(tab_champs_checked[i] + '_' + j);
				if (f.elements[tab_champs_checked[i] + '_' + j].checked) {erreur=true;}
				j++;
			}
			var str = "#str_" + tab_champs_checked[i];
			if (!document.getElementById("str_" + tab_champs_checked[i])) {
				str = "#str_" + tab_champs_checked[i] + '_' + 0;
			}
			if (!erreur) {
			$(str).addClass("form_champs_omis");
				erreur_champ=false;
			}
			else {
			$(str).removeClass("form_champs_omis");
			}
		}
		else if (eval(pre + '(trim(f.elements[tab_champs_checked[i]].value))' + post)) {
			$("#str_" + tab_champs_checked[i]).addClass("form_champs_omis");
erreur_champ=false;
		}
		else {
			$("#str_" + tab_champs_checked[i]).removeClass("form_champs_omis");
		}
		
	}
	if (!erreur_champ) { 
	style = document.createAttribute("class");
	style.nodeValue = "div_erreur_visible";
	id = document.createAttribute("id");
	id.nodeValue = "div_erreur_" + action;
div=document.createElement("div");
div.setAttributeNode(id);
div.setAttributeNode(style);
texte=document.createTextNode(erreur_texte);
div.appendChild(texte);
document.getElementById("div_erreur_" + id_div).appendChild(div);
	}
	return erreur_champ;
}


function uncheckForm(f, tab_champs_checked, action) {
	for (i=0;i<tab_champs_checked.length;i++){
		document.getElementById("str_" + tab_champs_checked[i]).style.color="black";
	}
	document.getElementById("div_erreur_" + action).style.visibility= "hidden";
	
	return false;
}


function debutInfFin(debut, fin) {
	var d, f;
	d = debut.charAt(6) + debut.charAt(7) + debut.charAt(8)+ debut.charAt(9) + debut.charAt(3)+ debut.charAt(4) +  debut.charAt(0)+ debut.charAt(1); 
	f = fin.charAt(6) + fin.charAt(7) + fin.charAt(8)+ fin.charAt(9) + fin.charAt(3)+ fin.charAt(4) +  fin.charAt(0)+ fin.charAt(1); 

	if ((d < f) && (debut != "")) {
		return true;
	}
	else {
		return false;
	}
}

function checkMail(mail) {
var RegExp = /^[a-zA-Z0-9]+[a-zA-Z0-9\._\-]+@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9])+$/; 
reponse = RegExp.test(mail);
    return ((mail=="") || reponse);
}

function checkNoUrl(text) {
var RegExp = /((https?:\/\/)|(www\.))([-\w]+\.[-\w\.]+)+\w(:\d+)?(\/([-\w\/_\.]*(\?\S+)?)?)*/; 
reponse = !RegExp.test(text.toLowerCase());
    return ((text=="") || reponse);
}



function checkDate(mot) {
	erreur=false;
	if (mot == "") {
		return true;
	}
		
   	if (mot.length!=10 && mot.length!=19){
		//alert("Veuillez introduire votre date au format JJ/MM/AAAA HH:MM:SS");
		Erreur=true;
		return;
	}
   	else{
    		motjour=mot.substring(0,2);motmois=mot.substring(3,5);
    		motan=mot.substring(6,10);motsep=mot.charAt(2)+mot.charAt(5)+mot.charAt(10)+mot.charAt(13)+mot.charAt(16);
		motheure=mot.substring(11,13);motmin=mot.substring(14,16);
		motsec=mot.substring(17,19);
	}
    	if (isNaN(motjour+motmois+motan+motheure+motmin+motsec)|| motan>3000 ||motan<1900 || (motsep!="// ::" && motsep!="//")){
		//alert("Veuillez introduire votre date au format JJ/MM/AAAA");
		Erreur=true;
		return;
	}
    	else {
		choix="";    
    		if (motan-(parseInt(motan/4)*4)==0){
			choix="bi";
		}
    		if (motan-(parseInt(motan/4)*4)==0&&motan-(parseInt(motan/100)*100)==0) {
			choix="";
		}
    		if (motan-(parseInt(motan/4)*4)==0&&motan-(parseInt(motan/400)*400)==0) {
			choix="bi";
		}
    		switch (motmois){
    			case "01":
				if(motjour<1 || motjour>31){
    					//alert("Le mois de Janvier comporte 31 jours, veuillez choisir une date comprise en 1 et 31.");
    					Erreur=true;
    					return;
    				}
    				break;
    			case "02":
    				if(choix=="bi"){
    					if(motjour<1 || motjour>29){
    						//alert("Le mois de Février comporte 29 jours car l'anné choisie est bissextile. Veuillez choisir une date comprise en 1 et 29.");
    						Erreur=true;
    						return;
    					}
    				}
        			else{
    					if(motjour<1 || motjour>28){
    						//alert("Le mois de Février comporte 28 jours car l'annéé choisie n'est pas bissextile. Veuillez choisir une date comprise en 1 et 28.");
    						Erreur=true;
    						return;
    					}
    				}
    				break;
    			case "03":
    				if(motjour<1 || motjour>31){
    					//alert("Le mois de Mars comporte 31 jours, veuillez choisir une date comprise en 1 et 31."); 
   					Erreur=true;
					return;
    				}
    				break;
    			case "04":
    				if(motjour<1 || motjour>30){
    					//alert("Le mois de Avril comporte 30 jours, veuillez choisir une date comprise en 1 et 30.");
					Erreur=true;
    					return;
    				}
    				break;
    			case "05":
    				if(motjour<1 || motjour>31){
    					//alert("Le mois de Mai comporte 31 jours, veuillez choisir une date comprise en 1 et 31.");
    					Erreur=true;
    					return;
    				}
   				break;
    			case "06":
    				if(motjour<1 || motjour>30){
    					//alert("Le mois de Juin comporte 30 jours, veuillez choisir une date comprise en 1 et 30.");
    					Erreur=true;
    					return;
    				}
    				break;
    			case "07":
    				if(motjour<1 || motjour>31){
    					//alert("Le mois de Juillet comporte 31 jours, veuillez choisir une date comprise en 1 et 31.");
    					Erreur=true;
    					return;
    				}
    				break;
    			case "08":
    				if(motjour<1 || motjour>31){
					//alert("Le mois de Août comporte 31 jours, veuillez choisir une date comprise en 1 et 31.");
    					Erreur=true;
    					return;
    				}
    				break;
    			case "09":
    				if(motjour<1 || motjour>30){
    					//alert("Le mois de Septembre comporte 30 jours, veuillez choisir une date comprise en 1 et 30.");
    					Erreur=true;
    					return;
    				}
    				break;
    			case "10":
    				if(motjour<1 || motjour>31){
    					//alert("Le mois de Octobre comporte 31 jours, veuillez choisir une date comprise en 1 et 31.");
    					Erreur=true;
    					return;
    				}
    				break;
    			case "11":
    				if(motjour<1 || motjour>30){
    					//alert("Le mois de Novembre comporte 30 jours, veuillez choisirune date comprise en 1 et 30.");
    					Erreur=true;
    					return;
    				}
    				break;
    			case "12":
    				if(motjour<1 || motjour>31){
    					//alert("Le mois de Décembre comporte 31 jours, veuillez choisir une date comprise en 1 et 31.");
    					Erreur=true;
    					return;
    				}
    				break;
    			default:
    				//alert("Le mois que vous avez entré n'est pas valide. Choisissez un mois compris entre 1 et 12.");
    				Erreur=true;
    				return;  
		}
		return true;
	} 
}	

function checkDroit() {
	for (i = 1; i < document.formulaire.Droit.length; i++) {
		if (document.formulaire.Droit[i].checked) {
			return true;
		}
	}
	return false;
}


