function strtotime(g,b){var e,f,l,k="",c="";k=g;k=k.replace(/\s{2,}|^\s|\s$/g," ");k=k.replace(/[\t\r\n]/g,"");if(k=="now"){return(new Date()).getTime()/1000}else{if(!isNaN(c=Date.parse(k))){return(c/1000)}else{if(b){b=new Date(b*1000)}else{b=new Date()}}}k=k.toLowerCase();var d={day:{sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6},mon:{jan:0,feb:1,mar:2,apr:3,may:4,jun:5,jul:6,aug:7,sep:8,oct:9,nov:10,dec:11}};var a=function(n){var q=(n[2]&&n[2]=="ago");var p=(p=n[0]=="last"?-1:1)*(q?-1:1);switch(n[0]){case"last":case"next":switch(n[1].substring(0,3)){case"yea":b.setFullYear(b.getFullYear()+p);break;case"mon":b.setMonth(b.getMonth()+p);break;case"wee":b.setDate(b.getDate()+(p*7));break;case"day":b.setDate(b.getDate()+p);break;case"hou":b.setHours(b.getHours()+p);break;case"min":b.setMinutes(b.getMinutes()+p);break;case"sec":b.setSeconds(b.getSeconds()+p);break;default:var o;if(typeof(o=d.day[n[1].substring(0,3)])!="undefined"){var r=o-b.getDay();if(r==0){r=7*p}else{if(r>0){if(n[0]=="last"){r-=7}}else{if(n[0]=="next"){r+=7}}}b.setDate(b.getDate()+r)}}break;default:if(/\d+/.test(n[0])){p*=parseInt(n[0],10);switch(n[1].substring(0,3)){case"yea":b.setFullYear(b.getFullYear()+p);break;case"mon":b.setMonth(b.getMonth()+p);break;case"wee":b.setDate(b.getDate()+(p*7));break;case"day":b.setDate(b.getDate()+p);break;case"hou":b.setHours(b.getHours()+p);break;case"min":b.setMinutes(b.getMinutes()+p);break;case"sec":b.setSeconds(b.getSeconds()+p);break}}else{return false}break}return true};f=k.match(/^(\d{2,4}-\d{2}-\d{2})(?:\s(\d{1,2}:\d{2}(:\d{2})?)?(?:\.(\d+))?)?$/);if(f!=null){if(!f[2]){f[2]="00:00:00"}else{if(!f[3]){f[2]+=":00"}}l=f[1].split(/-/g);for(e in d.mon){if(d.mon[e]==l[1]-1){l[1]=e}}l[0]=parseInt(l[0],10);l[0]=(l[0]>=0&&l[0]<=69)?"20"+(l[0]<10?"0"+l[0]:l[0]+""):(l[0]>=70&&l[0]<=99)?"19"+l[0]:l[0]+"";return parseInt(this.strtotime(l[2]+" "+l[1]+" "+l[0]+" "+f[2])+(f[4]?f[4]/1000:""),10)}var h="([+-]?\\d+\\s(years?|months?|weeks?|days?|hours?|min|minutes?|sec|seconds?|sun\\.?|sunday|mon\\.?|monday|tue\\.?|tuesday|wed\\.?|wednesday|thu\\.?|thursday|fri\\.?|friday|sat\\.?|saturday)|(last|next)\\s(years?|months?|weeks?|days?|hours?|min|minutes?|sec|seconds?|sun\\.?|sunday|mon\\.?|monday|tue\\.?|tuesday|wed\\.?|wednesday|thu\\.?|thursday|fri\\.?|friday|sat\\.?|saturday))(\\sago)?";f=k.match(new RegExp(h,"gi"));if(f==null){return false}for(e=0;e<f.length;e++){if(!a(f[e].split(" "))){return false}}return(b.getTime()/1000)}function date(l,h){var g=this,k,e,b=/\\?([a-z])/gi,a,c=function(m,f){if((m=m+"").length<f){return new Array((++f)-m.length).join("0")+m}return m},d=["Sun","Mon","Tues","Wednes","Thurs","Fri","Satur","January","February","March","April","May","June","July","August","September","October","November","December"];a=function(f,m){return e[f]?e[f]():m};e={d:function(){return c(e.j(),2)},D:function(){return e.l().slice(0,3)},j:function(){return k.getDate()},l:function(){return d[e.w()]+"day"},N:function(){return e.w()||7},S:function(){var f=e.j();return f>4||f<21?"th":{1:"st",2:"nd",3:"rd"}[f%10]||"th"},w:function(){return k.getDay()},z:function(){var m=new Date(e.Y(),e.n()-1,e.j()),f=new Date(e.Y(),0,1);return Math.round((m-f)/86400000)+1},W:function(){var m=new Date(e.Y(),e.n()-1,e.j()-e.N()+3),f=new Date(m.getFullYear(),0,4);return c(1+Math.round((m-f)/86400000/7),2)},F:function(){return d[6+e.n()]},m:function(){return c(e.n(),2)},M:function(){return e.F().slice(0,3)},n:function(){return k.getMonth()+1},t:function(){return(new Date(e.Y(),e.n(),0)).getDate()},L:function(){return new Date(e.Y(),1,29).getMonth()===1|0},o:function(){var o=e.n(),f=e.W(),m=e.Y();return m+(o===12&&f<9?-1:o===1&&f>9)},Y:function(){return k.getFullYear()},y:function(){return(e.Y()+"").slice(-2)},a:function(){return k.getHours()>11?"pm":"am"},A:function(){return e.a().toUpperCase()},B:function(){var m=k.getUTCHours()*3600,f=k.getUTCMinutes()*60,n=k.getUTCSeconds();return c(Math.floor((m+f+n+3600)/86.4)%1000,3)},g:function(){return e.G()%12||12},G:function(){return k.getHours()},h:function(){return c(e.g(),2)},H:function(){return c(e.G(),2)},i:function(){return c(k.getMinutes(),2)},s:function(){return c(k.getSeconds(),2)},u:function(){return c(k.getMilliseconds()*1000,6)},e:function(){throw"Not supported (see source code of date() for timezone on how to add support)"},I:function(){var m=new Date(e.Y(),0),o=Date.UTC(e.Y(),0),f=new Date(e.Y(),6),n=Date.UTC(e.Y(),6);return 0+((m-o)!==(f-n))},O:function(){var f=k.getTimezoneOffset();return(f>0?"-":"+")+c(Math.abs(f/60*100),4)},P:function(){var f=e.O();return(f.substr(0,3)+":"+f.substr(3,2))},T:function(){return"UTC"},Z:function(){return -k.getTimezoneOffset()*60},c:function(){return"Y-m-d\\Th:i:sP".replace(b,a)},r:function(){return"D, d M Y H:i:s O".replace(b,a)},U:function(){return k.getTime()/1000|0}};this.date=function(m,f){g=this;k=((typeof f==="undefined")?new Date():(f instanceof Date)?new Date(f):new Date(f*1000));return m.replace(b,a)};return this.date(l,h)}function makeDatepicker(a,c,b){theCal=new calendar(a,c);theCal.getDatepicker(b)}function makeCal(a,c,b){theCal=new calendar(a,c);theCal.getCal(b)}function calendar(b,e,d){this.dayNames=["Mo","Di","Mi","Do","Fr","Sa","So"];this.monthNames=["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"];this.keepEmpty=false;this.dateSeparator=".";this.relateTo="";this.dateFormat="d.m.Y";this.calendar=[];datobj=new Date();this.currmonth=datobj.getMonth();this.curryear=datobj.getFullYear();this.currday=datobj.getDate();if(b>12){b=1;e=e+1}if(b<1){b=12;e=e-1}this.month=b-1;this.year=e;this.daysInMonth=this.getDaysInMonth(this.month,this.year);this.daysLastMonth=this.getDaysInMonth(this.month-1,this.year);var c=new Date(this.year,this.month,1);this.startDay=c.getDay()-1;var a=this.startDay+this.daysInMonth;this.weeksInMonth=Math.ceil(a/7)}calendar.prototype.getCal=function(a){var e="";var d=this.month;var f=this.month+2;e+='<table class="cal" cellpadding="0" cellspacing="1" border = "0">';e+='<tr class="head" ><td class = "back"><a href = "javascript:void(0);"></a></td><td colspan="5" >'+this.monthNames[this.month]+" "+this.year+'</td><td class="next"><a href = "javascript:void(0);"></a></td></tr>';e+='<tr class = "weekday">';for(i=0;i<this.dayNames.length;i++){e+="<td >"+this.dayNames[i]+"</td>"}e+="</tr>";var b=this.buildCal();for(j=0;j<this.weeksInMonth;j++){e+="<tr >";for(i=0;i<7;i++){var c=b[j][i];if(c>0&&c<=this.daysInMonth){if(this.currmonth==this.month&&this.curryear==this.year&&this.currday==c){e+='<td class = "today">'+c+"</td>"}else{e+="<td >"+c+"</td>"}}else{if(c<1){e+='<td class = "wrong">'+(this.daysLastMonth+c)+"</td>"}else{if(c>this.daysInMonth){e+='<td class = "wrong">'+(c-this.daysInMonth)+"</td>"}}}}e+="</tr>"}e+="</table>";$(a).innerHTML=e;theMonths=this.monthNames;theDays=this.dayNames;keepEmpty=this.keepEmpty;dateSeparator=this.dateSeparator;theYear=this.year;$$("#"+a+" .cal  .back a").each(function(g){g.onclick=function(){theCal=new calendar(d,theYear);theCal.monthNames=theMonths;theCal.dayNames=theDays;theCal.keepEmpty=keepEmpty;theCal.dateSeparator=dateSeparator;theCal.getCal(a)}});$$("#"+a+" .cal .next a").each(function(g){g.onclick=function(){internalCals=new calendar(f,theYear);internalCals.monthNames=theMonths;internalCals.dayNames=theDays;internalCals.keepEmpty=keepEmpty;internalCals.dateSeparator=dateSeparator;internalCals.getCal(a)}})};calendar.prototype.getDatepicker=function(c){if(this.dateFormat=="m/d/Y"||this.dateFormat=="m/d/y"){this.dateSeparator="/"}var n="";var p=this.month;var e=this.month+2;this.theDiv=c;if(this.relateTo){$(this.relateTo).onfocus=function(){new Effect.Appear(c,{duration:0.8})}}n+='<table class="cal" cellpadding="0" cellspacing="1" border = "0">';n+='<tr class="head" ><td class = "back"><a href = "javascript:void(0);"></a></td><td colspan="5" >'+this.monthNames[this.month]+" "+this.year+'</td><td class="next"><a href = "javascript:void(0);"></a></td></tr>';n+='<tr class = "weekday">';for(i=0;i<this.dayNames.length;i++){n+="<td >"+this.dayNames[i]+"</td>"}n+="</tr>";var b=this.buildCal();if(!this.keepEmpty&&!$(this.relateTo).value){if((this.month+1)<10){strMon="0"+(this.month+1)}else{strMon=this.month+1}if(this.currday<10&&this.currday>0){strDay="0"+this.currday}else{strDay=this.currday}initStr2=strMon+"/"+strDay+"/"+this.curryear;var h=strtotime(initStr2);$(this.relateTo).value=date(this.dateFormat,h)}selectedVals=$(this.relateTo).value.split(this.dateSeparator);for(j=0;j<this.weeksInMonth;j++){n+="<tr>";for(i=0;i<7;i++){var q=b[j][i];strDay=q;if(q<10&&q>0){strDay="0"+q}if((this.month+1)<10){strMon="0"+(this.month+1)}else{strMon=this.month+1}dstring=strDay+this.dateSeparator+strMon+this.dateSeparator+this.year;dstring2=strMon+"/"+strDay+"/"+this.year;var f=strtotime(dstring2);var m=date(this.dateFormat,f);if(q>0&&q<=this.daysInMonth){if(this.currmonth==this.month&&this.curryear==this.year&&this.currday==q){n+='<td class = "today" onclick = "$(\''+this.relateTo+"').value='"+m+"';new Effect.Fade('"+c+"');\">"+q+"</td>"}else{if(this.month==(selectedVals[1]-1)&&this.year==selectedVals[2]&&selectedVals[0]==q){n+='<td class = "red" onclick = "$(\''+this.relateTo+"').value='"+m+"';new Effect.Fade('"+c+"');\">"+q+"</td>"}else{n+='<td class = "normalday" onclick = "$(\''+this.relateTo+"').value='"+m+"';new Effect.Fade('"+c+"');\">"+q+"</td>"}}}else{if(q<1){n+='<td class = "wrong">'+(this.daysLastMonth+q)+"</td>"}else{if(q>this.daysInMonth){n+='<td class = "wrong">'+(q-this.daysInMonth)+"</td>"}}}}n+="</tr>"}n+='<tr><td colspan = "7" class = "dpfoot"><a href = "javascript:void(0);" onclick = "javascript:new Effect.Fade(\''+c+"','{duration:0.8}');\">Close</a></td></tr></table>";$(c).innerHTML=n;var g=this.monthNames;var d=this.dayNames;var k=this.keepEmpty;var o=this.dateSeparator;var a=this.year;var l=this.relateTo;$$("#"+c+" .cal .back a").each(function(r){r.onclick=function(){var s=new calendar(p,a);s.monthNames=g;s.dayNames=d;s.keepEmpty=k;s.relateTo=l;s.dateSeparator=o;s.getDatepicker(c)}});$$("#"+c+" .cal .next a").each(function(r){r.onclick=function(){var s=new calendar(e,a);s.monthNames=g;s.dayNames=d;s.keepEmpty=k;s.relateTo=l;s.dateSeparator=o;s.getDatepicker(c)}})};calendar.prototype.showDatepicker=function(){};calendar.prototype.buildCal=function(){var b=0;for(j=0;j<this.weeksInMonth;j++){this.calendar[j]=[];for(i=0;i<7;i++){b++;var a=b-this.startDay;this.calendar[j][i]=a}}return this.calendar};calendar.prototype.getDaysInMonth=function(b,a){dteMonth=new Date(a,b);intDaysInMonth=28;blnDateFound=false;while(!blnDateFound){dteMonth.setDate(intDaysInMonth+1);intNewMonth=dteMonth.getMonth();if(intNewMonth!=b){blnDateFound=true}else{intDaysInMonth++}}return intDaysInMonth};
