﻿//file per funzioni Javascript custom
$(document).ready(function() {
    $('#SearchText').val('Cerca');
    $('#SearchText').click(function(o, e) {
        if (this.value == 'Cerca') {
            this.value = '';
        }
    });
    $('#SearchText').blur(function(o, e) {
        if (this.value == '') {
            this.value = 'Cerca';
        }
    });

    /*****************************************************************************/
    /************************  backGroundImage  **********************************/
    /*****************************************************************************/
    //la metto come sfondo del body
    var bgImageUrl = $('#BackgroundImage img').attr('src');
    $('body').css('background', 'url(' + bgImageUrl + ') no-repeat center top');
    $('#BackgroundImage').empty();

    /*****************************************************************************/
    /************************  homepage tuning  **********************************/
    /*****************************************************************************/
    if ($('.topPackageContainer .itemPrice').length > 0) {
        var homePackagePrice = $('.topPackageContainer .itemPrice').html();
        homePackagePrice = homePackagePrice.substr(0, homePackagePrice.length - 1);
        $('.topPackageContainer .itemPrice').html(homePackagePrice + '<br/>€');
    }
    if ($('.hpTabs .itemPrice').length > 0) {
        var homeTabPrice = $('.hpTabs .itemPrice').html();
        homeTabPrice = homeTabPrice.substr(0, homeTabPrice.length - 1);
        $('.hpTabs .itemPrice').html('<span class="price">' + homeTabPrice + '</span><span class="euro">€</span>');
    }

    /*****************************************************************************/
    /************************  LanguageMenu  *************************************/
    /*****************************************************************************/
    //associo evento al clic delle lingue per visualizzazione menu
    $('#LanguageButton').bind('click', function() {
        $('#LanguageMenu').toggle();
    });
    $('#LanguageMenu').toggle();
    
    // sposto sopra il menu lingue
    $('#MenuLanguages').css('z-index', 100);

    /*****************************************************************************/
    /************************  quickNewletter  ***********************************/
    /*****************************************************************************/
    //associo evento al clic del quickNewletter
    $('.newsletterQuickButton').bind('click', function() {
        var email = $('#newsletterQuickEmail').val();
        var url = $('.newsletterQuickButton').attr('href');
        if (email != '') {
            url = url + "?email=" + $('#newsletterQuickEmail').val();
        }
        document.location.href = url;
        return false;
    });

    /*****************************************************************************/
    /************************  quickBooking  *************************************/
    /*****************************************************************************/
    function quickBookingFN(id) {

        $(id + ".QuickBookingTabs").tabs();

        // inizializzo
        EnableQuickBookingTabs();

        // all'inizio nascondo e resetto tutto
        InitializeKidsAgeTabs();

        //aggancio l'evento click del button SEARCH
        $(id + ".searchLink").click(function(e) {
            var $target = $(e.target);
            var baseUrl = $target.attr("href");

            // Nights
            var nights = parseInt($(id + ".quickBookingContainer .nights").val());
            if (nights <= 0) {
                nights = 1;
            }

            // Dates
            var fromdate = parseDate($(id + ".quickBookingContainer .datefrom").val());
            var formattedfromdate = formatDate(fromdate, 'MM/dd/yyyy')

            var f = new Date(formattedfromdate);
            var t = new Date();
            t.setDate(f.getDate() + nights);

            var fd = f.getDate(); // 1-31
            var fm = f.getMonth(); fm++; // 0-11
            var fy = f.getFullYear();

            var td = t.getDate();
            var tm = t.getMonth(); tm++;
            var ty = t.getFullYear();

            // Build the url
            var url = baseUrl
                    + "&Mode=ava"
                    + "&isJavascript=true"
                    + "&selLocal=" + $(id + ".quickBookingContainer .locality").val()
                    + "&selArea=213"
                    + "&selNCam=" + $(id + ".quickBookingContainer .rooms").val()
                    + "&selArrivo_GG=" + fd
                    + "&selArrivo_MM=" + fm + ":" + fy
                    + "&selPartenza_GG=" + td
                    + "&selPartenza_MM=" + tm + ":" + ty

                    + "&selNPer1=" + $(id + ".quickBookingContainer        .room1 .adults").val()
                    + "&ChildRoom1=" + $(id + ".quickBookingContainer      .room1 .kids").val()
		            + "&AgeChildRoom1_1=" + $(id + ".quickBookingContainer .room1 .kidsAge1").val()
		            + "&AgeChildRoom1_2=" + $(id + ".quickBookingContainer .room1 .kidsAge2").val()
		            + "&AgeChildRoom1_3=" + $(id + ".quickBookingContainer .room1 .kidsAge3").val()
		            + "&AgeChildRoom1_4=" + $(id + ".quickBookingContainer .room1 .kidsAge4").val()

		            + "&selNPer2=" + $(id + ".quickBookingContainer        .room2 .adults").val()
                    + "&ChildRoom2=" + $(id + ".quickBookingContainer      .room2 .kids").val()
		            + "&AgeChildRoom2_1=" + $(id + ".quickBookingContainer .room2 .kidsAge1").val()
		            + "&AgeChildRoom2_2=" + $(id + ".quickBookingContainer .room2 .kidsAge2").val()
		            + "&AgeChildRoom2_3=" + $(id + ".quickBookingContainer .room2 .kidsAge3").val()
		            + "&AgeChildRoom2_4=" + $(id + ".quickBookingContainer .room2 .kidsAge4").val()

		            + "&selNPer3=" + $(id + ".quickBookingContainer        .room3 .adults").val()
                    + "&ChildRoom3=" + $(id + ".quickBookingContainer      .room3 .kids").val()
		            + "&AgeChildRoom3_1=" + $(id + ".quickBookingContainer .room3 .kidsAge1").val()
		            + "&AgeChildRoom3_2=" + $(id + ".quickBookingContainer .room3 .kidsAge2").val()
		            + "&AgeChildRoom3_3=" + $(id + ".quickBookingContainer .room3 .kidsAge3").val()
		            + "&AgeChildRoom3_4=" + $(id + ".quickBookingContainer .room3 .kidsAge4").val()

		            + "&selNPer4=" + $(id + ".quickBookingContainer        .room4 .adults").val()
                    + "&ChildRoom4=" + $(id + ".quickBookingContainer      .room4 .kids").val()
		            + "&AgeChildRoom4_1=" + $(id + ".quickBookingContainer .room4 .kidsAge1").val()
		            + "&AgeChildRoom4_2=" + $(id + ".quickBookingContainer .room4 .kidsAge2").val()
		            + "&AgeChildRoom4_3=" + $(id + ".quickBookingContainer .room4 .kidsAge3").val()
		            + "&AgeChildRoom4_4=" + $(id + ".quickBookingContainer .room4 .kidsAge4").val()
                    ;

            window.location.href = url;
            e.preventDefault();
        });

        /*****************************************************************************/
        /************************  quickBooking functions ****************************/
        /*****************************************************************************/
        function EnableQuickBookingTabs() {
            var index = $(id + "select.rooms").val();

            //abilito tutti
            $(id + '.QuickBookingTabs').data('disabled.tabs', []);

            //disabilito
            for (i = index; i < 4; i++) {
                //nascondo le tab che non devo essere gestite 
                //(dipende dal valore delle room selezionate)
                $(id + ".QuickBookingTabs").tabs('disable', i);
                ResetTabValues(i);
            }

        }

        //restto i valori 
        function ResetTabValues(i) {
            $(id + ".QuickBookingTabs .roomTab.room" + i + " .adults").val("1");
            $(id + ".QuickBookingTabs .roomTab.room" + i + " .kids").val("0");
            $(id + ".QuickBookingTabs .roomTab.room" + i + " .kidsAge").val("");
        }

        // abilito/disabilito i campi eta bambini nello stesso numero della dropdown KIDS
        function EnableKidsAgeTabs(room, kids) {

            if (kids == 0) {
                $(id + ".QuickBookingTabs .roomTab.room" + room + " .kidsAgeContainer").hide();
                $(id + ".QuickBookingTabs .roomTab.room" + room + " .kidsAge").val("");
            }
            else {
                $(id + ".QuickBookingTabs .roomTab.room" + room + " .kidsAgeContainer").show();
            }

            for (i = 1; i <= kids; i++) {
                $(id + ".QuickBookingTabs .roomTab.room" + room + " .kidsAge" + i).show();
            }
            for (i = ++kids; i <= 4; i++) {
                $(id + ".QuickBookingTabs .roomTab.room" + room + " .kidsAge" + i).hide();
                $(id + ".QuickBookingTabs .roomTab.room" + room + " .kidsAge").val("");
            }

        }

        //inizializzo i dati riguardanti i KIDS
        function InitializeKidsAgeTabs() {

            //aggancio l'onchange delle stanze per abilitare/disabilitare
            // i relativi
            $(id + ".rooms").bind("change", function() {
                EnableQuickBookingTabs();
            });

            //aggancio l'onchange room1 KIDS
            $(id + ".room1 .kids").bind("change", function() {
                EnableKidsAgeTabs(1, $(id + ".room1 .kids").val());
            });

            //aggancio l'onchange room2 KIDS
            $(id + ".room2 .kids").bind("change", function() {
                EnableKidsAgeTabs(2, $(id + ".room2 .kids").val());
            });

            //aggancio l'onchange room3 KIDS
            $(id + ".room3 .kids").bind("change", function() {
                EnableKidsAgeTabs(3, $(id + ".room3 .kids").val());
            });

            //aggancio l'onchange room4 KIDS
            $(id + ".room4 .kids").bind("change", function() {
                EnableKidsAgeTabs(4, $(id + ".room4 .kids").val());
            });

            EnableKidsAgeTabs(1, 0);
            EnableKidsAgeTabs(2, 0);
            EnableKidsAgeTabs(3, 0);
            EnableKidsAgeTabs(4, 0);
        }

        function addDays(myDate, days) {
            return new Date(myDate.getTime() + days * 24 * 60 * 60 * 1000);
        }

    }

    if ($('#quickBookingFooter').length > 0) {
        quickBookingFN('#quickBookingFooter '); //controlli booking bottom
    }
    if ($('#topBookingContainer').length > 0) {
        quickBookingFN('#topBookingContainer '); //controlli booking top
    }

    LoadHotnetIframe();

    function LoadHotnetIframe() {
        //gestisco url iframe
        if ($("#HoteNetHotelIframe").size() > 0) {
            var url = "";
            var urlIframe = $("#HoteNetHotelIframe").attr('src');
            var qs = "";
            if (urlIframe.indexOf('?') > 0) {
                url = urlIframe.substring(0, urlIframe.indexOf('?'));
                qs = urlIframe.substring(urlIframe.indexOf('?') + 1);
            }
            else {
                url = urlIframe;
            }
            if (window.location.search.length > 0) {
                qs = qs + "&" + window.location.search.substring(1);
            }

            if (qs.indexOf('quickbooking=true') > 0) {
                //alert(url);
                url = url.replace("/ricercaavanzata.asp", "/risultati.asp")
            }

            $("#HoteNetHotelIframe").attr('src', url + '?' + qs);

        }

    }

    /*****************************************************************************/
    /************************  meteo  ********************************************/
    /*****************************************************************************/
    displayResult();

    if ($(".webcamPhotogallery").size() > 0) {
        var now = new Date();
        var rnd = (now.getMonth() + 1) + "-" + now.getDate() + "-" + now.getHours() + "-" + now.getMinutes();
        // randomizzo il nome per evitare cache
        $(".webcamPhotogallery a").each(function() {
            $(this).attr("href", $(this).attr("href") + "?" + rnd);
        });
        $(".webcamPhotogallery a img").each(function() {
            $(this).attr("src", $(this).attr("src") + "?" + rnd);
        });

        $(".webcamPhotogalleryRedazionale1 a").lightBox(
            {
                imageLoading: '/layout/www1/images/lightbox-ico-loading.gif',
                imageBtnClose: '/layout/www1/images/lightbox-btn-close.gif',
                imageBtnPrev: '/layout/www1/images/lightbox-btn-prev.gif',
                imageBtnNext: '/layout/www1/images/lightbox-btn-next.gif'
            });

        $(".webcamPhotogalleryRedazionale2 a").lightBox(
            {
                imageLoading: '/layout/www1/images/lightbox-ico-loading.gif',
                imageBtnClose: '/layout/www1/images/lightbox-btn-close.gif',
                imageBtnPrev: '/layout/www1/images/lightbox-btn-prev.gif',
                imageBtnNext: '/layout/www1/images/lightbox-btn-next.gif'
            });
        $(".webcamPhotogalleryRedazionale3 a").lightBox(
            {
                imageLoading: '/layout/www1/images/lightbox-ico-loading.gif',
                imageBtnClose: '/layout/www1/images/lightbox-btn-close.gif',
                imageBtnPrev: '/layout/www1/images/lightbox-btn-prev.gif',
                imageBtnNext: '/layout/www1/images/lightbox-btn-next.gif'
            });
        $(".webcamPhotogalleryRedazionale4 a").lightBox(
            {
                imageLoading: '/layout/www1/images/lightbox-ico-loading.gif',
                imageBtnClose: '/layout/www1/images/lightbox-btn-close.gif',
                imageBtnPrev: '/layout/www1/images/lightbox-btn-prev.gif',
                imageBtnNext: '/layout/www1/images/lightbox-btn-next.gif'
            });

        $(".webcamPhotogalleryRedazionale5 a").lightBox(
            {
                imageLoading: '/layout/www1/images/lightbox-ico-loading.gif',
                imageBtnClose: '/layout/www1/images/lightbox-btn-close.gif',
                imageBtnPrev: '/layout/www1/images/lightbox-btn-prev.gif',
                imageBtnNext: '/layout/www1/images/lightbox-btn-next.gif'
            });

        $(".webcamPhotogalleryRedazionale6 a").lightBox(
            {
                imageLoading: '/layout/www1/images/lightbox-ico-loading.gif',
                imageBtnClose: '/layout/www1/images/lightbox-btn-close.gif',
                imageBtnPrev: '/layout/www1/images/lightbox-btn-prev.gif',
                imageBtnNext: '/layout/www1/images/lightbox-btn-next.gif'
            });

        $(".webcamPhotogalleryRedazionale7 a").lightBox(
            {
                imageLoading: '/layout/www1/images/lightbox-ico-loading.gif',
                imageBtnClose: '/layout/www1/images/lightbox-btn-close.gif',
                imageBtnPrev: '/layout/www1/images/lightbox-btn-prev.gif',
                imageBtnNext: '/layout/www1/images/lightbox-btn-next.gif'
            });
        $(".webcamPhotogalleryRedazionale8 a").lightBox(
            {
                imageLoading: '/layout/www1/images/lightbox-ico-loading.gif',
                imageBtnClose: '/layout/www1/images/lightbox-btn-close.gif',
                imageBtnPrev: '/layout/www1/images/lightbox-btn-prev.gif',
                imageBtnNext: '/layout/www1/images/lightbox-btn-next.gif'
            });
    }

    //var bookingForm = $('#QuickBooking_pnlContainer').html();
    //$('#topBookingContainer .quickBookingContainer').html(bookingForm);

    $('.topBookingClip').click(function() {
        $('#topBookingContainer').toggle("slow");
    });
    if ($('.boxFooter2 object').length > 0 || $('.boxFooter2 embed').length > 0) {
        $('.boxFooter2 a.image').css('display', 'none');
    }
    if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) {
        var ieversion = new Number(RegExp.$1);
        if (ieversion == 7) {
            $('.buttonPackageRequest').click(function() {
                $('.boxFooter2 embed').css('display', 'none');
            });
            $('.PackageRequestFormContainer input[type="submit"]').click(function() {
                $('.boxFooter2 embed').css('display', 'block');
            });
            $('.ui-dialog-titlebar-close').click(function() {
                $('.boxFooter2 embed').css('display', 'block');
            });
        }
    }

    if ($(".newsContainer").length > 0) {
        var newsToShow = getQueryString()["idNewsFeed"];
        if (newsToShow > 0)
            FilterNews(newsToShow);
    }


});


