//******************************************************
//*** La class pour valider le formulaire
//******************************************************
function Champ(id, msg, type, err) {
	this.id=id;
	this.msg=msg;
	this.type=type;
	this.err=err;
}

//***** La fonction verifier
Champ.prototype.verifier=function() {

	if(this.type != "radio" && this.type != "select") {
		var txt = document.getElementById(this.id).value;
		txt = txt.replace(/  /g, ' ');
		document.getElementById(this.id).value = txt;	
	}
	switch (this.type) {
	
		case "num" :
			txt = txt.replace(/ /g, '');
			if( txt == "" ) return null;
			var reg = new RegExp("^[0-9]{1,}$", "g");
			return ( !reg.test(txt) ) ? this : null;

		case "text" :
		    //alert(this.id);
            //alert("test1");
			txt = txt.replace(/ /g, '');
			if(txt == "") document.getElementById(this.id).value = txt;
			return (txt == "") ? this : null;
			
		case "email" :
            //alert("email");
			var reg = new RegExp("^[0-9A-Za-z]{1}[0-9A-Za-z._-]+@{1}[0-9A-Za-z]{1}[0-9A-Za-z.-]{1,}[.]{1}[A-Za-z]{2,5}$", "g");
			return ( !reg.test(txt) ) ? this : null;
			
		case "tel" :
            //alert("testtel");
			txt = txt.replace(/[ //.;,_-]/g, '');
        var reg = new RegExp("^0{1}[1-68-9]{1}[0-9]{8}$", "g");
        document.getElementById(this.id).value = txt;
        return ( !reg.test(txt) ) ? this : null;
			
    case "phone" :
        txt = txt.replace(/[ //.;,_-]/g, '');
    var reg = new RegExp("^0{1}[1-58-9]{1}[0-9]{8}$", "g");
    document.getElementById(this.id).value = txt;
    return ( !reg.test(txt) ) ? this : null;
			
case "portable" :
    txt = txt.replace(/[ //.;,_-]/g, '');
var reg = new RegExp("^0{1}[6-7]{1}[0-9]{8}$", "g");
document.getElementById(this.id).value = txt;
return ( !reg.test(txt) ) ? this : null;

case "cp" :
// alert("testcp");
txt = txt.replace(/ /g, '');
var reg = new RegExp("^[0-9]{5}$", "g");
document.getElementById(this.id).value = txt;
return ( !reg.test(txt) ) ? this : null;

case "radio" :
var objs=document.getElementsByName(this.id); 
for(i=0;i<objs.length;i++) {
    if (objs[i].checked) return null;
} 
return this; 
case "select" :
var obj = document.getElementById(this.id);
var text_value = obj.options[obj.selectedIndex].value;
//alert(text_value);
return ( text_value == "noselect" ) ? this : null;
case "date" :
var obj = document.getElementById(this.id).value;
if( obj == "1900-01-01" ) return this;
var ladate = (obj).split("-");
var unedate = new Date(eval(ladate[0]),eval(ladate[1])-1,eval(ladate[2]));
return ((unedate.getDate() == eval(ladate[2])) && (unedate.getMonth() == (eval(ladate[1])-1) ) && (unedate.getFullYear() == eval(ladate[0]))) ? null : this;
default:
return (txt == "") ? this : null;
}

}
//***** La fonction setFocus
Champ.prototype.setFocus=function() {
document.getElementById(this.id).focus();
}
//***** La fonction ChampList
function ChampListe() {
this.items = new Array();
}
//***** La fonction add
ChampListe.prototype.add=function(id,msg,type,err) {
this.items.push(new Champ(id,msg,type,err));
}
//***** La fonction VerifierTout
ChampListe.prototype.verifierTout=function() {
	
        var result = null;
        var result_first = null;
        var erreur = false;

        for (var i=0; i < this.items.length; i++)
        {
            //alert(this.items[i].err);
            document.getElementById(this.items[i].err).innerHTML = "";
            result = this.items[i].verifier();
            //$("#"+this.items[i].msg).removeClass("error-border");
            //$("#"+this.items[i].id+" > h4").css( {'color' : '#666'} );
            //$("#"+this.items[i].msg+" > label").css( {'color' : '#666'} );

            //alert(result);
            if (result) {
            document.getElementById(this.items[i].err).innerHTML = this.items[i].msg;
           // if(this.items[i].msg.indexOf("") != -1 ) $("#"+this.items[i].msg).addClass('error-border');
            //$("#"+this.items[i].id+" > h4").css( {'color' : 'red'} );
            //$("#"+this.items[i].msg+" > label").css( {'color' : 'red'} );

            if(!erreur) {
                erreur = true;
                result_first = result;
            }
        }
    }

    return result_first;
}
//***** La fonction verification 


function verification_contact(){
    var champs = new ChampListe();
    // alert("titi");
    champs.add("nom", "veuillez renseigner un nom", "text", "texte_alerte_nom");
    champs.add("prenom", "veuillez renseigner un prenom", "text", "texte_alerte_prenom");
    champs.add("societe", "veuillez renseigner societe", "text", "texte_alerte_societe");
    champs.add("telephone", "veuillez renseigner un telephone", "text", "texte_alerte_telephone");
    champs.add("nom","veuillez saisir votre nom", "select", "texte_alerte_nom");
    champs.add("prenom","veuillez saisir votre prénom", "text", "texte_alerte_prenom");
    champs.add("email", "veuillez saisir un email", "email", "texte_alerte_email");
    champs.add("tel", "veuillez renseigner votre téléphone", "tel", "texte_alerte_tel");
    champs.add("cp","veuillez renseigner votre code postal", "cp","texte_alerte_cp");
    champs.add("adresse", "veuillez renseigner votre adresse", "text", "texte_alerte_adresse");
    champs.add("ville", "veuillez renseigner votre ville", "text", "texte_alerte_ville");
    champs.add("commentaire", "ce champs est obligatoire", "text", "texte_alerte_commentaire");

    var champ = champs.verifierTout();
    //alert(champ.id);

        if (champ) {
        //alert(champ);
            if(champ.type!='radio')
                champ.setFocus();
                return false;
            }
            else {
                 return true;
        }

}

function verification_recrut_garde_enfant(){
    var champs = new ChampListe();
    champs.add("diplome", "veuillez renseigner votre diplôme", "text", "texte_alerte_diplome");
    champs.add("qualif","veuillez renseigner vos qualifications","texte","texte_alerte_qualif");
    champs.add("expe","veuillez renseigner votre expérience","text","texte_alerte_expe");
    champs.add("dispo","veuillez saisir une date ","text","texte_alerte_dispo");
    champs.add("zone","veuillez renseigner une zone ","text","texte_alerte_zone");
    champs.add("civi","veuillez renseigner votre civilité","select","texte_alerte_civi");
    champs.add("nom","veuillez renseigner votre nom","text","texte_alerte_nom");
    champs.add("prenom","veuillez renseigner votre prénom","text","texte_alerte_prenom");
    champs.add("age","veuillez renseigner votre âge","text","texte_alerte_age");
    champs.add("email","veuillez saisir un email","email","texte_alerte_email");
    champs.add("tel","veuillez renseigner un numéro","tel","texte_alerte_tel");
    champs.add("adresse","veuillez renseigner votre adresse","text","texte_alerte_adresse");
    champs.add("cp","veuillez saisir votre code postal","cp","texte_alerte_cp");
    champs.add("ville","veuillez renseigner une ville ","text","texte_alerte_ville");


    var champ = champs.verifierTout();

    if (champ) {
        //alert(champ);
        if(champ.type!='radio')
            champ.setFocus();
            return false;
         }
         else {
                return true;
    }

}

function verification_contact_gen(){
    var champs = new ChampListe();
    champs.add("nom", "veuillez renseigner votre nom", "text", "texte_alerte_nom");
    champs.add("prenom", "veuillez renseigner un prénom", "text", "texte_alerte_prenom");
    champs.add("email", "veuillez renseigner un email", "email", "texte_alerte_email");
    champs.add("tel", "veuillez renseigner votre téléphone", "tel", "texte_alerte_tel");
    champs.add("service", "veuillez renseigner un service", "select","texte_alerte_service");
    champs.add("commentaire", "veuillez renseigner votre message", "text","texte_alerte_commentaire");

    var champ = champs.verifierTout();

    if (champ) {
        //alert(champ);
        if(champ.type!='radio')
            champ.setFocus();
            return false;
        }
        else {
            return true;
    }

}

function verification_contact_ce(){
    //alert('titi');
    var champs = new ChampListe();
    champs.add("nom", "Veuillez renseigner un nom", "text", "texte_alerte_nom");
    champs.add("prenom", "veuillez renseigner un prénom", "text", "texte_alerte_prenom");
    champs.add("email", "veuillez renseigner votre email", "email", "texte_alerte_email");
    champs.add("tel", "veuillez renseigner votre téléphone", "tel", "texte_alerte_tel");
    champs.add("nom_E", "veuillez renseigner  l'entreprise", "text", "texte_alerte_nom_E");
    champs.add("adresse", "veuillez renseigner uen adresse", "text","texte_alerte_adresse");
    champs.add("cp", "veuillez saisir votre code postal", "cp", "texte_alerte_cp");
    champs.add("ville", "veuillez renseigner votre ville", "ville", "texte_alerte_ville");
    var champ = champs.verifierTout();

    if (champ) {
        //alert(champ);
        if(champ.type!='radio')
            champ.setFocus();
            return false;
        }
        else {
            return true;
    }
}

function verification_parain(){

        var champs = new ChampListe();
        champs.add("nom", "veuillez renseigner un nom ", "text", "texte_alerte_nom");
        champs.add("prenom", "veuillez renseigner un prénom ", "text", "texte_alerte_prenom");
        champs.add("email", "veuillez renseigner un email", "email", "texte_alerte_email");
        champs.add("numero", "veuillez renseigner un numero ", "text", "texte_alerte_numero");
        champs.add("mailclient", "veuillez renseigner votre email", "email", "texte_alerte_mailclient");
        champs.add("tel", "veuillez renseigner votre téléphone", "tel", "texte_alerte_tel");
        champs.add("matiere", "veuillez renseigner une matière ", "text", "texte_alerte_matiere");
        champs.add("nom", "veuillez renseigner votre nom", "text", "texte_alerte_nom2");
        champs.add("prenom", "veuillez renseigner votre prénom", "text", "texte_alerte_prenom2");
        champs.add("adresse", "veuillez renseigner votre adresse", "text", "texte_alerte_adresse");
        champs.add("cp", "veuillez renseigner votre code postal", "cp", "texte_alerte_cp");
        champs.add("ville", "veuillez renseigner votre ville", "text", "texte_alerte_ville");

        var champ = champs.verifierTout();

            if(champ){
               if(champ.type!='radio')
                    champ.setFocus();
                     return false;

                  } else {
                        return true;
                  }
 }


function verification_doc(){

    var champs = new ChampListe();
    champs.add("prenomenfant","veuillez renseigner un prénom","text","texte_alerte_prenomenfant");
    champs.add("classe","veuillez renseigner une classe","select","texte_alerte_classe");
    champs.add("matiere","veuillez renseigner la matière","text","texte_alerte_matiere");
    champs.add("urgence","veuillez renseigner un degré","select","texte_alerte_degre");
    champs.add("nom","veuillez renseigner votre nom","text","texte_alerte_nom");
    champs.add("prenom","veuillez renseigner votre prénom","text","texte_alerte_prenom");
    champs.add("email","veuillez renseigner votre email","email","texte_alerte_email");
    champs.add("tel","veuillez saisir votre téléphone","tel","texte_alerte_tel");
    champs.add("adresse","veuillez saisir votre adresse","text","texte_alerte_adresse");
    champs.add("cp","veuillez saisir votre code postal","cp","texte_alerte_cp");
    champs.add("ville","veuillez renseigner votre ville ","text","texte_alerte_ville");
    champs.add("doc","veuillez renseigner une documentation ","select","texte_alerte_doc");
    champs.add("commentaire","veuillez renseigner les difficultés","text","texte_alerte_commentaire");
    champs.add("connu","veuillez renseigner ce champ","select","texte_alerte_connu");
    

     var champ = champs.verifierTout();

            if(champ){
               if(champ.type!='radio')
                    champ.setFocus();
                     return false;

                  } else {
                        return true;
                  }



}

function verification_stage(){

    var champs = new ChampListe();
    champs.add("nom","veuillez renseigner le nom du parent","text","texte_alerte_nom");
    champs.add("prenom","veuillez renseigner son prénom ","text","texte_alerte_prenom");
    champs.add("email","veuillez renseigner un email","email","texte_alerte_email");
    champs.add("tel","veuillez renseigner un numéro ","tel","texte_alerte_tel");
    champs.add("adresse","veuillez renseigner votre adresse","text","texte_alerte_adresse");
    champs.add("cp","veuillez saisir votre code postal","cp","texte_alerte_cp");
    champs.add("ville","veuillez renseigner votre ville","text","texte_alerte_ville");
    champs.add("nomeleve","veuillez renseigner le nom de l'élève","text","texte_alerte_nom_eleve");
    champs.add("prenomeleve","veuillez renseigner un prénom","text","texte_alerte_prenom_eleve");
    //champs.add("","","","");

     var champ = champs.verifierTout();

            if(champ){
               if(champ.type!='radio')
                    champ.setFocus();
                     return false;

                  } else {
                        return true;
                  }
}
