


// Fct pour créer la liste des options "GRAND DOMAINE", "DOMAINE", "SOUS-DOMAINE 1"
function creerOptions(_select, liste_options) {
	var j = 0;
	// On vérifie si la liste JSON n'est pas vide
	if (liste_options.option == null || liste_options.option.length == 0) {
		return;
	}
	var opt = null;
	for (var i = 0; i < liste_options.option.length; i++) {
		opt = document.createElement("option");
		opt.appendChild(document.createTextNode(liste_options.option[i].libelle));
		opt.value = liste_options.option[i].value;
		_select.appendChild(opt);
	}
}

// Fct pour créer la liste des options "SOUS-DOMAINE 2"
function creerOptions2(_select, liste_options) {
	// On vérifie si la liste JSON n'est pas vide
	if (liste_options.option == null || liste_options.option.length == 0) {
		return;
	}
	var opt = null;
	for (var i = 0; i < liste_options.option.length; i++) {
		opt = document.createElement("option");
		opt.appendChild(document.createTextNode(liste_options.option[i].libelle));
		opt.value = liste_options.option[i].value;
		_select.appendChild(opt);
	}
}

// On retire tous les enfants éventuels de l'objet Element "select"
function reset(elObject, _sel) {
	elObject.options.length = 0;
	var el;
	el = document.createElement("option");
	el.appendChild(document.createTextNode("Tous"));
	el.value = _sel;
	elObject.appendChild(el);
}

// Fct pour retourner la liste "DOMAINE"
function liste_domaine2() {

	// 1. Formacode utilisé comme paramètre pour afficher la liste déroulante
	var formacode_id = $F("liste_1_formacode")

	// 2. On vérifie que le paramètre formacode de la liste "DOMAINE" n'est pas "Tous"
	if (formacode_id != 00000) {

		// 3. Appel AJAX pour retourner la liste d'options
		var url = "/isens_web/offre/afficher_liste_domaine.php";
		var params = "idformacode=" + formacode_id + "&type_affichage=ajax&type_list=1";
		var myAjax = new Ajax.Request(url,{method:"GET",parameters:params,onComplete:showResponse2});

		// 4. On met à jour les codes formacode au champ caché "formacode"
		var obj = $("formacode_crit");
		obj.value = formacode_id;

		// 5. On met à jour le libellé de la liste "DOMAINE"
		Element.update("label_domaine2", "<span class=\"couleur1\" >Choisir le domaine : </span>");

		// 6. On affiche la 2eme liste d'options
		Element.show("calque2");

		// 7. On cache la 3eme et la 4eme liste d'options
		if ($("calque3")) {
			Element.hide("calque3");
		}
		if ($("calque4")) {
			Element.hide("calque4");
		}

		// 8. On vide les paramètres des listes 3 et 4 si il existe - Lors d'un changement dans la liste 1 et 2
		if ($("liste_3_formacode")) {
			var formacode_id3 = $("liste_3_formacode");
			formacode_id3.value = "";
		}
		if ($("liste_4_formacode")) {
			var formacode_id4 = $("liste_4_formacode");
			formacode_id4.value = "";
		}

	} else {
	// Si la valeur "Tous" est selectionné on initialise toute les variables

		// On vide le champ caché "formacode"
		var obj = document.getElementById("formacode_crit");
		obj.value = "";

		// On affiche pas de libellé pour la liste "DOMAINE"
		Element.update("liste_2_formacode", "");

		// On cache la liste "DOMAINE"
		Element.hide("calque2");

		// On cache la liste "SOUS DOMAINE 1"
		if ($("calque3")) {
			Element.hide("calque3");
		}

		// On cache la liste "SOUS DOMAINE 2"
		if ($("calque4")) {
			Element.hide("calque4");
		}

		// On vide les paramètres des listes 3 et 4 si il existe - Lors d'un changement dans la liste 1 et 2
		if ($("liste_3_formacode")) {
			var formacode_id3 = $("liste_3_formacode");
			formacode_id3.value = "";
		}
		if ($("liste_4_formacode")) {
			var formacode_id4 = $("liste_4_formacode");
			formacode_id4.value = "";
		}
	}
}

// Fct pour retourner la liste "SOUS DOMAINE 1"
function liste_domaine3() {

	// 1. Paramètres recupérés pour la liste "SOUS DOMAINE 1"
	var formacode_id = $F("liste_2_formacode");
	var formacode_id1 = $F("liste_1_formacode");

	// 2. On vérifie que le paramètre formacode de la liste "DOMAINE" n'est pas "Tous"
	if (formacode_id1 != formacode_id) {

		// 3.
		var url = "/isens_web/offre/afficher_liste_domaine.php";
		var params = "idformacode=" + formacode_id + "&type_affichage=ajax&type_list=1";
		var myAjax = new Ajax.Request(url,{method:"GET",parameters:params,onComplete:showResponse3});

		// 4.
		var obj = $("formacode_crit");
		obj.value = formacode_id1 + "/" + formacode_id;

		// 5.
		Element.update("label_domaine2", "Domaine : ");

		// 6.
		if ($("calque3")) {
			Element.show("calque3");
			Element.hide("calque4");
			Element.update("label_domaine3", "<span class=\"couleur1\" >Choisir le sous-domaine : </span>");
		}

		// 7.
		if ($("liste_4_formacode")) {
			var formacode_id4 = $("liste_4_formacode");
			formacode_id4.value = "";

		}

	} else {
	// Si la valeur "Tous" est sélectionné - On initialise les variables

		//
		var obj = document.getElementById("formacode_crit");
		obj.value = "";

		//
		Element.hide("calque3");

		//
		Element.update("liste_3_formacode", "");

		//
		if ($("calque3")) {
			Element.hide("calque3");
		}

		//
		if ($("calque4")) {
			Element.hide("calque4");
		}

		//
		if ($("liste_3_formacode")) {
			var formacode_id3 = $("liste_3_formacode");
			formacode_id3.value = "";
		}
		if ($("liste_4_formacode")) {
			var formacode_id4 = $("liste_4_formacode");
			formacode_id4.value = "";
		}
	}
}

