﻿function testValid() {
    var x = $find("mpeValidationSummary");
    if (!Page_ClientValidate()) {
        x.show();
        return false;
    }
}

function SetOptionsFields(newValue, country, airport) {
    var country = document.getElementById(country);
    var airport = document.getElementById(airport);

    var v1 = newValue.value.substr(0, newValue.value.indexOf("-"));
    var v2 = newValue.value.substr(newValue.value.indexOf("-") + 1);

    country.value = v1;
    airport.value = v2;
}

function HideTable(tableName) {
    var tabella = document.getElementById(tableName);

    if (tabella != null) {
        if (tabella.style.display == '') {
            tabella.style.display = 'none';
        }
        else {
            tabella.style.display = '';
        }
    }
}

function HideElement(elementName) {
    var el = document.getElementById(elementName);

    if (el.style.display == '') {
        el.style.display = 'none';
    }
    else {
        el.style.display = '';
    }
}

function ExpandHeightDiv(source, dest) {
    var divDest = document.getElementById(dest);
    var divSource = document.getElementById(source);
    if (divDest != null && divSource != null)
        divDest.style.height = divSource.offsetHeight + 'px';
}

function ExpandHeightDivAuto() {
    ExpandHeightDivAutoElems('divRicForm', 'divRicIco', 'divBasketMini');
}

function ExpandHeightDivAutoTwo() {
    ExpandHeightDiv('divRicForm', 'divRicIco');
}

function ExpandHeightDivAutoElems(elem1, elem2, elem3) {
    var div1 = document.getElementById(elem1);
    var div2 = document.getElementById(elem2);
    var div3 = document.getElementById(elem3);

    var h1 = 0;
    var h2 = 0;
    var h3 = 0;

    if (div1 != null) h1 = parseInt(div1.offsetHeight);
    if (div2 != null) h2 = parseInt(div2.offsetHeight);
    if (div3 != null) h3 = parseInt(div3.offsetHeight);

    hMax = 0;

    if (h1 > hMax) hMax = h1;
    if (h3 > hMax) hMax = h3;
    if (h2 > hMax) hMax = h2;

    if (div1 != null) div1.style.minHeight = hMax + 'px';
    if (div2 != null) div2.style.height = hMax + 'px';
    if (div3 != null) div3.style.height = hMax + 'px';
}

function ShowProgress() {
    if (api != null) api.load();
    return true;
}

function DomandaSicuro() {
    var risp = confirm("Sei sicuro?");
    if (risp) ShowProgress();
    return risp;
}

function openPopUp(url, w, h) {
    var lt = (screen.width - w) / 2;
    var tp = (screen.height - h) / 2;

    window.open(url, '', 'width=' + w + ',height=' + h + ',left=' + lt + ',top=' + tp + ',toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no');
}

function sommaData(start_day, number_nights, the_div) {
    var str = sommaGiorni(start_day, number_nights);

    document.getElementById(the_div).value = str;

    $find('calExt2').set_selectedDate(Date.parseLocale(str, "dd-MM-yyyy"));
}

function sommaGiorni(data, number_nights) {
    var giorno = data.substring(0, 2);
    var mese = data.substring(3, 5);
    var anno = data.substring(6, 10);

    var d = new Date(mese + "/" + giorno + "/" + anno);
    d.setDate(d.getDate() + parseInt(number_nights, 10));

    var giornoToDisplay = d.getDate();
    if ((giornoToDisplay / 10) < 1) giornoToDisplay = '0' + giornoToDisplay;

    var meseToDisplay = d.getMonth() + 1;
    if ((meseToDisplay / 10) < 1) meseToDisplay = '0' + meseToDisplay;

    var str = giornoToDisplay + '-' + meseToDisplay + '-' + d.getFullYear();

    return str;
}

function fillcombo(thecombo, value) {
    var dest = document.getElementById(thecombo);
    for (var i = dest.options.length - 1; i >= 1; i--) {
        dest.options[i] = null;
    }
    dest.selectedIndex = 0; //-1

    if (eval("typeof(" + value + ")!='undefined'")) {
        var arrDest = eval(value);
        for (var i = 0; i < arrDest.length; i++) {
            dest.options[dest.options.length] = new Option(arrDest[i].value, arrDest[i].text);
        }
    }
}

function fillcomboPoi(thecombo, value) {
    fillcombo(thecombo, value);
    var dest = document.getElementById(thecombo);
    dest.selectedIndex = 0;
}

