function GetParam(name) {
    var start = location.hash.indexOf("#" + name + "=");
    if (start < 0) start = location.hash.indexOf("&" + name + "=");
    if (start < 0) return '';
    start += name.length + 2;
    var end = location.hash.indexOf("&", start) - 1;
    if (end < 0) end = location.hash.length;
    var result = location.hash.substring(start, end);
    var result = '';
    for (var i = start; i <= end; i++) {
        var c = location.hash.charAt(i);
        result = result + (c == '+' ? ' ' : c);
    }
    return unescape(result);
}

function searchOnLoad() {
    var country = parseInt(GetParam('country'));
    var tocity = parseInt(GetParam('tocity'));
    var dateFrom = GetParam('dateFrom');
    var paramsCount = 0;
    if (country) {
        document.getElementById('country' + country).checked = true;
        selectCheckBox('country' + country, country, 'country');
        paramsCount++;
    }
    if (tocity) {
        document.getElementById('tocity' + tocity).checked = true;
        selectCheckBox('tocity' + tocity, tocity, 'tocity');
        paramsCount++;
    }
    if (dateFrom) {
        document.getElementById('theDate2').value = dateFrom;
        paramsCount++;
    }
    if (paramsCount)
        GoToResult(0, '');
}


function doLoad(force) {
    var hotelArray = '' + GetValuesOfMultiple('hotelKey');
    var resortArray = '' + GetValuesOfMultiple('resortKey');
    var price = '' + document.getElementById('price').value;
    var minprice = '' + document.getElementById('minprice').value;
    var nights = '' + document.getElementById('nights').value;
    var nights_label = '' + document.getElementById('nights_label').value;
    var pagenum = '' + document.getElementById('pagenum').value;
    var dateFrom = '' + document.getElementById('theDate2').value;
    if (!document.getElementById('hotelKey').disabled == true)
        var hotelKey = '' + document.getElementById('hotelKey').value;
    else var hotelKey = '000';
    var adult = '' + document.getElementById('adult').value;
    var child = '' + document.getElementById('child').value;
    var pm = '' + document.getElementById('pm').value;
    var stars = '' + document.getElementById('stars').value;
    var board = '' + document.getElementById('board').value;
    var sorter	= '' + document.getElementById('sorter').value;
    var fromcity = '' + document.getElementById('fromcity').value;
    var tocity = '' + document.getElementById('tocity').value;
    var country = '' + document.getElementById('country').value;
    //		var roomcat	= '' + document.getElementById('roomcat').value;
    var rows = '' + document.getElementById('rows').value;
    var ttype = '' + document.getElementById('ttype').value;
    var spokey = '' + document.getElementById('spokey').value;
    var lr = '' + document.getElementById('lr').value;
    var pr = '' + document.getElementById('pr').value;
    var p = '' + document.getElementById('p').value;
    var ch1 = '' + document.getElementById('ch1').value;
    var ch2 = '' + document.getElementById('ch2').value;
    var ch3 = '' + document.getElementById('ch3').value;
    var resort = '' + document.getElementById('resort').value;
    var fav = '' + document.getElementById('fav').value;
    var uid = '' + document.getElementById('uid').value;
    if (document.getElementById('bonus').checked == true)
        var bonus = '1';
    else var bonus = '0';
    if (document.getElementById('openonly').checked == true)
        var openonly = '1';
    else var openonly = '0';
    var req = new Subsys_JsHttpRequest_Js();

    document.getElementById('global_result_container').style.visibility = 'visible';

    var search_result_container;
    if (fav == 1)
        search_result_container = 'fav_result';
    else
        search_result_container = 'result';

    document.getElementById(search_result_container).innerHTML =
		'<br><table width=100% border=0 cellpadding=0 cellspacing=0 bgcolor=CCCCCC><tr><td colspan=5 align=center bgcolor=FFFFFF height=214>Идет поиск<br><img src=../images/progress2.gif></td></tr></table>';

    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            if (req.responseJS) {
                document.getElementById(search_result_container).innerHTML =
						'' + (req.responseJS.md5 || '');
            }
            document.getElementById('debug').innerHTML =
					req.responseText;
        }
    }
    req.caching = false;
    req.open('GET', 'first_events.aspx?test=abc', true);
    req.send({ spokey: spokey, uid: uid, fav: fav, bonus: bonus, price: price, resort: resort, ch1: ch1, ch2: ch2, ch3: ch3, openonly: openonly, lr: lr, pr: pr, p: p, rows: rows, ttype: ttype, fromcity: fromcity, tocity: tocity, country: country, sorter: sorter, board: board, pm: pm, stars: stars, minprice: minprice, nights: nights, pagenum: pagenum, dateFrom: dateFrom, hotelKey: hotelKey, adult: adult, child: child, hotelArray: hotelArray, resortArray: resortArray, test: 303 });
}

