﻿
var xmlHttp;
var stateId;
var tab = new Array();
var strNewZones = "";
var showAll = "";
tab[0] = 'dvPop';
tab[1] = 'dvPrice';
tab[2] = 'dvRating';
tab[3] = 'dvName';

function showdata(strpage, strtab, strshowall, strOnChange) {

    showimageloader();
    var type = strshowall;
    var newZone = (document.getElementById('ddlNewZone') == null) ? '' : document.getElementById('ddlNewZone').value;

    if (strtab != '') //load frist page
    {
        document.forms["frmhotel"].hhPage.value = '1';
        document.forms["frmhotel"].tabActive.value = strtab;
    }
    else if (strtab == '' && strpage != '') {
        if (type == "1") {
            showAll = "1";
            newZone = "";
            setdefaultselected(newZone);
            document.forms["frmhotel"].tabActive.value = 'dvPop';
            document.forms["frmhotel"].hhcurrencyType.value = "";
            setDiv('dvPop', tab);
            // hidediv('spViewAllLink2');
        }
        document.forms["frmhotel"].hhPage.value = strpage;
    }

    document.forms["frmsearch"].hhOnChange.value = strOnChange;
    var para = "&t=" + document.forms["frmhotel"].tabActive.value + "&z=" + newZone + "&p=" + document.forms["frmhotel"].hhPage.value;
    if (document.forms["frmhotel"].hhcurrencyType != null)
        para = para + "&curr=" + document.forms["frmhotel"].hhcurrencyType.value;
    para = para + "&type=" + type;
    if (showAll == "1")
        para = para + "&all=1";
    para = para + "&hhOnChange=" + document.forms["frmsearch"].hhOnChange.value;
    var url = getURLSearchScript(stateId) + para;
    xmlHttp = GetXmlHttpObject(stateChangeHandler);
    xmlHttp_Get(xmlHttp, url);
}

function stateChangeHandler() {

    if (document.forms["frmhotel"].hhTotalPages != null) {
        document.forms["frmhotel"].hhTotalPages.value = '0';
    }

    if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete') {
        var str = xmlHttp.responseText;
        if (str != "") {
            str = str.replace(new RegExp("_X", "g"), "&nbsp;");
        }

        if (str != "") {
            str = str.replace(new RegExp("_TL", "g"), "<");
        }

        if (str != "") {
            str = str.replace(new RegExp("_TR", "g"), ">");
        }

        if (str != "") {
            str = str.replace(new RegExp("_TC", "g"), "'");
        }

        if (str != "") {
            str = str.replace(new RegExp("_AD", "g"), "&");
        }

        if (str != "") {
            str = str.replace(new RegExp("_L1", "g"), "_");
        }
        var data = str.split("</x>");

        setTimeout("hideimageloader()", 550);

        if (data.length > 0) {
            var tmpvalue = data[0].split("<x value=");
            var tmpNewZone = "";
            var tmpShowAll = "";
            if (tmpvalue.length == 2) {
                var tmphiddens = tmpvalue[1].split("H:");

                if (tmphiddens.length >= 10) {

                    var frm = document.forms["frmhotel"];
                    frm.hhState.value = tmphiddens[1];
                    frm.hhTotalRecords.value = tmphiddens[2];
                    frm.hhTotal.value = tmphiddens[3];
                    frm.hhCurrency.value = tmphiddens[4];
                    frm.hhcurrencyRate.value = tmphiddens[5];
                    frm.hhcurrencyType.value = tmphiddens[6];
                    frm.hhPage.value = tmphiddens[7];
                    frm.hhTotalPages.value = tmphiddens[8];

                    setdefaultchecked();

                    if (tmphiddens.length == 13) {
                        //frm.hhHaveZone.value =  tmphiddens[9].substr(0,tmphiddens[9].length-2);
                        frm.hhHaveZone.value = tmphiddens[9];
                        document.forms["frmsearch"].hhType.value = "1";
                        setdefaultleftsearch();
                        tmpNewZone = tmphiddens[10];
                        tmpShowAll = tmphiddens[11];
                        document.forms["frmsearch"].hhOnChange.value = tmphiddens[12].substr(0, tmphiddens[12].length - 2);
                    }
                    else if (tmphiddens.length == 19) {

                        document.forms["frmsearch"].hhType.value = "2";
                        frm.hhHaveZone.value = tmphiddens[9];
                        var frmsearch = document.forms["frmsearch"];
                        frmsearch.txbfrom.value = tmphiddens[10];
                        frmsearch.txbto.value = tmphiddens[11];
                        setselected(frmsearch.ddlAults, tmphiddens[12]);
                        setselected(frmsearch.ddlKids, tmphiddens[13]);
                        setselected(frmsearch.ddlRooms, tmphiddens[14]);
                        var tmpLocations = tmphiddens[15];

                        //tmpLocations =  tmpLocations.substr(0, tmpLocations.length-2);
                        tmpLocations = tmpLocations;

                        if (tmpLocations != "") {
                            tmpLocations = tmpLocations.replace(new RegExp("_CC", "g"), ",");
                            tmpLocations = "," + tmpLocations + ",";
                            setchecked(tmpLocations);
                            
                        }

                        tmpNewZone = tmphiddens[16];
                        tmpShowAll = tmphiddens[17];
                        document.forms["frmsearch"].hhOnChange.value = tmphiddens[18].substr(0, tmphiddens[18].length - 2);

                        // showdiv('spViewAllLink2'); 
                    }
                    createNewZones(tmpNewZone, tmpShowAll);
                    createNavigator(tmpShowAll);
                    // createLinkViewAll(tmpShowAll);
                    document.getElementById('divContent').innerHTML = data[1];

                    if (frm.hhcurrencyType.value == null || frm.hhcurrencyType.value == "") {
                        createprice(null);
                    } else {
                        createprice(document.forms["frmhotel"].hhcurrencyType.value);
                    }
                    if (frm.hhHaveZone.value != null && frm.hhHaveZone.value == "1") {
                        showdiv('trlocationtopic');
                        showdiv('trlocation');
                        showdiv('ddlNewZone');
                        showdiv('spArea');
                    }

                    else {
                        hidediv('trlocationtopic');
                        hidediv('trlocation');
                        hidediv('ddlNewZone');
                        hidediv('spArea');
                    }


                } //10

            } //2
        } //0
    } //xmlHttp.readyState



}

