YAHOO.namespace("example.calendar");

function c_filter_yui_handleSelect(type,args,obj) {
	var dates = args[0]; 
	var date = dates[0];
	var year = date[0], month = date[1], day = date[2];

	var obj = document.getElementById("c_filter_select_input_field");
	
	year = year.toString();
	month = (month<10) ? "0"+month.toString() : month.toString();
	day = (day<10) ? "0"+day.toString() : day.toString();

	var num = obj.options.length;
	var option_exists = false;
	
	for(var i=0; i<num; i++) {
		if(obj.options[i].value == year+month+day) {
			obj.options[i].selected = true;
			option_exists = true;
			break;
		}
	}
	
	if(!option_exists) {
		var oOption = document.createElement("OPTION");
		oOption.value= year+month+day;
		oOption.text= year+month+day;
		oOption.selected = true;
	
		try {
			obj.add(oOption, null);
		}
		catch(ex) {
			obj.add(oOption); // IE only
		}
	}

}

function c_filter_yui_handleDeselect(type,args,obj) {
	var dates = args[0]; 
	//var date = dates[0];
	var year = dates[0], month = dates[1], day = dates[2];

	var obj = document.getElementById("c_filter_select_input_field");
	year = year.toString();
	month = (month<10) ? "0"+month.toString() : month.toString();
	day = (day<10) ? "0"+day.toString() : day.toString();

	var num = obj.options.length;
	
	for(var i=0; i<num; i++) {
		if(obj.options[i].value == year+month+day) {
			obj.options[i].selected = false;
		}
	}
	
}

function c_filter_yui_init() {

		var c_time=new Date()
		var c_day=c_time.getDate();
		var c_month=c_time.getMonth()+1;
		var c_year=c_time.getFullYear();
		var c_date = c_month.toString()+"/"+c_day.toString()+"/"+c_year.toString();

		YAHOO.example.calendar.cal1 = new YAHOO.widget.Calendar("cal1","cal1Container", 
																	{ LOCALE_WEEKDAYS:"short", 
																	  START_WEEKDAY: 1,
																	  MULTI_SELECT: true,
																	  mindate:"10/1/2006",
																	  maxdate:c_date
																	 } );

		// Correct formats for Germany: dd.mm.yyyy, dd.mm, mm.yyyy

		YAHOO.example.calendar.cal1.cfg.setProperty("DATE_FIELD_DELIMITER", ".");

		YAHOO.example.calendar.cal1.cfg.setProperty("MDY_DAY_POSITION", 1);
		YAHOO.example.calendar.cal1.cfg.setProperty("MDY_MONTH_POSITION", 2);
		YAHOO.example.calendar.cal1.cfg.setProperty("MDY_YEAR_POSITION", 3);

		YAHOO.example.calendar.cal1.cfg.setProperty("MD_DAY_POSITION", 1);
		YAHOO.example.calendar.cal1.cfg.setProperty("MD_MONTH_POSITION", 2);
		
		// Date labels for German locale
		// write your own language locale, if you desire another one
		// comment in to activate
		YAHOO.example.calendar.cal1.cfg.setProperty("MONTHS_SHORT",   ["Jan", "Feb", "M\u00E4r", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"]);
		YAHOO.example.calendar.cal1.cfg.setProperty("MONTHS_LONG",    ["Januar", "Februar", "M\u00E4rz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"]);
		YAHOO.example.calendar.cal1.cfg.setProperty("WEEKDAYS_1CHAR", ["S", "M", "D", "M", "D", "F", "S"]);
		YAHOO.example.calendar.cal1.cfg.setProperty("WEEKDAYS_SHORT", ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"]);
		YAHOO.example.calendar.cal1.cfg.setProperty("WEEKDAYS_MEDIUM",["Son", "Mon", "Die", "Mit", "Don", "Fre", "Sam"]);
		YAHOO.example.calendar.cal1.cfg.setProperty("WEEKDAYS_LONG",  ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"]);
		
		YAHOO.example.calendar.cal1.selectEvent.subscribe(c_filter_yui_handleSelect, YAHOO.example.calendar.cal1, true);
		YAHOO.example.calendar.cal1.deselectEvent.subscribe(c_filter_yui_handleDeselect, YAHOO.example.calendar.cal1, true);
		if(c_filter_arr_date_selected.length != 0) {
			for(var i=0; i<c_filter_arr_date_selected.length; i++){
				YAHOO.example.calendar.cal1.select(c_filter_arr_date_selected[i]);
			}
		}
		YAHOO.example.calendar.cal1.render();			
}

YAHOO.util.Event.addListener(window, "load", c_filter_yui_init);
