/**************************************** DATUMSAUSWAHLDIALOG ****************************************/

var selectDate_inputid;
function selectDate(inputid)
{
	if($('selectDate'))
	{
		selectDate_hide();
		setTimeout("selectDate_init('"+inputid+"')", 700);
	}
	else
	{
		selectDate_init(inputid);
	}
}

function selectDate_init(inputid)
{
	selectDate_inputid = inputid;
	
	var button = $('button_'+inputid);
	var left = button.positionedOffset().left + "px";
	var top = (button.positionedOffset().top+14) + "px";
	
	var closeLink = new Element('a', { href: 'javascript:selectDate_hide()' }).update('X');
	var closeButton = new Element('div', { id: 'sdCloseButton' });
	closeButton.appendChild(closeLink);
	
	var title = new Element('div', { id: 'sdTitle' });
	var calender = new Element('div', { id: 'sdCalender' });
	var bottom = new Element('div', { id: 'sdBottom' });
	
	var selectDate = new Element('div', { id: 'selectDate' }).setStyle({ top: top, left: left });
	selectDate.appendChild(closeButton);
	selectDate.appendChild(title);
	selectDate.appendChild(calender);
	selectDate.appendChild(bottom);
	document.body.appendChild(selectDate);
	
	selectDate.hide();
	selectDate.show();
	
	actDate = $(selectDate_inputid).value;
	if(actDate.empty())
	{
		now = new Date();
		actDate = now.getDate()+"."+(now.getMonth()+1)+"."+now.getFullYear();
	}
	actDate = actDate.split(".");
	
	selectDate_load(actDate[2], actDate[1], actDate[0]);
}

function selectDate_hide()
{
	if($('selectDate')) 
	{
		$('selectDate').remove();
		//setTimeout("$('selectDate').remove()", 500);
	}
}

function selectDate_load(year, month, day)
{
	var today = new Date();
	if (!day) day = today.getDate();
	if (!month) month = today.getMonth()+1;
	if (!year) year = today.getFullYear();
	day = parseInt(day);
	month = parseInt(month);
	year = parseInt(year);
	
	var weekDays = new Array ("So", "Mo", "Di", "Mi", "Do", "Fr", "Sa", "So");
	var Months = new Array ("", "Januar", "Februar", "M&auml;rz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
	
	var title = $('sdTitle');
	title.update("<a href=\"javascript:selectDate_load('"+(year-1)+"')\">&lt;-----</a> <span class=\"year\">"+year+"</span> <a href=\"javascript:selectDate_load('"+(year+1)+"')\">-----&gt;</a>");
	
	var bottom = $('sdBottom');
	if ((month-1) < 1) last = "'"+(year-1)+"', '12'";
	else last = "'"+year+"', '"+(month-1)+"'";
	if ((month+1) > 12) next = "'"+(year+1)+"', '1'";
	else next = "'"+year+"', '"+(month+1)+"'";
	bottom.update("<a href=\"javascript:selectDate_load("+last+")\">&lt;-----</a> <span class=\"month\">"+Months[month]+"</span> <a href=\"javascript:selectDate_load("+next+")\">-----&gt;</a>");
	
	var calender = $('sdCalender');
	var newcalender = "Mo Di Mi Do Fr Sa So<br />";
	
	firstDateOfMonth = new Date (year, month-1, 1);
	firstDayOfMonth = firstDateOfMonth.getDay();
	if (firstDayOfMonth == 0) firstDayOfMonth = 7;
	firstWeekDayOfMonth = weekDays[firstDayOfMonth];
	
	for (i=1;i<=firstDayOfMonth-1;i++)
	{
 		newcalender += "&nbsp;&nbsp;&nbsp;";
	}
	
	var daysOfMonth = 31;
	if (month == 4 || month == 6 || month == 9 || month == 11)
		--daysOfMonth;
	if (month == 2)
	{
		daysOfMonth = daysOfMonth - 3;
		if (year % 4 == 0) daysOfMonth++;
	}
	
	breakCounter = firstDayOfMonth;
	for (i=1;i<=daysOfMonth;i++)
	{
		if ((i == today.getDate ()) && (month == (today.getMonth()+1)) && (year == today.getFullYear ())) newcalender += "<span class=\"today\">";
		newcalender += "<a href=\"javascript:selectDate_select('"+year+"', '"+month+"', '"+i+"')\">"+i+"</a>";
		if ((i == today.getDate ()) && (month == (today.getMonth()+1)) && (year == today.getFullYear ())) newcalender += "</span>";
		if (breakCounter == 7)
		{
			newcalender += "<br />";
			breakCounter = 0;
		}
		else
		{
			if (i>=10) newcalender += "&nbsp;";
			else newcalender += "&nbsp;&nbsp;";
		}
		breakCounter++;
	}
	
	calender.update(newcalender);
}

function selectDate_select(year, month, day)
{
	if(month<10) month = "0"+month;
	if(day<10) day = "0"+day;
	$(selectDate_inputid).value = day+"."+month+"."+year;
	selectDate_hide();
}
