var _BASE_HREF = 'http://www.acadeos.fr/';
var _BASE_HREF_ACADOMIA = _BASE_HREF;

var currentCPValue = null;
var currentProfessionValue = null;
var currentActiviteValue = null;
var currentDiplomeValue = null;
var selectedMatieres = new Array();


var Matieres = new Array();
var Instruments = new Array();
var Diplomes = new Array();
var Experiences = new Array(); 

//affichage du bouton de soumission du formulaire (pour v�rifier que js est activ� sur le navigateur)
function displaySubmit() {
	$('envoyer').setStyle('visibility', 'visible');
}

// appel ajax au changemept de cp => recuperation des villes
function updatedCP()
{
	var value = jQuery('#cp').val();
	
	if (currentCPValue != value && value.length == 5) {
		getDDLdata('ville', 'getDDL', 'getVilleFromCP', value, 'COMMUNE_ID', 'COMMUNE_LIB', null, null);
	}
	currentCPValue = value;
	return;	
}
function updatedCPAdulte(cp,val) {
//var value = $(cp).getValue();
var value = cp;
	if (currentCPValue != value && value.length == 5) {
		getDDLdata(val, 'getDDL', 'getVilleFromCP', value, 'COMMUNE_ID', 'COMMUNE_LIB', null, null);
	}
	currentCPValue = value;
	return;	
}

// appel ajax au changemept de cp => recuperation des villes
function updatedCPByName2() {
	var value = $('cp_entreprise').getValue();
	if (currentCPValue != value && value.length == 5) {
		getDDLdata('ville_entreprise', 'getDDL', 'getVilleFromCP', value, 'COMMUNE_LIB', 'COMMUNE_LIB', null, null);
	}
	currentCPValue = value;
	return;	
}
// appel ajax au changemept de cp => recuperation des villes
function updatedCPByName() {
	var value = $('cp').getValue();
	if (currentCPValue != value && value.length == 5) {
		getDDLdata('ville', 'getDDL', 'getVilleFromCP', value, 'COMMUNE_LIB', 'COMMUNE_LIB', null, null);
	}
	currentCPValue = value;
	return;	
}
// appel ajax au changemept de professioin => recuperation des activites
function updatedProfession() {
	var value = $('profession').getValue();
	if (currentProfessionValue != value) {
		disableDDL('typeactivite');
		//emptyDDL('typeactivite');
		getDDLdata('activite', 'getDDL', 'getActiviteFromProfession', value, 'ACTIVITECAND_ID', 'ACTIVITECAND_LIB', 0, 'Choisissez');
	}
	currentProfessionValue = value;
	return;	
}

// appel ajax au changemept de l'activite => recuperation des types d'activit�
function updatedActivite() {
	var value = $('activite').getValue();
	if (currentActiviteValue != value) {
		getDDLdata('typeactivite', 'getDDL', 'getTypeActivite', value, 'TYPECAND_ID', 'TYPECAND_LIB', 0, 'Choisissez');
	}
	currentActiviteValue = value;
	return;	
}

// appel ajax au changemept de diplome => recuperation des sp�cialites
function updatedDiplome() {
	var value = $('diplome').getValue();
	if (currentDiplomeValue != value) {
		getDDLdata('specialitediplome', 'getDDL', 'getSpecialite', value, 'SPECDIPL_ID', 'SPECDIPL_LIB', 0, 'Choisissez');
	}
	currentActiviteValue = value;
	return;	
}

/**
 * Gestion des matiereautre
 */
//ajout
function ajoutMatiereautre() {
	var selectedMatiere = $('composantproduit').options[$('composantproduit').selectedIndex];
	
	// verif si 1 metiere a �t� s�lectionn�e
	if ($('composantproduit').getValue() == 0) {
		alert('Veuillez s�lectionner une mati�re');
		return;	
	}
	
	// verif que la matiere n'est pas deja selectionnee
	if (isSelectedMatiere(selectedMatiere.value)) {
		alert('Cette mati�re est d�j� renseign�e');
		return;	
	}
	
	// boucle des cycles (v�rifs + initialisation)
//	var currentMatiere = new Matiere(selectedMatiere.value, selectedMatiere.text);
	var currentMatiere = new Matiereautre(selectedMatiere.value, selectedMatiere.text);
	
	Matieres.include(currentMatiere);
	addOption('matieres', Json.toString(currentMatiere), currentMatiere.getOptionLabel());
	
}

/**
 * Gestion des matieres
 */
