//candidature_opened=0;
//pop_info=null;
//pop_attente=null;

//valide le formulaire contenant les infos concernant le candidat
function validation(nom_form,num) {
	with (nom_form) {

		if (nom.value<1) {
			window.alert("Veuillez saisir votre nom.");
			return false;
		} else {
            if (!isStr(nom.value)) {
                window.alert("Veuillez saisir des caractères pour votre nom.");
                return false;
            }
        }
		if (prenom.value.length<1) {
			window.alert("Veuillez saisir votre prénom.");
			return false;
		} else {
            if (!isStr(prenom.value)) {
                window.alert("Veuillez saisir des caractères pour votre prénom.");
                return false;
            }
        }
		if (adresse.value.length<1) {
			window.alert("Veuillez saisir votre adresse.");
			return false;
		}
		if (ville.value.length<1) {
			window.alert("Veuillez saisir votre ville.");
			return false;
		} else {
            if (!isStr(ville.value)) {
                window.alert("Veuillez saisir des caractères pour votre ville.");
                return false;
            }
        }
		if (cp.value.length<1) {
			window.alert("Veuillez saisir votre code postal.");
			return false;
		}
        if (cp.value.length>12) {
            window.alert("Veuillez saisir à nouveau votre code postal.");
            return false;
        }        
		if (tel.value.length<1) {
            window.alert("Veuillez saisir à nouveau votre numéro de téléphone.");
            return false;
		} /*else {
             if (!isNum(tel.value)) {
			    window.alert("Téléphone incorrect");
			    return false;
             }
        }*/
        if (tel.value.length>12) {
            window.alert("Veuillez saisir à nouveau votre numéro de téléphone.");
            return false;
        }
		if (email.value.length>=1) {
			if (!testemail(email.value)) {
				window.alert("Veuillez saisir à nouveau votre adresse mail.");
				return false;
			}
		}
		var indice=etudes.selectedIndex;
        if (indice==0) {
			window.alert("Veuillez saisir votre niveau d'études.");
			return false;        
        }
		if (diplome.value.length<1) {
			window.alert("Veuillez saisir votre diplome.");
			return false;
		}
		if (experience.value.length<1) {
			window.alert("Veuillez saisir le nombre de vos années d'expérience.");
			return false;
		} else {
            if (!isNum(experience.value)) {
                window.alert("Veuillez entrer un entier pour votre expérience");
                return false;
            }
        }
        if (experience.value.length>2) {
			window.alert("Veuillez saisir à nouveau le nombre de vos années d'expérience.");
			return false;
		}
		var liste="";
		var taille=elements['langues[]'].length;
		var nb_select=0;
		for (i=0; i<taille; i++) {
			if (elements['langues[]'].options[i].selected == true) {
				nb_select += 1;
				liste += elements['langues[]'].options[i].text;
			}
		}
		if (nb_select==0) {
			window.alert("Veuillez entrer les langues que vous parlez.");
			return false;
		}

            
            
        //////////////////// pas de test si réponse à une annonce //////////////////////
        
        if (num!=1) {
		    indice=lieu_travail.selectedIndex;
		    if (indice==0) {
			    window.alert("Veuillez entrer le lieu de travail que vous souhaitez.");
			    return false;
		    } 
		    indice=contrat.selectedIndex;
		    if (indice==0) {
		        window.alert("Veuillez entrer le contrat que vous souhaitez.");
		        return false;
		    }     
            if (name=="depot_cv_emploi") {                       
		        indice=categorie.selectedIndex;
		        if (indice==0) {
		    	    window.alert("Veuillez entrer la catégorie que vous souhaitez.");
		    	    return false;
	    	    }        
            }
            if (name=="depot_cv_stage") {
		        indice=service.selectedIndex;            
		        if (indice==0) {
		    	    window.alert("Veuillez entrer le service que vous souhaitez.");
		    	    return false;
		        } 
                if ((date_debut.value.length<1)||(date_fin.value.length<1)) {
			        window.alert("Veuillez entrer les dates du stage.");
			        return false;
		        }
                if (!isDate(date_debut.value)) {
                    window.alert("La date de début ne respecte pas le format demandé");
                    return false;
                }
                if (!isDate(date_fin.value)) {
                    window.alert("La date de fin ne respecte pas le format demandé");
                    return false;
                }                
            }
        }
        
		if ((lettre_motiv.value.length<1) && (lettre_motiv2.value.length<1)) {
			window.alert("Veuillez rentrer une lettre de motivation");
			return false;
		}
		if (cv.value.length<1) {
			window.alert("Veuillez rentrer un cv.");
			return false;
		}
	}
	return true;
}

//teste si l'adresse email rentrée est valide
function testemail(email) {
	var where_is_a=email.indexOf('@');
	var where_is_dot=email.indexOf('.');
	var sub_email="";
	
	//teste si les caractères '@' et '.' sont présents dans la chaîne
	//et ne débutent pas la chaîne
	if ((email.indexOf('@')<1) || (email.indexOf('.')<1)) {
		// l'adresse entrée est incorrecte
		return false;
	}
	else {
		//sub_mail est la sous-chaîne de 'email' après le caractère '@'
		sub_email=email.substring(where_is_a+1,email.length);
		//teste si le caractère '.' est présent dans la sous-chaîne, 
		//ni en première, ni en dernière position
		if ((sub_email.indexOf('.')<1) || (sub_email.indexOf('.')==sub_email.length-1)) {
			//l'adresse entrée est incorrecte
			return false;
		}
	}
	return true;
}

//retourne vrai si le champ est un entier
function isNum(t) {
  /*e = new RegExp("^[0-9]+$");
  
  if (!e.test(t)) // On teste l'expression régulière pour valider la forme de la date
    return false; // Si pas bon, retourne faux*/
    var num=parseInt(t);
    //var rate=isNaN(t);
    //window.alert("num="+num+"- rate="+rate);
    
    if (isNaN(t)) return false;
    else return true;
}

//retourne vrai si le champ est une chaine de caractères
function isStr(s) {

    //var rate=isNaN(s);
    //window.alert("str="+s+"- rate="+rate);
    
    return isNaN(s);
    /*if (isNaN(s)) return false;
    else return true;*/
}


//traite le formulaire si les champs sont valides
function submit_form(nom_form,num) {
	if (validation(nom_form,num)) {	 
        nom_form.bouton_submit.value='patientez...'; 
        window.opener.focus();
        pop_attente = window.open('attente.php','attente','scrollbars=no,width=540,height=200,top=10,left=10');
	    nom_form.submit();
	}
}

/*
//ferme un popup si l'utilisateur clique en-dehors
function close_pop_info() {
    if (pop_info) {
        if (!pop_info.closed && pop_info.open) {
            pop_info.close();
        }
    }
}
*/
//ferme le popup d'attente lorsque le formulaire de cv a été envoyé
function close_pop_attente() {
    if (pop_attente) {
        if (!pop_attente.closed && pop_attente.open) {
            pop_attente.close();
        }
    }
}

