﻿function GetBirthdates(ddl, type) {
    var NrOfDates = parseInt(ddl.options[ddl.selectedIndex].text, 10);
    var element = type == 0 ? "Child" : "Baby";

    for (i = 1; i < ddl.options.length; i++) {
        var obj = document.getElementById(element + i.toString())
        obj.style.display = "none";
        obj.value = "";
    }

    for (i = 1; i <= NrOfDates; i++) {
        var obj = document.getElementById(element + i.toString())
        obj.style.display = "";
    }
}

function CheckTravelersDates() {
    var res = true;
    var ddl0 = document.getElementById("ddlAdults");
    var ddl1 = document.getElementById("ddlChild");
    //var ddl2 = document.getElementById("ddlBaby");
    var num0 = parseInt(ddl0.options[ddl0.selectedIndex].text, 10);
    var num1 = parseInt(ddl1.options[ddl1.selectedIndex].text, 10);
    //var num2 = parseInt(ddl2.options[ddl2.selectedIndex].text, 10);
    num2 = 0;

    if (num0 + num1 + num2 > 8) {
        res = false;
        alert("Het is helaas niet mogelijk om in een boeking\r\n meer dan 8 personen te boeken.\r\n U kunt eventueel meerdere boekingen maken\r\n of telefonisch contact met ons op nemen.");
    }

    for (var i = 1; i < num1 + 1; i++) {
        var d = document.getElementById("txtChild" + i);
        if (d.value == "" || d.value == "Ongeldig") {
            d.value = "Ongeldig";
            res = false;
        }
    }
    for (var j = 1; j < num2 + 1; j++) {
        var f = document.getElementById("txtBaby" + j);
        if (f.value == "" || f.value == "Ongeldig") {
            f.value = "Ongeldig";
            res = false;
        }
    }
    if (res) {
        //CloseTravelers();
        //ShowWait();
    }
    return res;
}

/*
Functions for search destinations and accommodations.
*/

var searchTimeout;
function CloseDestinationSearchRes() {
    var pop = document.getElementById("searchDestinationRes");
    pop.style.visibility = "hidden";
}

function SearchDestination(searchText, type) {
    clearTimeout(searchTimeout);
    searchTimeout = setTimeout("SearchDestinationAfterTimeout('" + searchText + "', '" + type + "')", 500);
}
function SearchDestinationAfterTimeout(searchText, type) {
    var d = document.getElementById("searchDestinationRes");
    var dt = document.getElementById("searchDestinationResText");
    searchText = Trim(searchText);
    if (searchText.length < 3) {
        if (d)
            d.style.visibility = "hidden";
        return;
    }

    var url = Master_BasePath + "DestinationSearch.aspx?type=D&triptype=" + type + "&val=" + searchText;
    var req = new Request();
    req.GetNoCache(url, SearchDestinationResult);
}
function SearchDestinationResult(result) {
    if (result.readyState != ReadyState.Complete) {
        return;
    }
    if (result.status == HttpStatus.OK && result.responseText != "") {
        var dt = document.getElementById("searchDestinationResText");
        if (dt == null) {
            return;
        }
        dt.innerHTML = result.responseText;
        document.getElementById("searchDestinationRes").style.visibility = "visible";
    }
}

/*****************/
function CloseDestinationOrAccommodation() {
    //var pop = document.getElementById("searchDestinationOrAccommodationRes");
    var pop = document.getElementById("searchDestinationOrAccommodationRes");
    pop.style.visibility = "hidden";
}

function SearchDestinationOrAccommodation(searchText, timeOut)
{
    clearTimeout(searchTimeout);
    searchTimeout = setTimeout("SearchDestinationOrAccommodationAfterTimeout(\"" + searchText + "\")", timeOut);
}

