var sitIde = 0;
var motTextDefault;

$(document).ready(function() {
    //****************************
    //Rechecher standard
    //****************************
    splitGrCp();
    
    //Initialisation du Numero de site
    if($('#sit_ide').val()){
        sitIde = $('#sit_ide').val();
    }

    //Initialisation specifique a chaque numero de site
    switch(sitIde){
        case '81':
            motTextDefault = 'No annonce PAC';
            break;
        default:
            motTextDefault = 'Mot clé ou no annonce PAC';
    }

    //Bouton recherche
    $(".bt_recherchez").click(function(){
        startFindTool();
    });

    //Recheche sur action ENTER
    $('#mots').keypress(function(event) {
        if (event.keyCode == '13') {
            $('#mots').val(this.value);
            startFindTool();
        }
    });

    // Initialisation du champ mot si neccesaire
    $('#mots').focus(function () {
	initMots();
    });

    // Modification Categorie : reload la page si c'est une page de recheche
    $('#lstgr').change(function () {
	if(document.URL.indexOf("r-") > 0){
            resetRechTool();
            splitGrCp();
            redirectSeoFriendlyUrl();
	}
    });

    //Declaration specifique a certain site
    switch(sitIde){
        case '81':
            $('#liste_ville').change(function(){
               $('#vilId').val($('#liste_ville').val());
            });
            break;
        default:
            initTextCityRech();
            initSortRech();
    }


    
    //****************************
    //Recherche avancé
    //****************************
    $('#search_advanced_head').click(function(){
	$('#search_advanced').slideToggle();
	$('#search_advanced_head').toggleClass("close");
    });

    //DateDeA
    $(".dateDeA input").each(function(){
	$(this).click(
	    function(){
		showCalendar('',this,this,'',this.name,102,0,1);
	    });
    });

    
    //Double liste
    $(".doubleLstDe select").each(function(){
	baseName = this.name.replace('_de','');
	loadDblLst(baseName);
	$(this).change(function() {
	    ajoute_item(this.name.replace('_de',''));
	});
	$('#bt_' + baseName + '_del').click(function() {
	    enleve_item(this.rel);
	    return(false);
	});
    });
    // Alerte courriel
    $("#alertGo").click(function() {
	if ($('#titre_alerte').val() == "" ) {
	    alert('La saisie du nom de l\'alerte est obligatoire');
	    return false;
	}else {
	    if ( $('#courriel:checked').val() == 'O' ) {
                addAlerte('2');
            } else {
                addAlerte('1');
            }
	    }
    });
    
    // Alerte courriel
    $("#alertCloche").click(function() {
        addAlerte('2');
    });
});


function startFindTool(){
    if(rechValid()){
        resetRechTool();
        splitGrCp();
        redirectSeoFriendlyUrl();
    }
}

//Split la valeur de la liste de categories
function splitGrCp(){
    lstgr = $("#frmRecherche #lstgr").val();
    cp = lstgr.substring(1, lstgr.indexOf('-'));
    gr = lstgr.substring(lstgr.indexOf('-')+1);
    changeCritere('gr', gr);
    changeCritere('cp', cp);
}

function changeCritere(input, value){
    element = $('#'+input);
    if(element[0]){
        element.val(value);
    }else{
        $('#frmRecherche').append('<input type="hidden" id="'+input+'" name="'+input+'" value="'+value+'">');
    }
}

function resetRechTool(){
    changeCritere('autrepac', '');
    changeCritere('page', '');
    changeCritere('nbrpages', '');
    changeCritere('total', '');
    //Supprimer la valeur par default du champ mots
    if($('#mots').val() == motTextDefault){
	changeCritere('mots', '');
    }
}

