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