//ajout
function ajoutMatiere() {
	
	var cycles = $('formRecrutementEnseignant').getElements('input[name=matiereCycle]');
	var selectedMatiere = $('composantproduit').options[$('composantproduit').selectedIndex];
	
	// verif si 1 metiere a �t� s�lectionn�e
	if ($('composantproduit').getValue() == 0) {
		alert('Veuillez s�lectionner une mati�re');
		return;	
	}
	
	// verif que la matiere n'est pas deja selectionnee
	if (isSelectedMatiere(selectedMatiere.value)) {
		alert('Cette mati�re est d�j� renseign�e');
		return;	
	}

	// boucle des cycles (v�rifs + initialisation)
	var cycleAreChecked = false;
	var currentMatiere = new Matiere(selectedMatiere.value, selectedMatiere.text);
	for (var i = 0; i < cycles.length; i++) { 
		currentMatiere.cycles[i] = new Cycle(cycles[i].value, getInputLabel(cycles[i].getAttribute('id')));
		if (cycles[i].checked == true) {
			cycleAreChecked = true;
			currentMatiere.cycles[i].setSelected();
		}
	}
	
	// aucun cycle s�lectionn�
	if (cycleAreChecked != true) {
		alert('Vous devez s�lectionner le(s) cycle(s) scolaire(s) souhait�(s)');
		return;	
	}

	Matieres.include(currentMatiere);
	
	addOption('matieres', Json.toString(currentMatiere), currentMatiere.getOptionLabel());
	// reinitialisation des checkboxes
	cycles.each(function(item, index) {
		item.checked = false;
	});

}
// supression
function enleveMatiere() {
	if (!$('matieres').getValue()) {
		alert('Aucun �l�ment s�lectionn�');
		return;
	}
	var j = Matieres.length;
	for (var i = 0; i < j; i++) {
		if (Matieres[i].id == Json.evaluate($('matieres').getValue()).id) {
			Matieres.remove(Matieres[i]);
		}
	}
	$('matieres').options[$('matieres').selectedIndex] = null;
}
// verifie si une matiere a d�j� �t� s�lectionn�e
function isSelectedMatiere(id) {
	var j = Matieres.length;
	for (var i = 0; i < j; i++) {
		if (Matieres[i].id == id) 
			return true;
	}
	return false;
}



/**
 * Gestion des instruments
 */
//ajout
function ajoutInstrument() {
	var niveaux = $('formRecrutementMusique').getElements('input[name=instrumentNiveau]');
	var selectedInstrument = $('composantproduit').options[$('composantproduit').selectedIndex];
	
	// verif si 1 instrument a �t� s�lectionn�
	if ($('composantproduit').getValue() == 0) {
		alert('Veuillez s�lectionner un instrument');
		return;	
	}
	
	// verif que l'instrument n'est pas deja selectionne
	if (isSelectedInstrument(selectedInstrument.value)) {
		alert('Cet instrument est d�j� renseign�');
		return;	
	}
	
	// boucle des cycles (v�rifs + initialisation)
	var niveauIsChecked = false;
	var currentInstrument = new Instrument(selectedInstrument.value, selectedInstrument.text);
	var j = niveaux.length;
	for (var i = 0; i < j; i++) {
		currentInstrument.niveaux[i] = new Niveau(niveaux[i].value, getInputLabel(niveaux[i].getAttribute('id')));
		if (niveaux[i].checked == true) {
			niveauIsChecked = true;
			currentInstrument.niveaux[i].setSelected();
		}
	}
	
	// aucun cycle s�lectionn�
	if (niveauIsChecked != true) {
		alert('Vous devez s�lectionner votre niveau');
		return;	
	}
	Instruments.include(currentInstrument);
	
	addOption('matieres', Json.toString(currentInstrument), currentInstrument.getOptionLabel());
	// reinitialisation des checkboxes
	niveaux.each(function(item, index) {
		item.checked = false;
	});
}

// supression
function enleveInstrument() {
	if (!$('matieres').getValue()) {
		alert('Aucun �l�ment s�lectionn�');
		return;
	}
	var j = Instruments.length;
	for (var i = 0; i < j; i++) {
		if (Instruments[i].id == Json.evaluate($('matieres').getValue()).id) {
			Instruments.remove(Instruments[i]);
		}
	}
	$('matieres').options[$('matieres').selectedIndex] = null;
}
// verifie si une matiere a d�j� �t� s�lectionn�e
function isSelectedInstrument(id) {
	var j = Instruments.length;
	for (var i = 0; i < j; i++) {
		if (Instruments[i].id == id) 
			return true;
	}
	return false;
}


/**
 * Gestion des diplomes
 */
