/*INAH Only*/

//remove Matrix setting for CDP, all set both to true, user can remove when they get the package 2011-07-20  -- ch
var t;
function setTab(name) {
    preload();
    
    displaySection(false, "divHotelSearch");
    displaySection(false, "divPackageSearch");
    displaySection(false, "divDIYSearch");

    if (name == '') {
        displaySection(true, "divDIYSearch");
    }
    else {
        displaySection(true, "div" + name + "Search");
    } 
    
    timedCount();
}

function preload() {
    if (document.images) {

        img1 = new Image();
        img2 = new Image();
        img3 = new Image();

        img1.src = "/images/CH/BE/Hotel_On.png";
        img2.src = "/images/CH/BE/Package_On.png";
        img3.src = "/images/CH/BE/DIY_On.png";

    }
}


function getSpecialType(GlobalID) {
    if (GlobalID == "")
        return;

    document.getElementById('celSpecialType').innerHTML = document.getElementById('celLoading').innerHTML;
    document.frmGetSpecialType.CreativeGlobalID.value = GlobalID;
    document.frmGetSpecialType.submit();
}

function getHotelAreas(RegionID, Code) {
    if (RegionID == "" || RegionID == 0)
        return;

    document.getElementById('celHotelArea').innerHTML = document.getElementById('celLoading').innerHTML;
    document.frmGetHotelArea.RegionID.value = RegionID;
    document.frmGetHotelArea.Code.value = Code;
    document.frmGetHotelArea.submit();
}
function submitform_hotel() {
    if (document.frmHotelSearch.RegionID.value == "" || document.frmHotelSearch.Code.value == "" || document.frmHotelSearch.Code.value == "0") {
        alert("Please select a destination.")
        return false;
    }

    var control = document.frmHotelSearch.Code;
    document.frmHotelCreative.Destination.value = control.options[control.selectedIndex].text;

    document.frmHotelCreative.RegionID.value = document.frmHotelSearch.RegionID.value;
    document.frmHotelCreative.Code.value = document.frmHotelSearch.Code.value;
    document.frmHotelCreative.Rating.value = document.frmHotelSearch.Rating.value;
    document.frmHotelCreative.submit();
    return false;

}
function getPackageAreas(RegionID, Code) {
    if (RegionID == "" || RegionID == 0)
        return;

    document.getElementById('celPackageArea').innerHTML = document.getElementById('celLoading').innerHTML;
    document.frmGetPackageArea.RegionID.value = RegionID;
    document.frmGetPackageArea.Code.value = Code;
    document.frmGetPackageArea.submit();
}



function submitform_package() {
    if (document.frmPackageSearch.RegionID.value == "" || document.frmPackageSearch.Code.value == "") {
        alert("Please select a destination");
        return false;
    }

    var control = document.frmPackageSearch.Code;
    document.frmPackageCreative.Destination.value = control.options[control.selectedIndex].text;

    document.frmPackageCreative.RegionID.value = document.frmPackageSearch.RegionID.value;
    document.frmPackageCreative.Code.value = document.frmPackageSearch.Code.value;

    document.frmPackageCreative.StartDate.value = document.frmPackageSearch.StartDate.value;
    document.frmPackageCreative.Category.value = document.frmPackageSearch.Category.value;

    document.frmPackageCreative.submit();

    return false;

}


/*DIY*/
function getToCities(FromCode, ToCode) {
    if (FromCode == -1 || FromCode == '0' || FromCode == '') {
        alert("Please select a departing city");
        return;
    }
    displaySection(false, 'divMaxtrix');

    document.getElementById('celArea').innerHTML = document.getElementById('celLoading').innerHTML;
    document.frmToCity.FromCity.value = FromCode;
    document.frmToCity.ToCity.value = ToCode;
    document.frmToCity.submit();

    document.frmDIYSearch.date1.value = 'dd/mm/yy';
    document.frmDIYSearch.date2.value = 'dd/mm/yy';
    document.frmDIYSearch.NotFinalStop.value = 0;
}


