//==========================================================================================
// FONCTION :   valideFormulaire
// AUTEUR :      Thomas
// VERSION       1.0 (080409)
//
// USAGE :
// Permet de valider un formulaire simple avec un retour d'erreur texte+visuel
//
// On prévoit à l'intérieur du FORM une balise <p> où va s'afficher le message d'erreur (peut être invisible au départ)
// ou contenir un texte "Veuillez remplir le formulaire ci-dessous..." par ex
// On ajoute au texte accompagnant le champs un id composé de "label_" + le name de l'élément de formulaire
// Ex: <span id="label_monchamps">Mon champs :</span><input type="text" name="monchamps" />
// Cet exemple va vérifier si le champs INPUT associé est vide. On peut aussi vérifier si :
//      - le champs contient un email valide avec "label_monchamps_email"
//      - le champs contient du numérique ( . autorisé) : "label_monchamps_num"
//      - le champs contient du numérique ( . autorisé) et ne doit pas obligatoirement être rempli : "label_monchamps_numfac"
//      - si l'élément de form associé est un SELECT, on peut retourner une erreur si un certain index est choisi :
//        "label_monselect_0" (0=numéro d'index)
//
//  Dans la balise FORM, on met un 
//  onSubmit="return(VerifsFranchiseForm(formulaire, 'classformerreur', 'classformok', 'msgerreurid', 'msgerreurclasse', 'Erreurs !'));"
//
// PARAMETRES 
//      - formulaire : objet formulaire (this)
//      - classformerreur : classe CSS avec mise en forme des labels lors d'une erreur
//      - classformok : classe CSS avec mise en forme des labels par défaut
//      - msgerreurid : id d'un <p> dans lequel va s'afficher le message d'erreur lorsqu'un formulaire est mal saisi
//      - msgerreurclasse : classe CSS de mise en forme du message d'erreur
//      - msgerreur : texte avec le message d'erreur
//
//==========================================================================================


function Test()
{
alert('montest');
return false;
}


function valideFormulaire (formulaire, classformerreur, classformok, msgerreurid, msgerreurclasse, msgerreur)
{
    var spanlabels = formulaire.getElementsByTagName('span');
    var erreur;
    var valide=true;

    for (i=0;i<spanlabels.length;i++)
    {
        var tab=spanlabels[i].id.split("_");
        if (tab.lenght<2) continue;
       
        erreur=false;
        
        if(tab[0]=="label")
        {
            tempObj=eval("formulaire." + tab[1]);
            
            if ((tempObj.type=="text") || (tempObj.type=="file")) 
            {
                if (tab[2]=="mail") {                 
                    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
                    erreur=!(reg.test(tempObj.value));
                }
                else if (tab[2]=="num") {
                    if (tempObj.value=="") erreur=true;
                    else {                 
                        var exp = new RegExp("^[0-9-. ]*$","g");                  
                        erreur=!(exp.test(tempObj.value));
                        }
                }
                else if (tab[2]=="numfac") {          
                        var exp = new RegExp("^[0-9-. ]*$","g");
                        erreur=!(exp.test(tempObj.value));
                }
                else if (tempObj.value=="") erreur=true;
            }

            else if (tempObj.tagName=="SELECT") 
            {
                 if (tab[2]!=null) {  
                if (tempObj.selectedIndex==tab[2]) { erreur=true; }
                }
            }

            if (erreur==true) { spanlabels[i].className=classformerreur; valide=false; }
            else { spanlabels[i].className=classformok;   }
        }   
    }
    
    if (valide==false) {
    document.getElementById(msgerreurid).className=msgerreurclasse;
    document.getElementById(msgerreurid).innerHTML=msgerreur;
    }

    return valide;
}

