﻿var aeOL = []; function addEvent(o, n, f, l) { var a = 'addEventListener', h = 'on' + n, b = '', s = ''; if (o[a] && !l) return o[a](n, f, false); o._c |= 0; if (o[h]) { b = '_f' + o._c++; o[b] = o[h] } s = '_f' + o._c++; o[s] = f; o[h] = function(e) { e = e || window.event; var r = true; if (b) r = o[b] && o[b](e) != false && r; r = o[s] && o[s](e) != false && r; return r }; aeOL[aeOL.length] = { o: o, h: h} };

function compareOptionText(a, b) {
    return a.value != b.value ? a.value < b.value ? -1 : 1 : 0;
}

function sortOptions(ddl, sL) {
    var items = ddl.options.length;
    var tmpArray = new Array(items);

    for (var i = 0; i < items; i++)
        tmpArray[i] = new Option(ddl.options[i].text, ddl.options[i].value);

    tmpArray.sort(compareOptionText);

    for (var i = 0; i < items; i++) {
        ddl.options[i] = new Option(tmpArray[i].text, tmpArray[i].value);
        ddl.options[i].selected = (ddl.options[i].value == sL);
    }
}

function showLocations(region, sL, ddl) {
    var ddl = document.getElementById('ddlLocation');

    while (ddl.options.length > 0)
        ddl[0] = null;

    ddl.options.add(new Option('All locations:', ''));

    for (var iR = 0; iR < r.length; iR++) {
        if (region == '' || r[iR] == region) {
            for (var iL = 0; iL < l[iR].length; iL++) {
                ddl.options.add(new Option(l[iR][iL], l[iR][iL]));

                if (l[iR][iL] == sL)
                    ddl.options[ddl.options.length - 1].selected = true;
            }

            if (region != '')
                break;
        }
    }

    sortOptions(ddl, sL);

    var isVisible = true;
    var e = ddl;

    while (e != null) {
        if (e.style && e.style.display == 'none') {
            isVisible = false;
            break;
        }

        e = e.parentElement;
    }

    if (isVisible)
        ddl.focus();

    return;
}

function displayOptions(oTypes, div, msg) {

    var types = new Array();

    for (var i = 0; i < oTypes.length; i++) {
        if (oTypes[i].type != 'text') {
            if (oTypes[i].options != null) {
                for (var o = 0; o < oTypes[i].options.length; o++) {
                    if (oTypes[i].options[o].selected)
                        types[types.length] = '<nobr>' + oTypes[i].options[o].text + '</nobr> ';
                }
            }
            else if (oTypes[i].checked) {
                types[types.length] = '<nobr>' + oTypes[i].value + '</nobr> ';
            }
        }
        else if (oTypes[i].value.trim() != '')
            types[types.length] = '<nobr>' + oTypes[i].value + '</nobr> ';
    }

    if (types.length == 0)
        types[0] = msg;

    div.innerHTML = types.join('; ');

    updateAdvancedOptions();
}

function clearOptions(oTypes, div, msg) {
    for (var i = 0; i < oTypes.length; i++) {
        oTypes[i].checked = false;
    }
    displayOptions(oTypes, div, msg);
}

function selectOptions(oTypes, div, msg) {
    for (var i = 0; i < oTypes.length; i++) {
        oTypes[i].checked = true;
    }
    displayOptions(oTypes, div, msg);
}

