var timeout = null;
function tTourTooltip(count, sender, txt) {
    if (timeout) clearTimeout(timeout);
    timeout = setTimeout(TourTooltip(count, sender, txt), 1000);
}
function pausecomp(millis) {
    date = new Date();
    var curDate = null;

    do { var curDate = new Date(); }
    while (curDate - date < millis);
}
function TourTooltip(count, sender, txt) {
    var tooltip = new Array(7);
    var message;
    tooltip[0] = 'Если эта опция включена, то поиск возвратит только те туры, в которых достаточное количество мест на авиарейсах и отелях.\nВ этом случае поиск может занять больше времени (от 5 секунд до 1 минуты).';
    tooltip[1] = 'Показано количество ВСЕХ туров, соответствующим параметрам поиска.\nКоличество туров, доступных для бронирования проверяется &laquo;на лету&raquo; и может быть меньше (в зависимости от наличия мест на авиарейсах и в отелях).';
    tooltip[2] = 'Указывайте количество ПОЛНЫХ лет, например, если ребенку 4 года и 11 месяцев - укажите 4 года.<br><br>Возрасты детей не являются обязательными параметрами, и служат для большей конкретизации параметров поиска. Если возрасты детей не введены - поиск найдет туры с указанным количеством взрослых и детей. <br><br><i>Количество полей ограничено до трех, если детей больше, чем 3 - поля ввода возрастов не выводятся.</i>';
    tooltip[3] = 'Показаны основные типы питания, объединенные в группы. В результах поиска выводятся туры с питанием, попадающим в выбранные группы.<br><br>Например, если выбрано UAL(Ultra All Inclusive) - поиск найдет туры с питанием Ultra All Inclusive, Fine All Inclusive, Superior All Inclusive и т.д.';
    tooltip[4] = 'Если Вы не знаете точной даты вылета или наличия мест на авиарейсах - укажите плюс-минус несколько дней. В этом случае поиск выдаст туры с вылетами раньше и позднее от указанной даты на указанное количество дней. <br><br>Для большего удобства в дополнение к этому параметру можно воспользоваться сортировкой по дате (находится внизу формы, левее кнопки &laquo;Найти&raquo;).';
    tooltip[5] = 'Обозначения для наличия мест в отелях:<br><br> <table border="0" cellpadding="2" cellspacing="1" bgcolor="#CCCCCC"><tr><td width="25" align="center" bgcolor="C1FAB8">+</td><td bgcolor="#FFFFFF">Есть места в отеле </td></tr><tr><td width="25" align="center" bgcolor="FFFFCC">?</td><td bgcolor="#FFFFFF">Под запрос </td></tr><tr><td width="25" align="center" bgcolor="FFFFCC">-?</td><td bgcolor="#FFFFFF">Под запрос</td></tr><tr><td width="25" align="center" bgcolor="FFAAAC">S</td><td bgcolor="#FFFFFF">Остановка продаж в отеле (Stop-sale) </td></tr></table>';
    tooltip[6] = 'Эта опция ориентирована на менеджеров туристических агентств и позволяет отображать напротив каждого тура количество бонусов, которыми поощряется бронирование этого тура.<br><br>Требуется ввод логина и пароля для Tour Online.<br><br>_25C4_25E5_25F2_25E0_25EB_25E8 _25ED_25E0 _25F1_25E0_25E9_25F2_25E5 www.turtes-bonus.com.ua';
    tooltip[7] = 'На данную комбинацию &laquo;ДатаВылета&nbsp;-&nbsp;ДатаВозврата&raquo; продажи остановлены.';
    pausecomp(250);

    if (txt == '') {
        message = tooltip[count];
    }
    else {
        message = txt;
    }

    document.getElementById('tourtooltiptxt').innerHTML = message;
    document.getElementById('tourtooltip').style.left = findPosX(sender) - 250;
    document.getElementById('tourtooltip').style.top = findPosY(sender) + 20;
    document.getElementById('tourtooltip').style.display = 'block';
    document.getElementById('tourtooltip').style.visibility = 'visible';
}
function HideTourTooltip(count, sender) {
    pausecomp(100);
    document.getElementById('tourtooltip').style.display = 'none';
    document.getElementById('tourtooltip').style.visibility = 'hidden';
}
function ChildrenAges(control) {
    var childs = control.value;
    if (childs == 1) {
        document.getElementById('chages').style.visibility = 'visible';
        document.getElementById('ch1div').style.visibility = 'visible';
        document.getElementById('ch1div').style.display = 'inline';
        document.getElementById('ch2div').style.visibility = 'hidden';
        document.getElementById('ch2div').style.display = 'none';
        document.getElementById('ch3div').style.visibility = 'hidden';
        document.getElementById('ch3div').style.display = 'none';
    }
    else if (childs == 2) {
        document.getElementById('chages').style.visibility = 'visible';
        document.getElementById('ch1div').style.visibility = 'visible';
        document.getElementById('ch1div').style.display = 'inline';
        document.getElementById('ch2div').style.visibility = 'visible';
        document.getElementById('ch2div').style.display = 'inline';
        document.getElementById('ch3div').style.visibility = 'hidden';
        document.getElementById('ch3div').style.display = 'none';
    }
    else if (childs == 3) {
        document.getElementById('chages').style.visibility = 'visible';
        document.getElementById('ch1div').style.visibility = 'visible';
        document.getElementById('ch1div').style.display = 'inline';
        document.getElementById('ch2div').style.visibility = 'visible';
        document.getElementById('ch2div').style.display = 'inline';
        document.getElementById('ch3div').style.visibility = 'visible';
        document.getElementById('ch3div').style.display = 'inline';
    }
    else {
        document.getElementById('chages').style.visibility = 'hidden';
        document.getElementById('ch1div').style.visibility = 'hidden';
        document.getElementById('ch1div').style.display = 'none';
        document.getElementById('ch2div').style.visibility = 'hidden';
        document.getElementById('ch2div').style.display = 'none';
        document.getElementById('ch3div').style.visibility = 'hidden';
        document.getElementById('ch3div').style.display = 'none';
    }
    document.getElementById('ch1').value = '';
    document.getElementById('ch2').value = '';
    document.getElementById('ch3').value = '';
}
function dnmx(hotelNamePart) {
    var hotelNamePart;
    var resortArray = '' + GetValuesOfMultiple('resortKey');
    var price = '' + document.getElementById('price').value;
    var minprice = '' + document.getElementById('minprice').value;
    var nights = '' + document.getElementById('nights').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 = 'p1';
    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 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 htlname = '' + document.getElementById('htlname').value;
    if (document.getElementById('anyhotel').checked == true)
        var anyhotel = '1';
    else var anyhotel = '0';
    if (document.getElementById('anyresort').checked == true)
        var anyresort = '1';
    else var anyresort = '0';
    if (document.getElementById('openonly').checked == true)
        var openonly = '1';
    else var openonly = '0';
    var req = new Subsys_JsHttpRequest_Js();

    req.onreadystatechange = function() {
        //            document.forms['searchform'].hotelKey.options.length = 0;
        //            document.forms['searchform'].hotelKey.options[0] = new Option('Подождите, идет обновление списка','');
        if (req.readyState == 4) {
            if (req.responseJS) {
                //alert(req.responseJS.md5);
                if (req.responseJS.hotelHTML) {
                    document.getElementById('div_hotelKey').innerHTML = req.responseJS.hotelHTML;
                    if (hotelNamePart == 0)
                        document.getElementById('div_resortKey').innerHTML = req.responseJS.resortHTML;
                }
            }
            document.getElementById('debug').innerHTML =
					req.responseText;
        }
    }
    req.caching = false;
    req.open('GET', 'dnmx.aspx?test=abc', true);
    req.send({ htlname: htlname, price: price, resort: resort, anyhotel: anyhotel, ch1: ch1, ch2: ch2, ch3: ch3, openonly: openonly, lr: lr, pr: pr, p: p, rows: rows, 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, anyresort: anyresort, resortArray: resortArray, hotelNamePart: hotelNamePart, test: 303 });
}