//==========================================================================================
function VerifsFranchiseForm(formulaire, classformerreur, classformok, msgerreurid, msgerreurclasse, msgerreur ) {

    retour=true;

    if (formulaire.SDI.checked ==false && formulaire.SDF.checked ==false ) {
        document.getElementById("sdftexte").className="formerreur"; 
        document.getElementById("sditexte").className="formerreur";   
        retour=false;
        }
    else {
        document.getElementById("sditexte").className="formok";   
        document.getElementById("sdftexte").className="formok"; 
    }

    retour=valideFormulaire (formulaire, classformerreur, classformok, msgerreurid, msgerreurclasse, msgerreur);
    return retour;
}


//==========================================================================================
function VerifsRecrutementForm(formulaire, classformerreur, classformok, msgerreurid, msgerreurclasse, msgerreur ) 
{

   /*  // inutile: on utilise un textarea pour les diplômes à la place des checkbox maintenant
   
   var pasdediplome=true;

    if(formulaire.diplome)  { if(formulaire.diplome.checked==true)  pasdediplome=true; }
    if(formulaire.diplome1) { if(formulaire.diplome1.checked==true) pasdediplome=false; }
    if(formulaire.diplome2) { if(formulaire.diplome2.checked==true) pasdediplome=false; }
    if(formulaire.diplome3) { if(formulaire.diplome3.checked==true) pasdediplome=false; }
    if(formulaire.diplome4) { if(formulaire.diplome4.checked==true) pasdediplome=false; }
    if(formulaire.diplome5) { if(formulaire.diplome5.checked==true) pasdediplome=false; }
    if(formulaire.diplome6) { if(formulaire.diplome6.checked==true) pasdediplome=false; }
    if(formulaire.diplome7) { if(formulaire.diplome7.checked==true) pasdediplome=false; }
  
    formulaire.diplome.checked=pasdediplome;  
    */
    
    return valideFormulaire (formulaire, classformerreur, classformok, msgerreurid, msgerreurclasse, msgerreur);
}

//==========================================================================================
function getDernierElementDansSelect (obj)
{
    var nbitems= String(obj.options.length);
    return  nbitems;
}


//==========================================================================================
function Affdiplomes(id) {	
	if (id==1){
		document.getElementById('diplomesPrecis').style.display = 'block';
	}	
	else
	{
		document.getElementById('diplomesPrecis').style.display = 'none';
	}
}

function AffRecrutement(id) {	
	if (id==1){
		document.getElementById('RecrutementPrecis').style.display = 'block';
	}	
	else
	{
		document.getElementById('RecrutementPrecis').style.display = 'none';
	}
}
function AffRecrutement2(id) {	
	if (id==1){
		document.getElementById('RecrutementPrecis2').style.display = 'block';
	}	
	else
	{
		document.getElementById('RecrutementPrecis2').style.display = 'none';
	}
}
function AffRecrutement3(id) {	
	if (id==1){
		document.getElementById('RecrutementDep1').style.display = 'block';
	}	
	else
	{
		document.getElementById('RecrutementDep1').style.display = 'none';
	}
}
function AffRecrutement4(id) {	
	if (id==1){
		document.getElementById('RecrutementDep2').style.display = 'block';
	}	
	else
	{
		document.getElementById('RecrutementDep2').style.display = 'none';
	}
}
function AffRecrutement5(id) {	
	if (id==1){
		document.getElementById('RecrutementDep3').style.display = 'block';
	}	
	else
	{
		document.getElementById('RecrutementDep3').style.display = 'none';
	}
}
function AffRecrutement6(id) {	
	if (id==1){
		document.getElementById('posteocccupe').style.display = 'block';
	}	
	else
	{
		document.getElementById('posteocccupe').style.display = 'none';
	}
}
function AffRecrutement7(id) {	
	if (id==1){
		document.getElementById('posteocccupe2').style.display = 'block';
	}	
	else
	{
		document.getElementById('posteocccupe2').style.display = 'none';
	}
}
function AffRecrutement8(id) {	
	if (id==1){
		document.getElementById('posteocccupe3').style.display = 'block';
	}	
	else
	{
		document.getElementById('posteocccupe3').style.display = 'none';
	}
}