function setdefaultleftsearch() {
    var frmsearch = document.forms["frmsearch"];
    frmsearch.txbfrom.value = "";
    frmsearch.txbto.value = "";
    setdefaultselected(frmsearch.ddlAults);
    setdefaultselected(frmsearch.ddlKids);
    setdefaultselected(frmsearch.ddlRooms);
}

function hideimageloader() {
    hidediv('imgLoding');

}

function showimageloader() {
    showdiv('imgLoding');
}

function hidediv(tabselected) {
    if (document.getElementById(tabselected) != null) {
        if (tabselected.length < 1) { return; }
        document.getElementById(tabselected).style.display = 'none';
        document.getElementById(tabselected).style.visibility = 'hidden';
    }
}

function showdiv(tabselected) {
    if (document.getElementById(tabselected) != null) {
        if (tabselected.length < 1) { return; }
        document.getElementById(tabselected).style.display = 'block';
        document.getElementById(tabselected).style.visibility = 'visible';
    }
}


function showTab(tabselected) {
    setDiv(tabselected, tab);
    document.forms["frmhotel"].tabActive.value = tabselected.toString();
}

function setDiv(tabselected, tab) {
    for (var i = 0; i < 4; i++) {
        if (tabselected != tab[i]) {
            hidediv(tab[i]);
            showdiv(tab[i] + 'N');
        }
    }
    hidediv(tabselected + 'N');
    showdiv(tabselected);
}

function tabchange(tabselected) {
    setDiv(tabselected, tab);
    //document.getElementById
    document.forms["frmhotel"].tabActive.value = tabselected;
    showdata('1', document.forms["frmhotel"].tabActive.value, '', '0');
}

function setCurrencyType(strType) {
    document.forms["frmhotel"].hhcurrencyType.value = strType;
}

