﻿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 ExpandHeightDiv(source, dest)
{
    document.getElementById(dest).style.height = document.getElementById(source).offsetHeight + 'px';
}

function ShowProgress()
{
    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 openPopUp2(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;
}