//iframe resize
function calcHeight() {
    var the_height = document.getElementById('HoteNetHotelIframe').contentWindow.document.body.scrollHeight;
    document.getElementById('HoteNetHotelIframe').height = the_height;
}

/****************************************************************************/
/************************  news  ********************************************/
/****************************************************************************/
function getQueryString() {
    var assoc = new Array();
    var queryString = unescape(location.search.substring(1));
    var keyValues = queryString.split('&');
    for (var i in keyValues) {
        var key = keyValues[i].split('=');
        assoc[key[0]] = key[1];
    }
    return assoc;
}

function FilterNews(newsToShow) {
    var x = $(".newsContainer");
    $(".newsItemRow", x).each(function() {
        if (this.id == newsToShow) {
            //$("#" + this.id).show();
            $("#description", $("#" + this.id)).removeClass("hiddenNewsDescription");
            $("#" + this.id + " h5").hide();
        }
        else {
            $("#" + this.id).hide();
        }
    });
}

function ShowAllNews() {
    var x = $(".newsContainer");
    $(".newsItemRow", x).each(function() {
        $("#" + this.id).show();
        $("#" + this.id + " h5").show();
        $("#description", $("#" + this.id)).addClass("hiddenNewsDescription");
    });
}

/*****************************************************************************/
/************************  meteo  ********************************************/
/*****************************************************************************/
//debug
//var xml = loadXMLDoc("/layout/www1/custom/meteo/meteo.xml");
//reale
//var xml = loadXMLDoc("http://www.meteoliguria.it/servizio/informa.xml");
var xsl = loadXMLDoc("/layout/www1/custom/meteo/meteo.xsl");
var innerxsl = loadXMLDoc("/layout/www1/custom/meteo/innermeteo.xsl");
var numLingua = 0;
//var linkBoxMeteo = "http://www.ideaweb.nu/progetti/opera21meteo/";