// ajout
function ajoutDiplome() {
	if ($('diplome').getValue() == 0) {
		alert('Vous devez s�lectionner votre diplome');
		return;
	} else if ($('annee').getValue() == 0) {
		alert('Vous devez s�lectionner l\'ann�e d\'obtention de votre dipl�me');
		return;
	}
	
	var selectedDiplome = new Diplome($('diplome').getValue(), $('diplome').options[$('diplome').selectedIndex].text, $('annee').options[$('annee').selectedIndex].text);
	var selectedDiplomeSend = new Diplome($('diplome').getValue(), $('diplome').options[$('diplome').selectedIndex].value, $('annee').options[$('annee').selectedIndex].value);
	if ($('specialitediplome').getValue() && $('specialitediplome').getValue() != 0) {
		selectedDiplome.specialite = $('specialitediplome').options[$('specialitediplome').selectedIndex].text;
		selectedDiplomeSend.specialite = $('specialitediplome').options[$('specialitediplome').selectedIndex].value;
	}
	selectedDiplome.setAcquis($('acquisOui').checked);
	selectedDiplomeSend.setAcquis($('acquisOui').checked);

	Diplomes.include(selectedDiplomeSend);
	
	// ajout de la ligne	
	addOption('diplomes', Json.toString(selectedDiplome), selectedDiplome.getOptionLabel());
}
// suppression
function enleveDiplome() {
	if (!$('diplomes').getValue()) {
		alert('Aucun �l�ment s�lectionn�');
		return;
	}
	var j = Diplomes.length;
	for (var i = 0; i < j; i++) {
		if (Diplomes[i].id == Json.evaluate($('diplomes').getValue()).id) {
			Diplomes.remove(Diplomes[i]);
			break;
		}
	}
	$('diplomes').options[$('diplomes').selectedIndex] = null;
}

/**
 * Gestion des diplomes (musique)
 */
// ajout
function ajoutDiplomeMusique() {
	if ($('diplome').getValue() == 0) {
		alert('Vous devez s�lectionner votre diplome');
		return;
	} else if ($('annee').getValue() == 0) {
		alert('Vous devez s�lectionner l\'ann�e d\'obtention de votre dipl�me');
		return;
	}
	
	var selectedDiplome = new Diplome($('diplome').getValue(), $('diplome').options[$('diplome').selectedIndex].text, $('annee').options[$('annee').selectedIndex].text);
	var selectedDiplomeSend = new Diplome($('diplome').getValue(), $('diplome').options[$('diplome').selectedIndex].value, $('annee').options[$('annee').selectedIndex].value);

	Diplomes.include(selectedDiplomeSend);
	
	// ajout de la ligne	
	if($defined($('acquisOui'))){
     		addOption('diplomes', Json.toString(selectedDiplome), selectedDiplome.getOptionLabel(false));
	}else{
		addOption('diplomes', Json.toString(selectedDiplome), selectedDiplome.getOptionLabel(true));
	}
}
// suppression
function enleveDiplomeMusique() {
	if (!$('diplomes').getValue()) {
		alert('Aucun �l�ment s�lectionn�');
		return;
	}
	var j = Diplomes.length;
	for (var i = 0; i < j; i++) {
		if (Diplomes[i].id == Json.evaluate($('diplomes').getValue()).id) {
			Diplomes.remove(Diplomes[i]);
			break;
		}
	}
	$('diplomes').options[$('diplomes').selectedIndex] = null;
}



/**
 * Gestion des exp�riences p�dagogiques
 */
// ajout
function ajoutExpPedago() {
	var date_deb = $('debutexp_date_jj').getValue() + '/' + $('debutexp_date_mm').getValue() + '/' + $('debutexp_date_aaaa').getValue();
	var date_fin = $('finexp_date_jj').getValue() + '/' + $('finexp_date_mm').getValue() + '/' + $('finexp_date_aaaa').getValue();
	
	var date_deb_temp = $('debutexp_date_aaaa').getValue() + $('debutexp_date_mm').getValue() + $('debutexp_date_jj').getValue()
	var date_fin_temp = $('finexp_date_aaaa').getValue() + $('finexp_date_mm').getValue() + $('finexp_date_jj').getValue()
	
	if (isDate(date_deb) === false) {
		alert('La date de d�but d\'exp�rience n\'est pas valide');
		return;
	} else if (isDate(date_fin) === false) {
		alert('La date de fin d\'exp�rience n\'est pas valide');
		return;
	} else if (date_fin_temp < date_deb_temp ){
		alert('La date de fin d\'exp�rience est ant�rieure � la date de d�but d\exp�rience');
		return;
	} else if ($('exppedago').getValue() == 0) {
		alert('Vous devez s�lectionner le type d\'experience pedagogique');
		return;
	}
	
	var selectedExp = new Experience($('exppedago').getValue(), $('exppedago').options[$('exppedago').selectedIndex].text, date_deb, date_fin);
	Experiences.include(selectedExp);
	
	// ajout de la ligne	
	addOption('experiences', Json.toString(selectedExp), selectedExp.getOptionLabel());
	
}
// suppression
function enleveExpPedago() {
	if (!$('experiences').getValue()) {
		alert('Aucun �l�ment s�lectionn�');
		return;
	}
	var j = Experiences.length;
	for (var i = 0; i < j; i++) {
		if (Experiences[i].id == Json.evaluate($('experiences').getValue()).id) {
			Experiences.remove(Experiences[i]);
			break;
		}
	}
	$('experiences').options[$('experiences').selectedIndex] = null;
}