function updateAdvancedOptions() {
    var msg = '';

    var locations = new Array();
    var oLocations = document.getElementsByName('Location');
    for (var i = 0; i < oLocations.length; i++) {
        if (oLocations[i].checked)
            locations[locations.length] = '<nobr>' + oLocations[i].value + '</nobr> ';
    }

    if (locations.length > 0) {
        if (msg.length > 0)
            msg += '<div style="width: 100%; height: 1px; border-top: dotted 1px #ffffff; overflow: hidden; margin: 4px 0 1px 0"></div>';
        msg += '<table width="100%" style="color: #ffffff" cellpadding="0" cellspacing="0" border="0"><tr title="Edit" onclick="toggleAdvancedOptions(document.getElementById(\'aToggleAdvancedOptions\')); showOptions(document.getElementById(\'tblLocations\'))" onmouseover="this.style.textDecoration = \'underline\'" onmouseout="this.style.textDecoration = \'\'"><td width="150" style="color: #ffffff"><b>Locations</b>:&nbsp;</td><td style="color: #ffffff">' + locations.join('; ') + '</td></tr></table>';
    }

    var types = new Array();
    var oTypes = document.getElementsByName('Type');
    for (var i = 0; i < oTypes.length; i++) {
        if (oTypes[i].checked)
            types[types.length] = '<nobr>' + oTypes[i].value + '</nobr> ';
    }

    if (types.length > 0) {
        if (msg.length > 0)
            msg += '<div style="width: 100%; height: 1px; border-top: dotted 1px #ffffff; overflow: hidden; margin: 4px 0 1px 0"></div>';
        msg += '<table width="100%" style="color: #ffffff" cellpadding="0" cellspacing="0" border="0"><tr title="Edit" onclick="toggleAdvancedOptions(document.getElementById(\'aToggleAdvancedOptions\')); showOptions(document.getElementById(\'tblTypes\'))" onmouseover="this.style.textDecoration = \'underline\'" onmouseout="this.style.textDecoration = \'\'"><td width="150" style="color: #ffffff"><b>Accommodation Types</b>:&nbsp;</td><td style="color: #ffffff">' + types.join('; ') + '</td></tr></table>';
    }

    var settings = new Array();
    var oSettings = document.getElementsByName('Setting');
    for (var i = 0; i < oSettings.length; i++) {
        if (oSettings[i].checked)
            settings[settings.length] = '<nobr>' + oSettings[i].value + '</nobr> ';
    }

    if (settings.length > 0) {
        if (msg.length > 0)
            msg += '<div style="width: 100%; height: 1px; border-top: dotted 1px #ffffff; overflow: hidden; margin: 4px 0 1px 0"></div>';
        msg += '<table width="100%" style="color: #ffffff" cellpadding="0" cellspacing="0" border="0"><tr title="Edit" onclick="toggleAdvancedOptions(document.getElementById(\'aToggleAdvancedOptions\')); showOptions(document.getElementById(\'tblSettings\'))" onmouseover="this.style.textDecoration = \'underline\'" onmouseout="this.style.textDecoration = \'\'"><td width="150" style="color: #ffffff"><b>Settings</b>:&nbsp;</td><td style="color: #ffffff">' + settings.join('; ') + '</td></tr></table>';
    }

    var facilities = new Array();
    var oFacilities = document.getElementsByName('Facility');
    for (var i = 0; i < oFacilities.length; i++) {
        if (oFacilities[i].checked)
            facilities[facilities.length] = '<nobr>' + oFacilities[i].value + '</nobr> ';
    }

    if (facilities.length > 0) {
        if (msg.length > 0)
            msg += '<div style="width: 100%; height: 1px; border-top: dotted 1px #ffffff; overflow: hidden; margin: 4px 0 1px 0"></div>';
        msg += '<table width="100%" style="color: #ffffff" cellpadding="0" cellspacing="0" border="0"><tr title="Edit" onclick="toggleAdvancedOptions(document.getElementById(\'aToggleAdvancedOptions\')); showOptions(document.getElementById(\'tblFacilities\'))" onmouseover="this.style.textDecoration = \'underline\'" onmouseout="this.style.textDecoration = \'\'"><td width="150" style="color: #ffffff"><b>Facilities</b>:&nbsp;</td><td style="color: #ffffff">' + facilities.join('; ') + '</td></tr></table>';
    }

    var operators = new Array();
    var oOperators = document.getElementsByName('Operator');
    for (var i = 0; i < oOperators.length; i++) {
        if (oOperators[i].type != 'text') {
            if (oOperators[i].checked)
                operators[operators.length] = '<nobr>' + oOperators[i].value + '</nobr> ';
        }
        else
            if (oOperators[i].value.trim() != '')
                operators[operators.length] = '<nobr>' + oOperators[i].value + '</nobr> ';
    }

    if (operators.length > 0) {
        if (msg.length > 0)
            msg += '<div style="width: 100%; height: 1px; border-top: dotted 1px #ffffff; overflow: hidden; margin: 4px 0 1px 0"></div>';
        msg += '<table width="100%" style="color: #ffffff" cellpadding="0" cellspacing="0" border="0"><tr title="Edit" onclick="toggleAdvancedOptions(document.getElementById(\'aToggleAdvancedOptions\')); showOptions(document.getElementById(\'tblOperators\'))" onmouseover="this.style.textDecoration = \'underline\'" onmouseout="this.style.textDecoration = \'\'"><td width="150" style="color: #ffffff"><b>Business Names</b>:&nbsp;</td><td style="color: #ffffff">' + operators.join('; ') + '</td></tr></table>';
    }

    var sortorders = new Array();
    var oSortOrders = document.getElementsByName('SortOrder');

    for (var i = 0; i < oSortOrders.length; i++) {
        if (oSortOrders[i].checked)
            sortorders[sortorders.length] = '<nobr>' + oSortOrders[i].value + '</nobr> ';
    }

    if (sortorders.length > 0) {
        if (msg.length > 0)
            msg += '<div style="width: 100%; height: 1px; border-top: dotted 1px #ffffff; overflow: hidden; margin: 4px 0 1px 0"></div>';
        msg += '<table width="100%" style="color: #ffffff" cellpadding="0" cellspacing="0" border="0"><tr title="Edit" onclick="toggleAdvancedOptions(document.getElementById(\'aToggleAdvancedOptions\')); showOptions(document.getElementById(\'tblSortOrder\'))" onmouseover="this.style.textDecoration = \'underline\'" onmouseout="this.style.textDecoration = \'\'"><td width="150" style="color: #ffffff"><b>Sort Order</b>:&nbsp;</td><td style="color: #ffffff">' + sortorders.join('; ') + '</td></tr></table>';
    }

    if (msg == '')
        msg += '<div style="width: 100%; height: 100%" onclick="toggleAdvancedOptions(document.getElementById(\'aToggleAdvancedOptions\'))">No advanced search options currently selected</div>';

    document.getElementById('divAdvancedOptions').innerHTML = msg;
}