function loadXMLDoc(dname) {
    if (window.XMLHttpRequest) {
        xhttp = new XMLHttpRequest();
    }
    else {
        xhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xhttp.open("GET", dname, false);
    xhttp.send("");
    return xhttp.responseXML;
}

function displayResult() {

    $.ajax({
        type: "GET",
        url: "/SavonaSTL/WebControls/website/weather/weather.ashx",
        dataType: "xml",
        success: function(xml) {

            // code for IE
            if (window.ActiveXObject) {
                ex = xml.transformNode(xsl);
                ix = xml.transformNode(innerxsl);
                $("#dinamicbox").html(ex);
                $("#meteoContainer").html(ix);
            }
            // code for Mozilla, Firefox, Opera, etc.
            else if (document.implementation && document.implementation.createDocument) {
                xsltProcessor = new XSLTProcessor();
                xsltProcessor.importStylesheet(xsl);
                resultDocument = xsltProcessor.transformToFragment(xml, document);
                $("#dinamicbox").html(resultDocument);

                innerXsltProcessor = new XSLTProcessor();
                innerXsltProcessor.importStylesheet(innerxsl);
                innerResultDocument = innerXsltProcessor.transformToFragment(xml, document);
                $("#meteoContainer").html(innerResultDocument);
                //document.getElementById("dinamicbox").innerHTML = "";
                //document.getElementById("dinamicbox").appendChild(resultDocument);
            }

            changeDate();
            changeLanguage();

            innerMeteo();

        }
    });
}

function changeLanguage() {
    document.getElementById("vocaboloMeteoOggi").innerHTML = "" + arrTraduzioneMeteo;
    document.getElementById("vocaboloTemperaturaOggi").innerHTML = "" + arrTraduzioneTemperatura;
    document.getElementById("vocaboloMareOggi").innerHTML = "" + arrTraduzioneMare;
    document.getElementById("vocaboloDettaglioOggi").innerHTML = "" + arrTraduzioneDettaglio;

    document.getElementById("vocaboloMeteoDomani").innerHTML = "" + arrTraduzioneMeteo;
    document.getElementById("vocaboloTemperaturaDomani").innerHTML = "" + arrTraduzioneTemperatura;
    document.getElementById("vocaboloMareDomani").innerHTML = "" + arrTraduzioneMare;
    //document.getElementById("vocaboloDettaglioDomani").innerHTML = "" + arrTraduzioneDettaglio;

    document.getElementById("vocaboloMeteoDopoDomani").innerHTML = "" + arrTraduzioneMeteo;
    document.getElementById("vocaboloTemperaturaDopoDomani").innerHTML = "" + arrTraduzioneTemperatura;
    document.getElementById("vocaboloMareDopoDomani").innerHTML = "" + arrTraduzioneMare;
    //document.getElementById("vocaboloDettaglioDopoDomani").innerHTML = "" + arrTraduzioneDettaglio;

    $(".temperatureLabel").html("" + arrTraduzioneTemperature);
}

function changeDate() {
    var m_strDataIta = (document.getElementById("boxInfoMeteo").title);
    var arrData = new Array();
    var arrData = m_strDataIta.split("/");
    var d1 = new Date(arrData[1] + "/" + arrData[0] + "/" + arrData[2]);
    var d2 = new Date();
    var d3 = new Date();
    var dComparazione = new Date();

    d2.setDate(d1.getDate() + 1);
    d3.setDate(d1.getDate() + 2);
    document.getElementById("boxOggi").style.display = "none";
    document.getElementById("boxDomani").style.display = "none";
    document.getElementById("boxDopodomani").style.display = "none";


    switch ("" + (new Date())) {
        case "" + d1:
            document.getElementById("boxOggi").style.display = "block";
            break;

        case "" + d2:
            document.getElementById("boxDomani").style.display = "block";
            break;

        case "" + d3:
            document.getElementById("boxDopodomani").style.display = "block";
            break;

        default:
            document.getElementById("boxOggi").style.display = "block";
    }
}

function innerMeteo() {
    var m_strDataIta = (document.getElementById("boxInfoMeteo").title);
    var fromdate = parseDate(m_strDataIta);
    var formattedfromdate = formatDate(fromdate, 'MM/dd/yyyy')
    var d1 = new Date(formattedfromdate);
    var d2 = new Date();
    var d3 = new Date();
    d2.setDate(d1.getDate() + 1);
    d3.setDate(d1.getDate() + 2);

    $('.meteoDetails.oggi h5').html(weekDaysLabels[d1.getDay()] + " " + d1.getDate() + " " + monthsLabels[d1.getMonth()]);
    $('.meteoDetails.domani h5').html(weekDaysLabels[d2.getDay()] + " " + d2.getDate() + " " + monthsLabels[d2.getMonth()]);
    $('.meteoDetails.dopodomani h5').html(weekDaysLabels[d3.getDay()] + " " + d3.getDate() + " " + monthsLabels[d3.getMonth()]);
}

// webcam

function RedirectToWebcam() {
    window.location.href = "/webcams.athx";
}

// iframe resize
function updateIFrame(height) {

    var iframe = document.getElementById('HoteNetHotelIframe');
    iframe.setAttribute('height', height + 120);
}


function openModal(href, title) {

    //	alert(href);
    //	alert(title);
    // $("#HotelIframe").attr("src", $target.attr('href'));
    //$("#HotelDetailContainer").data('title.dialog', $target.attr('title')).dialog("open");

    //$('body').append('<div id="HotelDetailContainerBG">&nbsp;</div><div id="HotelDetailContainer"></div>')
    $.blockUI({
        message: '<img id="HotelDetailContainerClose" src="/layout/www1/images/lightbox-btn-close.gif" alt="Chiudi"/><iframe id="HotelIframe" width="820" marginheight="0" marginwidth="0" frameborder="0" hspace="0" vspace="0" src="' + href + '"></iframe>',
        css: {
            width: '820px',
            height: '500px',
            margin: '-225px 0 0 -215px',
            padding: '20px',
            cursor: 'default'
        }
    });
    $('#HotelDetailContainerClose').click(function() {
        $.unblockUI();
    });
}