function getHotelCities(str) {
    document.frmDIYSearch.date1.value = 'dd/mm/yy';
    document.frmDIYSearch.date2.value = 'dd/mm/yy';

    document.frmDIYSearch.chkActivity.disabled = false;
    document.frmDIYSearch.chkTransfer.disabled = false;

    document.frmDIYSearch.chkActivity.checked = false;
    document.frmDIYSearch.chkTransfer.checked = false;


    document.getElementById('lblActivity').title = 'Sightseeing Tours, Passes and Experiences';
    document.frmDIYSearch.chkActivity.title = 'Sightseeing Tours, Passes and Experiences';

    document.getElementById('lblTransfer').title = 'Airport Transfer';
    document.frmDIYSearch.chkTransfer.title = 'Airport Transfer';

    document.frmDIYSearch.NotFinalStop.value = 0;

    var arr = str.split(',')
    if (arr.length != 9)
        return;

    if (arr[5].toUpperCase() == 'TRUE') {
        document.frmDIYSearch.NotFinalStop.value = 1;

        displaySection(true, 'divHotelCity');
        displaySection(false, 'divMaxtrix');

        document.frmHotelCity.ToCity.value = arr[0];
        document.frmHotelCity.target = 'ifGetDIY';
        document.frmHotelCity.submit();
        document.getElementById('celHotel').innerHTML = document.getElementById('celLoading').innerHTML;
    }
    else {
        document.frmDIYSearch.NotFinalStop.value = 0;
        displaySection(false, 'divHotelCity');
        displaySection(true, 'divMaxtrix');
    }

    document.frmCDP.CDP_fltToCity.value = arr[0];
    document.frmCDP.CDP_htlCity.value = arr[0];
    document.frmCDP.CDP_carrierCodes.value = arr[6].replace(/-/gi, ',');

    /*if (arr[6].search(/-/gi) > -1)
    displaySection(true, 'divSearchType');
    else
    displaySection(false, 'divSearchType');*/


    if (!setBoolean(arr[4])) {
        document.frmDIYSearch.chkTransfer.disabled = true;
        document.frmDIYSearch.chkTransfer.checked = false;
    }



    if (arr[7] != '') {
        document.frmCDP.CDP_fltFromDays.value = arr[7].replace(/-/gi, ',');
        eval("calDepart.setDisabledWeekDays(" + convertBlockedWeekDayStr(arr[7]) + ")");
    }
    else {
        document.frmCDP.CDP_fltFromDays.value = arr[7].replace(/-/gi, ',');
        calDepart.setDisabledWeekDays();
    }

    if (arr[8] != '') {
        document.frmCDP.CDP_fltToDays.value = arr[8].replace(/-/gi, ',');
        eval("calReturn.setDisabledWeekDays(" + convertBlockedWeekDayStr(arr[8]) + ")");
    }
    else {
        document.frmCDP.CDP_fltToDays.value = arr[8].replace(/-/gi, ',');
        calReturn.setDisabledWeekDays();
    }

    if (arr[0].toUpperCase() == 'VLI' || arr[0].toUpperCase() == 'HNL') {
        document.frmDIYSearch.chkTransfer.disabled = true;
        document.frmDIYSearch.chkTransfer.checked = false;
    }
}

function setFITForHotel(str) {
    document.frmDIYSearch.date1.value = 'dd/mm/yy';
    document.frmDIYSearch.date2.value = 'dd/mm/yy';

    document.frmDIYSearch.chkActivity.disabled = false;
    document.frmDIYSearch.chkTransfer.disabled = false;

    document.frmDIYSearch.chkActivity.checked = false;
    document.frmDIYSearch.chkTransfer.checked = false;

    document.getElementById('lblActivity').title = 'Sightseeing Tours, Passes and Experiences';
    document.frmDIYSearch.chkActivity.title = 'Sightseeing Tours, Passes and Experiences';

    document.getElementById('lblTransfer').title = 'Airport Transfer';
    document.frmDIYSearch.chkTransfer.title = 'Airport Transfer';

    document.frmDIYSearch.NotFinalStop.value = 0;
    var arr = str.split(',')
    if (arr.length != 7)
        return;

    displaySection(true, 'divMaxtrix')
    document.frmCDP.CDP_htlCity.value = arr[0];

    //transfer   //remove for CH
    if (!setBoolean(arr[4])) {
        document.frmDIYSearch.chkTransfer.disabled = true;
        document.frmDIYSearch.chkTransfer.checked = false;
    }

    if (setBoolean(arr[6])) {
        document.frmDIYSearch.chkTransfer.disabled = true;
        document.frmDIYSearch.chkTransfer.checked = true;

        document.getElementById('lblTransfer').title = 'Airport transfers are compulsory for this destination';
        document.frmDIYSearch.chkTransfer.title = 'Airport transfers are compulsory for this destination';
    }

    /*if (arr[0].toUpperCase() == 'PTI') 
    {
    document.frmDIYSearch.chkTransfer.disabled = true;
    document.frmDIYSearch.chkTransfer.checked = false;
    }	*/
}

