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 = $('cp').getValue();
	if (currentCPValue != value && value.length == 5) {
		getDDLdata('ville', 'getDDL', 'getVilleFromCP', value, 'COMMUNE_ID', '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 instrument 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;
	});
}

function New_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 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();
		}
	}
	
	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 instrument 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\351lectionner les instruments souhait\351s');
		return false;
	}
	
	if (Diplomes.length <= 0) {
		$('diplome').focus();
		alert('Vous devez s\351lectionner vos dipl\364mes');
		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 \352tre 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();
	}
});
