﻿$(document).ready(function() {
    $("#boxStrutture .pulsanteStrutture").each(
        function(){
            var elClick = $(this);
            var elChbChild = elClick.find(".chbStrutture input");
            
            if(!elChbChild.prop("checked")){
                elClick.removeClass("selected");
                elChbChild.prop("checked", false);
            }else{
                elClick.addClass("selected");
                elChbChild.prop("checked", true);
            }
        }
    );
    
    $("#boxStrutture .pulsanteStrutture").click(
        function(){
            var elClick = $(this);
            var elChbChild = elClick.find(".chbStrutture input");
            
            if(elChbChild.prop("checked")){
                elClick.removeClass("selected");
                elChbChild.prop("checked", false);
            }else{
                elClick.addClass("selected");
                elChbChild.prop("checked", true);
            }
        }
    );
    
    var elChbChild = $(this).find(".chbStrutture input");
    if(elChbChild.prop("checked")){
        $("#boxStelle").show();
    }else{
        $("#boxStelle").hide();
    }
    
    $("#boxChbHotel").click(function(){
        var elChbChild = $(this).find(".chbStrutture input");
        if(elChbChild.prop("checked")){
            $("#boxStelle").fadeIn();
        }else{
            $("#boxStelle").fadeOut();
        }
    })
    
    SelezionaDDPostbackLoad();
    $("#selectCategorie .li_selectCategorie").click(
        function(){
            var elLi = $(this);
            var elLiId = elLi.attr("id").split('_')[1];
            var elBox = $("#boxSelectCategorie");
            var altezzaElLi = $("#selectCategorie .li_selectCategorie:first").height();
            var numElLi = $("#selectCategorie .li_selectCategorie").size();
            
            if(elBox.hasClass("aperto")){                
                if(elLi.attr("id") == "categoria_5482"){
                    $("#boxFiltroStrutture").fadeOut();
                    $("#boxFiltroLocalita").fadeOut();
                    $("#boxNomeHotels").fadeOut();
                }else{
                    $("#boxFiltroStrutture").fadeIn();
                    $("#boxFiltroLocalita").fadeIn();
                    $("#boxNomeHotels").fadeIn();
                }
                elBox.removeClass("aperto");
                $("#selectCategorie .li_selectCategorie").removeClass("selected");
                elLi.addClass("selected");                
                $("#selectCategorie").stop(true,true).animate({
                    top: '-' + (altezzaElLi * $("#selectCategorie .li_selectCategorie").index(this))  + 'px'
                  }, 600, 'easeOutQuad', 
                    function() { elBox.css("overflow","hidden"); });
            }else{
                elBox.addClass("aperto");
                elBox.css("overflow","visible");
                $("#selectCategorie").stop(true,true).animate({
                    top: '-' + ((altezzaElLi*numElLi)/2)  + 'px'
                  }, 600, 'easeOutQuad', function() { });
            }
            
            if(elLi.hasClass("selected")){
                $("#boxSelectCategorie input").val(((elLiId+"" != "0")?elLiId:""));
            }
        }
    );

    // box multiselezione
    
    if($(".boxListaCercaHotels .itemListaCercaHotels").size() > 0){
        $("#boxSelezionaTutti").fadeIn();
    }
    
    
    $("#chbSelezionaTuttiHotel").click(function(){
        var checkPadre = $(this);
        var m_boolCheckPadre = checkPadre.prop("checked");
        
        var m_strResult = "";
        
        $(".chbMultiSelHotels").each(function(){
            var idStruttura = $(this).attr("id").split("_")[1];
            if(m_boolCheckPadre){
                $(this).prop("checked", true);
                $("#boxListaHotelsInvio").append("<li id=\"idStruttura_" + idStruttura + "\" class=\"itemStruttureSelezionate\">" + $(this).parents(".itemListaCercaHotels").find(".nomeListaCercaHotels a").html() + "</li>");
                m_strResult += + idStruttura + ";";
            }else{
                $(this).prop("checked", false);
                $("#boxListaHotelsInvio #idStruttura_" + idStruttura).remove();
                m_strResult = "";
            }
            controllaTroppeStrutture();
        });
        
        $("#boxInputHidden input").val(m_strResult);

    });
    
    function controllaTroppeStrutture(){
        var liBuoni = $(".itemStruttureSelezionate").not(".itemStruttureSelezionate.contattore");
        if(liBuoni.size() > 9){
            if($("#idStruttura_Tanti").size() > 0){
                $("#idStruttura_Tanti").html(""+liBuoni.size()+" elementi sel");
            }else{
                $("#idStruttura_Tanti").show();
                $("#boxListaHotelsInvio").append("<li id=\"idStruttura_Tanti\" class=\"itemStruttureSelezionate contattore\">"+liBuoni.size()+" elementi sel</li>");
            }
            liBuoni.fadeOut();
        }else{
            $("#idStruttura_Tanti").remove();
            liBuoni.show();
        }
        
        if(liBuoni.size() > 0){
            $("#selezionati0").fadeOut();
        }else{
            $("#selezionati0").fadeIn();
        }
    }
    
    setTimeout(function(){
        if($("#boxInputHidden input").val() == "adamelloski" || $("#boxInputHidden input").val() == ""){ 
            $("#selezionati0").fadeIn();
        }else{
            $("#selezionati0").hide();
        }
    },200);
    
    if($("#boxInviaRichiestaMultipla").size() > 0){
        var timerScroll1 = null;
        $(window).scroll(function(){
            clearTimeout(timerScroll1);
            timerScroll1 = setTimeout(function(){
                var yScroll = $('html,body').scrollTop();
                if(yScroll > 380){
                    $("#boxInviaRichiestaMultipla").stop(true,true).animate({
                    top: (yScroll-380)  + 'px'
                  }, 600, 'easeOutQuad', function() { });
                }else{
                    $("#boxInviaRichiestaMultipla").stop(true,true).animate({
                    top: '40px'
                  }, 600, 'easeOutQuad', function() { });
                }
            },250);
        });
        $(".chbMultiSelHotels").click(function(){
            var elThis = $(this);
            var itemPadre = elThis.parents(".itemListaCercaHotels");
            
            var idStruttura = $(this).attr("id").split("_")[1];
            
            if(elThis.prop('checked')){
                $("#boxListaHotelsInvio").append("<li id=\"idStruttura_" + idStruttura + "\" class=\"itemStruttureSelezionate\">" + itemPadre.find(".nomeListaCercaHotels a").html() + "</li>");
                $("#boxInputHidden input").val($("#boxInputHidden input").val()+idStruttura+";");
                animaFreccionaMultiInvio(0);
                itemPadre.addClass("selected");
            }else{
                $("#boxInputHidden input").val($("#boxInputHidden input").val().replace(idStruttura+";",""));
                $("#boxListaHotelsInvio #idStruttura_" + idStruttura).remove();
                animaFreccionaMultiInvio(0);
                itemPadre.removeClass("selected");
            }

            controllaTroppeStrutture()
        });
    }
    
    $.each($('.campiSparizione input'), function(index, elem) { 
        var txtInput = "";
        var inputEl = $(elem);
        
        inputEl.focus(function(){
            if(!$(this).hasClass("txtUsata")){
                txtInput = $(this).val();
                $(this).val("");
            }
        });        
        inputEl.change(function(){
            if(!$(this).hasClass("txtUsata")){
                $(this).addClass("txtUsata");
            }else{
                if($(this).val() == ""){
                    $(this).removeClass("txtUsata")
                }
            }
        });        
        inputEl.focusout(function(){
            if($(this).val() == ""){
                $(this).val(txtInput);
            }
        }); 
    });
    
    $.each($('.campiSparizione textarea'), function(index, elem) { 
        var txtInput = "";
        var inputEl = $(elem);
        
        inputEl.focus(function(){
            if(!$(this).hasClass("txtUsata")){
                txtInput = $(this).val();
                $(this).val("");
            }
        });        
        inputEl.change(function(){
            if(!$(this).hasClass("txtUsata")){
                $(this).addClass("txtUsata");
            }else{
                if($(this).val() == ""){
                    $(this).removeClass("txtUsata")
                }
            }
        });        
        inputEl.focusout(function(){
            if($(this).val() == ""){
                $(this).val(txtInput);
            }
        }); 
    });
});

function SelezionaDDPostbackLoad(){
    if($("#selectCategorie .li_selectCategorie.selected:first").size() < 1) return;
    
    var elLi = $("#selectCategorie .li_selectCategorie.selected:first");
    var elLiId = elLi.attr("id").split('_')[1];
    var altezzaElLi = $("#selectCategorie .li_selectCategorie:first").height();
                    
    if(elLi.attr("id") == "categoria_5482"){
        $("#boxFiltroStrutture").fadeOut();
        $("#boxFiltroLocalita").fadeOut();
        $("#boxNomeHotels").fadeOut();
    }else{
        $("#boxFiltroStrutture").fadeIn();
        $("#boxFiltroLocalita").fadeIn();
        $("#boxNomeHotels").fadeIn();
    }
    
    $("#selectCategorie").animate({
        top: '-' + (altezzaElLi * elLi.index())  + 'px'
      }, 0, 
        function() { });
        
    if(elLi.hasClass("selected")){
        $("#boxSelectCategorie input").val(((elLiId+"" != "0")?elLiId:""));
    }
}
