function ajaxCalendar(sid) {

	var site = sid;

	var currentDate = new Date();
	
	var currentYear = currentDate.getFullYear();
	
	var currentMonth = currentDate.getMonth()+1;
		
	var mn = ['Január', 'Február', 'Március', 'Április', 'Május', 'Június', 'Július', 'Augusztus', 'Szeptember', 'Október', 'November', 'December'];

	var dim = [31,0,31,30,31,30,31,31,30,31,30,31];

	var selectedYear = currentYear;

	var selectedMonth = currentMonth;

	var events;

	var me = this;
	
	this.setDays = function(esemenyek) {
		var esemenyNapok = new Array();
		for (var i = 0;i<esemenyek.length;i++) {
			esemenyNapok[i] = {'id':i,'nap':esemenyek[i]["DATE"]}
		}
		return esemenyNapok;
	}
	
	this.setDay = function(day,esemenyNapok) {
		if (esemenyNapok.length==0) {
			return false;
		}
		for (var i = 0;i<esemenyNapok.length;i++) {
			if (esemenyNapok[i].nap==day) {
				return true;
			}
		}
	}
	
	this.makeCalendar = function(year,month,esemenyek) {
		var esemenyNapok = new Array();
		if (esemenyek.length>0) {
			events = esemenyek;
			esemenyNapok = me.setDays(esemenyek);
		}
		var oD = new Date(year, month-1, 1);
		oD.od = oD.getDay()+1;
		var todaydate=new Date();
		var scanfortoday=(year==todaydate.getFullYear() && year==todaydate.getMonth()+1)? todaydate.getDate() : 0
		dim[1]=(((oD.getFullYear()%100!=0)&&(oD.getFullYear()%4==0))||(oD.getFullYear()%400==0))?29:28;
		var content = '<div class="bgr">';
		content+='<div class="naptar_date">'+year+'. '+ mn[month-1] +'</div>';
		content+='<div class="naptar">';
		content+='<div class="naptar_sz">';
		for(i=1;i<=42;i++){
			var x=((i-oD.od>=0)&&(i-oD.od<dim[month-1]))? i-oD.od+1 : '&nbsp;';
			if (me.setDay(x,esemenyNapok)) {
				content+='<a href="javascript:calendar.getOneDayEsemenyek('+x+')"><div class="naptar_nap kiem">'+x+'</div></a>';
			}
			else {
				content+='<div class="naptar_nap">'+x+'</div>';
			}
		}
		content += '</div>';
		content += '<div class="naptar_elozo"><a href="javascript:calendar.prevMonth()">&laquo; előző hónap</a></div>';
		content += '<div class="naptar_kov"><a href="javascript:calendar.nextMonth()">következő hónap &raquo;</a></div>';
		content += '</div>';
		return content;
	}
	
	this.showLoader = function() {
		var node = $('esemenynaptar_lista');
		node.innerHTML = '<img src="pic/loading2.gif" alt="Töltés" />';		
	}
	
	this.getEsemenyek = function(year,month) {
		me.showLoader();
		var url = '_server.php';
		var pars = 'y='+year+'&'+'m='+month+'&s='+site;
		var myAjax = new Ajax.Request(url, {method: 'get', parameters: pars, onComplete: me.showResponse});
	}
	
	this.showResponse = function (originalRequest) {
		var menuList = new Array();
		var response = originalRequest.responseText;
		eval(response);
		me.drawCalendar(selectedYear,selectedMonth,menuList);
		events = menuList;
		me.setEsemenyek(menuList);
	}
	
	this.getOneDayEsemenyek = function (day) {
		var esemenyNapok = new Array();
		var esemenyList = new Array();
		if (events.length>0) {
			esemenyNapok = me.setDays(events);
		}
		var j = 0;
		for (var i = 0;i<esemenyNapok.length;i++) {
			if (esemenyNapok[i].nap==day) {
				esemenyList[j] = events[i];
				j++;
			}
		}
		this.setEsemenyek(esemenyList);
	}
	
	this.drawCalendar = function(year,month,esemenyek) {
		var content = me.makeCalendar(year,month,esemenyek);
		var node = $('esemenynaptar');
		node.innerHTML = content;
	}
	
	this.setEsemenyek = function(menuList) {
		var list = '';
		var cl;
		for (var i = 0;i<menuList.length;i++) {
			cl = (i%2==1) ? 'even' : 'odd';
			list+=me.setOneEsemeny(menuList[i],cl);
		}
		var node = $('esemenynaptar_lista');
		node.innerHTML = '';
		if (list=='') {
			node.innerHTML = '<div>Nincs megjeleníthető esemény</div>';
		}
		else {
			node.innerHTML = list;
		}
	}
	
	this.setOneEsemeny = function(menuPart,cl) {
		var link = window.location+'/v/'+menuPart["CID"];
		var month = parseInt(menuPart["REALDATE"][1]);
		var day = parseInt(menuPart["REALDATE"][2]);
		if (month<10) {
			month = "0"+month;
		}
		if (day<10) {
			day = "0"+day;
		}
		var content = '<div class="'+cl+'">';
		content += '<div class="date">';
		content += menuPart["REALDATE"][0]+'. '+month+'. '+day+'. ';
		content += '</div>';
		content += '<div class="text"><h6><a href="'+link+'">'+menuPart["CTITLE"]+'</a></h6>';
		if (menuPart["CLEADIMG"]!=0) {
			content += menuPart["CLEADIMG"];
		}
		content += menuPart["CTEXT"];
		content +='</div></div>';
		return content;
	}
	
	this.nextMonth = function() {
		if (selectedMonth==12) {
			selectedMonth = 1;
			selectedYear++;
		}
		else {
			selectedMonth++;
		}
		me.getEsemenyek(selectedYear,selectedMonth);
	}
	
	this.prevMonth = function() {
		if (selectedMonth == 1) {
			selectedMonth = 12;
			selectedYear--;
		}
		else {
			selectedMonth--;
		}
		me.getEsemenyek(selectedYear,selectedMonth);
	}
	me.getEsemenyek(currentYear,currentMonth);

}