﻿// JavaScript Document
var d ;
var dt;
var dwt;
var dm;
var dj;
var anmeldeMonat;
var anmeldeJahr;
var mon = "x";
var jah = "x";
//var termine = new Array("09-08-07#test.html", "09-09-5#http://www.google.de", "09-10-03#test2.html");
function Kalender (andererMonat, anderesJahr) {
	if(mon != "x"){andererMonat=mon;}
	if(jah != "x"){anderesJahr=jah;}
	d = new Date();
	var monat = new Array("Januar", "Februar", "M&auml;rz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
 	var tag = new Array("So", "Mo", "Di", "Mi", "Do", "Fr", "Sa" ); 

	if(anmeldeMonat>=0){
		d.setMonth(Number(anmeldeMonat)-1, 1);
	}
	if(andererMonat>=0){
		d.setMonth(andererMonat, 1);
	}
	
	
	if(anmeldeJahr>=0){
		d.setYear(anmeldeJahr);
	}
	if(anderesJahr>=0){
		d.setYear(anderesJahr);
	}
	
	dt = d.getDate();
	dwt = tag[d.getDay()-1];
		dm = d.getMonth();
	dj = d.getYear();
	if (dj < 999)
  	dj += 1900;
		
	
	
	// ermitteln, wie viele Tage der Monat hat
	var Stop = 31;
  	if (dm == 3 || dm == 5 || dm == 8 || dm == 10){
    	--Stop;
	}
  	if (dm == 1) {
    	Stop = Stop - 3; //28 Tage
	}
    if (dj % 4 == 0){
		Stop++; // alle 4 Jahre 29 Tage
	}
    if (dj % 100 == 0){
		Stop--; // alle 100 Jahre doch nur 28 Tage
	}
    if (dj % 400 == 0){
		Stop++; // alle 400 Jahre doch wieder 29 Tage
	}


	// Kalender erzeugen
	document.getElementById("kalender").innerHTML = "<div id='kalenderTitel'><div onclick='zurueck("+dm+","+dj+")' style='float:left; cursor:pointer;height:18px;width:18px;background-image:url(Bilder/links.gif); background-repeat:no-repeat;' ></div>  <div onclick='vor("+dm+","+dj+")' style='float:right;cursor:pointer;height:18px;width:18px;background-image:url(Bilder/rechts.gif); background-repeat:no-repeat;' ></div>" + monat[dm] + " " + dj + "</div>";
	document.getElementById("kalender").innerHTML += "<div class='kalenderZelle'><div class='zellinhalt'>Mo</div></div><div class='kalenderZelle'><div class='zellinhalt'>Di</div></div><div class='kalenderZelle'><div class='zellinhalt'>Mi</div></div><div class='kalenderZelle'><div class='zellinhalt'>Do</div></div><div class='kalenderZelle'><div class='zellinhalt'>Fr</div></div><div class='kalenderZelle'><div class='zellinhalt'>Sa</div></div><div class='kalenderZelle'><div class='zellinhalt'>So</div></div><br  clear='all'/>";
  	
	// Tage einsetzen
	var heute = new Date();
	var wochentag = 1;
	var start = true;
	var y = 0;
	d.setDate(1);
	dt = d.getDate();
	dwt = tag[d.getDay()];
	
	
	var erster = dwt;
	for(x=1;x<=42;x++){ //alle Tagesfelder erzeugen
		if (start == true){ // ersten Tag finden
			if(tag[d.getDay()] != tag[wochentag]){//leere Tage setzen
				document.getElementById("kalender").innerHTML +="<div class='kalenderZelle'><div class='zellinhalt'>&nbsp;</div></div>"; // tag
				y++;
				
			}else{ // ersten Tag des Monats einsetzen
				if(heute.getDate()== d.getDate() && heute.getMonth() == d.getMonth() && heute.getYear() == d.getYear()){
					document.getElementById("kalender").innerHTML +="<div class='heute'><div class='zellinhalt'>"+dt+"</div></div>"; // tag
					start = false;
				}else{
					dj -= 2000;
				if (String(dj).length == 1){
					dj = "0" + dj;
				}
				//alert(dj);
				if (String(dt).length == 1){
					dt = "0" + dt;
				}
				dm = dm+1;
				
				if (String(dm).length == 1){
					dm = "0" + dm;
					
				}
					var anzeige=false;
					for(z=0; z<termine.length; z++){
						termin = termine[z].split("#");
						var dasDatum = String(dj)+"-"+String(dm)+"-"+String(dt);
						//alert(dasDatum + "-" +termin[0]);
						if(termin[0] == dasDatum){
							var anzeige=true;
							var wert=termin[1];
							var tip=termin[2];
						}
					}
					if(anzeige == true){
							document.getElementById("kalender").innerHTML +="<div class='eintrag'><div class='zellinhalt'><a href='"+wert+"' title='"+tip+"' >"+dt+"</a></div></div>"; // kennzeichnet einen Tag mit Termin
						}else{
							document.getElementById("kalender").innerHTML +="<div class='kalenderZelle'><div class='zellinhalt'>"+dt+"</div></div>"; // tag
					}
					start = false;
				}

			}
			
		}else{
			
			if(Stop > 1){ //alle Tage einsetzen
				d.setDate(x-y);
				dt = d.getDate();
				dwt = tag[d.getDay()];
				dj = d.getYear();
				dm = d.getMonth();
				if (dj < 999){
  				dj += 1900;
				}
				dj -= 2000;
				if (String(dj).length == 1){
					dj = "0" + dj;
				}
				if (String(dt).length == 1){
					dt = "0" + dt;
				}
				dm = dm+1;
				if (String(dm).length == 1){
					dm = "0" + dm;
					
				}
				if((heute.getDate()== d.getDate()) && (heute.getMonth() == d.getMonth()) && (heute.getYear() == d.getYear())){
					document.getElementById("kalender").innerHTML +="<div class='heute'><div class='zellinhalt'>"+dt+"</div></div>"; // kennzeichnet den heutigen Tag
				}else{
					
					anzeige=false;
					for(z=0; z<termine.length; z++){
						termin = termine[z].split("#");
						var dasDatum = String(dj)+"-"+String(dm)+"-"+String(dt);
						//alert(dasDatum + "-" +termin[0]);
						if(termin[0] == dasDatum){
							var anzeige=true;
							var wert=termin[1];
							var tip=termin[2];
						}
					}
					if(anzeige == true){
						//alert(tip);
							document.getElementById("kalender").innerHTML +="<div class='eintrag'><div class='zellinhalt'><a href='"+wert+"' title='"+tip+"' >"+dt+"</a></div></div>"; // kennzeichnet einen Tag mit Termin
						}else{
							document.getElementById("kalender").innerHTML +="<div class='kalenderZelle'><div class='zellinhalt'>"+dt+"</div></div>"; // tag
					}
				}
				Stop--;
			}else{ // Resttage einsetzen
				document.getElementById("kalender").innerHTML +="<div class='kalenderZelle'><div class='zellinhalt'>&nbsp;</div></div>"; // tag
			}
		}
		if(x%7 == 0){
				document.getElementById("kalender").innerHTML +="<br clear='all'/>"; // tag
			}
		wochentag++;
		if(wochentag > 6){
			wochentag = 0;
		}
	}
	mon = "x";
	jah = "x";
}

function vor(neuerMonat, neuesJahr){
	//neuerMonat = Number(neuerMonat);
	//neuesJahr = Number(neuesJahr);
	if(neuerMonat < 11){
		neuerMonat = neuerMonat +1;
		//alert(neuerMonat);
	}else{
		neuesJahr = neuesJahr +1;
		neuerMonat = 0;
	}
	
	Kalender(neuerMonat, neuesJahr);
}

function zurueck(neuerMonat, neuesJahr){
	if(neuerMonat >= 1){
		neuerMonat = neuerMonat -1;
		//alert(neuerMonat);
	}else{
		neuesJahr = neuesJahr -1;
		neuerMonat = 11;
	}
	
	
	Kalender(neuerMonat, neuesJahr);
}


