/**
 *	javascript per le pagine di listing
 *	06/12/2007 16.38.19
 */

filtri0ris = "Troverai 0 strutture: prova a cambiare i tuoi filtri.";
filtri1ris = "Troverai 1 struttura: per vederla premi il tasto Filtra ->";
filtriXris1 = "Troverai ";
filtriXris2 = " strutture: per vederle premi il tasto Filtra ->";

/**
 * Carica le immagini del listing che hanno un segnaposto
 * @author marco.monguzzi
 */
function loadListingImgs(){
    jQuery.each($("img.icona"), function() {		//alert( $(this).attr("name") );
        if ( $(this).attr("name") != undefined ){
            $(this).attr("src", "http://www.agriturismo.it/" + $(this).attr("name") + "/azienda.jpg" );
        }
    });
}

/**
 * Carica il numero di risultati del box filtri.
 * @author marco.monguzzi
 */
function loadFiltriData(){

    // regione/provincia/comune/zit non devono essere nel form (neanche hidden)
    // li prendo da variabili javascript eventualmente popolate
    $.getJSON("/tools/listing_filtri.jsp?regione=" + reg_id + "&provincia=" + prv_id + "&comune=" + com_id + "&zit=" + zit_id + "&" +
        $('form#filtri').serialize(), function(json){
            for (var i = 0; i < json.length; i++) {	//$("#filtri label[for='" + json[i].filtro +"'] span.count").text("(" + json[i].count + ")");
                $("input[name='" + json[i].filtro + "']").parent().children("span").text("(" + json[i].count + ")");
			
                // se 0 disabilito il filtro	alert( json[i].filtro + ": " + $("input[name='" + json[i].filtro + "']").attr("checked") );
                if (
                    ( json[i].count == 0 ) &&
                    ( $("input[name='" + json[i].filtro + "']").attr("checked") == undefined ) &&
                    ( $("input[name='" + json[i].filtro + "']").attr("type") != "radio" )
                    ){
                    $("input[name='" + json[i].filtro + "']").attr("disabled","disabled");
                } else {
                    $("input[name='" + json[i].filtro + "']").removeAttr("disabled");
                }
            }
        });
	
}

/**
 * Mostra la mappa di Google
 * @param offset String Il punto di partenza (può anche essere null o vuoto)
 * @author lorenzo.caggioni
 */
function showMappa(offset){
    var listing = new Listing(lang);
    var gmap = new JGMap('resultMappa');

    // Imposto puntamenti tra i due oggetti di listing testuale e mappa
    listing.gmap = gmap;
    gmap.listing = listing;

    // Variabili di configurazione

    listing.elementList = $('div#elementList');
    listing.displayFocusElement = '.currentElement';
    
    // Caricamento lista
    $.getJSON("/tools/listing_json.jsp", function(json){
        $.each(json.aziende, function (i,elemento){
            if(elemento.lat != '0.0' & elemento.lon != '0.0') {
                // Aggiungo nella lista
                listing.addListElement(i,elemento);
                // Aggiungo nella lista mappa
                gmap.addMarker(i,elemento.lat, elemento.lon);
                // Imposto il numero totale di elementi
                listing.numeroElementi = i;
            }
        });
        // Imposto il primo elemento da visualizzare
        listing.currentElement = isNaN(offset)?0:parseInt(offset);

        // Setto il corretto zoom
        gmap.map.setCenter( gmap.latlngbounds.getCenter(), gmap.map.getBoundsZoomLevel(gmap.latlngbounds));

        // focus del primo elemento
        listing.focusOnList(listing.currentElement,'right');
        gmap.focusOnMap(listing.currentElement);

        // Scrittura didascalia posizionamento
        $('.currentElement').each(function(){
            $(this).html(listing.currentElement+1)
        });
        $('.totalElement').each(function(){
            $(this).html(json.aziende.length);
        });

        // Abilitazione bottoni prev next.
        // Li abilito qui perche' vuol dire che ho almeno un risultato
        $('.next').click(function(){
            listing.scrollNext();
        });
        $('.prev').click(function(){
            listing.scrollPrev();
        });
        
        // Fade out del loading
        $('#loading').fadeOut(800);
    });
}


