
var today = new Date();
var year = javaYear;
var month = javaMonth;
var selectedDay = 0;
var selectedMonth = 0;
var selectedYear = 0;


/******* script to populate day dropdowns with accurate days depending on selected month dropdown ********/
function isThisLeapYear (Year)
	{
	if (((Year % 4)==0) && ((Year % 100)!=0) || ((Year % 400)==0))
		{
		return (true);
		}
	else
		{
		return (false);
		}
	}

function getAllDaysInMonth(month)
	{
	var days;
	///var year = (month >= javaMonth) ? javaYear : javaYear + 1;
	if (month==0 || month==2 || month==4 || month==6 || month==7 || month==9 || month==11)
		{
		days=31;
		}
	else if (month==3 || month==5 || month==8 || month==10)
		{
		days=30;
		}
	else if (month==1)
		{
		if (isThisLeapYear(year))
			{
			days=29;
			}
		else
			{
			days=28;
			}
		}
	return (days);
	}


function makeDayArray(day)
	{
	dayArray = new Array();
	for(i=0; i<day; i++)
		{
		dayArray[i] = i + 1;
		}
	return (dayArray); 
	}


function changeDropDown(monthDropDown, dayDropDown)
	{
	var selectedDay = dayDropDown.selectedIndex;
	var selectedMonth = monthDropDown.selectedIndex;        
	var days = getAllDaysInMonth(selectedMonth);     
	var tempArray = makeDayArray(days);
	dayDropDown.options.length = 0;
	for(i=0; i<tempArray.length; i++)
		{
		dayDropDown.options[i] = new Option(tempArray[i]);
		}

	if(selectedDay > dayDropDown.length-1)
		{
		dayDropDown.selectedIndex = dayDropDown.length-1;
		}
	else
		{
		dayDropDown.selectedIndex = selectedDay;
		}
	}

	
function changeDropDownNav61(dayDropDown,sDay,sMonth)
	{
	var selectedDay = sDay;
	var selectedMonth = sMonth;
	var days = getAllDaysInMonth(selectedMonth);
	var tempArray = makeDayArray(days);
	dayDropDown.options.length = 0;

	for(i=0; i<tempArray.length; i++)
		{
		dayDropDown.options[i] = new Option(tempArray[i]);
		}

	if (selectedDay > dayDropDown.length-1)
		{
		dayDropDown.selectedIndex = dayDropDown.length-1;
		}
	else
		{
		dayDropDown.selectedIndex = selectedDay;
		}
	}


function changeCalendarDropDown(tempMonth, dayDropDown)
	{
	var days = getAllDaysInMonth(tempMonth);
	var tempArray = makeDayArray(days);

	if(dayDropDown.options.length !=  tempArray.length)
		{
		dayDropDown.options.length = 0;
		for(i=0; i<tempArray.length; i++)
			{
			dayDropDown.options[i] = new Option(tempArray[i]);
			}
		}
	}
/******* end script to populate day dropdowns with accurate days depending on selected month dropdown ********/  


function processMonth(startMonthField,endMonthField)
	{
	endMonthField.selectedIndex = startMonthField.selectedIndex;
	}


function process(num,cal)
	{
	if(num == -1)
		{
		if(month == 0)
			{
			month = 11;
			year--;
			today.setFullYear(year);
			}
		else
			{
			month--;
			}
		}

	if(num == 1)
		{
		if(month == 11)
			{
			month = 0;
			year++;
			today.setFullYear(year);
			}
		else
			{
			month++;
			}
		}

	// month set twice for bug #10002
	today.setMonth(month);
	today.setMonth(month);
	writeCalendar(cal);
	}

	
function returnMonth(thismonth)
	{
	monthArray = new Array('január', 'február', 'március', 'április', 'május', 'június','július', 'augusztus', 'szeptember', 'október', 'november', 'december');
	return monthArray[thismonth];
	}