function createprice(obj) {
    if (document.forms["frmhotel"].hhCurrency != null && document.forms["frmhotel"].hhcurrencyRate != null && document.forms["frmhotel"].hhcurrencyType != null) {
        var d = document.getElementById('dvLinkPrice');
        var olddiv = null;
        var names = document.forms["frmhotel"].hhCurrency.value.split(",");
        var oldname = '';
        if (obj != null) {
            oldname = obj;
        }
        else {
            oldname = ' ';
        }

        for (var i = 0; i < names.length; i++) {
            if (oldname == ' ') {
                oldname = names[i];
                break;
            }
        }

        for (var i = 0; i < names.length; i++) {
            var name = "dv" + names[i];
            olddiv = document.getElementById(name);
            if (olddiv != null) {
                d.removeChild(olddiv);
            }
        }

        var tmp = '';
        for (var i = 0; i < names.length; i++) {
            var name = "dv" + names[i];
            var link = document.createElement('span');
            if (oldname == names[i]) {
                tmp = '<span id=' + name + '><strong class=tahoma11px><font color=#FD9905>' + names[i] + '</font></strong> ';
            }
            else {
                tmp = '<span id=' + name + '><strong><a href="javascript:void(0);" onclick="setCurrencyType(\'' + names[i] + '\');showdata(\'\',\'\',\'\',\'0\');" class=linkblue>' + names[i] + '</a></strong> ';
            }

            if (i != (names.length - 1)) {
                tmp += '| </span>';
            }
            link.innerHTML = tmp;
            link.setAttribute('id', name);
            d.appendChild(link);
        }

        document.forms["frmhotel"].hhcurrencyType.value = oldname;
        createstartrate();
        createpaging();
        createstate();
        createtotal();
    }

}

function getpricetype() {
    var rate = "0";
    var rates = document.forms["frmhotel"].hhcurrencyRate.value.split(",");
    var names = document.forms["frmhotel"].hhCurrency.value.split(",");
    for (var i = 0; i < names.length; i++) {
        if (document.forms["frmhotel"].hhcurrencyType.value == names[i] && names[i] != 'THB') {
            rate = rates[i];
            break;
        }
    }
    return rate;
}

function createstartrate() {
    if (document.forms["frmhotel"].hhTotal != null && document.forms["frmhotel"].hhcurrencyRate != null && document.forms["frmhotel"].hhcurrencyType != null) {

        var newprice;
        var price;
        var newprice;
        var rows = parseInt(document.forms["frmhotel"].hhTotal.value);

        for (var i = 0; i < rows; i++) {
            var name1 = 'price' + i.toString();
            var d = document.getElementById(name1);

            if (d != null) {

                var stpo;
                var endpo;
                if (is_firefox) {
                    stpo = d.innerHTML.indexOf('<b>') + 3;
                    endpo = d.innerHTML.indexOf('</b>');
                }
                else {
                    stpo = d.innerHTML.indexOf('<B>') + 3;
                    endpo = d.innerHTML.indexOf('</B>');
                }

                var price = parseInt(d.innerHTML.substr(stpo, (endpo - stpo)));
                var pricetype = parseInt(getpricetype());
                    
                if (pricetype > 0)
                    newprice = price / pricetype;
                else
                    newprice = price;
                    
                var stylecss = "head";
                
                if (price != 1000000) {
                    if (document.forms["frmhotel"].hhcurrencyType.value == "THB") {
                        d.innerHTML = "<strong>" + document.forms["frmhotel"].hhcurrencyType.value + "</strong>&nbsp;&nbsp;" + "<span class=head><font color=\"#7DC116\"><b>" + formatcurrency('0', '.', ',', newprice) + "</b></font></span>";
                    }
                    else {
                        d.innerHTML = "<strong>" + document.forms["frmhotel"].hhcurrencyType.value + "</strong>&nbsp;&nbsp;" + "<span class=head><font color=\"#7DC116\"><b>" + formatcurrency('2', '.', ',', newprice) + "</b></font></span>";
                    }
                }
                else {
                    d.innerHTML = "<span class=headsmall><font color=\"#7DC116\"><b>On Request</b></font></span>";
                }
            }
        }
    }

}


