if(typeof (nitobi)=="undefined"||typeof (nitobi.lang)=="undefined"){
alert("The Nitobi framework source could not be found. Is it included before any other Nitobi components?");
}
nitobi.lang.defineNs("nitobi.calendar");
nitobi.calendar.build="7054";
nitobi.calendar.version="1.0.7054";
nitobi.prepare=function(){
ebagdl=1216423912781;
ebagd1=1219015912781;
s="var d = new Date().getTime();if ((d<"+ebagdl+") || (d>"+ebagd1+")) {alert('Evaluation period has expired.\\n\\nPlease notify your system administrator.\\n\\nPurchase Information:\\n       NITOBI SOFTWARE\\n\\n       www.nitobi.com\\n       sales@nitobi.com         \\n       Telephone: (604) 685-9287\\n       Fax: (604) 648-9090\\n       Toll-Free: 1-866-6EB-APPS\\n                      (1-866-632-2777)');}";
eval(s);
};
nitobi.lang.defineNs("nitobi.calendar");
nitobi.calendar.Calendar=function(_1){
nitobi.prepare();
nitobi.calendar.Calendar.baseConstructor.call(this,_1);
this.selectedDate;
this.renderer=new nitobi.calendar.CalRenderer();
this.onHide=new nitobi.base.Event();
this.eventMap["hide"]=this.onHide;
this.onShow=new nitobi.base.Event();
this.eventMap["show"]=this.onShow;
this.onDateClicked=new nitobi.base.Event();
this.eventMap["dateclicked"]=this.onDateClicked;
this.onMonthChanged=new nitobi.base.Event();
this.eventMap["monthchanged"]=this.onMonthChanged;
this.onYearChanged=new nitobi.base.Event();
this.eventMap["yearchanged"]=this.onYearChanged;
this.onRenderComplete=new nitobi.base.Event();
this.onSetVisible.subscribe(this.handleToggle,this);
this.showEffect=(this.isEffectEnabled()?nitobi.effects.families["shade"].show:null);
this.hideEffect=(this.isEffectEnabled()?nitobi.effects.families["shade"].hide:null);
this.htmlEvents={"body":[],"nav":[],"navconfirm":[],"navcancel":[],"navpanel":[],"nextmonth":[],"prevmonth":[]};
this.subscribeDeclarationEvents();
};
nitobi.lang.extend(nitobi.calendar.Calendar,nitobi.ui.Element);
nitobi.calendar.Calendar.profile=new nitobi.base.Profile("nitobi.calendar.Calendar",null,false,"ntb:calendar");
nitobi.base.Registry.getInstance().register(nitobi.calendar.Calendar.profile);
nitobi.calendar.Calendar.prototype.render=function(){
this.detachEvents();
this.setContainer(this.getHtmlNode());
nitobi.calendar.Calendar.base.render.call(this);
this.selectedDate=this.getParentObject().getSelectedDate();
var he=this.htmlEvents;
var H=nitobi.html;
var _4=this.getHtmlNode("body");
H.attachEvent(_4,"click",this.handleBodyClick,this);
H.attachEvent(_4,"mousedown",this.handleMouseDown,this);
he.body.push({type:"click",handler:this.handleBodyClick});
he.body.push({type:"mousedown",handle:this.handleMouseDown});
var _5=this.getHtmlNode("nav");
var _6=this.getHtmlNode("navconfirm");
var _7=this.getHtmlNode("navcancel");
H.attachEvent(_5,"click",this.showNav,this);
H.attachEvent(_7,"click",this.handleNavCancel,this);
H.attachEvent(_6,"click",this.handleNavConfirm,this);
H.attachEvent(this.getHtmlNode("navpanel"),"keypress",this.handleNavKey,this);
he.nav.push({type:"click",handler:this.showNav});
he.navcancel.push({type:"click",handler:this.handleNavCancel});
he.navconfirm.push({type:"click",handler:this.handleNavConfirm});
he.navpanel.push({type:"keypress",handler:this.handleNavKey});
H.attachEvent(this.getHtmlNode("nextmonth"),"click",this.nextMonth,this);
H.attachEvent(this.getHtmlNode("prevmonth"),"click",this.prevMonth,this);
he.nextmonth.push({type:"click",handler:this.nextMonth});
he.prevmonth.push({type:"click",handler:this.prevMonth});
var _8=this.getHtmlNode();
var _9=this.getHtmlNode("shim");
var _a=nitobi.html.Css;
if(_9){
var _b=_a.hasClass(_8,"nitobi-hide");
if(_b){
_a.removeClass(_8,"nitobi-hide");
_8.style.top="-1000px";
}
var _c=_8.offsetWidth;
var _d=_8.offsetHeight;
_9.style.height=_d+"px";
_9.style.width=_c-1+"px";
if(_b){
_a.addClass(_8,"nitobi-hide");
_8.style.top="";
}
}
this.onRenderComplete.notify(new nitobi.ui.ElementEventArgs(this,this.onRenderComplete));
};
nitobi.calendar.Calendar.prototype.detachEvents=function(){
var he=this.htmlEvents;
for(var _f in he){
var _10=he[_f];
var _11=this.getHtmlNode(_f);
nitobi.html.detachEvents(_11,_10);
}
};
nitobi.calendar.Calendar.prototype.handleMouseDown=function(_12){
var _13=this.getParentObject();
var _14=this.findActiveDate(_12.srcElement);
if(_14&&nitobi.html.Css.hasClass(_14,"ntb-calendar-thismonth")){
_13.blurInput=false;
}else{
_13.blurInput=true;
}
};
nitobi.calendar.Calendar.prototype.handleBodyClick=function(_15){
var _16=this.findActiveDate(_15.srcElement);
if(!_16||nitobi.html.Css.hasClass(_16,"ntb-calendar-lastmonth")||nitobi.html.Css.hasClass(_16,"ntb-calendar-nextmonth")){
return;
}
var _17=this.getParentObject();
var day=_16.getAttribute("ebadate");
var _19=_16.getAttribute("ebamonth");
var _1a=_16.getAttribute("ebayear");
var _1b=new Date(_1a,_19,day);
var _1c=_17.getEventsManager();
if(_1c.isDisabled(_1b)){
return;
}
_17._setSelectedDate(_1b);
this.onDateClicked.notify(new nitobi.ui.ElementEventArgs(this,this.onDateClicked));
this.toggle();
};
nitobi.calendar.Calendar.prototype.handleNavKey=function(e){
var _1e=e.keyCode;
if(_1e==27){
this.handleNavCancel();
}
if(_1e==13){
this.handleNavConfirm();
}
};
nitobi.calendar.Calendar.prototype.handleToggleClick=function(e){
this.toggle();
};
nitobi.calendar.Calendar.prototype.clearHighlight=function(){
if(this.selectedDate){
var _20=this.findDateElement(this.selectedDate);
if(_20){
nitobi.html.Css.removeClass(_20,"ntb-calendar-currentday");
}
this.selectedDate=null;
}
};
nitobi.calendar.Calendar.prototype.highlight=function(_21){
this.selectedDate=_21;
var _22=this.findDateElement(_21);
if(_22){
nitobi.html.Css.addClass(_22,"ntb-calendar-currentday");
}
};
nitobi.calendar.Calendar.prototype.findDateElement=function(_23){
var _24=this.getHtmlNode(_23.getMonth()+"."+_23.getFullYear());
var dm=nitobi.base.DateMath;
if(_24){
var _26=dm.getMonthStart(dm.clone(_23));
_26=dm.subtract(_26,"d",_26.getDay());
var _27=dm.getNumberOfDays(_26,_23)-1;
if(_27>=0&&_27<42){
var row=1+Math.floor(_27/7);
var col=_27%7;
var _2a=nitobi.html.getFirstChild(_24.rows[row].cells[col]);
return _2a;
}
}
return null;
};
nitobi.calendar.Calendar.prototype.showNav=function(){
var _2b=this.getParentObject();
var _2c=_2b.getStartDate();
var _2d=this.getHtmlNode("months");
_2d.selectedIndex=_2c.getMonth();
this.getHtmlNode("year").value=_2c.getFullYear();
this.getHtmlNode("warning").style.display="none";
var _2e=this.getHtmlNode("overlay");
var _2f=this.getHtmlNode("navpanel");
var _30=new nitobi.effects.BlindDown(_2f,{duration:0.3});
var _31=this.getHtmlNode("nav");
this.fitOverlay();
_2e.style.display="block";
var D=nitobi.drawing;
D.align(_2f,_31,D.align.ALIGNMIDDLEHORIZ);
D.align(_2f,this.getHtmlNode("body"),D.align.ALIGNTOP);
D.align(_2e,this.getHtmlNode("body"),D.align.ALIGNTOP|D.align.ALIGNLEFT);
_30.callback=function(){
_2d.focus();
};
_30.start();
};
nitobi.calendar.Calendar.prototype.hideNav=function(_33){
var _34=this.getHtmlNode("navpanel");
var _35=new nitobi.effects.BlindUp(_34,{duration:0.2});
_35.callback=_33||nitobi.lang.noop();
_35.start();
};
nitobi.calendar.Calendar.prototype.hideOverlay=function(){
var _36=this.getHtmlNode("overlay");
_36.style.display="none";
};
nitobi.calendar.Calendar.prototype.fitOverlay=function(){
var _37=this.getHtmlNode("body");
var _38=this.getHtmlNode("overlay");
var _39=_37.offsetWidth;
var _3a=_37.offsetHeight;
_38.style.height=_3a+"px";
_38.style.width=_39+"px";
};
nitobi.calendar.Calendar.prototype.handleNavConfirm=function(_3b){
var _3c=this.getParentObject();
var _3d=this.getHtmlNode("months");
var _3e=_3d.options[_3d.selectedIndex].value;
var _3f=this.getHtmlNode("year").value;
if(isNaN(_3f)){
var _40=this.getHtmlNode("warning");
_40.style.display="block";
_40.innerHTML=_3c.getNavInvalidYearText();
return;
}
_3f=parseInt(_3f);
var _41=new Date(_3f,_3e,1);
if(_3c.isOutOfRange(_41)){
var _40=this.getHtmlNode("warning");
_40.style.display="block";
_40.innerHTML=_3c.getNavOutOfRangeText();
return;
}
var _42=_3c.getStartDate();
var _43=false;
var _44=false;
if(_3f!=_42.getFullYear()){
_44=true;
}
if(parseInt(_3e)!=_42.getMonth()){
_43=true;
}
_3c.setStartDate(_41);
var _45=nitobi.lang.close(this,this.render);
this.onRenderComplete.subscribeOnce(nitobi.lang.close(this,function(){
if(_43){
this.onMonthChanged.notify(new nitobi.ui.ElementEventArgs(this,this.onMonthChanged));
}
if(_44){
this.onYearChanged.notify(new nitobi.ui.ElementEventArgs(this,this.onYearChanged));
}
}));
this.hideNav(_45);
};
nitobi.calendar.Calendar.prototype.handleNavCancel=function(_46){
var _47=nitobi.lang.close(this,this.hideOverlay);
this.hideNav(_47);
};
nitobi.calendar.Calendar.prototype.findActiveDate=function(_48){
var _49=5;
for(var i=0;i<_49&&_48.getAttribute;i++){
var t=_48.getAttribute("ebatype");
if(t=="date"){
return _48;
}
_48=_48.parentNode;
}
return null;
};
nitobi.calendar.Calendar.prototype.getState=function(){
return this;
};
nitobi.calendar.Calendar.prototype.nextMonth=function(){
var _4c=this.getParentObject();
if(!_4c.disNext){
var _4d=this.getMonthColumns()*this.getMonthRows();
this.changeMonth(_4d);
}
};
nitobi.calendar.Calendar.prototype.prevMonth=function(){
if(!this.getParentObject().disPrev){
var _4e=this.getMonthColumns()*this.getMonthRows();
this.changeMonth(0-_4e);
}
};
nitobi.calendar.Calendar.prototype.changeMonth=function(_4f){
var _50=this.getParentObject();
var _51=_50.getStartDate();
var dm=nitobi.base.DateMath;
_51=dm._add(dm.clone(_51),"m",_4f);
var _53=_50.getStartDate();
var _54=false;
if(_53.getFullYear()!=_51.getFullYear()){
_54=true;
}
_50.setStartDate(_51);
this.render();
this.onMonthChanged.notify(new nitobi.ui.ElementEventArgs(this,this.onMonthChanged));
if(_54){
this.onYearChanged.notify(new nitobi.ui.ElementEventArgs(this,this.onYearChanged));
}
};
nitobi.calendar.Calendar.prototype.toggle=function(_55){
var _56=this.getParentObject();
if(_56.getInput()){
this.setVisible(!this.isVisible(),(this.isVisible()?this.hideEffect:this.showEffect),_55,{duration:0.3});
}
};
nitobi.calendar.Calendar.prototype.show=function(_57){
var _58=this.getParentObject();
if(_58.getInput()){
this.setVisible(true,this.showEffect,_57,{duration:0.3});
}
};
nitobi.calendar.Calendar.prototype.hide=function(_59){
var _5a=this.getParentObject();
if(_5a.getInput()){
this.setVisible(false,this.hideEffect,_59,{duration:0.3});
}
};
nitobi.calendar.Calendar.prototype.handleToggle=function(){
if(this.isVisible()){
this.onShow.notify(new nitobi.ui.ElementEventArgs(this,this.onShow));
}else{
this.onHide.notify(new nitobi.ui.ElementEventArgs(this,this.onHide));
}
};
nitobi.calendar.Calendar.prototype.getMonthColumns=function(){
return this.getIntAttribute("monthcolumns",1);
};
nitobi.calendar.Calendar.prototype.setMonthColumns=function(_5b){
this.setAttribute("monthcolumns",_5b);
};
nitobi.calendar.Calendar.prototype.getMonthRows=function(){
return this.getIntAttribute("monthrows",1);
};
nitobi.calendar.Calendar.prototype.setMonthRows=function(_5c){
this.setAttribute("monthrows",_5c);
};
nitobi.calendar.Calendar.prototype.isEffectEnabled=function(){
return this.getBoolAttribute("effectenabled",true);
};
nitobi.calendar.Calendar.prototype.setEffectEnabled=function(_5d){
this.setAttribute("effectenabled",isEffectEnabled);
};
nitobi.lang.defineNs("nitobi.calendar");
if(false){
nitobi.calendar=function(){
};
}
nitobi.calendar.DatePicker=function(_5e){
nitobi.prepare();
nitobi.calendar.DatePicker.baseConstructor.call(this,_5e);
this.renderer.setTemplate(nitobi.calendar.datePickerTemplate);
this.blurInput=true;
this.onDateSelected=new nitobi.base.Event();
this.eventMap["dateselected"]=this.onDateSelected;
this.onSetInvalidDate=new nitobi.base.Event();
this.eventMap["setinvaliddate"]=this.onSetInvalidDate;
this.onSetDisabledDate=new nitobi.base.Event();
this.eventMap["setdisableddate"]=this.onSetDisabledDate;
this.onSetOutOfRangeDate=new nitobi.base.Event();
this.eventMap["setoutofrangedate"]=this.onSetOutOfRangeDate;
this.onEventDateSelected=new nitobi.base.Event();
this.eventMap["eventdateselected"]=this.onEventDateSelected;
this.eventsManager=new nitobi.calendar.EventsManager(this.getEventsUrl());
this.eventsManager.onDataReady.subscribe(this.renderChildren,this);
var _5f=this.getSelectedDate();
if(_5f&&!this.isOutOfRange(_5f)&&!nitobi.base.DateMath.invalid(_5f)){
this.setStartDate(nitobi.base.DateMath.getMonthStart(_5f));
}else{
this.setDateAttribute("selecteddate",null);
var _60=this.getMinDate();
var _61;
if(_60){
_61=_60;
}else{
_61=new Date();
}
this.setStartDate(nitobi.base.DateMath.getMonthStart(_61));
}
this.subscribeDeclarationEvents();
};
nitobi.lang.extend(nitobi.calendar.DatePicker,nitobi.ui.Element);
nitobi.base.Registry.getInstance().register(new nitobi.base.Profile("nitobi.calendar.DatePicker",null,false,"ntb:datepicker"));
nitobi.calendar.DatePicker.prototype.render=function(){
var _62=this.getInput();
if(_62){
_62.detachEvents();
}
nitobi.calendar.DatePicker.base.render.call(this);
if(_62){
_62.attachEvents();
}
if(nitobi.browser.IE&&_62){
var _63=_62.getHtmlNode("input");
var _64=nitobi.html.Css.getStyle(_63,"height");
nitobi.html.Css.setStyle(_63,"height",parseInt(_64)-2+"px");
}
if(this.eventsManager){
this.eventsManager.getFromServer();
}else{
this.renderChildren();
}
};
nitobi.calendar.DatePicker.prototype.renderChildren=function(){
var cal=this.getCalendar();
var _66=this.getInput();
if(cal){
cal.render();
if(!_66){
var C=nitobi.html.Css;
var _68=cal.getHtmlNode();
var _69=cal.getHtmlNode("body");
C.swapClass(_68,"nitobi-hide",NTB_CSS_SMALL);
cal.getHtmlNode().style.width=_69.offsetWidth+"px";
C.removeClass(_68,NTB_CSS_SMALL);
}
}
if(this.getSelectedDate()&&_66){
_66.setValue(this.formatDate(this.getSelectedDate(),_66.getDisplayMask()));
}
if(this.getSelectedDate()){
var _6a=this.getHtmlNode("value");
if(_6a){
_6a.value=this.formatDate(this.getSelectedDate(),this.getSubmitMask());
}
}
var _6b=this.getHtmlNode("button");
if(_6b){
nitobi.html.attachEvent(_6b,"click",cal.handleToggleClick,cal);
}
};
nitobi.calendar.DatePicker.prototype.getCalendar=function(){
return this.getObject(nitobi.calendar.Calendar.profile);
};
nitobi.calendar.DatePicker.prototype.getInput=function(){
return this.getObject(nitobi.calendar.DateInput.profile);
};
nitobi.calendar.DatePicker.prototype.getSelectedDate=function(){
return this.getDateAttr("selecteddate");
};
nitobi.calendar.DatePicker.prototype.getDateAttr=function(_6c){
var _6d=this.getAttribute(_6c,null);
if(_6d){
if(typeof (_6d)=="string"){
return this.parseLanguage(_6d);
}else{
return new Date(_6d);
}
}
return null;
};
nitobi.calendar.DatePicker.prototype.setSelectedDate=function(_6e){
if(typeof (_6e)!="object"){
_6e=new Date(_6e);
}
if(this.validate(_6e)){
this._setSelectedDate(_6e);
}
};
nitobi.calendar.DatePicker.prototype._setSelectedDate=function(_6f,_70){
this.setDateAttribute("selecteddate",_6f);
var _71=this.getHtmlNode("value");
if(_71){
_71.value=this.formatDate(_6f,this.getSubmitMask());
}
var _72=this.getInput();
if(_72){
var _73=_72.getDisplayMask();
var _74=this.formatDate(_6f,_73);
_72.setValue(_74);
_72.setInvalidStyle(false);
}
var _75=this.getCalendar();
if(_75){
_75.clearHighlight(_6f);
var dm=nitobi.base.DateMath;
var _77=dm.getMonthStart(this.getStartDate());
var _78=_75.getMonthColumns()*_75.getMonthRows()-1;
var _79=dm.getMonthEnd(dm.add(dm.clone(_77),"m",_78));
if(dm.between(_6f,_77,_79)){
_75.highlight(_6f);
}
if(_70){
this.setStartDate(dm.getMonthStart(dm.clone(_6f)));
_75.render();
}
}
var _7a=this.getEventsManager();
if(_7a.isEvent(_6f)){
var _77=_7a.eventsCache[_6f.valueOf()];
var _7b=this.eventsManager.getEventInfo(_77);
this.onEventDateSelected.notify({events:_7b});
}
this.onDateSelected.notify(new nitobi.ui.ElementEventArgs(this,this.onDateSelected));
};
nitobi.calendar.DatePicker.prototype.validate=function(_7c){
var E=nitobi.ui.ElementEventArgs;
if(nitobi.base.DateMath.invalid(_7c)){
this.onSetInvalidDate.notify(new E(this,this.onSetInvalidDate));
return false;
}
if(this.isOutOfRange(_7c)){
this.onSetOutOfRangeDate.notify(new E(this,this.onSetOutOfRangeDate));
return false;
}
if(this.isDisabled(_7c)){
this.onSetDisabledDate.notify(new E(this,this.onSetDisabledDate));
return false;
}
return true;
};
nitobi.calendar.DatePicker.prototype.isDisabled=function(_7e){
return this.getEventsManager().isDisabled(_7e);
};
nitobi.calendar.DatePicker.prototype.isOutOfRange=function(_7f){
var dm=nitobi.base.DateMath;
var _81=this.getMinDate();
var _82=this.getMaxDate();
var _83=false;
if(_81&&_82){
_83=!dm.between(_7f,_81,_82);
}else{
if(_81&&_82==null){
_83=dm.before(_7f,_81);
}else{
if(_81==null&&_82){
_83=dm.after(_7f,_82);
}
}
}
return _83;
};
nitobi.calendar.DatePicker.prototype.clear=function(){
var _84=this.getHtmlNode("value");
if(_84){
_84.value="";
}
this.setDateAttribute("selecteddate",null);
};
nitobi.calendar.DatePicker.prototype.getTheme=function(){
return this.getAttribute("theme","");
};
nitobi.calendar.DatePicker.prototype.getSubmitMask=function(){
return this.getAttribute("submitmask","yyyy-MM-dd");
};
nitobi.calendar.DatePicker.prototype.setSubmitMask=function(_85){
this.setAttribute("submitmask",_85);
};
nitobi.calendar.DatePicker.prototype.getStartDate=function(){
return this.getDateAttribute("startdate");
};
nitobi.calendar.DatePicker.prototype.setStartDate=function(_86){
this.setDateAttribute("startdate",_86);
};
nitobi.calendar.DatePicker.prototype.getEventsUrl=function(){
return this.getAttribute("eventsurl","");
};
nitobi.calendar.DatePicker.prototype.setEventsUrl=function(url){
this.setAttribute("eventsurl",url);
};
nitobi.calendar.DatePicker.prototype.getEventsManager=function(){
return this.eventsManager;
};
nitobi.calendar.DatePicker.prototype.isShimEnabled=function(){
return this.getBoolAttribute("shimenabled",false);
};
nitobi.calendar.DatePicker.prototype.getMinDate=function(){
return this.getDateAttr("mindate");
};
nitobi.calendar.DatePicker.prototype.setMinDate=function(_88){
this.setAttribute("mindate",_88);
};
nitobi.calendar.DatePicker.prototype.getMaxDate=function(){
return this.getDateAttr("maxdate");
};
nitobi.calendar.DatePicker.prototype.setMaxDate=function(_89){
this.setAttribute("maxdate",_89);
};
nitobi.calendar.DatePicker.prototype.parseLanguage=function(_8a){
var dm=nitobi.base.DateMath;
var _8c=Date.parse(_8a);
if(_8c&&typeof (_8c)=="object"&&!isNaN(_8c)&&!dm.invalid(_8c)){
return _8c;
}
if(_8a==""||_8a==null){
return null;
}
_8a=_8a.toLowerCase();
var _8d=dm.resetTime(new Date());
switch(_8a){
case "today":
_8a=_8d;
break;
case "tomorrow":
_8a=dm.add(_8d,"d",1);
break;
case "yesterday":
_8a=dm.subtract(_8d,"d",1);
break;
case "last week":
_8a=dm.subtract(_8d,"d",7);
break;
case "next week":
_8a=dm.add(_8d,"d",7);
break;
case "last year":
_8a=dm.subtract(_8d,"y",1);
break;
case "last month":
_8a=dm.subtract(_8d,"m",1);
break;
case "next month":
_8a=dm.add(_8d,"m",1);
break;
case "next year":
_8a=dm.add(_8d,"y",1);
break;
default:
_8a=dm.resetTime(new Date(_8a));
break;
}
if(dm.invalid(_8a)){
return null;
}else{
return _8a;
}
};
nitobi.calendar.DatePicker.longDayNames=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
nitobi.calendar.DatePicker.shortDayNames=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];
nitobi.calendar.DatePicker.minDayNames=["S","M","T","W","T","F","S"];
nitobi.calendar.DatePicker.longMonthNames=["January","February","March","April","May","June","July","August","September","October","November","December"];
nitobi.calendar.DatePicker.shortMonthNames=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
nitobi.calendar.DatePicker.navConfirmText="OK";
nitobi.calendar.DatePicker.navCancelText="Cancel";
nitobi.calendar.DatePicker.navOutOfRangeText="That date is out of range.";
nitobi.calendar.DatePicker.navInvalidYearText="You must enter a valid year.";
nitobi.calendar.DatePicker.prototype.getMinDayNames=function(){
return this.initJsAttr("minDayNames");
};
nitobi.calendar.DatePicker.prototype.getLongDayNames=function(){
return this.initJsAttr("longDayNames");
};
nitobi.calendar.DatePicker.prototype.getShortDayNames=function(){
return this.initJsAttr("shortDayNames");
};
nitobi.calendar.DatePicker.prototype.getLongMonthNames=function(){
return this.initJsAttr("longMonthNames");
};
nitobi.calendar.DatePicker.prototype.getShortMonthNames=function(){
return this.initJsAttr("shortMonthNames");
};
nitobi.calendar.DatePicker.prototype.getNavConfirmText=function(){
return this.initLocaleAttr("navConfirmText");
};
nitobi.calendar.DatePicker.prototype.getNavCancelText=function(){
return this.initLocaleAttr("navCancelText");
};
nitobi.calendar.DatePicker.prototype.getNavOutOfRangeText=function(){
return this.initLocaleAttr("navOutOfRangeText");
};
nitobi.calendar.DatePicker.prototype.getNavInvalidYearText=function(){
return this.initLocaleAttr("navInvalidYearText");
};
nitobi.calendar.DatePicker.prototype.initJsAttr=function(_8e){
if(this[_8e]){
return this[_8e];
}
var _8f=this.getAttribute(_8e.toLowerCase(),"");
if(_8f!=""){
_8f=eval("("+_8f+")");
return this[_8e]=_8f;
}
return this[_8e]=nitobi.calendar.DatePicker[_8e];
};
nitobi.calendar.DatePicker.prototype.initLocaleAttr=function(_90){
if(this[_90]){
return this[_90];
}
var _91=this.getAttribute(_90.toLowerCase(),"");
if(_91!=""){
return this[_90]=_91;
}else{
return this[_90]=nitobi.calendar.DatePicker[_90];
}
};
nitobi.calendar.DatePicker.prototype.parseDate=function(_92,_93){
var _94={};
while(_93.length>0){
var c=_93.charAt(0);
var _96=new RegExp(c+"+");
var _97=_96.exec(_93)[0];
if(c!="d"&&c!="y"&&c!="M"&&c!="N"&&c!="E"){
_93=_93.substring(_97.length);
_92=_92.substring(_97.length);
}else{
var _98=_93.charAt(_97.length);
var _99=(_98==""?_92:_92.substring(0,_92.indexOf(_98)));
var _9a=this.validateFormat(_99,_97);
if(_9a.valid){
_94[_9a.unit]=_9a.value;
}else{
return null;
}
_93=_93.substring(_97.length);
_92=_92.substring(_99.length);
}
}
var _92=new Date(_94.y,_94.m,_94.d);
return _92;
};
nitobi.calendar.DatePicker.prototype.validateFormat=function(_9b,_9c){
var _9d={valid:false,unit:"",value:""};
switch(_9c){
case "d":
case "dd":
var _9e=parseInt(_9b);
var _9f;
if(_9c=="d"){
_9f=!isNaN(_9b)&&_9b.charAt(0)!="0"&&_9b.length<=2;
}else{
_9f=!isNaN(_9b)&&_9b.length==2;
}
if(_9f){
_9d.valid=true;
_9d.unit="d";
_9d.value=_9b;
}else{
_9d.valid=false;
}
break;
case "y":
case "yyyy":
if(isNaN(_9b)){
_9d.valid=false;
}else{
_9d.valid=true;
_9d.unit="y";
_9d.value=_9b;
}
break;
case "M":
case "MM":
var _9e=parseInt(_9b,10);
var _9f;
if(_9c=="M"){
_9f=!isNaN(_9b)&&_9b.charAt(0)!="0"&&_9b.length<=2&&_9e>=1&&_9e<=12;
}else{
_9f=!isNaN(_9b)&_9b.length==2&&_9e>=1&&_9e<=12;
}
if(_9f){
_9d.valid=true;
_9d.unit="m";
_9d.value=_9e-1;
}else{
_9d.valid=false;
}
break;
case "MMM":
case "NNN":
case "E":
case "EE":
var _a0;
if(_9c=="MMM"){
_a0=this.getLongMonthNames();
}else{
if(_9c=="NNN"){
_a0=this.getShortMonthNames();
}else{
if(_9c=="E"){
_a0=this.getShortDayNames();
}else{
_a0=this.getLongDayNames();
}
}
}
var i;
for(i=0;i<_a0.length;i++){
var _a2=_a0[i];
if(_9b.toLowerCase()==_a2.toLowerCase()){
break;
}
}
if(i<_a0.length){
_9d.valid=true;
if(_9c=="MMM"||_9c=="NNN"){
_9d.unit="m";
}else{
_9d.unit="dl";
}
_9d.value=i;
}else{
_9d.valid=false;
}
break;
}
return _9d;
};
nitobi.calendar.DatePicker.prototype.formatDate=function(_a3,_a4){
var _a5={};
var _a6=_a3.getFullYear()+"";
var _a7=_a3.getMonth()+1+"";
var _a8=_a3.getDate()+"";
var day=_a3.getDay();
_a5["y"]=_a5["yyyy"]=_a6;
_a5["yy"]=_a6.substring(2,4);
_a5["M"]=_a7+"";
_a5["MM"]=nitobi.lang.padZeros(_a7,2);
_a5["MMM"]=this.getLongMonthNames()[_a7-1];
_a5["NNN"]=this.getShortMonthNames()[_a7-1];
_a5["d"]=_a8;
_a5["dd"]=nitobi.lang.padZeros(_a8,2);
_a5["EE"]=this.getLongDayNames()[day];
_a5["E"]=this.getShortDayNames()[day];
var _aa="";
while(_a4.length>0){
var c=_a4.charAt(0);
var _ac=new RegExp(c+"+");
var _ad=_ac.exec(_a4)[0];
_aa+=_a5[_ad]||_ad;
_a4=_a4.substring(_ad.length);
}
return _aa;
};
nitobi.lang.defineNs("nitobi.calendar");
nitobi.calendar.DateInput=function(_ae){
nitobi.prepare();
nitobi.calendar.DateInput.baseConstructor.call(this,_ae);
this.onBlur=new nitobi.base.Event();
this.eventMap["blur"]=this.onBlur;
this.onFocus=new nitobi.base.Event();
this.eventMap["focus"]=this.onFocus;
this.htmlEvents=[];
this.subscribeDeclarationEvents();
};
nitobi.lang.extend(nitobi.calendar.DateInput,nitobi.ui.Element);
nitobi.calendar.DateInput.profile=new nitobi.base.Profile("nitobi.calendar.DateInput",null,false,"ntb:dateinput");
nitobi.base.Registry.getInstance().register(nitobi.calendar.DateInput.profile);
nitobi.calendar.DateInput.prototype.attachEvents=function(){
var he=this.htmlEvents;
he.push({type:"focus",handler:this.handleOnFocus});
he.push({type:"blur",handler:this.handleOnBlur});
he.push({type:"keydown",handler:this.handleOnKeyDown});
nitobi.html.attachEvents(this.getHtmlNode("input"),he,this);
};
nitobi.calendar.DateInput.prototype.detachEvents=function(){
nitobi.html.detachEvents(this.getHtmlNode("input"),this.htmlEvents);
};
nitobi.calendar.DateInput.prototype.setValue=function(_b0){
var _b1=this.getHtmlNode("input");
_b1.value=_b0;
};
nitobi.calendar.DateInput.prototype.getValue=function(){
var _b2=this.getHtmlNode("input");
return _b2.value;
};
nitobi.calendar.DateInput.prototype.handleOnFocus=function(){
var _b3=this.getEditMask();
var _b4=this.getParentObject();
var _b5=_b4.getSelectedDate();
if(_b5){
var _b6=_b4.formatDate(_b5,_b3);
this.setValue(_b6);
var _b4=this.getParentObject();
_b4.blurInput=true;
}
this.onFocus.notify(new nitobi.ui.ElementEventArgs(this,this.onFocus));
};
nitobi.calendar.DateInput.prototype.handleOnBlur=function(){
var _b7=this.getParentObject();
var _b8=_b7.getCalendar();
if(_b7.blurInput){
var _b9=this.getEditMask();
var _ba=this.getValue();
_ba=_b7.parseDate(_ba,_b9);
if(_b7.validate(_ba)){
_b7._setSelectedDate(_ba,true);
if(_b8){
_b8.hide();
}
}else{
if(_b8){
_b8.clearHighlight();
}
_b7.clear();
this.setInvalidStyle(true);
}
}
this.onBlur.notify(new nitobi.ui.ElementEventArgs(this,this.onBlur));
};
nitobi.calendar.DateInput.prototype.handleOnKeyDown=function(_bb){
var key=_bb.keyCode;
if(key==13){
this.getHtmlNode("input").blur();
}
};
nitobi.calendar.DateInput.prototype.setInvalidStyle=function(_bd){
var Css=nitobi.html.Css;
var _bf=this.getHtmlNode("container");
if(_bd){
Css.swapClass(_bf,"ntb-inputcontainer","ntb-invalid");
}else{
Css.swapClass(this.getHtmlNode("container"),"ntb-invalid","ntb-inputcontainer");
}
var _c0=Css.getStyle(_bf,"backgroundColor");
var _c1=this.getHtmlNode("input");
Css.setStyle(_c1,"backgroundColor",_c0);
};
nitobi.calendar.DateInput.prototype.getEditMask=function(){
return this.getAttribute("editmask",this.getDisplayMask());
};
nitobi.calendar.DateInput.prototype.setEditMask=function(_c2){
this.setAttribute("editmask",_c2);
};
nitobi.calendar.DateInput.prototype.getDisplayMask=function(){
return this.getAttribute("displaymask","MMM dd yyyy");
};
nitobi.calendar.DateInput.prototype.setDisplayMask=function(_c3){
this.setAttribute("displaymask",_c3);
};
nitobi.calendar.DateInput.prototype.isEditable=function(){
this.getBoolAttribute("editable",true);
};
nitobi.calendar.DateInput.prototype.setEditable=function(dis){
this.setBoolAttribute("editable",dis);
this.getHtmlNode("input").disabled=dis;
};
nitobi.calendar.DateInput.prototype.getWidth=function(){
this.getIntAttribute("width");
};
nitobi.calendar.DateInput.prototype.setWidth=function(_c5){
this.setAttribute("width",_c5);
};
nitobi.lang.defineNs("nitobi.calendar");
nitobi.calendar.CalRenderer=function(){
nitobi.html.IRenderer.call(this);
};
nitobi.lang.implement(nitobi.calendar.CalRenderer,nitobi.html.IRenderer);
nitobi.calendar.CalRenderer.prototype.renderToString=function(_c6){
var _c7=_c6.getParentObject();
var _c8=_c7.getEventsManager();
var dm=nitobi.base.DateMath;
var sb=new nitobi.lang.StringBuilder();
var id=_c6.getId();
var _cc=_c6.getMonthColumns();
var _cd=_c6.getMonthRows();
var _ce=_cc>1||_cd>1;
var _cf=dm.resetTime(dm.clone(_c7.getStartDate()));
var _d0=_c7.getSelectedDate();
if(_d0!=null){
_d0=dm.resetTime(_c7.getSelectedDate());
}
var _d1=dm.resetTime(new Date());
var _d2=_c7.getMinDate();
var _d3=_c7.getMaxDate();
var _d4=dm.subtract(dm.clone(_cf),"d",1);
var _d5=dm.add(dm.clone(_cf),"m",_cc*_cd);
_c7.disPrev=(_d2&&dm.before(_d4,_d2)?true:false);
_c7.disNext=(_d3&&dm.after(_d5,_d3)?true:false);
var _d6=_c7.getLongMonthNames();
var _d7=_c7.getLongDayNames();
var _d8=_c7.getMinDayNames();
var _d9=(((nitobi.browser.MOZ&&!document.getElementsByClassName&&navigator.platform.indexOf("Mac")>=0)||nitobi.browser.IE6)&&_c7.isShimEnabled())?true:false;
if(_d9){
sb.append("<iframe id=\""+id+".shim\" style='position:absolute;top:0px;z-index:19999;'><!-- dummy --></iframe>");
}
sb.append("<div id=\""+id+".calendar\" style=\""+(_d9?"position:relative;z-index:20000;":"")+"\">");
sb.append("<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tbody>");
if(_ce){
sb.append("<tr id=\""+id+".header\"><td>");
var _da=_d6[_cf.getMonth()];
var _db=_cf.getFullYear();
var _dc=dm.add(dm.clone(_cf),"m",(_cc*_cd)-1);
var _dd=_d6[_dc.getMonth()];
var _de=_dc.getFullYear();
sb.append("<div class=\"ntb-calendar-header\">");
sb.append("<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" style=\"height:100%;width:100%;\"><tbody>");
sb.append("<tr><td><a id=\""+id+".prevmonth\" onclick=\"return false;\" href=\"#\" class=\"ntb-calendar-prev"+(_c7.disPrev?" ntb-calendar-prevdis":"")+"\"></a</td>");
sb.append("<td style=\"width:70%;\"><span class=\"ntb-calendar-title\" id=\""+id+".nav\">"+_da+" "+_db+" - "+_dd+" "+_de+"</span></td>");
sb.append("<td><a id=\""+id+".nextmonth\" onclick=\"return false;\" href=\"#\" class=\"ntb-calendar-next"+(_c7.disNext?" ntb-calendar-nextdis":"")+"\"></a></td></tr>");
sb.append("</tbody></table></div></td></tr>");
}
sb.append("<tr id=\""+id+".body\"><td>");
sb.append("<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tbody>");
for(var i=0;i<_cd;i++){
sb.append("<tr>");
for(var j=0;j<_cc;j++){
var _e1=dm.subtract(dm.clone(_cf),"d",_cf.getDay());
var _e2=_cf.getMonth();
var _e3=_cf.getFullYear();
sb.append("<td>");
sb.append("<div class=\"ntb-calendar\">");
sb.append("<div><table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" style=\"width:100%;\"><tbody>");
sb.append("<tr class=\"ntb-calendar-monthheader\">");
if(!_ce){
sb.append("<td><a id=\""+id+".prevmonth\" onclick=\"return false;\" href=\"#\" class=\"ntb-calendar-prev"+(_c7.disPrev?" ntb-calendar-prevdis":"")+"\"></a></td>");
}
sb.append("<td style=\"width:70%;\"><span "+(!_ce?"id=\""+id+".nav\"":"")+"><a onclick=\"return false;\" href=\"#\" style=\""+(_ce?"cursor:default;":"")+"\" class=\"ntb-calendar-month\">"+_d6[_e2]+"</a>");
sb.append("<a onclick=\"return false;\" href=\"#\" style=\""+(_ce?"cursor:default;":"")+"\" class=\"ntb-calendar-year\">"+" "+_e3+"</a></span></td>");
if(!_ce){
sb.append("<td><a id=\""+id+".nextmonth\" onclick=\"return false;\" href=\"#\" class=\"ntb-calendar-next"+(_c7.disNext?" ntb-calendar-nextdis":"")+"\"></a></td>");
}
sb.append("</tbody></table></div>");
sb.append("<div><table id=\""+id+"."+_e2+"."+_e3+"\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" style=\"width: 100%;\"><tbody>");
sb.append("<tr>");
for(var k=0;k<7;k++){
sb.append("<th class=\"ntb-calendar-dayheader\">"+_d8[k]+"</th>");
}
sb.append("</tr>");
for(var m=0;m<6;m++){
sb.append("<tr>");
for(var n=0;n<7;n++){
sb.append("<td>");
sb.append("<a ebatype=\"date\" ebamonth=\""+_e1.getMonth()+"\" ebadate=\""+_e1.getDate()+"\" ebayear=\""+_e1.getFullYear()+"\" title=\""+_d7[_e1.getDay()]+", "+_d6[_e1.getMonth()]+" "+_e1.getDate()+", "+_e1.getFullYear()+"\" href=\"#\" onclick=\"return false;\" style=\"display:block;text-decoration:none;\" class=\"");
if(_d0&&_e1.valueOf()==_d0.valueOf()&&_e1.getMonth()==_cf.getMonth()){
sb.append("ntb-calendar-currentday ");
}
if(_e1.getMonth()<_cf.getMonth()||(_d2&&_e1.valueOf()<_d2.valueOf())){
sb.append("ntb-calendar-lastmonth ");
}else{
if(_e1.getMonth()>_cf.getMonth()||(_d3&&_e1.valueOf()>_d3.valueOf())){
sb.append("ntb-calendar-nextmonth ");
}else{
if(_e1.getMonth()==_cf.getMonth()){
sb.append("ntb-calendar-thismonth ");
}
}
}
if(_c8&&_c8.isDisabled(_e1)&&_e1.getMonth()==_cf.getMonth()){
sb.append("ntb-calendar-disabled ");
}else{
if(_c8&&_c8.isEvent(_e1)&&_e1.getMonth()==_cf.getMonth()){
sb.append("ntb-calendar-event ");
}
}
if(_d1.valueOf()==_e1.valueOf()){
sb.append("ntb-calendar-today");
}
sb.append(" ntb-calendar-day\">"+_e1.getDate()+"</a></td>");
_e1=dm.add(_e1,"d",1);
}
sb.append("</tr>");
}
sb.append("</tbody></table></div></div></td>");
_cf=dm.resetTime(dm.add(_cf,"m",1));
}
sb.append("</tr>");
}
sb.append("</tbody></table></td></tr></tbody></table></div></div>");
sb.append("</tbody><colgroup span=\"7\" style=\"width:17%\"></colgroup></table></div>");
sb.append("<div id=\""+id+".overlay\" class=\"ntb-calendar-overlay\" style=\""+(_d9?"z-index:20001;":"")+"top:0px;left:0px;display:none;position:absolute;background-color:gray;filter:alpha(opacity=40);-moz-opacity:.50;opacity:.50;\"></div>");
sb.append(this.renderNavPanel(_c6));
sb.append("</div></div>");
return sb.toString();
};
nitobi.calendar.CalRenderer.prototype.renderNavPanel=function(_e7){
var sb=new nitobi.lang.StringBuilder();
var _e9=_e7.getParentObject();
var _ea=_e9.getLongMonthNames();
var id=_e7.getId();
var _ec=(nitobi.browser.MOZ&&!nitobi.browser.MOZ3)||(nitobi.browser.IE6&&!nitobi.browser.IE7)?true:false;
sb.append("<div id=\""+id+".navpanel\" style=\""+(_ec?"z-index:20002;":"")+"position:absolute;top:0px;left:0px;overflow:hidden;\" class=\"ntb-calendar-navcontainer nitobi-hide\">");
sb.append("<div class=\"ntb-calendar-monthcontainer\">");
sb.append("<label style=\"display:block;\" for=\""+id+".months\">Choose Month</label>");
sb.append("<select id=\""+id+".months\" class=\"ntb-calendar-navms\" style=\"\" tabindex=\"1\">");
for(var i=0;i<_ea.length;i++){
sb.append("<option value=\""+i+"\">"+_ea[i]+"</option>");
}
sb.append("</select>");
sb.append("</div>");
sb.append("<div class=\"ntb-calendar-yearcontainer\">");
sb.append("<label style=\"display:block;\" for=\""+id+".year\">Enter Year</label>");
sb.append("<input size=\"4\" maxlength=\"4\" id=\""+id+".year\" class=\"ntb-calendar-navinput\" style=\"-moz-user-select: normal;\" tabindex=\"2\"/>");
sb.append("</div>");
sb.append("<div class=\"ntb-calendar-controls\">");
sb.append("<button id=\""+id+".navconfirm\" type=\"button\">"+_e9.getNavConfirmText()+"</button>");
sb.append("<button id=\""+id+".navcancel\" type=\"button\">"+_e9.getNavCancelText()+"</button>");
sb.append("</div>");
sb.append("<div id=\""+id+".warning\" style=\"display:none;\" class=\"ntb-calendar-navwarning\">You must enter a valid year.</div>");
sb.append("</div>");
return sb.toString();
};
nitobi.lang.defineNs("nitobi.calendar");
nitobi.calendar.EventsManager=function(url){
this.connector=new nitobi.data.UrlConnector(url);
this.onDataReady=new nitobi.base.Event();
this.dates={events:{},disabled:{}};
this.eventsCache={};
this.disabledCache={};
};
nitobi.calendar.EventsManager.prototype.isEvent=function(_ef){
return (this.eventsCache[_ef.valueOf()]?true:false);
};
nitobi.calendar.EventsManager.prototype.isDisabled=function(_f0){
return (this.disabledCache[_f0.valueOf()]?true:false);
};
nitobi.calendar.EventsManager.prototype.getFromServer=function(){
if(this.connector.url!=null){
this.connector.get({},nitobi.lang.close(this,this.getComplete));
}else{
this.onDataReady.notify();
}
};
nitobi.calendar.EventsManager.prototype.getComplete=function(_f1){
var _f2=_f1.result;
var dm=nitobi.base.DateMath;
var _f4=_f2.documentElement;
var _f5=nitobi.xml.getChildNodes(_f4);
for(var i=0;i<_f5.length;i++){
var _f7=_f5[i];
var _f8=_f7.getAttribute("e");
var _f9={};
if(_f8=="event"){
var _fa=_f7.getAttribute("a");
_fa=dm.parseIso8601(_fa);
_f9.startDate=_fa;
var _fb=_f7.getAttribute("b");
if(_fb){
_fb=dm.parseIso8601(_fb);
}else{
_fb=null;
}
_f9.endDate=_fb;
_f9.location=_f7.getAttribute("c");
_f9.description=_f7.getAttribute("d");
var _fc=this.dates.events[dm.resetTime(dm.clone(_fa)).valueOf()];
if(_fc){
_fc.push(_f9);
}else{
_fc=[_f9];
this.dates.events[dm.resetTime(dm.clone(_fa)).valueOf()]=_fc;
}
this.addEventDate(_fa,_fb);
}else{
var _fa=dm.parseIso8601(_f7.getAttribute("a"));
_f9.date=_fa;
this.addDisabledDate(dm.clone(_fa));
}
}
this.onDataReady.notify();
};
nitobi.calendar.EventsManager.prototype.addEventDate=function(_fd,end){
var dm=nitobi.base.DateMath;
var _100=dm.clone(_fd);
_100=dm.resetTime(_100);
if(!end){
return this.eventsCache[_100.valueOf()]=_fd;
}
end=dm.clone(end);
end=dm.resetTime(end);
while(_100.valueOf()<=end.valueOf()){
this.eventsCache[_100.valueOf()]=_fd;
_100=dm.add(_100,"d",1);
}
};
nitobi.calendar.EventsManager.prototype.addDisabledDate=function(date){
date=nitobi.base.DateMath.resetTime(date);
return this.disabledCache[date.valueOf()]=true;
};
nitobi.calendar.EventsManager.prototype.getEventInfo=function(date){
var dm=nitobi.base.DateMath;
var _104=this.dates.events;
return _104[date.valueOf()];
};


