Zapatec.Calendar.setup=function(a){function b(b,c){if(typeof a[b]=="undefined")a[b]=c}b("inputField",null);b("displayArea",null);b("button",null);b("eventName","click");b("ifFormat","%d/%m/%Y");b("daFormat","%d/%m/%Y");b("singleClick",true);b("disableFunc",null);b("dateStatusFunc",a.disableFunc);b("dateText",null);b("firstDay",null);b("align","Br");b("range",[1900,2999]);b("weekNumbers",true);b("flat",null);b("flatCallback",null);b("onSelect",null);b("onClose",null);b("onUpdate",null);b("date",null);b("showsTime",false);b("sortOrder","asc");b("timeFormat","24");b("electric",true);b("step",2);b("position",null);b("cache",false);b("showOthers",false);b("multiple",null);b("saveDate",null);var d=["inputField","displayArea","button"];for(var e in d)if(typeof a[d[e]]=="string")a[d[e]]=document.getElementById(a[d[e]]);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 false}if(a.saveDate){var i=window.location.href+"--"+a.button.id,h=Zapatec.Utils.getCookie(i);if(h!=null)document.getElementById(a.inputField.id).value=h}function g(b){var a=b.params,c=b.dateClicked||a.electric;if(c&&a.flat){if(typeof a.flatCallback=="function")!a.multiple&&a.flatCallback(b);else alert("No flatCallback given -- doing nothing.");return false}if(c&&a.inputField){a.inputField.value=b.date.print(a.ifFormat);typeof a.inputField.onchange=="function"&&a.inputField.onchange()}if(c&&a.displayArea)if(a.displayArea.value!=null)a.displayArea.value=b.date.print(a.daFormat);else a.displayArea.innerHTML=b.date.print(a.daFormat);c&&a.singleClick&&b.dateClicked&&b.callCloseHandler();if(c&&typeof a.onUpdate=="function")a.onUpdate(b);if(a.saveDate){var d=window.location.href+"--"+a.button.id;Zapatec.Utils.writeCookie(d,a.inputField.value,null,"/",a.saveDate)}}if(a.flat!=null){if(typeof a.flat=="string")a.flat=document.getElementById(a.flat);if(!a.flat){alert("Calendar.setup:\n  Flat specified but can't find parent.");return false}var c=new Zapatec.Calendar(a.firstDay,a.date,a.onSelect||g);c.showsOtherMonths=a.showOthers;c.showsTime=a.showsTime;c.time24=a.timeFormat=="24";c.params=a;c.weekNumbers=a.weekNumbers;c.sortOrder=a.sortOrder.toLowerCase();c.setRange(a.range[0],a.range[1]);c.setDateStatusHandler(a.dateStatusFunc);c.getDateText=a.dateText;a.ifFormat&&c.setDateFormat(a.ifFormat);a.inputField&&a.inputField.type=="text"&&typeof a.inputField.value=="string"&&c.parseDate(a.inputField.value);a.multiple&&c.setMultipleDates(a.multiple);c.create(a.flat);c.show();return c}var f=a.button||a.displayArea||a.inputField;f["on"+a.eventName]=function(){var c=a.inputField||a.displayArea,h=a.inputField?a.ifFormat:a.daFormat,e=false,b=window.calendar;if(!(b&&a.cache)){window.calendar=b=new Zapatec.Calendar(a.firstDay,a.date,a.onSelect||g,a.onClose||function(b){if(a.cache)b.hide();else b.destroy()});b.showsTime=a.showsTime;b.time24=a.timeFormat=="24";b.weekNumbers=a.weekNumbers;b.historyDateFormat=a.ifFormat||a.daFormat;e=true}else{a.date&&b.setDate(a.date);b.hide()}a.multiple&&b.setMultipleDates(a.multiple);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(h);e&&b.create();if(c){var d;if(c.value)d=c.value;else d=c.innerHTML;if(d!=""){var f=Date.parseDate(c.value||c.innerHTML,h);f!=null&&b.setDate(f)}}if(!a.position)b.showAtElement(a.button||a.displayArea||a.inputField,a.align);else b.showAt(a.position[0],a.position[1]);return false};if(a.closeEventName)f["on"+a.closeEventName]=function(){window.calendar&&window.calendar.callCloseHandler()};return c}
