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