function toggleCal() {
	cal = document.getElementById('calender');
	updown = document.getElementById('calupdown');
	if(cal.style.display == 'none')
	{
		updown.src = 'up.png';
		cal.style.display = 'block';
		createCal(selYear, selMonth);
	}
	else
	{
		updown.src = 'down.png';
		cal.style.display = 'none';
	}
}

function createCal(year, month) {

	cal2 = document.getElementById('calender2');
	
	if(typeof(caldata[year]) == 'undefined' || typeof(caldata[year][month]) == 'undefined')
	{
		req1 = initrequest();
		req1.onreadystatechange = function()
		{
			if(req1.readyState == 1) {
				cal2.innerHTML = '<div style="text-align: center; padding: 100px"><img src="calload.gif" alt="Kalender lädt..." /></div>';
			} else if (req1.readyState == 4) {
				rows = req1.responseText.split(',');
				if(typeof(caldata[year]) == 'undefined')
					caldata[year] = new Array();
				caldata[year][month] = new Array();
				for(i = 0; i < rows.length; i++)
				{
					day = rows[i].split('-');
					caldata[year][month][parseInt(day[0], 10)] = parseInt(day[1]);
				}
				createCal(year, month);
			}
		}
		req1.open('GET', '?ajax=1&year=' + year + '&month=' + month, true);
		req1.send(null);
		return;
	}
	
	var html = '';
	var now = new Date();
	var thisMonth = now.getMonth() + 1;
	var thisYear= now.getYear();
	if(thisYear < 2000) thisYear += 1900;
	var thisDay = now.getDate();
	var time = new Date(year, month - 1, 1);
	var start = time.getDay();
	if(start > 0) start--;
	else start = 6;
	var stop = 31;
	if(month == 4 || month == 6 || month == 9 || month == 11) --stop;
	if(month == 2)
	{
		stop -= 3
		if(year % 4 == 0) stop++;
		if(year % 100 == 0) stop--;
		if(year % 400 == 0) stop++;
	}
	
	html = '<table cellspacing="0" class="cal2">';
	html += '<tr><th>Mo</th><th>Di</th><th>Mi</th><th>Do</th><th>Fr</th><th>Sa</th><th>So</th></tr>';
	var dayNum = 1;
	for(i = 0; i <= 5; i++)
	{
		if(i == 5 && dayNum > stop)
		{
			html += '</tr>';
			break;
		}
		html += '<tr>';
		for(j = 0; j <= 6; j++)
		{
			if((i == 0) && (j < start))
			{
				html += '<td></td>';
			}
			else
			{
				if(dayNum > stop)
				{
					html += '<td></td>';
				}
				else
				{
					html += '<td' + ((date == year + '-' + (month < 10 ? '0' + month : month) + '-' + (dayNum < 10 ? '0' + dayNum : dayNum)) ? ' class="sel' + ((j==5 || j==6) ? ' we' : '') + '" style="background-color:#E6e6F0;"' : ((j==5 || j==6) ? ' class="we"' : '')) + '>';
					if(caldata[year] && caldata[year][month] && caldata[year][month][dayNum])
					{
						html += '<a href="?date=' + year + '-' + (month < 10 ? '0' + month : month) + '-' + (dayNum < 10 ? '0' + dayNum : dayNum) + '"><div style="height:4px;font-size:1px;"></div>';
					}
					html += dayNum;
					if(caldata[year] && caldata[year][month] && caldata[year][month][dayNum])
					{
						html += '<br/><span class="songcount">(' + caldata[year][month][dayNum] + ')</span>';
						html += '</a>';
					}
					html += '</td>';
					dayNum++;
				}
			}
		}
		html += '</tr>';
	}
	html += '</table>';
	year1 = document.getElementById('calyear');
	for(i = 0; i < year1.options.length; i++)
	{
		if(parseInt(year1.options[i].text) == parseInt(year))
		{
			year1.selectedIndex = i;
			break;
		}
	}
	document.getElementById('calmonth').selectedIndex = month - 1;
	cal2.innerHTML = html;
}
function calSwitch(forward)
{
	year1 = document.getElementById('calyear');
	if(forward)
	{
		if(selMonth == 12)
		{
			if(typeof data[selYear+1] == 'undefined')
				return;
			selYear++;
			selMonth = 1;
		}
		else
		{
			if(typeof data[selYear][selMonth+1] == 'undefined')
				return;
			selMonth++;
		}
	}
	else
	{
		if(selMonth == 1)
		{
			if(typeof data[selYear-1] == 'undefined')
				return;
			selYear--;
			selMonth = 12;
		}
		else
		{
			if(typeof data[selYear][selMonth-1] == 'undefined')
				return;
			selMonth--;
		}
	}
	createCal(selYear, selMonth);
}
function calSwitchMonth(index)
{
	selMonth = parseInt(index) + 1;
	createCal(selYear, selMonth);
}
function calSwitchYear(year)
{
	selYear = parseInt(year);
	createCal(selYear, selMonth);
}
