﻿var defaultSearchText = 'Rechercher un mot, une expression, une référence...';
var alerteCritere = 'Vous devez entrer au moins un critère de recherche';
var urlCatalogueSearch = '/recherche/pages/recherche-catalogue.aspx';
// MAJ le 12/02/2010 par Christophe Bellayer (Ai3)
var urlSiteSearch = '/recherche/pages/recherche-catalogue2.aspx';
//var urlSiteSearch = '/recherche/pages/recherche-site.aspx';
// FIN MAJ
var CurrentlySelectedTabIndex;

$(function() {
    // Tabs jquery et re-sélection de la tab

	$(".ui-tabs-panel").live('keypress',function(e){
        if(e.which == 13){
            e.preventDefault();
            $(this).find(":button").click();
        }
    });

    $('.tabContent').tabs({
        select: function(event, ui) {
            CurrentlySelectedTabIndex = ui.index;
        }
    });
	
	$(".visible").css("visibility","visible");
	
	
	
    if (CurrentlySelectedTabIndex != undefined) {
        $('.tabContent').tabs('select', CurrentlySelectedTabIndex);
    }
    else
    {
    	$('.tabContent').tabs('select',1);
    }

    // On récupère toutes les zone de texte qui ont la classe text définie
    // et on synchronise les valeurs
    $('.text').change(function() {
        var txt = $(this).val();
        if (txt == '') txt = defaultSearchText;
        $('.text').val(txt);
    });

    // Sur le blur, si la valeur de la zone de texte est vide, on lui remet
    // sa valeur par défaut
    $('.text').blur(function() {
        if ($(this).val() == '')
            $(this).val(defaultSearchText);
    });

    // Sur le focus, Si la zone de texte contient la valeur par défaut, on la vide
    $('.text').focus(function() {
        if ($(this).val() == defaultSearchText)
            $(this).val('');
    });

    $('.text').each(function() {
        if ($(this).val() == '') $(this).val(defaultSearchText);
    });

    // Désactivation des champs du formulaire (recherche catalogue) lors du clic sur le
    // radio button 'site'
    $('input[type=radio][value=site]').click(function() {
        disabledCatalogueControls($(this).attr('cata'));
    });

    // Activation des champs du formulaire (recherche catalogue) lors du clic sur le
    // radio button 'catalogue'
    $('input[type=radio][value=catalogue]').click(function() {
        $('select[cata=' + $(this).attr('cata') + ']').removeAttr('disabled');
    });

    if ($('input[type=radio][value=site]').attr('checked')) {
        disabledCatalogueControls($('input[type=radio][value=site]').attr('cata'));
    }
  
	// MAJ le 12/02/2010 par Christophe Bellayer (Ai3)
	// Si on sélectionne l'un des trois critères, on reset la valeur du freetext
    $('.domaine').change(function() {
        $('#freetext' + $(this).attr('cata')).val(defaultSearchText);
    });
    $('.ville').change(function() {
        $('#freetext' + $(this).attr('cata')).val(defaultSearchText);
    });
    $('.type').change(function() {
        $('#freetext' + $(this).attr('cata')).val(defaultSearchText);
    });
	// FIN MAJ

});

function disabledCatalogueControls(cata) {
    $('select[cata=' + cata + ']').attr('disabled', 'true');
}

// MAJ le 12/02/2010 par Christophe Bellayer (Ai3)
function Search(cata) {
    // Le champ de recherche est prioritaire sur les 3 select
    // S'il est remplit, on redirige sur le catalogue V2
	if (($('#freetext' + cata).val() != defaultSearchText))
	{
		searchsite(cata, 'site');
	}
	else
	{
		searchcatalogue(cata, 'catalogue');
	}
}

/*function Search(cata) {
    // Récupération de la cible
    //var target = $('input[type=radio][cata=' + cata + ']:checked').val();
	var target = 'catalogue';
    // En fonction de la cible, on appelle la bonne fonction qui récupèrera 
    // les paramètres pour déclencher la recherche
    switch (target) {
        case 'site': searchsite(cata, target); break;
        case 'catalogue': searchcatalogue(cata, target); break;
    }
}*/

// FIN MAJ

function searchsite(cata, target) {
    // Récupération du paramètre de recheche libre
    var text = $('input[class=text][cata=' + cata + ']').val();

    // Récupération des paramètres de recherche texte et redirection
    var params = getSerachTextParam(cata);
    if (params.length == 0)
        alert(alerteCritere);
    else
        redirect(urlSiteSearch, params, cata, target);
}

function searchcatalogue(cata, target) {
    // Récupération des paramètres de recherche texte 
    var params = getSerachTextParam(cata);
    if (params.length == 0)
        params = getSearchCatalogueParam(cata);

    if (params.length == 0)
        alert(alerteCritere);
    else
        redirect(urlCatalogueSearch, params, cata, target);
}

function getSerachTextParam(cata) {
    return (
                ($('#freetext' + cata).val() != defaultSearchText)
	       			? ('k=' + $('#freetext' + cata).val() + '&')
	       			: ''
	        );
}

function getSearchCatalogueParam(cata) {
    var temp =
                ($('.domaine[cata=' + cata + ']').val() ? ('domain=' + $('.domaine[cata=' + cata + ']').val() + '&') : '') +
                ($('.ville[cata=' + cata + ']').val() ? ('city=' + $('.ville[cata=' + cata + ']').val() + '&') : '') +
                ($('.type[cata=' + cata + ']').val() ? ('type=' + $('.type[cata=' + cata + ']').val() + '&') : '');
    return temp;
}

function redirect(url, params, cata, target) {
    window.location = url +
                '?catalogue=' + cata +
                '&target=' + target +
                '&tab=' + CurrentlySelectedTabIndex +
                '&' + params.substr(0, params.length - 1);
}
