/*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 _100=Math.ceil(n/12); var _101=(n%12)?12-n%12:0; this.setFullYear(this.getFullYear()-_100); return set_month.call(this,_101); }else{ return set_month.apply(this,arguments); } }; } if(!String.escape){ String.escape=function(_102){ return _102.replace(/('|\\)/g,"\\$1"); }; } ColdFusion.Calendar.setUpCalendar=function(_103,mask,_105,_106,_107,_108,_109){ var _10a=ColdFusion.DOM.getElement(_103+_108+"_cf_button",_108); var _10b=ColdFusion.DOM.getElement(_103,_108); var _10c=null; var _10d=null; if(_10b.value!=""){ _10c=_10b.value; _10d=_10c.split("/"); } var _10e=_103+"_cf_calendar"+ColdFusion.Calendar.calTableIdCounter; ColdFusion.Calendar.calTableIdCounter++; var _10f=ColdFusion.DOM.getElement(_103+_108+"_cf_container",_108); var _110=_10b.offsetLeft; ColdFusion.DOM.getElement(_103+_108+"_cf_container",_108).style.left=_110; YAHOO.widget.Calendar.IMG_ROOT=_cf_ajaxscriptsrc+"/resources/yui/"; var _111; if(_10d&&_10d[0]&&_10d[2]){ _111=new YAHOO.widget.Calendar(_10e,_103+_108+"_cf_container",{close:true,pagedate:_10d[0]+"/"+_10d[2]}); }else{ _111=new YAHOO.widget.Calendar(_10e,_103+_108+"_cf_container",{close:true}); } _111.calendarinputid=_103; _111.calendarinput=_10b; _111.mask=mask; _111.formname=_108; _111.cfg.setProperty("MONTHS_LONG",_107); _111.cfg.setProperty("WEEKDAYS_SHORT",_106); _111.cfg.setProperty("START_WEEKDAY",_105); ColdFusion.objectCache[_10e+_108]=_111; _111.select(_10c); _111.render(); _111.hide(); _111.selectEvent.subscribe(ColdFusion.Calendar.handleDateSelect,_111,true); YAHOO.util.Event.addListener(_103+_108+"_cf_button","click",ColdFusion.Calendar.handleCalendarLinkClick,_111,true); if(_109!=null){ var year=_109.year; var _113=_109.month; var day=_109.day; var _115=new Date(year,_113.valueOf()-1,day); _10b.value=ColdFusion.Calendar.createFormattedOutput(_103,mask,year,_113,day,_115); } }; ColdFusion.Calendar.openedCalendarInstance=null; ColdFusion.Calendar.handleCalendarLinkClick=function(type,args){ var _118=args; if(ColdFusion.Calendar.openedCalendarInstance){ ColdFusion.Calendar.openedCalendarInstance.hide(); } if(!_118.extMask){ var _119=ColdFusion.Calendar.convertToExtMask(_118.mask); _118.extMask=_119; } var _11a=ColdFusion.DOM.getElement(args.calendarinputid,_118.formname).value; var _11b=null; if(typeof (_11a)!="undefined"&&ColdFusion.trim(_11a)!=""){ _11b=Date.parseDate(_11a,_118.extMask); } if(_11b!=null){ _118.setMonth(_11b.getMonth()); _118.setYear(_11b.getFullYear()); _118.select(_11b); _118.render(); } ColdFusion.Calendar.openedCalendarInstance=_118; _118.show(); }; ColdFusion.Calendar.handleDateSelect=function(type,args,_11e){ var _11f=args[0]; var date=_11f[0]; var year=date[0],month=date[1],day=date[2]; var _122=new Date(year,month.valueOf()-1,day); _11e.calendarinput.value=ColdFusion.Calendar.createFormattedOutput(_11e.calendarinputid,_11e.mask,year,month,day,_122); ColdFusion.Event.callBindHandlers(_11e.calendarinputid,null,"change"); _11e.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(_124,mask,year,_127,day,date){ mask=mask.toUpperCase(); year=new String(year); _127=new String(_127); day=new String(day); var _12a=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){ _127=ColdFusion.Calendar.monthNamesLong[_127.valueOf()-1]; mask=mask.replace(/MMMM/g,_127); }else{ if(mask.indexOf("MMM")!=-1){ _127=ColdFusion.Calendar.monthNamesShort[_127.valueOf()-1]; mask=mask.replace(/MMM/g,_127); }else{ if(mask.indexOf("MM")!=-1){ if(_127.length==1){ _127="0"+_127; } mask=mask.replace(/MM/g,_127); }else{ if(mask.indexOf("M")!=-1){ if(_127.length!=-1&&_127.charAt(0)=="0"){ _127=_127.charAt(1); } mask=mask.replace(/M/g,_127); } } } } 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){ _12a=ColdFusion.Calendar.dayNamesLong[_12a.valueOf()]; mask=mask.replace(/EEEE/g,_12a); } if(mask.indexOf("EEE")!=-1){ _12a=ColdFusion.Calendar.dayNamesShort[_12a.valueOf()]; mask=mask.replace(/EEE/g,_12a); } if(mask.indexOf("E")!=-1){ _12a=_12a.valueOf(); _12a=new String(_12a); if(_12a.length!=-1&&_12a.charAt(0)=="0"&&_12a.charAt(1)){ _12a=_12a.charAt(1); } mask=mask.replace(/E/g,_12a); } return mask; };