function getCreativeDateFormat(theDate) {
    var dateArr = theDate.split('/');
    return parseInt(dateArr[0], 10) + MONTH_NAMES[parseInt(dateArr[1], 10) - 1].substring(0, 3) + dateArr[2];
}

function setBoolean(value) {
    if (value.toUpperCase() == 'TRUE' || value.toUpperCase() == 1)
        return true;
    else
        return false;
}

function getBookingType() {
    var type = '';
    type = "FH";
    /*if (document.getElementById('SearchType_FFH') || document.getElementById('SearchType_FH'))
    if (document.frmDIYSearch.SearchType_FFH.checked)  type = type + ",F";*/
    if (document.frmDIYSearch.chkTransfer.checked) type = type + ",T"; //remove for CH
    //type = type + "T,H";
    if (document.frmDIYSearch.chkActivity.checked) type = type + ",M";   //remove for CH
    //type = type + "T,H,M";       
    if (type.lastIndexOf(',') == type.length) type = type.substr(0, len(type) - 1)

    return type;
}

function getRoomMixes() {
    var numOfAdults = document.frmDIYSearch.adults.value;
    var numOfChildren = document.frmDIYSearch.dynamic_children.value;

    var childrenAges;
    if (numOfChildren > 0)
        childrenAges = '-' + document.frmDIYSearch.child_age1.value;
    if (numOfChildren > 1)
        childrenAges = childrenAges + '-' + document.frmDIYSearch.child_age2.value;
    if (numOfChildren > 2)
        childrenAges = childrenAges + '-' + document.frmDIYSearch.child_age3.value;
    if (numOfChildren > 3)
        childrenAges = childrenAges + '-' + document.frmDIYSearch.child_age4.value;

    if (numOfChildren == 0)
        return numOfAdults + 'A';
    else
        return numOfAdults + 'A' + numOfChildren + 'C' + childrenAges;
}
function setChildren() {
    if (document.frmDIYSearch.adults.value > 2)
        document.frmDIYSearch.dynamic_children.disabled = true;
    else
        document.frmDIYSearch.dynamic_children.disabled = false;

}
function submitform_DIY() {

    if (document.frmDIYSearch.FromCity.value == '0' || document.frmDIYSearch.FromCity.value == '') {
        alert('Please select a departure airport.')
        return false;
    }

    if (document.frmDIYSearch.ToCity.value == '0' || document.frmDIYSearch.ToCity.value == '') {
        alert('Please select a destination airport, rather than a region or a country.')
        return false;
    }

    if (document.frmDIYSearch.HotelCity) {
        if (document.frmDIYSearch.HotelCity.value == '0' && document.frmDIYSearch.NotFinalStop.value == '1') {
            alert('Please select a hotel destination.')
            return false;
        }
    }

    if (document.frmDIYSearch.NotFinalStop.value == '1' && document.frmDIYSearch.HotelCity.value == '0') {
        alert('Please select a hotel location.')
        return false;
    }

    if (validateDate(document.frmDIYSearch.date1.value) == false) {
        alert("Please enter a valid departure date.");
        return false;
    }

    if (validateDate(document.frmDIYSearch.date2.value) == false) {
        alert("Please enter a valid return date.");
        return false;
    }

    if (dateDiff('frmDIYSearch') > 99) {
        alert("Maximum stay is 99 days. Please select your departure and/or return dates again.");
        return false;
    }

    if (document.frmDIYSearch.adults.value == 0) {
        alert("Please specify number of adults.");
        return false;
    }

    if (document.frmDIYSearch.dynamic_children.value != 0) {
        var hasChildAge = true;
        for (var i = 1; i <= document.frmDIYSearch.dynamic_children.value; i++) {
            if (eval('document.frmDIYSearch.child_age' + i).value == 0) {
                /*if (i == 1)
                alert("Please specify the age of first child.");
                else if (i == 2)
                alert("Please specify the age of second child.");
                else if (i == 3)
                alert("Please specify the age of third child.");
                else if (i == 4)*/
                hasChildAge = false

            }
        }

        if (!hasChildAge) {
            alert("Please specify the age of child.");
            return false;
        }
    }

    var HotelCityName, control;
    if (document.frmDIYSearch.NotFinalStop.value == '1') {
        control = document.frmDIYSearch.HotelCity
        HotelCityName = control.options[control.selectedIndex].text;
    }
    else {
        control = document.frmDIYSearch.ToCity
        HotelCityName = control.options[control.selectedIndex].text;
    }


    document.frmCDP.CDP_heading.value = 'Flight + Hotel for ' + HotelCityName;

    document.frmCDP.CDP_bookingType.value = getBookingType();
    document.frmCDP.CDP_package.value = ("Generic_" + getBookingType().replace(/,/gi, '')).toLowerCase();

    //document.frmCDP.CDP_package.value = "generic_fthm";
    document.frmCDP.CDP_roomMixes.value = getRoomMixes();
    document.frmCDP.CDP_startDate.value = getCreativeDateFormat(document.frmDIYSearch.date1.value);
    document.frmCDP.CDP_duration.value = dateDiff('frmDIYSearch');

    document.frmCDP.CDP_fltFromCity.value = document.frmDIYSearch.FromCity.value;
    //alert(document.frmCDP.CDP_fltToCity.value)
    //alert(document.frmCDP.CDP_fltFromCity.value)
    //alert(document.frmCDP.CDP_htlCity.value)
    document.frmCDP.submit();
    return false;
}


