var AllowPastDates = false;
var AlignCalLeft = false;



function popCalendar(elm, e, obj)
{
	e.cancelBubble = true;
	
	var inText;
	
	var frmRef = obj.form.name;
	var ipRef = obj.name;
	
	var apLeft;
	var apTop;
	var objH = obj.offsetHeight;
	var objW = obj.offsetWidth;
	
	var eTop = e.offsetY;
	var eLeft = e.offsetX;
	
	
	//alert(e.x);
	//alert(e.y);
	
	docTop = document.body.scrollTop;
	
	
//	alert(e.screenX);
//	alert(e.screenY);
//	
	apLeft = e.x - eLeft;
	apTop = docTop + e.y - eTop + objH + 5;
	
	if (AlignCalLeft)
	{
		apLeft = apLeft + objW + 5;
		apTop = docTop + e.y - eTop;
	}
		
	
	var clientApp = navigator.appName;
	var isIE;
	
	
	
	if (clientApp.indexOf("Microsoft Internet Explorer") != -1)
	{
		isIE = true;
		apLeft = apLeft - 5;
		apTop = apTop - 8;
	}	else {
		isIE = false;
	
	}

	
	
	
	
	var od = document.getElementById(elm);
	
	
	
	if (od.style.display == "block") 
	{
	
		od.style.display = "none";
		
	} else {
	
	
		od.style.position = "absolute";
		od.style.posLeft = apLeft;
		od.style.posTop = apTop;
		//od.runtimeStyle.
		od.style.height = 130;
		od.style.zIndex = 5;
		od.style.backgroundColor = "#ffffff";
		od.style.width = 126;
		od.style.display = "block";
		
		
		var reg = /\d+\W\d+\W\d{4}/gi;
		if (reg.test(obj.value))
		{
			//alert(obj.value.substr(6, 4) + "." + parseInt(obj.value.substr(3, 2)) - 1 + "." + obj.value.substr(0, 2) );
			var newD = new Date(obj.value.substr(6, 4), parseInt(obj.value.substr(3, 2)) - 1, obj.value.substr(0, 2) );
		} else {
			var newD = new Date();
		}
		newD = newD.toString();
		
		initCal(newD, elm, frmRef, ipRef);
	
	
	}
	
	
	
	
	
	
			
//			{
//				//alert(itxt.match(reg));
//				var mo;
//				var dd = itxt.match(/\b\d+\b\W/i);
//					dd = dd.toString().replace(".","");
//				
//				var mm = itxt.match(/\W\b\d+\b\W/i);
//					mm = mm.toString().replace(".","");
//					mm = mm.replace(".", "");
//				
//				var yyyy = itxt.match(/\b\d{4}\b/i);
	
	
	
//	if (isIE)
//	{
//		od.innerHTML = inhtm;	
//	} else {
//		var node = document.createElement("input");
//		node.setAttribute("type", "button", 0);
//		node.setAttribute("onclick", "cldiv(this.parentElement);", 0);
//		node.setAttribute("value", "close me", 0);
//		od.appendChild(node);
//	}
//	
	

}

function cldiv(obj)
{
	alert(obj);
	
//	var isIE = (clientApp.indexOf("Microsoft Internet Explorer") != -1) ? true : false;
//	alert(isIE);
		
}



