﻿var Dom = YAHOO.util.Dom;

function changeSearchAction(newAction, nights) {
    var cmbNights = Dom.get("cmbNights");
    cmbNights.value = nights;
    var frmSearchBox = Dom.get("frmSearchBox");
    frmSearchBox.action = newAction;
    frmSearchBox.submit();
}

function openTravelAgency() {
    var divTravelAgency = Dom.get("divTravelAgency");
    divTravelAgency.style.display = "";
}

YAHOO.util.Event.onDOMReady(function() {
    var Event = YAHOO.util.Event,
    dialog,
    calendar;

    var calCont = Dom.get("calCont");    
    var showBtn = Dom.get("txtCheckIn");
    var txtDate = Dom.get("txtCheckIn");
    if (showBtn.value.length > 0)
        showBtn.className = "checkindateused"
    var cmbDestination = Dom.get("cmbDestination");
    var frmSearchBox = Dom.get("frmSearchBox");
    var pkgDestinationPostfixUri = Dom.get("pkgDestinationPostfixUri");
    var btnSearchPackages = Dom.get("btnSearchPackages");
    var hdnMsgErrDestination = Dom.get("hdnMsgErrDestination");
    var hdnMsgErrDate = Dom.get("hdnMsgErrDate");
    var hdnMinDate = Dom.get("hdnMinDate");

    Event.on(txtDate, "click", function() {
        showCalendar();
    });

    Event.on(showBtn, "click", function() {
        showCalendar();
    });

    Event.on(cmbDestination, "change", function() {
        frmSearchBox.action = cmbDestination.value + pkgDestinationPostfixUri.value;
    });

    Event.on(btnSearchPackages, "click", function() {
        if (cmbDestination.value.length > 0) {
            if (txtDate.value.length > 0) {
                frmSearchBox.submit();
            }
            else {
                alert(hdnMsgErrDate.value);
            }
        }
        else {
            alert(hdnMsgErrDestination.value);
        }
    });


    function showCalendar() {

        // Lazy Dialog Creation - Wait to create the Dialog, and setup document click listeners, until the first time the button is clicked.
        if (!dialog) {
            // Hide Calendar if we click anywhere in the document other than the calendar
            Event.on(document, "click", function(e) {
                var el = Event.getTarget(e);
                var dialogEl = dialog.element;
                if (el != dialogEl && !Dom.isAncestor(dialogEl, el) && el != showBtn && !Dom.isAncestor(showBtn, el)) {
                    dialog.hide();
                }
            });

            function resetHandler() {
                // Reset the current calendar page to the select date, or 
                // to today if nothing is selected.
                var selDates = calendar.getSelectedDates();
                var resetDate;

                if (selDates.length > 0) {
                    resetDate = selDates[0];
                }
                else {
                    resetDate = calendar.today;
                }

                calendar.cfg.setProperty("pagedate", resetDate);
                calendar.render();
            }

            function closeHandler() {
                dialog.hide();
            }
            dialog = new YAHOO.widget.Dialog("container",
        {
            visible: false,
            context: ["show", "tl", "bl"],
            draggable: false,
            close: true
        });

            dialog.setHeader('');
            dialog.setBody('<div id="cal"></div>');
            dialog.render(calCont);

            dialog.showEvent.subscribe(function() {
                if (YAHOO.env.ua.ie) {
                    // Since we're hiding the table using yui-overlay-hidden, we 
                    // want to let the dialog know that the content size has changed, when
                    // shown
                    dialog.fireEvent("changeContent");
                }
            });
        }

        // Lazy Calendar Creation - Wait to create the Calendar until the first time the button is clicked.
        if (!calendar) {
            calendar = new YAHOO.widget.Calendar("cal",
		{
		    iframe: false,          // Turn iframe off, since container has iframe support.
		    hide_blank_weeks: true,  // Enable, to demonstrate how we handle changing height, using changeContent
		    strings:
				{
				    previousMonth: "",
				    nextMonth: ""
				},
		    mindate: hdnMinDate.value,
		    close: false
		});
            calendar.render();

            calendar.selectEvent.subscribe(function() {
                if (calendar.getSelectedDates().length > 0) {
                    var selDate = calendar.getSelectedDates()[0];

                    // Pretty Date Output, using Calendar's Locale values: Friday, 8 February 2008
                    var wStr = calendar.cfg.getProperty("WEEKDAYS_SHORT")[selDate.getDay()];
                    var dStr = selDate.getDate().toString().length == 1 ? "0" + selDate.getDate() : selDate.getDate();
                    var mStr = (selDate.getMonth() + 1).toString().length == 1 ? "0" + (selDate.getMonth() + 1).toString() : (selDate.getMonth() + 1).toString();
                    var yStr = selDate.getFullYear();
                    //Dom.get("date").value = wStr + ", " + dStr + " " + mStr + " " + yStr;
                    Dom.get("txtCheckIn").value = mStr + "/" + dStr + "/" + yStr;
                    Dom.get("hdnCheckIn").value = yStr + "-" + mStr + "-" + dStr;
                    Dom.get("txtCheckIn").className = "checkindateused";
                }
                else {
                    Dom.get("txtCheckIn").value = "";
                    Dom.get("hdnCheckIn").value = "";
                }
                dialog.hide();
            });

            calendar.renderEvent.subscribe(function() {
                // Tell Dialog it's contents have changed, which allows 
                // container to redraw the underlay (for IE6/Safari2)
                dialog.fireEvent("changeContent");
            });
        }

        var seldate = calendar.getSelectedDates();

        if (seldate.length > 0) {
            // Set the pagedate to show the selected date if it exists
            calendar.cfg.setProperty("pagedate", seldate[0]);
            calendar.render();
        }

        dialog.show();

    }

});
function showDivToSearch() {
    Dom.get("divSearched").style.display = "none";
    Dom.get("divToSearch").style.display = "";
}

function popup(page) {
    day = new Date();
    id = day.getTime();
    var options = "toolbar=0,scrollbars=1,location=1,statusbar=0,menubar=0,resizable=1,width=600,height=400,left = 660,top = 340";
    window.open(page, id, options);    
}