function closeCalendar(cal,need_to_hide)
	{
	if (document.layers)
		{
		document.layers[cal].visibility = "hidden";
		}
	else if (document.all)
		{
		document.all[cal].style.visibility = "hidden";
		}
	else
		{
		document.getElementById(cal).style.visibility = "hidden";
		}

	if (need_to_hide)
		{
		objSheet=document.styleSheets[0];
		if (objSheet.insertRule)
			{
			objSheet.insertRule('SELECT.need_to_hide {visibility: visible;}',objSheet.cssRules.length);
			}
		else if (objSheet.addRule)
			{
			objSheet.addRule('SELECT.need_to_hide','visibility: visible;');
			}
		}
	}


var inputYearField;
var inputMonthField;
var inputDateField;
var vertical;

function setField(userYearField, userMonthField, userDateField, userVertical)
	{
	dateserial=userYearField.name.indexOf('year2')!=-1 ? '2' : '1';

	inputYearField = userYearField;
	inputMonthField = userMonthField;
	inputDateField = userDateField;
	vertical = userVertical;

	day = inputDateField.selectedIndex+1;
	selectedDay = day;
	today.setDate(day);
	month = inputMonthField.selectedIndex;
	selectedMonth = month;
	today.setMonth(month);
	year = inputYearField[inputYearField.selectedIndex].value;
	selectedYear = year;
	today.setFullYear(year);

	synchroDates(dateserial);
	}


function returnDate(inDay,cal)
	{
	dateserial=cal.indexOf('cal2')!=-1 ? '2' : '1';

	var todayReal = new Date();
	var thisDay = inDay - 1;
	var thisMonth = month;
	var thisYear = (today.getFullYear()-todayReal.getFullYear());

	changeCalendarDropDown(month,inputDateField);
	inputYearField.selectedIndex = thisYear;
	inputMonthField.selectedIndex = thisMonth;
	inputDateField.selectedIndex = thisDay;
	synchroDates(dateserial);
	closeCalendar(cal,1);
	}


