$(function ()
{
	$("#lst_rech a").click(function (eEvent)
	{
		if ($(this).hasClass("actif")) {
			// Si on clique sur l'onglet ouvert, ça referme la recherche
			close_search_pane();
		} else {
			open_search_pane($(this));
		}

		eEvent.preventDefault();
	});

	$(".btn_fermer").click(close_search_pane);
	$(".del_crit").click(remove_criteria);
});

function add_select(jSelect)
{
	// génère le nouvel id du select :
	var tab_id   = jSelect.attr("id").split("_")
	var sNewId   = "flt_" + tab_id[1] + "_" + (parseInt(tab_id[2]) + 1);
	var sRegExp  = /\[\]$/;
	var sOldName = jSelect.attr("name");
	var sNewName = sRegExp.test(sOldName) ? sOldName : sNewId;

	if (jSelect.hasClass('erreur_form')) {

		jSelect.removeClass('erreur_form');
		jSelect.siblings('div').removeClass('erreur_form');
		jSelect.siblings('.feedback_err').remove();
	}

        // ajoute le bouton de suppression du critère :
	jSelect.parent().append('<a class="del_crit" href="#">'+lib_suppr+'</a>');
	// ajoute le nouveau select :
	jSelect.parent().after('<p class="stylish"><label class="no_label">' + jSelect.siblings("label").html() + '</label><select id="' + sNewId + '" name="' + sNewName + '">' + jSelect.html() + '</select></p>');
	// special dédicace pour IE
	jSelect.parents("div.flt_rech").find("p:last-child select").val("");

	// initialise le select :
	init_stylish_select("#" + sNewId);

	// initialise le click de la suppression des critères :
	$(".del_crit").click(remove_criteria);
}

function close_search_pane()
{
	$("#lst_rech a").removeClass("actif");
	$("#cont_form_rech").hide("fast");
}

function init_stylish_select(sSelector)
{
	if (typeof(sSelected) == undefined) {
		sSelector = ".stylish select";
	}

	$(sSelector).resetSS({ddMaxHeight: '300px'}).change(function ()
	{
		if ($(this).parent().is(":last-child") && $(this).val() != "") {
			add_select($(this));
		}

		toggle_input_others($(this));

		if ($(this).attr("name") == "id_secteur[]") {
			toggle_select_region($(this));
		}
	});
}

function open_search_pane(jAnchor)
{
	var sFormId = jAnchor.attr("id").replace("rech_", "form_rech_");

	$("#lst_rech a").removeClass("actif");
	jAnchor.addClass("actif");

	$(".form_rech").hide();
	$("#" + sFormId).show();

	$("#cont_form_rech").show("fast", function ()
	{
		init_stylish_select(".form_rech .stylish select");
	});
}

function remove_criteria(eEvent)
{
	var jParentDiv = $(this).parents("div.flt_rech");

	// efface la ligne :
	$(this).parent().remove();

	// efface le style no_label du premier filtre :
	$(".flt_rech").each(function ()
	{
		$(this).find("p:first label").removeClass("no_label");
	});

	eEvent.preventDefault();

	if (jParentDiv.find("select").eq(0).attr("name") == "id_secteur[]") {
		toggle_select_region(jParentDiv.find("select").eq(0));
	}
}

function toggle_input_others(jSelect)
{
	if (parseInt(jSelect.val()) == -1) {

		if (jSelect.siblings("input[name^=others_]").size() == 0) {

			var sHTML = "<label class=\"no_label\">&nbsp;</label><input name=\"others_" + jSelect.attr("name") + "\" style=\"margin-top:4px;\" />";

			jSelect.siblings(".del_crit").before(sHTML);
		}
	} else {
		jSelect.nextAll("label, input").remove();
	}
}

function toggle_select_region(jSelect)
{
	var bFranceSelected = false;

	if (parseInt(jSelect.val()) == 1) {
		bFranceSelected = true;
	} else {
		jSelect.parents("div.flt_rech").find("select").each(function ()
		{
			if (parseInt($(this).val()) == 1) {
				bFranceSelected = true;
			}
		});
	}

	if (bFranceSelected) {
		jSelect.parents("div.flt_rech").next().show();
	} else {
		jSelect.parents("div.flt_rech").next().hide();
		jSelect.parents("div.flt_rech").next().find(".del_crit").click();
	}

	init_stylish_select("select[name^=id_region]");
}