function showOptions(e, allowToggle) {

    if (document.getElementById('tblLocations') && e.id != 'tblLocations') hideOptions(document.getElementById('tbLocations'), document.getElementById('tblLocations'));
    if (document.getElementById('tblTypes') && e.id != 'tblTypes') hideOptions(document.getElementById('tbTypes'), document.getElementById('tblTypes'));
    if (document.getElementById('tblSettings') && e.id != 'tblSettings') hideOptions(document.getElementById('tbSettings'), document.getElementById('tblSettings'));
    if (document.getElementById('tblFacilities') && e.id != 'tblFacilities') hideOptions(document.getElementById('tbFacilities'), document.getElementById('tblFacilities'));
    if (document.getElementById('tblOperators') && e.id != 'tblOperators') hideOptions(document.getElementById('tbOperators'), document.getElementById('tblOperators'));
    if (document.getElementById('tblSortOrder') && e.id != 'tblSortOrder') hideOptions(document.getElementById('tbSortOrder'), document.getElementById('tblSortOrder'));

    e.style.visibility = allowToggle ? (e.style.visibility == 'visible' ? 'hidden' : 'visible') : 'visible';
    e.style.display = allowToggle ? (e.style.display == (document.all ? 'block' : 'table-cell') ? 'none' : (document.all ? 'block' : 'table-cell')) : (document.all ? 'block' : 'table-cell');

    if (e.style.visibility == 'visible') {
        if (e.all) {
            for (var i = 0; i < e.all.length; i++) {
                if (e.all[i].tagName.toUpperCase() == 'INPUT' || e.all[i].tagName.toUpperCase() == 'TEXTAREA') {
                    if (e.all[i].type.toUpperCase() != 'HIDDEN') {
                        e.all[i].focus();
                        e.all[i].select();
                        break;
                    }
                }
            }
        }
    }
}

function hideOptions(tb, tbl) {
    tbl.style.visibility = 'hidden';
    tbl.style.display = 'none';
}