var timeout = null;
function doLoadUp() {
    if (timeout) clearTimeout(timeout);
    timeout = setTimeout(doLoad, 100);
}

function GoToPage(num) {

    document.getElementById('pagenum').value = num;
    doLoad(true);
    if (num == 1) {
        document.getElementById('resultheader').innerHTML = '';
    }
    //doLoadHeader(true);
}
function GoToResult(num, mode) {
    if (num == 0) {
        document.getElementById('lr').value = 0;
        document.getElementById('p').value = 0;
        document.getElementById('pr').value = '';
    }
    else {
        document.getElementById('lr').value = num;
        if (mode == 'ffd') {
            document.getElementById('p').value = parseInt(document.getElementById('p').value) + 1;
            document.getElementById('pr').value += ',' + num;
            document.getElementById('pr').value = document.getElementById('pr').value.replace(new RegExp(',' + num + ',' + num, "g"), ',' + num);
        }
        else if (mode == 'back') {
            document.getElementById('p').value = parseInt(document.getElementById('p').value) - 1;
            temparr = document.getElementById('pr').value.split(",");
            temparr.pop();
            document.getElementById('pr').value = temparr;
        }
    }

    doLoad(true);
    tour_switchTab('result_tours', 'active');
    if (num == 0) {
        document.getElementById('resultheader').innerHTML = '';
    }
}

function ResetPage() {
    document.getElementById('pagenum').value = 1;
    document.getElementById('lr').value = "0";
}



function findPosX(obj) {
    var curleft = 0;
    if (obj.offsetParent) {
        while (obj.offsetParent) {
            curleft += obj.offsetLeft
            obj = obj.offsetParent;
        }
    }
    else if (obj.x)
        curleft += obj.x;
    return curleft;
}

function findPosY(obj) {
    var curtop = 0;
    if (obj.offsetParent) {
        while (obj.offsetParent) {
            curtop += obj.offsetTop
            obj = obj.offsetParent;
        }
    }
    else if (obj.y)
        curtop += obj.y;
    return curtop;
}

function getPageEventCoords(evt) {
    var coords = { left: 0, top: 0 };
    if (evt.pageX) {
        coords.left = evt.pageX;
        coords.top = evt.pageY;
    } else if (evt.clientX) {
        coords.left =
            evt.clientX + document.body.scrollLeft - document.body.clientLeft;
        coords.top =
            evt.clientY + document.body.scrollTop - document.body.clientTop;
        if (document.body.parentElement && document.body.parentElement.clientLeft) {
            var bodParent = document.body.parentElement;
            coords.left += bodParent.scrollLeft - bodParent.clientLeft;
            coords.top += bodParent.scrollTop - bodParent.clientTop;
        }
    }
    return coords;
}

function HideHotelSearch() {
    document.getElementById('hotelresult').style.display = 'none';
    document.getElementById('hotelresult').style.visiblity = 'hidden';
}
function SelectHotel(name, key) {
    document.getElementById('hotelName').value = name;
    document.getElementById('hotelKey').value = key;
    HideHotelSearch();
}


