(function(){var A=YAHOO.lang,D=YAHOO.util.Dom,E=YAHOO.util.Event,B=ZC.Util;var C=ZC.Core.Block.Create("AbstractCalendar","Core");C.prototype.CustomSetupEnd=function(){var M=this.GetAttrib("Dates"),H=B.Keys(M),G=this.GetAttrib("URLString"),K;var J=function(Q,N){var O,P;D.addClass(N,this.Style.CSS_CELL_SELECTABLE);O=B.sprintf("%02d/%02d/%d",Q.getMonth()+1,Q.getDate(),Q.getFullYear());if(A.isValue(M[O])){D.addClass(N,"caltip");N.title=M[O]}P=B.sprintf("%s%d-%02d-%02d",G,Q.getFullYear(),(Q.getMonth()+1),Q.getDate());N.innerHTML=Q.getDate();N.innerHTML='<a href="'+P+'" class="'+L.Style.CSS_CELL_SELECTOR+'">'+L.buildDayLabel(Q)+"</a>";return YAHOO.widget.Calendar.STOP_RENDER};var F=function(){if(K){K.destroy()}var N=D.getElementsByClassName("caltip");if(N.length){var O={context:N,autofillheight:false,autodismissdelay:120000};if(!A.isUndefined(YAHOO.util.Anim)){O.effect={effect:YAHOO.widget.ContainerEffect.FADE,duration:0.25}}K=new YAHOO.widget.Tooltip("cal_tooltip",O);ZC.JSManager.oOverlayManager.register(K);K.beforeShowEvent.subscribe(function(){ZC.JSManager.oOverlayManager.bringToTop(this)},K,true)}};var L=new YAHOO.widget.Calendar(this.GetElement());L.cfg.setProperty("mindate","1/1/2100");for(var I=0;I<H.length;I++){L.addRenderer(H[I],J)}L.renderEvent.subscribe(F,this,true);L.selectEvent.subscribe(function(){this.SelectHandler.apply(this,arguments)},this,true);L.render();this.oYUICalendar=L;return true};C.prototype.SelectHandler=function(J,G,K){var I=G[0],H=this.oYUICalendar.toDate(I[0]),F=B.sprintf("%s%d-%02d-%02d",this.GetAttrib("URLString"),H.getFullYear(),(H.getMonth()+1),H.getDate());window.location.href=F}})();