/**
 * Gestion des exp�riences p�dagogiques (garde d'enfants)
 */
// ajout
function ajoutExpPedagoGarde() {
	var date_deb = $('debutexp_date_jj').getValue() + '/' + $('debutexp_date_mm').getValue() + '/' + $('debutexp_date_aaaa').getValue();
	var date_fin = $('finexp_date_jj').getValue() + '/' + $('finexp_date_mm').getValue() + '/' + $('finexp_date_aaaa').getValue();
	
	var date_deb_temp = $('debutexp_date_aaaa').getValue() + $('debutexp_date_mm').getValue() + $('debutexp_date_jj').getValue()
	var date_fin_temp = $('finexp_date_aaaa').getValue() + $('finexp_date_mm').getValue() + $('finexp_date_jj').getValue()
	
	if (isDate(date_deb) === false) {
		alert('La date de d�but d\'exp�rience n\'est pas valide');
		return;
	} else if (isDate(date_fin) === false) {
		alert('La date de fin d\'exp�rience n\'est pas valide');
		return;
	} else if (date_fin_temp < date_deb_temp ){
		alert('La date de fin d\'exp�rience est ant�rieure � la date de d�but d\exp�rience');
		return;
	} else if ($('exppedago').getValue() == '') {
		alert('Vous devez saisir le type d\'experience pedagogique');
		return;
	}
	
	var selectedExp = new Experience($('exppedago').getValue(), $('exppedago').getValue(), date_deb, date_fin);
	Experiences.include(selectedExp);
	
	// ajout de la ligne	
	addOption('experiences', Json.toString(selectedExp), selectedExp.getOptionLabel());
}
// suppression
function enleveExpPedagoGarde() {
	if (!$('experiences').getValue()) {
		alert('Aucun �l�ment s�lectionn�');
		return;
	}
	var j = Experiences.length;
	for (var i = 0; i < j; i++) {
		if (Experiences[i].id == Json.evaluate($('experiences').getValue()).id) {
			Experiences.remove(Experiences[i]);
			break;
		}
	}
	$('experiences').options[$('experiences').selectedIndex] = null;
}


/**
 * Gestion de l'envoi du formulaire de recrutement d'enseignants (v�rifications + envoi)
 */
