YAHOO.namespace("aos.calendar");

/************************/
/* 	Calendar widget		*/
/************************/
YAHOO.aos.calendar.CalendarUtils=function() {
};

YAHOO.aos.calendar.CalendarUtils.prototype = {

	init: function(year, month, day) {
		YAHOO.aos.calendar.calendar = new YAHOO.widget.Calendar("calendar","AOS_CalendarContainer", { title:"Sök evenemang", close:true, LOCALE_WEEKDAYS:"1char", START_WEEKDAY: 1, mindate:"1/1/2006"} );
		YAHOO.aos.calendar.calendar.renderEvent.subscribe(function() {
				var title = YAHOO.util.Dom.getElementsByClassName('title', 'div', YAHOO.aos.calendar.calendar.oDomContainer)[0];
				var dd = new YAHOO.util.DD("AOS_CalendarContainer");
				dd.setHandleElId(title);
		});

		// Correct formats for Sweden: yyyy.mm.dd, mm.dd, yyyy.mm
		YAHOO.aos.calendar.calendar.cfg.setProperty("DATE_FIELD_DELIMITER", ".");
		YAHOO.aos.calendar.calendar.cfg.setProperty("MDY_YEAR_POSITION", 1);
		YAHOO.aos.calendar.calendar.cfg.setProperty("MDY_MONTH_POSITION", 2);
		YAHOO.aos.calendar.calendar.cfg.setProperty("MDY_DAY_POSITION", 3);
		YAHOO.aos.calendar.calendar.cfg.setProperty("MD_MONTH_POSITION", 1);
		YAHOO.aos.calendar.calendar.cfg.setProperty("MD_DAY_POSITION", 2);
		YAHOO.aos.calendar.calendar.cfg.setProperty("MY_YEAR_POSITION", 1);
		YAHOO.aos.calendar.calendar.cfg.setProperty("MY_MONTH_POSITION", 2);
		YAHOO.aos.calendar.calendar.cfg.setProperty("MONTHS_LONG",    ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"]);
		YAHOO.aos.calendar.calendar.cfg.setProperty("WEEKDAYS_LONG", ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag"]);
		YAHOO.aos.calendar.calendar.cfg.setProperty("WEEKDAYS_1CHAR", ["S", "M", "T", "O", "T", "F", "L"]);
		YAHOO.aos.calendar.calendar.cfg.setProperty("close", true);
		YAHOO.aos.calendar.calendar.cfg.setProperty("pagedate", year + "." + month);
		YAHOO.aos.calendar.calendar.cfg.setProperty("selected", year + "." + month + "." + day);

		// Calendar link listeners
		YAHOO.util.Event.addListener("AOS_CalendarPopup", "click", YAHOO.aos.calendar.calendar.show, YAHOO.aos.calendar.calendar, true);
		YAHOO.util.Event.addListener("AOS_CalendarPopupLink", "click", YAHOO.aos.calendar.calendar.show, YAHOO.aos.calendar.calendar, true);

		// Select listener
		YAHOO.aos.calendar.calendar.selectEvent.subscribe(function(type, args, obj) {
			var dates = args[0];
			var date = dates[0];
			var year = date[0];
			var month = date[1];
			var day = date[2];
			window.location = "/?event=true&year=" + year + "&month=" + month + "&day=" + day;
		});

		// Render
		YAHOO.aos.calendar.calendar.render();
	}
};

YAHOO.aos.calendar.calendarUtils = new YAHOO.aos.calendar.CalendarUtils();