function createpaging() {

    if (document.forms["frmhotel"].hhTotalPages != null && document.forms["frmhotel"].hhPage != null) {
        var totalpage = parseFloat(document.forms["frmhotel"].hhTotalPages.value);
        if (totalpage > 0) {
            var pageIndex = parseFloat(document.forms["frmhotel"].hhPage.value);
            var dTop = document.getElementById('trdisplay2');
            var dButton = document.getElementById('trdisplay3');
            var strLink = "";

            if (totalpage > 0) {
                strLink = "<table width='95%' border='0' align='center' cellpadding='0' cellspacing='0' class='arial'>";
                strLink = strLink + "<tr class='verdana'><td><strong class='verdan'>Click to page :</strong>";
                var endpage = totalpage + 1;

                if (pageIndex != 1)
                    strLink = strLink + "&nbsp;<strong class='verdan'><a class=linkblack onclick=showdata(\'" + (pageIndex - 1).toString() + "\',\'\',\'\',\'0\'); href=javascript:void(0);>Prev</a></strong>";
                for (var i = 1; i < endpage; i++) {
                    if (i == pageIndex) {
                        strLink = strLink + "&nbsp;<strong class='verdan'>[" + i.toString() + "]</strong>&nbsp;";

                    }
                    else {
                        strLink = strLink + "&nbsp;<a class=linkblack href=javascript:void(0); onclick=showdata(\'" + i.toString() + "\',\'\',\'\',\'0\');>" + i.toString() + "</a>&nbsp;";
                    }

                }
                if (pageIndex != totalpage)
                    strLink = strLink + "&nbsp;<strong class='verdan'><a class=linkblack onclick=showdata(\'" + (pageIndex + 1).toString() + "\',\'\',\'\',\'0\'); href=javascript:void(0);>Next</a></strong>";
                strLink = strLink + "</td></tr></table>";

            }


            dTop.innerHTML = strLink;
            dButton.innerHTML = strLink;

        }
    }

}


function createstate() {
    if (document.forms["frmhotel"].hhState != null) {
        var frm = document.forms["frmhotel"];
        var statename = frm.hhState.value;
        if (statename != "") {
            statename = statename.replace(new RegExp("_", "g"), " ");
        }

        for (var i = 0; i <= 1; i++) {
            document.getElementById("dvtopicstate" + i).innerHTML = statename;
            //		    if(i == 2 && document.forms["frmsearch"].hhType.value == "2")
            //		    {
            //		      document.getElementById("dvtopicstate"+i).innerHTML  = statename + "&nbsp;&nbsp;<strong class='tahoma12px'><font color=#164AD1 size=3>(&nbsp;<a href=javascript:void(0); onclick=\"showdata('1', '', '1');\"  class='linkblue'>View all hotels</a>&nbsp;)</font></strong></span>"; 
            //		      
            //		    }
            //		    else 
            //		    {
            //		        document.getElementById("dvtopicstate"+i).innerHTML = statename;
            //            }		        

        }

    }
}

function createtotal() {

    if (document.forms["frmhotel"].hhTotalRecords != null) {
        var totalrecords = parseInt(document.forms["frmhotel"].hhTotalRecords.value);
        if (totalrecords > 0) {
            hidediv("trdisplay0");
            for (var i = 1; i <= 5; i++)
                showdiv("trdisplay" + i);
            document.getElementById("dvtotals").innerHTML = formatcurrency('0', '.', ',', document.forms["frmhotel"].hhTotalRecords.value);
        }
        else {
            for (var i = 1; i <= 5; i++)
                hidediv("trdisplay" + i); frmsearch

            if (document.forms["frmsearch"].hhOnChange.value == "0") {
                showdiv("trdisplay4");
                showdiv("trdisplay5");
            }
            showdiv("trdisplay0");
        }

    }
}


