/**
 * ajoute un gestionnaire d'evenement a tous les formulaires du document
 */
function addFormChecks(e) {	
    var forms = document.forms; 
    for (var index = 0; index < forms.length; ++index) {
        var form = forms.item(index);
        Event.observe(form, 'submit', checkForm); 
    }
} 

function afficheFormEtudiant() { 
	var formEtudiant = $("FormZeroEtudiant");
	for (var index = formEtudiant.length -1; index >= 0; --index) {		
		var field = form.elements.item(index);
	    var fieldname = field.id;
	    var value = $F(field);
	    alert(fieldname);
	    value = '';
	}
	formEtudiant.style.display="block";
	
	var FormZeroProf = $("FormZeroProf");
	FormZeroProf.style.display="none";
	for (var index = FormZeroProf.length -1; index >= 0; --index) {		
		var field = form.elements.item(index);
	    var fieldname = field.id;
	    var value = $F(field);
	    value = '';
	}
}

function afficheFormProf() { 
	var formEtudiant = $("FormZeroEtudiant");
	formEtudiant.style.display="none";
	for (var index = formEtudiant.length -1; index >= 0; --index) {		
		var field = form.elements.item(index);
	    var fieldname = field.id;
	    var value = $F(field);
	    value = '';
	}
	var FormZeroProf = $("FormZeroProf");
	FormZeroProf.style.display="block";
	for (var index = FormZeroProf.length -1; index >= 0; --index) {		
		var field = form.elements.item(index);
	    var fieldname = field.id;
	    var value = $F(field);
	    value = '';
	}
}


/**
 * controle d'un formulaire : 
 * verif 1: champs requis : class="req"
 * verif 2 : email correct : class="mail"
 */
function checkForm(e) { 
	REGEX_BLANK = /^\s*$/;	
	// on recupere l'element cible (le formulaire) ayant declenche l'evenement e
	var form = Event.element(e); 
	// on balaie les champs du formulaire
	for (var index = form.length -1; index >= 0; --index) {		  
	    classe = '';
	    var field = form.elements.item(index);
	    var fieldname = field.id;
	    var value = $F(field);
	    var ecn = Element.classNames(field);
	    ecn.each(function(s) {classe += s;});
		// champs requis : class "req"
	    if (classe.match(/req/)) {	
			if (value.match(REGEX_BLANK)) {     
				$(fieldname).addClassName("requis");
				$('msg').innerHTML = "<p class=\"taille3 gras centre violet3\"> Formulaire incomplet. </p>";
				$(fieldname).focus();	
				Event.stop(e);
			}
			else { // on enlève la bordure rouge sur les champs qui ont été remplis
				$(fieldname).removeClassName("requis");
			}
		}
	    if (classe.match(/elv_classe/)) {	
			if (value.match(/nonrenseigne/)) {     
				$(fieldname).addClassName("requis");
				$('msg').innerHTML = "<p class=\"taille3 gras centre violet3\"> Formulaire incomplet. </p>";
				Event.stop(e);
			}
			else { // on enlève la bordure rouge sur les champs qui ont été remplis
				$(fieldname).removeClassName("requis");
			}
		}
	    
		
		// vérification email : class "mail"
		if (classe.match(/mail/)) {
			// mail incorrect 
			if(!verifMail(value)) {
				$('labelmail').innerHTML = "<span class=\"moyen gras rouge\"> Email incorrect. </span>";
				$(fieldname).addClassName("mail_incorrect");		
				$(fieldname).focus();			
				Event.stop(e);
			}
			// mail correct et précédemment incorrect 
			// $('email').clear();
			else if (classe.match(/mail_incorrect/)) {
				$(fieldname).removeClassName("mail_incorrect"); // on enlève la bordure rouge sur les champs qui ont été remplis
				$('labelmail').innerHTML = "Email";
			}
			
   		}
		
	} // fin balayage des champs
	
    return;	
} 

/**
 *
 */	
function verifMail(mail) {
	if (mail.match(REGEX_BLANK)) return true;
	adresse_email =mail;
    arobase = adresse_email.indexOf("@");
    point = adresse_email.indexOf(".",arobase);
    mauvais_endroit_point = arobase+1;
    double_point = adresse_email.indexOf("..",arobase);
    nbre_carac = adresse_email.length - point;
    double_arobase = adresse_email.indexOf("@",arobase+1); 
    // dans l'ordre:         
    // si l'arobase est absente ou en 1ere position
    // ou si le . suivant l'arobase est juste derriere ou absent
    // si la longueur de l'adresse est inferieure a 5 (grand minimum -> x@x.x)
    // si il ya pas 2 . qui se suive deriere l'arobase
    // si il y a bien 2 caractere minimum apres le . situe derriere l'arobase   
    // si il y a pas une arobase deriere la premiere arobase
    if ( (arobase < 1) ||  
        (point <= mauvais_endroit_point) || 
        (adresse_email.length < 5) || 
        (double_point >= 0) ||
        (nbre_carac < 3) ||
        (nbre_carac >5) ||  
        (double_arobase >= 0) ) {
        return false;
    }   
    return true;
}

/**
* 
* Ajout du site aux favoris
* 
*/ 
   
function favoris() {
if (navigator.appName != 'Microsoft Internet Explorer')
{ window.sidebar.addPanel("Soutien scolaire : Cours Thales","http://www.cours-thales.fr",""); }
else { window.external.AddFavorite("http://www.cours-thales.fr","Soutien scolaire : Cours Thales"); } 
}





