﻿var calendardate = new Date();
var calendarlang='hun';

function datefrominput(inputid)
{
	var obj = document.getElementById(inputid);
	if (null == obj) return;	
	var s = obj.value;	
	as = s.split('.');
	if (as.length < 3)
	{
		alert('Hibás dátum - Wrong date');
		return;
	}	
	var month = new Number(as[1]);
	if ((month<1)||(month>12))
	{
		alert('Hibás dátum - Wrong date');
		return;
	}
	var year = new Number(as[0]);
	if ((year<1980)||(year>2999))
	{
		alert('Hibás dátum - Wrong date');
		return;
	}
	var day = new Number(as[2]);
	if ((day<1)||(day>31))
	{
		alert('Hibás dátum - Wrong date');
		return;
	}
	calendardate = new Date(year, month-1, day);	
	if ((year != calendardate.getFullYear())||(month != calendardate.getMonth()+1)||(day != calendardate.getDate()))
	{
		alert('Hibás dátum - Wrong date');
		return;
	}
}


function calendardayover(obj)
{
 obj.style.backgroundColor = 'white';
}
      	
function calendardayout(obj)
{
 obj.style.backgroundColor = '#ffffff';
}
      	
function calendarselectday(inputid,datestr)
{
 var obj = document.getElementById(inputid);
 if (null == obj) return;
 obj.value = datestr;
}
 
function valuefromcd(inputid)
{
	var obj = document.getElementById(inputid);	
	if (null == obj) return;
	obj.value = calendardate.getFullYear()+'.'+(calendardate.getMonth()+1)+'.'+calendardate.getDate()+'.';
}
      	
function calendarnext(calendarname,inputid,hiddenid)
{
 datefrominput(hiddenid);	 
 calendardate.setMonth( calendardate.getMonth()+1);
 valuefromcd(hiddenid); 
 rendercalendar(calendarname,inputid,hiddenid);
}
      	
function calendarprev(calendarname,inputid,hiddenid)
{
 datefrominput(hiddenid);
 calendardate.setMonth( calendardate.getMonth()-1);
 valuefromcd(hiddenid); 
 rendercalendar(calendarname,inputid,hiddenid);      		
}
      	
function rendercalendar(calendarname,targetinput,hiddenid)
{
	datefrominput(hiddenid);
	var obj = document.getElementById(calendarname);
	if (null == obj) return;	
	
	var ddate = new Date(calendardate);
	ddate.setDate(1);
	var d = -((ddate.getDay()+6)%7);
	var tempdate = new Date();
	var l = 32;	
	do
	{
		l--;		
		tempdate.setFullYear(calendardate.getFullYear());
		tempdate.setMonth(calendardate.getMonth());
		tempdate.setDate(l);
		
	} while( (ddate.getMonth() != tempdate.getMonth()) && (l>25));	
	
	var s = '<table class="calendartable">';
	s += '<tr class="calendarymtr"><td class="calendarsteptd"><a class="calendarstepa" href="javascript:calendarprev(\''+calendarname+'\',\''+targetinput+'\',\''+hiddenid+'\')">&lt;</a></td><td colspan="5" class="calendarym">' + ddate.getFullYear() + '.' + (ddate.getMonth()+1) + '.</td><td class="calendarsteptd"><a class="calendarstepa" href="javascript:calendarnext(\''+calendarname+'\',\''+targetinput+'\',\''+hiddenid+'\')">&gt;</a></td></tr>'
	if (calendarlang == 'eng')
	{
		s += '<tr class="calendardaystr"><td>Mo</td><td>Tu</td><td>We</td><td>Th</td><td>Fr</td><td>Sa</td><td>Su</td></tr>';      		
	}
	else
	{
		s += '<tr class="calendardaystr"><td>Hé</td><td>Ke</td><td>Se</td><td>Cs</td><td>Pé</td><td>So</td><td>Va</td></tr>';      		
	}
	for(row = 0; row < 6; row++)
	{
	  s += '<tr class="calendarrow">';
	  for(col = 0; col < 7; col++)
	  {
		s += '<td class="calendartd" ';
		if ((d < 0) || (d >= l))
		{
		 s += ">&nbsp;";
		}
		else
		{
		ddate.setDate(d+1);
		 s += ' onmouseover="calendardayover(this)" onmouseout="calendardayout(this)">';
		 s += '<a class="calendardaya" href="javascript:calendarselectday(\''+targetinput+'\',\'' + ddate.getFullYear()+'.'+(ddate.getMonth()+1)+'.'+ddate.getDate() + '.\')">'; 
		 s += d+1;
		 s += '</a>';
		}		
		
		s += '</td>';
		
		d++;
	  }
	  s += '</tr>';
	}
	
	s += '</table>';
	obj.innerHTML = s;
}
      	
function inithidden(inputid,hiddenid)
{
	var iobj = document.getElementById(inputid);
	if (null == iobj) return;
	var hobj = document.getElementById(hiddenid);
	if (null == hobj) return;	
	hobj.value = iobj.value;
}      	
      	
function initcalendars()
{
	inithidden('mettol','fromhiddenvalue');
	inithidden('meddig','tohiddenvalue');	
	var obj = document.getElementById('calendarlangcode');
	if (null != obj)
	{
		calendarlang = obj.value;		
	}
	rendercalendar('fromcalendar','mettol','fromhiddenvalue');
	rendercalendar('tocalendar','meddig','tohiddenvalue');
}