function MostraSuntoRicercaVoloInRis(val) {
    var attendereRiepilogo = document.getElementById("attendereRiepilogo");
    if (attendereRiepilogo != null) {
        var tipovolo = document.getElementById("hReqTipo").value;
        var numTratte = parseInt(document.getElementById("hReqNumTratte").value, 10);

        var testo = "<br/><b>" + lblRicerca + "<\/b><br/>";

        if (tipovolo != "3") {
            var txtAnd1 = document.getElementById("hReq1City1").value;
            var txtAnd2 = document.getElementById("hReq1City2").value;
            var andata = document.getElementById("hReq1Data").value.replace(/\//g, "-");
            testo += lblFrom + ": " + txtAnd1 + "<br/>";
            testo += lblTo + ": " + txtAnd2 + "<br/>";
            if (val.indexOf("and") > -1)
                andata = dataConvertiIn(val.replace("and", ""), "primaGG");
            testo += lblDepartureDate + ": " + andata + "<br/>";
            if (tipovolo == "1") {
                var ritorno = document.getElementById("hReq2Data").value.replace(/\//g, "-");
                if (val.indexOf("rit") > -1)
                    ritorno = dataConvertiIn(val.replace("rit", ""), "primaGG");
                testo += lblReturnDate + ": " + ritorno + "<br/>";
            }
        }
        else {
            for (var i = 0; i < numTratte; i++) {
                var reqCity1 = document.getElementById("hReq" + (i + 1) + "City1").value
                var reqCity2 = document.getElementById("hReq" + (i + 1) + "City2").value
                var reqData = document.getElementById("hReq" + (i + 1) + "Data").value.replace(/\//g, "-");
                testo += "<u>" + lblRoute + " " + (i + 1) + "</u><br/>";
                if (i == 0 && val.indexOf("and") > -1)
                    reqData = dataConvertiIn(val.replace("and", ""), "primaGG");
                if (i == 1 && val.indexOf("rit") > -1)
                    reqData = dataConvertiIn(val.replace("rit", ""), "primaGG");
                if (i == 2 && val.indexOf("ult") > -1)
                    reqData = dataConvertiIn(val.replace("ult", ""), "primaGG");
                testo += reqData + ": " + reqCity1 + " - " + reqCity2 + "<br/>";
            }
        }
        attendereRiepilogo.innerHTML = testo;
    }
}

function submitAirlineSearch(pagina, airlineCode, type) {
    ShowProgress();
    location.replace(pagina + '.aspx?' + type + '&compagnia=' + airlineCode);
}

function submitChangedateSearch(val, type) {
    //MostraSuntoRicercaVoloInRis(val);
    ShowProgress();
    location.replace('risultati_volo.aspx?' + type + '&changedate=' + val);
}

function OnClientResizeText(sender, eventArgs) {
    var element = sender.get_element();
    var textBox;

    // Iteration required becuase different browser renders element in different way, 
    // TEXTAREA is childNodes[2] in IE and childNodes[3] in FF/Netscape/Safari/Opera
    for (index = 0; index < element.childNodes.length; index++) {
        if (element.childNodes[index].nodeName.toLowerCase() == "textarea") {
            // Assigning correct TEXTAREA element reference in textBox onject.
            textBox = element.childNodes[index];
            break;
        }
    }
    textBox.style.height = element.style.height;
    textBox.style.width = element.style.width;
    return false;
}

var mywin;
function RegoleTariffarie(url, w, h) {
    var lt = (screen.width - w) / 2;
    var tp = (screen.height - h) / 2;

    mywin = window.open(url, '', 'width=' + w + ',height=' + h + ',left=' + lt + ',top=' + tp + ',scrollbars=yes,resize=no');
}

function RegoleTariffariePopola(fareId) {
    var fareValue = document.getElementById("fareValue" + fareId);
    var fareText = document.getElementById("fareText" + fareId);

    var hFareValue = mywin.document.getElementById("hFareValue");
    var hFareText = mywin.document.getElementById("hFareText");

    hFareValue.value = fareValue.value;
    hFareText.value = fareText.value;
}

function checkDate(data) {
    var myDayStr = data.substring(0, 2);
    var myMonthStr = data.substring(3, 5);
    var myYearStr = data.substring(6, 10);

    myMonthStr = parseInt(myMonthStr, 10) - 1;
    var myDate = new Date();
    myDate.setFullYear(myYearStr, myMonthStr, myDayStr);

    if (myDate.getMonth() != myMonthStr)
        return false;
    else
        return true;
}

function selezionaCampo(obj, evidenzia) {
    setTimeout(
        function() {
            obj.focus();
            if (evidenzia) obj.select();
        }, 50
    );
}

function dataConvertiIn(data, tipo) {
    var dd, mm, yyyy;
    if (tipo == "primaGG") {
        dd = data.substring(8, 10);
        mm = data.substring(5, 7);
        yyyy = data.substring(0, 4);
        return dd + "-" + mm + "-" + yyyy;
    }
    else if (tipo == "primaAA") {
        dd = data.substring(0, 2);
        mm = data.substring(3, 5);
        yyyy = data.substring(6, 10);
        return yyyy + "-" + mm + "-" + dd;
    }
}

function dataOggi() {
    var data = new Date();
    var anno = data.getFullYear() + '';
    var mese = data.getMonth() + 1 + '';
    var giorno = data.getDate() + '';
    if (mese.length == 1) mese = '0' + mese;
    if (giorno.length == 1) giorno = '0' + giorno;

    return (giorno + "-" + mese + "-" + anno);
}

function CheckCreditCard(objSource, objArgs) {
    var clientId = objSource.id;
    clientId = clientId.substring(0, clientId.lastIndexOf("_") + 1);

    var cardType = document.getElementById(clientId + "CardCode")

    if (cardType.value.length > 0) {
        if (cardType.value == "MC") {
            var checkStr = "51 52 53 54 55";
            var part = objArgs.Value.substr(0, 2);

            if (checkStr.indexOf(part) == -1)
                objArgs.IsValid = false;
            else
                objArgs.IsValid = true;
        }
        if (cardType.value == "VI") {
            var checkStr = "4";
            var part = objArgs.Value.substr(0, 1);

            if (checkStr != part)
                objArgs.IsValid = false;
            else
                objArgs.IsValid = true;
        }
        if (cardType.value == "AX") {
            var checkStr = "34 37";
            var part = objArgs.Value.substr(0, 2);

            if (checkStr.indexOf(part) == -1)
                objArgs.IsValid = false;
            else
                objArgs.IsValid = true;
        }
    }
    else {
        objArgs.IsValid = false;
    }
}

function CheckCreditCard(objSource, objArgs) {
    var clientId = objSource.id;
    clientId = clientId.substring(0, clientId.lastIndexOf("_") + 1);

    var cardType = document.getElementById(clientId + "CardCode")

    if (cardType.value.length > 0) {
        if (cardType.value == "MC") {
            var checkStr = "51 52 53 54 55";
            var part = objArgs.Value.substr(0, 2);

            if (checkStr.indexOf(part) == -1)
                objArgs.IsValid = false;
            else
                objArgs.IsValid = true;
        }
        if (cardType.value == "VI") {
            var checkStr = "4";
            var part = objArgs.Value.substr(0, 1);

            if (checkStr != part)
                objArgs.IsValid = false;
            else
                objArgs.IsValid = true;
        }
        if (cardType.value == "AX") {
            var checkStr = "34 37";
            var part = objArgs.Value.substr(0, 2);

            if (checkStr.indexOf(part) == -1)
                objArgs.IsValid = false;
            else
                objArgs.IsValid = true;
        }
    }
    else {
        objArgs.IsValid = false;
    }
}

function trim(s) {
    while (s.substring(0, 1) == ' ') {
        s = s.substring(1, s.length);
    }
    while (s.substring(s.length - 1, s.length) == ' ') {
        s = s.substring(0, s.length - 1);
    }
    return s;
}

function capitalize(strSentence) {
    return strSentence.toLowerCase().replace(/\b[a-z]/g, convertToUpper);

    function convertToUpper() {
        return arguments[0].toUpperCase();
    }
}

function UpdateFilterPriceLabel(sender, args) {
    var clientId = sender.get_element().id;
    clientId = clientId.substring(0, clientId.lastIndexOf("_") + 1);

    $get(clientId + "lblPriceFrom").innerHTML = $get(clientId + "rangeStart").value;
    $get(clientId + "lblPriceTo").innerHTML = $get(clientId + "rangeEnd").value;
}
function UpdateFilterTimeLabel(sender, args) {
    var clientId = sender.get_element().id;
    clientId = clientId.substring(0, clientId.lastIndexOf("_") + 1);

    var flightTime = $get(clientId + "flightTime").value;
    if (flightTime != "0") $get(clientId + "lblTimeTo").innerHTML = flightTime + "h";
}

function ChangeRateRange(val) {
    var minRate = document.getElementById(clientId + "minRate");
    var maxRate = document.getElementById(clientId + "maxRate");

    var arrayVal = val.split("-");
    minRate.value = arrayVal[0].replace("#", "");
    maxRate.value = arrayVal[1].replace("#", "");
}

function controlla(arr) {
    flag = 0;
    campo = arr;
    for (i = 0; i <= campo.length - 1; i++) {
        appo = document.getElementById(campo[i]);
        if ((trim(appo.value) == '') || (appo.value == 'undefined')) {
            appo.style.backgroundColor = '#d5f0ff';
            flag = 1;
        } else {
            appo.style.backgroundColor = '#ffffff';
        }
    }
    if (flag == 1) {
        alert("Inserisci i campi richiesti!\n");
        return false;
    }
    else return true;
}

function getRadioValue(nomeCampo) {
    var r, i = 0;
    var val = "";
    var el = document.getElementsByName(nomeCampo)
    while (r = el[i++]) { if (r.checked) { val = r.value; break; } }
    return val;
}

function SettingPreloadImages() {
    $('.slideshow').cycle({
        timeout: 3000,
        speed: 600,
        fx: 'fade'
    });
}

function stampaDoc() {
    var btnStampa = document.getElementById("btnStampa");
    var btnChiudi = document.getElementById("btnChiudi");

    btnStampa.style.display = 'none';
    btnChiudi.style.display = 'none';

    window.print();

    btnStampa.style.display = '';
    btnChiudi.style.display = '';
}