function toggleAdvancedOptions(e) {
    var tblAdvancedOptions = document.getElementById('tblAdvancedOptions');
    var divAdvancedOptions = document.getElementById('divAdvancedOptions');
    var isVisible = tblAdvancedOptions.style.visibility == 'visible';

    if (!isVisible) {
        if (document.getElementById('tblLocations')) hideOptions(document.getElementById('tbLocations'), document.getElementById('tblLocations'));
        if (document.getElementById('tblTypes')) hideOptions(document.getElementById('tbTypes'), document.getElementById('tblTypes'));
        if (document.getElementById('tblSettings')) hideOptions(document.getElementById('tbSettings'), document.getElementById('tblSettings'));
        if (document.getElementById('tblFacilities')) hideOptions(document.getElementById('tbFacilities'), document.getElementById('tblFacilities'));
        if (document.getElementById('tblOperators')) hideOptions(document.getElementById('tbOperators'), document.getElementById('tblOperators'));
        if (document.getElementById('tblSortOrder')) hideOptions(document.getElementById('tbSortOrder'), document.getElementById('tblSortOrder'));
    }

    tblAdvancedOptions.style.visibility = isVisible ? 'hidden' : 'visible';
    tblAdvancedOptions.style.display = isVisible ? 'none' : 'block';
    divAdvancedOptions.style.visibility = !isVisible ? 'hidden' : 'visible';
    divAdvancedOptions.style.display = !isVisible ? 'none' : 'block';
    e.innerHTML = isVisible ? 'Advanced Search Options' : 'Hide Advanced Search Options';
}

function resetpage() {
    window.location = 'accommodationbooking1.asp';
    return false;
}

function getStateID(v) { for (var i = 0; i < states.length; i++) { if (states[i] == v) return i; } return null; }

function showLocations(v) {
    var index = getStateID(v);
    var e = document.getElementById('selectlocation');

    while (e.options.length > 0) e.options[0] = null;
    if (index != null) {
        e.options.add(new Option('- Select Location -', ''));

        if (l[index] != null) {
            for (var i = 0; i < l[index].length; i++)
                e.options.add(new Option(l[index][i][1], l[index][i][0]));

        }
    }

    e.disabled = e.options.length == 0;
    if (!e.disabled) e.focus();

}

function showRegions(v) {
    var index = getStateID(v);
    var e1 = document.getElementById('selectregion');

    while (e1.options.length > 0)
        e1.options[0] = null;
    if (index != null) {
        e1.options.add(new Option('- Select Region -', ''));
        for (var i = 0; i < r[index].length; i++)
            e1.options.add(new Option(r[index][i][1], r[index][i][0]));
    }
    e1.disabled = e1.options.length == 0;
    if (!e1.disabled) e1.focus();
}

function showRegionsInit(v) {
    var index = getStateID(v);
    var e1 = document.getElementById('selectregion') //session("sessshowregion")

    while (e1.options.length > 0) e1.options[0] = null;
    if (index != null) {
        for (var i = 0; i < r[index].length; i++)
            e1.options.add(new Option(r[index][i][1], r[index][i][0]));
    }
    e1.disabled = e1.options.length == 0;
    if (!e1.disabled) e1.focus();
}

function resetdate() {
    document.getElementById('addindate').value = '';
    return true;
}

function filldate() {
    if (document.getElementById('addindate').value == "") {
        document.getElementById('addindate').value = '<%= Date() %>';

        return true;
    }
    else {
        var today = new Date();
        checkdate = today.getDate() + "/" + (today.getMonth() + 1) + "/" + today.getYear();
        diff = document.getElementById('addindate').value - checkdate;

        if (diff < 0)
            alert('You may only search for availability from todays date forward');
        else
            return true;
    }
}

function clearList(v) {
    var e = document.getElementById(v);

    while (e.options.length > 0)
        e.options[0] = null;
}

function getValues(v, url) {
    if (ifData.window)
        ifData.window.location = url + '&ID=' + v;
    else
        ifData.src = url + '&ID=' + v;

}

function addItem(v, text, value) {
    var e = document.getElementById(v);
    var o = new Option();

    o.text = text;
    o.value = value;

    e.options.add(o);

    for (i = 0; i < document.getElementById('selectlocation').length; i++) {

        if (document.getElementById('selectlocation').options[i].value == '<%=currentLocation%>') {

            document.getElementById('selectlocation').options[i].selected = true
        }
    }
}


