
var cx=function(){return{EnableLogging:false,byID:function byID(elementID){return YAHOO.util.Dom.get(elementID);},show:function show(el){if(cx.byID(el)&&cx.byID(el).tagName&&cx.byID(el).tagName.toLowerCase()=='tr'){YAHOO.util.Dom.setStyle(el,'display','');}
else{YAHOO.util.Dom.setStyle(el,'display','block');}},hide:function hide(el){YAHOO.util.Dom.setStyle(el,'display','none');},toggleShowHide:function toggleShowHide(el){if(cx.byID(el).style.display=='none'){this.show(el);}
else{this.hide(el);}},form:function form(){var frm=this.byID('aspnetForm');if(!frm||null===frm||typeof(frm)=='undefined'){frm=this.byID('frmMain');}
return frm;},findParentBySuffix:function findParentBySuffix(aNode,parentSuffix){var currentNode=aNode;while(null!==currentNode){if(currentNode.id.lastIndexOf(parentSuffix)==currentNode.id.length-parentSuffix.length){return currentNode;}
currentNode=currentNode.parentNode;}},findChildBySuffix:function findChildBySuffix(aNode,currentSuffix,childSuffix){if(null===aNode){return null;}
var id=aNode.id.replace(currentSuffix,childSuffix);var node=this.byID(id);if(null===node){node=this.drillForChildNodeBySuffix(aNode,childSuffix);}
return node;},drillForChildNodeBySuffix:function drillForChildNodeBySuffix(el,childSuffix){if(null===el||typeof el=="undefined"){return null;}
if(el.id&&el.id.lastIndexOf(childSuffix)>=0){return el;}
if(el.childNodes.length>0){for(var n=0;n<el.childNodes.length;n++){var e=drillForChildNodeBySuffix(el.childNodes[n],childSuffix);if(null!==e){return e;}}}
return null;},refreshWindow:function refreshWindow(){try{if(cx.browser.hasParent){window.parent.location.href=cx.request.parentUrl;return;}}catch(e){}
try{cx.browser.redirect(cx.request.url);}catch(f){}},checkAll:function checkAll(){var Parent=this.form();var checked;if(this.checkAll.arguments&&this.checkAll.arguments.length>0){checked=this.checkAll.arguments[0];if(this.checkAll.arguments.length>1){if(typeof(this.checkAll.arguments[1])=="string"){Parent=this.byID(this.checkAll.arguments[1]);}
else if(typeof(this.checkAll.arguments[1])=="object"){Parent=this.checkAll.arguments[1];}}}
else{return;}
var elements=this.getChildNodes(Parent);for(var i=0;i<elements.length;i++){var e=elements[i];if(e.type=='checkbox'){e.checked=checked;}}},getChildNodes:function getChildNodes(Parent){return Parent.getElementsByTagName('*');},setOpacity:function setOpacity(elementid,opacityvalue){this.byID(elementid).style.opacity=opacityvalue/10;this.byID(elementid).style.filter='alpha(opacity='+opacityvalue*10+')';},simpleAsyncCallback:function simpleAsyncCallback(targetElementID,url,querystringparams,contenttoverify,errormessage,method,postdata){var sUrl=url;var elem=this.byID(targetElementID);if(querystringparams){sUrl+='?'+querystringparams+'&time='+new Date().getTime();}
var callback={success:function(o){if(elem!==null){if(o.responseText.indexOf(contenttoverify)>-1){elem.innerHTML=o.responseText;}
else{elem.innerHTML=errormessage;}}},failure:function(o){if(elem!==null){elem.className='redhighlight';elem.innerHTML=errormessage;}}};if(method===undefined){method='GET';}
if(postdata===undefined){postdata=null;}
var transaction=YAHOO.util.Connect.asyncRequest(method,sUrl,callback,postdata);},slightlyMoreComplexAsyncCallback:function slightlyMoreComplexAsyncCallback(url,querystringparams,callbackfunction,method,postdata){var sUrl=url;if(querystringparams){sUrl+='?'+querystringparams+'&time='+new Date().getTime();}
else
sUrl+='?time='+new Date().getTime();var callback={success:function success(o){if(null!=callbackfunction){callbackfunction('success',o)}},failure:function failure(o){if(null!=callbackfunction){callbackfunction('failure',o)}}}
if(method===undefined){method='GET';}
if(postdata===undefined){postdata=null;}
var transaction=YAHOO.util.Connect.asyncRequest(method,sUrl,callback,postdata);},stripWhitespace:function stripWhitespace(str){str=str.replace(/[\n\r\t]/g,'').toLowerCase();return str;},setFocus:function setFocus(elementid){this.byID(elementid).focus();},popUp:function popUp(url,name,width,height,left,top){win=window.open(url,name,'resizable=yes,scrollbars=yes,status=no,width='+width+',height='+height);if(left&&top)
win.moveTo(left,top);},browser:{version:{isIE:navigator.appName.toLowerCase()=="microsoft internet explorer",isFireFox:navigator.appName.toLowerCase()=="netscape",value:navigator.appVersion},userAgent:navigator.userAgent,codeName:navigator.appCodeName,name:navigator.appName,platform:navigator.platform,redirect:function(url){location.href=url;},hasParent:(function(){if(window.parent)
return true;return false;})()},formatMoney:function formatMoney(amount,showCents,currencySymbol){var delimiter=',';var a=new String(parseFloat(amount).toFixed(2)).split('.',2);var d=a[1];var i=parseInt(a[0]);if(isNaN(i)){return'';}
var minus='';if(i<0){minus='-';}
i=Math.abs(i);var n=new String(i);var a=[];while(n.length>3){var nn=n.substr(n.length-3);a.unshift(nn);n=n.substr(0,n.length-3);}
if(n.length>0){a.unshift(n);}
n=a.join(delimiter);if(d.length==0||!showCents){amount=n;}
else{amount=n+'.'+d;}
amount=minus+amount;return currencySymbol+amount;},formatHoursMins:function formatHoursMins(hoursDecimal){var hr=Math.floor(hoursDecimal);var min=Math.round((hoursDecimal-hr)*60);if(min<10)
min='0'+min;if(min==60){hr++;min='00';}
return hr+':'+min;},formatTime:function formatTime(timeString){var hrs=0;var mins=0;if(timeString.indexOf(':')>0){hrs=timeString.split(':')[0];mins=timeString.split(':')[1];}
else if(timeString.indexOf('.')>0){hrs=timeString.split('.')[0];mins=60*parseFloat(timeString.substring(timeString.indexOf('.')));}
else{switch(timeString.length){case 4:hrs=timeString.substring(0,2);mins=timeString.substring(2);break;case 3:hrs=timeString.substring(0,1);mins=timeString.substring(1);break;default:hrs=timeString;}}
if(mins>59){hrs=parseInt(hrs)+Math.floor(mins/60);mins=(mins%60);}
return hrs+':'+mins;},parseHoursMins:function parseHoursMins(hoursMins){if(hoursMins.indexOf(':')>0){var hrs=0;var mins=0;hrs=hoursMins.split(':')[0];mins=hoursMins.split(':')[1];return parseInt(hrs)+(parseInt(mins)/60);}
else
return parseFloat(hoursMins);},getRowIndex:function getRowIndex(target){var tablerow=this.getRow(target);if(null!==tablerow){return tablerow.rowIndex;}
return-1;},getRow:function getRow(target){while(target!==null&&target!==undefined){if(target.nodeName=="TR")
return target;target=target.parentNode;}
return null;},resizeContainingIFrame:function resizeContainingIFrame(el,padding){var iframe=null;var target=window.parent.document.getElementsByTagName("iframe");for(counter=0;counter<target.length;counter++){if(null!==target[counter].contentWindow.document.getElementById(el.id)){iframe=target[counter];break;}}
if(iframe!==null&&iframe!==undefined){var height=parseInt(el.offsetHeight)+parseInt(padding);iframe.height=height+'px';}},makeNamespace:function makeNamespace(args){var a=args,o=null,j,d;d=a.split(".");o=cx;for(j=(d[0]=="cx")?1:0;j<d.length;j=j+1){o[d[j]]=o[d[j]]||{};o=o[d[j]];}
return o;},getScrollX:function getScrollX(){var scrollX=0;if(document.documentElement&&document.documentElement.scrollLeft){scrollX=document.documentElement.scrollLeft;}
else if(document.body&&document.body.scrollLeft){scrollX=document.body.scrollLeft;}
else if(window.pageXOffset){scrollX=window.pageXOffset;}
else if(window.scrollX){scrollX=window.scrollX;}
return scrollX;},getScrollY:function getScrollY(){var scrollY=0;if(document.documentElement&&document.documentElement.scrollTop){scrollY=document.documentElement.scrollTop;}
else if(document.body&&document.body.scrollTop){scrollY=document.body.scrollTop;}
else if(window.pageYOffset){scrollY=window.pageYOffset;}
else if(window.scrollY){scrollY=window.scrollY;}
return scrollY;},unhighlightRow:function unhighlightRow(row,count){var startingindex=row.rowIndex;if(count<0){for(var i=0;i<Math.abs(count);i++){if(row.parentNode.rows[row.rowIndex-i].cells.length>row.cells.length){startingindex=row.rowIndex-i;break;}}}
for(var ii=0;ii<Math.abs(count);ii++){row.parentNode.rows[startingindex+ii].bgColor='#ffffff';}},highlightRow:function highlightRow(row,count){var startingindex=row.rowIndex;if(count<0){for(var i=0;i<Math.abs(count);i++){if(row.parentNode.rows[row.rowIndex-i].cells.length>row.cells.length){startingindex=row.rowIndex-i;break;}}}
for(var ii=0;ii<Math.abs(count);ii++){row.parentNode.rows[startingindex+ii].bgColor='#eeeeee';}},handleRowClick:function handleRowClick(url){},getRealLeft:function getRealLeft(imgElem){return YAHOO.util.Dom.getX(imgElem);},getRealTop:function getRealTop(imgElem){return YAHOO.util.Dom.getY(imgElem);}};}();cx.request=function(){return{queryString:(function(){var result={};var querystring=location.search;if(!querystring)
return result;var pairs=querystring.substring(1).split("&");var splitPair;for(var i=0;i<pairs.length;i++){splitPair=pairs[i].split("=");result[splitPair[0]]=splitPair[1];}
return result;})(),url:(function(){return location.protocol+"//"+location.host+"/"+location.pathname+location.search;})(),parentUrl:(function(){try{return parent.location.protocol+"//"+parent.location.host+"//"+parent.location.pathname+parent.location.search;}
catch(e){}})()};}();cx.getEvent=function(evt){return window.event;}
cx.mouse=function(){return{_x:function _x(evt){var posx=0;if(evt){if(evt.clientX){posx=evt.clientX+document.body.scrollLeft+document.documentElement.scrollLeft;}else if(evt.pageX){posx=evt.pageX;}}
return posx;},_y:function _y(evt){var posy=0;if(evt){if(evt.clientY){posy=evt.clientY+document.body.scrollTop+document.documentElement.scrollTop;}
else if(evt.pageY){posy=evt.pageY+document.body.scrollTop+document.documentElement.scrollTop;}}
return posy;},x:null,y:null,init:function(evt){if(!evt){evt=cx.getEvent();}
this.y=this._y(evt);this.x=this._x(evt);}};}();cx.element=function(){return{cotr:function(){this.el=arguments[0][0];return this;},el:null,properties:{},Coords:null,posX:function posX(){if(!this.el)return-1;if(YAHOO&&YAHOO.ext&&YAHOO.ext.Element){var e=YAHOO.ext.Element.get(this.el);return e.getX;}
if(null==this.Coords)
this.setCoords();return this.Coords[0];},posY:function posY(){if(!this.el)return-1;if(YAHOO&&YAHOO.ext&&YAHOO.ext.Element){var e=YAHOO.ext.Element.get(this.el);return e.getY;}
if(null==this.Coords)
this.setCoords();return this.Coords[1];},setCoords:function setCoords(){var el=this.el;var posX=0,posY=0;if(typeof(el.offsetParent)!='undefined'){do{posX+=el.offsetLeft;posY+=el.offsetTop;}
while(el=el.offsetParent)
this.Coords=[posX,posY];}else
this.Coords=[el.x,el.y];},getStyle:function getStyle(obj,styleProp){if(obj.currentStyle)
return obj.currentStyle[styleProp];else if(window.getComputedStyle)
return document.defaultView.getComputedStyle(obj,null).getPropertyValue(styleProp);},matchHeightToOtherElements:function matchHeightToOtherElements(elementIDs,doMatchParent){if(elementIDs.length<=0||null==this.el)
return;var sHeight;elementIDs.push(this.el.id);var obj=cx.byID(elementIDs[0]);if(null==obj)
var assumedHeight=0;if(null!=obj)
assumedHeight=obj.offsetHeight;sHeight=assumedHeight;var isMisMatchHeight=false;var n=0;while(n<elementIDs.length){var x=cx.byID(elementIDs[n]);if(null!=x){if(x.offsetHeight!=assumedHeight)
isMisMatchHeight=true;if(x.offsetHeight>assumedHeight)
assumedHeight=x.offsetHeight;if(doMatchParent&&(x.parentNodeoffsetHeight>assumedHeight))
assumedHeight=x.parentNode.offsetHeight;}
++n;}
if(sHeight!=assumedHeight||true==isMisMatchHeight){this.el.style.height=assumedHeight+"px";n=0;while(n<elementIDs.length){var x=cx.byID(elementIDs[n]);if(null!=x)
x.style.height=assumedHeight+"px";++n;}}}}.cotr(arguments);}
cx.unit=function()
{return{cotr:function()
{this.i=arguments[0][0];return this;},i:null,toString:function()
{return this.i+"px";}}.cotr(arguments);}
cx.forms={validateCompanySearch:function validateCompanySearch(searchBoxID)
{if(null==cx.forms.validationTimer)
{cx.forms.validationTimer=new cx.forms.validationTimerObj();}
if(cx.byID(searchBoxID).value<=0)
{if(!cx.forms.validationTimer.isStarted&&!cx.forms.validationTimer.isExpired())
{alert('Please enter a company name');cx.forms.validationTimer.stop();cx.forms.validationTimer.reset();cx.forms.validationTimer.start();}
return false;}
else
{cx.forms.validationTimer.stop();cx.forms.validationTimer.reset();cx.forms.validationTimer.start();return true;}},validationTimer:null,validationTimerObj:function()
{return{Cotr:function()
{var callback=new cx.events.callback("onUpdate",this);this.timer=new cx.util.timer(2500,callback);this._isExpired=false;return this;},timer:null,_isExpired:false,isStarted:false,start:function start()
{this.timer.start();this.isStarted=true;},stop:function stop()
{this.timer.stop();this.isStarted=false},reset:function reset()
{this._isExpired=false;this.timer.reset();this.isStarted=false;},onUpdate:function onUpdate(date)
{if(date.getSeconds()>0)
this._isExpired=true;},isExpired:function isExpired()
{return this._isExpired}}.Cotr(arguments);}}
cx.util={fixPng:function fixPng()
{var arVersion=navigator.appVersion.split("MSIE")
var version=parseFloat(arVersion[1])
if((version>=5.5)&&(document.body.filters)&&version<7.0)
{for(var i=0;i<document.images.length;i++)
{var img=document.images[i]
if(img.className.indexOf("noMod")>=0)
continue;var imgName=img.src.toUpperCase()
if(imgName.substring(imgName.length-3,imgName.length)=="PNG")
{var imgID=(img.id)?"id='"+img.id+"' ":""
var imgClass=(img.className)?"class='"+img.className+"' ":""
var imgTitle=(img.title)?"title='"+img.title+"' ":"title='"+img.alt+"' "
var imgStyle="display:inline-block;"+img.style.cssText
if(img.align=="left")imgStyle="float:left;"+imgStyle
if(img.align=="right")imgStyle="float:right;"+imgStyle
if(img.parentElement.href)imgStyle="cursor:hand;"+imgStyle
var strNewHTML="<span "+imgID+imgClass+imgTitle
+" style=\""+"width:"+img.width+"px; height:"+img.height+"px;"+imgStyle+";"
+"filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
+"(src=\'"+img.src+"\');\"></span>"
img.outerHTML=strNewHTML
i=i-1}}}},getKeyCode:function getKeyCode(e)
{if(!e)
{e=window.event;}
if(e)
{if(e.keyCode)
{return e.keyCode}
else if(e.which)
{return e.which}}},timer:function()
{return{Cotr:function()
{this.duration=arguments[0][0];this.callback=arguments[0][1];this.ID=cx.util.timer.timerID;cx.util.timer.timers[this.ID]=this;++cx.util.timer.timerID;return this;},ID:null,duration:1000,callback:null,tStart:null,timerID:null,updateTimer:function updateTimer()
{if(this.timerID)
{clearTimeout(this.timerID);}
if(!this.tStart)
this.tStart=new Date();var tDate=new Date();var tDiff=tDate.getTime()-this.tStart.getTime();tDate.setTime(tDiff);if(null==this.callback.Obj)
{setTimeout(this.callback.Name+'()',1);}
else
this.callback.Obj[this.callback.Name](tDate);this.timerID=setTimeout("cx.util.timer.update("+this.ID+")",this.duration);},start:function start()
{this.tStart=new Date();this.timerID=setTimeout("cx.util.timer.update("+this.ID+")",this.duration);},stop:function stop()
{if(this.timerID)
{clearTimeout(this.timerID);this.timerID=0;}
this.tStart=null;},reset:function()
{this.tStart=null;}}.Cotr(arguments);}};cx.util.timer.timerID=0;cx.util.timer.timers=new Array();cx.util.timer.update=function(id)
{var t=cx.util.timer.timers[id];t.updateTimer();}
cx.events={};cx.events.callback=function()
{return{Cotr:function()
{switch(arguments[0].length)
{case 1:this.Name=arguments[0][0];this.Obj=null;break;case 2:this.Name=arguments[0][0];this.Obj=arguments[0][1];break;}
return this;},Name:null,Obj:null}.Cotr(arguments);}
cx.Objects={};cx.Instance={};cx.page=function()
{return{beginStartError:function beginStartError()
{cx.page.createError();},createError:function createError()
{cx.page.onThrowInit();},onThrowInit:function onTrowInit()
{cx.page.throwUp();},throwUp:function throwUp()
{puke();try
{}catch(e)
{cx.page.handle_Error(e,"");throw e.message;}},getStackTrace:function getStackTrace()
{var mode;try{(0)()}catch(e)
{mode=e.stack?'Firefox':window.opera?'Opera':'Other';}
switch(mode)
{case'Firefox':return function()
{try{(0)()}catch(e)
{return e.stack.replace(/^.*?\n/,'').replace(/(?:\n@:0)?\s+$/m,'').replace(/^\(/gm,'{anonymous}(').replace('<p>','').split(/@http:/).join("<br />@http:");}};case'Opera':return function()
{try{(0)()}catch(e)
{var lines=e.message.split("\n"),ANON='{anonymous}',lineRE=/Line\s+(\d+).*?in\s+(http\S+)(?:.*?in\s+function\s+(\S+))?/i,i,j,len;for(i=4,j=0,len=lines.length;i<len;i+=2)
{if(lineRE.test(lines[i]))
{lines[j++]=(RegExp.$3?RegExp.$3+'()@'+RegExp.$2+RegExp.$1:ANON+RegExp.$2+':'+RegExp.$1)+' -- '+lines[i+1].replace(/^\s+/,'');}}
lines.splice(j,lines.length-j);return lines;}};default:return function()
{var curr=arguments.callee.caller,FUNC='function',ANON="{anonymous}",fnRE=/function\s*([\w\-$]+)?\s*\(/i,stack=[],j=0,fn,args,i;while(curr)
{fn=fnRE.test(curr.toString())?RegExp.$1||ANON:ANON;args=stack.slice.call(curr.arguments);i=args.length;while(i--)
{switch(typeof args[i])
{case'string':args[i]='string arg['+i+']';break;case'function':args[i]=FUNC;break;}}
stack[j++]=fn+'('+args.join()+')<br />';curr=curr.caller;}
return stack;};}},p:"<p>",newline:"<rn>",process_Error:function process_Error(errorType,pageuri,lineNumber,message,stackTrace)
{if(cx.page._hasSentErrorMessage||!cx.EnableLogging)
return;cx.page._hasSentErrorMessage=true;var page="/shared/script/cx/ClientErrorHandler.ashx?errorType="+errorType+"&page="+pageuri+"&lineNumber="+lineNumber+"&message="+message+"&stackTrace="+stackTrace;try
{var conn=YAHOO.util.Connect.asyncRequest('GET',page+'&time='+new Date().getTime(),new cx.page.error_Callback());}
catch(e){}},error_Callback:function error_Callback()
{return{success:function(o)
{},failure:function()
{}}},_hasSentErrorMessage:false,_on_ErrorCalled:false,on_Error:function on_Error(message,uri,line,errorType)
{if(!errorType)
{errorType=0}
if(uri.indexOf('banman')>0)
return;if(cx.page._on_ErrorCalled)
return;cx.page._on_ErrorCalled=true;var sb=new String();sb+="uncaught runtime error has occured:";if(null==message)
message="no inner message attached to this error";if(null==uri)
uri="the uri is not available";if(null==line)
line="the line which the error occured is not available";var stacktrace=cx.page.getStackTrace()().toString().replace("&","andamp");stacktrace=encodeURI(stacktrace.replace("Stack trace:",''));message+=cx.page.p+"User browser details:";message+=cx.page.newline+"appCodeName: "+cx.browser.codeName;message+=cx.page.newline+"appName: "+cx.browser.name;message+=cx.page.newline+"appVersion: "+cx.browser.version.value;message+=cx.page.newline+"userAgent: "+cx.browser.userAgent;message+=cx.page.newline+"platform: "+cx.browser.platform;cx.page.process_Error(errorType,uri,line,message,stacktrace);},on_Init:function on_Init()
{window.onerror=this.on_Error;},on_Load:function on_Load()
{},handle_Error:function handle_Error(errorObject,optionalMessage)
{var page=cx.request.url;var sb=new String();if(null!=errorObject)
{try
{sb+=errorObject.message;}
catch(e){}
if(cx.browser.version.isIE)
{try
{sb+="Error Description: "+errorObject.description;sb+=" Error Code: "+errorObject.number;}
catch(e){}}
else if(cx.browser.version.isFireFox)
{try
{sb+=" File: "+errorObject.fileName;}
catch(e){}}}
if(null!=optionalMessage&&optionalMessage.length>0)
{sb+=this.p+"Developer Message: ";sb+=this.newline+optionalMessage;}
this.on_Error(sb.toString(),page,0,1);throw errorObject.message;}}}();cx.ui={};String.prototype.trimString=function(){return this.replace(/^\s+|\s+$/g,"");};function CXCalendarManager(){this.calendarContainerID='calendarContainer';this.calendarContainerClass='CXCalendarContainer';this.calendarContainerElement='div';this.calendarContainer=null;var Dom=YAHOO.util.Dom;this.calendars=[];this.pickers=[];this.legs=[];this.YUICalendar=null;this.CXCalendarHandle=null;this.calendarToClose=null;this.calWidth=190;this.calHeight=199;this.updating=false;this.emptyFormatStringMDY="mm/dd/yyyy";this.emptyFormatStringDMY="dd/mm/yyyy";this.emptyFormatStringYMD="yyyy/mm/dd";CXCalendarManager.OnCreateContainer=new Array();};CXCalendarManager.prototype.OnCreateContainer=null;CXCalendarManager.prototype.createContainer=function(){var container=document.createElement(this.calendarContainerElement);container.setAttribute('id',this.calendarContainerID);container.setAttribute('class',this.calendarContainerClass);document.body.appendChild(container);this.calendarContainer=container;}
CXCalendarManager.prototype.doPreviousMonthNav=function(evt,cal)
{suspendblur=true;}
CXCalendarManager.prototype.doNextMonthNav=function(evt,cal)
{suspendblur=true;}
CXCalendarManager.prototype.applyListners=function()
{var root=this.YUICalendar.oDomContainer,anchor="a",click="click",linkLeft=YAHOO.util.Dom.getElementsByClassName(this.YUICalendar.Style.CSS_NAV_LEFT,anchor,root),linkRight=YAHOO.util.Dom.getElementsByClassName(this.YUICalendar.Style.CSS_NAV_RIGHT,anchor,root);if(linkLeft&&linkLeft.length>0){this.linkLeft=linkLeft[0];YAHOO.util.Event.addListener(this.linkLeft,click,this.doPreviousMonthNav,this.YUICalendar,false);}
if(linkRight&&linkRight.length>0){this.linkRight=linkRight[0];YAHOO.util.Event.addListener(linkRight,click,this.doNextMonthNav,this,false);}}
CXCalendarManager.prototype.init=function(mgr){YAHOO.util.Event.onContentReady(this.calendarContainerID,function(){this.YUICalendar=new YAHOO.widget.Calendar(this.calendarContainerID,this.calendarContainerID,{close:true});this.YUICalendar.render();this.YUICalendar.hide();for(var i=0;i<CXCalendarManager.OnCreateContainer.length;++i)
CXCalendarManager.OnCreateContainer[i].OnCreated();},this,true);};CXCalendarManager.prototype.shiftYear=function(year,month,day,dateAssumption,minDate,maxDate){var now=new Date();var nYear=now.getFullYear();var nMonth=now.getMonth()+1;var nDay=now.getDate();if(YAHOO.CXCalendarManager.CXCalendarHandle.dateAssumption==1&&(nMonth>month||(nMonth==month&&nDay>day)))
{year++}
else if(YAHOO.CXCalendarManager.CXCalendarHandle.dateAssumption==-1&&(nMonth<month||(nMonth==month&&nDay<day)))
{year--;}
var testDate=new Date(month+"/"+day+"/"+year);if((testDate<minDate)&&(dateAssumption==0)){year++;}else if((testDate>maxDate)&&(dateAssumption==0)){year--;}
return year;}
CXCalendarManager.prototype.hasYear=function(datestring){var mdy=/(\d{1,2})[-.\/ ](\d{1,2})[-.\/ ](\d{4})/;var ymd=/(\d{4})[-.\/ ](\d{1,2})[-.\/ ](\d{1,2})/;return(mdy.test(datestring)||ymd.test(datestring));}
CXCalendarManager.prototype.handleSelect=function(type,args,obj){if(YAHOO.CXCalendarManager.updating==false){YAHOO.CXCalendarManager.updating=true;var dates=args[0];var date=dates[0];var year=date[0],month=date[1],day=date[2];var cal=YAHOO.CXCalendarManager.CXCalendarHandle;var selDateBox=cx.byID(cal.dateBoxID);var dateString="";setBlack(selDateBox,YAHOO.CXCalendarManager.initialTextFieldColor,YAHOO.CXCalendarManager.initialTextFieldClass);if(YAHOO.CXCalendarManager.CXCalendarHandle.dateFormatString=="DayMonthYear"){dateString=day+"/"+month+"/"+year;}else if(YAHOO.CXCalendarManager.CXCalendarHandle.dateFormatString=="MonthDayYear"){dateString=month+"/"+day+"/"+year;}else if(YAHOO.CXCalendarManager.CXCalendarHandle.dateFormatString=="YearMonthDay"){dateString=year+"/"+month+"/"+day;}
selDateBox.value=dateString;if(true===cal.hasChild()){var d=this.parseDate(dateString,YAHOO.CXCalendarManager.CXCalendarHandle.dateFormatString,YAHOO.CXCalendarManager.CXCalendarHandle.dateAssumption)
this.handleChildSelect(cal,cal.childCalendar,d);}
YAHOO.CXCalendarManager.updateRanges(selDateBox.id);if(selDateBox.onchange){selDateBox.onchange(null);}
this.YUICalendar.hide();YAHOO.CXCalendarManager.updating=false;}};CXCalendarManager.prototype.handleChildSelect=function(cxParentCal,cxChildCal,dateb){var tb=cx.byID(cxChildCal.dateBoxID);var datea=null;if(tb.value.indexOf('/')>0)
{datea=new Date();try
{datea=this.parseDate(tb.value,cxChildCal.dateFormatString,cxChildCal.dateAssumption);}
catch(e)
{alert(e);if(false==this.isValidDate(val,cxChildCal.dateFormatString,cxChildCal.dateAssumption))
{datea=dateb;}}}
if(null==datea)
return;if(((datea.getMonth()<dateb.getMonth())&&(datea.getFullYear()==dateb.getFullYear()))||((datea.getMonth()>dateb.getMonth())&&(datea.getFullYear()<dateb.getFullYear())))
{datea.setMonth(dateb.getMonth());}
if(((datea.getDate()<dateb.getDate())&&(datea.getMonth()==dateb.getMonth()))||((datea.getDate()<dateb.getDate())&&(datea.getMonth()<dateb.getMonth()&&(datea.getFullYear()<dateb.getFullYear()))))
{datea.setDate(dateb.getDate()+1);}
if(datea.getFullYear()<dateb.getFullYear())
datea.setFullYear(dateb.getFullYear());tb.value=this.toDateString(datea,cxChildCal.dateFormatString);if(true===cxChildCal.hasChild())
{this.handleChildSelect(cxChildCal,cxChildCal.childCalendar,datea);}}
CXCalendarManager.prototype.toDateString=function(date,dateFormat){var dateString="";switch(dateFormat)
{case"DayMonthYear":dateString=date.getDate()+"/"+date.getMonth()+1+"/"+date.getFullYear();break;case"MonthDayYear":dateString=date.getMonth()+1+"/"+date.getDate()+"/"+date.getFullYear();break;case"YearMonthDay":dateString=date.getFullYear()+"/"+date.getMonth()+1+"/"+date.getDate();break;}
return dateString;}
CXCalendarManager.prototype.parseDate=function(stringDate,dateFormat,dateAssumption){var testDate=null;if(YAHOO.CXCalendarManager.hasYear(stringDate)==true){var dmy=/(\d{1,2})[-.\/ ](\d{1,2})[-.\/ ](\d{4})/;var mdy=/(\d{1,2})[-.\/ ](\d{1,2})[-.\/ ](\d{4})/;var ymd=/(\d{4})[-.\/ ](\d{1,2})[-.\/ ](\d{1,2})/;}else{var dmy=/(\d{1,2})[-.\/ ](\d{1,2})/;var mdy=/(\d{1,2})[-.\/ ](\d{1,2})/;var ymd=/(\d{1,2})[-.\/ ](\d{1,2})/;}
if(YAHOO.CXCalendarManager.hasYear(stringDate)==false){var now=new Date();var year=now.getFullYear();var month;var day;if(dateFormat=="DayMonthYear"){valid=dmy.test(stringDate);month=parseInt(RegExp.$2);day=parseInt(RegExp.$1);}else if(dateFormat=="MonthDayYear"){valid=mdy.test(stringDate);month=parseInt(RegExp.$1);day=parseInt(RegExp.$2);}else if(dateFormat=="YearMonthDay"){valid=ymd.test(stringDate);month=parseInt(RegExp.$1);day=parseInt(RegExp.$2);}
year=YAHOO.CXCalendarManager.shiftYear(year,month,day,YAHOO.CXCalendarManager.CXCalendarHandle.dateAssumption,YAHOO.CXCalendarManager.CXCalendarHandle.minDate,YAHOO.CXCalendarManager.CXCalendarHandle.maxDate);if(dateFormat=="DayMonthYear"){valid=dmy.test(stringDate);testDate=new Date(RegExp.$2+"/"+RegExp.$1+"/"+year);}else if(dateFormat=="MonthDayYear"){valid=mdy.test(stringDate);testDate=new Date(RegExp.$1+"/"+RegExp.$2+"/"+year);}else if(dateFormat=="YearMonthDay"){valid=ymd.test(stringDate);testDate=new Date(RegExp.$1+"/"+RegExp.$2+"/"+year);}}else{if(dateFormat=="DayMonthYear"){valid=dmy.test(stringDate);testDate=new Date(RegExp.$2+"/"+RegExp.$1+"/"+RegExp.$3);}else if(dateFormat=="MonthDayYear"){valid=mdy.test(stringDate);testDate=new Date(RegExp.$1+"/"+RegExp.$2+"/"+RegExp.$3);}else if(dateFormat=="YearMonthDay"){valid=ymd.test(stringDate);testDate=new Date(RegExp.$2+"/"+RegExp.$3+"/"+RegExp.$1);}}
return testDate;}
CXCalendarManager.prototype.isValidDate=function(stringDate,dateFormat,dateAssumption){var valid=false;var testDate=null;var tday;var tmonth;var tyear;if(YAHOO.CXCalendarManager.hasYear(stringDate)==true){var dmy=/(\d{1,2})[-.\/ ](\d{1,2})[-.\/ ](\d{4})/;var mdy=/(\d{1,2})[-.\/ ](\d{1,2})[-.\/ ](\d{4})/;var ymd=/(\d{4})[-.\/ ](\d{1,2})[-.\/ ](\d{1,2})/;}else{var dmy=/(\d{1,2})[-.\/ ](\d{1,2})/;var mdy=/(\d{1,2})[-.\/ ](\d{1,2})/;var ymd=/(\d{1,2})[-.\/ ](\d{1,2})/;}
if(YAHOO.CXCalendarManager.hasYear(stringDate)==false){var now=new Date();tyear=now.getFullYear();if(dateFormat=="DayMonthYear"){valid=dmy.test(stringDate);tmonth=parseInt(RegExp.$2);tday=parseInt(RegExp.$1);}else if(dateFormat=="MonthDayYear"){valid=mdy.test(stringDate);tmonth=parseInt(RegExp.$1);tday=parseInt(RegExp.$2);}else if(dateFormat=="YearMonthDay"){valid=ymd.test(stringDate);tmonth=parseInt(RegExp.$1);tday=parseInt(RegExp.$2);}
tyear=YAHOO.CXCalendarManager.shiftYear(tyear,tmonth,tday,YAHOO.CXCalendarManager.CXCalendarHandle.dateAssumption,YAHOO.CXCalendarManager.CXCalendarHandle.minDate,YAHOO.CXCalendarManager.CXCalendarHandle.maxDate);if(dateFormat=="DayMonthYear"){testDate=new Date(RegExp.$2+"/"+RegExp.$1+"/"+tyear);}else if(dateFormat=="MonthDayYear"){testDate=new Date(RegExp.$1+"/"+RegExp.$2+"/"+tyear);}else if(dateFormat=="YearMonthDay"){testDate=new Date(RegExp.$1+"/"+RegExp.$2+"/"+tyear);}}else{if(dateFormat=="DayMonthYear"){valid=dmy.test(stringDate);testDate=new Date(RegExp.$2+"/"+RegExp.$1+"/"+RegExp.$3);tday=parseInt(RegExp.$1);tmonth=parseInt(RegExp.$2);tyear=parseInt(RegExp.$3);}else if(dateFormat=="MonthDayYear"){valid=mdy.test(stringDate);testDate=new Date(RegExp.$1+"/"+RegExp.$2+"/"+RegExp.$3);tday=parseInt(RegExp.$2);tmonth=parseInt(RegExp.$1);tyear=parseInt(RegExp.$3);}else if(dateFormat=="YearMonthDay"){valid=ymd.test(stringDate);testDate=new Date(RegExp.$2+"/"+RegExp.$3+"/"+RegExp.$1);tday=parseInt(RegExp.$3);tmonth=parseInt(RegExp.$2);tyear=parseInt(RegExp.$1);}}
if(valid==true){var day=testDate.getDate();var month=testDate.getMonth()+1;var year=testDate.getFullYear();valid=((tday==day)&&(tmonth==month)&&(tyear==year));}
return valid;}
CXCalendarManager.prototype.updateCalendar=function(initial){if(YAHOO.CXCalendarManager.updating==false&&this.CXCalendarHandle){YAHOO.CXCalendarManager.updating=true;var selDateBox=cx.byID(this.CXCalendarHandle.dateBoxID);var date=selDateBox.value;var realdate;var foundDate=false;var formatString=this.CXCalendarHandle.dateFormatString;var minDate=this.CXCalendarHandle.minDate;var maxDate=this.CXCalendarHandle.maxDate;foundDate=this.isValidDate(date,formatString,this.CXCalendarHandle.dateAssumption);if(foundDate==true){realdate=this.parseDate(date,formatString,this.CXCalendarHandle.dateAssumption);var year=realdate.getFullYear();var month=realdate.getMonth()+1;this.YUICalendar.select(realdate);this.YUICalendar.cfg.setProperty("pagedate",month+"/"+year);this.YUICalendar.render();}else if(initial==true){var now=new Date();if(now>maxDate){this.YUICalendar.cfg.setProperty("pagedate",(maxDate.getMonth()+1)+"/"+maxDate.getFullYear());}else if(now<minDate){this.YUICalendar.cfg.setProperty("pagedate",(minDate.getMonth()+1)+"/"+minDate.getFullYear());}else{this.YUICalendar.clear();}}
YAHOO.CXCalendarManager.updating=false;}};CXCalendarManager.prototype.returnTextBox=null;CXCalendarManager.prototype.whenTextBox=null;CXCalendarManager.prototype.synchronizeDates=function(event)
{var target=YAHOO.util.Event.getTarget(event);if(null==target)
{var type=this.arguments[0];var dates=this.arguments[1];this.calendar=this.arguments[2];return;}
if(null===CXCalendarManager.returnTextBox)
return
var date=new Date(CXCalendarManager.whenTextBox.value);var returnDate=new Date(CXCalendarManager.returnTextBox.value);if((date.getMonth()===returnDate.getMonth())&&(date.getFullYear()===returnDate.getFullYear()))
return;if(date.getMonth()!=returnDate.getMonth())
{returnDate.setMonth(date.getMonth());}
if(date.getFullYear()!=returnDate.getFullYear())
{returnDate.setFullYear(date.getFullYear());}
YAHOO.CXCalendarManager.findCalendar(CXCalendarManager.returnTextBox.id).setControls(returnDate)}
CXCalendarManager.prototype.addCalendar=function(calendarButtonID,dateBoxID,startDate,minDate,maxDate,allowNull,dateFormatString,dateAssumption,isReturnPicker,childCalendarDateBoxID){var cal=new CXCalendar(calendarButtonID,this.calendars.length,dateBoxID,startDate,minDate,maxDate,allowNull,dateFormatString,dateAssumption,isReturnPicker,childCalendarDateBoxID);this.calendars.push(cal);YAHOO.CXCalendarManager.setEmptyFieldFormatStringWithElement(cx.byID(dateBoxID));YAHOO.util.Event.addListener(calendarButtonID,'click',this.showCalendar,this,this);YAHOO.util.Event.addListener(dateBoxID,'blur',this.setEmptyFieldFormatString,this,this);YAHOO.util.Event.addListener(dateBoxID,'focus',this.showCalendar,this,this);YAHOO.util.Event.addListener(dateBoxID,'blur',this.hideCalendarBlur,this,this);YAHOO.util.Event.addListener(dateBoxID,'keydown',this.hideCalendarKeyDown,this,this);};var suspendblur=false;CXCalendarManager.prototype.hide=function(calendar){if(YAHOO.CXCalendarManager.CXCalendarHandle){YAHOO.CXCalendarManager.setEmptyFieldFormatStringWithElement(cx.byID(YAHOO.CXCalendarManager.CXCalendarHandle.dateBoxID));}
calendar.hide();}
CXCalendarManager.prototype.setEmptyFieldFormatStringWithElement=function(dateBox){if(dateBox){var formatString=YAHOO.CXCalendarManager.findCalendar(dateBox.id).dateFormatString;if(dateBox.value==""){if(formatString=="DayMonthYear"){dateBox.value=YAHOO.CXCalendarManager.emptyFormatStringDMY;}else if(formatString=="MonthDayYear"){dateBox.value=YAHOO.CXCalendarManager.emptyFormatStringMDY;}else if(formatString=="YearMonthDay"){dateBox.value=YAHOO.CXCalendarManager.emptyFormatStringYMD;}}
if(dateBox.value==YAHOO.CXCalendarManager.emptyFormatStringDMY||dateBox.value==YAHOO.CXCalendarManager.emptyFormatStringMDY||dateBox.value==YAHOO.CXCalendarManager.emptyFormatStringYMD){setGray(dateBox);}}}
CXCalendarManager.prototype.setFieldColor=function(dateBox){if(dateBox.value==YAHOO.CXCalendarManager.emptyFormatStringDMY||dateBox.value==YAHOO.CXCalendarManager.emptyFormatStringMDY||dateBox.value==YAHOO.CXCalendarManager.emptyFormatStringYMD){setGray(dateBox);}else{setBlack(dateBox,YAHOO.CXCalendarManager.initialTextFieldColor,YAHOO.CXCalendarManager.initialTextFieldClass);}}
function getInheritedColor(element){while(element)
{var ret;if(element.currentStyle)
{ret=element.currentStyle["color"];if(ret.length>0)
return ret;}
else if(window.getComputedStyle)
{ret=document.defaultView.getComputedStyle(element,null).getPropertyValue("color");if(ret.length>0)
return ret;}}}
function getInheritedClass(element){while(element)
{if(element.className&&element.className.length>0)
{return element.className;}
if(element.parentNode)
element=element.parentNode;else
element=element.parentElement;}}
CXCalendarManager.prototype.initialTextStyle=false;CXCalendarManager.prototype.initialTextFieldColor=null;CXCalendarManager.prototype.initialTextFieldClass=null;function initDefaultTextStyle(dateBox){YAHOO.CXCalendarManager.initialTextStyle=true;var color=dateBox.style.color
if((null===YAHOO.CXCalendarManager.initialTextFieldColor)&&(!color||color.length<=0))
{color=getInheritedColor(dateBox);YAHOO.CXCalendarManager.initialTextFieldColor=color;}
if((null===YAHOO.CXCalendarManager.initialTextFieldClass)&&(!color||color.length<=0))
{color=getInheritedClass(dateBox);YAHOO.CXCalendarManager.initialTextFieldClass=color;}
else if(false===YAHOO.CXCalendarManager.initialTextFieldColor)
YAHOO.CXCalendarManager.initialTextFieldColor="#000000";}
function setGray(dateBox){if(dateBox)
dateBox.style.color="#cccccc";}
function setBlack(dateBox,color,className){if(null===className&&null===color)
{dateBox.style.color=color;}
else if(null!=color&&color.length>=0)
{dateBox.style.color=color;}
else if(null!=className&&className.length>=0)
{dateBox.style.color="";dateBox.className=className;}
else
{dateBox.style.color="#000000";}}
CXCalendarManager.prototype.setEmptyFieldFormatString=function(event){var eventTarget=YAHOO.util.Event.getTarget(event);var eventTargetID=eventTarget.id;var dateBox=cx.byID(eventTargetID);YAHOO.CXCalendarManager.setEmptyFieldFormatStringWithElement(dateBox);}
CXCalendarManager.prototype.hideCalendarKeyDown=function(event){if(this.CXCalendarHandle){var dateBox=cx.byID(this.CXCalendarHandle.dateBoxID);setBlack(dateBox,YAHOO.CXCalendarManager.initialTextFieldColor,YAHOO.CXCalendarManager.initialTextFieldClass);}
this.hideCalendar(event);suspendblur=true;}
CXCalendarManager.prototype.hideCalendarBlur=function(event){if(!suspendblur){this.hideCalendar(event);}
suspendblur=false;}
CXCalendarManager.prototype.hideCalendar=function(event){var eventTarget=YAHOO.util.Event.getTarget(event);this.calendarToClose=eventTarget.id;setTimeout("YAHOO.CXCalendarManager.reallyHideCalendar()",200);}
CXCalendarManager.prototype.reallyHideCalendar=function(){if(suspendblur){suspendblur=false;return};if(this.CXCalendarHandle!=null){if((this.CXCalendarHandle.dateBoxID==this.calendarToClose)&&(this.YUICalendarIsVisible(this.YUICalendar)==true)){this.YUICalendar.selectEvent.unsubscribeAll();this.calendarToClose=null;this.YUICalendar.hide();this.CXCalendarHandle=null;}}}
CXCalendarManager.prototype.findPosX=function(obj)
{var curleft=0;if(obj.offsetParent){while(1){curleft+=obj.offsetLeft;if(!obj.offsetParent){break;}
obj=obj.offsetParent;}}else if(obj.x){curleft+=obj.x;}
return curleft;}
CXCalendarManager.prototype.findPosY=function(obj)
{var curtop=0;if(obj.offsetParent){while(1){curtop+=obj.offsetTop;if(!obj.offsetParent){break;}
obj=obj.offsetParent;}}else if(obj.y){curtop+=obj.y;}
return curtop;}
CXCalendarManager.prototype.showCalendar=function(event){var eventTarget=YAHOO.util.Event.getTarget(event);var eventButtonID=eventTarget.parentNode.id;var eventTargetID=eventTarget.id;var isClick=(event.type=='click');var isFocus=(event.type=='focus');var pageX=0;var pageY=0;if(isClick){pageX=YAHOO.util.Event.getPageX(event);pageY=YAHOO.util.Event.getPageY(event);}else{pageX=CXCalendarManager.prototype.findPosX(YAHOO.util.Event.getTarget(event))+100;pageY=CXCalendarManager.prototype.findPosY(YAHOO.util.Event.getTarget(event))+15;}
var previousButtonID=null;var previousVisible=this.YUICalendarIsVisible(this.YUICalendar);if(this.CXCalendarHandle!=null){if(this.YUICalendarIsVisible(this.YUICalendar)==true){this.YUICalendar.hide();}
this.YUICalendar.selectEvent.unsubscribeAll();previousButtonID=this.CXCalendarHandle.calendarButtonID;this.CXCalendarHandle=null;}
if(eventButtonID==previousButtonID&&previousVisible==true){return;}else{for(i=0;i<this.calendars.length;i++){if(this.calendars[i].calendarButtonID!=null&&this.calendars[i].dateBoxID!=null){if(this.calendars[i].calendarButtonID==eventButtonID||this.calendars[i].dateBoxID==eventTargetID){this.CXCalendarHandle=this.calendars[i];break;}}}
if(this.CXCalendarHandle){var dateBox=cx.byID(this.CXCalendarHandle.dateBoxID);if(dateBox.value==YAHOO.CXCalendarManager.emptyFormatStringMDY||dateBox.value==YAHOO.CXCalendarManager.emptyFormatStringDMY||dateBox.value==YAHOO.CXCalendarManager.emptyFormatStringYMD){dateBox.value="";}}
if(this.CXCalendarHandle.startDate==null){this.YUICalendar.clear();}
if(this.CXCalendarHandle.minDate!=null){this.YUICalendar.cfg.setProperty("mindate",this.CXCalendarHandle.minDate);}
if(this.CXCalendarHandle.maxDate!=null){this.YUICalendar.cfg.setProperty("maxdate",this.CXCalendarHandle.maxDate);}
this.updateCalendar(true);this.YUICalendar.selectEvent.subscribe(this.handleSelect,this,true);var screenBot=(parseInt(document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop)+parseInt(YAHOO.util.Dom.getViewportHeight()));var posx=(pageX-6);var posy=pageY;if((posy+this.calHeight)>screenBot){posy=screenBot-this.calHeight;}
this.YUICalendar.render();this.YUICalendar.show();this.applyListners();this.calendarContainer.style.left=posx+"px";this.calendarContainer.style.top=posy+"px";}};function CXCalendar(calendarButtonID,calIndex,dateBoxID,startDate,minDate,maxDate,allowNull,dateFormatString,dateAssumption,isReturnPicker,childDateBoxID){this.isReturnPicker=isReturnPicker;this.childCalendarDateBoxID=childDateBoxID;var CalendarCreatedObject=new Object();CalendarCreatedObject.calendar=this;CalendarCreatedObject.manager=YAHOO.CXCalendarManager;CalendarCreatedObject.OnCreated=function()
{var c=YAHOO.CXCalendarManager.YUICalendar;if(null==c)
if(null!=c&&!c.IsRegisteredForClick)
{c.IsRegisteredForClick=true;var textbox=cx.byID(this.calendar.dateBoxID);c.selectEvent.subscribe(this.calendar.selectTextBox,c,textbox);}}
CXCalendarManager.OnCreateContainer.push(CalendarCreatedObject);this.calendarButtonID=calendarButtonID;this.calIndex=calIndex;this.dateBoxID=dateBoxID;if(startDate==null)
this.startDate=new Date();else
this.startDate=new Date(startDate);this.minDate=new Date(minDate);this.maxDate=new Date(maxDate);this.allowNull=allowNull;this.dateFormatString=dateFormatString;if(dateAssumption=='Future')
this.dateAssumption=1;else if(dateAssumption=='Past')
this.dateAssumption=-1;else
this.dateAssumption=0;var dateBox=cx.byID(dateBoxID);if(dateBox){dateBox.calendar=this;if(false===YAHOO.CXCalendarManager.initialTextStyle)
initDefaultTextStyle(dateBox);if(dateBox.value==""){if(this.dateFormatString=="DayMonthYear"){dateBox.value=YAHOO.CXCalendarManager.emptyFormatStringDMY;}else if(this.dateFormatString=="MonthDayYear"){dateBox.value=YAHOO.CXCalendarManager.emptyFormatStringMDY;}else if(this.dateFormatString=="YearMonthDay"){dateBox.value=YAHOO.CXCalendarManager.emptyFormatStringYMD;}
setGray(dateBox);}}};CXCalendar.prototype.hasChild=function()
{if(null!=this.childCalendarDateBoxID&&null==this.childCalendar)
for(var i=0;i<YAHOO.CXCalendarManager.calendars.length;++i)
{if(YAHOO.CXCalendarManager.calendars[i].dateBoxID==this.childCalendarDateBoxID)
{this.childCalendar=YAHOO.CXCalendarManager.calendars[i];}}
if(null!=this.childCalendar)
return true
return false;}
CXCalendar.prototype.childCalendarDateBoxID=null;CXCalendar.prototype.childCalendar=null;CXCalendar.prototype.selectTextBox=function(type,dateobj,object)
{var dates=dateobj[0];var date=dates[0];var month=date[2];var day=date[1];var year=date[0];}
CXCalendar.prototype.setControls=function(date){var selDate=cx.byID(this.dateBoxID);var dateString="";if(date!=null){var year=date.getFullYear();var month=date.getMonth()+1;var day=date.getDate();if(this.dateFormatString=="DayMonthYear"){dateString=date.getDate()+"/"+(date.getMonth()+1)+"/"+date.getFullYear();}else if(this.dateFormatString=="MonthDayYear"){dateString=(date.getMonth()+1)+"/"+date.getDate()+"/"+date.getFullYear();}else if(this.dateFormatString=="YearMonthDay"){dateString=date.getFullYear()+"/"+(date.getMonth()+1)+"/"+date.getDate();}}
selDate.value=dateString;};function CXCalendarEmptyLegRange(checkBoxID,startDateBoxID,endDateBoxID){this.checkBox=cx.byID(checkBoxID);this.startDateBoxID=startDateBoxID;this.endDateBoxID=endDateBoxID;};CXCalendarManager.prototype.addEmptyLegRange=function(checkBoxID,startDateBoxID,endDateBoxID){var leg=new CXCalendarEmptyLegRange(checkBoxID,startDateBoxID,endDateBoxID);this.legs.push(leg);YAHOO.util.Event.addListener(checkBoxID,'change',this.setEmptyLegDates,this,this);YAHOO.util.Event.addListener([startDateBoxID,endDateBoxID],'blur',this.setEmptyLegDates,this,this);};CXCalendarManager.prototype.setEmptyLegDates=function(event){var eventTarget=YAHOO.util.Event.getTarget(event);var eventTargetID=eventTarget.id;var leg=null;for(i=0;i<YAHOO.CXCalendarManager.legs.length;i++){if(YAHOO.CXCalendarManager.legs[i].checkBox!=null){if(YAHOO.CXCalendarManager.legs[i].checkBox.id==eventTargetID||YAHOO.CXCalendarManager.legs[i].startDateBoxID==eventTargetID||YAHOO.CXCalendarManager.legs[i].endDateBoxID==eventTargetID){leg=YAHOO.CXCalendarManager.legs[i];break;}}}
if(event.type=="change"){if(leg.checkBox.checked&&eventTargetID==leg.checkBox.id){YAHOO.CXCalendarManager.findCalendar(leg.startDateBoxID).setControls(null);YAHOO.CXCalendarManager.findCalendar(leg.endDateBoxID).setControls(null);}}else if(event.type=="blur"&&eventTarget.value.length>0){if(leg.checkBox.checked&&(eventTargetID==leg.startDateBoxID||eventTargetID==leg.endDateBoxID))
{leg.checkBox.checked=false;var now=new Date();YAHOO.CXCalendarManager.findCalendar(leg.startDateBoxID).setControls(new Date(now.valueOf()+1*24*60*60*1000));YAHOO.CXCalendarManager.findCalendar(leg.endDateBoxID).setControls(new Date(now.valueOf()+4*24*60*60*1000));}}};CXCalendarManager.prototype.findCalendar=function(dateBoxID){for(i=0;i<YAHOO.CXCalendarManager.calendars.length;i++){if(YAHOO.CXCalendarManager.calendars[i].dateBoxID!=null){if(YAHOO.CXCalendarManager.calendars[i].dateBoxID==dateBoxID){return YAHOO.CXCalendarManager.calendars[i];}}}};function CXCalendarRangePicker(rangeSelectID,startPicker,endPicker){this.rangeSelectID=rangeSelectID;this.startPicker=startPicker;this.endPicker=endPicker;};CXCalendarManager.prototype.addPicker=function(rangeSelectID,startDateBoxID,endDateBoxID){var picker=new CXCalendarRangePicker(rangeSelectID,startDateBoxID,endDateBoxID);this.pickers.push(picker);YAHOO.util.Event.addListener(rangeSelectID,'change',this.setPickersToRange,this,this);YAHOO.util.Event.addListener([startDateBoxID,endDateBoxID],'change',this.updatePickerRanges,this,this);};CXCalendarManager.prototype.updatePickerRanges=function(event){var eventTargetID=YAHOO.util.Event.getTarget(event).id;YAHOO.CXCalendarManager.updateRanges(eventTargetID);};CXCalendarManager.prototype.updateRanges=function(datebox){if(YAHOO.CXCalendarManager.pickers==null||YAHOO.CXCalendarManager.pickers.length==0)
return;var picker=null;for(i=0;i<YAHOO.CXCalendarManager.pickers.length;i++){if(datebox==YAHOO.CXCalendarManager.pickers[i].startPicker||datebox==YAHOO.CXCalendarManager.pickers[i].endPicker){picker=YAHOO.CXCalendarManager.pickers[i];break;}}
if(picker){var startdate=cx.byID(picker.startPicker);var enddate=cx.byID(picker.endPicker);var range=cx.byID(picker.rangeSelectID);var datestring=startdate.value+";"+enddate.value;if(range)
{for(idx=0;idx<range.options.length;idx++)
{if(range.options[idx].value==datestring)
{range.selectedIndex=idx;return;}}
range.selectedIndex=0;}}};CXCalendarManager.prototype.setPickersToRange=function(event){var eventTarget=YAHOO.util.Event.getTarget(event);var eventTargetID=eventTarget.id;var startPicker;var endPicker;var startDate;var endDate;var dropdown=cx.byID(eventTargetID);if(dropdown&&dropdown.value){startDate=dropdown.value.split(";")[0];endDate=dropdown.value.split(";")[1];var picker;for(i=0;i<this.pickers.length;i++){if(eventTargetID==this.pickers[i].rangeSelectID){picker=this.pickers[i];break;}}
if(picker){startPicker=cx.byID(picker.startPicker);endPicker=cx.byID(picker.endPicker);if(startPicker&&endPicker){startPicker.value=startDate;endPicker.value=endDate;this.setFieldColor(startPicker);this.setFieldColor(endPicker);}}}};CXCalendarManager.prototype.YUICalendarIsVisible=function YUICalendarIsVisible(calendar){return calendar.oDomContainer.style.display!='none';}
YAHOO.CXCalendarManager=new CXCalendarManager();YAHOO.util.Event.addListener(window,'load',YAHOO.CXCalendarManager.createContainer,YAHOO.CXCalendarManager,true);
