var http = null;
	if (window.XMLHttpRequest) {
	   http = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
	   http = new ActiveXObject("Microsoft.XMLHTTP");
	}

var ggday;

function getCalendar(month, year,  day){
	
	//document.write("ajax/ajax.php?op=overview&month="+month+"&year="+year);
	ggday = day;
	if (http != null) {
		http.open("GET", "ajax/ajax.php?op=overview&month="+month+"&year="+year, true);
		http.onreadystatechange = setCalendar;
		http.send(null);
   }
}

function setCalendar(){
	if (http.readyState == 4) {
		var daten = http.responseXML;
		
		var header = daten.getElementsByTagName("header");
		
		for (var i = 0; i < header.length; i++) {
			var firstday, lastday, firstday_num, lastday_num, num, firstKw, year,now_day, now_month, now_year, monthName;
			var header_info = header[i];
			/*
			<firstday>{$class_ret.firstday}</firstday>
		<lastday>{$class_ret.lastday}</lastday>
		<firstday_num>{$class_ret.firstday_num}</firstday_num>
		<lastday_num>{$class_ret.lastday_num}</lastday_num>
		<num>{$class_ret.num}</num>
		<firstKw>{$class_ret.firstKw}</firstKw>
		<year>{$class_ret.year}</year>
			*/
			for(var j = 0; j < header_info.childNodes.length; j++){
				with (header_info.childNodes[j]) {
					if (nodeName == "firstday") {
						if(firstChild != null)firstday = firstChild.nodeValue;
					}else if (nodeName == "lastday") {
						if(firstChild != null)lastday = firstChild.nodeValue;
					}else if (nodeName == "firstday_num") {
						if(firstChild != null)firstday_num = firstChild.nodeValue;
					}else if (nodeName == "lastday_num") {
						if(firstChild != null)lastday_num = firstChild.nodeValue;
					}else if (nodeName == "num") {
						if(firstChild != null)num = firstChild.nodeValue;
					}else if (nodeName == "firstKw") {
						if(firstChild != null)firstKw = firstChild.nodeValue;
					}else if (nodeName == "year") {
						if(firstChild != null)year = firstChild.nodeValue;
					}else if (nodeName == "now_day") {
						if(firstChild != null)now_day = firstChild.nodeValue;
					}else if (nodeName == "now_month") {
						if(firstChild != null)now_month = firstChild.nodeValue;
					}else if (nodeName == "now_year") {
						if(firstChild != null)now_year = firstChild.nodeValue;
					}else if (nodeName == "monthname") {
						if(firstChild != null)monthName = firstChild.nodeValue;
					}
				}
			}
			
			
			
			var monthHead = document.getElementById('monthHead');
			monthHead.innerHTML = '';
			
			var h2Head = document.createElement('h2');
			h2Head.innerHTML = monthName+' '+year;
			
			var alinks = document.createElement('a');
			alinks.innerHTML = unescape('zur%FCck | ');
			if(num == 1){
				var backnum = 12;
				var backyear = year;
				backyear--;
			}
			else{
				var backnum = num;
				backnum = backnum - 1;
				var backyear = year;
			}
			
			//alinks.setAttribute('onclick',"getCalendar('"+backnum+"','"+backyear+"');");
			alinks.setAttribute('href',"kalender.php?month="+backnum+"&year="+backyear+"");
			var arechts = document.createElement('a');
			arechts.innerHTML = unescape(' | weiter');
			
			if(num == 12){
				var fornum = 1;
				var foryear = year;
				foryear++;
			}
			else{
				var fornum = num;
				fornum = fornum-1;
				fornum = fornum +2;
				var foryear = year;
			}
			
			//arechts.setAttribute('onclick',"getCalendar('"+fornum+"','"+foryear+"');");
			arechts.setAttribute('href',"kalender.php?month="+fornum+"&year="+foryear+"");
			
			var heute = document.createElement('a');
			heute.setAttribute('href',"kalender.php");
			heute.innerHTML = unescape('heute');
			
			monthHead.appendChild(h2Head);
			monthHead.appendChild(alinks);
			monthHead.appendChild(heute);
			monthHead.appendChild(arechts);
			

			var innerCalendar = document.getElementById('calendar');
			//innerCalendar.innerHTML ='';
			/*var innerCalendar = document.getElementById('calendarFeld');
				innerCalendar.innerHTML = '';
			*/
			
			var i = 1;
			var dayc = 1;
			var kw = firstKw;
			var ntr = document.createElement('tr');
			/*var ntd = document.createElement('td');
			ntd.innerHTML = kw;
			ntd.className = 'kw';
			ntr.appendChild(ntd);*/
			var fday = 0;
			while(dayc <= lastday_num){
				var ntd = document.createElement('td');
				if(i >= firstday){
					
					ntd.innerHTML = dayc;
					if((dayc == now_day)&&(num == now_month)&&(year == now_year)){
						ntd.className = 'nowDay';
						var fday = 1;
						if(ggday == null)getCalendarDay(dayc,num,year);
						
					}
					ntd.id = 'Day'+dayc;
					ntd.setAttribute('onclick',"getCalendarDay('"+dayc+"','"+num+"','"+year+"');");
					dayc++;
				}else{
					ntd.innerHTML = '&nbsp;';
				}
				ntr.appendChild(ntd);
				if((i % 7) == 0){
					innerCalendar.appendChild(ntr);
					var ntr = document.createElement('tr');
					//var ntd = document.createElement('td');
					//kw++;
					//ntd.innerHTML = kw;
					//ntd.className = 'kw';
					//ntr.appendChild(ntd);
					//if(kw == 36)document.getElementById('test').innerHTML = 'asd';
				}
				i++;
			}
			if(ggday != null)getCalendarDay(ggday,num,year);
			innerCalendar.appendChild(ntr);
			
			if(fday == 0){
				getCalendarDay(1,num,year);	
			}
			//document.getElementById('test').innerHTML = kw;	
		}
		
		var tabs = daten.getElementsByTagName("tab");
		//document.getElementById('test').innerHTML = tab.length;
		var temp_term_to_day = 0;
		
		for (var i = 0; i < tabs.length; i++) {
			var term_id, term_head, term_text, term_prio, term_from_day,term_from_month,term_from_year, term_to_day, term_to_month,term_length,term_to_year;
			var tab = tabs[i];
			/*
			<term_id>{$term.id}</term_id>
		<term_head>{$term.headline}</term_head>
		<term_text>{$term.text}</term_text>
		<term_prio>{$term.prio}</term_prio>
		<term_from_day>{$term.from_day}</term_from_day>
		<term_to_day>{$term.to_day}</term_to_day>
		<term_to_month>{$term.to_month}</term_to_month>
			*/
			
			for(var j = 0; j < tab.childNodes.length; j++){
				with (tab.childNodes[j]) {
					if (nodeName == "term_id") {
						if(firstChild != null)term_id = firstChild.nodeValue;
					}else if (nodeName == "term_head") {
						if(firstChild != null)term_head = firstChild.nodeValue;
					}else if (nodeName == "term_text") {
						if(firstChild != null)term_text = firstChild.nodeValue;
					}else if (nodeName == "term_prio") {
						if(firstChild != null)term_prio = firstChild.nodeValue;
					}else if (nodeName == "term_from_day") {
						if(firstChild != null)term_from_day = firstChild.nodeValue;
					}else if (nodeName == "term_from_month") {
						if(firstChild != null)term_from_month = firstChild.nodeValue;
					}else if (nodeName == "term_from_year") {
						if(firstChild != null)term_from_year = firstChild.nodeValue;
					}else if (nodeName == "term_to_day") {
						if(firstChild != null)term_to_day = firstChild.nodeValue;
					}else if (nodeName == "term_to_month") {
						if(firstChild != null)term_to_month = firstChild.nodeValue;
					}else if (nodeName == "term_to_year") {
						if(firstChild != null)term_to_year = firstChild.nodeValue;
					}
				}
			}
			
			//alert(term_head);
			if(temp_term_to_day < term_to_day){
				var prio = 0;
				var temp_term_to_day = term_to_day;
			}
			
			if((year == term_from_year)&&(num == term_from_month)){
				var dayele = document.getElementById('Day'+term_from_day);
				//dayele.className += ' termDay';
				if(term_prio > prio){
					dayele.className += ' termDay prioC'+term_prio;
					dayele.lang = term_prio;
					prio = term_prio;
				}
			}
						//document.getElementById('test').innerHTML = term_length;
							
			num = toint(num);
			term_from_month = toint(term_from_month);
			term_to_month = toint(term_to_month);
			year = toint(year);
			term_from_year = toint(term_from_year);
			term_to_year = toint(term_to_year);
			
			if((year == term_from_year)&&(num == term_from_month)){
				if((year != term_to_year)||(num != term_to_month)){
					var term_length = lastday_num - term_from_day;
					var from_day = 	++term_from_day;
				}else if(num == term_to_month){
					var term_length = term_to_day - term_from_day;
					var from_day = 	++term_from_day;
				}
			}else if((year == term_from_year)&&(num > term_from_month)&&(num < term_to_month)){
				var term_length = lastday_num;
				var from_day = 	1;
			}else if( (year == term_to_year) && (num < term_to_month)){
				var term_length = lastday_num;
				var from_day = 	1;
			}else if( (year == term_to_year) && (num == term_to_month)){
				var term_length = term_to_day;
				var from_day = 	 1;
			}
			

			/*
			if(year < term_to_year){
				if(num < term_from_month){
							
				}else{
					
				}
			}else if(num < term_to_month){
				var term_length = lastday_num - term_from_day;
				var from_day = 	++term_from_day;
			}else if(term_to_day > term_from_day){
				var term_length = term_to_day - term_from_day;
				var from_day = 	++term_from_day;
			}*/
			//document.getElementById('test').innerHTML = term_length;
			var nday = from_day;
			for(var a = 0; a < term_length; a++){
				
				//document.getElementById('test').innerHTML += nday+" ";
				var dayele = document.getElementById('Day'+nday);
				if(term_prio > dayele.lang){
				dayele.lang = term_prio;
				dayele.className += ' termDay prioC'+term_prio;
				}
				var nday = ++nday;
			}
			
			/*var termDiv = document.createElement('div');
			termDiv.className = 'prio'+term_prio;
			dayele.appendChild(termDiv);
			*/
			
			var user_data = tab.getElementsByTagName("user"); 
			//document.getElementById('test').innerHTML = user_data.length;
			for (var k = 0; k < user_data.length; k++){
				var user_id, user_name;
				var user = user_data[k];
				
				for(var l = 0; l < user.childNodes.length; l++){
					with (user.childNodes[l]) {
						if (nodeName == "user_id") {
							if(firstChild != null)user_id = firstChild.nodeValue;
						}else if (nodeName == "user_name") {
							if(firstChild != null)user_name = firstChild.nodeValue;
						}
					}
				}
				
				//document.getElementById('test').innerHTML += user_name;
				
			}
			
		}
		
	}
}










