var monatsnamen = new Array("Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");
var aktDatum = new Date();
var datum = new Array(2);
datum['an'] = aktDatum;
datum['ab'] = aktDatum;
var altan = -1;
var altab = -1;
var navi = "forward";

//document.write("<font class=\"maincontent\">Sie können unterhalb des Kalenders den Ankunfts- oder Abreisetag auswählen.<br>"+
//			"Anschließen wählen Sie den Tag, indem sie auf den Tag im Kalender klicken!<br>"+
//			"Haben Sie Ihren gewünschten Zeitraum gewählt, drücken Sie auf weiter!</font><br><br>");
document.write("<table width=\"60%\"><tr valign=\"top\"><td align=\"center\"><font size=\"2\"><b>Anreise</b></font><br><br>");
writeHead("an");
writeBody("an");
document.write("</td><td align=\"center\"><font size=\"2\"><b>Abreise</b></font><br><br>");
writeHead("ab");
writeBody("ab");
document.write("</td></tr></table><br>");
//writeFead();

function writeHead(typ)
{
	document.write("<table cellpadding=\"0\" cellspacing=\"0\" width=\"151\" class=\"month\" style=\"border: 1px solid #AA5500\"><tr height=\"21\">"+
			"<td width=\"21\" class=\"forback\" id=\"back\" onMouseup=\"exit('back','"+typ+"')\">&laquo;</td>"+
			"<td width=\"111\" align=\"center\" id=\""+typ+"_monat\">"+monatsnamen[datum[typ].getMonth()]+" "+String(datum[typ].getFullYear()).substr(2,2)+"</td>"+
			"<td class=\"forback\" id=\"forward\" onMouseup=\"exit('forward','"+typ+"')\">&raquo;</td>"+
			"</tr></table>");
}
function writeBody(typ)
{
	document.write("<table cellpadding=\"0\" cellspacing=\"0\" width=\"151\" style=\"border:1px solid #AA5500\">"+
			"<tr><td valign=\"top\">");
	writeDays(typ);
	document.write("</td></tr></table>");
}
function writeFead()
{
	document.write("<table class=\"maincontent\" cellpadding=\"0\" cellspacing\"0\">"+
			"<tr><td>Ankunftstag:</td><td><input type=\"text\" id=\"tagan\" name=\"tagan\" class=\"datumsfeld\" size=\"12\" readonly=\"readonly\"></td></tr>"+
			"<tr><td>Abreisetag:</td><td><input type=\"text\" id=\"tagab\" name=\"tagab\" class=\"datumsfeld\" size=\"12\" readonly=\"readonly\"></td></tr></table>");
}
function writeDays(typ)
{
	document.write("<table class=\"leer\" width=\"100%\">"+
			"<tr align=\"center\"><td>Mo</td><td>Di</td><td>Mi</td><td>Do</td><td>Fr</td><td>Sa</td><td>So</td></tr>");
	for(i = 1; i <= 42; i++)
	{
		if((i%7) == 1)
			document.write("<tr>");
		document.write("<td class=\"tage\" id=\""+typ+"_"+(i-1)+"\" onMouseover=\"overDay('"+typ+"_"+(i-1)+"','"+typ+"')\" onMouseout=\"outDay('"+typ+"_"+(i-1)+"','"+typ+"')\" onClick=\"zeitraum('"+typ+"_"+(i-1)+"','"+typ+"')\"></td>");
		if((i%7) == 0)
			document.write("</tr>");
	}
	document.write("</table>");
	newBody(typ);
}


function overDay(id,typ)
{
	if(document.getElementById(id).getAttribute("name") != 0)
		document.getElementById(id).style.background = "#FE9B37";	
}
function outDay(id,typ)
{
	if(document.getElementById(id).getAttribute("name") == 0)
		return;
	var tag = document.getElementById(id).firstChild.nodeValue;
	if(id == altan)
		document.getElementById(id).style.background = "#E28279";
	else if(id == altab)
		document.getElementById(id).style.background = "#DE0000";
	else if(tag == aktDatum.getDate() && aktDatum.getMonth() == datum[typ].getMonth() && aktDatum.getFullYear() == datum[typ].getFullYear())
		document.getElementById(id).style.background = "#ABDAFE";
	else
		document.getElementById(id).style.background = "";
		
}
function zeitraum(id,typ)
{
	document.getElementById("weiter").value = "weiter";
	if(document.getElementById(id).getAttribute("name") == 0)
		return;
	tag = document.getElementById(id).firstChild.nodeValue;
	month = datum[typ].getMonth()+1;

	var dateSumme = getDateAsSumme(tag,month,datum[typ].getFullYear());
	var aktDateSumme = getDateAsSumme(aktDatum.getDate(),aktDatum.getMonth()+1,aktDatum.getFullYear());
	if(dateSumme - aktDateSumme < 0)
	{ alert("Dieser Tag liegt in der Vergangenheit!"); return; }
	
	if(tag < 10)
		tag= "0"+tag;
	if(month < 10)
		month = "0"+month;
		
	if(typ == "an")
	{
		var tagAb = document.getElementById("tagab").value.substr(0,2);
		var monatAb = document.getElementById("tagab").value.substr(3,2);
		var jahrAb = document.getElementById("tagab").value.substr(6,4);
		var ab = jahrAb+monatAb+tagAb;
		var an = String(datum[typ].getFullYear())+month+tag;
		if(ab && ab - an <= 0)
			alert("Der Ankunftstag kann nicht nach dem Abreisetag sein!");
		else
		{
			if(altan != -1)
			{
				document.getElementById(altan).style.background = "";
				if(document.getElementById(altan).firstChild.nodeValue == aktDatum.getDate() && aktDatum.getMonth() == datum[typ].getMonth() && aktDatum.getFullYear() == datum[typ].getFullYear())
					document.getElementById(altan).style.background = "#ABDAFE";
			}
			document.getElementById("tagan").value = tag+"."+month+"."+datum[typ].getFullYear();
			document.getElementById(id).style.background = "#E28279";
			altan = id;
		}
	}
	else
	{
		var tagAn = document.getElementById("tagan").value.substr(0,2);
		var monatAn = document.getElementById("tagan").value.substr(3,2);
		var jahrAn = document.getElementById("tagan").value.substr(6,4);
		var an = jahrAn+monatAn+tagAn;
		var ab = String(datum[typ].getFullYear())+month+tag;
		if(ab - an <= 0)
			alert("Der Abreisetag kann nicht vor dem Ankunftstag sein!");
		else
		{
			if(altab != -1)
				document.getElementById(altab).style.background = "";
			document.getElementById("tagab").value = tag+"."+month+"."+datum[typ].getFullYear();
			document.getElementById(id).style.background = "#DE0000";
			altab = id;
		}
	}
}