function sendRecrutementEnseignantForm() {
	// ajout des champs obligatoires ou a verifier
	var thisForm = new FormRecrutement();
	thisForm.addField('civilite', 'emptySelect', 'Vous devez s�lectionner votre civilit�');
	thisForm.addField('nom', 'emptyText', 'Vous devez saisir votre nom');
	thisForm.addField('prenom', 'emptyText', 'Vous devez saisir votre pr�nom');
	//thisForm.addField('numvoie', 'emptyText', 'Vous devez saisir votre num�ro de voie');
	if ($('numvoie').getValue() != '') {
		thisForm.addField('numvoie', 'Int', 'Votre num�ro de voie ne doit contenir que des chiffres, sans espace ni ponctuation');
	}
	//thisForm.addField('typevoie', 'emptySelect', 'Vous devez s�lectionner le type de voie de votre adresse');
	thisForm.addField('cp', 'emptyText', 'Vous devez saisir votre code postal');
	thisForm.addField(['cp', 'pays'], 'cp', 'Le code postal saisi n\'est pas correct');
	thisForm.addField('ville', 'emptySelect', 'Vous devez s�lectionner votre ville');
	thisForm.addField('email', 'emptyText', 'Vous devez saisir votre e-mail');
	thisForm.addField('email', 'Email', 'L\'adresse e-mail saisie n\'est pas correcte');
	thisForm.addField('tel1', 'emptyText', 'Vous devez saisir votre num�ro de t�l�phone');
	thisForm.addField(['tel1', 'pays'], 'tel', 'Votre num�ro de t�l�phone ne doit contenir que des chiffres, sans espace ni ponctuation');
	if ($('tel2').getValue() != '') {
		thisForm.addField(['tel2', 'pays'], 'tel', 'Votre deuxi�me num�ro de t�l�phone ne doit contenir que des chiffres, sans espace ni ponctuation');
	}
	if ($('tel3').getValue() != '') {
		thisForm.addField(['tel3', 'pays'], 'tel', 'Votre troisi�me num�ro de t�l�phone ne doit contenir que des chiffres, sans espace ni ponctuation');
	}
	thisForm.addField('datenaiss', 'emptyText', 'Vous devez saisir votre date de naissance');
	thisForm.addField('datenaiss', 'Date', 'La date de naissance saisie n\'est pas correcte');
	if ($('numsecu').getValue() != '') {
		thisForm.addField(['numsecu', 'clesecu'], 'Insee', 'Le num�ro de s�curit� sociale saisi n\'est pas correct');
	}
	
	// heures dispo
	var nbHeures = $('nbheure').getValue();
	if (nbHeures != '') {
		thisForm.addField('nbheure', 'Int', 'Le nombre d\'heure(s) que vous souhaitez enseigner ne doit contenir que des chiffres, sans espace ni ponctuation');
		if (nbHeures.toInt() <= 0 || nbHeures.toInt() >= 72) {
			$('nbheure').focus();
			alert('Le nombre d\'heures que vous souhaitez enseigner doit �tre compris entre 1H et 72H');
			return false;
		}
	}
	
	
	// on lance la v�rification
	if (thisForm.check() != true) {
		return false;
	}
	
	// v�rification des matieres et des diplomes
	if (Matieres.length <= 0) {
		$('composantproduit').focus();
		alert('Vous devez s�lectionner les mati�res souhait�es');

		return false;
	}
	
	if (Diplomes.length <= 0) {
		$('diplome').focus();
		alert('Vous devez s�lectionner vos dipl�mes');
		return false;
	}
	
	var thisForm = new FormRecrutement();
	if(!document.getElementById('attachCV').checked){
		//thisForm.addField('file', 'emptyText', 'Vous devez joindre votre CV au format DOC, PDF ou RTF');
		thisForm.addField('file', 'File', 'Votre CV doit �tre au format DOC, PDF ou RTF');
	}
	//on lance la v�rification
	if (thisForm.check() != true) {
		return false;
	}
	
	
	// m�j des listes dans les champs cach�s
	$('matieresHidden').value = Json.toString(Matieres);
	$('diplomesHidden').value = Json.toString(Diplomes);
	$('experiencesHidden').value = Json.toString(Experiences);

	//on cache le bouton de soumission du formulaire
	document.getElementById('envoyer').style.visibility = 'hidden';
	
	// tout bon, on envoie
	return true;
}


/**
 * Gestion de l'envoi du formulaire de recrutement d'enseignants musique (v�rifications + envoi)
 */