function SearchDestinationOrAccommodation(searchText)
{
    clearTimeout(searchTimeout);
    searchTimeout = setTimeout("SearchDestinationOrAccommodationAfterTimeout(\"" + searchText + "\")", 500);
}
function SearchDestinationOrAccommodationAfterTimeout(searchText) {
    var d = document.getElementById("searchDestinationOrAccommodationRes");
    var dt = document.getElementById("searchDestinationOrAccommodationResText");
    searchText = Trim(searchText);
    if (searchText.length < 3)
    {
        d.style.visibility = "hidden";
        return;
    }

    var url = Master_BasePath + "DestinationSearch.aspx?type=DA&val=" + searchText;
    var req = new Request();
    req.GetNoCache(url, SearchDestinationOrAccommodationResult);
}
function SearchDestinationOrAccommodationResult(result) {
    if (result.readyState != ReadyState.Complete) {
        return;
    }
    if (result.status == HttpStatus.OK && result.responseText != "") {
        var dt = document.getElementById("searchDestinationOrAccommodationResText");
        if (dt == null) {
            return;
        }
        dt.innerHTML = result.responseText;
        document.getElementById("searchDestinationOrAccommodationRes").style.visibility = "visible";
    }
}


function Trim(str) {
    return str.replace(/^\s+|\s+$/g, '');
}


function StoreTopX(topxid, accoid) {

    var url = Master_BasePath + "SetTopXAcco.aspx?TopXID=" + topxid + "&AccoID=" + accoid;
    var req = new Request();
    req.GetNoCache(url, null);
}
/*
Functions for home page
*/

function RestartHomeSearchTabs(number) {

    //Default Action

    if ($("ul.homeTabs li").length > 0) {
        $(".homeTab_content").hide(); //Hide all content
        $("ul.homeTabs li")[number].className = "active"; //("active").show();
        $($("ul.homeTabs li")[number]).show();
        $($(".homeTab_content")[number]).show(); //Show first tab content

        $("ul.homeTabs li").click(function () {
            $("ul.homeTabs li").removeClass("active"); //Remove any "active" class
            $(this).addClass("active"); //Add "active" class to selected tab
            $(".homeTab_content").hide(); //Hide all tab content
            var activeTab = $(this).find("a").attr("href"); //Find the rel attribute value to identify the active tab + content
            $(activeTab).fadeIn(); //Fade in the active content
            return false;
        });
    }
}

/*
Functions for ExtendedSearch
*/

function RestartExtendedSearchSearchTabs(number) {
    
    //Default Action
    $(".tabpage").hide(); //Hide all content
    $("ul.tabcontrol li").removeClass("active"); //Remove any "active" class
    $("ul.tabcontrol li")[number].className = "active"; //("active").show();
    $($("ul.tabcontrol li")[number]).show();
    $($(".tabpage")[number]).show(); //Show first tab content

    $("ul.tabcontrol li").click(function () {
        $("ul.tabcontrol li").removeClass("active"); //Remove any "active" class
        $(this).addClass("active"); //Add "active" class to selected tab
        $(".tabpage").hide(); //Hide all tab content
        var activeTab = $(this).find("a").attr("href"); //Find the rel attribute value to identify the active tab + content
        $(activeTab).fadeIn(); //Fade in the active content
        return false;
    });
}


/*
Functions for viewed and saved accommodations.
*/
function AddAccoToSavedAccosByMap(type, accoID) {
    var url = Master_BasePath + "AccoCookies.aspx?Action=Save&Type=" + type + "&AccoID=" + accoID;
    var req = new Request();
    req.GetNoCache(url, AddAccoToSavedAccosResult);
}

function AddAccoToSavedAccosByMapAndCompare(type, accoID) {
    var url = Master_BasePath + "AccoCookies.aspx?Action=Save&Type=" + type + "&AccoID=" + accoID;
    var req = new Request();
    req.GetNoCache(url, AddAccoToSavedAccosResult);

    location.href = Master_BasePath + "bewaarde-reizen.aspx";
}

function AddAccoToSavedAccosCompare(type, accoID) {
    var url = Master_BasePath + "AccoCookies.aspx?Action=Save&Type=" + type + "&AccoID=" + accoID;
    var req = new Request();
    req.GetNoCache(url, AddAccoToSavedAccosResult);
}

