function setCal()
{
	var qString = "k=52";
	
	var d = new Date();
	var dm = d.getMonth() + 1;
	var dy = d.getYear();
	if (dy < 999) dy += 1900;
	
	qString = qString + "&year=" + dy + "&month=" + dm;

	sendRequest('../nig2_ajax/getEvents.php', qString, 'cal', dy, dm - 1);
}

function setCalFor(dy, dm)
{	
	/*var monarrL = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	
	if (((yearL % 4 == 0) && (yearL % 100 != 0)) || (yearL % 400 == 0)) monarr[1] = "29";
	leftL = (monarrL[monthL]-nowL);
		
	var nextMonth = new Date();
	nextMonth.setTime(nextMonth.getTime() + (leftL + 1) * 24 * 60 * 60 * 1000);*/
	
	var qString = "k=52";
	
	if ( (dm + 1) == 13) {
		dm = 0; dy = dy + 1;
	} else if (dm == -1) {
		dm = 11;
		dy = dy - 1;
	}
	
	qString = qString + "&year=" + dy + "&month=" + (dm + 1);
	
	sendRequest('../nig2_ajax/getEvents.php', qString, 'cal', dy, dm);
}

function getLastDateInMonth(y, m)
{
	  var d = new Date(y, m+1, 1);
	  d.setTime(d.getTime() - 12*3600*1000);
	  return d.getDate();
 }


function sendRequest(file, queryString, option, year, month) {
	var xmlHttp;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		xmlHttp = new XMLHttpRequest();
//		if (xmlHttp.overrideMimeType) xmlHttp.overrideMimeType('text/xml');
	} else if (window.ActiveXObject) { // IE
		try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	if (!xmlHttp) {
		alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');
		return false;
	} else {
		if(queryString == "") xmlHttp.open('GET', file, true);
		else {
			xmlHttp.open('POST', file, true);
			xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			xmlHttp.send(queryString);
		}
		xmlHttp.onreadystatechange = function () {
			if(xmlHttp.readyState == 2) { } 
			if(xmlHttp.readyState == 4) {
				if(xmlHttp.status == 200) {					
					if (option == 'cal')	{						
						var allArr = xmlHttp.responseText.split("^^^");	
						
						var eventsArr = allArr[0].split("^^");						
						var eventDet  = allArr[1].split("^^");

						var today = new Date();						
						
						//var now = new Date(today.getYear(), today.getMonth(), today.getDate());
						var now = new Date(year, month, getLastDateInMonth(year, month));
						
						var corr = (now.getYear()<1000?1900:0);  // wtf getYear = 109 in Browser außer IE ?? 												
						
						now = new Date((corr+now.getYear()), now.getMonth(), now.getDate()); // now nochmal zusammenbauen ohne Uhrzeit
																		
						var dates = new Array();
						
						if (today.getMonth() == month && (corr+today.getYear()) == year) dates[dates.length] = new Array("today", new Date(), "");
						
						for (var i = 0; i < eventsArr.length; i++) {
							var eventsArrDetail = eventsArr[i].split("||");
							dates[dates.length] = new Array(eventsArrDetail[0], new Date(eventsArrDetail[1], eventsArrDetail[2], eventsArrDetail[3]), eventsArrDetail[4], eventsArrDetail[5], eventsArrDetail[6], eventsArrDetail[7], eventsArrDetail[8], eventsArrDetail[9]);
						}
						
						//dates[dates.length] = new Array("CalDummy", now, "");
	
						/***** TODO: Dates mit php aus db aufbauen      ******/
						/***** Termine: Daten [0] = class , [1] = datum ******/
						/***** A C H T U N G: JS Monat! Januar = 0 !!!! ******/						
						createCalFor((corr+now.getYear()),now.getMonth(),dates); // cal.js
						
						var cats = new Array();
						
						for (var i = 0; i < eventDet.length; i++) {
							var eventDetArrDetail = eventDet[i].split("||");
							
							if (eventDetArrDetail.length > 1) {			
								
								var outputStr = '<span class="calEventCatTitle">' + eventDetArrDetail[3] + "." + eventDetArrDetail[2] + "." + eventDetArrDetail[1] + "<br />";
								outputStr = outputStr + eventDetArrDetail[4] + '</span><span class="calEventCatText"><br />' + eventDetArrDetail[5] + "<br /></span><hr />";
								
								cats[eventDetArrDetail[0]] = (cats[eventDetArrDetail[0]]==null)?outputStr:cats[eventDetArrDetail[0]]+outputStr;
							}
						}
						
						for (var i in cats) {
							var calDetDiv = document.getElementById("CalEventDetail_" + i);
							
							if (calDetDiv != null) {
								calDetDiv.innerHTML = cats[i];
							}
						}
					}
				} else if(xmlHttp.status == 404) {  }
				//loaded[div] = true;
			}
		};
		if(queryString == "") xmlHttp.send(null);
	} 
}

