﻿
var isHiddenInited = false;
var slider_maxValue = ('uah' == searchParams['currency'] ? 10000 : 1000);

if ('ru' == gL) {
	YAHOO.widget.Button.prototype.CHECKBOX_DEFAULT_TITLE = "Выберите";
	YAHOO.widget.Button.prototype.CHECKBOX_CHECKED_TITLE = "Выбрано";
	YAHOO.widget.Button.prototype.RADIO_DEFAULT_TITLE = "Выберите";
	YAHOO.widget.Button.prototype.RADIO_CHECKED_TITLE = "Выбрано";
	YAHOO.widget.Button.prototype.MENUBUTTON_DEFAULT_TITLE = "Выберите значение";
	YAHOO.widget.Button.prototype.MENUBUTTON_MENU_VISIBLE_TITLE = "Выберите значение";
}

function onAdvancedSearch() {
	formEl = YAHOO.util.Dom.get("advanced-search-form");
	if ('none' == formEl.style.display) {
		formEl.style.display = '';
		document.getElementById('search-advanced-btn').innerHTML = 'Скрыть поиск';
		if (!isHiddenInited)
			initHiddenDependent();
	} else {
		formEl.style.display = 'none';		
		document.getElementById('search-advanced-btn').innerHTML = 'Расширенный&nbsp;поиск';
	};
	return false;
}

function openOrderForm(I_tourId) {
	try {
		r = window.open('/tours/order/' + I_tourId, 
					'tour_order_' + I_tourId, 
					'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=400,height=500,left = 540,top = 100');
		if (!r)
			return true;
		return false;
	} catch (e) {
		return true;		
	}
}

function openHotelOrderForm(I_city, I_name) {
	ourl = '/order-hotel/?_city=' + I_city + '&_name=' + I_name;
	if (arguments.length > 2) {
		ourl = ourl + '&lang=' + arguments[2];		
	}
	try {
		r = window.open(ourl, 
					'order_hotel', 
					'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=600,height=580,left = 540,top = 100');
		if (!r)
			return true;
		return false;
	} catch (e) {
	alert(e)
		return true;		
	}
}

function initHiddenDependent() {
    YAHOO.namespace('search');

    var Dom = YAHOO.util.Dom;

    // Slider has a range of 200 pixels
    var range = 120;

    // No ticks for this search
    var tickSize = 0;

    // We'll set a minimum distance the thumbs can be from one another
    var minThumbDistance = 10;

    // Initial values for the thumbs

	if ((searchParams['price_from']) != '' && (searchParams['price_to']) != '') {
		//min = Math.min(searchParams['price_from'],range - 20);
		//max = Math.max(Math.min(searchParams['price_to'],range),min + minThumbDistance);
		min = Math.round(
				searchParams['price_from'] / (slider_maxValue / (range - 20) )
			);
		max = Math.round(
				parseInt(searchParams['price_to']) / (slider_maxValue / (range - 20) )
			);
		var initValues = [min,max];
	} else {
		var initValues = [9,120];		
	}
    // Conversion factor from 0-200 pixels to 100-1000
    // Note 20 pixels are subtracted from the range to account for the
    // thumb values calculated from their center point (10 pixels from
    // the center of the left thumb + 10 pixels from the center of the
    // right thumb)
    //var cf = 900/(range - 20);

    // Set up a function to convert the min and max values into something useful
    var convert = function (val) {
		var cf = (slider_maxValue)/(range - 20);
        return Math.round(val * cf);
    };

    // Slider set up is done when the DOM is ready
    YAHOO.util.Event.onContentReady('advanced-search-form', function () {
        var demo_bg = Dom.get("demo_bg"),
            info    = Dom.get("demo_info"),
            from    = Dom.get("demo_from"),
            to      = Dom.get("demo_to");

        // Create the DualSlider
        var slider = YAHOO.widget.Slider.getHorizDualSlider(demo_bg,
            "demo_min_thumb", "demo_max_thumb",
            range, tickSize, initValues);

        slider.minRange = minThumbDistance;

        // Custom function to update the text fields, the converted value
        // report and the slider's title attribute
        var updateUI = function () {
            //from.value = slider.minVal;
            //to.value   = slider.maxVal;

            // Update the converted values and the slider's title.
            // Account for the thumb width offsetting the value range by
            // subtracting the thumb width from the max value.
            var min = convert(slider.minVal),
                max = convert(slider.maxVal);

            /*info.innerHTML = "От: <strong>" + min + "</strong><br>" +
                             "До: <strong>" + max + "</strong>";
            demo_bg.title  = "Текущий бюджет " + min + " - " + max;*/
			info.innerHTML = "Бюджет <b>" + min + " - " + max + "</b>";
			Dom.get("price_from").value = min;
			Dom.get("price_to").value = max;
        };

        // Subscribe to the dual thumb slider's change and ready events to
        // report the state.
        slider.subscribe('ready', updateUI);
        slider.subscribe('change', updateUI);

        // Wire up the button to update the slider
        /*YAHOO.util.Event.on('demo_btn','click',function () {
            // Get the int values from the inputs
            var min = Math.abs(parseInt(from.value,10)|0),
                max = Math.abs(parseInt(to.value,10)|0);

            if (min > max) {
                var hold = min;
                min = max;
                max = hold;
            }

            // Verify the values are in range
            min = Math.min(min,range - 30);
            max = Math.max(Math.min(max,range),min + 20 + minThumbDistance);

            // Set the new values on the slider
            slider.setValues(min,max);
        });*/
        // Attach the slider to the YAHOO.example namespace for public probing
        YAHOO.search.slider = slider;
		isHiddenInited = true;
    });
}