// Fct pour retourner la liste "SOUS-DOMAINE 2"
function liste_domaine4() {

	// 1. Paramètres recupérés pour la liste "formacode_id2"
	var formacode_id = $F("liste_3_formacode");
	var formacode_id2 = $F("liste_2_formacode");

	// 2. On vérifie que la valeur "Tous" n'est pas selectionné
	if (formacode_id2 != formacode_id) {

		// 3.
		var url = "/isens_web/offre/afficher_liste_domaine.php";
		var params = "idformacode=" + formacode_id + "&type_affichage=ajax&type_list=4";
		var myAjax = new Ajax.Request(url,{method:"GET",parameters:params,onComplete:showResponse4});

		// 4.
		var formacode_id1 = $F("liste_1_formacode");
		var formacode_id2 = $F("liste_2_formacode");
		var obj = $("formacode_crit");
		obj.value = formacode_id1 + "/" + formacode_id2 + "/" + formacode_id;

		// 5.
		Element.update("label_domaine3", "Sous-domaine 1 : ");

		// 6.
		if ($("calque4")) {
			Element.show("calque4");
			Element.update("label_domaine4", "<span class=\"couleur1\" >Choisir le sous-domaine : </span>");
		}

	} else {

		//
		var obj = document.getElementById("formacode_crit");
		obj.value = "";

		//
		Element.hide("calque4");

		//
		Element.update("liste_4_formacode", "");

		//
		if ($("calque4")) {
			Element.hide("calque4");
		}

		//
		if ($("liste_4_formacode")) {
			var formacode_id4 = $("liste_4_formacode");
			formacode_id4.value = "";
		}
	}
}

// Fct pour retourner une liste de Domaine 5 -  NON utilisé - A voir pour futur dev
function liste_domaine5(){
	var formacode_id = $F("liste_4_formacode");
	var obj = $("formacode_crit");
	var formacode_id1 = $F("liste_1_formacode");
	var formacode_id2 = $F("liste_2_formacode");
	var formacode_id3 = $F("liste_3_formacode");
	obj.value = formacode_id1 + "/" + formacode_id2 + "/" + formacode_id3 + "/" + formacode_id;
	Element.update("label_domaine4", "Sous-domaine 2 : ");
}

// Fct pour updater le champ input 'hidden'  "formacode" -
function showResponse(originalRequest) {
	var obj = document.getElementById("formacode_crit");
	obj.value = originalRequest.responseText;
}

// Fct pour traiter JSON de la liste "DOMAINE"
function showResponse2(originalRequest) {
	Element.update("noresponse3", "");
	Element.update("noresponse4", "");
	var _sel = $("liste_1_formacode").value;
	var _select = $("liste_2_formacode");
	var liste_options = eval('(' + originalRequest.responseText + ')');
	reset(_select, _sel);
	creerOptions(_select, liste_options);
}

// Fct pour traiter JSON de la liste "SOUS-DOMAINE 1"
function showResponse3(originalRequest) {
	var _sel = $("liste_2_formacode").value;
	var liste_options = eval('(' + originalRequest.responseText + ')');
	// On vérifie si la liste n'est pas vide
	if ((liste_options.option.length == 0) || (liste_options.option.length == 1)) {
		Element.update("noresponse3", "<input type='hidden' id='no_formacode3' name='no_formacode3' value='hide'>");
	}
	// On initialise la liste
	var _select = $("liste_3_formacode");
	reset(_select, _sel);

	if ((liste_options.option.length == 0) || (liste_options.option.length == 1)) {
		Element.update("noresponse3", "<span class=\"couleur1\" >Pas de sous-domaine associé.</span><input type='hidden' id='no_formacode3' name='no_formacode3' value='hide'>");
		Element.update("noresponse4", "");
		Element.hide("calque3");
	} else {
		Element.update("noresponse3", "");
		Element.update("noresponse4", "");
		Element.show("calque3");
		creerOptions(_select, liste_options);
	}
}

// Fct pour traiter JSON de la liste "SOUS-DOMAINE 2"
function showResponse4(originalRequest) {
	var _sel = $("liste_3_formacode").value;
	var liste_options = eval('(' + originalRequest.responseText + ')');
	// On vérifie si la liste n'est pas vide
	if ((liste_options.option.length == 0) || (liste_options.option.length == 1)) {
		Element.update("noresponse4", "<input type='hidden' id='no_formacode4' name='no_formacode4' value='hide'>");
	}
	// On initialise la liste
	var _select = $("liste_4_formacode");
	reset(_select, _sel);
	if ((liste_options.option.length == 0) || (liste_options.option.length == 1)) {
		Element.update("noresponse4", "<span class=\"couleur1\" >Pas de sous-domaine associé.</span><input type='hidden' id='no_formacode4' name='no_formacode4' value='hide'>");
		Element.hide("calque4");
	} else {
		Element.update("noresponse4", "");
		Element.show("calque4");
		creerOptions2(_select, liste_options);
	}


}
