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