//	********************************************************************************************************
//		CCalendarBuilder.js
//	********************************************************************************************************
//
//		CREATED FROM:	Robert Stiehler (idaSys)
//		CREATED AT:	02.10.2008
//		
//		UPDATES:
//
//	--------------------------------------------------------------------------------------------------------


//class CCalendarBuilder
//{
//public:
	function CCalendarBuilder()
	{
	//public:
		this.createCalendar = declared_createCalendar;
	
	//protected:
		this.createDateInput = declared_createDateInput;
		this.createCloseButton = declared_createCloseButton;
	
	//private:
		this.MonthArray = new Array (translationsTextSearchForm["Jan"], translationsTextSearchForm["Feb"],
										translationsTextSearchForm["Mar"], translationsTextSearchForm["Apr"],
										translationsTextSearchForm["Mai"], translationsTextSearchForm["Jun"],
										translationsTextSearchForm["Jul"], translationsTextSearchForm["Aug"],
										translationsTextSearchForm["Sep"], translationsTextSearchForm["Okt"],
										translationsTextSearchForm["Nov"], translationsTextSearchForm["Dez"]);
		
		this.log = xajax_logStringToFile;
	}
	
//public:
	function declared_createCalendar(SetTo, dayInput, MonthInput)
	{
		try
		{
			objSearchFormHandler.objCalendarHandler.setInputs(dayInput, MonthInput);
			
			var CalendarField = document.createElement("fieldset");
			CalendarField.className = "jcalendar";
			
			var CalendarWrapper = document.createElement("div");
			CalendarWrapper.className = "jcalendar-wrapper";
			
			var CalendarSelects = document.createElement("div");
			CalendarSelects.className = "jcalendar-selects";
			
			CalendarSelects = this.createDateInput(CalendarSelects);
						
			CalendarWrapper.appendChild(CalendarSelects);
			CalendarField.appendChild(CalendarWrapper);
			document.getElementById(SetTo).appendChild(CalendarField);
			
			if(MonthInput == "omy")
				var actDate = new Date("20" + objSearchFormHandler.save_OutbMonth.substr(2, 2), (parseInt(objSearchFormHandler.save_OutbMonth.substr(0, 2), 10) - 1), objSearchFormHandler.save_OutbDay);
			else
				var actDate = new Date("20" + objSearchFormHandler.save_RetMonth.substr(2, 2), (parseInt(objSearchFormHandler.save_RetMonth.substr(0, 2), 10) - 1), objSearchFormHandler.save_RetDay);
			
			
			
			$('fieldset.jcalendar').jcalendar(null, actDate);			
			document.getElementById(SetTo).appendChild(this.createCloseButton());
		}
		catch(e) {this.log("CCalendarBuilder::createCalendar\n" + e.message, "logging/JSExceptionLog.txt");}
	}
	
//protected:
	function declared_createDateInput(CalendarSelects)
	{
		try
		{
			var DayInput = document.createElement("select");
			DayInput.name = "day";
			DayInput.id = "day";
			DayInput.className = "jcalendar-select-day";
			DayInput.appendChild(document.createElement("option"));
			for(var i = 1; i <= 31; i++)
			{
				var DayOption = document.createElement("option");
				DayOption.value = i
				DayOption.innerHTML = i;
				
				DayInput.appendChild(DayOption);
			}
			CalendarSelects.appendChild(DayInput);
			
			var MonthInput = document.createElement("select");
			MonthInput.name = "month";
			MonthInput.id = "month";
			MonthInput.className = "jcalendar-select-month";
			MonthInput.appendChild(document.createElement("option"));
			for(var i = 1; i <= 12; i++)
			{
				var MonthOption = document.createElement("option");
				MonthOption.value = i
				MonthOption.innerHTML = this.MonthArray[i - 1];
				
				MonthInput.appendChild(MonthOption);
			}
			CalendarSelects.appendChild(MonthInput);
			
			
			var YearInput = document.createElement("select");
			YearInput.name = "year";
			YearInput.id = "year";
			YearInput.className = "jcalendar-select-year";
			var actuallDate = new Date();
			YearInput.appendChild(document.createElement("option"));
			for(var i = actuallDate.getFullYear(); i <= (actuallDate.getFullYear() + 1); i++)
			{
				var YearOption = document.createElement("option");
				YearOption.value = i
				YearOption.innerHTML = i;
				
				YearInput.appendChild(YearOption);
			}
			CalendarSelects.appendChild(YearInput);
			
			return CalendarSelects;
		}
		catch(e) {this.log("CCalendarBuilder::createCalendar\n" + e.message, "logging/JSExceptionLog.txt");}
	}
	
//protected:
	function declared_createCloseButton()
	{
		try
		{
			var CloseContainer = document.createElement("div");
			CloseContainer.style.textAlign = "center";
			CloseContainer.style.fontWeight = "bold";
			
			var CloseLink = document.createElement("a");
			CloseLink.href = "javascript:objSearchFormHandler.objCalendarHandler.closeCalendar();";
			CloseLink.innerHTML = translationsTextSearchForm["schliessen"];
			CloseLink.style.color = "#cc2030";
			CloseContainer.appendChild(CloseLink);
			
			return CloseContainer;
		}
		catch(e) {this.log("CCalendarBuilder::createCalendar\n" + e.message, "logging/JSExceptionLog.txt");}
	}
//}