/* Copyright Mihai Bazon, 2002, 2003  |  http://dynarch.com/mishoo/
 * This script is distributed under the GNU Lesser General Public License.
 * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html */
Calendar.setup=function(_1){
function param_default(_2,_3){
if(typeof _1[_2]=="undefined"){
_1[_2]=_3;
}
}
param_default("inputField",null);
param_default("displayArea",null);
param_default("button",null);
param_default("eventName","click");
param_default("ifFormat","%Y/%m/%d");
param_default("daFormat","%Y/%m/%d");
param_default("singleClick",true);
param_default("disableFunc",null);
param_default("dateStatusFunc",_1["disableFunc"]);
param_default("dateText",null);
param_default("firstDay",null);
param_default("align","Br");
param_default("range",[1900,2999]);
param_default("weekNumbers",true);
param_default("flat",null);
param_default("flatCallback",null);
param_default("onSelect",null);
param_default("onClose",null);
param_default("onUpdate",null);
param_default("date",null);
param_default("showsTime",false);
param_default("timeFormat","24");
param_default("electric",true);
param_default("step",2);
param_default("position",null);
param_default("cache",false);
param_default("showOthers",false);
param_default("multiple",null);
var _4=["inputField","displayArea","button"];
for(var i in _4){
if(typeof _1[_4[i]]=="string"){
_1[_4[i]]=document.getElementById(_1[_4[i]]);
}
}
if(!(_1.flat||_1.multiple||_1.inputField||_1.displayArea||_1.button)){
alert("Calendar.setup:\n  Nothing to setup (no fields found).  Please check your code");
return false;
}
function onSelect(_6){
var p=_6.params;
var _8=(_6.dateClicked||p.electric);
if(_8&&p.inputField){
p.inputField.value=_6.date.print(p.ifFormat);
if(typeof p.inputField.onchange=="function"){
p.inputField.onchange();
}
}
if(_8&&p.displayArea){
p.displayArea.innerHTML=_6.date.print(p.daFormat);
}
if(_8&&typeof p.onUpdate=="function"){
p.onUpdate(_6);
}
if(_8&&p.flat){
if(typeof p.flatCallback=="function"){
p.flatCallback(_6);
}
}
if(_8&&p.singleClick&&_6.dateClicked){
_6.callCloseHandler();
}
}
if(_1.flat!=null){
if(typeof _1.flat=="string"){
_1.flat=document.getElementById(_1.flat);
}
if(!_1.flat){
alert("Calendar.setup:\n  Flat specified but can't find parent.");
return false;
}
var _9=new Calendar(_1.firstDay,_1.date,_1.onSelect||onSelect);
_9.showsOtherMonths=_1.showOthers;
_9.showsTime=_1.showsTime;
_9.time24=(_1.timeFormat=="24");
_9.params=_1;
_9.weekNumbers=_1.weekNumbers;
_9.setRange(_1.range[0],_1.range[1]);
_9.setDateStatusHandler(_1.dateStatusFunc);
_9.getDateText=_1.dateText;
if(_1.ifFormat){
_9.setDateFormat(_1.ifFormat);
}
if(_1.inputField&&typeof _1.inputField.value=="string"){
_9.parseDate(_1.inputField.value);
}
_9.create(_1.flat);
_9.show();
return false;
}
var _a=_1.button||_1.displayArea||_1.inputField;
_a["on"+_1.eventName]=function(){
var _b=_1.inputField||_1.displayArea;
var _c=_1.inputField?_1.ifFormat:_1.daFormat;
var _d=false;
var _e=window.calendar;
if(_b){
_1.date=Date.parseDate(_b.value||_b.innerHTML,_c);
}
if(!(_e&&_1.cache)){
window.calendar=_e=new Calendar(_1.firstDay,_1.date,_1.onSelect||onSelect,_1.onClose||function(_f){
_f.hide();
});
_e.showsTime=_1.showsTime;
_e.time24=(_1.timeFormat=="24");
_e.weekNumbers=_1.weekNumbers;
_d=true;
}else{
if(_1.date){
_e.setDate(_1.date);
}
_e.hide();
}
if(_1.multiple){
_e.multiple={};
for(var i=_1.multiple.length;--i>=0;){
var d=_1.multiple[i];
var ds=d.print("%Y%m%d");
_e.multiple[ds]=d;
}
}
_e.showsOtherMonths=_1.showOthers;
_e.yearStep=_1.step;
_e.setRange(_1.range[0],_1.range[1]);
_e.params=_1;
_e.setDateStatusHandler(_1.dateStatusFunc);
_e.getDateText=_1.dateText;
_e.setDateFormat(_c);
if(_d){
_e.create();
}
_e.refresh();
if(!_1.position){
_e.showAtElement(_1.button||_1.displayArea||_1.inputField,_1.align);
}else{
_e.showAt(_1.position[0],_1.position[1]);
}
return false;
};
return _9;
};