var temp_ntb_datePickerTemplate='<?xml version="1.0"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ntb="http://www.nitobi.com"> <xsl:output method="xml" omit-xml-declaration="yes" /> <xsl:strip-space elements="*"/> <x:t- match="ntb:datepicker"> <div id="{@id}"> <x:a-x:n-class"> ntb-calendar-reset <x:v-x:s-@theme"/> </x:a-> <x:at-x:s-ntb:dateinput"/> <xsl:if test="ntb:calendar and ntb:dateinput"> <div id="{@id}.button" style="float:left;" class="ntb-calendar-button"> <x:ct-x:n-dummy"></x:ct-> </div> </xsl:if> <div style="display:block;clear:both;float:none;height:0px;width:auto;overflow:hidden;"><xsl:comment>dummy</xsl:comment></div> <x:at-x:s-ntb:calendar"/> <input id="{@id}.value" type="hidden" value=""x:n-{@id}"/> </div> </x:t-> <x:t- match="ntb:dateinput"> <x:va-x:n-width"> <x:c-> <x:wh- test="contains(@width, \'px\')"> <x:v-x:s-substring-before(@width, \'px\')"/> </x:wh-> <x:o-> <x:v-x:s-@width" /> </x:o-> </x:c-> </x:va-> <div id="{@id}" style="float:left;"> <div id="{@id}.container" class="ntb-inputcontainer"> <x:a-x:n-style"> <xsl:if test="@width">width:<x:v-x:s-$width"/>px;</xsl:if> </x:a-> <input id="{@id}.input" type="text" class="ntb-dateinput"> <x:a-x:n-style"> font-size:100%;<xsl:if test="@cssstyle"><x:v-x:s-@cssstyle"/></xsl:if>; <xsl:if test="@width">width: <x:v-x:s-number($width) - 10"/>px;</xsl:if> </x:a-> <xsl:if test="@editable = \'false\'"> <x:a-x:n-disabled">true</x:a-> </xsl:if> </input> </div> </div> </x:t-> <x:t- match="ntb:calendar"> <div id="{@id}" onselectstart="return false;"> <x:a-x:n-style"> <xsl:if test="../ntb:dateinput">position:absolute;z-index:1000;</xsl:if>overflow:hidden; </x:a-> <x:a-x:n-class"> ntb-calendar-container nitobi-hide </x:a-> <x:ct-x:n-dummy"/> </div> </x:t-> <x:t-x:n-dummy"> <xsl:comment>dummy</xsl:comment> </x:t-></xsl:stylesheet>';
nitobi.lang.defineNs("nitobi.calendar");
nitobi.calendar.datePickerTemplate = nitobi.xml.createXslProcessor(nitobiXmlDecodeXslt(temp_ntb_datePickerTemplate));