YAHOO.util.Event.onContentReady('advanced-search-form', function () {
	YAHOO.namespace('search');
        function onButtonClick() {
            var oCalendar = new YAHOO.widget.Calendar("buttoncalendar", oCalendarMenu.body.id);
			if ('ru' == gL) {
				oCalendar.cfg.setProperty("START_WEEKDAY", "1"); 
				oCalendar.cfg.setProperty("DATE_FIELD_DELIMITER", "."); 

				oCalendar.cfg.setProperty("MDY_DAY_POSITION", 1); 
				oCalendar.cfg.setProperty("MDY_MONTH_POSITION", 2); 
				oCalendar.cfg.setProperty("MDY_YEAR_POSITION", 3); 

				oCalendar.cfg.setProperty("MD_DAY_POSITION", 1); 
				oCalendar.cfg.setProperty("MD_MONTH_POSITION", 2); 
				oCalendar.cfg.setProperty("MONTHS_SHORT",   ["Янв", "Фев", "Март", "Апр", "Май", "Июнь", "Июль", "Авг", "Сен", "Окт", "Ноябрь", "Дек"]); 
				oCalendar.cfg.setProperty("MONTHS_LONG",    ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"]); 
				oCalendar.cfg.setProperty("WEEKDAYS_1CHAR", ["В", "П", "В", "С", "Ч", "Пт", "Сб"]); 
				oCalendar.cfg.setProperty("WEEKDAYS_SHORT", ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"]); 
				oCalendar.cfg.setProperty("WEEKDAYS_MEDIUM",["Вскр", "Пнд", "Вт", "Ср", "Чт", "Птн", "Сбт"]); 
				oCalendar.cfg.setProperty("WEEKDAYS_LONG",  ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота"]);
		}
            oCalendar.render();
            oCalendar.changePageEvent.subscribe(function () {                
                window.setTimeout(function () {
                    oCalendarMenu.show();
                }, 0);
            });
            oCalendar.selectEvent.subscribe(function (p_sType, p_aArgs) {
                var aDate;
                if (p_aArgs) {
                    aDate = p_aArgs[0][0];
                    YAHOO.util.Dom.get("month-field").value = aDate[1];
                    YAHOO.util.Dom.get("day-field").value = aDate[2];
                    YAHOO.util.Dom.get("year-field").value = aDate[0];
                }
                oCalendarMenu.hide();
            });
            this.unsubscribe("click", onButtonClick);
        }
        var oCalendarMenu = new YAHOO.widget.Overlay("calendarmenu", { visible: false });
        var oButton = new YAHOO.widget.Button({ 
                                            type: "menu", 
                                            id: "calendarpicker", 
                                            label: "Дата", 
                                            menu: oCalendarMenu, 
                                            container: "datefields" });

		oButton.on("appendTo", function () {
			oCalendarMenu.setBody("&#32;");
			oCalendarMenu.body.id = "calendarcontainer";
			oCalendarMenu.render(this.get("container"));		
        });
        oButton.on("click", onButtonClick);    

        function onButtonClick2() {
            var oCalendar2 = new YAHOO.widget.Calendar("buttoncalendar2", oCalendarMenu2.body.id);
			if ('ru' == gL) {
				oCalendar2.cfg.setProperty("START_WEEKDAY", "1"); 
				oCalendar2.cfg.setProperty("DATE_FIELD_DELIMITER", "."); 

				oCalendar2.cfg.setProperty("MDY_DAY_POSITION", 1); 
				oCalendar2.cfg.setProperty("MDY_MONTH_POSITION", 2); 
				oCalendar2.cfg.setProperty("MDY_YEAR_POSITION", 3); 

				oCalendar2.cfg.setProperty("MD_DAY_POSITION", 1); 
				oCalendar2.cfg.setProperty("MD_MONTH_POSITION", 2); 
				oCalendar2.cfg.setProperty("MONTHS_SHORT",   ["Янв", "Фев", "Март", "Апр", "Май", "Июнь", "Июль", "Авг", "Сен", "Окт", "Ноябрь", "Дек"]); 
				oCalendar2.cfg.setProperty("MONTHS_LONG",    ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"]); 
				oCalendar2.cfg.setProperty("WEEKDAYS_1CHAR", ["В", "П", "В", "С", "Ч", "Пт", "Сб"]); 
				oCalendar2.cfg.setProperty("WEEKDAYS_SHORT", ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"]); 
				oCalendar2.cfg.setProperty("WEEKDAYS_MEDIUM",["Вскр", "Пнд", "Вт", "Ср", "Чт", "Птн", "Сбт"]); 
				oCalendar2.cfg.setProperty("WEEKDAYS_LONG",  ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота"]);
			}

            oCalendar2.render();
            oCalendar2.changePageEvent.subscribe(function () {                
                window.setTimeout(function () {
                    oCalendarMenu2.show();
                }, 0);
            });
            oCalendar2.selectEvent.subscribe(function (p_sType, p_aArgs) {
                var aDate;
                if (p_aArgs) {
                    aDate = p_aArgs[0][0];
                    YAHOO.util.Dom.get("month-field2").value = aDate[1];
                    YAHOO.util.Dom.get("day-field2").value = aDate[2];
                    YAHOO.util.Dom.get("year-field2").value = aDate[0];
                }
                oCalendarMenu2.hide();
            });
            this.unsubscribe("click", onButtonClick2);
        }
        var oCalendarMenu2 = new YAHOO.widget.Overlay("calendarmenu2", { visible: false });
        var oButton2 = new YAHOO.widget.Button({ 
                                            type: "menu", 
                                            id: "calendarpicker2", 
                                            label: "Дата", 
                                            menu: oCalendarMenu2, 
                                            container: "datefields2" });

		oButton2.on("appendTo", function () {
			oCalendarMenu2.setBody("&#32;");
			oCalendarMenu2.body.id = "calendarcontainer2";
			oCalendarMenu2.render(this.get("container"));		
        });
        oButton2.on("click", onButtonClick2);

        YAHOO.util.Event.onContentReady("checkboxbuttonsfrommarkup", function () {
            var oCheckButton1 = new YAHOO.widget.Button("checkbutton1", {label: "**" });

            var oCheckButton2 = new YAHOO.widget.Button("checkbutton2", { label: "***" });
            var oCheckButton3 = new YAHOO.widget.Button("checkbutton3", { label: "****" });
            var oCheckButton4 = new YAHOO.widget.Button("checkbutton4", { label: "*****" });
            var oCheckButton5 = new YAHOO.widget.Button("checkbutton5", { label: "Aprt" });
            var oCheckButton6 = new YAHOO.widget.Button("checkbutton6", { label: "HV-1" });
            var oCheckButton7 = new YAHOO.widget.Button("checkbutton7", { label: "HV-2" });        

            var oCheckButtonFood1 = new YAHOO.widget.Button("food1", { label: "No(без)" });
            var oCheckButtonFood2 = new YAHOO.widget.Button("food2", { label: "BB(завтрак)" });
            var oCheckButtonFood3 = new YAHOO.widget.Button("food3", { label: "HB(завтрак-ужин)" });
            var oCheckButtonFood4 = new YAHOO.widget.Button("food4", { label: "FB(3&nbsp;раз.&nbsp;питание)" });
            var oCheckButtonFood5 = new YAHOO.widget.Button("food5", { label: "ALL(все&nbsp;включено)" });
            var oCheckButtonFood6 = new YAHOO.widget.Button("food6", { label: "UALL(ультра)" });
        });

/*
        var oButtonSearch = new YAHOO.widget.Button({ 
                                            id: "ok-button",
											type : "submit", 
                                            label: " Поиск&nbsp;предложений ", 
                                            container: "buttoncontainer" });
        oButtonSearch.on("appendTo", function () {

            if (1 || YAHOO.env.ua.ie == 6) {
                oButtonSearch.addClass("ie6");
            }
            var oButtonAnim = new YAHOO.util.ColorAnim("ok-button", { backgroundColor: { to: "#b1ddff" } });
            oButtonAnim.onComplete.subscribe(function () {
                this.attributes.backgroundColor.to = (this.attributes.backgroundColor.to == "#b1ddff") ? "#016bbd" : "#b1ddff";
                this.animate();
            });
            oButtonAnim.animate();
        });*/

        function onCurrencyChange(p_oEvent) {
			val = p_oEvent.newValue.get("value");
			if ('uah' == val) {
				slider_maxValue = 10000;
				//YAHOO.search.slider.setValues(10,10000);
			} else {
				slider_maxValue = 1000;
				//YAHOO.search.slider.setValues(10,1000);
			}
			YAHOO.search.slider.fireEvent('change')
            /*if(p_oEvent.prevValue) {
                YAHOO.log(p_oEvent.prevValue.get("name"), "info", "example4");
            }
            if(p_oEvent.newValue) {
                YAHOO.log(p_oEvent.newValue.get("name"), "info", "example4");
            }*/
        }

        //var oButtonCurrency = new YAHOO.widget.ButtonGroup("search-currency");

		var oButtonCurrency = new YAHOO.widget.ButtonGroup({ 
		                                id:  "currency", 
		                                name:  "currency", 
		                                container:  "search-currency" });

		oButtonCurrency.addButtons([
		    {RADIO_DEFAULT_TITLE: "Выберите кликом", RADIO_CHECKED_TITLE : "Выбрано", label: "&#36;", value: "dolar", checked: ('dolar' == searchParams['currency'] ? true : false) },
		    {RADIO_DEFAULT_TITLE: "Выберите кликом", RADIO_CHECKED_TITLE : "Выбрано", label: "&euro;", value: "euro", checked: ('euro' == searchParams['currency'] ? true : false) },
		    {RADIO_DEFAULT_TITLE: "Выберите кликом", RADIO_CHECKED_TITLE : "Выбрано", label: "грн", value: "uah", checked: ('uah' == searchParams['currency'] ? true : false) }
		]);
		
		/*btns = oButtonCurrency.getButtons();
		for (b in btns) {
			btns[b].set("RADIO_CHECKED_TITLE", 'Выбрано');
			alert(btns[b].getAttributeKeys());
		}*/
		
        oButtonCurrency.on("checkedButtonChange", onCurrencyChange);		
});

YAHOO.util.Event.onContentReady('order-hotel-form', function () {
	YAHOO.namespace('search');
        function onButtonClick() {
            var oCalendar = new YAHOO.widget.Calendar("buttoncalendar", oCalendarMenu.body.id);
			if ('ru' == gL) {
				oCalendar.cfg.setProperty("START_WEEKDAY", "1"); 
				oCalendar.cfg.setProperty("DATE_FIELD_DELIMITER", "."); 

				oCalendar.cfg.setProperty("MDY_DAY_POSITION", 1); 
				oCalendar.cfg.setProperty("MDY_MONTH_POSITION", 2); 
				oCalendar.cfg.setProperty("MDY_YEAR_POSITION", 3); 

				oCalendar.cfg.setProperty("MD_DAY_POSITION", 1); 
				oCalendar.cfg.setProperty("MD_MONTH_POSITION", 2); 
				oCalendar.cfg.setProperty("MONTHS_SHORT",   ["Янв", "Фев", "Март", "Апр", "Май", "Июнь", "Июль", "Авг", "Сен", "Окт", "Ноябрь", "Дек"]); 
				oCalendar.cfg.setProperty("MONTHS_LONG",    ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"]); 
				oCalendar.cfg.setProperty("WEEKDAYS_1CHAR", ["В", "П", "В", "С", "Ч", "Пт", "Сб"]); 
				oCalendar.cfg.setProperty("WEEKDAYS_SHORT", ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"]); 
				oCalendar.cfg.setProperty("WEEKDAYS_MEDIUM",["Вскр", "Пнд", "Вт", "Ср", "Чт", "Птн", "Сбт"]); 
				oCalendar.cfg.setProperty("WEEKDAYS_LONG",  ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота"]);
			}

            oCalendar.render();
            oCalendar.changePageEvent.subscribe(function () {                
                window.setTimeout(function () {
                    oCalendarMenu.show();
                }, 0);
            });
            oCalendar.selectEvent.subscribe(function (p_sType, p_aArgs) {
                var aDate;
                if (p_aArgs) {
                    aDate = p_aArgs[0][0];
                    YAHOO.util.Dom.get("month-field").value = aDate[1];
                    YAHOO.util.Dom.get("day-field").value = aDate[2];
                    YAHOO.util.Dom.get("year-field").value = aDate[0];
                }
                oCalendarMenu.hide();
            });
            this.unsubscribe("click", onButtonClick);
        }
        var oCalendarMenu = new YAHOO.widget.Overlay("calendarmenu", { visible: false });
        var oButton = new YAHOO.widget.Button({ 
                                            type: "menu", 
                                            id: "calendarpicker", 
                                            label: "Дата", 
                                            menu: oCalendarMenu, 
                                            container: "datefields" });

		oButton.on("appendTo", function () {
			oCalendarMenu.setBody("&#32;");
			oCalendarMenu.body.id = "calendarcontainer";
			oCalendarMenu.render(this.get("container"));		
        });
        oButton.on("click", onButtonClick);    

        function onButtonClick2() {
            var oCalendar2 = new YAHOO.widget.Calendar("buttoncalendar2", oCalendarMenu2.body.id);
			if ('ru' == gL) {
				oCalendar2.cfg.setProperty("START_WEEKDAY", "1"); 
				oCalendar2.cfg.setProperty("DATE_FIELD_DELIMITER", "."); 

				oCalendar2.cfg.setProperty("MDY_DAY_POSITION", 1); 
				oCalendar2.cfg.setProperty("MDY_MONTH_POSITION", 2); 
				oCalendar2.cfg.setProperty("MDY_YEAR_POSITION", 3); 

				oCalendar2.cfg.setProperty("MD_DAY_POSITION", 1); 
				oCalendar2.cfg.setProperty("MD_MONTH_POSITION", 2); 
				oCalendar2.cfg.setProperty("MONTHS_SHORT",   ["Янв", "Фев", "Март", "Апр", "Май", "Июнь", "Июль", "Авг", "Сен", "Окт", "Ноябрь", "Дек"]); 
				oCalendar2.cfg.setProperty("MONTHS_LONG",    ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"]); 
				oCalendar2.cfg.setProperty("WEEKDAYS_1CHAR", ["В", "П", "В", "С", "Ч", "Пт", "Сб"]); 
				oCalendar2.cfg.setProperty("WEEKDAYS_SHORT", ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"]); 
				oCalendar2.cfg.setProperty("WEEKDAYS_MEDIUM",["Вскр", "Пнд", "Вт", "Ср", "Чт", "Птн", "Сбт"]); 
				oCalendar2.cfg.setProperty("WEEKDAYS_LONG",  ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота"]);
			}

            oCalendar2.render();
            oCalendar2.changePageEvent.subscribe(function () {                
                window.setTimeout(function () {
                    oCalendarMenu2.show();
                }, 0);
            });
            oCalendar2.selectEvent.subscribe(function (p_sType, p_aArgs) {
                var aDate;
                if (p_aArgs) {
                    aDate = p_aArgs[0][0];
                    YAHOO.util.Dom.get("month-field2").value = aDate[1];
                    YAHOO.util.Dom.get("day-field2").value = aDate[2];
                    YAHOO.util.Dom.get("year-field2").value = aDate[0];
                }
                oCalendarMenu2.hide();
            });
            this.unsubscribe("click", onButtonClick2);
        }
        var oCalendarMenu2 = new YAHOO.widget.Overlay("calendarmenu2", { visible: false });
        var oButton2 = new YAHOO.widget.Button({ 
                                            type: "menu", 
                                            id: "calendarpicker2", 
                                            label: "Дата", 
                                            menu: oCalendarMenu2, 
                                            container: "datefields2" });

		oButton2.on("appendTo", function () {
			oCalendarMenu2.setBody("&#32;");
			oCalendarMenu2.body.id = "calendarcontainer2";
			oCalendarMenu2.render(this.get("container"));		
        });
        oButton2.on("click", onButtonClick2);
});