function initCal(obj, tgt, fmr, ipr)
{
  
  var oTG = document.getElementById(tgt);
  
  
  var noobDate = new Date();
  var curd = noobDate.getDate();
	var curm = noobDate.getMonth();
	var cury = noobDate.getFullYear();
  var currDate = new Date(cury, curm, curd);
  
  
	var dt = new Date(obj);
	
	/*
	try {
		dt = new Date(ipr.value);
	} 
	catch (exception)
	{
		dt = new Date(obj);
	}
	*/
	
	var d = dt.getDate();
	var m = dt.getMonth();
	var y = dt.getFullYear();
			
	var arM = new Array("Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez");
			
	var sd = new Date(y, m, 1);
	var sDay = (sd.getDay() != 0) ? sd.getDay() : 7;
			
	oND = new Date(sd.getFullYear(), sd.getMonth() + 1, sd.getDate());
	oPD = new Date(sd.getFullYear(), sd.getMonth() - 1, sd.getDate());
			
	var oCal;
	var calstr = "";
			
			
	calstr = calstr + "<table width='130' cellpadding='0' cellspacing='2' border='0' style='border : 1px solid; border-color : #c0c0c0; background-position : bottom; background-repeat : repeat-x; font : 9px verdana;' background='/images/tools/bgd.gif'>";
	calstr = calstr + "<tr>" + 
			 "<td width='18' align='center' background='/images/tools/rwlinerlight.gif' style='background-position : bottom;'><a href='#' onclick=\"initCal('" + oPD.toString() + "', '" + tgt + "', '" + fmr + "', '" + ipr + "');\">-</a></td>" + 
			 "<td colspan='5' width='90' height='18' align='center' background='/images/tools/rwlinerlight.gif' style='background-position : bottom;'>" + arM[m] + " " + y + "</td>" + 
			 "<td width='18' align='center' background='/images/tools/rwlinerlight.gif' style='background-position : bottom;'><a href='#' onclick=\"initCal('" + oND.toString() + "', '" + tgt + "', '" + fmr + "', '" + ipr + "');\">+</a></td>" + 
			 "</tr>";
			
	calstr = calstr + "<tr>" +
	         "<td width='18' height='18' align='center' bgcolor='#999999' style='color : white; font-weight : bold;'>M</td>" +
	         "<td width='18' height='18' align='center' bgcolor='#999999' style='color : white; font-weight : bold;'>D</td>" +
	         "<td width='18' height='18' align='center' bgcolor='#999999' style='color : white; font-weight : bold;'>M</td>" +
	         "<td width='18' height='18' align='center' bgcolor='#999999' style='color : white; font-weight : bold;'>D</td>" +
	         "<td width='18' height='18' align='center' bgcolor='#999999' style='color : white; font-weight : bold;'>F</td>" +
	         "<td width='18' height='18' align='center' bgcolor='#999999' style='color : white; font-weight : bold;'>S</td>" +
	         "<td width='18' height='18' align='center' bgcolor='#999999' style='color : white; font-weight : bold;'>S</td>" +
	         "</tr>";
			
			
	for (x = 1; x < 43; x++)
	{         
		
		if (x == 1)
		{
			calstr = calstr + "<tr>";
		}
		
		wd = x - sDay + 1;
		
		var td = new Date(y, m, wd);
		
		if (td.getMonth() != sd.getMonth())
		{
			wd = 0;
		}
		
		
		
		if (td.getDate() == currDate.getDate() && td.getMonth() == currDate.getMonth() && td.getYear() == currDate.getYear() ) {
		
			calstr = calstr + "<td align='center' bgcolor='#A4C8EC' style='border : 1px solid #006599;'><a href=\"javascript:setInputDate('" + td + "', '" + fmr + "', '" + ipr + "', '" + tgt + "');\">" + ((wd <= 0) ? "":wd) + "</a></td>";
			
		} else {
			if (td < currDate && !AllowPastDates)
			{
				calstr = calstr + "<td align='center' style='border : 1px solid #c0c0c0;'>" + ((wd <= 0) ? "":wd) + "</td>";
			} else {
			  calstr = calstr + "<td align='center' style='border : 1px solid #c0c0c0;'><a href=\"javascript:setInputDate('" + td + "', '" + fmr + "', '" + ipr + "', '" + tgt + "');\">" + ((wd <= 0) ? "":wd) + "</a></td>";
			}
			
		}
		
		
		
		
		if ( (x % 7) == 0)
		{
			calstr = calstr + "</tr>";
			if (x != 35)
			{
				calstr = calstr + "<tr>";
			}
		}

	}		
			
	calstr = calstr + "</table>";
	oTG.innerHTML = calstr;
		
}
		



function setInputDate(dt, fmr, ipr, tgt)
{
	
	var oDT = new Date(dt);
	
	var d = oDT.getDate();
	d = d.toString();
	var m = oDT.getMonth() + 1;
	m = m.toString();
	var y = oDT.getFullYear();
	
	
	
	var displDate = ((d.length == 2) ? d : "0" + d) + "/" + ((m.length == 2) ? m : "0" + m) + "/" + y;
	
	document.forms[fmr].elements[ipr].value = displDate;
	
	var oRef = document.getElementById(tgt);
	
	oRef.innerHTML = "";
	oRef.style.display = "none";
	
	
	}



		
		function initVal(elm)
		{
			var obj = document.getElementById(elm);
			var oDT = new Date();
			
			
			if (obj.value != null && obj.value.length == 0)
			{
				obj.value = "0" + oDT.getDate() + ".";
			}
			
			/*
			if (typeof(obj) == "object")
			{
				if (obj.tagName == "INPUT")
				{
					
				}
			}
			*/
		}