﻿/*Language Options*/
function switchLang(o)
{
    switch (o.value.toLowerCase())
    {
        case "en-gb" : window.location = appendUI(o.value.toLowerCase()); break;
        case "fr-fr" : window.location = appendUI(o.value.toLowerCase()); break;
        case "de-de" : window.location = appendUI(o.value.toLowerCase()); break;
        case "it-it" : window.location = appendUI(o.value.toLowerCase()); break;
        case "pt-pt" : window.location = appendUI(o.value.toLowerCase()); break;
        case "ru-ru" : window.location = appendUI(o.value.toLowerCase()); break;
        case "es-es" : window.location = appendUI(o.value.toLowerCase()); break;
    }
}

function appendUI(o)
{
    str = window.location.toString();
    if (window.location.toString().indexOf("?") > 0)
    {
        if (window.location.toString().indexOf("?ui=") > 0)
        {
            return str.replace(str.substring(str.indexOf("?ui="), str.indexOf("?ui=") + 9), "?ui=" + o);
        }
        if (window.location.toString().indexOf("&ui=") > 0)
        {
            return str.replace(str.substring(str.indexOf("&ui="), str.indexOf("&ui=") + 9), "&ui=" + o);
        }
	    return str + "&ui=" + o;
    }
    else
    {
        return str + "?ui=" + o;
    }
    return str;
}
/*Language Options*/
/*Search Control Content*/
var _room1Est;
var _room2Est;
var _room3Est;
var _lastBtn;

function toggleProceed(obj)
{
    go = false;
    for (i = 1; i <= document.getElementById(_ROOMCOUNT).value; i++)
    {
        if (eval("_room1Est != _room" + i.toString() + "Est"))
        {
            go = false;
            i = document.getElementById(_ROOMCOUNT).value + 1;
        }
        else
            {go = true};
    }
    if (_lastBtn != null)
    {
        for (i = 0; i < document.getElementsByName(_lastBtn).length; i++)
        {
            document.getElementsByName(_lastBtn)[i].disabled = true;
            document.getElementsByName(_lastBtn)[i].src = '/App_Themes/' + _THEME + '/images/Central-London-Hotel-Bookings/Proceed-faded.gif';
        }
    }
    if (go)
    {
        for (i = 0; i < document.getElementsByName(obj).length; i++)
        {
            document.getElementsByName(obj)[i].disabled = false;
            document.getElementsByName(obj)[i].src= '/App_Themes/' + _THEME + '/images/Central-London-Hotel-Bookings/Proceed.gif';
        }
        _lastBtn = obj;
    }
    else
    {
        for (i = 0; i < document.getElementsByName(obj).length; i++)
        {
            document.getElementsByName(obj)[i].disabled = true;
            document.getElementsByName(obj)[i].src = '/App_Themes/' + _THEME + '/images/Central-London-Hotel-Bookings/Proceed-faded.gif';
        }
    }
}

function validateSearch()
{
    if ((document.getElementById(_HOTELLIST).value == "") | 
        (document.getElementById(_ARRIVAL).value == "") | 
        (document.getElementById(_DEPARTURE).value == ""))
    {
        alert(_ALERT_MISSING_SEARCH_CRITERIA);
        return false;
    }
    else
    {
        t1 = _T1;
        t2 = _T2;
        _sep = '-';
        _d1 = document.getElementById(_ARRIVAL).value.split(_sep);
        _d2 = document.getElementById(_DEPARTURE).value.split(_sep);
        a1 = new Date(_d1[0], (parseInt(_d1[1], 10) - 1).toString() , _d1[2]);
        d1 = new Date(_d2[0], (parseInt(_d2[1], 10) - 1).toString() , _d2[2]);
        if (d1 > a1 && t1 <= a1 && d1 < t2) 
        {
            processSearch();
            return true;
        }
        else
        {
            if (a1 < t1 || a1 > t2)/*arrival less than minimum or greater than maximum*/
                {alert(_ALERT_INVALID_ARRIVAL_DATE2);return false;}
            if (d1 < t1 || d1 > t2)/*departure less than minimum or greater than maximum*/
                {alert(_ALERT_INVALID_DEPARTURE_DATE2);return false;}
            if (d1 <= a1)/*departure less than arrival*/
                {alert(_ALERT_INVALID_DEPARTURE_DATE3);return false;}
            return false;
        }
    }
}

function getRooms(obj)
{
    for (i = 1; i <= obj.length; i++)
    {
        if (i > obj.value)
            document.getElementById("panelRoom" + i).className = "HideOccupants";
        else
            document.getElementById("panelRoom" + i).className = "ShowOccupants";
    }
}