function selectCheckBox(senderid, paramvalue, destination) {
    var myInput = document.getElementById(destination);
    var myField = document.forms[0].elements[destination];
    if (paramvalue == 0) {
        if (document.getElementById(senderid).checked) CheckUnder(destination);
        myInput.value = '000';
        //	else uncheckAll(myField);
    }
    else {
        if (document.getElementById(senderid).checked) {
            myInput.value += ',:' + paramvalue + ':';
            myInput.value = myInput.value.replace(new RegExp(',:' + paramvalue + ':,:' + paramvalue + ':', "g"), ',:' + paramvalue + ':');
            document.getElementById(destination + '000').checked = false;
            myInput.value = myInput.value.replace(new RegExp('000', "g"), '');
            document.getElementById(senderid).style.background = "#66CCFF";
            document.getElementById(senderid).style.border = '1px dashed #66CCFF';
        }

        else {
            myInput.value = myInput.value.replace(new RegExp(':' + paramvalue + ':', "g"), '');
            myInput.value = myInput.value.replace(new RegExp('000', "g"), '');
            document.getElementById(senderid).style.background = "";
            document.getElementById(senderid).style.border = '';
        }
    }
    myInput.value = myInput.value.replace(new RegExp(',,', "g"), ',');
    var first_symbol = myInput.value.substr(0, (myInput.value.length - (myInput.value.length - 1)));
    if (first_symbol == ',') myInput.value = myInput.value.substr(1, myInput.value.length);
    var last_symbol = myInput.value.substr(myInput.value.length - 1, myInput.value.length);
    if (last_symbol == ',') myInput.value = myInput.value.substr(0, myInput.value.length - 1);
    if (destination == 'country' || destination == 'tocity' || destination == 'resort')
        dnmx(0);
    else if (destination == 'stars')
        dnmx(1);
}

function CheckUnder(id) {
    cols = document.getElementsByTagName('input');
    for (c = 0; c < cols.length; c++) {
        if (cols[c].getAttribute('c') == id) {
            cols[c].checked = false;
            cols[c].style.background = "";
            cols[c].style.border = '';
        }
    }
}

function highlight_div(checkbox_node) {
    label_node = checkbox_node.parentNode;

    if (checkbox_node.checked) {
        label_node.style.backgroundColor = '#0a246a';
        label_node.style.color = '#fff';
    }
    else {
        label_node.style.backgroundColor = '#fff';
        label_node.style.color = '#000';
    }
}

function ShowMyTooltip(key, nights) {
    document.getElementById('tooltip' + key).style.left = findPosX(document.getElementById('quote' + key)) - 32 * nights;
    document.getElementById('tooltip' + key).style.top = findPosY(document.getElementById('quote' + key)) - 45;
    document.getElementById('tooltip' + key).style.display = "block";
}

function HideMyTooltip(key) {
    document.getElementById('tooltip' + key).style.display = "none";
}

function CheckUncheckStar(element) {
    if (element.src = '../images/star_off_2.gif')
        element.src = '../images/star_on_2.gif';
    else if (element.src = '../images/star_on_2.gif')
        element.src = '../images/star_off_2.gif';
}

function UnlockHotelSelect() {
    if (document.getElementById('anyhotel').checked) {
        document.getElementById('hotelKey').disabled = true;
        document.getElementById('hotelKey').selectedIndex = -1;
    }
    else
        document.getElementById('hotelKey').disabled = false;
}

function UnlockResortSelect() {
    if (document.getElementById('anyresort').checked) {
        document.getElementById('resortKey').disabled = true;
        document.getElementById('resortKey').selectedIndex = -1;
        dnmx(2);
    }
    else {
        document.getElementById('resortKey').disabled = false;
    }

}
