function cEl(a){return document.createElement(a)}String.prototype.leftPad=function(a,b){return new Array(a-this.length+1).join(b||"0")+this};Date.prototype.shiftD=function(a){this.setDate(this.getDate()+a)};Date.prototype.shiftM=function(a){this.setMonth(this.getMonth()+a)};Date.prototype.shiftY=function(a){this.setYear(this.getYear()+a)};Date.prototype.getDaysInMonth=function(){return new Date(this.getFullYear(),this.getMonth()+1,1,-1).getDate()};function getWeek(b){var f=new Date(b);var c=f.getDay();f.setDate(f.getDate()-(c+6)%7+3);var a=f.valueOf();f.setMonth(0);f.setDate(4);return Math.round((a-f.valueOf())/(7*86400000))+1}function parseUserDateInput(a,b,c){if(typeof(c)=="undefined"){c=dateFormat}if(isString(a)&&(a.length>0)&&!isDate(a)){if((a.length>2)){return dateinterpret(a,c)}else{if(a.length==2){return mydoWeekday(a)}}}else{if(isDate(a)){return a}}return new Date()}function mydoWeekday(aValue){if((aValue.length==2)&&(aValue.indexOf("+")==-1)){var wDay=weekdayTexts.join("|").toLowerCase();var reg=eval("/^ *("+wDay+") */");aValue=aValue.toLowerCase();var test=aValue.match(reg);if(test!=null){var date=new Date();var cwdidx=date.getDay()-1;cwdidx=(cwdidx==-1)?cwdidx=6:cwdidx;var nwdidx=(wDay.indexOf(test[0])/3);if(nwdidx<cwdidx){nwdidx=nwdidx+7-cwdidx}else{nwdidx=nwdidx-cwdidx}date.shiftD(nwdidx);return date}else{return aValue}}else{if(aValue.indexOf("+")==0){var date=new Date();date.shiftD(1*aValue.slice(1));return date}}}function dateinterpret(k,l){var h="";var f=1;var j="";for(var b=0,g=l.length;b<g;b++){j=l.charAt(b);if(j=="%"){j=l.substring(b,b+2);b++}switch(j){case"%Y":case"%y":h+="(\\d{4}|\\d{2})";yearPos=f++;break;case"%m":h+="(\\d{1,2})";monthPos=f++;monthStyle="m";break;case"%d":h+="(\\d{1,2})";dayPos=f++;break;default:h+=(j=="^"?l.charAt(++b):j)}}var d=k.match(new RegExp(h));if(!d){return null}if(yearPos>-1){year=parseInt(d[yearPos],10);year=(year<50?year+2000:(year<100?year+1900:year))}if(monthPos>-1){switch(monthStyle){case"m":month=parseInt(d[monthPos],10)-1;if(month>11){return null}break;case"N":month=parseInt(Date.monthNumbers[d[monthPos]],10);if(isNaN(month)){return null}break;case"n":month=parseInt(Date.shortMonthNumbers[d[monthPos]],10);if(isNaN(month)){return null}break}}if(dayPos>-1){day=parseInt(d[dayPos],10);var a=new Date(year,month,1);if((day<1)||(day>a.getDaysInMonth())){return null}}return new Date(year,month,day)}function isFunction(a){return(typeof(a)=="function")}function isObject(b){return(typeof b=="object"&&!!b)||isFunction(b)}function isArray(b){return isObject(b)&&b.constructor==Array}function isDate(b){return isObject(b)&&b.constructor==Date}function isString(b){return typeof b=="string"}function inherits(c,d){for(var b in c){try{d[b]=c[b]}catch(a){}}}function inheritsPartly(d,f,b){for(var a=0;a<b.length;a++){try{f[b[a]]=d[b[a]]}catch(c){}}}function makeObservable(b,a){inherits(new Observable(),b);if(a!=undefined){b.addObserver(a)}}Array.prototype.forEach=function(d,f){var c=f||window;for(var b=0,a=this.length;b<a;++b){d.call(c,this[b],b,this)}};Array.prototype.filter=function(g,h){var f=h||window;var b=[];for(var d=0,c=this.length;d<c;++d){if(!g.call(f,this[d],d,this)){continue}b.push(this[d])}return b};Observer=Class.create();Observer.prototype={initialize:function(){},observe:function(){}};function Observable(){this.fns=[]}Observable.prototype={addObserver:function(a){this.fns.push(a)},removeObserver:function(a){this.fns=this.fns.filter(function(b){if(b!==a){return b}})},notify:function(c,b){var a=b||window;this.fns.forEach(function(d){d.observe(c)})}};function addEvent(c,b,a){if(c.addEventListener){c.addEventListener(b,a,false)}else{if(c.attachEvent){c["e"+b+a]=a;c[b+a]=function(){c["e"+b+a](window.event)};c.attachEvent("on"+b,c[b+a])}}}function removeEvent(c,b,a){if(c.removeEventListener){c.removeEventListener(b,a,false)}else{if(c.detachEvent){c.detachEvent("on"+b,c[b+a]);c[b+a]=null;c["e"+b+a]=null}}}CalUtils=Class.create();CalUtils.prototype={initialize:function(){},getDimensions:function(b){var i=b.style.display;var h=new Object();var g=b;if(g.offsetParent){for(h.x=0,h.y=0;g!=null;h.x+=g.offsetLeft,h.y+=g.offsetTop,g=g.offsetParent){}h.x=0;h.y=0;g=b;var d=g;while((d)&&(d.id!="HFS")){if(d==g){h.x+=g.offsetLeft;h.y+=g.offsetTop;g=g.offsetParent;if((g.style.position=="absolute")||(g.style.position=="relative")){d=null}}d=d.parentNode}g=b;h.x=g.offsetLeft;h.y=g.offsetTop}else{h.x=g.x;h.y=g.y}if(i!="none"&&i!=null){h.w=b.offsetWidth;h.h=b.offsetHeight}else{var c=b.style;var a=c.visibility;var f=c.position;var j=c.display;c.visibility="hidden";c.position="absolute";c.display="block";h.w=b.clientWidth;h.h=b.clientHeight;c.display=j;c.position=f;c.visibility=a}return h},getWindowSize:function(a){var b=[];a=a?a:window;b.width=b[0]=a.innerWidth||(a.document.documentElement.clientWidth||a.document.body.clientWidth);b.height=b[1]=a.innerHeight||(a.document.documentElement.clientHeight||a.document.body.clientHeight);return b}};function moveToBody(a){moveTo(a,document.body);return a}function moveTo(a,b){if(isObject(a)&&isObject(b)){if(a.parentNode!=null){var c=a.parentNode.removeChild(a)}else{var c=a}b.appendChild(c);return c}else{return a}}function putIFrameBehind(d,c){if(typeof(c)=="undefined"){c=d.id+"_iframe"}if(isObject(d)){var a=document.getElementById(c);if(a==null){a=cEl("iframe");document.body.appendChild(a);a.id=c}a.className=d.className;a.style.position="absolute";calUtils=new CalUtils();var b=calUtils.getDimensions(d);a.width=b.w+"px";a.height=(b.h-d.style.border)+"px";a.style.top=b.y+"px";a.style.left=b.x+"px";a.style.border="none";a.style.display=d.style.display}}function plusMinusDay(b,a,c){var b="cal"+b;var f=calman.calcons[b];var d=f.calendar;if(typeof(c)=="undefined"){d.value.shiftD(a)}else{var g=parseUserDateInput(c);d.value=g}f.observe(d);return false}function onUpdate(c){var a=c.id.charAt(c.id.length-1);var g=calman.calcons["cal"+a];var h=g.value;var b=parseUserDateInput(c.value);g.setDate(b);if(b!=h){var f=document.getElementsByName(g.fieldName)[0];f.value=g.formatDate(b,g.showShortYear,true)}if(c.type=="text"){var d=g.calendar;d.value=b;d.jumpToValue();d.draw()}if(c.type=="calendar"){var f=document.getElementsByName(g.fieldName)[0];f.value=g.formatDate(b,g.showShortYear,true);f.focus()}}function createCalendar(currentId){var cal=calman.calcons["cal"+currentId].calendar;if(cal.type!="calendar"){var calCon=calman.calcons["cal"+currentId];var calConf=eval("calendar_config"+currentId);cal=calCon.getNewCalendar(calConf);cal.value=calCon.value}cal.jumpToValue();cal.draw()}function modifyClassName(d,h,f){var b=d.className.split(" ");var g=false;var c=0;for(c=0;c<b.length;c++){if(h==b[c]){g=true;break}}if(!g&&f){b.push(h)}else{if(g&&!f){b.splice(c,1)}}classes=b.join(" ");d.className=classes}function exchangeClassName(g,f,d){var b=g.className.split(" ");var h=false;var c=0;for(c=0;c<b.length;c++){if(f==b[c]){h=true;break}}if(h){b.splice(c,1,d)}classes=b.join(" ");g.className=classes}function toggleClassName(c,b,a){if(containsClass(c,b)){exchangeClassName(c,b,a)}else{exchangeClassName(c,a,b)}}function containsClass(d,g){var b=d.className.split(" ");var f=false;for(var c=0;c<b.length;c++){if(g==b[c]){f=true;break}}return f}CalendarControl=Class.create();CalendarControl.prototype={version:"1.3",type:"calendarcontrol",value:"",today:"",periodS:"",periodE:"",fieldName:"",returnFormname:"",returnPathDay:"",returnPathYear:"",returnHiddenField:"",viewPeriodS:"",viewPeriodE:"",dataPeriodS:"",dataPeriodE:"",monthsTexts:"",weekdaysTexts:"",def_dateFormat:"%d.%m.%Y",calendar:"",initialize:function(a){inherits(a,this);if(this.weekdaysTexts==""){this.weekdaysTexts=weekdayTexts}if(this.monthsTexts==""){this.monthsTexts=monthsTexts}},getNewCalendar:function(a){if(a!=""){var b=new Calendar(a)}else{var b=new Calendar(this.calendar_config)}this.returnHiddenField=a.returnHiddenField;b.periodS=this.periodS,b.periodE=this.periodE,b.viewPeriodS=this.viewPeriodS;b.viewPeriodE=this.viewPeriodE;b.dataPeriodS=this.dataPeriodS;b.dataPeriodE=this.dataPeriodE;b.monthsTexts=this.monthsTexts;b.weekdaysTexts=this.weekdaysTexts;b.returnHiddenField=this.fieldName;b.value=this.value;b.today=this.today;b.parent=this;b.id=this.id;b.dateFormat=(typeof dateFormat=="undefined")?dateFormat:this.def_dateFormat;b.setOneMonthOnly(true);inherits(a,b);makeObservable(b,this);b.addObserver(this);this.calendar=b;this.id=b.id;return b},getStartDateFrom:function(ioField){eval("userInput = "+this.returnWindow+"."+this.returnForm+"."+ioField+".value;");this.getStartDateFromString(userInput)},getStartDateFromString:function(a){if(a=="today"){this.viewPeriodS=new Date()}else{this.viewPeriodS=parseUserDateInput(a);if(this.viewPeriodS==undefined){this.viewPeriodS=new Date()}}},getEndDateFrom:function(ioField){eval("userInput = "+this.returnWindow+"."+this.returnForm+"."+ioField+".value;");this.getEndDateFromString(userInput)},getEndDateFromString:function(a){this.viewPeriodE=parseUserDateInput(a)},formatDate:function(a,g,b){if(!isDate(a)){a=this.value}var f=(this.dateFormat.length>=0)?this.dateFormat:this.def_dateFormat;var d=a.getMonth()+1;f=f.replace("%m",d.toString().leftPad(2,"0"));f=(g)?f.replace("%Y","%y"):f.replace("%y","%Y");if(f.indexOf("%Y")>-1){f=f.replace("%Y",a.getFullYear().toString())}else{if(f.indexOf("%y")>-1){f=f.replace("%y",a.getFullYear().toString().substr(2,2))}}f=f.replace("%d",a.getDate().toString().leftPad(2,"0"));if(b){var c=a.getDay()-1;c=(c==-1)?c=6:c;f=this.weekdaysTexts[c]+", "+f}return f},printMonths:function(d,b){var a=e(d);var c=new Date(this.periodS);var f=new Date(this.periodE);while(c.getTime()<=f.getTime()){if((c.getMonth()==b.getMonth())&&(c.getFullYear()==b.getFullYear())){a.options[a.options.length]=new Option(monthsTextsShort[c.getMonth()]+" "+c.getFullYear(),c.getMonth()+"_"+c.getFullYear(),true,true);a.options[a.options.length-1].selected=true}else{a.options[a.options.length]=new Option(monthsTextsShort[c.getMonth()]+" "+c.getFullYear(),c.getMonth()+"_"+c.getFullYear())}c.setDate(1);c.setMonth(c.getMonth()+1)}},setDate:function(a){if(!isDate(a)){a=parseUserDateInput(a)}this.value=a;if(isObject(this.calendar)){this.calendar.value=a;this.calendar.jumpToValue();this.calendar.draw()}},syncDays:function(c,m,n){if(isString(m)){m=m.split("_");var s=new Date(m[1],m[0],1)}else{if(isDate(m)){var s=new Date(m)}else{return}}var j=e(c);var q=(n)?s.getDate():j.value;if((this.periodS)&&(this.periodE)){this.periodS=parseUserDateInput(this.periodS);this.periodE=parseUserDateInput(this.periodE);var b=this.periodS.getMonth();var h=this.periodS.getFullYear();var g=this.periodE.getMonth();var p=this.periodE.getFullYear();var w=s.getMonth();var a=s.getFullYear();var v=1;var f=s.getDaysInMonth();var u=new Date(s);u.setDate(1);if(((w==b)&&(a==h))&&(this.periodS.getDate()>1)){v=this.periodS.getDate()}if(((w==g)&&(a==p))&&(this.periodE.getDate()<u.getDaysInMonth())){f=this.periodE.getDate();q=(this.periodE.getDate()<q)?this.periodS.getDate():q}}var t=-1;var l=j.options;var k=l.length;for(var r=0;r<k;r++){l[0]=null}for(var r=1;r<=s.getDaysInMonth();r++){if((r>=v)&&(r<=f)){t++;l[t]=new Option(r,r);if(r==q){l[t].selected=true}}}}};function toggleDivCal(a,f,i){var d="inline";var h=e("calendar"+a);var c=e("callink"+a);h.style.position="absolute";var b=new CalUtils();var g=b.getDimensions(c);if(!f){h.style.display=(h.style.display!="none")?"none":d;if((typeof(i)!="undefined")&&(i)){var h=e("calendarshadow"+a);h.style.display=(h.style.display!="none")?"none":d}}else{h.style.left=(g.x-1)+"px";h.style.display=(h.style.display!="none")?"none":d;h.style.top=(g.y+13-h.clientHeight)+"px";if((typeof(i)!="undefined")&&(i)){var h=e("calendarshadow"+a);h.style.position="absolute";h.style.left=(g.x+1)+"px";h.style.display=(h.style.display!="none")?"none":d;h.style.top=(g.y+15-h.clientHeight)+"px"}}putIFrameBehind(h,"calendar_iframe"+a);return false}function toggleDivCal2(g,h,j){var d="inline";var a=e("calendar"+g);var c=e("calendar_iframe"+g);var b=e("callink"+g);a.style.position="absolute";var f=new CalUtils();var i=f.getDimensions(b);if(!h){a.style.top=(i.y-1)+"px";a.style.left=(i.x-1)+"px";a.style.display=(a.style.display!="none")?"none":d;if((typeof(j)!="undefined")&&(j)){var a=e("calendarshadow"+g);a.style.position="absolute";a.style.top=(i.y+1)+"px";a.style.left=(i.x+1)+"px";a.style.display=(a.style.display!="none")?"none":d}}else{a.style.top=(i.y+13-a.clientHeight)+"px";a.style.left=(i.x-1)+"px";a.style.display=(a.style.display!="none")?"none":d;if((typeof(j)!="undefined")&&(j)){var a=e("calendarshadow"+g);a.style.position="absolute";a.style.left=(i.x+1)+"px";a.style.display=(a.style.display!="none")?"none":d;a.style.top=(i.y+15-a.clientHeight)+"px"}}putIFrameBehind(a,"calendar_iframe"+g);return false}function putIFrameBehind(f,d){if(typeof(d)=="undefined"){d=f.id+"_iframe"}if(isObject(f)){var b=document.getElementById(d);if(b==null){b=document.createElement("iframe");b.id=d;f.parentNode.appendChild(b)}b.className=f.className;b.style.position="absolute";var a=new CalUtils();var c=a.getDimensions(f);b.width=c.w+"px";b.height=(c.h-f.style.border)+"px";b.style.top=c.y+"px";b.style.left=c.x+"px";b.style.border="none";b.style.display=f.style.display}}CalendarManager=Class.create();CalendarManager.prototype={calcons:new Array(),initialize:function(){},getNewCalCon:function(c){var b=new CalendarControl(c);b.myparent=this;this.calcons[b.id]=b;b.observe=onUpdate;var a=document.getElementsByName(b.fieldName)[0];if(a!=null){makeObservable(document.getElementsByName(b.fieldName)[0],b)}return b},createCalendar:function(c,b){var a=calman.getNewCalCon(c);a.getNewCalendar(b);return a.calendar}};calman=new CalendarManager();Calendar=Class.create();Calendar.prototype={version:"1.2",type:"calendar",value:"",initialize:function(a){this.name=a.id;this.id=a.id;this.divid=a.divid;this.readOnly=true;this.showWeekNumbers=true;this.weekStartsOn=0;this.internalScrollers=false;this.selectedDay=null;this.preSelectedDay=null;this.multipleSelect=false;this.fullMonthsOnly=true;this.scrollable=true;this.monthsTexts="";this.weekdaysTexts="";this.prevMonthHTML="&laquo";this.nextMonthHTML="&raquo";this.weekNoHTML="&nbsp;";this.howManyDays=0},prevMonth:function(){this.viewPeriodS.setDate(1);this.viewPeriodS.shiftM(-1);this.viewPeriodE.setDate(1);this.viewPeriodE.shiftD(-1);this.selectedDay=null;this.draw()},nextMonth:function(){this.viewPeriodS.setDate(1);this.viewPeriodS.shiftM(1);this.viewPeriodE.setDate(1);this.viewPeriodE.shiftM(2);this.viewPeriodE.setDate(1);this.viewPeriodE.shiftD(-1);this.selectedDay=null;this.draw()},setFullMonthsOnly:function(a){this.fullMonthsOnly=a;if(this.fullMonthsOnly){this.viewPeriodE=new Date(this.viewPeriodE.getFullYear(),this.viewPeriodE.getMonth()+1,1);this.viewPeriodE.setDate(1);this.viewPeriodE.shiftD(-1)}},setOneMonthOnly:function(a){this.oneMonthOnly=a;if(this.oneMonthOnly){this.viewPeriodS=new Date(this.viewPeriodS.getFullYear(),this.viewPeriodS.getMonth(),1);this.viewPeriodE=new Date(this.viewPeriodS.getFullYear(),this.viewPeriodS.getMonth()+1,1);this.viewPeriodE.shiftD(-1)}},getHowManyDays:function(){var a=86400000;var b=Math.ceil((this.viewPeriodE.getTime()-this.viewPeriodS.getTime())/(a))+1;return b},setPreselectedDate:function(a){a=parseUserDateInput(a);if(a.getTime()<this.dataPeriodS.getTime()){a=this.dataPeriodS}else{if(a.getTime()>this.dataPeriodE.getTime()){a=this.dataPeriodE}}this.preSelectedDay=a;this.selectedDay=this.getCellName(a);this.viewPeriodS=new Date(a);this.viewPeriodS.setDate(1);this.viewPeriodE=new Date(a);this.viewPeriodE.setDate(1);this.viewPeriodE.shiftM(1);this.viewPeriodE.setDate(1);this.viewPeriodE.shiftD(-1)},jumpToValue:function(){this.setPreselectedDate(this.value)},hideCallBack:function(){if(typeof this.hideCallBackName!="undefined"){var temp=this.name.charAt(this.name.length-1);temp=this.hideCallBackName+"('"+temp+"');";eval(temp)}},getCellName:function(a){return this.name+"_df_"+a.getFullYear()+"-"+(a.getMonth())+"-"+a.getDate()},setDate:function(i){if(!this.readOnly){var k=e(i);toggleClassName(k,"active","enabled");if(!this.multipleSelect){if(this.selectedDay!=null){var h=e(this.selectedDay);var d=(typeof this.bitfield!="undefined")?"working":"enabled";modifyClassName(h,"active",false);modifyClassName(h,d,true)}this.selectedDay=i;var a=i.substring((this.name.length)+4,i.length);var j=a.split("-");var f=1*j[0];var b=1*j[1];var g=1*j[2];this.value=new Date(f,b,g);this.notify(this);this.hideCallBack()}}},inPeriod:function(a,b,c){return((a.getTime()>=b.getTime())&&(a.getTime()<=c.getTime()))},drawHeader:function(b,d){if(this.scrollable){if(this.internalScrollers){var a=document.createElement("TH");a.id=this.name+"_heading_months_lt"}else{var a=document.getElementById(this.name+"prev")}var c=new Date(d);c.setDate(1);c.shiftD(-1);if(this.inPeriod(c,this.dataPeriodS,this.dataPeriodE)){a.innerHTML=this.prevMonthHTML;a.className="prevMonth";if(this.internalScrollers){a.onclick=function(){var f=this.id.substring(0,this.id.indexOf("_heading_months_lt"));calman.calcons[f].calendar.prevMonth()}}else{a.onclick=function(){var f=this.id.substring(0,this.id.indexOf("prev"));calman.calcons[f].calendar.prevMonth()}}}else{a.innerHTML="";a.className="disabled"}if(this.internalScrollers){b.appendChild(a)}}a=document.createElement("TH");a.colSpan=((this.scrollable)&&(this.internalScrollers))?5:7;if(this.showWeekNumbers){a.colSpan++}a.innerHTML=this.monthsTexts[d.getMonth()]+"&nbsp;"+d.getFullYear();a.textAlign="center";a.id=this.name+"_heading_months"+d.getMonth();if(this.multipleSelect){a.className="heading_months_enabled";a.onclick=function(){var f=this.id.substring(0,this.id.indexOf("_heading_months"));var g=this.id.substring(this.id.indexOf("_heading_months")+15,this.id.length);calman.calcons[f].calendar.selectMonth(g)}}else{a.className="heading_months_disabled"}b.appendChild(a);if(this.scrollable){if(this.internalScrollers){a=document.createElement("TH");a.id=this.name+"_heading_months_gt"}else{a=document.getElementById(this.name+"next")}var c=new Date(d);c.setDate(1);c.shiftM(1);if(this.inPeriod(c,this.dataPeriodS,this.dataPeriodE)){a.innerHTML=this.nextMonthHTML;a.className="nextMonth";if(this.internalScrollers){a.onclick=function(){var f=this.id.substring(0,this.id.indexOf("_heading_months_gt"));calman.calcons[f].calendar.nextMonth()}}else{a.onclick=function(){var f=this.id.substring(0,this.id.indexOf("next"));calman.calcons[f].calendar.nextMonth()}}}else{a.innerHTML="";a.className="disabled"}if(this.internalScrollers){b.appendChild(a)}}},draw:function(){this.howManyDays=this.getHowManyDays();if(this.bitfield){var r=new Date(this.dataPeriodS);var b=0;if(r.getTime()<this.viewPeriodS.getTime()){while(r.getTime()<this.viewPeriodS.getTime()){b++;r.shiftD(1)}}else{while(r.getTime()>this.viewPeriodS.getTime()){b--;r.shiftD(-1)}}}var a=document.getElementById(this.divid);var s=document.getElementById(this.name+"_table");if(s==null){s=document.createElement("TABLE");a.insertBefore(s,a.firstChild);s.setAttribute("cellSpacing","0");if(typeof isIE=="undefined"){s.style.width="auto"}s.style.width="100%";s.id=this.name+"_table";s.className="calendar"}var k=document.getElementById(this.name+"_tbody");if(k!=null){k.parentNode.removeChild(k)}k=document.createElement("TBODY");s.appendChild(k);k.id=this.name+"_tbody";r=new Date(this.viewPeriodS);if(this.oneMonthOnly){current_row=document.createElement("TR");this.drawHeader(current_row,r);k.appendChild(current_row)}var t=document.createElement("TR");if(this.showWeekNumbers){var q=document.createElement("TH");q.id=this.name+"_heading_"+n;q.className="heading_daynames";q.innerHTML=this.weekNoHTML;t.appendChild(q)}for(n=0;n<7;n++){var q=document.createElement("TH");q.id=this.name+"_heading_"+n;if(n+this.weekStartsOn<0){q.innerHTML=this.weekdaysTexts[6]}else{q.innerHTML=this.weekdaysTexts[n+this.weekStartsOn]}if(this.multipleSelect){q.className="enabled";q.onclick=function(){var i=this.id.substring(0,this.id.indexOf("_heading_"));var d=this.id.substring(this.id.indexOf("_heading_")+9,this.id.length);calman.calcons[i].calendar.selectDays(d)}}else{q.className="heading_daynames"}t.appendChild(q)}k.appendChild(t);var h=0;var c=false;var o=0;var f=1;var p=-1;var g=true;while(g){p++;if(((r.getDate()==1&&c)||(h==0))&&(r.getTime()>=this.viewPeriodS.getTime())){if(this.weekStartsOn==0){var l=(r.getDay()-1<0)?6:r.getDay()-1}else{var l=r.getDay()}if(this.oneMonthOnly==false){current_row=document.createElement("TR");current_cell=document.createElement("TD");current_cell.colSpan=7;current_cell.innerHTML=this.monthsTexts[r.getMonth()]+" - "+r.getFullYear();current_cell.id=this.name+"_heading_months"+r.getMonth();if(this.multipleSelect){current_cell.className="enabled";current_cell.onclick=function(){var d=this.id.substring(0,this.id.indexOf("_heading_months"));var i=this.id.substring(this.id.indexOf("_heading_months")+15,this.id.length);calman.calcons[d].calendar.selectMonth(i)}}else{current_cell.className="disabled"}current_row.appendChild(current_cell);k.appendChild(current_row)}}current_row=document.getElementById(this.name+"_row_"+p);if(current_row==null){current_row=document.createElement("TR");current_row.id=this.name+"_row_"+p;k.appendChild(current_row)}if(this.showWeekNumbers){q=document.createElement("TD");q.className="weekno";q.innerHTML=getWeek(r);current_row.appendChild(q)}for(var n=0;n<7;n++){if((r.getDate()==1&&c==false)&&(h!=0)){c=true;for(var m=n;m<7;m++){q=document.createElement("TD");q.className="disabled";q.innerHTML="&nbsp;";if(current_row!=null){current_row.appendChild(q)}}break}q=document.createElement("TD");if(l<=0&&h<this.howManyDays){c=false;q.id=this.getCellName(r);this.getDateClass(q,r);if((b+h>=0)&&(this.inPeriod(r,this.dataPeriodS,this.dataPeriodE))){if(this.bitfield.charAt(b+h)=="1"){modifyClassName(q,"working",true);q.onclick=function(){var d=this.id.substring(0,this.id.indexOf("_df"));calman.calcons[d].calendar.setDate(this.id)}}else{modifyClassName(q,"notworking",true);q.onclick=null}}else{if(this.readOnly==true){q.className="disabled"}else{modifyClassName(q,"enabled",true)}q.onclick=function(){var d=this.id.substring(0,this.id.indexOf("_df"));calman.calcons[d].calendar.setDate(this.id)}}q.innerHTML=r.getDate();r.shiftD(1);h+=1}else{q.className="disabled";q.innerHTML="&nbsp;";q.onclick=null;l-=1}r.shiftD(-1);if(r.getTime()<this.dataPeriodS.getTime()){q.className="disabled before_period";q.onclick=null}if(r.getTime()>this.dataPeriodE.getTime()){q.className="disabled beyond_period";q.onclick=null}r.shiftD(1);current_row.appendChild(q)}if((r.getTime()>this.viewPeriodE.getTime())||(h>=this.howManyDays)){g=false}}if(p<5){var t=document.createElement("TR");for(var j=0;j<=7;j++){var q=document.createElement("TD");q.className="disabled";q.innerHTML="&nbsp;";t.appendChild(q)}k.appendChild(t)}document.getElementById(this.divid).style.width="auto";if(this.preSelectedDay!=undefined){tempday=document.getElementById(this.getCellName(this.preSelectedDay));if(tempday!=undefined){if((!this.dataPeriodS)&&(!this.dataPeriodE)){modifyClassName(tempday,"active",true)}else{modifyClassName(tempday,"active",true)}}}},getFromVKHEXBitfield:function(a){this.dataPeriodS=new Date("20"+a.substr(4,2),a.substr(2,2),a.substr(0,2));this.dataPeriodS.shiftM(-1);this.dataPeriodE=new Date("20"+a.substr(10,2),a.substr(8,2),a.substr(6,2));this.dataPeriodE.shiftM(-1);a=a.substring(12,a.length);this.bitfield="";var b="";for(var c=0;c<a.length;c+=2){b=(parseInt(a.substring(c,c+2),16)).toString(2);while(b.length<8){b="0"+b}this.bitfield=this.bitfield+b}return this.bitfield},getDateClass:function(a,b,c){if(this.value.getTime()==b.getTime()){modifyClassName(a,"active",true)}if(this.today.getTime()==b.getTime()){modifyClassName(a,"today",true)}}};
