if (Drupal.jsEnabled)
{
  $(document).ready(rechercheAutoAttach);
}

/**
 * Attachement des fonctions au liens de la page 
 */
function rechercheAutoAttach()
{
	// Mappage des evenements
	mapperTousLesEvenements();

	// Recherche asynchrone
	if ($('#edit-async').val() == 1){
		appelAjaxResultatsRecherche();
	}
	
	// Enregistrement des criteres
	$("a").filter(".lienResultat").each(function(){
		$(this).click(function(){
			appelAjaxEnregCriteres();
		});
	});
}

//===============================================
// AJAX
//===============================================

/**
 * Appel Ajax pour la recuperation des resultats de la recherche
 */
function appelAjaxResultatsRecherche()
{
	var uri = $('#edit-uri-async').val();

	$.ajax({
		type: "GET",
		url: uri,
		dataType: "html",
		success : retourAjaxResultatsRecherche
	});
}

/**
 * Retour Ajax apres la recuperation des resultats de la recherche
 */
function retourAjaxResultatsRecherche(html)
{
	var htmlCalqueResultats = $(html).filter("#htmlCalqueResultats").html();
	var htmlCalqueZapette = $(html).filter("#htmlCalqueZapette").html();
	
	// Ajout du html dans le calque des resultats
   	$("#calqueResultats").append(htmlCalqueResultats);
   	   	
   	// Ajout du html dans le calque de la zapette
   	$("#calqueZapette").append(htmlCalqueZapette);
   	
   	// Mappage des evenements
   	mapperTousLesEvenements();
}

/**
 * Appel Ajax pour la selection de la vue
 */
function appelAjaxSelectionVue(nomVue)
{
	var uri = $('#edit-uri-vue').val() + "/" + nomVue;

	$.ajax({
		type: "GET",
		url: uri,
	});
}

/**
 * Appel Ajax pour l'enregistrement des criteres
 */
function appelAjaxEnregCriteres()
{
	var uri = $('#edit-uri-enreg-criteres').val() + "/" + $('#edit-criteres').val();

	$.ajax({
		type: "GET",
		url: uri,
		async: false
	});
}

//===============================================
// Fonctions
//===============================================

function mapperBoutonsModeAffichage()
{
	// Liens affichage des resultats de recherche
	// - Texte seul
	$("a").filter(".lienVueSimple").click(function(){
		appelAjaxSelectionVue(this.name);
		$(".vueComplete").each(function(){
			$(this).hide();
		});
		$(".vueSimple").each(function(){
			$(this).show();
		});
	});
	// - Infos detaillees
	$("a").filter(".lienVueComplete").click(function(){
		appelAjaxSelectionVue(this.name);
		$(".vueSimple").each(function(){
			$(this).hide();
		});
		$(".vueComplete").each(function(){
			$(this).show();
		});
	});
}

function mapperLiensCategoriesSupplementaires()
{
	// Lien afficher categories supplementaires
	$("#boutonAfficherCategSupp").click(function(){
   		$("#boutonAfficherCategSupp").hide();
		$("div").filter(".lstCategoriesSupplementaires").show();
	});
	
	// Lien masquer categories supplementaires
	$("#boutonMasquerCategSupp").click(function(){
		$("div").filter(".lstCategoriesSupplementaires").hide();
		$("#boutonAfficherCategSupp").show();
	});
}

function mapperSelecteurTri()
{
	$("#edit-s-tri").change(function(){
		$("#form-tri-resultats").submit();
	});
}

function mapperTousLesEvenements()
{
	// Evenement du selecteur de tri
	mapperSelecteurTri();

	// Evenement des boutons mode d'affichage
   	mapperBoutonsModeAffichage();
   	 	
   	// Evenement des boutons d'affichage des categories supplementaires
   	mapperLiensCategoriesSupplementaires();
}