function sendRecrutementMusiqueForm() {
	
	// ajout des champs obligatoires ou a verifier
	var thisForm = new FormRecrutement();
	thisForm.addField('civilite', 'emptySelect', 'Vous devez s�lectionner votre civilit�');
	thisForm.addField('nom', 'emptyText', 'Vous devez saisir votre nom');
	thisForm.addField('prenom', 'emptyText', 'Vous devez saisir votre pr�nom');
	//thisForm.addField('numvoie', 'emptyText', 'Vous devez saisir votre num�ro de voie');
	if ($('numvoie').getValue() != '') {
		thisForm.addField('numvoie', 'Int', 'Votre num�ro de voie doit �tre au format num�rique');
	}
	//thisForm.addField('typevoie', 'emptySelect', 'Vous devez s�lectionner le type de voie de votre adresse');
	thisForm.addField('cp', 'emptyText', 'Vous devez saisir votre code postal');
	thisForm.addField(['cp', 'pays'], 'cp', 'Votre code postal n\'est pas valide');
	thisForm.addField('ville', 'emptySelect', 'Vous devez s�lectionner votre ville');
	thisForm.addField('email', 'emptyText', 'Vous devez saisir votre e-mail');
	thisForm.addField('email', 'Email', 'Votre adresse e-mail n\'est pas valide');
	thisForm.addField('tel1', 'emptyText', 'Vous devez saisir votre num�ro de t�l�phone (le num�ro doit �tre compos� de chiffres, sans espace ni ponctuations.)');
	thisForm.addField(['tel1', 'pays'], 'tel', 'Votre num�ro de t�l�phone n\'est pas valide (le num�ro doit �tre compos� de chiffres, sans espace ni ponctuations.)');
	if ($('tel2').getValue() != '') {
		thisForm.addField(['tel2', 'pays'], 'tel', 'Le deuxi�me num�ro de t�l�phone renseign� n\'est pas valide (le num�ro doit �tre compos� de chiffres, sans espace ni ponctuations.)');
	}
	if ($('tel3').getValue() != '') {
		thisForm.addField(['tel3', 'pays'], 'tel', 'Le troisi�me num�ro de t�l�phone renseign� n\'est pas valide');
	}
	thisForm.addField('datenaiss', 'emptyText', 'Vous devez saisir votre date de naissance');
	thisForm.addField('datenaiss', 'Date', 'Votre date de naissance n\'est pas valide');
	if ($('numsecu').getValue() != '') {
		thisForm.addField(['numsecu', 'clesecu'], 'Insee', 'Votre num�ro de s�curit� sociale n\'est pas valide');
	}
	// heures dispo
	var nbHeures = $('nbheure').getValue();
	if (nbHeures != '') {
		thisForm.addField('nbheure', 'Int', 'Le nombre d\'heure(s) que vous souhaitez enseigner doit �tre au format num�rique');
		if (nbHeures.toInt() <= 0 || nbHeures.toInt() >= 72) {
			$('nbheure').focus();
			alert('Le nombre d\'heures doit �tre compris entre 1 et 72');
			return false;
		}
	}
	
	
	// on lance la v�rification
	if (thisForm.check() != true) {
		return false;
	}
	
	// v�rification des matieres et des diplomes
	if (Instruments.length <= 0) {
		$('composantproduit').focus();
		alert('Vous devez s�lectionner les instruments souhait�s');
		return false;
	}
	
	if (Diplomes.length <= 0) {
		$('diplome').focus();
		alert('Vous devez s�lectionner vos dipl�mes');
		return false;
	}
	
	var thisForm = new FormRecrutement();
	if(!document.getElementById('attachCV').checked){
		//thisForm.addField('file', 'emptyText', 'Vous devez joindre votre CV au format DOC, PDF ou RTF');
		thisForm.addField('file', 'File', 'Votre CV doit �tre au format DOC, PDF ou RTF');
	}
	// on lance la v�rification
	if (thisForm.check() != true) {
		return false;
	}
	
	// m�j des listes dans les champs cach�s
	$('matieresHidden').value = Json.toString(Instruments);
	$('diplomesHidden').value = Json.toString(Diplomes);
	$('experiencesHidden').value = Json.toString(Experiences);
	
	//on cache le bouton de soumission du formulaire
	document.getElementById('envoyer').style.visibility = 'hidden';
	
	// tout bon, on envoie
	return true;
}






/**
 * Gestion de l'envoi du formulaire de recrutement garde d'enfants (v�rifications + envoi)
 */
