function scrtotop() {
	if ((document.forms[0]) && (document.forms[0].elements["von_mon"])) {
		init_cal();
	}
	if (document.getElementById("red")) {
		document.getElementById("red").style.visibility = 'hidden';
		if (top.location.href == window.location.href) {
			top.location.href =	document.getElementById("red").getAttribute("href");
		}
	}
	top.scrollTo(0, 0);
}
window.onload = scrtotop;

var weekdays =	["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"];
var op_mo_text = ["Januar", "Februar", "M&auml;rz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"];
var DiM = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
var d_sel =	[];
var m_sel =	[];
var df0e;

var tbl_sc =	[];

var enddate, startdate, minstay;

function init_cal() {
	startdate =	Dte;
	df0e =	document.forms[0].elements;
	d_sel["von"] =	df0e["von_day"].options;
	d_sel["bis"] =	df0e["bis_day"].options;
	m_sel["von"] =	df0e["von_mon"].options;
	m_sel["bis"] =	df0e["bis_mon"].options;
	df0e["von_mon"].onchange =	function () {
		arrDays('von');
	};
	df0e["bis_mon"].onchange =	function () {
		arrDays('bis');
	};
	df0e["von_day"].onchange =	function () {
		setWeekday('von');
	};
	df0e["bis_day"].onchange =	function () {
		setWeekday('bis');
	};
	arrDays('von');
	arrDays('bis');
}
function persanz2() {
	document.forms[0].elements["erw"].options.selectedIndex =
	2 * document.forms[0].elements["dz"].options.selectedIndex + document.forms[0].elements["ez"].options.selectedIndex - 1;
}
function gt_m_f_s(fld) {
	return parseInt(m_sel[fld][m_sel[fld].selectedIndex].value.substr(5, 2), 10);
}
function gt_y_f_s(fld) {
	return parseInt(m_sel[fld][m_sel[fld].selectedIndex].value.substr(0, 4), 10);
}
function gt_d_f_s(fld) {
	return parseInt(d_sel[fld][d_sel[fld].selectedIndex].value, 10);
}