/**
 * da eseguire al caricamento della pagina
 *
 */
$(document).ready(function () {

    // carico le immagini del listing
    setTimeout('loadListingImgs()', 1500);

    // carico il numero di risultati dei filtri
    loadFiltriData();

    $("a.start-hidden").fadeIn(600);

    /* se funziona mostro la mappa     */
    if (GBrowserIsCompatible()) {
        $("a.show-mappa").fadeIn(600);
    }


    // mappo comportamenti a eventi
    $(".filtri-avanzati-controller a.show").click(function () {
        $(".filtro-avanzato").show();
        $(this).hide();
        $(".filtri-avanzati-controller a.hide").css("display", "inline");
        return false;
    });
	
    $(".filtri-avanzati-controller a.hide").click(function () {
        $(".filtro-avanzato").hide();
        $(this).hide();
        $(".filtri-avanzati-controller a.show").css("display", "inline");
        return false;
    });
	
    //	i filtri sui checkbox
    $("#filtri input[name!='filtra']").click(function (e) {
        loadFiltriData();
        $("#filtra").addClass("on");
    });
	
    $("#filtri select").change(function (e) {
        loadFiltriData();
    });
	
	
    /*
    $("#filtra").mouseover( function() {
        $("#filtra").addClass("hover");
    });
    $("#filtra").mouseout( function() {
        $("#filtra").removeClass("hover");
    });
	
    $("#filtri label").mouseover( function() {
        $(this).css({ 
            background: "blue"
        });// addClass("label-on");
    });
    $("#filtri label").mouseout( function() {
        $(this).css({ 
            background: "inherit"
        });// removeClass("label-on");
    });
     */
	
    /*	mostra la mappa della struttura
    $(".agriIndirizzo a").mouseover( function() {
        agri = $(this).parent().parent().attr("id");//		alert( agri );
        $( "#" + agri + " .agriMap" ).html("<img src=\"http://www.agriturismo.it/" + agri + "/map1.jpg\" width=\"400\" height=\"400\" alt=\"" + agri + "\">").fadeIn(200);
    });
    $(".agriIndirizzo a").mouseout( function() {
        agri = $(this).parent().parent().attr("id");//		alert( agri );
        $( "#" + agri + " .agriMap" ).fadeOut(200);
    });
    -mappa struttura */
	
	
    //	mostra i filtri già selezionati
    $(".filtro-text a").click( function() {
        filtro = $(this).parent().parent();
        filtro.children(".filtro-text").hide();
        filtro.children(".filtro-input").show();
        return false;
    });
    

    // passa da una visualizzazione all'altra
    $("a.show-listing").click(function(){
        if ($("#content-wrapper").hasClass("mappa")) {
            $("#content-wrapper").removeClass("mappa");
        }
        return false;
    });
    $("a.show-mappa").click(function(){
        if (!$("#content-wrapper").hasClass("mappa")) {
            $("#content-wrapper").addClass("mappa");
            showMappa(offset);
            //alert(location.href.replace(/http:\/\/(.*?)\//ig, "/"));
            pageTracker._trackPageview(location.href.replace(/http:\/\/(.*?)\//ig, "/") + "-mappa");
        }
        return false;
    });
    $("a.show-filtri").click(function(){
        $("#filtri-wrapper").fadeIn(300);
        return false;
    });
    $("a.hide-filtri").click(function(){
        $("#filtri-wrapper").fadeOut(300);
        return false;
    });

/*
    // TODO faccio partire un timeout per nascondere i filtri
    $(".filtrato #filtri-wrapper").mouseout(function(){
        $("#filtri-wrapper").fadeOut(300);
    });

    // TODO cancello il timeout
    $(".filtrato #filtri-wrapper").mouseover(function(){
        });
     */
});