function checkLogin(obj) {
    if (obj.checked == true) {
        obj.checked = false;
        var req = new Subsys_JsHttpRequest_Js();

        req.onreadystatechange = function() {
            if (req.readyState == 4) {
                if (req.responseJS) {
                    var UK = '' + (req.responseJS.UK || '');
                    //alert(UK);
                    if (parseInt(UK) == 0) {
                        doLogin();
                    }
                    else obj.checked = true;

                }
                document.getElementById('debug').innerHTML =
					req.responseText;
            }
        }
        req.caching = false;
        req.open('POST', '../doLogin.aspx?test=abc', true);
        req.send({ test: 303 });
    }
    else document.getElementById('login').style.display = 'none';

}
function doLogin() {
    var width = 250;
    var height = 100;
    if (parseInt(navigator.appVersion) >= 4) {
        var screenWidth = screen.width;
        var screenHeight = screen.height;
        var x = (screenWidth - width) / 2;
        var y = (screenHeight - height - 100) / 2;
    }
    document.getElementById('login').style.top = y;
    document.getElementById('login').style.left = x;
    document.getElementById('login').style.width = width;
    document.getElementById('login').style.height = height;
    document.getElementById('login').style.display = 'block';
    document.getElementById('l').focus();
}
function sendLogin() {
    var l = document.getElementById('l').value;
    var passw = document.getElementById('passw').value;
    var req = new Subsys_JsHttpRequest_Js();

    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            if (req.responseJS) {
                var UserKey = req.responseJS.UK;
                if (parseInt(UserKey) == 1) {
                    document.getElementById('login').style.display = 'none';
                    document.getElementById('bonus').checked = true;
                    document.getElementById('l').value = '';
                    document.getElementById('passw').value = '';
                }
                else {
                    alert('Вы ввели неправильный логин или пароль');
                    document.getElementById('l').focus();
                }
            }
            document.getElementById('debug').innerHTML =
					req.responseText;
        }
    }
    req.caching = false;
    req.open('POST', '../doLogin.aspx?test=abc', true);
    req.send({ test: 303, passw: passw, l: l });
}
function noLogin() {
    document.getElementById('login').style.display = 'none';
    document.getElementById('bonus').checked = false;
    document.getElementById('l').value = '';
    document.getElementById('passw').value = '';
}
function enterLogin(event) {
    var keycode;
    if (window.event) keycode = window.event.keyCode;
    if (keycode == 13)
        sendLogin();
}

