﻿YAHOO.namespace("widget");

YAHOO.widget.init = function() {

	function handleSelect(type,args,obj) {
		if (obj.id=='cal1') {prefix="fid_arrival_"; checkType='start';}
		else {prefix="fid_departure_"; checkType='end';}

		var dates = args[0]; 
		var date = dates[0];
		var year = date[0], month = date[1], day = date[2];

		var selMonth = document.getElementById(prefix+"month");
		var selDay = document.getElementById(prefix+"day");
		var selYear = document.getElementById(prefix+"year");

		selMonth.selectedIndex = month-1;
		selDay.selectedIndex = day-1;

		for (var y=0;y<selYear.options.length;y++) {
			if (selYear.options[y].text == year) {
				selYear.selectedIndex = y;
				break;
			}
		}

		obj.hide()
		checkDate(document.getElementById('filterform'),'',checkType);
	}

	function updateCal() {
		if (this.id=='cal1') {obj=YAHOO.widget.cal1; prefix="fid_arrival_"; }
		else  {obj=YAHOO.widget.cal2; prefix="fid_departure_"; }

		var selMonth = document.getElementById(prefix+"month");
		var selDay = document.getElementById(prefix+"day");
		var selYear = document.getElementById(prefix+"year");

		var month = parseInt(selMonth.options[selMonth.selectedIndex].value,10);
		var day = parseInt(selDay.options[selDay.selectedIndex].value,10);
		var year = parseInt(selYear.options[selYear.selectedIndex].value,10);
		if (! isNaN(month) && ! isNaN(day) && ! isNaN(year)) {
			var date = month + "/" + day + "/" + year;

			obj.select(date);
			obj.cfg.setProperty("pagedate", month + "/" + year);
			obj.render();
		}
		obj.show()

	}

	function setProp(obj) {
		obj.setProperty("START_WEEKDAY",1); //pondeli
		if (lang=='cz') {
			obj.setProperty("MONTHS_LONG", ["leden", "únor", "březen", "duben", "květen", "červen", "červenec", "srpen", "září", "říjen", "listopad", "prosinec"]); 
			obj.setProperty("WEEKDAYS_SHORT", ["Ne", "Po", "Út", "St", "Čt", "Pá", "So"]); 
		}
		if (lang=='de') {
			obj.setProperty("MONTHS_LONG", ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"]); 
			obj.setProperty("WEEKDAYS_SHORT", ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"]); 
		}
		if (lang=='ru') {
			obj.setProperty("MONTHS_LONG", ["январь", "февраль", "март", "апрель", "май", "июнь", "июль", "август", "сентябрь", "октябрь", "ноябрь", "декабрь"]); 
			obj.setProperty("WEEKDAYS_SHORT", ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"]); 
		}
	}

	YAHOO.widget.cal1 = new YAHOO.widget.Calendar("cal1","calCont1", { mindate:YUIminDate, maxdate:YUImaxDate, close:true });
	setProp(YAHOO.widget.cal1.cfg)
	YAHOO.widget.cal1.selectEvent.subscribe(handleSelect, YAHOO.widget.cal1, true);
	YAHOO.widget.cal1.render();
	YAHOO.util.Event.addListener("show1up", "click", updateCal, YAHOO.widget.cal1, true);

	YAHOO.widget.cal2 = new YAHOO.widget.Calendar("cal2","calCont2", { mindate:YUIminDate, maxdate:YUImaxDate, close:true });
	setProp(YAHOO.widget.cal2.cfg)
	YAHOO.widget.cal2.selectEvent.subscribe(handleSelect, YAHOO.widget.cal2, true);
	YAHOO.widget.cal2.render();
	YAHOO.util.Event.addListener("show2up", "click", updateCal, YAHOO.widget.cal2, true);

}

YAHOO.util.Event.onDOMReady(YAHOO.widget.init);
