function weekDayName(wDay) { weekDayArr=new Array("Mo","Di","Mi","Do","Fr","Sa","So"); return weekDayArr[wDay]; } function monthName(month) { monthNameArr=new Array( "Januar","Februar","März","April","Mai","Juni","Juli", "August","September","Oktober","November","Dezember"); return monthNameArr[--month]; } function leapYear(year) { return((year&3)==0)&&(((year%100)!=0)||((year%400)==0)); } function daysPerMonth(year,month) { dpmArr=new Array(31,28,31,30,31,30,31,31,30,31,30,31); var result=dpmArr[--month]; if(month==1)if(leapYear(year))result++; return result; } function dayNoInYear(year,month,day){ var dayNo=0; if(day<=daysPerMonth(year,month)) { for(var i=1;i3) dayNo-=(7-day1Jan); else dayNo+=day1Jan; if(dayNo<0) if((day1Jan==4)||(day1JanPrev==3)) week=53; else week=52; else week=Math.floor(dayNo / 7)+1; if((dayNo>360)&&(week>52)) { if(day1Jan==3) week=53; else if(day1JanNext==4) week=53; else week=1; } return week; } function addDays(year,month,day,days) { if(days>=0) { day+=days; while(day>daysPerMonth(year,month)) day-=daysPerMonth(year,month++); }else{ day+=days; while(day<=0) day+=daysPerMonth(year,month--); } return(new Array(month,day)); } function easterSunday(year){ var K=Math.floor(year / 100); var h=Math.floor((3*K+3)/ 4); var M=15+h-Math.floor((8*K+13)/ 25); var S=2-h; var A=year%19; var B=Math.floor(year/4); var D=(19*A+M)%30; var R=Math.floor(D / 29)+(Math.floor(D / 28)-Math.floor(D / 29))*Math.floor(A / 11); var OG=21+D-R; var SZ=7-((year+B+S)%7); var OE=7-((OG-SZ)%7); return(addDays(year,3,1,(OG+OE)-1)); } /* uneinheitlicheFeiertage = new Object(); uneinheitlicheFeiertage['Heilige Drei Könige'] = array('BW','BY','ST'); uneinheitlicheFeiertage['Fronleichnam'] = array('BW','BY','HE','NW','RP','SL'); uneinheitlicheFeiertage['Mariä Himmelfahrt'] = array('BY','SL'); uneinheitlicheFeiertage['Reformationstag'] = array('BB','MV','SN','ST','TH'); uneinheitlicheFeiertage['Allerheiligen'] = array('BW','BY','NW','RP','SL'); uneinheitlicheFeiertage['Buß- und Bettag'] = array('SN'); */ var bl = 'HH'; function feiertag(year,month,day) { if(month==1&&day==1)return('Neujahr'); if(month==1&&day==6&&(bl=='BW'||bl=='BY'||bl=='ST'))return('Heilige Drei Könige'); if(month==5&&day==1)return('Maifeiertag'); if(month==8&&day==15&&(bl=='BY'||bl=='SL'))return('Mariä Himmelfahrt'); if(year>1989&&month==10&&day==3)return('Tag der deutschen Einheit'); if(month==10&&day==31&&(bl=='BB'||bl=='MV'||bl=='SN'||bl=='ST'||bl=='TH'))return('Reformationstag'); if(month==11&&day==1&&(bl=='BW'||bl=='BY'||bl=='NW'||bl=='RP'||bl=='SL'))return('Allerheiligen'); if(month==12&&day==24)return('Heiligabend'); if(month==12&&day==25)return('1. Weihnachtstag'); if(month==12&&day==26)return('2. Weihnachtstag'); if(month==12&&day==31)return('Silvester'); if(month==11) { var fourthAdvent=24-(new Date(year,11,24)).getDay(); if(day==(fourthAdvent-2)&&(bl=='SN'))return('Buß- und Bettag'); } if(month==3||month==4||month==5||month==6) { easter=easterSunday(year); tempDate=addDays(year,easter[0],easter[1],-2); if(month==tempDate[0]&&day==tempDate[1])return('Karfreitag'); tempDate=addDays(year,easter[0],easter[1],1); if(month==tempDate[0]&&day==tempDate[1])return('Ostermontag'); tempDate=addDays(year,easter[0],easter[1],39); if(month==tempDate[0]&&day==tempDate[1])return('Himmelfahrt'); tempDate=addDays(year,easter[0],easter[1],50); if(month==tempDate[0]&&day==tempDate[1])return('Pfingstmontag'); tempDate=addDays(year,easter[0],easter[1],60); if(month==tempDate[0]&&day==tempDate[1]&&(bl=='BW'||bl=='BY'||bl=='HE'||bl=='NW'||bl=='RP'||bl=='SL'))return('Fronleichnam'); } return(''); } function isSpecialDate(year,month,day,specialDatesIndex) { var dateStr=year+(month<10?"0":"")+month+(day<10?"0":"")+day; for(i=0;i'); calendarWin.document.writeln(''); calendarWin.document.writeln(Inhalt); calendarWin.document.writeln("<\/b><\/font><\/td>"); } function writeCalendarMonthHeader(calendarWin,monthTitle,HgFarbe,SchrFarbe,SchrGroesse,SchrArt) { calendarWin.document.writeln(""); calendarWin.document.writeln(''); calendarWin.document.writeln(''); calendarWin.document.writeln(''+monthTitle+""); calendarWin.document.writeln("<\/b><\/font><\/td><\/tr>"); calendarWin.document.writeln(""); writeCalendarMonthCell(calendarWin," ",HgFarbe,SchrFarbe,SchrGroesse,SchrArt); for(var i=0;i<=6;i++) writeCalendarMonthCell(calendarWin,weekDayName(i),HgFarbe,SchrFarbe,SchrGroesse, SchrArt); calendarWin.document.writeln("<\/tr>"); } function writeCalendarMonth(calendarWin,year,month,specialDatesIndex) { var KSchrArt="Verdana,Arial"; var KSchrGroesse=2; var KSchrFarbe="#000000"; var KWoSchrFarbe="#888888"; var Khgrund="#FFFFFF"; var TSchrArt="Verdana,Arial"; var TSchrGroesse=2; var TSchrFarbe="#000000"; var Thgrund="#FFFFFF"; var SoFarbe="#FF0000"; var So2Farbe="#777777"; var Ahgrund="#FF4444"; var Shgrund="#00FF00"; var Sygrund="#AAFFAA"; var now=new Date(); var todayMonth=now.getMonth()+1; var todayYear=now.getYear(); if(todayYear<999)todayYear+=1900; var todayDay=now.getDate(); var firstDayInMonth=new Date(year,month-1,1); var start=firstDayInMonth.getDay(); if(start>0)start--; else start=6; var stop=daysPerMonth(year,month); calendarWin.document.writeln(''); writeCalendarMonthHeader(calendarWin, monthName(month)+" "+year,Khgrund,KSchrFarbe,KSchrGroesse,KSchrArt); var feiertage=""; var istFeiertag=""; var curDayNo=1; var cW=""; for(var i=0;i<=5;i++) { calendarWin.document.writeln(""); cW=calendarWeek(year,month,curDayNo); if(cW<10) cW="  "+cW; writeCalendarMonthCell(calendarWin, curDayNo>stop?" ":cW, Khgrund,KWoSchrFarbe,TSchrGroesse,KSchrArt); for(var j=0;j<=6;j++) { if((i==0)&&(jstop) writeCalendarMonthCell(calendarWin," ",Thgrund,TSchrFarbe,TSchrGroesse,TSchrArt); else{ var hgrund=Thgrund; var schrFarbe=TSchrFarbe; istFeiertag=feiertag(year,month,curDayNo); if(istFeiertag!='') if(istFeiertag.substr(0,1)!=' ') feiertage+=istFeiertag+" "+curDayNo+"."+month+".
"; else feiertage+=""+istFeiertag+" "+curDayNo+"."+month+""+".
"; if(j==6||istFeiertag!='') { if(istFeiertag.substr(0,1)!=' ') schrFarbe=SoFarbe; else schrFarbe=So2Farbe; } if((year==todayYear)&&(month==todayMonth)&&(curDayNo==todayDay)) hgrund=Ahgrund; if(isSpecialDate(year,month,curDayNo,specialDatesIndex)) { hgrund=Shgrund; var tmpDate=new Date(year,month-1,curDayNo); if(tmpDate"); } calendarWin.document.writeln("
"); calendarWin.document.writeln('
'); if(feiertage=='') calendarWin.document.writeln(" "); else calendarWin.document.writeln('
'+feiertage+'<\/center>'); calendarWin.document.writeln('<\/td><\/tr>'); calendarWin.document.writeln("<\/table>"); } function addMonths(year,month,months) { if(months>=0) { month+=months; while(month>12) { month-=12; year++; } }else{ month+=months; while(month<=0) { month+=12; year--; } } return(new Array(year,month)); } function yearCalendarWin(startYear,specialDatesIndex) { var widthCalendarWin=650; var heightCalendarWin=800; var leftCalendarWin=(screen.width / 2)-(widthCalendarWin / 2); var topCalendarWin=(screen.height / 2)-(heightCalendarWin / 2)-50; var calendarWin; calendarWin=window.open("about:blank","", "dependent=yes,width="+widthCalendarWin+",height="+heightCalendarWin+ ",left="+leftCalendarWin+",top="+topCalendarWin); calendarWin.document.open(); calendarWin.document.writeln( "\n"+ "\n"+ "\n"+ "votian: Dauerauftrags-Ausführungsdaten<\/title>\n"+ "<link rel=\"stylesheet\" type=\"text/css\" href=\"../css/phoenix.css.php\">\n"+ "<script type=\"text/javascript\">\n"+ "<!-"+"-\n"+ "function mkNewYearCalendarWin(startYear, specialDatesIndex)\n"+ "{\n"+ " self.close();\n"+ " opener.yearCalendarWin(startYear, specialDatesIndex);\n"+ "}\n"+ "-"+"->\n"+ "</script>\n"+ "<\/head>\n"+ "<body>\n"+ " <table border=0 align=center height=100% cellspacing=0 cellpadding=0 vspace=0 hspace=0>\n"+ " <tr>\n"); calendarWin.document.writeln('<td align="center" valign="top">'); var now=new Date(); var startMonth=1; var todayYear=now.getYear(); if(todayYear<999)todayYear+=1900; writeCalendarMonth(calendarWin,startYear,startMonth,specialDatesIndex); calendarWin.document.writeln('<\/td>'); calendarWin.document.writeln('<td>  <\/td>'); calendarWin.document.writeln('<td align="center" valign="top">'); dateArr=addMonths(startYear,startMonth,1); writeCalendarMonth(calendarWin,dateArr[0],dateArr[1],specialDatesIndex); calendarWin.document.writeln('<\/td>'); calendarWin.document.writeln('<td>  <\/td>'); calendarWin.document.writeln('<td align="center" valign="top">'); dateArr=addMonths(startYear,startMonth,2); writeCalendarMonth(calendarWin,dateArr[0],dateArr[1],specialDatesIndex); calendarWin.document.writeln('<\/td><\/tr>'); calendarWin.document.writeln('<tr>'); calendarWin.document.writeln('<td align="center" valign="top">'); dateArr=addMonths(startYear,startMonth,3); writeCalendarMonth(calendarWin,dateArr[0],dateArr[1],specialDatesIndex); calendarWin.document.writeln('<\/td>'); calendarWin.document.writeln('<td>  <\/td>'); calendarWin.document.writeln('<td align="center" valign="top">'); dateArr=addMonths(startYear,startMonth,4); writeCalendarMonth(calendarWin,dateArr[0],dateArr[1],specialDatesIndex); calendarWin.document.writeln('<\/td>'); calendarWin.document.writeln('<td>  <\/td>'); calendarWin.document.writeln('<td align="center" valign="top">'); dateArr=addMonths(startYear,startMonth,5); writeCalendarMonth(calendarWin,dateArr[0],dateArr[1],specialDatesIndex); calendarWin.document.writeln('<\/td><\/tr>'); calendarWin.document.writeln('<tr>'); calendarWin.document.writeln('<td align="center" valign="top">'); dateArr=addMonths(startYear,startMonth,6); writeCalendarMonth(calendarWin,dateArr[0],dateArr[1],specialDatesIndex); calendarWin.document.writeln('<\/td>'); calendarWin.document.writeln('<td>  <\/td>'); calendarWin.document.writeln('<td align="center" valign="top">'); dateArr=addMonths(startYear,startMonth,7); writeCalendarMonth(calendarWin,dateArr[0],dateArr[1],specialDatesIndex); calendarWin.document.writeln('<\/td>'); calendarWin.document.writeln('<td>  <\/td>'); calendarWin.document.writeln('<td align="center" valign="top">'); dateArr=addMonths(startYear,startMonth,8); writeCalendarMonth(calendarWin,dateArr[0],dateArr[1],specialDatesIndex); calendarWin.document.writeln('<\/td><\/tr>'); calendarWin.document.writeln('<tr>'); calendarWin.document.writeln('<td align="center" valign="top">'); dateArr=addMonths(startYear,startMonth,9); writeCalendarMonth(calendarWin,dateArr[0],dateArr[1],specialDatesIndex); calendarWin.document.writeln('<\/td>'); calendarWin.document.writeln('<td>  <\/td>'); calendarWin.document.writeln('<td align="center" valign="top">'); dateArr=addMonths(startYear,startMonth,10); writeCalendarMonth(calendarWin,dateArr[0],dateArr[1],specialDatesIndex); calendarWin.document.writeln('<\/td>'); calendarWin.document.writeln('<td>  <\/td>'); calendarWin.document.writeln('<td align="center" valign="top">'); dateArr=addMonths(startYear,startMonth,11); writeCalendarMonth(calendarWin,dateArr[0],dateArr[1],specialDatesIndex); calendarWin.document.writeln('<\/td>'); var prevStartYear=startYear-1; var nextStartYear=startYear+1; var prevYearLink=" "; var nextYearLink=" "; if(startYear>=todayYear) prevYearLink="<input type=\"button\" value=\""+prevStartYear+"\" onClick=\"mkNewYearCalendarWin("+prevStartYear+","+specialDatesIndex+")\" accesskey=\"z\"> \n";; if(startYear<=todayYear) nextYearLink="<input type=\"button\" value=\""+nextStartYear+"\" onClick=\"mkNewYearCalendarWin("+nextStartYear+","+specialDatesIndex+")\" accesskey=\"v\"> \n";; calendarWin.document.writeln( " <\/tr>\n"+ " <tr><td colspan=2 align=left>\n"+ prevYearLink+ " <\/td>\n"+ " <td colspan=2 align=center>\n"+ "<input type=\"button\" value=\"Schließen\" onClick=\"self.close()\" accesskey=\"s\"> \n"+ " <\/td>\n"+ " <td colspan=2 align=right>\n"+ nextYearLink+ " <\/td><\/tr>\n"+ " <\/table>\n"+ "<\/body>\n"+ "<\/html>\n"); calendarWin.document.close(); return calendarWin; } function calendarMonthCell(Inhalt, HgFarbe, SchrFarbe, SchrGroesse, SchrArt) { var retVal = '<td align="center" valign="middle" bgcolor="'+ HgFarbe +'">' + '<font size="' + SchrGroesse + '" color="' + SchrFarbe + '" face="' + SchrArt + '"><b>' + Inhalt + "<\/b><\/font><\/td>"; return retVal; } function calendarMonthHeader(monthTitle, HgFarbe, SchrFarbe, SchrGroesse, SchrArt, calendardiv, prevyear, prevmonth, nextyear, nextmonth, active) { var retVal = '<tr><td bgcolor="'+HgFarbe+'"><a href=\"javascript:calendarMonthInit(\'' + calendardiv + '\', ' + prevyear + ', ' + prevmonth + ', ' + active + ');\"><b><</b></a></td>' + '<td align="center" colspan="6" valign="middle" bgcolor="'+HgFarbe+'">' + '<font size="'+SchrGroesse+'" color="'+SchrFarbe+'" face="'+SchrArt+'"><b>' + '<i>'+monthTitle+"</i>" + '<\/b><\/font><\/td>' + '<td bgcolor="'+HgFarbe+'" align="right"><a href=\"javascript:calendarMonthInit(\'' + calendardiv + '\', ' + nextyear + ', ' + nextmonth + ', ' + active + ');\"><b>></b></a></td><\/tr><tr>' + calendarMonthCell(" ", HgFarbe, SchrFarbe, SchrGroesse, SchrArt); for(var i = 0; i <= 6; i++) retVal += calendarMonthCell(weekDayName(i), HgFarbe, SchrFarbe, SchrGroesse, SchrArt); retVal += "<\/tr>"; return retVal; } var not_after_time = "19:00:00"; function calendarMonth(calendardiv, year, month, active, pastdays) { var KSchrArt = "Verdana,Arial"; /* Schriftart Kalenderkopf */ var KSchrGroesse = 2; /* Schriftgroesse 1-7 Kalenderkopf */ var KSchrFarbe = "#000000"; /* Schriftfarbe Kalenderkopf */ var KWoSchrFarbe = "#888888"; /* Schriftfarbe Kalenderwochen */ var Khgrund = "#FFFFFF"; /* Hintergrundfarbe Kalenderkopf */ var TSchrArt = "Verdana,Arial"; /* Schriftart Tagesanzeige */ var TSchrGroesse = 2; /* Schriftgroesse 1-7 Tagesanzeige */ var TSchrFarbe = "#000000"; /* Schriftfarbe Tagesanzeige */ var Thgrund = "#FFFFFF"; /* Hintergrundfarbe Tagesanzeige */ var SoFarbe = "#FF0000"; /* Schriftfarbe f. Sonn- und Feiertage */ var So2Farbe = "#777777"; /* Schriftfarbe uneinheitliche Feiertage */ var Ahgrund = "#FF4444"; /* Hintergrundfarbe f. heutigen Tag */ var Shgrund = "#00FF00"; /* Hintergrundfarbe f. spezielle Tage */ var Sygrund = "#AAFFAA"; /* Hintergrundfarbe f. spezielle Tage in der Vergangenheit */ var now = new Date(); var todayMonth = now.getMonth() + 1; var todayYear = now.getYear(); if (todayYear < 999) todayYear += 1900; var todayDay = now.getDate(); var firstDayInMonth = new Date(year, month - 1, 1); var start = firstDayInMonth.getDay(); if (start > 0) start--; else start = 6; var nowmillisecs = now.getTime(); var stop = daysPerMonth(year, month); var prevyear = year; var prevmonth = month - 1; if (prevmonth == 0) { prevmonth = 12; prevyear--; } var nextyear = year; var nextmonth = month + 1; if (nextmonth == 13) { nextmonth = 1; nextyear++; } var calendarContent = '<table border="0" cellpadding="1" cellspacing="1" "width=100%">'; calendarContent += calendarMonthHeader(monthName(month) + " " + year, Khgrund, KSchrFarbe, KSchrGroesse, KSchrArt, calendardiv, prevyear, prevmonth, nextyear, nextmonth, active); var feiertage = ""; var istFeiertag = ""; var curDayNo = 1; var cW = ""; for(var i = 0; i <= 5; i++) { calendarContent += "<tr>"; cW = calendarWeek(year, month, curDayNo); if (cW < 10) cW = "  " + cW; calendarContent += calendarMonthCell(curDayNo > stop ? " " : cW, Khgrund, KWoSchrFarbe, TSchrGroesse, KSchrArt); for(var j = 0; j <= 6; j++) { if((i == 0) && (j < start)) calendarContent += calendarMonthCell(" ", Thgrund, TSchrFarbe, TSchrGroesse, TSchrArt); else { if(curDayNo > stop) calendarContent += calendarMonthCell(" ", Thgrund, TSchrFarbe, TSchrGroesse, TSchrArt); else { var daycontent = '<a href=\"javascript:calendarFunc(' + year + ', ' + month + ', ' + curDayNo + ');\"><b>' + curDayNo + '</b></a>'; if (!active || (!pastdays && Date.parse(month + "/" + curDayNo + "/" + year + " " + not_after_time) < nowmillisecs)) daycontent = curDayNo; var hgrund = Thgrund; var schrFarbe = TSchrFarbe; istFeiertag = feiertag(year, month, curDayNo); if (istFeiertag != '') if (istFeiertag.substr(0,1) != ' ') feiertage += istFeiertag + " " + curDayNo + "." + month + ".<br>"; else feiertage += "<i>" + istFeiertag + " " + curDayNo + "." + month + "</i>" + ".<br>"; if (j == 6 || istFeiertag != '') { if (istFeiertag.substr(0,1) != ' ') { schrFarbe = SoFarbe; daycontent = curDayNo; } else schrFarbe = So2Farbe; } if((year == todayYear) && (month == todayMonth) && (curDayNo == todayDay)) hgrund = Ahgrund; calendarContent += calendarMonthCell(daycontent, hgrund, schrFarbe, TSchrGroesse, TSchrArt); curDayNo++; } } } calendarContent += "<\/tr>"; } calendarContent += "<tr>"; calendarContent += '<td align="left" colspan="8" valign="middle">'; // if (feiertage == '') // calendarContent = + " "; // else // calendarContent += '<center>' + feiertage + '<\/center>'; calendarContent += "<center><i><a href=\"javascript:calendarCloseFunc();\">Kalender schließen</a></i></center>" calendarContent += '<\/td><\/tr>'; // calendarContent += '<\/table>'; return(calendarContent); } var curyear = 0; var curmonth = 0; var curcalendardiv = ""; function calendarActivate() { calendarMonthInit(curcalendardiv, curyear, curmonth, true) } function calendarDeactivate() { calendarMonthInit(curcalendardiv, curyear, curmonth, false) } function calendarClose(calendardiv) { $('#' + calendardiv).html(""); } function calendarMonthInit(calendardiv, year, month, active, pastdays) { pastdays = typeof pastdays !== 'undefined' ? pastdays : false; if (year == 0 && month == 0) { var now = new Date(); var month = now.getMonth() + 1; var year = now.getYear(); if (year < 999) year += 1900; } curyear = year; curmonth = month; curcalendardiv = calendardiv; $('#' + calendardiv).html(calendarMonth(calendardiv, year, month, active, pastdays)); }