function GetValuesOfMultiple(id) {
    var selectedArray = new Array();
    var selObj = document.getElementById(id);
    var i;
    var count = 0;
    for (i = 0; i < selObj.options.length; i++) {
        if (selObj.options[i].selected) {
            selectedArray[count] = selObj.options[i].value;
            count++;
        }
    }
    return selectedArray;
}
function tour_FavoriteTour(key, udate, mode) {
    var img = document.getElementById('star' + mode + key);
    var uid = document.getElementById('uid').value;
    var srcArr = new Array();
    var state;
    srcArr = img.src.split('/');
    var imgName = srcArr[srcArr.length - 1];
    //alert(imgName);
    if (imgName == 'star_off_2.gif') {
        img.src = 'star_on_2.gif';
        state = 1;
    }
    else if (imgName == 'star_on_2.gif') {
        img.src = 'star_off_2.gif';
        state = 0;
    }

    tour_SaveStar(uid, key, state, udate);
}

function tour_SaveStar(uid, uniqtourkey, state, udate) {
    var req = new Subsys_JsHttpRequest_Js();

    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            if (req.responseJS) {
                var UK = '' + (req.responseJS.UK || '');
                if (parseInt(UK) == 0) {
                    doLogin();
                }
                else obj.checked = true;

            }
            document.getElementById('debug').innerHTML =
					req.responseText;
        }
    }
    req.caching = false;
    req.open('POST', '../doSaveStar.aspx?test=abc', true);
    req.send({ test: 303, uid: uid, uniqtourkey: uniqtourkey, state: state, udate: udate });
}

function tour_ClearFav() {
    if (confirm("Вы действительно хотите удалить все Ваши Избранные туры?")) {
        var uid = document.getElementById('uid').value;
        var req = new Subsys_JsHttpRequest_Js();

        req.onreadystatechange = function() {
            if (req.readyState == 4) {
                if (req.responseJS) {
                    var UK = '' + (req.responseJS.UK || '');
                    if (parseInt(UK) == 0)
                        alert('Возникла ошибка. Попробуйте еще раз.');
                    else if (parseInt(UK) == 1)
                        alert('Все избранные туры удалены.');
                    doLoad(true);
                }
                document.getElementById('debug').innerHTML =
					req.responseText;
            }
        }
        req.caching = false;
        req.open('POST', '../doClearStar.aspx?test=abc', true);
        req.send({ test: 303, uid: uid });
    }
}


function tour_EmailFav() {
    alert('Извините, эта функция еще на стадии тестирования и будет доступна в течении нескольких дней.');
}
function tour_PrintFav() {
    alert('Извините, эта функция еще на стадии тестирования и будет доступна в течении нескольких дней.');
}
function tour_ExportFav() {
    alert('Извините, эта функция еще на стадии тестирования и будет доступна в течении нескольких дней.');
}


function tour_switchTab(tab, mode) {
    if (tab != 'result_tours') {
        document.getElementById('result_tours').style.display = 'none';
        document.getElementById('tab_result_tours').className = 'tab_unselected';
        document.getElementById('fav').value = 1;
    }
    if (tab != 'fav_tours') {
        document.getElementById('fav_tours').style.display = 'none';
        document.getElementById('tab_fav_tours').className = 'tab_unselected';
        document.getElementById('fav').value = 0;
    }

    document.getElementById(tab).style.display = 'block';
    document.getElementById('tab_' + tab).className = 'tab_selected';
    //if(tab == 'fav_tours' || mode == 'active')
    //doLoad(true);
}