function sendRecrutementGardeForm() {
	/*
	// ajout des champs obligatoires ou a verifier
	var thisForm = new FormRecrutement();
	
	thisForm.addField('civilite', 'emptySelect', 'Vous devez s�lectionner votre civilit�');
	thisForm.addField('nom', 'emptyText', 'Vous devez saisir votre nom');
	thisForm.addField('prenom', 'emptyText', 'Vous devez saisir votre pr�nom');
	thisForm.addField('numvoie', 'emptyText', 'Vous devez saisir votre num�ro de voie');
	thisForm.addField('numvoie', 'Int', 'Votre num�ro de voie doit �tre au format num�rique');
	thisForm.addField('typevoie', 'emptySelect', 'Vous devez s�lectionner le type de voie de votre adresse');
	thisForm.addField(['cp', 'pays'], 'cp', 'Votre code postal n\'est pas valide');
	thisForm.addField('ville', 'emptySelect', 'Vous devez s�lectionner votre ville');
	thisForm.addField('email', 'emptyText', 'Vous devez saisir votre e-mail');
	thisForm.addField('email', 'Email', 'Votre adresse e-mail n\'est pas valide');
	thisForm.addField('tel1', 'emptyText', 'Vous devez saisir votre num�ro de t�l�phone');
	thisForm.addField(['tel1', 'pays'], 'tel', 'Votre num�ro de t�l�phone n\'est pas valide');
	if ($('tel2').getValue() != '') {
		thisForm.addField(['tel2', 'pays'], 'tel', 'Votre num�ro de t�l�phone n\'est pas valide');
	}
	if ($('tel3').getValue() != '') {
		thisForm.addField(['tel3', 'pays'], 'tel', 'Votre num�ro de t�l�phone n\'est pas valide');
	}
	thisForm.addField('datenaiss', 'emptyText', 'Vous devez saisir votre date de naissance');
	thisForm.addField('datenaiss', 'Date', 'Vous devez saisir votre date de naissance au format JJ/MM/AAAA');
	if ($('numsecu').getValue() != '') {
		thisForm.addField(['numsecu', 'clesecu'], 'Insee', 'Votre num�ro de s�curit� sociale n\'est pas valide');
	}
	thisForm.addField('file', 'File', 'Vous devez joindre votre CV au format DOC, PDF ou RTF');
	
	// on lance la v�rification
	if (thisForm.check() != true) {
		return false;
	}
	
	// v�rification des diplomes
	if (Diplomes.length <= 0) {
		$('diplome').focus();
		alert('Vous devez s�lectionner vos dipl�mes');
		return false;
	}
	*/
	var thisForm = new FormRecrutement();
	thisForm.addField('civilite', 'emptySelect', 'Vous devez s�lectionner votre civilit�');
	thisForm.addField('nom', 'emptyText', 'Vous devez saisir votre nom');
	thisForm.addField('prenom', 'emptyText', 'Vous devez saisir votre pr�nom');
	//thisForm.addField('numvoie', 'emptyText', 'Vous devez saisir votre num�ro de voie');
	if ($('numvoie').getValue() != '') {
		thisForm.addField('numvoie', 'Int', 'Votre num�ro de voie doit �tre au format num�rique');
	}

	//thisForm.addField('typevoie', 'emptySelect', 'Vous devez s�lectionner le type de voie de votre adresse');
	thisForm.addField('cp', 'emptyText', 'Vous devez saisir votre code postal');
	thisForm.addField(['cp', 'pays'], 'cp', 'Votre code postal n\'est pas valide');
	thisForm.addField('ville', 'emptySelect', 'Vous devez s�lectionner votre ville');
	thisForm.addField('email', 'emptyText', 'Vous devez saisir votre e-mail');
	thisForm.addField('email', 'Email', 'Votre adresse e-mail n\'est pas valide');
	thisForm.addField('tel1', 'emptyText', 'Vous devez saisir votre num�ro de t�l�phone');
	thisForm.addField(['tel1', 'pays'], 'tel', 'Votre num�ro de t�l�phone n\'est pas valide (le num�ro doit �tre compos� de chiffres, sans espace ni ponctuations.)');
	if ($('tel2').getValue() != '') {
		thisForm.addField(['tel2', 'pays'], 'tel', 'Le deuxi�me num�ro de t�l�phone renseign� n\'est pas valide (le num�ro doit �tre compos� de chiffres, sans espace ni ponctuations.)');
	}
	if ($('tel3').getValue() != '') {
		thisForm.addField(['tel3', 'pays'], 'tel', 'Le troisi�me num�ro de t�l�phone renseign� n\'est pas valide (le num�ro doit �tre compos� de chiffres, sans espace ni ponctuations.)');
	}
	thisForm.addField('datenaiss', 'emptyText', 'Vous devez saisir votre date de naissance');
	thisForm.addField('datenaiss', 'Date', 'Votre date de naissance n\'est pas valide');
	if ($('numsecu').getValue() != '') {
		thisForm.addField(['numsecu', 'clesecu'], 'Insee', 'Votre num�ro de s�curit� sociale n\'est pas valide');
	}
	// heures dispo
	var nbHeures = $('nbheure').getValue();
	if (nbHeures != '') {
		thisForm.addField('nbheure', 'Int', 'le nombre d\'heure(s) que vous souhaitez enseigner doit �tre au format num�rique');
		if (nbHeures.toInt() <= 0 || nbHeures.toInt() >= 72) {
			$('nbheure').focus();
			alert('Le nombre d\'heures doit �tre compris entre 1 et 72');
			return false;
		}
	}
	
	
	// on lance la v�rification
	if (thisForm.check() != true) {
		return false;
	}
	
	// v�rification des matieres et des diplomes
	if (Matieres.length <= 0) {
		$('composantproduit').focus();
		alert('Vous devez s�lectionner les missions souhait�s');
		return false;
	}
	
	if (Diplomes.length <= 0) {
		$('diplome').focus();
		alert('Vous devez s�lectionner vos dipl�mes');
		return false;
	}
	
	var thisForm = new FormRecrutement();
	if(!document.getElementById('attachCV').checked){
		//thisForm.addField('file', 'emptyText', 'Vous devez joindre votre CV au format DOC, PDF ou RTF');
		thisForm.addField('file', 'File', 'Votre CV doit �tre au format DOC, PDF ou RTF');
	}
	// on lance la v�rification
	if (thisForm.check() != true) {
		return false;
	}
	
	// m�j des listes dans les champs cach�s
	$('matieresHidden').value = Json.toString(Matieres);
	$('diplomesHidden').value = Json.toString(Diplomes);
	$('experiencesHidden').value = Json.toString(Experiences);
	
	//on cache le bouton de soumission du formulaire
	document.getElementById('envoyer').style.visibility = 'hidden';
	
	// tout bon, on envoie
	return true;
}

/**
 * Gestion de l'envoi du formulaire de Questionnaire Enseignant (v�rifications + envoi)
 */
