Calendar.setup=function(a){var h="string",e=false,m="disableFunc",f=true,l="%Y/%m/%d",k="displayArea",c=null,j="inputField";function b(b,c){if(typeof a[b]=="undefined")a[b]=c}b(j,c);b(k,c);b("button",c);b("eventName","click");b("ifFormat",l);b("daFormat",l);b("singleClick",f);b(m,c);b("dateStatusFunc",a[m]);b("dateTooltipFunc",c);b("dateText",c);b("firstDay",c);b("align","Br");b("range",[0,2999]);b("weekNumbers",f);b("flat",c);b("flatCallback",c);b("onSelect",c);b("onClose",c);b("onUpdate",c);b("date",c);b("showsTime",e);b("timeFormat","24");b("electric",f);b("step",2);b("position",c);b("cache",e);b("showOthers",e);b("multiple",c);var g=[j,k,"button"];for(var i in g)if(typeof a[g[i]]==h)a[g[i]]=document.getElementById(a[g[i]]);if(!(a.flat||a.multiple||a.inputField||a.displayArea||a.button)){alert("Calendar.setup:\n  Nothing to setup (no fields found).  Please check your code");return e}function n(b){var c="function",a=b.params,d=b.dateClicked||a.electric;if(d&&a.inputField){a.inputField.value=b.date.print(a.ifFormat);typeof a.inputField.onchange==c&&a.inputField.onchange()}if(d&&a.displayArea)a.displayArea.innerHTML=b.date.print(a.daFormat);d&&typeof a.onUpdate==c&&a.onUpdate(b);if(d&&a.flat)typeof a.flatCallback==c&&a.flatCallback(b);d&&a.singleClick&&b.dateClicked&&b.callCloseHandler()}if(a.flat!=c){if(typeof a.flat==h)a.flat=document.getElementById(a.flat);if(!a.flat){alert("Calendar.setup:\n  Flat specified but can't find parent.");return e}var d=new Calendar(a.firstDay,a.date,a.onSelect||n);d.setDateToolTipHandler(a.dateTooltipFunc);d.showsOtherMonths=a.showOthers;d.showsTime=a.showsTime;d.time24=a.timeFormat=="24";d.params=a;d.weekNumbers=a.weekNumbers;d.setRange(a.range[0],a.range[1]);d.setDateStatusHandler(a.dateStatusFunc);d.getDateText=a.dateText;a.ifFormat&&d.setDateFormat(a.ifFormat);a.inputField&&typeof a.inputField.value==h&&d.parseDate(a.inputField.value);d.create(a.flat);d.show();return e}var o=a.button||a.displayArea||a.inputField;o["on"+a.eventName]=function(){var c=a.inputField||a.displayArea,g=a.inputField?a.ifFormat:a.daFormat,d=e,b=window.calendar;if(c)a.date=Date.parseDate(c.value||c.innerHTML,g);if(!(b&&a.cache)){window.calendar=b=new Calendar(a.firstDay,a.date,a.onSelect||n,a.onClose||function(a){a.hide()});b.setDateToolTipHandler(a.dateTooltipFunc);b.showsTime=a.showsTime;b.time24=a.timeFormat=="24";b.weekNumbers=a.weekNumbers;d=f}else{a.date&&b.setDate(a.date);b.hide()}if(a.multiple){b.multiple={};for(var i=a.multiple.length;--i>=0;){var h=a.multiple[i],j=h.print("%Y%m%d");b.multiple[j]=h}}b.showsOtherMonths=a.showOthers;b.yearStep=a.step;b.setRange(a.range[0],a.range[1]);b.params=a;b.setDateStatusHandler(a.dateStatusFunc);b.getDateText=a.dateText;b.setDateFormat(g);d&&b.create();b.refresh();if(!a.position)b.showAtElement(a.button||a.displayArea||a.inputField,a.align);else b.showAt(a.position[0],a.position[1]);return e};return d};