Calendar.savedHandlers=[];Calendar.setup=function(f){var b=(typeof BookingBuddy!="undefined")?new Date(BookingBuddy.Strings.ServerTime):new Date();function e(g,h){if(typeof f[g]=="undefined"){f[g]=h}}e("input",null);e("icon",null);e("eventName","click");e("align","Br");e("offsets",null);e("onSelect",null);e("onClose",null);e("onUpdate",null);e("getDate",null);e("date",b);e("position",null);e("cache",false);e("numMonths",2);var c=b;c.setDate(1);c.setFullYear(c.getFullYear()+1);e("maxDate",c);f.input=$j("#"+f.input).get(0);if(f.input){var a=f.input;var d=f.input.id+"_on"+f.eventName;Calendar.savedHandlers[d]=a["on"+f.eventName];a["on"+f.eventName]=function(){var h=false;var i=window._sl_calendar;f.date=f.getDate();if(!(i&&f.cache)){h=true;if(window._sl_calendar){window._sl_calendar.destroy()}window._sl_calendar=i=new Calendar(f.date,f.onSelect||onSelect,f.onClose||function(j){j.hide()});i.setMaxDate(f.maxDate);i.params=f}else{i.hide()}if(f.numMonths){i.numMonths=f.numMonths}if(!f.date){f.date=new Date()}if(h){i.create()}var g=f.getDate();if($j.isNullOrUndefined(g)){g=f.date}i.setDate(g);if(!f.position){i.showAtElement(f.showAt||f.button,f.align,f.offsets)}else{i.showAt(f.position[0],f.position[1])}if(typeof Calendar.savedHandlers[d]=="function"){window.setTimeout('Calendar.savedHandlers["'+d+'"]()',10)}return false};if(!$j("#"+f.icon).length){f.icon=f.icon+"_div"}f.icon=$j("#"+f.icon).click(function(g){$j(a).click()});$j(f.input).addClass("calendarUIInitialized")}};