function getNewZones() {
    var frm = document.forms["frmsearch"];
    var strRemove = "I";
    var txt = "";
    var tmpAllNewZone = "";
    var newZone = "";

    if (is_firefox)
        strRemove = "i";

    for (var i = 0; i < frm.elements.length; i++) {
        if ((frm.elements[i].type.toLowerCase() == "checkbox")) {
            var el = getNextSibling(document.getElementById(frm.elements[i].id).parentNode);
            txt = el.childNodes[0].innerHTML.replace(new RegExp("<" + strRemove + ">", "g"), "").replace(new RegExp("</" + strRemove + ">", "g"), "");
            if (frm.elements[i].checked) {
                newZone += "#" + frm.elements[i].value + "^" + txt;
            }
            else {
                tmpAllNewZone += "#" + frm.elements[i].value + "^" + txt;
            }
        }
    }

    if (newZone != "") {
        strNewZones = newZone;
    } else {
        strNewZones = tmpAllNewZone;
    }

}


function createNavigator(tmpShowAll) {
    var sp = document.getElementById('spNavigator');
    var strLink = "";

    if (tmpShowAll != "1") {
        strLink = '<a href="javascript:void(\'0\');" onclick="showdata(\'1\', \'\', \'1\',\'1\');"  class=linkblacknone>';
        strLink += document.getElementById('ddlstate').options[document.getElementById('ddlstate').selectedIndex].text + ' accommodations</a>';
        strLink += ' > <strong>Search results</strong>';
    }
    else {
        strLink = '<strong>' + document.getElementById('ddlstate').options[document.getElementById('ddlstate').selectedIndex].text + ' accommodations</strong>';
    }
    sp.innerHTML = strLink;
}

function createNewZones(tmpNewZone, tmpShowAll) {
    var head = " All areas in " + document.getElementById('ddlstate').options[document.getElementById('ddlstate').selectedIndex].text;
    getNewZones();
    var arrRows = strNewZones.split("#");
    var div = document.getElementById('divNewZone');
    if (arrRows.length > 0) {
        var strLink = '<select name=ddlNewZone id=ddlNewZone class=arial onchange="showdata(\'1\', \'\', \'\',\'0\');">';

        if (tmpShowAll != "1") {
            if (arrRows.length > 2) {
                head = "All your selections";
                strLink += '<option value=""';
                if (tmpNewZone == '')
                    strLink += 'selected';
                strLink += '>' + head + '</option>';
            }
            else if (arrRows.length == 2) {
                div = document.getElementById('spNewZone');
                //  head = "All your selection";
                var arrCols = arrRows[1].split("^");
                strLink = '&nbsp;&nbsp;<font color="000000" class=arial>' + arrCols[1] + '</font>';
            }
        }
        else {
            strLink += '<option value=""';
            if (tmpNewZone == '')
                strLink += 'selected';
            strLink += '>' + head + '</option>';
        }

        if (arrRows.length > 2) {
            for (var i = 0; i < arrRows.length; i++) {

                var arrCols = arrRows[i].split("^");
                if (arrCols.length == 2) {
                    //  alert('arrCols[0]=' + arrCols[0] + ',tmpNewZone=' + tmpNewZone);
                    var selected = (arrCols[0] == tmpNewZone) ? 'selected' : '';
                    strLink += '<option value=' + arrCols[0] + ' ' + selected + '>' + arrCols[1] + '</option>';
                }
            }
        }
        div.innerHTML = strLink;
    }
}

function getNextSibling(startBrother) {
    endBrother = startBrother.nextSibling;
    while (endBrother.nodeType != 1) {
        endBrother = endBrother.nextSibling;
    }
    return endBrother;
}


function validated() {

    var frm = document.forms["frmsearch"];
    var frmmain = document.forms["frmhotel"];

    if (!IsEmpty(frm.txbfrom.value)) {
        if (isDate(frm.txbfrom.value) == false) {
            frm.txbfrom.select();
            frm.txbfrom.focus()
            return false
        }
    }

    if (!IsEmpty(frm.txbto.value)) {
        if (isDate(frm.txbto.value) == false) {
            frm.txbto.select();
            frm.txbto.focus()
            return false
        }
    }

    if (IsEmpty(frm.txbfrom.value) && !IsEmpty(frm.txbto.value)) {
        alert("Please select both *Check-in* and *Check-out*, or you can leave both to view all accommodations");

        frm.txbfrom.focus();
        return false;
    }

    if (IsEmpty(frm.txbto.value) && !IsEmpty(frm.txbfrom.value)) {
        alert("Please select both *Check-in* and *Check-out*, or you can leave both to view all accommodations");
        frm.txbto.focus();
        return false;
    }


    if (frmmain.hhHaveZone.value != null && frmmain.hhHaveZone.value == "1") {

        var isLocation = false;
        frm.hhNewZoneIds.value = "";

        for (var i = 0; i < frm.elements.length; i++) {
            if ((frm.elements[i].type.toLowerCase() == "checkbox")) {
                if (frm.elements[i].checked) {
                    isLocation = true;
    				if (frm.elements[i].value != "")
					{
						if (frm.hhNewZoneIds.value != "")
	                        frm.hhNewZoneIds.value = frm.hhNewZoneIds.value + ",";
	                    frm.hhNewZoneIds.value = frm.hhNewZoneIds.value + frm.elements[i].value;
					}
                }
            }
        }

        if (!isLocation) {
            alert("Please specify Location");
            return false;
        }
    }


    setTimeout("showimageloader()", 550);

    frm.hhType.value = "2";
    frm.submit();
}


