var CalendarSchema=BusinessObject.create({base:ItemSchema,fields:[{name:"guid",label:"Event ID",readonly:true},{name:"start",label:"Start",base:BaseFields.dateTime,inputHelp:"Enter the start date and time for the event",timeLabel:" Time:",required:true,getValue:function(bo,item){return this.parent._6(this,bo,item,true)},getOutputText:function(bo,item){return this.parent._8(this,bo,item)}},{name:"end",label:"End",base:BaseFields.dateTime,inputHelp:"Enter the end date and time for the event",timeLabel:" Time:",required:true,getValue:function(bo,item){return this.parent._6(this,bo,item,false)},getOutputText:function(bo,item){return this.parent._8(this,bo,item)}},{name:"isAllDay",label:"All Day",base:BaseFields.checkbox},{name:"title",label:"Subject",required:true,inputSize:60},{name:"location",label:"Location",inputSize:60},{name:"address",label:"Street Address",base:BaseFields.mapAddress,inputSize:50,inputHelp:"Full address of the event"},{name:"text",label:"Notes",base:BaseFields.richText,inputRows:2,inputCols:60},{name:"startEnd",base:BaseFields.startEndDateTime,startEndDateTimeArgs:{startField:"start",endField:"end",isAllDayField:"isAllDay"}},{name:"startDate",label:"Start Date",base:BaseFields.dateTime,readOnly:true,outputFormat:"uDM",colWidth:80,getValue:function(bo,item){return bo.getValue("start",item)}},{name:"startTime",label:"Start Time",base:BaseFields.dateTime,readOnly:true,outputFormat:"ut",colWidth:60,getValue:function(bo,item){return bo.getValue("start",item)},getOutputText:function(bo,item){if(bo.getValue("isAllDay",item)){return"All Day"}else{var d=bo.getValue("start",item);return d.toDateTimeString(this.outputFormat)}}},{name:"startWithDetailLink",label:"Start",base:Fields.detailLink,detailLinkArgs:{title:"start"}},{name:"startDateWithDetailLink",label:"Start",base:Fields.detailLink,detailLinkArgs:{title:"startDate"}},{name:"startTimeWithDetailLink",label:"Start Time",base:Fields.detailLink,detailLinkArgs:{title:"startTime"}},{name:"subjectAndICal",label:"Subject",base:Fields.compound,fieldNames:["iCal","title"]},{name:"subjectWithDetailLink",label:"Subject",base:Fields.detailLink,detailLinkArgs:{title:"title"}},{name:"iCal",label:"iCalendar",colTitle:"iCal",base:Fields.iCalendar,iCalArgs:{},colWidth:20},{name:"iCalAndStart",label:"Start",base:Fields.compound,fieldNames:["iCal","start"]},{name:"iCalAndStartTime",label:"Start",base:Fields.compound,fieldNames:["iCal","startTime"]},{name:"iCalAndStartWithDetailLink",label:"Start",base:Fields.compound,fieldNames:["iCal","startWithDetailLink"]},{name:"iCalAndSubjectWithDetailLink",label:"Subject",base:Fields.compound,fieldNames:["iCal","subjectWithDetailLink"]},{name:"map",base:Fields.map},{name:"locationAndMap",label:"Location",base:Fields.compound,fieldNames:["location","map"]}],_6:function(t,bo,item,isStart){var d=null;if(item){var v=item[t.name];d=Date.fromSeconds(v);var isAllDay=bo.getValue("isAllDay",item);if(isAllDay&&d){var utcYear=d.getUTCFullYear();var utcMonth=d.getUTCMonth();var utcDate=d.getUTCDate();d=new Date(utcYear,utcMonth,utcDate)}}else if(isStart&&Dialog.context&&Dialog.context.start&&Dialog.context.start.length==3){var st=Dialog.context.start;var now=new Date();d=new Date(st[0],st[1],st[2],now.getHours(),now.getMinutes());d.roundToNextHalfHour()}return d},_8:function(t,bo,item){var args=t.dateTimeArgs;var d=t.getValue(bo,item);var isAllDay=bo.getValue("isAllDay",item);var format=t.outputFormat;if(isAllDay){format=args.dateOnlyOutputFormat||"uDM"}return d.toDateTimeString(format)}});var CalendarModule={id:"Calendar",title:"Calendar",allowItems:true,allowFolders:false,allowDrag:false,allowComments:true,addFormAction:"calendar/add",updateFormAction:"calendar/update",ImportDialog:"importdialog/104966641.js",itemName:"Event",renderStyle:function(w){var calBkColor=Theme.c0.lighter;var calBkSelectColor=Theme.c0.lighter;var calDayHdrColor=Theme.c0.normal;var calDayHdrSelectColor=Theme.c0.dark;var lineColor=Theme.c0.lighter;w(".calText {white-space:nowrap; cursor:default; letter-spacing:normal; line-height:normal; height:14px; }",".calBkg {background-color:",calBkColor,";border:solid 1px ",calBkColor,";text-align:center;}","th.calText {font-weight:bold; }",".calDay {border-left:1px solid ",lineColor,";}",".calWeek {vertical-align:top}",".calWkSelect .calDayHdr_nohover {vertical-align:top; background-color: ",calDayHdrSelectColor,";}",".calTime {font-size:92%;}",".calDayEvts {cursor:pointer;min-height:40px;width:100%;text-align:left;background-color: #fff;}",".ie6 .calDayEvts {height:40px;}",".calDayHdr_nohover {background-color:",calDayHdrColor,";border-top:1px solid ",calDayHdrSelectColor,";padding:0 3px;text-align:right;cursor:pointer;}",".calDayHdr_hover {background-color:",calDayHdrSelectColor,";border-top:1px solid ",calDayHdrSelectColor,";padding:0 3px;text-align:right;cursor:pointer;}",".calIsToday {font-weight:bold;}",".calIsAllDay {background-color:",calDayHdrColor,";}",".calSelDay {background-color: ",calDayHdrSelectColor,"; }",".calWkBtB_nohover {background-color:",calBkColor,";border:solid 1px ",calBkColor,";}",".calWkBtB_hover {background-color:",calDayHdrSelectColor,";border:solid 1px ",calDayHdrSelectColor,";}",".calWkBt_nohover {background-color:",calBkColor,";border:solid 1px ",calBkColor,";}",".calWkBt_hover {background-color:",calDayHdrSelectColor,";border:solid 1px ",calDayHdrSelectColor,";}",".calHdrBtn_hover .calBkg {border-left: buttonhighlight 1px solid; border-top:buttonhighlight 1px solid;border-bottom:buttonshadow 1px solid;border-right:buttonshadow 1px solid}",".calHdrBtn_hover .calHdrBtnDown {border-left:1px solid buttonshadow; border-top:1px solid buttonshadow; border-bottom:1px solid buttonhighlight; border-right:1px solid buttonhighlight; }",".calItemRow { vertical-align:top;}")},editLayout:new InputLayout(CalendarSchema,{fields:["title","startEnd","location","address","text"]}),addItems:function(id,beforeId,context){var s=page.nodes[id];if(s&&s.permissions.addContent){Table.addItems(id,beforeId,CalendarModule,context)}},updateItem:function(itemId){Table.updateItem(itemId,CalendarModule)},deleteItem:function(id){var item=page.nodes[id];var s=item.section;ContentItem.deleteItem(id);Section.refreshContentHtml(s)},renderEmpty:function(w,s){Section.renderEmpty(w,s)},createSectionMenuItems:function(menuItems,section){var t=CalendarModule;var divAdded;if(U.un){menuItems.addDivider();divAdded=true;menuItems.add("Import Calendar...",t._11,section.nodeId)}if(section.items&&section.items.length>0){if(!divAdded){menuItems.addDivider()}menuItems.add("Export Calendar...",t._12,section.nodeId)}},createItemMenuItems:function(menuItems,item){var t=CalendarModule;menuItems.addDivider();menuItems.add("Export Event...",t._9,item.nodeId)},defaultLayout:"Calendar",detailLayout:"ItemDetails",layouts:{Calendar:{refreshSection:true,title:"Calendar",renderContent:function(w,s){var t=CalendarModule;t._19(w);w("<div>");t._16(w,s);w("</div>");w("<div>");t._18(w,s);w("</div>")},onWidthChanged:function(s,oldWidth,newWidth){if((oldWidth<500&&newWidth>=500)||(oldWidth>=500&&newWidth<500)){Section.refreshInnerHtml(s)}}},CalendarList:new GridLayout(CalendarSchema,{fields:[{name:"iCal",colTitle:" "},{name:"startTime",colTitle:"Starts"},"subjectWithDetailLink"]},{kind:1,hideColumnHeaders:true}),CalendarList500:new GridLayout(CalendarSchema,{fields:[{name:"iCal",colTitle:" "},{name:"startTime",colTitle:"Starts"},"subjectWithDetailLink","locationAndMap","text"]},{kind:1,hideColumnHeaders:true}),List:new GridLayout(CalendarSchema,{fields:[{name:"iCal",colTitle:" "},{name:"subjectWithDetailLink"},{name:"start"},{name:"locationAndMap"},{name:"text"}],renderItemsFooter:function(w,s){CalendarModule._1(w,s)}},{orderBy:"start asc"}),List2:new GridLayout(CalendarSchema,{fields:[{name:"iCal",colTitle:" "},{name:"start"},{name:"subjectWithDetailLink"},{name:"locationAndMap"}],renderItemsFooter:function(w,s){CalendarModule._1(w,s)}},{title:"List - Start, Subject, Location",orderBy:"start asc",hideColumnHeaders:true}),ListNarrow:new GridLayout(CalendarSchema,{fields:[{name:"subjectAndLocation",label:"Subject/Location",base:Fields.compound,fieldNames:["subjectWithDetailLink","locationAndMap"],delimiter:"<br/>"},{name:"DateSlashTime",label:"Start",base:Fields.compound,fieldNames:["startDate","startTime"],delimiter:"<br/>"}],renderItemsFooter:function(w,s){CalendarModule._1(w,s)}},{orderBy:"start asc",title:"List - Narrow"}),Details:new PanelLayout(CalendarSchema,{fields:["iCalAndSubjectWithDetailLink","locationAndMap","start","end","text"],renderItemsFooter:function(w,s){CalendarModule._1(w,s)}},{orderBy:"start asc"}),ItemDetails:new PanelLayout(CalendarSchema,{fields:["title","start","end","locationAndMap",{name:"address",label:"Address"},"text","iCal","createdAndBy","modifiedAndBy"]},{orderBy:"start asc",kind:1}),ItemTip:new PanelLayout(CalendarSchema,{fields:["title","start","end","location","text","createdAndBy","modifiedAndBy"]},{kind:1})},onItemTip:function(evt,item){var t=CalendarModule;var layout=t.layouts.ItemTip;var sb=new StringBuilder();layout.renderItemContent(sb.write,item,0,true);evt.tip=sb.toString()},_5:function(s){var msg={page:page.pageId,version:page.version,t:head.time,h:head.h,nodeId:s.nodeId};var q=Html.formatQuery(msg);var href=A.commandsBase+"desktopintegration/geticalendar"+q;return href},_1:function(w,s){var t=CalendarModule;var href=t._5(s);if(href){w("<div class='hr divider' style='font-size: 4px;padding-top:3px;padding-bottom:3px;'>&nbsp;</div>","<table cellpadding=0 style='margin-left:5px;margin-bottom:5px;'>","<tr>","<td>","<a href='",href,"'>","<img src='"+A.imagesBase+"ical.gif' style='vertical-align:middle;padding-left:2px;padding-right:2px;' alt='Download iCalendar' />","</a>","</td>","<td>","<a href='",href,"'>","  Download calendar","</a>","<span style='font-size: x-small;'> (Outlook users: save file to disk and import)</span>","</td>","</tr>","</table>")}},_11:function(nodeId){var t=CalendarModule;var s=page.nodes[nodeId];if(s){Module.showDialog(CalendarModule,"ImportDialog",{parentId:nodeId})}},_12:function(nodeId){var t=CalendarModule;var s=page.nodes[nodeId];if(s){var href=t._5(s);if(href){N.openWindow(href,"")}else{Dialog.alert("There are no Events to export.")}}},_9:function(nodeId){var sch=CalendarSchema;var t=CalendarModule;var item=page.nodes[nodeId];if(item){var sb=new StringBuilder();var iCalField=sch.getField("iCal");iCalField.formatQueryString(sb,item,0);var href=t._17(sb.toString());N.openWindow(href,"")}},_17:function(q){return A.commandsBase+"desktopintegration/geticalendar?"+q},_18:function(w,s){var t=CalendarModule;var sch=CalendarSchema;var today=new Date();today.setHours(0,0,0,0);s.selDt=s.selDt||today;var selDt=s.selDt;var selYr=selDt.getFullYear();var selMth=selDt.getMonth();var selDay=selDt.getDate();var selType=s.selType||"d";var selSt,selEnd;switch(selType){case"m":selSt=new Date(selYr,selMth,1);selEnd=new Date(selYr,selMth,selDt.getDaysInMonth());break;case"w":var dayNum=selDt.getDay();selSt=new Date(selYr,selMth,selDay-dayNum);selEnd=new Date(selYr,selMth,selDay-dayNum+7);break;default:selSt=selDt;selEnd=new Date(selYr,selMth,selDay+1);break}var cDispItems=[];var cItems=s.items;if(cItems){for(var i=0;i<cItems.length;i++){var cItem=cItems[i];var ciStDt=sch.getValue("start",cItem);if(ciStDt>=selSt&&ciStDt<selEnd){cDispItems.push(cItem)}else if(ciStDt>=selEnd){break}}}var l;if(cDispItems.length==0){switch(selType){case"m":l=selDt.toDateTimeString("F Y");break;case"w":l="Week of "+selDt.toDateTimeString("uD");break;default:l=(selDt-today==0?"Today":selDt.toDateTimeString("uDFNY"));break}t._3(w,l);w("<div class=section-padding>","<i>No Events</i>","</div>")}else{var gd=null;var layout=(s.zone.width>500?t.layouts.CalendarList500:t.layouts.CalendarList);for(i=0;i<cDispItems.length;i++){var item=cDispItems[i];var start=sch.getValue("start",item);var isAllDay=sch.getValue("isAllDay",item);var startTime=(isAllDay?null:start.toDateTimeString("ut"));start.setHours(0,0,0,0);if(start-gd!=0){if(gd!==null){layout.renderItemsFooter(w,s,cDispItems);w("</div>")}gd=start;l=(start-today==0?"Today":start.toDateTimeString("uDFNY"));t._3(w,l);layout.renderItemsHeader(w,s,cDispItems)}w("<tr");ContentItem.renderAttributes(w,item,"calItemRow",false,"TR");w(">");layout.renderItemContent(w,item,i);w("</tr>")}layout.renderItemsFooter(w,s,cDispItems);}},_3:function(w,s){w("<div class=group nexoType='Group' dragType='None'>","<table class='cg-header'>","<tr>","<td>","<span class=cg-title>",s,"</span>","<td>","<tr>","</table>","</div>")},_13:function(el,sId,row){var tr=Dom.getElement("cal"+sId+"row"+row);if(tr){Dom.addClass(tr,"calWkSelect")}},_14:function(el,sId,row){var tr=Dom.getElement("cal"+sId+"row"+row);if(tr){Dom.removeClass(tr,"calWkSelect")}},_2:function(selType,nodeId,y,m,d,resetCalDt){var t=CalendarModule;var s=page.nodes[nodeId];s.selType=selType;s.selDt=new Date(y,m,d);if(resetCalDt)s.calDt=s.selDt;Section.refreshInnerHtml(s)},_0:function(el,isDown){if(isDown){Dom.addClass(el,"calHdrBtnDown")}else{Dom.removeClass(el,"calHdrBtnDown")}},_4:function(nodeId,isNext){var t=CalendarModule;var s=page.nodes[nodeId];var d=s.calDt;var m=d.getMonth();var y=d.getFullYear();var newMth;var newYr;if(isNext){newMth=(m==12?1:m+1);newYr=(m==12?y+1:y)}else{newMth=(m==1?12:m-1);newYr=(m==1?y-1:y)}s.calDt=new Date(newYr,newMth,1);Section.refreshInnerHtml(s)},_19:function(w){var u=ServerData.user;if(u&&u.tzr=="US"||u.tzr=="CA"){var t1=new Date(2007,0,1).getTimezoneOffset();var t2=new Date(2007,3,1).getTimezoneOffset();var t3=new Date(2007,6,1).getTimezoneOffset();if(t1==t2&&t3!=t1){w("<div class=user-alert><img src='",ImgSrc.warning,"' style='vertical-align:middle;' /> <span style='vertical-align:middle;'>","Warning: Your computer may not be displaying daylight savings time values correctly."," <a class=showLink href='",A.wwwBase,"messages/daylightsavings'>More Info</a></span>","</div>");Trace.warning("Daylight Savings Time error.")}}},_16:function(w,s){var t=CalendarModule;var sch=CalendarSchema;var today=new Date();today.setHours(0,0,0,0);var todayYr=today.getFullYear();var todayMth=today.getMonth();var todayDay=today.getDate();s.selDt=s.selDt||today;var selDt=s.selDt;var selYr=selDt.getFullYear();var selMth=selDt.getMonth();var selDay=selDt.getDate();s.calDt=s.calDt||s.selDt;var calDt=s.calDt;var calYr=calDt.getFullYear();var calMth=calDt.getMonth();var mthName=Date.monthNames[calMth];var days=calDt.getDaysInMonth();var first=calDt.getFirstDayOfMonth();var selType=s.selType||"d";var rows=5;if(((days==31)&&(first>4))||((days==30)&&(first==6))){rows=6}else if((days==28)&&(first==0)){rows=4}w("<div style='width:100%;background-color:#fff;'>","<table class='font-sys' cellpadding=0 style='table-layout:fixed;width:100%;'>","<col width=10 >","<col width=14%>","<col width=14%>","<col width=14%>","<col width=14%>","<col width=14%>","<col width=14%>","<col width=14%>","<tr>","<td class='calBkg calText'>&nbsp;</td>","<td class='calHdrBtn_nohover' hoverType=class >","<div class='calBkg calText' style='cursor:pointer;' onclick='CalendarModule._4(",s.nodeId,",false);' onmousedown='CalendarModule._0(this, true);' onmouseup='CalendarModule._0(this,false);' title='",Date.monthNames[(calMth==0?12:calMth-1)],"'>","<img src='",A.imagesBase,"calendarPrev.gif' style='vertical-align:middle;' >","</div>","</td>","<td class='calHdrBtn_nohover' hoverType=class align=center nowrap colspan='5' style='width:auto;' onClick='CalendarModule._2(\"m\",",s.nodeId,",",calYr,",",calMth,",1,true);' title='Select all days in ",mthName,"'>","<div class='calBkg calText' style='cursor:pointer;' onmousedown='CalendarModule._0(this, true);' onmouseup='CalendarModule._0(this,false);'  >",mthName+" "+calYr,"</div>","</td>","<td class='calHdrBtn_nohover' hoverType=class >","<div class='calBkg calText' style='cursor:pointer;' onclick='CalendarModule._4("+s.nodeId+",true);' onmousedown='CalendarModule._0(this, true);' onmouseup='CalendarModule._0(this, false);' title='"+Date.monthNames[(calMth==12?1:calMth+1)]+"'>","<img src='"+A.imagesBase+"calendarNext.gif' style='vertical-align:middle;' >","</div>","</td>","</tr>","<tr>","<th class='calText calBkg'>&nbsp;</th>");for(var wd=0;wd<7;wd++){w("<th class='calText calBkg'>",Date.shortDayNames[wd],"</th>")}w("</tr>");var d=new Date(calYr,calMth,1-first);var cItems=s.items;var cItemsCount=0;var cDispItems=[];if(cItems){cItems.sort(t._15);cItemsCount=cItems.length}var multiDayEvents=[];var cItemsIndex=0;var calItem;var title;var ciEndDt;for(var j=0;j<rows;j++){var fd=d.getDate();var fm=d.getMonth();var fy=d.getFullYear();var wkSelect=(selType=="w"&&(fd==selDay-selDt.getDay())&&(fm==selMth)&&(fy==selYr));w("<tr class='calWeek' id='cal"+s.nodeId+"row"+j+"' >","<td class='"+(j==rows-1?" calWkBtB_nohover":" calWkBt_nohover")+"' hoverType='class' style='text-align:center;vertical-align:middle;cursor:pointer;' onClick='CalendarModule._2(\"w\","+s.nodeId+","+fy+","+fm+","+fd+");' onmouseover='CalendarModule._13(this,"+s.nodeId+","+j+");' onmouseout='CalendarModule._14(this,"+s.nodeId+","+j+");' title='Select week'>",".","</td>");for(var i=1;i<=7;i++){var dd=d.getDate();var mm=d.getMonth();var yy=d.getFullYear();var mthSelect=(selType=="m"&&mm==selMth&&yy==selYr);var daySelect=(selType=="d"&&(yy==selYr)&&(mm==selMth)&&(dd==selDay));var isToday=((yy==todayYr)&&(mm==todayMth)&&(dd==todayDay));var isSelected=(daySelect||wkSelect||mthSelect);var othCls=(mm==calMth?" calendarCurMthDay":" calendarOthMthDay");othCls+=(isSelected?" calSelDay":"");w("<td class='calDay"+(j==rows-1?" calBdrB":"")+(i==7?" calBdrR":"")+"'>","<div class='calText calDayHdr_nohover"+othCls+"' hoverType='class' onclick='CalendarModule._2(\"d\","+s.nodeId+","+yy+","+mm+","+dd+");return false;' title='Select day'>","<span class='"+(isToday?" calIsToday":"")+"'>",dd,"</span>","</div>","<div class='calDayEvts' onclick='CalendarModule.addItems(",s.nodeId,",-1,{start:[",yy,",",mm,",",dd,"]});'",(U.un?" title='Add Event for "+d.toDateTimeString("uDNY")+"'":""),">");if(multiDayEvents.length>0){multiDayEvents.sortByProperty("end");var nextDay=new Date(yy,mm,dd+1);for(var k=multiDayEvents.length-1;k>=0;k--){calItem=multiDayEvents[k];ciEndDt=sch.getValue("end",calItem);title=sch.getValue("title",calItem);t._7(w,calItem,title,"",true);if(ciEndDt<nextDay){multiDayEvents.removeAt(k)}}}while(cItemsIndex<cItemsCount){calItem=cItems[cItemsIndex];var ciStDt=sch.getValue("start",calItem);if(ciStDt>=d){var ciStDay=ciStDt.getDate();var ciStMth=ciStDt.getMonth();var ciStYr=ciStDt.getFullYear();if(dd==ciStDay&&mm==ciStMth&&yy==ciStYr){var isAllDay=sch.getValue("isAllDay",calItem);var time=(isAllDay?"":ciStDt.toCompactTimeString());title=sch.getValue("title",calItem);t._7(w,calItem,title,time,isAllDay);if(isAllDay){ciEndDt=sch.getValue("end",calItem);if(ciEndDt&&ciEndDt.getDate()>ciStDay){multiDayEvents.push(calItem)}}}else{break}}cItemsIndex++}w("</div>","</td>");d.setDate(d.getDate()+1)}w("</tr>")}w("</table>","</div>")},_15:function(a,b){var sch=CalendarSchema;var da=sch.getValue("start",a);var db=sch.getValue("start",b);return da-db},_7:function(w,calItem,title,time,isAllDay){w("<div class='calText"+(isAllDay?" calIsAllDay":"")+"' style='overflow:hidden;' title='' tip='item:"+calItem.nodeId+"'");ContentItem.renderAttributes(w,calItem,null,false,"DIV");w(">","<span style='white-space:nowrap;padding-left:3px;'>","<span>");title="<span class='calTime'>"+time+(time?"&nbsp;":"")+"</span>"+title;Html.renderTag(w,"a",{href:"#",onclick:"CalendarModule._10(event,"+calItem.nodeId+");return false;"},{},title);w("</span>","</span>","</div>")},_10:function(evt,nodeId){Event.stopPropagation(evt);PageNode.open(nodeId)}};if(window.Module)Module.add(CalendarModule);