function getAges(obj, idx)
{
    for (i = 1; i < obj.length; i++)
    {
        if (i > obj.value)
            document.getElementById("panelRoom" + idx + "Child" + i).className = "HideChildren";
        else
            document.getElementById("panelRoom" + idx + "Child" + i).className = "ShowChildren";
    }
}

function processSearch()
{
    if (proceed())
    {
        uri = _BASE;
        uri += "E=" + document.getElementById(_HOTELLIST).value + "&";
        uri += "A=" + document.getElementById(_ARRIVAL).value + "&";
        uri += "D=" + document.getElementById(_DEPARTURE).value + "&";
        uri += "R=" + document.getElementById(_ROOMCOUNT).value + "&";
        uri += "R1A=" + document.getElementById("adultsRoom1").value + "&";
        uri += "R1C=" + document.getElementById("kidsRoom1").value + "&";
        uri += "R1C1A=" + document.getElementById("ageRoom1Child1").value + "&";
        uri += "R1C2A=" + document.getElementById("ageRoom1Child2").value + "&";
        uri += "R1C3A=" + document.getElementById("ageRoom1Child3").value + "&";
        uri += "R1C4A=" + document.getElementById("ageRoom1Child4").value + "&";
        uri += "R2A=" + document.getElementById("adultsRoom2").value + "&";
        uri += "R2C=" + document.getElementById("kidsRoom2").value + "&";
        uri += "R2C1A=" + document.getElementById("ageRoom2Child1").value + "&";
        uri += "R2C2A=" + document.getElementById("ageRoom2Child2").value + "&";
        uri += "R2C3A=" + document.getElementById("ageRoom2Child3").value + "&";
        uri += "R2C4A=" + document.getElementById("ageRoom2Child4").value + "&";
        uri += "R3A=" + document.getElementById("adultsRoom3").value + "&";
        uri += "R3C=" + document.getElementById("kidsRoom3").value + "&";
        uri += "R3C1A=" + document.getElementById("ageRoom3Child1").value + "&";
        uri += "R3C2A=" + document.getElementById("ageRoom3Child2").value + "&";
        uri += "R3C3A=" + document.getElementById("ageRoom3Child3").value + "&";
        uri += "R3C4A=" + document.getElementById("ageRoom3Child4").value + "&";
        uri += "O=" + document.getElementById(_DEALTYPE).value + "&SE=";
        if (document.getElementById("hidEst"))
            {uri += document.getElementById("hidEst").value;}
        uri += "&DM="
        if (document.getElementById(_DISPLAYMODE + "_0").checked)
            {uri += "T";}
        if (document.getElementById(_DISPLAYMODE + "_1").checked)
            {uri += "M";}

        location = uri;
    }
}

function setRoomIndex(idx, val)
{
    document.getElementById("room" + idx + "Idx").value = val;
}

function onSelectedStartDate(sender,args)
{
    aStr = document.getElementById(_ARRIVAL).value.split("-");
    dStr = document.getElementById(_DEPARTURE).value.split("-");
    a = new Date(aStr[0], aStr[1] - 1, aStr[2]);    /*arrival date*/
    d = new Date(dStr[0], dStr[1] - 1, dStr[2]);    /*departure date*/
    if (getNights(a, d) > 28)
        {$find("calDeparture").set_selectedDate(new Date(a.valueOf() + (86400000 * 28)));}
    else if ($find("calDeparture").value == null | $find("calDeparture").value == "" | d < a)
        {$find("calDeparture").set_selectedDate(new Date(a.valueOf() + 86400000));}
}

function getNights(a, b)
{
    diff = b-a;    /*difference in milliseconds*/
    return parseInt(diff/86400000);    /*calculate days*/
}

function validateNights()
{
    aStr = document.getElementById(_ARRIVAL).value.split("-");
    dStr = document.getElementById(_DEPARTURE).value.split("-");
    a = new Date(aStr[0], aStr[1] - 1, aStr[2]);    /*arrival date*/
    b = new Date(dStr[0], dStr[1] - 1, dStr[2]);    /*departure date*/
    diff = b-a;    /*difference in milliseconds*/
    days = new String(diff/86400000);    /*calculate days and convert to string*/
    if (parseInt(days) > 28)
    {
        alert(_ALERT_MAXIMUM_NIGHTS);
        $find("calDeparture").set_selectedDate(new Date(a.valueOf() + (86400000 * 28)));
    }
}
/*Search Control Content*/