function AddAccoToSavedAccos(type, accoID, departureDate, price, duration, board, transport, departairport, touropcode, adults, children, babies) {
    var url = Master_BasePath + "AccoCookies.aspx?Action=Save&Type=" + type + "&AccoID=" + accoID
                              + "&DepartureDate=" + departureDate + "&Price=" + price + "&Duration=" + duration
                              + "&Board=" + board + "&Transport=" + transport
                              + "&Adults=" + adults + "&Children=" + children + "&Babies=" + babies
                              + "&Tourop=" + touropcode;
    if (typeof (departairport) != "undefined")
        url += "&DepartAirport=" + departairport;
    var req = new Request();
    req.GetNoCache(url, AddAccoToSavedAccosResult);
}

function AddAccoToSavedAccosResult(result) {
    if (result.readyState != ReadyState.Complete) return;
    if (result.status == HttpStatus.OK && result.responseText != "") {
        if (result.responseText == "ERROR") {
            //alert("Error");
        }
        else {
            //alert("Acco saved");
            ResetSavedVisitedNumber('S')
        }
    }
}
function DeleteAccoFromSavedAccos(type, accoID) {
    var url = Master_BasePath + "AccoCookies.aspx?Action=Delete&Type=" + type + "&AccoID=" + accoID;
    var req = new Request();
    req.GetNoCache(url, DeleteAccoFromSavedAccosResult);

    //Delay added for mozilla browsers
    //setTimeout("ReloadPage()", 10);
    //location.reload(true);
}

function DeleteAccoFromSavedAccosResult(result) {
    if (result.readyState != ReadyState.Complete) return;
    if (result.status == HttpStatus.OK && result.responseText != "") {
        if (result.responseText == "ERROR") {
            alert("Error");
        }
        else {
            //alert("Acco saved");
            ResetSavedVisitedNumber('S')
            ReloadPage();
        }
    }
}
function DeleteAllAccoFromSavedAccos(type) {
    var url = Master_BasePath + "AccoCookies.aspx?Action=DeleteAll&Type=" + type;
    var req = new Request();
    req.GetNoCache(url, DeleteAccoFromSavedAccosResult);

    //Delay added for mozilla browsers
    setTimeout("ReloadPage()", 10);
    //location.reload(true);
}

function DeleteAllAccoFromSavedAccosResult(result) {
    if (result.readyState != ReadyState.Complete) return;
    if (result.status == HttpStatus.OK && result.responseText != "") {
        if (result.responseText == "ERROR") {
            alert("Error");
        }
        else {
            //alert("Acco saved");
            ResetSavedVisitedNumber('S')
        }
    }
}

function ResetSavedVisitedNumber(type) {
    var url = Master_BasePath + "AccoCookies.aspx?Action=Numbers&Type=" + type;
    var req = new Request();
    req.GetNoCache(url, ResetSavedVisitedNumberResult);
}
function ResetSavedVisitedNumberResult(result) {
    if (result.readyState != ReadyState.Complete) return;
    if (result.status == HttpStatus.OK && result.responseText != "") {
        var num_array = result.responseText.split(';');
        document.getElementById(Globe_SavedVak).innerHTML = num_array[0];
        //document.getElementById(MijnSuntip_VisitedVak).innerHTML = document.getElementById(MijnSuntip_VisitedVakText).value + " (" + num_array[1] + ")";
    }
}

function ReloadPage() {
    location.reload(true);
}
/*****************/

function GetAccoImageUrl(accoID) {
    var url = Master_BasePath + "AccoDetailsMap.aspx?AccoID=" + accoID;
    var req = new Request();
    req.GetNoCache(url, GetAccoImageUrlResult);
}

function GetAccoImageUrlResult(result) {
    if (result.readyState != ReadyState.Complete) {
        return;
    }
    if (result.status == HttpStatus.OK && result.responseText != "") {
        //googlemap_infobox_img
        var dt = document.getElementById("googlemap_infobox_img");
        if (dt == null) {
            return;
        }
        var url = result.responseText.substring(0, result.responseText.indexOf('<'));
        $("#googlemap_infobox_img").attr('src', url);   
    }
}

