| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233 | /*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                          Calendar JS  v2.0                           ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Copyright (C) 2005 by Michael Loesler, http://www.derletztekick.de   ++                                                                      ++                                                                      ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2 of the License, or    ++ (at your option) any later version.                                  ++                                                                      ++ This program is distributed in the hope that it will be useful,      ++ but WITHOUT ANY WARRANTY; without even the implied warranty of       ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        ++ GNU General Public License for more details.                         ++                                                                      ++ You should have received a copy of the GNU General Public License    ++ along with this program; if not, write to the                        ++ Free Software Foundation, Inc.,                                      ++ 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.            ++                                                                      +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/var now = new Date();var date = now.getDate();var month = now.getMonth();var year = now.getFullYear();function prevMonth(pd, pm, py, formelement){	if (pm == 0){		pm = 11;		py -= 1;	}	else{		pm -= 1;	}	getCalendar(pd, pm, py, formelement);}function nextMonth(nd, nm, ny, formelement){	if (nm == 11){		nm = 0;		ny += 1;	}	else{		nm += 1;	}	getCalendar(nd, nm, ny, formelement);}function CalOut(dd, mm, yy, formelement){	if(dd < 10) dd = 0+""+dd;	document.getElementsByName(formelement)[0].value = (dd) + "." + (mm+1) + "." + yy;	document.getElementById("calendar").innerHTML = "";	document.getElementById("calendar").style.display = "none";}function getCalendar(dd, mm, yy, formelement){	var sevendaysaweek = 0;	var begin = new Date(yy,mm,1);	var firstday = begin.getDay()-1;	if (firstday < 0){		firstday = 6;	}	dayname = new Array("Mo","Di","Mi","Do","Fr","Sa","So");	monthname = new Array("Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");	dayspermonth = new Array(31,28,31,30,31,30,31,31,30,31,30,31);	if ((yy%4==0) && ((yy%100!=0) || (yy%400==0))){		dayspermonth[1] = 29;	}	if ((mm != month) || (yy != year)){		var today = '';	}	else {		var today = date+'.';	}	var showcalendar = document.getElementById("calendar");	for (var i=0; i<showcalendar.childNodes.length; i++){		showcalendar.removeChild(showcalendar.childNodes[i]);	}	var newCalTable = document.createElement('table');	newCalTable.setAttribute('id','caltable');	var newCalTHead = document.createElement('thead');	var newCalTBody = document.createElement('tbody');	var newCalRow = document.createElement('tr');	var newCalHead = document.createElement('th');	newCalHead.setAttribute('class','select');	newCalHead.setAttribute('title','vorheriger');	newCalHead.appendChild(document.createTextNode("«"));	newCalHead.style.cursor= ("hand"||"pointer")?"hand":"pointer";	newCalHead.onclick=function () { prevMonth(dd, mm, yy, formelement); };	newCalRow.appendChild(newCalHead);	var newCalHead = document.createElement('th');	newCalHead.setAttribute('colspan','5');	newCalHead.colSpan = 5;	newCalHead.appendChild(document.createTextNode(today+" "+monthname[mm]+" "+yy));	newCalRow.appendChild(newCalHead);	var newCalHead = document.createElement('th');	newCalHead.setAttribute('class','select');	newCalHead.setAttribute('title','nächster');	newCalHead.appendChild(document.createTextNode("»"));	newCalHead.style.cursor= ("hand"||"pointer")?"hand":"pointer";	newCalHead.onclick=function () { nextMonth(dd, mm, yy, formelement); };	newCalRow.appendChild(newCalHead);	newCalTHead.appendChild(newCalRow);	var newCalRow = document.createElement('tr');	for (var i=0; i<dayname.length; i++){		var newCalDayname = document.createElement('td');		newCalDayname.setAttribute('class','days');		newCalDayname.appendChild(document.createTextNode(dayname[i]));		newCalRow.appendChild(newCalDayname);	}	newCalTBody.appendChild(newCalRow);	var newCalRow = document.createElement('tr');	for (var i=0; i<firstday; i++){		var newCalDays = document.createElement('td');		newCalDays.appendChild(document.createTextNode(String.fromCharCode(160)));		newCalRow.appendChild(newCalDays);		sevendaysaweek++;	}	var j=1;	for (var i=1; i<=dayspermonth[mm]; i++){		if (dayname.length == sevendaysaweek){			newCalTBody.appendChild(newCalRow);			var newCalRow = document.createElement('tr');			var newCalDays = document.createElement('td');			newCalDays.appendChild(document.createTextNode(i));                         newCalDays.onmouseout = function () {this.style.backgroundColor = "#FFFFFF";};                         newCalDays.onclick = function () { CalOut(this.innerHTML, mm, yy, formelement); };                         newCalDays.onmouseover = function () {this.style.backgroundColor = "#E8EEFF";};			newCalDays.style.cursor= ("hand"||"pointer")?"hand":"pointer";			newCalRow.appendChild(newCalDays);			sevendaysaweek = 0;		}		else {			var newCalDays = document.createElement('td');			newCalDays.appendChild(document.createTextNode(i));                         newCalDays.onmouseout = function () {this.style.backgroundColor = "#FFFFFF";};                         newCalDays.onclick = function () { CalOut(this.innerHTML, mm, yy, formelement); };                         newCalDays.onmouseover = function () {this.style.backgroundColor = "#E8EEFF";};			newCalDays.style.cursor= ("hand"||"pointer")?"hand":"pointer";			newCalRow.appendChild(newCalDays);		}		sevendaysaweek++;                 j++;	}	for (var i=sevendaysaweek; i<dayname.length; i++){		var newCalDays = document.createElement('td');		newCalDays.appendChild(document.createTextNode(String.fromCharCode(160)));		newCalRow.appendChild(newCalDays);	}	newCalTBody.appendChild(newCalRow);	newCalTable.appendChild(newCalTHead);	newCalTable.appendChild(newCalTBody);	showcalendar.appendChild(newCalTable);}function startCalendar(obj, formelement, direction){	document.getElementById("calendar").innerHTML = "";	document.getElementById("calendar").style.display = "inline";	var left = 0;	var top = 0;	var temp_obj = obj;	while(temp_obj.tagName != "BODY"){		if(temp_obj.tagName != ("TBODY" && "TR")){			left = left + temp_obj.offsetLeft;			top = top + temp_obj.offsetTop;		}		temp_obj = temp_obj.parentNode;	}	document.getElementById("calendar").style.left = left;	document.getElementById("calendar").style.top = top;	getCalendar(date, month, year, formelement);	if(direction == 'up') document.getElementById("calendar").style.top = document.getElementById("calendar").offsetTop - document.getElementById("calendar").offsetHeight;	if(direction == 'down')  document.getElementById("calendar").style.top = document.getElementById("calendar").offsetTop + obj.offsetHeight;	document.getElementById("calendar").style.left = document.getElementById("calendar").offsetLeft - document.getElementById("calendar").offsetWidth + obj.offsetWidth;	//document.onclick = calendarStatus;	calendarStatus;}function calendarStatus(){	obj = event.srcElement;	var ret = false;	var temp_obj = obj;	while(temp_obj.tagName != "BODY"){		if(temp_obj.id == 'calendar' || temp_obj.name == 'calendar'){			ret = true;			break;		}		temp_obj = temp_obj.parentNode;	}	if(ret === false){		document.getElementById("calendar").innerHTML = "";		document.getElementById("calendar").style.display = "none";		document.onclick = null; 	}	return ret;}//window.onload=startCalendar;
 |