(function(){var r=window.DL||{};r.Widget.Calendar=new r.Class({version:'$Revision: 1.34 $',initialize:function(b){this.options={appendTo:document.body,name:null,value:null,date:null,format:'y-m-d',headerFormat:'mm y',offset:-1,input:null,inputPosition:'outside',label:null,popup:false,visible:true,noPast:false,noFuture:false,theme:'enigma',className:null,period:true,toggle:false,toggleSeperator:',',disablemask:false,monthCount:1};this.input=[];this.value=[];this.slots=[];this.leafs={};this.today=new Date();this.disabled=false;var e=this.elements={},o=this.setOptions(b),self=this;o.date=(o.date)?r.Date.convert(o.date,o.format):o.date=new Date;o.noPast=(o.noPast)?r.Date.convert(o.noPast):false;o.noFuture=(o.noFuture)?r.Date.convert(o.noFuture):false;o.name=(o.appendTo&&o.appendTo.id)?o.appendTo.id:'Calendar_'+r.Widget.Calendar.instances.length;o.appendTo=(o.appendTo)?r.$I(o.appendTo):null;o.input=o.input||{type:'hidden',value:''};o.input=!r.type(o.input,'array')?[o.input]:o.input;for(var i=0,l=o.input.length;i=fd&&num<=len)dc.setDate(num);if(firstCell){r.Element.addNode(tbody,a=r.$C('tr'));r.Element.addNode(a,r.$C('th',r.Date.calendarWeek(new Date(y,m,num))))}if(jlen){r.Element.addClass(cell,'empty');cell.innerHTML=' '}else if(o.noPast&&dc.getTime()o.noFuture.getTime()){r.Element.addNode(cell,num);r.Element.addClass(cell,'disabled')}else{r.Element.addNode(cell,num);r.Element.addClass(cell,'date');cell.onmouseover=function(){if(!self.disabled)r.Element.addClass(this,'hover')};cell.onmouseout=function(){if(!self.disabled)r.Element.removeClass(this,'hover')};cells.push(cell)}if(this.today.getFullYear()==y&&this.today.getMonth()==m&&this.today.getDate()==num){cell.title='Heute';r.Element.addClass(cell,'today')}r.Element.addNode(a,cell)}this.options.date=new Date(dt.getTime());var b=r.$C('tr',r.$C('th'));for(var i=0,day;day=r.Widget.Calendar.language.days[i];i++)r.Element.addNode(b,r.$C('th',day.substring(0,1)));var c=r.$C('table',{className:'Leaf',cellspacing:1,cellpadding:0},r.$C('thead',r.$C('tr',e.header=r.$C('th',{className:'Header',colspan:r.Date.language.days.length+1},r.Date.dateToString(dt,o.headerFormat))),b),tbody);e.header.setAttribute('colSpan',r.Date.language.days.length+1);return(this.leafs[m+"-"+y]={value:dt,cells:cells,table:c})},getLeaf:function(a,b){b=b||'index';for(var n in this.leafs){if(b=='index')if(a==n)return this.leafs[n];if(b=='element')if(a==this.leafs[n].table)return this.leafs[n]}return null},disable:function(a){var b=this;a=r.defined(a)?a:!this.disabled;if(!a){this.disabled=false;r.Element.removeClass(this.elements.body,'disabled');r.Array.each(this.input,function(i){i.disable(false)})}else if(a){this.disabled=true;r.Element.addClass(this.elements.body,'disabled');this.clearValue();r.Array.each(this.input,function(i){i.disable(true)})}},getValue:function(a,b){a=r.check(a)?a:0;if(!this.value[a])return;if(r.defined(b))return r.Date.dateToString(this.value[a],b);return this.value[a]},setValue:function(a,b){if(r.type(a,'string'))a=r.Date.stringToDate(a,this.options.input[b].format||this.options.format)||null;if(this.options.toggle)this.setToggleValues(a,b);else this.setInputValues(a,b);if(a)this.selectLeaf(a.getFullYear(),a.getMonth());else this.selectLeaf()},setToggleValues:function(c){var d=this,setInputValue=function(){var a=[];for(var i=0,l=d.value.length;i=time){if(this.options.period)r.Element.addClass(b,'selected');for(var j=0,l2=this.value.length;j1&&this.value.length=g.getTime()){r.Element.addClass(b[j],'selected')}else r.Element.removeClass(b[j],'selected')}}}},changeMonth:function(a){var o=this.options;var d=new Date(this.slots[0].value.getTime());a*=o.monthCount;d.setMonth(d.getMonth()+a);this.doSelectLeaf(d.getFullYear(),d.getMonth())},display:function(a){var o=this.options,e=this.elements,visible=r.defined(a)?a:!o.visible;if(r.Widget.Calendar.active&&r.Widget.Calendar.active!=this&&o.popup)r.Widget.Calendar.active.display(false);r.Widget.Calendar.active=this;r.Element.display(e.body,visible?'block':'none');o.visible=visible;this.ontoggle(o.visible);if(r.Browser.isIE&&r.Widget.Calendar.fixZIndex)r.Widget.Calendar.fixZIndex(this,o.visible)},ontoggle:function(a){},onselect:function(a,c,b){},onperiod:function(b,a){},onchange:function(a,c,b){},onselectleaf:function(b,a){}});r.Widget.Calendar.implement(new r.Class.Options);r.Widget.Calendar.instances=[];r.Widget.Calendar.language={today:'Heute',nextMonth:'N�chster Monat',prevMonth:'Vorheriger Monat'};r.Widget.Calendar.active=false;r.Widget.Calendar.language={days:['Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag','Sonntag']};if(0&&r.Browser.isIE6){r.ready(function(){var a=r.Widget.Calendar.fixZIndexFrame=r.$C('iframe',{src:'about:blank',frameBorder:0,allowtransparency:'true',style:{position:'absolute',display:'none',zIndex:10}});r.Element.addNode(document.body,a);a.contentWindow.contentWindow.document.body.style.background='transparent'});r.Widget.Calendar.fixZIndex=function(a,c){if(!a.options.popup)return;var b=r.Widget.Calendar.fixZIndexFrame;if(c){r.Element.display(b,true);var d=r.Position.getDimension(a.elements.body);d.top+=document.body.scrollTop||document.documentElement.scrollTop;delete d.zIndex;r.Position.setDimension(b,d)}else{r.Element.display(b,false)}}};r.Event.addHandler(document,'click',function(a){var b=r.Event.target(a),ac=r.Widget.Calendar.active;if(!ac||!ac.options.popup)return;do{if(b==document)break;for(var n in ac.elements)if(b===ac.elements[n])return;for(var i=0;i