function createLinkViewAll(tmpShowAll) {
    if (tmpShowAll != "1") {
        document.getElementById("spLinkViewAll").innerHTML = '&nbsp;<font class="tahoma20px" color="#2765b2">(<a href="javascript:void(\'0\');" onclick="showdata(\'1\', \'\', \'1\',\'1\');" class="linkmediumblueunderline">View All</a>)</font>';
    }
    else {
        document.getElementById("spLinkViewAll").innerHTML = '';
    }
}



function onchangestateId() {
    if (document.forms["frmsearch"].ddlstate.value != "-100") {
        document.forms["frmsearch"].hhType.value = "1";
        document.forms["frmsearch"].submit();
    }
}

function setchecked(newzoneIds) {
    var frm = document.forms["frmsearch"];
    var str = "";
    var count = 0;
    var countTick = 0;
    var ctrlAllArea;
    for (var i = 0; i < frm.elements.length; i++) {
        if ((frm.elements[i].type.toLowerCase() == "checkbox")) {
            if(frm.elements[i].value == "")
                ctrlAllArea = frm.elements[i];
            else
                count = count + 1;
                
            str = "," + frm.elements[i].value + ",";
            frm.elements[i].checked = (newzoneIds.indexOf(str) != -1) ? true : false;
            if(frm.elements[i].checked)
                countTick = countTick + 1;
        }
    }
    if (count == countTick && ctrlAllArea != null)
        ctrlAllArea.checked = true;
      
}

function setselected(ddl, strValue) {
    for (var i = 0; i < ddl.length; i++) {
        if (ddl[i].value == strValue) {
            ddl[i].selected = true;
            break;
        }
    }
}


function setdefaultselected(ddl) {
    for (var i = 0; i < ddl.length; i++) {
        if (i == 0) {
            ddl[i].selected = true;
            break;
        }
    }
}


function setdefaultchecked() {
    var frm = document.forms["frmsearch"];
    var str = "";
    for (var i = 0; i < frm.elements.length; i++) {
        if ((frm.elements[i].type.toLowerCase() == "checkbox")) {
            frm.elements[i].checked = true;
        }
    }
}


/*****************************************************
* Check & Uncheck All checkbox in CheckBob List 
******************************************************/
function CheckAllCheckBoxListCheckBoxes(chkNameAll, name, checkVal) {
    var isCheckAll = true;
    if (chkNameAll == name) {
        for (i = 0; i < document.forms["frmsearch"].elements.length; i++) {
            elm = document.forms["frmsearch"].elements[i];
            if (elm.type == 'checkbox') {
                elm.checked = checkVal;
            }
        }
    }
    else {
        for (var j = 0; j < document.forms["frmsearch"].elements.length; j++) {
            elm = document.forms["frmsearch"].elements[j];
            if (elm.type.toLowerCase() == 'checkbox') {
                if (!elm.checked && (elm.name != chkNameAll)) {
                    isCheckAll = false;
                    break;
                }
            }
        }
        var chkAll = eval('document.forms["frmsearch"].' + chkNameAll);
        chkAll.checked = isCheckAll;
    }


}

function initial() {
    tabchange('dvPop');
    setselected(document.forms["frmsearch"].ddlstate, stateId);
}    