function convertBlockedWeekDayStr(str) {
    var arr = str.split('-');
    for (var index = 0; index < arr.length; index++)
        if (arr[index] == '7')
        arr[index] = 0;


    return arr.join(',').toString();
}


function activeEngine(name) {
    displaySection(false, 'divHotelSearchEngine');
    displaySection(false, 'divPackageSearchEngine');
    displaySection(false, 'divDIYSearchEngine');
    displaySection(false, 'divHotDealSearchEngine');


    displaySection(true, name);
}


function popupBox(control, e, display, ypos) {
    if (control.childNodes[1].innerHTML.length > 0) {
        var posx = 0;
        var posy = 0;
        //var e = window.event;
        //if (e == "undefined") e = window.status ;
        //alert(e);
        if (e.pageX || e.pageY) {
            posx = e.pageX
            posy = e.pageY;
        }
        else if (e.clientX || e.clientY) {
            posx = e.clientX + document.body.scrollLeft
				+ document.documentElement.scrollLeft;
            posy = e.clientY + document.body.scrollTop
				+ document.documentElement.scrollTop;
        }

        posy = posy - ypos;




        if (control.childNodes[1].innerHTML.length > 75)
            posx = posx + 30;
        else
            posx = posx + 30;

        if (display) {
            control.childNodes[1].style.visibility = "visible"
            control.childNodes[1].style.display = "block"
            control.childNodes[1].style.position = "absolute"
            control.childNodes[1].style.top = posy
            control.childNodes[1].style.left = posx

        } else {
            control.childNodes[1].style.visibility = "hidden"
            control.childNodes[1].style.display = ""
            control.childNodes[1].style.position = "absolute"
            control.childNodes[1].style.top = posy
            control.childNodes[1].style.left = posx
        }
    }
}



function timedCount() {
//    if (document.getElementById('IfContent')) {
//        displaySection(false, 'divProcessLoading');
//        clearTimeout(t);
//    }
//    else
    //        t = setTimeout("timedCount()", 1000);
    var t;
    if (document.readyState == "complete") {
        displaySection(false, 'divProcessLoading');
        clearTimeout(t);
    }
    else
       t = setTimeout("timedCount()", 1000);
}  