/*
Functions for acco page
*/
function SelectPrice(accoID, guideCode, price, date, dur, unit, board, touropID, depart, linkID) {
    if (priceClicked != null)
        priceClicked = true;

    //part for changing colors of selected link		
    if (linkID != 'Price_Min') {
        var link = document.getElementById(linkID);
        if (link == null) return false;
        if (link.className == "niet-beschikbaar") return;

        var HiddenOldLinkStyleClassName = document.getElementById("OldLinkStyleClassName");
        var HiddenOldLinkId = document.getElementById("OldLinkId");
        var ClickedPriceLink = document.getElementById("ClickedPriceLink");
        ClickedPriceLink.value = linkID;

        if (HiddenOldLinkId.value != '') {
            var oldLink = document.getElementById(HiddenOldLinkId.value);
            oldLink.className = HiddenOldLinkStyleClassName.value;
        }

        HiddenOldLinkStyleClassName.value = link.className;
        HiddenOldLinkId.value = linkID;
        link.className = "selected";
        //end
    }

    document.getElementById('priceRemark').style.display = 'none';
    document.getElementById('prijsoverzicht').style.display = '';
    document.getElementById('wait').style.display = '';
    document.getElementById('prices_list').style.display = 'none';
    document.getElementById('btnBook').style.display = 'none';
    //document.getElementById('btnPriceGaruantuee').style.display = 'none';

    var url = Master_BasePath + "GetReceipt.aspx";
    url += "?acco=" + accoID;
    url += "&guide=" + guideCode;
    url += "&price=" + price;
    url += "&date=" + date;
    url += "&dur=" + dur;
    url += "&unit=" + unit;
    url += "&board=" + board;
    url += "&tourop=" + touropID;
    url += "&depart=" + depart;
    url += "&linkid=" + linkID;

    var req = new Request();
    req.GetNoCache(url, SelectPriceResult);

    //location.href = "#PriceDetailsAnchor";
    //	alert(url);
    //    alert("accoID:"+accoID+" price:"+price+" date:"+date+" dur:"+dur+" unit:"+unit+" board:"+board+" touropID:"+touropID+" depart:"+depart+" linkID:"+linkID);
}

function SelectPriceResult(result) {
    if (result.readyState != ReadyState.Complete) return;
    if (result.status == HttpStatus.OK && result.responseText != "") {
        eval(result.responseText);
        //		alert(result.responseText );
    }
    else {
        alert("error\n" + result.responseText);
    }
}
function DisablePrice() {
    var ClickedLinkHiddenField = document.getElementById("ClickedPriceLink");
    if (ClickedLinkHiddenField != null && ClickedLinkHiddenField.value != '') {
        var link = document.getElementById(ClickedLinkHiddenField.value);
        if (link != null) {
            link.className = "niet-beschikbaar";
            link.onClick = "return false";

            var HiddenOldLinkId = document.getElementById("OldLinkId");
            if (HiddenOldLinkId != null) {
                HiddenOldLinkId.value = "";
            }

            return false;
        }
    }
}

function printPage() {
    window.open(Master_BasePath + "AccommodationPrint.aspx");
}
//function OpenAccoMail() {
//    CenterAccoMailElement();
//    var pop = document.getElementById("accoMailDiv");
//    pop.style.display = '';
//    //pop.style.visibility = "visible";
//}
//function CloseAccoMail() {
//    var pop = document.getElementById("accoMailDiv");
//    pop.style.display = 'none';
//    //pop.style.visibility = "hidden";
//}
//function CenterAccoMailElement() {
//    return;
//    var pop = document.getElementById("accoMailPopup");
//    if (pop == null) return;

//    var posy = 0;
//    var winy = 0;
//    var winscroll = 0;
//    var poph = pop.offsetHeight;

//    if (window.pageYOffset) {
//        winscroll = window.pageYOffset;
//        winy = window.innerHeight;
//    } else {
//        winscroll = iecompattest().scrollTop;
//        winy = iecompattest().clientHeight;
//    }
//    if (500 >= winy) { //144
//        posy = winscroll;
//    } else {
//        posy = ((winy - 500) / 2) + winscroll; //144
//    }

//    pop.style.top = posy + "px";
//}

function ToggleSendAccoEmail() {
    var obj = document.getElementById("accoMailPopup");
    if (obj) {
        obj.style.display = obj.style.display== "none"? "" : "none";
    }
}