function writeCalendar(cal,need_to_hide)
	{
	if (need_to_hide)
		{
		objSheet=document.styleSheets[0];
		if (objSheet.insertRule)
			{
			objSheet.insertRule('SELECT.need_to_hide {visibility: hidden;}',objSheet.cssRules.length);
			}
		else if (objSheet.addRule)
			{
			objSheet.addRule('SELECT.need_to_hide','visibility: hidden;');
			}
		}

	tableOutputTop = "<table width='156' cellspacing='0' cellpadding='0' style='border: 1px solid rgb(204,204,204); background-color: rgb(34,34,34);'><tr><td>";
	tableOutputBottom = "</tr></td></table>";

	cellHeight = '18';
	blankColumn = "<td height=" + cellHeight + ">&nbsp;</td>";
	tableOutputDays = "<table cellpadding='0' cellspacing='0' border='0' width='156'>";
	tableOutputDays += "<tr class='dark'><td align='center'>H</td><td align='center'>K</td><td align='center'>Sze</td><td align='center'>Cs</td><td align='center'>P</td><td align='center'>Szo</td><td align='center'>V</td></tr>";
	tableOutputDays += "<tr class='light' align='right'>";

	var days = getAllDaysInMonth(month);
	var firstOfMonth = new Date (year, month, 1);
	var startingPos  = firstOfMonth.getDay();
	if (startingPos == 0)
		{
		startingPos=6;
		}
	else
		{
		startingPos--;
		}
	days += startingPos;
	var columnCount = 0;

	for (i = 0; i < startingPos; i++)
		{
		tableOutputDays += blankColumn;
		columnCount++;
		}

	var currentDay = 0;
	for (i = startingPos; i < days; i++)
		{
		currentDay = i-startingPos+1;
		if (currentDay == selectedDay && month == selectedMonth && year == selectedYear)
			{
			var bcolor = "style='background-color:rgb(255,13,1);'";
			}
		else
			{
			var bcolor = "";
			}
		var verticalDate = javaDate;
		if(month <= javaMonth && year == javaYear)
			{
			if(month == javaMonth && currentDay >= verticalDate)
				{
				tableOutputDays += "<td height=" + cellHeight + " align='center' " + bcolor + "><a href='javascript:returnDate(" + currentDay + ",\"" + cal + "\")'>" + currentDay + "</a></td>"
				}
			else
				{
				tableOutputDays += "<td height=" + cellHeight + " align='center' " + bcolor + " style='color: #D6D6D6;'>" + currentDay + "</td>"
				}
			}
		else
			{
			tableOutputDays += "<td height=" + cellHeight + " align='center' " + bcolor + "><a href='javascript:returnDate(" + currentDay + ",\"" + cal + "\")'>" + currentDay + "</a></td>"
			}

		columnCount++;
		if (columnCount % 7 == 0)
			{
			tableOutputDays += "</tr><tr class='light' align='center'>";
			}
		}


	for (i=days; i<42; i++)
		{
		tableOutputDays += blankColumn;
		columnCount++;

		if (columnCount % 7 == 0)
			{
			tableOutputDays += "</tr>";
			if (i<41)
				{
				tableOutputDays += "<tr align='center'>";
				}
			}
		}

	tableOutputDays += "<td colspan='7'></td></tr></table>";

	var leftarrow;
	var rightarrow;

	if (month==javaMonth && year==javaYear) leftarrow="<img src='/images/spacer.gif' width='15' height='15' border='0'>"
	else leftarrow="<a href='javascript:process(-1,\"" + cal + "\")'><img src='/images/buttons/skip_left.gif' width='15' height='15' border='0'></a>"

	if((month==javaMonth-1) && (year==javaYear+1)) rightarrow="<img src='/images/spacer.gif' width='15' height='15' border='0'>"
	else rightarrow="<a href='javascript:process(1,\"" + cal + "\")'><img src='/images/buttons/skip_right.gif' width='15' height='15' border='0'></a>"

	var headertext= '<b style="margin-left:15px;">Naptár</b>';
	headerOutput = "<table cellpadding='0' cellspacing='0' border='0' width='156'><tr class='dark'><td align='center' height='15' valign='top' class='dark'>" + headertext + "</td><td width='15'><a href='javascript:closeCalendar(\"" + cal + "\",1)'><img src='/images/buttons/win_close.gif' class='imgbutton'></a></td></tr></table>";

	monthOutput = "<table cellpadding='0' cellspacing='0' border='0' width='156'><tr><td colspan='3'><img src='/images/spacer.gif' width='1' height='1' border='0'></td></tr><tr class='dark'><td height='15' valign='top'>" + leftarrow + "</td><td align='center' valign='middle'><b>" + year + " " + returnMonth(month) + "</b></td><td align='right' valign='top'>" + rightarrow + "</td></tr></table>";

	/// var offPeakImage = "<img src='/static/images/global/calendar/imageCalendar/offPeakMes.gif' width='130' height='38' border='0'>";
	/// var peakImage = "<img src='/static/images/global/calendar/imageCalendar/peakMes.gif' width='130' height='38' border='0'>";
	/// disclaimerImage = ((month==0 || month==4 || month==6 || month==7 || month==8 || month==10 || month==11) ? peakImage : offPeakImage);

	/// if(vertical == 'hotels') { disclaimerImage = "<img src='/static/images/global/calendar/imageCalendar/hotelDisclaim.gif' width='130' height='38' border='0'>"; }
	/// else if(vertical == 'cars') { disclaimerImage = "<img src='/static/images/global/calendar/imageCalendar/carDisclaim.gif' width='130' height='38' border='0'>"; }

	///disclaimerImage = "<img src='/images/spacer.gif' width='150' height='38' border='0'>";
	disclaimerImage = "<b>válasszon egy napot!</b>";
	disclaimer = "<table width='156' cellspacing='0' cellpadding='0' border='0'>";
	disclaimer += "<tr><td bgcolor='#FFFFFF'><img src='/images/spacer.gif' width='1' height='1' border='0'></td></tr>";
	disclaimer += "<tr><td align='center' valign='bottom'>"+disclaimerImage+"</td></tr>";
	disclaimer += "</table>";

	tableOutput = tableOutputTop + headerOutput + monthOutput + tableOutputDays + disclaimer + tableOutputBottom;

	if (document.layers)
		{
		document.layers[cal].visibility = "visible";
		document.layers[cal].document.write(tableOutput);
		document.layers[cal].document.close();
		}
	else if(document.all)
		{
		document.all[cal].style.visibility = "visible";
		document.all[cal].innerHTML=tableOutput;
		}
	else
		{
		document.getElementById(cal).style.visibility = "visible";
		document.getElementById(cal).innerHTML=tableOutput;
		}
	}