function getDateAsSumme(tag,monat,year)
{
	if(tag < 10)
		tag= "0"+tag;
	if(monat < 10)
		monat = "0"+monat;
	return String(year)+String(monat)+String(tag);
}

function exit(typ,id)
{
	altan = -1;
	altab = -1;
	var jahr = datum[id].getFullYear();
	var monat;
	navi = typ;
	if(typ == "back")
	{
		if(datum[id].getMonth() == 1)
		{
			monat = 12;
			jahr = datum[id].getFullYear()-1;
		}
		else
			monat = datum[id].getMonth()-1;
	}
	else if(typ == "forward")
	{
		if(datum[id].getMonth() == 12)
		{
			monat = 1;
			jahr = datum[id].getFullYear()+1;	
		}
		else
			monat = datum[id].getMonth()+1;
	}
	datum[id] = new Date(jahr,monat,1);
	newHead(id);
	newBody(id);
}


function newHead(id)
{
	document.getElementById(id+"_monat").firstChild.nodeValue = monatsnamen[datum[id].getMonth()]+" "+String(datum[id].getFullYear()).substr(2,2);
}
function newBody(id)
{
	var tag = 1;
	for(var i = 1; i <= 42; i++)
	{
		var weekday = new Date(datum[id].getFullYear(),datum[id].getMonth(),tag);
		document.getElementById(id+"_"+(i-1)).style.background = "";
		if((i%7) != weekday.getDay() || tag > getDaysOfMonth(id))
		{
			document.getElementById(id+"_"+(i-1)).innerHTML = "";
			if(navigator.appName == "Microsoft Internet Explorer")
				document.getElementById(id+"_"+(i-1)).removeAttribute("className");
			else
				document.getElementById(id+"_"+(i-1)).removeAttribute("class");
			document.getElementById(id+"_"+(i-1)).setAttribute("name",0);
		}
		else
		{
			document.getElementById(id+"_"+(i-1)).innerHTML = tag;
			if(navigator.appName == "Microsoft Internet Explorer")
				document.getElementById(id+"_"+(i-1)).className = "tage";
			else
				document.getElementById(id+"_"+(i-1)).setAttribute("class","tage");
			document.getElementById(id+"_"+(i-1)).setAttribute("name",1);
			
			if(tag == aktDatum.getDate() && datum[id].getMonth() == aktDatum.getMonth() && datum[id].getFullYear() == aktDatum.getFullYear())
				document.getElementById(id+"_"+(i-1)).style.background = "#ABDAFE";
			tag++;
		}
	}
}
function checkInput(id)
{
	if(document.getElementById("tagan").value)
	{
		if(!document.getElementById("tagab").value)
		{
			alert("Sie müssen noch den Abreisetag festlegen!");
			return false;
		}
	}
	else
	{
		if(document.getElementById("tagab").value)
		{
			alert("Sie müssen noch den Ankunftstag festlegen!");
			return false;
		}
	}
	
	if(id == 1)
		document.getElementById("form").action = "hotels.php";
	else if(id == 2)
		document.getElementById("form").action = "cart.php";

	document.getElementById("form").submit();
}
function getDaysOfMonth(id)
{
	tage = new Array(31,29,31,30,31,30,31,31,30,31,30,31);
	if(datum[id].getMonth() == 2)
		if(datum[id].getFullYear() % 4 == 0)
			if(datum[id].getFullYear() % 100 != 0 && datum[id].getFullYear() % 400 == 0)
				return 29;
	return tage[datum[id].getMonth()];
}
