Date.prototype.getWeekDay = function()
{
	if(this.getDay() == 0) return 7;
	else return this.getDay();
}
Date.prototype.addDate = function(days)
{
	this.setDate(this.getDate + days);
}
Date.prototype.getMonthDays = function()
{
	return 32 - new Date(this.getFullYear(), this.getMonth(), 32).getDate();
}
Date.prototype.cmp = function(d)
{
	return (this.getFullYear()==d.getFullYear() && this.getMonth()==d.getMonth() && this.getDate()==d.getDate());
}
Date.prototype.monthText = Array('Sausis','Vasaris','Kovas','Balandis','Gegužė','Birželis','Liepa','Rugpjūtis','Rugsėjis','Spalis','Lapkritis','Gruodis');
Date.prototype.getMonthT = function() {
	return this.monthText[ this.getMonth() ];
}

var t = new Date();
var calendarNow = new Date(t.getFullYear(), t.getMonth(), t.getDate());
var calendarMonth = new Date(calendarNow.getFullYear(), calendarNow.getMonth(), 1);
var calendarEvents = {};
var calendarEventsRaudonas = {};

function calenderRegisterEvent(dstr, a, raudonas)
{
	calendarEvents[dstr] = a;
	if(raudonas > 0) calendarEventsRaudonas[dstr] = true;
}

function calendarGetEvent(d)
{
	var y = d.getFullYear();
	var m = d.getMonth();
	var d = d.getDate();
	var fulldate = (y * 100 + m + 1) * 100 + d;
	if(!calendarEvents[fulldate]) return false;
	return Array(calendarEvents[fulldate], calendarEventsRaudonas[fulldate]);
}

function calendarDraw()
{
	$body = $('#calendar div.calendar_body');
	$body.empty();
	$('#calendar div.calendar_month').text(calendarMonth.getFullYear()+' '+calendarMonth.getMonthT());
	
	d = new Date(calendarMonth.getFullYear(), calendarMonth.getMonth(), 1 );
	start = 2-d.getWeekDay();
	monthDays = d.getMonthDays();
	d.setDate(monthDays);
	stop = d.getDate() + 7 - d.getWeekDay();
	for(day = start; day <= stop; day++)
	{
		d = new Date(calendarMonth.getFullYear(), calendarMonth.getMonth(), day );
		td = document.createElement('div');
		e = calendarGetEvent(d);
		if(e) {
			if(e[1]) $(td).addClass('calendar_day_event_red');
			else $(td).addClass('calendar_day_event');
			$(td).html(e[0]);
		} else {
			$(td).text(d.getDate());
			if(day < 1 || day > monthDays) $(td).addClass('calendar_day_over');
			else if(d.cmp(calendarNow)) $(td).addClass('calendar_today');
			else $(td).addClass('calendar_day');
		}
		if(d.getDay() == 0) $(td).css('border','0px');
		
		if(d.getWeekDay() == 1)
			$body.append( $(document.createElement('div')).addClass('calendar_week') );
		
		$('.calendar_week:last', $body).append(td);
	}
	$("#calendar .calendar_body a").wTooltip({
		className: "calendar_event_hover"
	});
}

function calendarRight()
{
	calendarMonth.setDate(calendarMonth.getMonthDays()+1);
	calendarDraw();
	return false;
}
function calendarLeft()
{
	calendarMonth.setDate(-1);
	calendarMonth.setDate(1);
	calendarDraw();
	return false;
}

$(document).ready(function(){
	calendarDraw();
});


 
