var calLink = new Array("hu","en","de","ro","sr","pl");
	calLink["hu"] = "page.fcgi?menuparam3=5&nyelv=hu";
	calLink["en"] = "page.fcgi?menuparam3=5&nyelv=en";
	calLink["de"] = "page.fcgi?menuparam3=5&nyelv=de";
	calLink["ro"] = "page.fcgi?menuparam3=5&nyelv=ro";
	calLink["rs"] = "page.fcgi?menuparam3=5&nyelv=rs";
	calLink["pl"] = "page.fcgi?menuparam3=5&nyelv=pl";

var theMonths = new Array("hu","en","de","ro","rs","pl");
	theMonths["hu"] = new Array("Január", "Február", "Március", "Április", "Május", "Június", "Július", "Augusztus", "Szeptember", "Október", "November", "December");
	theMonths["en"] = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
	theMonths["de"] = new Array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
	theMonths["ro"] = new Array("Ianuarie", "Februarie", "Martie", "Aprilie", "Mai", "Iunie", "Iulie", "August", "Septembrie", "Octombrie", "Noiembrie", "Decembrie");
	theMonths["rs"] = new Array("Januar", "Februar", "Mart", "April", "Maj", "Juni", "Juli", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar");
	theMonths["pl"] = new Array("styczen", "luty", "marzec", "kwiecien", "maj", "czerwiec", "lipiec", "sierpien", "wrzesien", "pazdziernik", "listopad", "grudzien");

var calHead = new Array("hu","en","de","ro","rs","pl");
	calHead["hu"] = "<tr><th>H</th><th>K</th><th>Sz</th><th>Cs</th><th>P</th><th>Sz</th><th>V</th></tr>";
	calHead["en"] = "<tr><th>Su</th><th>Mo</th><th>Tu</th><th>Wen</th><th>Thu</th><th>Fr</th><th>Sa</th></tr>";
	calHead["de"] = "<tr><th>Mo</th><th>Di</th><th>Mi</th><th>Do</th><th>Fr</th><th>Sa</th><th>So</th></tr>";
	calHead["ro"] = "<tr><th>L</th><th>Ma</th><th>Mi</th><th>J</th><th>V</th><th>S</th><th>D</th></tr>";
	calHead["rs"] = "<tr><th>Po</th><th>Vto</th><th>Sre</th><th>Cet</th><th>Pet</th><th>Sab</th><th>Ned</th></tr>";
	calHead["pl"] = "<tr><th>p</th><th>w</th><th>s</th><th>c</th><th>p</th><th>s</th><th>n</th></tr>";


var calTitle = new Array("hu","en","de","ro","rs","pl");
	calTitle["hu"] = function(y,m,l){return y + '. ' + theMonths[l][m];};
	calTitle["en"] = function(y,m,l){return theMonths[l][m] + ' ' + y;};
	calTitle["de"] = function(y,m,l){return y + '. ' + theMonths[l][m];};
	calTitle["ro"] = function(y,m,l){return theMonths[l][m] + ' ' + y;};
	calTitle["rs"] = function(y,m,l){return theMonths[l][m] + ' ' + y;};
	calTitle["pl"] = function(y,m,l){return theMonths[l][m] + ' ' + y;};

var caldiff = new Array("hu","en","de","ro","rs","pl"); //hét első napja
	caldiff["hu"] = function(v){v=v-1;if (v == 0 ) {v = 7 };return v;}; //Hétfő
	caldiff["en"] = function(v){return v;};  //Sunday
	caldiff["de"] = function(v){v=v-1;if (v == 0 ) {v = 7 };return v;}; //Montag
	caldiff["ro"] = function(v){v=v-1;if (v == 0 ) {v = 7 };return v;}; //lun
	caldiff["rs"] = function(v){v=v-1;if (v == 0 ) {v = 7 };return v;}; //pn
	caldiff["pl"] = function(v){v=v-1;if (v == 0 ) {v = 7 };return v;}; //pn

var maxYear=thisYear;
var maxMonth=thisMonth;
var minYear=thisYear;
var minMonth=thisMonth;
	var maxd = 0;
	var mind = 99999999;
	for (d in events) {
              if (d.match(/^[0-9]*$/))
                {
		if (d > maxd) {maxd = d;}
		if (d < mind) {mind = d;}
                }
	}
if (maxd != 0)
  {
  maxYear  = maxd.substring(0,4);
  maxMonth = maxd.substring(4,6);
  }
if (mind != 99999999)
  {
  minYear  = mind.substring(0,4);
  minMonth = mind.substring(4,6);
  }

function getFirstDay(theYear, theMonth){
    var firstDate = new Date(theYear,theMonth,1);
    return firstDate.getDay() + 1;
}
function getMonthLen(theYear, theMonth) {
    var oneDay = 1000 * 60 * 60 * 24;
    var lastDay = new Date;
	var nextMonth = new Date(theYear, theMonth + 1, 1);
	lastDay.setTime(nextMonth.getTime() - oneDay);
	var len = lastDay.getDate();
    return len;
}

function makeCalendar(theYear, theMonth, theLang, theDiv)
{

         if ((theYear  == 0)  && (baseYear != 0))
         {
         theYear=baseYear;
         }
         if ((theMonth  == 0)  && (baseMonth != 0))
         {
         theMonth=baseMonth;
         }

	if  (theYear  == 0) {
		var d=new Date();
		theYear  = d.getYear();
		if (theYear < 999) {theYear += 1900;}
		theMonth = d.getMonth();
	}
	else {
		theMonth--;
	}

	var content = "";
	var header = "";
	var firstDay = getFirstDay(theYear, theMonth);

	firstDay = caldiff[theLang](firstDay);
	var howMany = getMonthLen(theYear, theMonth) + firstDay;

	var prevYear = theYear;
	var prevMonth = theMonth;
	if (prevMonth < 1){prevYear--; prevMonth=12;}

	var nextYear = theYear;
	var nextMonth = theMonth+2;
	if (nextMonth > 12) {nextYear++; nextMonth=1;}

	header += '<div class="naptardate">';
	header += '<table border="0" cellspacing="0" cellpadding="0" align="center"><tr><td width="10">';

	if (prevYear > minYear || (prevYear == minYear && prevMonth >= minMonth)) {
		header += '<a href="#" onclick="makeCalendar(\''+prevYear+'\',\''+ prevMonth+'\',\''+theLang+'\',\''+theDiv+'\');return false;"><img src="kepek/hatra.gif" border="0"></a>';
	}
	//else {header += '<img src="kepek/hatra0.gif" border="0">';}
	header += '</td><td width="140">';
	header += calTitle[theLang](theYear, theMonth, theLang);
	header += '</td><td width="10">';
	if (nextYear < maxYear || (nextYear == maxYear && nextMonth <= maxMonth)) {
		header += '<a href="#" onclick="makeCalendar(\''+nextYear+'\',\''+ nextMonth +'\',\''+theLang+'\',\''+theDiv+'\');return false;"><img src="kepek/elore.gif" border="0"></a>';
	}

	//else {header += '<img src="kepek/elore0.gif" border="0">';}
	header += '</td></tr></table>';
	header += '</div>';

	content +='<table width="160" border="0" cellpadding="0" cellspacing="1" class="naptartable" align="center">';
	content +=calHead[theLang];
	content += "<tr>";

	for (var i = 1; i < howMany; i++) {
		if (i < firstDay) {
			// 'empty' boxes prior to first day
			content += "<td></td>";
		} else {
			// enter date number
			var day = i - firstDay + 1;
                        var pday = day; if (pday <10) {pday = "0"+pday}
                        var pMonth = theMonth+1; if (pMonth <10) {pMonth = "0"+pMonth}
			if (events[theYear+""+pMonth+""+pday] != undefined)
                          {
			  var actualday = "kiemeltnap";
			  if ((theYear==baseYear) && (pMonth==baseMonth) && (pday==baseDay))
                            {
                            actualday = actualday+"actual";
                            }
                          if ((theYear==thisYear) && (pMonth==thisMonth) && (pday==thisDay))
                            {
                            actualday = "mainap";
                            }
		          content += '<td class="'+actualday+'"><a href="'+calLink[theLang]+'&searchwords4='+theYear+"-"+pMonth+"-"+pday+'&eventmonth='+pMonth+'&eventyear='+theYear+'&eventday='+pday+'" title="'+events[theYear+""+pMonth+""+pday]+'">' + day + "</a></td>";
                          }
			else {
				content += "<td>" + day + "</td>";
			}
		}
		// start new row after each week
		if (i % 7 == 0 &&  i != howMany) {
			content += "</tr><tr>";
		}
	}

	for (var i = (howMany-1) % 7; i <= 6 && i != 0; i++) {
		// 'empty' boxes after last day
		content += "<td></td>";
	}

	content += "</tr>";
	content += "</table>";

	document.getElementById(theDiv).innerHTML = header + content;
return true;
}