function synchroDates(dateserial)
	{
	if (document.layers)
		{
		if (!document.layers['year2']) return false;
		synchromode=document.layers['synchrodatesmode'+dateserial] ? document.layers['synchrodatesmode'+dateserial].value : 1;
		year1=document.layers['year1'];
		month1=document.layers['month1'];
		day1=document.layers['day1'];
		year2=document.layers['year2'];
		month2=document.layers['month2'];
		day2=document.layers['day2'];
		}
	else if(document.all)
		{
		if (!document.all['year2']) return false;
		synchromode=document.all['synchrodatesmode'+dateserial] ? document.all['synchrodatesmode'+dateserial].value : 1;
		year1=document.all['year1'];
		month1=document.all['month1'];
		day1=document.all['day1'];
		year2=document.all['year2'];
		month2=document.all['month2'];
		day2=document.all['day2'];
		}
	else
		{
		if (!document.getElementById('year2')) return false;
		synchromode=document.getElementById('synchrodatesmode'+dateserial) ? document.getElementById('synchrodatesmode'+dateserial).value : 1;
		year1=document.getElementById('year1');
		month1=document.getElementById('month1');
		day1=document.getElementById('day1');
		year2=document.getElementById('year2');
		month2=document.getElementById('month2');
		day2=document.getElementById('day2');
		}


	/// 1 = date1<=date2
	if (synchromode==1)
		{
		if (year2.selectedIndex>year1.selectedIndex)
			{
			return true;
			}
		else if (year2.selectedIndex<year1.selectedIndex)
			{
			year2.selectedIndex=year1.selectedIndex;
			month2.selectedIndex=month1.selectedIndex;
			day2.selectedIndex=day1.selectedIndex;
			}
		else if (month2.selectedIndex<month1.selectedIndex || (month2.selectedIndex==month1.selectedIndex && day2.selectedIndex<day1.selectedIndex))
			{
			month2.selectedIndex=month1.selectedIndex;
			day2.selectedIndex=day1.selectedIndex;
			}
		}
	/// 2 = date1==date2
	else if (synchromode==2)
		{
		year2.selectedIndex=year1.selectedIndex;
		month2.selectedIndex=month1.selectedIndex;
		day2.selectedIndex=day1.selectedIndex;
		}
	/// 3 = date1>=date2
	else if (synchromode==3)
		{
		if (year2.selectedIndex<year1.selectedIndex)
			{
			return true;
			}
		else if (year2.selectedIndex>year1.selectedIndex)
			{
			year2.selectedIndex=year1.selectedIndex;
			month2.selectedIndex=month1.selectedIndex;
			day2.selectedIndex=day1.selectedIndex;
			}
		else if (month2.selectedIndex>month1.selectedIndex || (month2.selectedIndex==month1.selectedIndex && day2.selectedIndex>day1.selectedIndex))
			{
			month2.selectedIndex=month1.selectedIndex;
			day2.selectedIndex=day1.selectedIndex;
			}
		}
	}