function rechValid(){
    switch(sitIde){
        case '81':
          if($('#liste_ville').val() == '0'){
              alert('Vous devez selectionner une ville ou un arrondissement');
              return false;
          }
          var mot = $('#mots').val().replace(/"/g,'');
          if(mot != '' && mot != motTextDefault && !isNumeric(mot) ){
              alert('Le numéro d\'annonce doit etre numérique');
              return false;
          }
            break;
        default:
    }
   return true;
}

function initMots() {
    if($('#mots').val() == motTextDefault){
        changeColor($('#mots'));
	changeCritere('mots', '');
    }
}

function initTextCityRech(){
    $('#ville_rech_text').focus(function () {
        changeColor($(this));
    });
    //AutoComplete champ ville
    $("#ville_rech_text").result(findValueCallback).next().click(function() {
        $(this).prev().search();
    });
    $("#ville_rech_text").autocomplete('/search_ville.ajax.php', {
        width: 200,
        minChars: 3,
        max:50,
        matchContains:true
    });
}

function initSortRech(){
    elemAgeMax = $('#agemax')[0];
    if(elemAgeMax.value != 0){
        $('.search_string .recap').append(', parues depuis : '+elemAgeMax.options[elemAgeMax.selectedIndex].text);
    }
    elemDistanceMax = $('#distancemax')[0];
    if(elemDistanceMax.value != 0){
        $('.search_string .recap').append(', distance : '+elemDistanceMax.options[elemDistanceMax.selectedIndex].text);
    }
    elemOrderBy = $('#orderby')[0];
    if(elemOrderBy.value != 0){
        $('.search_string .recap').append(', Trier par '+elemOrderBy.options[elemOrderBy.selectedIndex].text);
    }
}

function changeColor(objField) {
    objField.css("color",'#000');
}


function isNumeric (value){
    return (/(^\d+$)|(^\d+\.\d+$)/).test (value);
}

//****************************
//Double Liste
//****************************
function ajoute_item(pInputName) {
    $('#'+pInputName+'_de option:selected').each(function(){
	if(this.value != 0){
	    element = $('#'+pInputName)[0];
	    deElement = $('#'+pInputName+'_de')[0];
	    aElement = $('#'+pInputName+'_a')[0];
	    if( aElement.value == '' ){
		aElement.value = this.text;
		element.value = this.value;
	    }else{
		$tmpActVal = ","+element.value+",";
		$tmpNewVal = ","+this.value+",";

		if ($tmpActVal.indexOf($tmpNewVal) == -1) {
		    aElement.value = aElement.value + ',' + this.text;
		    element.value = element.value + ',' + this.value;
		}
	    }
	}
    });
}
function enleve_item(pInputName){
    $('#'+pInputName+'_a').val('');
    $('#'+pInputName).val('');
//$('#'+pInputName+'_de')[0].options[0].selected = true;
}
function loadDblLst(pInputName){
    element = $('#'+pInputName)[0];
    if( element.value != ""){
	lstVal = element.value.split(',');
	deElement = $('#'+pInputName+'_de')[0];
	for ( var i in lstVal ){
	    deElement.value = lstVal[i];
	    ajoute_item(pInputName);
	    $('#crtRech').append(', '+deElement.options[deElement.selectedIndex].text);
	}
    }
}



function findValueCallback(event, data, formatted) {
    // date expiration 1 an
    var theDate = new Date();
    var oneYearLater = new Date( theDate.getTime() + 31536000000 );
    var expiryDate = oneYearLater.toGMTString();
    $("#ville_rech_text").val(data[0]);
    document.cookie = "ville_rech_text=" + encodeURI(data[0])+";expires="+expiryDate;

    $tmpData = data[1];
    $tmpData = $tmpData.split("_");
    $tmpReg = $tmpData[1];
    $tmpVil = $tmpData[0];
    $("#ville_rech_id").val($tmpVil);
    document.cookie = "ville_rech_id=" + $tmpVil+";expires="+expiryDate;
    changeCritere("vilId",$tmpVil);
    $("#num_reg_ori").val($tmpReg);
    document.cookie = "num_reg_ori=" + $tmpReg+";expires="+expiryDate;
}


function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function changerZone() {
    resetRechTool();
    $("#frmRecherche").attr("action", 'zone.php');
    $('#frmRecherche').submit();
}

function supprimerZone(){
    resetRechTool();
    changeCritere('liste_ville', '');
    startFindTool();
}

function supprimerVisite(){
    resetRechTool();
    changeCritere('visite_recherche', '');
    startFindTool();
}