
var Calendar = function () {

	var Event = YAHOO.util.Event,
	Dom = YAHOO.util.Dom;
	var selectedDate=new Date();

	Event.onContentReady("datefields", function () {

		var oCalendarMenu;

		var onButtonClick = function () {

			// Create a Calendar instance and render it into the body
			// element of the Overlay.
			var myDate=new Date();
			myDate.setDate(myDate.getDate()+1);
			myMinDate = (myDate.getMonth()+1)+"/"+myDate.getDate()+"/"+myDate.getFullYear();
			var oCalendar = new YAHOO.widget.Calendar("buttoncalendar", oCalendarMenu.body.id, {mindate:myMinDate, LOCALE_WEEKDAYS:"1char", hide_blank_weeks:true});
			
		oCalendarMenu.cfg.setProperty("xy", [100,200]); 
			oCalendar.render();


			// Subscribe to the Calendar instance's "select" event to
			// update the Button instance's label when the user
			// selects a date.

			oCalendar.selectEvent.subscribe(function (p_sType, p_aArgs) {

				var aDate,
					nMonth,
					nDay,
					nYear;

				if (p_aArgs) {

					aDate = p_aArgs[0][0];

					nMonth = aDate[1];
					nDay = aDate[2];
					nYear = aDate[0];


					// Sync the Calendar instance's selected date with the date form fields

					Dom.get("month").selectedIndex = (nMonth - 1);
					Dom.get("day").selectedIndex = (nDay - 1);
					Dom.get("year").value = nYear;
					oButton.set("label", (Dom.get("month").value + "/" + Dom.get("day").value + "/" + nYear));
					Dom.get("eventDate").value=Dom.get("month").value + Dom.get("day").value +  nYear;
					
					selectedDate.setFullYear(nYear,nMonth-1, nDay);
					YAHOO.util.Dom.get("eventDateMsgHolder").value=oCalendar.cfg.getProperty("WEEKDAYS_LONG")[selectedDate.getDay()]+", "+oCalendar.cfg.getProperty("MONTHS_LONG")[selectedDate.getMonth()] + " " + Dom.get("day").value + ", " + nYear; 
					if(YAHOO.util.Dom.get("geoLocation").value!=''){						 
						YAHOO.util.Dom.get("eventDateMsg").innerHTML = YAHOO.util.Dom.get("eventDateMsgHolder").value;
						YAHOO.util.Dom.get("findBtn").disabled=false;
						if(YAHOO.util.Dom.get('event').style.display=="block"){
							getEvent();
						}						
					}

				}

				oCalendarMenu.hide();

			});


			// Pressing the Esc key will hide the Calendar Menu and send focus back to
			// its parent Button

			Event.on(oCalendarMenu.element, "keydown", function (p_oEvent) {

				if (Event.getCharCode(p_oEvent) === 27) {
					oCalendarMenu.hide();
					this.focus();
				}

			}, null, this);


			var focusDay = function () {

				var oCalendarTBody = Dom.get("buttoncalendar").tBodies[0],
					aElements = oCalendarTBody.getElementsByTagName("a"),
					oAnchor;


				if (aElements.length > 0) {

					Dom.batch(aElements, function (element) {

						if (Dom.hasClass(element.parentNode, "today")) {
							oAnchor = element;
						}

					});


					if (!oAnchor) {
						oAnchor = aElements[0];
					}


					// Focus the anchor element using a timer since Calendar will try
					// to set focus to its next button by default

					YAHOO.lang.later(0, oAnchor, function () {
						try {
							oAnchor.focus();
						}
						catch(e) {}
					});

				}

			};


			// Set focus to either the current day, or first day of the month in
			// the Calendar	when it is made visible or the month changes

			oCalendarMenu.subscribe("show", focusDay);
			oCalendar.renderEvent.subscribe(focusDay, oCalendar, true);


			// Give the Calendar an initial focus

			focusDay.call(oCalendar);


			// Re-align the CalendarMenu to the Button to ensure that it is in the correct
			// position when it is initial made visible

			oCalendarMenu.align();


			// Unsubscribe from the "click" event so that this code is
			// only executed once

			this.unsubscribe("click", onButtonClick);

		};


		var oDateFields = Dom.get("datefields");
		oMonthField = Dom.get("month"),
		oDayField = Dom.get("day"),
		oYearField = Dom.get("year");


		// Hide the form fields used for the date so that they can be replaced by the
		// calendar button.

		oMonthField.style.display = "none";
		oDayField.style.display = "none";
		oYearField.style.display = "none";


		// Create a Overlay instance to house the Calendar instance

		oCalendarMenu = new YAHOO.widget.Overlay("calendarmenu", { visible: false });


		// Create a Button instance of type "menu"

		var oButton = new YAHOO.widget.Button({
							type: "menu",
							id: "calendarpicker",
							label: "MM/DD/YYYY",
							menu: oCalendarMenu,
							container: "datefields" });


		oButton.on("appendTo", function () {

			// Create an empty body element for the Overlay instance in order
			// to reserve space to render the Calendar instance into.

			oCalendarMenu.setBody("&#32;");

			oCalendarMenu.body.id = "calendarcontainer";

		});


		// Add a listener for the "click" event.  This listener will be
		// used to defer the creation the Calendar instance until the
		// first time the Button's Overlay instance is requested to be displayed
		// by the user.

		oButton.on("click", onButtonClick);

	});

};
YAHOO.util.Event.onDOMReady(Calendar);