function sendQuestionnaireEnseignantForm() {
	var thisForm = new FormRecrutement();
	thisForm.addField('question1', 'radio', 'Veuillez devez choisir la question "Question 1"');
	thisForm.addField('question2', 'emptyText', 'Veuillez saisir reponse de la question "Question 2"');
	thisForm.addField('question3', 'emptyText', 'Veuillez saisir reponse de la question "Question 3"');
	thisForm.addField('question4', 'radio', 'Veuillez devez choisir la question "Question 4"');
	if (thisForm.check() != true) {
		return false;
	}
	return true;
}









/**
 * Initialisation des objets si retour du form
 */
 
 // recup des infos
function loadObjects(form) {


	var myAjax = new Ajax('fileadmin/acadomia/scripts/ajax/getRecrutement.php',
		{
			method: 'get',
			onComplete: function(req) {
				var myRep = Json.evaluate(req);
				// enseignant
				if (form == 1) {
					if (myRep.matieres) loadMatieres(myRep.matieres);
					if (myRep.diplomes) loadDiplomes(myRep.diplomes);
					if (myRep.experiences) loadExpPedago(myRep.experiences);
				}
				// musique
				if (form == 2) {
					if (myRep.instruments) loadInstruments(myRep.instruments);
					if (myRep.diplomes) loadDiplomes(myRep.diplomesMusique);
					if (myRep.experiences) loadExpPedago(myRep.experiences);					
				}
				// garde
				if (form == 3) {
					if (myRep.diplomes) loadDiplomes(myRep.diplomes);
				}
			}
		}
	).request();
}

// matieres
function loadMatieres(obj) {
	var currentMatiere, j, jsStr;
	var fakeMatiere = new Matiere(0, 'fake');
	jsStr = unescape($('matieresHidden').getValue());
	jsStr = jsStr.replaceAll('\\', '');
	if (jsStr == '') {
		return;
	}
	Matieres = obj;
	if (Matieres == null)  {
		Matieres = new Array();
		return;
	}
	j = Matieres.length;
	for (var i = 0; i < j; i++) {
		currentMatiere = Matieres[i];
		currentMatiere.getOptionLabel = fakeMatiere.getOptionLabel;
		addOption('matieres', Json.toString(currentMatiere), currentMatiere.getOptionLabel());
	}
}

// instruments
function loadInstruments(obj) {
	var currentInstrument, j, jsStr;
	var fakeInstrument = new Instrument(0, 'fake');
	jsStr = unescape($('matieresHidden').getValue());
	jsStr = jsStr.replaceAll('\\', '');
	if (jsStr == '') {
		return;
	}
	
	Instruments = obj;
	if (Instruments == null) {
		Instruments = new Array();
		return;
	}
	j = Instruments.length;
	for (var i = 0; i < j; i++) {
		currentInstrument = Instruments[i];
		currentInstrument.getOptionLabel = fakeInstrument.getOptionLabel;
		addOption('matieres', Json.toString(currentInstrument), currentInstrument.getOptionLabel());
	}
}

// diplomes
function loadDiplomes(obj) {
	var currentDiplome, j, jsStr;
	var fakeDiplome = new Diplome(0, 'fake');
	jsStr = unescape($('diplomesHidden').getValue());
	jsStr = jsStr.replaceAll('\\', '');
	if (jsStr == '') {
		return;
	}
	
	Diplomes = obj;
	if (Diplomes == null) {
		Diplomes = new Array();
		return;
	}
	j = Diplomes.length;
	for (var i = 0; i < j; i++) {
		currentDiplome = Diplomes[i];
		currentDiplome.getOptionLabel = fakeDiplome.getOptionLabel;
		addOption('diplomes', Json.toString(currentDiplome), currentDiplome.labelExplicite);
	}
}
function loadExpPedago(obj) {
	var currentExperience, j, jsStr;
	var fakeExperience = new Experience(0, 'fake');
	jsStr = unescape($('experiencesHidden').getValue());
	jsStr = jsStr.replaceAll('\\', '');
	if (jsStr == '') {
		return;
	}
	
	Experiences = obj;
	if (Experiences == null) {
		Experiences = new Array();
		return;
	}
	j = Experiences.length;
	for (var i = 0; i < j; i++) {
		currentExperience = Experiences[i];
		currentExperience.getOptionLabel = fakeExperience.getOptionLabel;
		addOption('experiences', Json.toString(currentExperience), currentExperience.getOptionLabel());
	}
}


/**
 * Traitements � effectuer au chargement de la page
 */
window.addEvent('domready', function() {
	if($defined($('cp'))){
		if ($('cp').getValue() != '') {
			updatedCP();
		}
	}
	
	if($defined($('envoyer'))){
		displaySubmit();
	}
});
