/*ADOBE SYSTEMS INCORPORATED
Copyright 2007 Adobe Systems Incorporated
All Rights Reserved.

NOTICE:  Adobe permits you to use, modify, and distribute this file in accordance with the
terms of the Adobe license agreement accompanying it.  If you have received this file from a
source other than Adobe, then your use, modification, or distribution of it requires the prior
written permission of Adobe.*/
if(!ColdFusion.Calendar){
ColdFusion.Calendar={};
}
ColdFusion.Calendar.monthNamesShort=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
ColdFusion.Calendar.monthNamesLong=new Array("January","February","March","April","May","June","July","August","September","October","November","December");
ColdFusion.Calendar.dayNamesShort=new Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat");
ColdFusion.Calendar.dayNamesLong=new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
ColdFusion.Calendar.calTableIdCounter=0;
if(navigator.userAgent.toLowerCase().indexOf("safari")>-1){
var set_month=Date.prototype.setMonth;
Date.prototype.setMonth=function(num){
if(num<=-1){
var n=Math.ceil(-num);
var _1c7=Math.ceil(n/12);
var _1c8=(n%12)?12-n%12:0;
this.setFullYear(this.getFullYear()-_1c7);
return set_month.call(this,_1c8);
}else{
return set_month.apply(this,arguments);
}
};
}
if(!String.escape){
String.escape=function(_1c9){
return _1c9.replace(/('|\\)/g,"\\$1");
};
}
ColdFusion.Calendar.setUpCalendar=function(_1ca,mask,_1cc,_1cd,_1ce,_1cf,_1d0){
var _1d1=ColdFusion.DOM.getElement(_1ca+_1cf+"_cf_button",_1cf);
var _1d2=ColdFusion.DOM.getElement(_1ca,_1cf);
var _1d3=null;
var _1d4=null;
if(_1d2.value!=""){
_1d3=_1d2.value;
_1d4=_1d3.split("/");
}
var _1d5=_1ca+"_cf_calendar"+ColdFusion.Calendar.calTableIdCounter;
ColdFusion.Calendar.calTableIdCounter++;
var _1d6=ColdFusion.DOM.getElement(_1ca+_1cf+"_cf_container",_1cf);
var _1d7=_1d2.offsetLeft;
ColdFusion.DOM.getElement(_1ca+_1cf+"_cf_container",_1cf).style.left=_1d7;
YAHOO.widget.Calendar.IMG_ROOT=_cf_ajaxscriptsrc+"/resources/yui/";
var _1d8;
if(_1d4&&_1d4[0]&&_1d4[2]){
_1d8=new YAHOO.widget.Calendar(_1d5,_1ca+_1cf+"_cf_container",{close:true,pagedate:_1d4[0]+"/"+_1d4[2]});
}else{
_1d8=new YAHOO.widget.Calendar(_1d5,_1ca+_1cf+"_cf_container",{close:true});
}
_1d8.calendarinputid=_1ca;
_1d8.calendarinput=_1d2;
_1d8.mask=mask;
_1d8.formname=_1cf;
_1d8.cfg.setProperty("MONTHS_LONG",_1ce);
_1d8.cfg.setProperty("WEEKDAYS_SHORT",_1cd);
_1d8.cfg.setProperty("START_WEEKDAY",_1cc);
ColdFusion.objectCache[_1d5+_1cf]=_1d8;
_1d8.select(_1d3);
_1d8.render();
_1d8.hide();
_1d8.selectEvent.subscribe(ColdFusion.Calendar.handleDateSelect,_1d8,true);
YAHOO.util.Event.addListener(_1ca+_1cf+"_cf_button","click",ColdFusion.Calendar.handleCalendarLinkClick,_1d8,true);
if(_1d0!=null){
var year=_1d0.year;
var _1da=_1d0.month;
var day=_1d0.day;
var _1dc=new Date(year,_1da.valueOf()-1,day);
_1d2.value=ColdFusion.Calendar.createFormattedOutput(_1ca,mask,year,_1da,day,_1dc);
}
};
ColdFusion.Calendar.openedCalendarInstance=null;
ColdFusion.Calendar.handleCalendarLinkClick=function(type,args){
var _1df=args;
if(ColdFusion.Calendar.openedCalendarInstance){
ColdFusion.Calendar.openedCalendarInstance.hide();
}
if(!_1df.extMask){
var _1e0=ColdFusion.Calendar.convertToExtMask(_1df.mask);
_1df.extMask=_1e0;
}
var _1e1=ColdFusion.DOM.getElement(args.calendarinputid,_1df.formname).value;
var _1e2=null;
if(typeof (_1e1)!="undefined"&&ColdFusion.trim(_1e1)!=""){
_1e2=Date.parseDate(_1e1,_1df.extMask);
}
if(_1e2!=null){
_1df.setMonth(_1e2.getMonth());
_1df.setYear(_1e2.getFullYear());
_1df.select(_1e2);
_1df.render();
}
ColdFusion.Calendar.openedCalendarInstance=_1df;
_1df.show();
};
ColdFusion.Calendar.handleDateSelect=function(type,args,_1e5){
var _1e6=args[0];
var date=_1e6[0];
var year=date[0],month=date[1],day=date[2];
var _1e9=new Date(year,month.valueOf()-1,day);
_1e5.calendarinput.value=ColdFusion.Calendar.createFormattedOutput(_1e5.calendarinputid,_1e5.mask,year,month,day,_1e9);
ColdFusion.Event.callBindHandlers(_1e5.calendarinputid,null,"change");
_1e5.hide();
};
ColdFusion.Calendar.convertToExtMask=function(mask){
mask=mask.toUpperCase();
if(mask.indexOf("DD")!=-1){
mask=mask.replace(/DD/g,"d");
}
if(mask.indexOf("D")!=-1){
mask=mask.replace(/D/g,"d");
}
if(mask.indexOf("MMMM")!=-1){
mask=mask.replace(/MMMM/g,"F");
}else{
if(mask.indexOf("MMM")!=-1){
mask=mask.replace(/MMM/g,"M");
}else{
if(mask.indexOf("MM")!=-1){
mask=mask.replace(/MM/g,"m");
}else{
if(mask.indexOf("M")!=-1){
mask=mask.replace(/M/g,"m");
}
}
}
}
if(mask.indexOf("YYYY")!=-1){
mask=mask.replace(/YYYY/g,"Y");
}
if(mask.indexOf("YY")!=-1){
mask=mask.replace(/YY/g,"y");
}
if(mask.indexOf("EEEE")!=-1){
mask=mask.replace(/EEEE/g,"l");
}
if(mask.indexOf("EEE")!=-1){
mask=mask.replace(/EEE/g,"D");
}
if(mask.indexOf("E")!=-1){
mask=mask.replace(/E/g,"w");
}
return mask;
};
ColdFusion.Calendar.createFormattedOutput=function(_1eb,mask,year,_1ee,day,date){
mask=mask.toUpperCase();
year=new String(year);
_1ee=new String(_1ee);
day=new String(day);
var _1f1=date.getDay();
if(mask.indexOf("DD")!=-1){
if(day.length==1){
day="0"+day;
}
mask=mask.replace(/DD/g,day);
}
if(mask.indexOf("D"!=-1)){
if(day.length!=-1&&day.charAt(0)=="0"){
day=day.charAt(1);
}
mask=mask.replace(/D/g,day);
}
if(mask.indexOf("MMMM")!=-1){
_1ee=ColdFusion.Calendar.monthNamesLong[_1ee.valueOf()-1];
mask=mask.replace(/MMMM/g,_1ee);
}else{
if(mask.indexOf("MMM")!=-1){
_1ee=ColdFusion.Calendar.monthNamesShort[_1ee.valueOf()-1];
mask=mask.replace(/MMM/g,_1ee);
}else{
if(mask.indexOf("MM")!=-1){
if(_1ee.length==1){
_1ee="0"+_1ee;
}
mask=mask.replace(/MM/g,_1ee);
}else{
if(mask.indexOf("M")!=-1){
if(_1ee.length!=-1&&_1ee.charAt(0)=="0"){
_1ee=_1ee.charAt(1);
}
mask=mask.replace(/M/g,_1ee);
}
}
}
}
if(mask.indexOf("YYYY")!=-1){
mask=mask.replace(/YYYY/g,year);
}
if(mask.indexOf("YY")!=-1){
year=year.substring(2);
mask=mask.replace(/YY/g,year);
}
if(mask.indexOf("EEEE")!=-1){
_1f1=ColdFusion.Calendar.dayNamesLong[_1f1.valueOf()];
mask=mask.replace(/EEEE/g,_1f1);
}
if(mask.indexOf("EEE")!=-1){
_1f1=ColdFusion.Calendar.dayNamesShort[_1f1.valueOf()];
mask=mask.replace(/EEE/g,_1f1);
}
if(mask.indexOf("E")!=-1){
_1f1=_1f1.valueOf();
_1f1=new String(_1f1);
if(_1f1.length!=-1&&_1f1.charAt(0)=="0"&&_1f1.charAt(1)){
_1f1=_1f1.charAt(1);
}
mask=mask.replace(/E/g,_1f1);
}
return mask;
};