function arrDays(fld, x_day) {
	var StD =	1;
	var z =	0;
	var month =	gt_m_f_s(fld);
	var year =	gt_y_f_s(fld);
	var day =	(x_day) ?	x_day :	gt_d_f_s(fld);
	var NuD = DiM[month - 1];
	if ((((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) && (month == 2)) {
		NuD =	29;
	}
	if ((fld == "von") && ((month - 1) == Dte.getMonth()) && (year == Dte.getFullYear())) {
		StD =	Dte.getDate();
		//if (Dte.getHours() >= 18) {
		//	StD += 1;
		//}
	} else if ((fld == "bis") && (m_sel["von"][m_sel["von"].selectedIndex].value == m_sel["bis"][m_sel["bis"].selectedIndex].value)) {
		var vonDte =	new Date(gt_y_f_s("von"), gt_m_f_s("von") - 1, gt_d_f_s("von") + 1);
		StD =	vonDte.getDate();
	}
	d_sel[fld].length =	0;
	for (var i = StD; i <= NuD; i++) {
		d_sel[fld][z] =	new Option(i, i);
		z++;
	}
	d_sel[fld].length =	z;
	if (fld == "von") {
		arrDays('bis');
	}
	if (tbl_sc[fld] > 0) {
		build_c(fld);
	}
	setDay(fld, day);
}
function rearr_bis2() {
	var month_alt =	gt_m_f_s("bis");
	var dte_von =	new Date(gt_y_f_s("von"), gt_m_f_s("von") - 1, gt_d_f_s("von"));
	var dte_bis =	new Date(gt_y_f_s("bis"), month_alt - 1, gt_d_f_s("bis"));
	if (dte_von >= dte_bis) {
		var dte_bis_neu =	new Date(gt_y_f_s("von"), gt_m_f_s("von") - 1, gt_d_f_s("von") + 1);
		var month_neu =	dte_bis_neu.getMonth() + 1;
		if (month_neu != month_alt) {
			var cmp =	dte_bis_neu.getFullYear() + "-";
			if (month_neu <= 9) {
				cmp+=	"0";
			}
			cmp+=	month_neu;
			for (var i = 0; i < m_sel["bis"].length; i++) {
				if (m_sel["bis"][i].value == cmp) {
					m_sel["bis"].selectedIndex =	i;
				}
			}
			arrDays("bis", dte_bis_neu.getDate());
		} else {
			setDay("bis", dte_bis_neu.getDate());
		}
	}
}
function setDay(fld, day) {
	if ((gt_m_f_s(fld) == (Dte.getMonth() + 1)) && (gt_y_f_s(fld) == Dte.getFullYear())) {
		if (fld == "von") {
			day =	(day < Dte.getDate()) ?	Dte.getDate() :	day;
		} else {
			day =	(day < Dte.getDate() + 1) ?	Dte.getDate() + 1 :	day;
		}
	}
	for (var i = 0; i < d_sel[fld].length; i++) {
		if (parseInt(d_sel[fld][i].value) == day) {
			d_sel[fld][i].selected = true;
		}	
	}
	if (tbl_sc[fld] > 0) {
		document.getElementById('targ_' + fld).style.display =	"none";
		document.getElementById('targ_' + fld).removeChild(document.getElementById('pd' + fld));
		tbl_sc[fld] =	0;
	}
	setWeekday(fld);
}

function setWeekday(fld) {
	if (fld == "von") {
		arrDays('bis');
	}
	rearr_bis2();
}

function rearr_bis2() {
	var month_alt =	gt_m_f_s("bis");
	var dte_von =	new Date(gt_y_f_s("von"), gt_m_f_s("von") - 1, gt_d_f_s("von"));
	var dte_bis =	new Date(gt_y_f_s("bis"), month_alt - 1, gt_d_f_s("bis"));
	if (dte_von >= dte_bis) {
		var dte_bis_neu =	new Date(gt_y_f_s("von"), gt_m_f_s("von") - 1, gt_d_f_s("von") + 1);
		var month_neu =	dte_bis_neu.getMonth() + 1;
		if (month_neu != month_alt) {
			var cmp =	dte_bis_neu.getFullYear() + "-";
			if (month_neu <= 9) {
				cmp+=	"0";
			}
			cmp+=	month_neu;
			for (var i = 0; i < m_sel["bis"].length; i++) {
				if (m_sel["bis"][i].value == cmp) {
					m_sel["bis"].selectedIndex =	i;
				}
			}
			arrDays("bis", dte_bis_neu.getDate());
		} else {
			setDay("bis", dte_bis_neu.getDate());
		}
	}
}















function setCal(fld, x) {
	m_sel[fld].selectedIndex =	Math.min(Math.max(m_sel[fld].selectedIndex + x, 0), m_sel[fld].length - 1);
	build_c(fld);
}

function dte_cr(fld, d) {
	return new Date(gt_y_f_s(fld), gt_m_f_s(fld) - 1, gt_d_f_s(fld) + parseInt(d, 10));
}
function build_c(fld) {
	if (tbl_sc["von"] > 0) {
		document.getElementById('targ_von').removeChild(document.getElementById('pdvon'));
		tbl_sc["von"] =	0;
	}
	if (tbl_sc["bis"] > 0) {
		document.getElementById('targ_bis').removeChild(document.getElementById('pdbis'));
		tbl_sc["bis"] =	0;
	}
	var minstay =	1;
	var endmonth =	m_sel["von"][m_sel["von"].length - 1].value.split("-");
	var enddate =	new Date(endmonth[0], endmonth[1] - 1, DiM[endmonth[1] - 1]);
	var td, a, txt, chil, t_date, chk, col_str, t_out;
	var month =	gt_m_f_s(fld);
	var year =	gt_y_f_s(fld);
	var day =	gt_d_f_s(fld);
	var NuD =	((((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0)) && (month == 2)) ?	29 :	DiM[month - 1];
	var StD =	1;
	var offset =	new Date(year, month - 1, 0);
	var t_day =	-offset.getDay();
	var targ =	document.getElementById('targ_' + fld);
	if (tbl_sc[fld] > 0) {
		targ.removeChild(document.getElementById('pd' + fld));
	}
	var noback =	0;
	var noforth =	0;
	if ((fld == "von") && ((month - 1) == startdate.getMonth()) && (year == startdate.getFullYear())) {
		StD =	startdate.getDate();
		noback =	1;
	} else if ((fld == "bis") && (m_sel["von"][m_sel["von"].selectedIndex].value == m_sel["bis"][m_sel["bis"].selectedIndex].value)) {
		StD =	dte_cr("von", 1).getDate();
		noback =	1;
	}
	
	
	
	var enddate_cpm =	new Date(year, month - 1, NuD);
	if (enddate < enddate_cpm) {
		NuD =	(fld == "von") ?	enddate.getDate() - minstay :	enddate.getDate();
	}	
	if (enddate <= enddate_cpm) {
		noforth =	1;
	}
	var tbl =	document.createElement("table");
	tbl.cellSpacing =	"1";
	tbl.id =	"pd" + fld;
	var tbd =	document.createElement("tbody");
	var tr =	document.createElement("tr");
	
	td =	document.createElement("th");
	txt =	document.createTextNode("<");
	chil =	document.createElement("a");
	chil.setAttribute("href", "javascript: setCal('" + fld + "', -1);");
	if (noback == 0) {
		chil.appendChild(txt);
		td.appendChild(chil);
	}
	tr.appendChild(td);
	
	td =	document.createElement("th");
	td.colSpan =	5;
	
	td.style.textAlign =	"center";
	txt =	document.createTextNode(op_mo_text[month - 1]);
	td.appendChild(txt);
	tr.appendChild(td);
	
		
	td =	document.createElement("th");
	txt =	document.createTextNode(">");
	chil =	document.createElement("a");
	chil.setAttribute("href", "javascript: setCal('" + fld + "', 1);");
	if (noforth == 0) {
		chil.appendChild(txt);
		td.appendChild(chil);
	}
	tr.appendChild(td);

	
	tbd.appendChild(tr);
	var tr =	document.createElement("tr");
	for (var col = 0; col <= 6; col++) {
		td =	document.createElement("th");
		col_str =	(col < 6) ?	col + 1 :	0;
		txt =	document.createTextNode(weekdays[col_str].substr(0, 2));
		td.appendChild(txt);
		tr.appendChild(td);
	}
	tbd.appendChild(tr);
	for (var row = 1; row <= 6; row++) {
		chk = 0;
		tr = document.createElement("tr");
		for (col = 0; col <= 6; col++) {
			t_day++;
			t_date = new Date(year, month - 1, t_day);
			if (t_date.getMonth() == month - 1) {
				td = document.createElement("td");
				t_out =	t_date.getDate();
			 	if ((t_out >= StD) && (t_out <= NuD)) {
					txt =	document.createTextNode(t_out);
					chil =	document.createElement("a");
					chil.setAttribute("href", "javascript: setDay('" + fld + "', '" + t_out + "');");
					chil.appendChild(txt);
				} else {
					chil = document.createTextNode(t_date.getDate());
				}
			} else {
				td = document.createElement("th");
				chil = document.createTextNode(" ");
			}
			td.appendChild(chil);
			if ((t_date.getMonth() <= month - 1) && (t_date.getFullYear() <= year)) {
				chk = 1;
			}
			tr.appendChild(td);
		}
		if (chk == 1) {
			tbd.appendChild(tr);
		}
	}
	tbl.appendChild(tbd);
	targ.appendChild(tbl);
	targ.style.top =	(absTop(df0e[fld + "_mon"]) + 20) + "px";
	targ.style.left =	absLeft(df0e[fld + "_mon"]) + "px";
	targ.style.display =	"block";
	tbl_sc[fld] =	month;
	document.onmouseup =	cal_hideClk;
}
function cal_hideClk(event) {
	var t =	(window.event) ?	window.event.srcElement :	event.target;
	while (t.parentNode != null) {
		if ((t.id == "pdvon") || (t.id == "pdbis")) {
			return true;
		}
		t =	t.parentNode;
	}
	document.onmouseup =	null;
	tbl_sc['von'] =	0;
	tbl_sc['bis'] =	0;
	if (document.getElementById('pdbis'))
	document.getElementById('targ_bis').removeChild(document.getElementById('pdbis'));
	document.getElementById('targ_von').style.display =	"none";
	if (document.getElementById('pdvon'))
	document.getElementById('targ_von').removeChild(document.getElementById('pdvon'));
	document.getElementById('targ_bis').style.display =	"none";
	return true;
}
function absLeft(el) {
     return (el.offsetParent) ?	el.offsetLeft + absLeft(el.offsetParent) :	el.offsetLeft;
}
function absTop(el) {
     return (el.offsetParent) ?	el.offsetTop + absTop(el.offsetParent) :	el.offsetTop;
}







