e2cs_pack_wev8.js 151 KB

Ext.namespace('e2cs.dateParts');e2cs.dateParts={YEAR:0,MONTH:1,DAY:2,HOUR:3,MINUTE:4,SECOND:5,MILLISECOND:6,QUARTER:7,WEEK:8,WEEKDAY:9};Ext.ECalendar=Ext.extend(Ext.Panel,{id:'e-calendar',title:'Calendar',mytitle:'',html:null,showCal_tbar:true,showRefreshbtn:true,refreshAction:'view',currentView:'month',currentdate:new Date(),dateSelector:false,dateSelectorIcon:'',dateformat:'d-m-Y',fieldsRefer:{id:'',subject:'',description:'',color:'',startdate:'',enddate:'',priority:'',parent:''},storeOrderby:'',storeOrder:'ASC',widgetsBind:{bindMonth:null,bindDay:null,binWeek:null},tplTaskTip:new Ext.XTemplate('<tpl for=".">{starxl}{startval}<br>{endxl}{endval}<hr>{details}</tpl>'),tplTaskZoom:new Ext.XTemplate('<tpl for=".">','<div class="ecal-show-basetasktpl-div">Tarea:{subject}<br>','Inicia:{startdate}<br>Termina:{enddate}<br>Descripcion:<br>{description}<div><hr>','</tpl>'),monitorBrowserresize:false,iconToday:'',mview:null,iconMonthView:'',wview:null,iconWeekView:'',dview:null,iconDayView:'',sview:null,iconSchedView:'',store:null,viewmonth:null,viewday:null,viewweek:null,viewscheduler:null,viewready:false,loadMask:true,customMaskText:'',calendarMask:null,initComponent:function(){this.addEvents('beforeRefresh','onRefresh','beforeChangeView','onChangeView','beforeChangeDate','afterChangeDate','customMenuAction','taskAdd','taskDblClick','beforeTaskMove','TaskMoved','beforeTaskDelete','onTaskDelete','afterTaskDelete','beforeTaskEdit','onTaskEdit','afterTaskEdit');if(this.html!=null){this.html=null;}toolspanel=[];this.btnrefresh={id:'refresh',tooltip:'Actualizar contenido'};if(this.showRefreshbtn){toolspanel.push(this.btnrefresh);}this.btn_today={id:this.id+'-btn_settoday',cls:'x-btn-text-icon',text:e2cs.cal_locale.todayLabel,icon:this.iconToday,tooltip:e2cs.cal_locale.todayToolTip};this.btn_monthviewchange={id:this.id+'-btn_monthview',cls:'x-btn-icon',text:'',icon:this.iconMonthView,tooltip:e2cs.cal_locale.tooltipMonthView};this.btn_weekviewchange={id:this.id+'-btn_weekview',cls:'x-btn-icon',text:'',icon:this.iconWeekView,tooltip:e2cs.cal_locale.tooltipWeekView};this.btn_dayviewchange={id:this.id+'-btn_dayview',cls:'x-btn-icon',text:'',icon:this.iconDayView,tooltip:e2cs.cal_locale.tooltipDayView};this.btn_schedviewchange={id:this.id+'-btn_sched_view',cls:'x-btn-icon',text:'',icon:this.iconSchedView,tooltip:e2cs.cal_locale.tooltipSchedView};if(this.showCal_tbar){this.tbar_calendar=new Ext.Toolbar({id:this.id+'-cmscalendartoolbar',autoWidth:true,autoHeight:false,items:[this.btn_today,'-',this.btn_monthviewchange,this.btn_weekviewchange,this.btn_dayviewchange,this.btn_schedviewchange,'-']});}else{this.tbar_calendar=null;}this.selector_dateMenu=new Ext.menu.DateMenu({defaultAlign:'tr-br',subMenuAlign:''});if(this.width){var_autoWidth=false;}else{var_autoWidth=true;}if(this.height){var_autoHeight=false;}else{var_autoHeight=true;}Ext.apply(this,{header:this.header,headerAsText:true,title:this.title+this.mytitle,border:true,width:this.width,height:this.height,monitorResize:true,autoShow:true,autoWidth:var_autoWidth,autoHeight:var_autoHeight,autoScroll:false,html:this.html,tools:toolspanel,tbar:this.tbar_calendar,loadMask:this.loadMask});Ext.ECalendar.superclass.initComponent.call(this);if(this.mview){this.viewmonth=this.getViewMonth();this.viewmonth.init(this,this.currentdate);}if(this.dview){this.viewday=this.getViewDay();this.viewday.init(this,this.currentdate);}if(this.wview){this.viewweek=this.getViewWeek();this.viewweek.init(this,this.currentdate);}if(this.sview){this.viewscheduler=this.getViewShedule();this.viewscheduler.init(this,this.currentdate);}},onResize:function(){Ext.ECalendar.superclass.onResize.apply(this,arguments);this.doLayout();if(this.viewready){if(this.currentView=='month'){this.viewmonth.render();}if(this.currentView=='week'){this.viewweek.render();}if(this.currentView=='day'){this.viewday.render();}if(this.currentView=='schedule'){this.viewscheduler.render();}}},onRender:function(){Ext.ECalendar.superclass.onRender.apply(this,arguments);},afterRender:function(){Ext.ECalendar.superclass.afterRender.call(this);if(this.loadMask){if(this.store==null&&this.store==undefined){}else{if(this.customMaskText==''){var TexttoshowonProgress=e2cs.cal_locale.loadmaskText;}else{var TexttoshowonProgress=this.customMaskText;}this.calendarMask=new Ext.LoadMask(Ext.get(this.id),{msg:TexttoshowonProgress});}}if(this.storeOrderby==''){}else{this.store.sort(this.storeOrderby,this.storeOrder);}if(this.showCal_tbar){var btntoday=this.topToolbar.items.items[0];btntoday.setHandler(this.setCurrentDate,this);var btnmonth=this.topToolbar.items.items[2];var btnweek=this.topToolbar.items.items[3];var btnday=this.topToolbar.items.items[4];var btnsched=this.topToolbar.items.items[5];if(!this.mview){btnmonth.setVisible(false);}else{btnmonth.setVisible(true);}if(!this.dview){btnday.setVisible(false);}else{btnday.setVisible(true);}if(!this.wview){btnweek.setVisible(false);}else{btnweek.setVisible(true);}if(!this.sview){btnsched.setVisible(false);}else{btnsched.setVisible(true);}btnmonth.addListener('click',function(){this.changeView('month');},this);btnday.addListener('click',function(){this.changeView('day');},this);btnweek.addListener('click',function(){this.changeView('week');},this);btnsched.addListener('click',function(){this.changeView('schedule');},this);}if(this.header&&this.tools.refresh){if(this.refreshAction=='view'){this.tools.refresh.addListener('click',this.refreshCalendarView,this);}else{this.tools.refresh.addListener('click',function(){this.store.reload();},this);}}if(this.dateSelector&&this.showCal_tbar){this.selector_dateMenu.picker.todayText=e2cs.cal_locale.todayLabel;this.selector_dateMenu.picker.todayTip=e2cs.cal_locale.todayToolTip;this.selector_dateMenu.picker.monthNames=e2cs.cal_locale.monthtitles;this.selector_dateMenu.picker.dayNames=e2cs.cal_locale.daytitles;this.selector_dateMenu.addListener('select',this.selectdatefromSelector,this);this.btn_selector={id:this.id+'-btn_dateselector',cls:'x-btn-text-icon',text:e2cs.cal_locale.dateSelectorText,icon:this.dateSelectorIcon,tooltip:e2cs.cal_locale.dateSelectorTooltip,menu:this.selector_dateMenu};this.tbar_calendar.addButton(this.btn_selector);}if(this.ownerCt==undefined){if(this.currentView=='month'){this.viewmonth.render();}if(this.currentView=='week'){this.viewweek.render();}if(this.currentView=='day'){this.viewday.render();}if(this.currentView=='schedule'){this.viewscheduler.render();}}else{if(this.currentView=='month'){this.viewmonth.render();}if(this.currentView=='week'){this.viewweek.render();}if(this.currentView=='day'){this.viewday.render();}if(this.currentView=='schedule'){this.viewscheduler.render();}}this.doLayout();this.viewready=true;tmpobj=this;if(this.monitorBrowserResize){Ext.EventManager.onWindowResize(function(){tmpobj.refreshCalendarView();});}},refreshCalendarView:function(btn){if(this.rendered){if(this.storeOrderby==''){}else{this.store.sort(this.storeOrderby,this.storeOrder);}if(this.currentView=='month'){this.viewmonth.render();}if(this.currentView=='week'){this.viewweek.render();}if(this.currentView=='day'){this.viewday.render();}if(this.currentView=='schedule'){this.viewscheduler.render();}this.doLayout();this.fireEvent("onRefresh",this);}},setNewDate:function(newdate){if(this.fireEvent("beforeChangeDate",newdate,this)==false){return false;}if(this.storeOrderby==''){}else{this.store.sort(this.storeOrderby,this.storeOrder);}this.currentdate=new Date(newdate);this.selector_dateMenu.picker.setValue(this.currentdate);if(this.currentView=='month'){this.viewmonth.render();}if(this.currentView=='week'){this.viewweek.render();}if(this.currentView=='day'){this.viewday.render();}if(this.currentView=='schedule'){this.viewscheduler.render();}this.doLayout();this.fireEvent("afterChangeDate",this.currentdate,this);},setCurrentDate:function(){this.setNewDate(Date());},changeView:function(datastr,opdate){newView=datastr;oldView=this.currentView;if(this.fireEvent("beforeChangeView",newView,this.currentView,this)==false){return false;}if(datastr=='month'){if(this.viewmonth==null||this.viewmonth==undefined){return false;}else{this.currentView='month';this.viewmonth.render();}}else if(datastr=='week'){if(this.viewweek==null||this.viewweek==undefined){return false;}else{this.currentView='week';this.viewweek.render();}}else if(datastr=='day'){if(this.viewday==null||this.viewday==undefined){return false;}else{this.currentView='day';this.viewday.render();}}else if(datastr=='schedule'){if(this.viewscheduler==null||this.viewscheduler==undefined){return false;}else{this.currentView='schedule';this.viewscheduler.render();}}else{return false;}this.fireEvent("onChangeView",newView,oldView,this);},selectdatefromSelector:function(dp,dateval){this.setNewDate(dateval);},getCurrentDate:function(){return this.currentdate;},getViewMonth:function(){if(!this.viewmonth){this.viewmonth=new Ext.ECalendar.monthview(this.mview);}return this.viewmonth;},getViewDay:function(){if(!this.viewday){this.viewday=new Ext.ECalendar.dayview(this.dview);}return this.viewday;},getViewWeek:function(){if(!this.viewweek){this.viewweek=new Ext.ECalendar.weekview(this.wview);}return this.viewweek;},getViewShedule:function(){if(!this.viewscheduler){this.viewscheduler=new Ext.ECalendar.scheduleview(this.sview);}return this.viewscheduler;},getCalendarMonth:function(){return(this.currentdate.getMonth()+1);},getCalendarYear:function(){return(this.currentdate.getFullYear());},getCalendarDay:function(){return(this.currentdate.getUTCDate());},getCalendayWeekDay:function(dataformat){if(dataformat=='str'){return Date.dayNames[this.currentdate.getDay()];}else{return(this.currentdate.getDay());}},getDateRangeOfWeek:function(weekNo){var d1=new Date();numOfdaysPastSinceLastMonday=eval(d1.getDay()-1);d1.setDate(d1.getDate()-numOfdaysPastSinceLastMonday);var weekNoToday=d1.getWeekOfYear();var weeksInTheFuture=eval(weekNo-weekNoToday);d1.setDate(d1.getDate()+eval(7*weeksInTheFuture));var rangeIsFrom=new Date((d1.getMonth()+1)+"/"+d1.getDate()+"/"+d1.getFullYear());d1.setDate(d1.getDate()+6);var rangeIsTo=new Date((d1.getMonth()+1)+"/"+d1.getDate()+"/"+d1.getFullYear());return[rangeIsFrom,rangeIsTo];},dateDiff:function(date1,date2,interv){if(typeof date1=='number'){date1=new Date(date1);}if(typeof date2=='number'){date2=new Date(date2);}if(date1.format('m/d/Y H:i:s')==date2.format('m/d/Y H:i:s')){return 0;}var yeaDiff=date2.getFullYear()-date1.getFullYear();var monDiff=(date2.getMonth()-date1.getMonth())+(yeaDiff*12);var msDiff=date2.getTime()-date1.getTime();var secDiff=msDiff/1000;var minDiff=secDiff/60;var houDiff=minDiff/60;var dayDiff=houDiff/24;var weeDiff=dayDiff/7;var delta=0;with(e2cs.dateParts){switch(interv){case YEAR:delta=yeaDiff;break;case QUARTER:var m1=date1.getMonth();var m2=date2.getMonth();var q1=Math.floor(m1/3)+1;var q2=Math.floor(m2/3)+1;q2+=(yeaDiff*4);delta=q2-q1;break;case MONTH:delta=monDiff;break;case WEEK:delta=parseInt(weeDiff);break;case DAY:delta=dayDiff;break;case WEEKDAY:var days=Math.round(dayDiff);var weeks=parseInt(days/7);var mod=days%7;if(mod==0){days=weeks*5;}else{var adj=0;var aDay=date1.getDay();var bDay=date2.getDay();weeks=parseInt(days/7);mod=days%7;var dtMark=new Date(date1);dtMark.setDate(dtMark.getDate()+(weeks*7));var dayMark=dtMark.getDay();if(dayDiff>0){switch(true){case aDay==6:adj=-1;break;case aDay==0:adj=0;break;case bDay==6:adj=-1;break;case bDay==0:adj=-2;break;case(dayMark+mod)>5:adj=-2;break;default:break;}}else if(dayDiff<0){switch(true){case aDay==6:adj=0;break;case aDay==0:adj=1;break;case bDay==6:adj=2;break;case bDay==0:adj=1;break;case(dayMark+mod)<0:adj=2;break;default:break;}}days+=adj;days-=(weeks*2);}delta=days;break;case HOUR:delta=houDiff;break;case MINUTE:delta=minDiff;break;case SECOND:delta=secDiff;break;case MILLISECOND:delta=msDiff;break;default:break;}}return Math.round(delta);}});Ext.reg('e2cs_calendar',Ext.ECalendar);

Ext.ECalendar.monthview=function(config){Ext.apply(this,config);this.addEvents('dayClick','beforeMonthChange','afterMonthChange');Ext.ECalendar.monthview.superclass.constructor.call(this);};Ext.extend(Ext.ECalendar.monthview,Ext.util.Observable,{referid:'monthview',header:true,headerFormat:'M-Y',headerButtons:true,moreMenuItems:[],useFit:false,dayAction:'viewday',showTaskcount:true,showTaskList:false,showNumTasks:5,task_format:'d-m-Y H:i:s a',TaskList_moreMenuItems:[],TaskList_tplqTip:new Ext.XTemplate('<tpl for=".">{starxl}{startval}<br>{endxl}{endval}<hr color=\'#003366\' noshade>{details}</tpl>'),TaskList_launchEventOn:'click',contextMenuLabels:e2cs.cal_locale.contextMenuLabelsDay,ShowMenuItems:[1,1,1,1,1,1],TaskList_ShowMenuItems:[1,1,1],taskStyle:'margin-top: 10px;',startDay:0,thisview:null,init:function(calendar,dateval){;this.calx=calendar;this.datetohandle=dateval;},render:function(){var myMask=new Ext.LoadMask(this.calx.id,{removeMask:true,msg:e2cs.cal_locale.loadmaskText});myMask.show();this.showTaskcount==true?this.showTaskList=false:this.showTaskList=this.showTaskList;var dt=new Date(this.calx.currentdate);Date.monthNames=e2cs.cal_locale.monthtitles;Date.dayNames=e2cs.cal_locale.daytitles;if(this.header){var tmpheader=this.genHeader(this.datetohandle);}var updateview=Ext.get(this.calx.body);var testrender=updateview.dom.childNodes.length;if(testrender){for(var i=testrender;i<testrender;i++){updateview.dom.removeChild(updateview.dom.childNodes[0]);}}updateview.update('');var monthbase='<div id="'+this.calx.id+'-main-calendar-header"></div>';monthbase+='<div id="'+this.calx.id+'-main-calendar-month-body"></div>';updateview.update(monthbase);if(this.header){var tmpheader=Ext.get(this.calx.id+'-main-calendar-header');var prueba2=tmpheader;var myheaderwrap=prueba2.wrap({tag:'div',cls:'x-calendar-month-header',html:''});if(this.headerButtons){var prevclick=myheaderwrap.createChild({id:this.calx.id+'-btn-pm',tag:'div',cls:'x-calendar-month-previous',html:''});var nextclick=myheaderwrap.createChild({id:this.calx.id+'-btn-nm',tag:'div',cls:'x-calendar-month-next',html:''});prevclick.dom['qtip']=e2cs.cal_locale.headerTooltipsMonth.prev;prevclick.addListener('click',this.onclickprev_month,this);prevclick.addClassOnOver('x-calendar-month-previous-over');nextclick.dom['qtip']=e2cs.cal_locale.headerTooltipsMonth.next;nextclick.addListener('click',this.onclicknext_month,this);nextclick.addClassOnOver('x-calendar-month-next-over');}var headerx=myheaderwrap.createChild({tag:'div',id:'header',html:''+dt.format(this.headerFormat)+''});}var tmpdays=Ext.get(this.calx.id+'-main-calendar-month-body');var day_hdrtext=this.genDaysHeader();var days_text=this.genBody(dt,{styletasks:this.taskStyle});var myheaderdayswrap=tmpdays.wrap({tag:'div',cls:'x-calendar-month-days',html:''});var mydays=myheaderdayswrap.createChild({tag:'div',id:this.calx.id+'-calendar-view-month',cls:'header-days',html:' <table id="'+this.calx.id+'-month_skel" width="100%" border="0" cellspacing="0" cellpadding="0"><tr class="skel_hdrdays" id="'+this.calx.id+'-skel_hdrdays">'+day_hdrtext+'</tr>'+days_text+'</table>'});Ext.get(this.calx.id+'-skel_hdrdays').setHeight(17);if(Ext.isIE){var numrowsbodyskel=mydays.dom.childNodes[0].childNodes[0].rows.length-1;}else{var numrowsbodyskel=mydays.dom.childNodes[1].childNodes[0].rows.length-1;}if(this.calx.ownerCt!=undefined){if(this.calx.ownerCt.ctype&&this.calx.ownerCt.ctype=="Ext.Component"){this.calx.height=this.calx.ownerCt.getInnerHeight();}}if(!this.calx.height||this.calx.height=='undefined'){var tmpheight=this.calx.getEl().dom.offsetParent.clientHeight;if(this.header){tmpheight+=-27;}if(this.calx.showCal_tbar){tmpheight+=-27;}if(this.calx.header){tmpheight+=-22;}tmpheight+=-16;var morehoffst=0;Ext.get(this.calx.id+'-month_skel').setStyle({height:''+tmpheight-morehoffst+'px'});valtosethtmp=Math.round((tmpheight)/numrowsbodyskel);valtosethtmp+=-3;}else{var tmpheight=0;if(this.header){tmpheight+=-27;}if(this.calx.showCal_tbar){tmpheight+=-27;}if(this.calx.header){tmpheight+=-22;}tmpheight+=-16;tmpheight+=this.calx.height;if(this.calx.showCal_tbar){var morehoffst=77;}else{var morehoffst=24;}valtosethtmp=Math.round((tmpheight)/numrowsbodyskel);valtosethtmp+=-3;}Ext.get(this.calx.id+'-month_skel').setHeight(tmpheight);newsize=tmpheight;valtosethtmp=Math.round(newsize/numrowsbodyskel);var mydays=Ext.select('td.daybody',true);mydays.each(function(el,thisobj,index){if(el.id.indexOf('m-td-'+this.calx.id+'-')>=0){el.setStyle({height:''+valtosethtmp+'px'});el.addClassOnOver('daybody-over');if(Ext.isOpera){el.addListener('mousedown',this.operabuttons,this);}else{el.addListener('click',this.onhandler_day,this);el.addListener('contextmenu',this.oncontextmenu,this,{stopPropagation:true,normalized:true,preventDefault:true});}}},this);if(this.showTaskcount==false&&this.showTaskList==true){var mydivlists=Ext.select('div.tasks_list',true);mydivlists.each(function(el,thisobj,index){if((el.id.indexOf(this.calx.id)+1)>0){element_id=el.id;testtdobjref=element_id.replace(this.calx.id+"-tasklist-",'');objtd=Ext.get('m-td-'+this.calx.id+'-'+testtdobjref);objtdtd={top:objtd.getTop(),heigth:objtd.getHeight()};tmprefdata=0;tmprefdata=Ext.get(element_id).getTop()-objtdtd.top;tmprefdata=tmprefdata+4;var newHxx=0;newHxx=objtdtd.heigth-tmprefdata;Ext.get(element_id).setHeight(newHxx);}},this);var mylist_items=Ext.select('div.tasks_list_item',true);mylist_items.each(function(el,thisobj,index){if((el.id.indexOf(this.calx.id)+1)>0){test=11;el.addClassOnOver('task_list_item_over');if(this.TaskList_launchEventOn!=''){el.addListener(this.TaskList_launchEventOn,this.onDblClick_tasklistitem,this);}if(Ext.isOpera){el.addListener('mousedown',this.operataskitembuttons,this);}else{el.addListener('contextmenu',this.oncontextmenuTaskitem,this,{stopPropagation:true,normalized:true,preventDefault:true});}}},this);}myMask.hide();},ZoomDay:function(DateToZoom){var dtx=new Date(DateToZoom);var counttasks=this.calx.store.getCount();if(counttasks>0){var count_in_day=0;taskstmp=[];for(var itask=0;itask<counttasks;itask++){var testrec=this.calx.store.getAt(itask).data;dateinit=this.calx.store.getAt(itask).data[this.calx.fieldsRefer.startdate];dateend=this.calx.store.getAt(itask).data[this.calx.fieldsRefer.enddate];checkdates=dtx.between(new Date(dateinit),new Date(dateend));chkformat=dtx.format('m/d/Y');test=new Date(dateinit);if(test.format('m/d/Y')==chkformat){checkdates=true;}test=new Date(dateend);if(test.format('m/d/Y')==chkformat){checkdates=true;}if(checkdates){taskstmp[count_in_day]=testrec;count_in_day+=1;}}if(count_in_day<=0){return false;}}else{return false;}showdata=[];for(var i=0;i<taskstmp.length;i++){showdata[i]=[taskstmp[i][this.calx.fieldsRefer.id],taskstmp[i][this.calx.fieldsRefer.subject],taskstmp[i][this.calx.fieldsRefer.description],taskstmp[i][this.calx.fieldsRefer.startdate],taskstmp[i][this.calx.fieldsRefer.enddate],taskstmp[i][this.calx.fieldsRefer.color],];}var reader=new Ext.data.ArrayReader({},[{name:this.calx.fieldsRefer.id,type:'int'},{name:this.calx.fieldsRefer.subject,type:'string'},{name:this.calx.fieldsRefer.description,type:'string'},{name:this.calx.fieldsRefer.startdate,type:'string'},{name:this.calx.fieldsRefer.enddate,type:'string'},{name:this.calx.fieldsRefer.color,type:'string'}]);tmpstore=new Ext.data.Store({reader:reader,data:showdata});tmppanel=new Ext.Panel({id:'ecal-more-task-panel',header:false,autoDestroy:true,autoScroll:true,monitorResize:true,border:false,autoWidth:false,autoHeight:false,items:new Ext.DataView({loadingText:e2cs.cal_locale.win_tasks_loading,store:tmpstore,tpl:this.calx.tplTaskZoom,autoWidth:true,autoHeight:true,overClass:'',itemSelector:'',emptyText:e2cs.cal_locale.win_tasks_empty})});var ecalwinshowmore=new Ext.Window({id:'ecal-win-moretasks',name:'ecal-win-moretasks',title:e2cs.cal_locale.win_month_zoomlabel+' '+dtx.format(e2cs.cal_locale.win_tasks_format),width:450,height:300,closeAction:'close',resizable:true,resizeHandles:'all',hideBorders:true,maximizable:true,plain:true,modal:true,layout:'fit',iconCls:'x-calendar-more-tasks-win',items:[tmppanel]});ecalwinshowmore.show();return true;},operabuttons:function(evx,elx,obx){if(Ext.isOpera){if(evx.button==0){this.onhandler_day(evx,elx,obx);}if(evx.button==2){this.oncontextmenu(evx,elx,obx);}}},oncontextmenu:function(evx,elx,obx){if(Ext.isOpera){if(evx.button!=2){return false;}}if(elx.className=="tasks_list_item"||elx.className=="tasks_list_item task_list_item_over"||elx.className.indexOf("task_list_item_over")>0){return false;}if(this.ShowMenuItems[0]!=true&&this.ShowMenuItems[1]!=true&&this.ShowMenuItems[2]!=true&&this.ShowMenuItems[3]!=true&&this.ShowMenuItems[4]!=true&&this.ShowMenuItems[5]!=true&&this.moreMenuItems.length<=0){return false;}evx.stopEvent();if(elx.className=='noday'||elx.className=='today'||elx.className=='monthday'){var refdate=new Date(elx.id.substring(this.calx.id.length+1));}else if(elx.className=='tasks'){var refdate=new Date(elx.parentNode.firstChild.id.substring(this.calx.id.length+1));}else if(elx.id.indexOf('-tasklist-')>0){tmpdata=elx.id.replace(this.calx.id+"-tasklist-",'');var refdate=new Date(tmpdata+"");}else{var refdate=new Date(elx.firstChild.id.substring(this.calx.id.length+1));}if(this.menu){this.menu.removeAll();}this.menu=new Ext.menu.Menu({id:this.calx.id+'-contextmenu-month',shadow:true,items:[{id:this.calx.id+'-month_ctxbtn_task',iconCls:'x-calendar-month-btnmv_task',text:e2cs.cal_locale.contextMenuLabelsMonth.task+' ('+refdate.format(this.calx.dateformat)+')',scope:this},'-',{id:this.calx.id+'-month_ctxbtn_nextmonth',iconCls:'x-calendar-month-btnmv_nextmth',text:e2cs.cal_locale.contextMenuLabelsMonth.gonextmonth,scope:this},{id:this.calx.id+'-month_ctxbtn_prevmonth',iconCls:'x-calendar-month-btnmv_prevmth',text:e2cs.cal_locale.contextMenuLabelsMonth.goprevmonth,scope:this},'-',{id:this.calx.id+'-month_ctxbtn_viewweek',iconCls:'x-calendar-month-btnmv_viewweek',text:e2cs.cal_locale.contextMenuLabelsMonth.chgwview,scope:this},{id:this.calx.id+'-month_ctxbtn_viewday',iconCls:'x-calendar-month-btnmv_viewday',text:e2cs.cal_locale.contextMenuLabelsMonth.chgdview,scope:this},{id:this.calx.id+'-month_ctxbtn_viewsched',iconCls:'x-calendar-month-btnmv_viewsched',text:e2cs.cal_locale.contextMenuLabelsMonth.chgsview,scope:this}]});if(this.moreMenuItems.length>0){this.menu.add('-');for(var i=0;i<this.moreMenuItems.length;i++){var idmenuitem=this.moreMenuItems[i].id;this.moreMenuItems[i].rendered=false;this.moreMenuItems[i].addListener('click',function(parx){this.onCustomMenuAction(parx.id,Ext.get(elx),this);},this);this.menu.add(this.moreMenuItems[i]);}}this.menu.items.items[0].addListener('click',function(){this.onTaskAdd(Ext.get(elx),this);},this);this.menu.items.items[2].addListener('click',function(){this.onclicknext_month();},this);this.menu.items.items[3].addListener('click',function(){this.onclickprev_month();},this);this.menu.items.items[5].addListener('click',function(){this.changeCalview(Ext.get(elx),this,1);},this);this.menu.items.items[6].addListener('click',function(){this.changeCalview(Ext.get(elx),this,2);},this);this.menu.items.items[7].addListener('click',function(){this.changeCalview(Ext.get(elx),this,3);},this);if(this.ShowMenuItems[0]!=true){this.menu.items.items[0].hidden=true;this.menu.items.items[1].hidden=true;}if(this.ShowMenuItems[1]!=true){this.menu.items.items[2].hidden=true;}if(this.ShowMenuItems[2]!=true){this.menu.items.items[3].hidden=true;}if(this.ShowMenuItems[1]!=true&&this.ShowMenuItems[2]!=true){this.menu.items.items[4].hidden=true;}if(this.ShowMenuItems[3]!=true){this.menu.items.items[5].hidden=true;}if(this.ShowMenuItems[4]!=true){this.menu.items.items[6].hidden=true;}if(this.ShowMenuItems[5]!=true){this.menu.items.items[7].hidden=true;}if(this.ShowMenuItems[3]==false&&this.ShowMenuItems[4]==false&&this.ShowMenuItems[5]==false){if(this.moreMenuItems.length>0){this.menu.items.items[8].hidden=true;}}if(!this.calx.dview){this.menu.items.items[6].hidden=true;}if(!this.calx.wview){this.menu.items.items[5].hidden=true;}if(!this.calx.sview){this.menu.items.items[7].hidden=true;}if(this.menu.items.items[5].hidden&&this.menu.items.items[6].hidden&&this.menu.items.items[7].hidden){if(this.moreMenuItems.length>0){this.menu.items.items[8].hidden=true;}}this.menu.on('hide',this.onContextHide,this);this.menu.showAt([evx.getPageX(),evx.getPageY()]);},onCustomMenuAction:function(MenuId,MonthEl,TaskObj){var datatask=[];var tmpobj=Ext.get(MonthEl);if(MonthEl.dom.className=='noday'||MonthEl.dom.className=='today'||MonthEl.dom.className=='monthday'){datatask[0]=Ext.get(MonthEl).dom.id.substring(this.calx.id.length+1);datatask[1]=Ext.get(MonthEl).getAttributeNS('tag','class');}else if(MonthEl.dom.className=='tasks'){datatask[0]=Ext.get(MonthEl).dom.parentNode.firstChild.id.substring(this.calx.id.length+1);datatask[1]=Ext.get(MonthEl.dom.parentNode.firstChild).getAttributeNS('tag','class');}else{datatask[0]=Ext.get(MonthEl).dom.firstChild.id.substring(this.calx.id.length+1);datatask[1]=Ext.get(MonthEl.dom.firstChild).getAttributeNS('tag','class');}this.calx.fireEvent("customMenuAction",MenuId,'month',datatask,MonthEl,this);},changeCalview:function(objx,mviewx,typeview){if(objx.dom.className=='noday'||objx.dom.className=='today'||objx.dom.className=='monthday'){var refdate=new Date(objx.id.substring(this.calx.id.length+1));}else if(objx.dom.className=='tasks'){var refdate=new Date(objx.dom.parentNode.firstChild.id.substring(this.calx.id.length+1));}else{var refdate=new Date(objx.dom.firstChild.id.substring(this.calx.id.length+1));}if(typeview==1){varview='week';}else if(typeview==2){varview='day';}else{varview='schedule';}this.calx.changeView(varview);},onTaskAdd:function(objx,mviewx){if(objx.dom.className=='noday'||objx.dom.className=='today'||objx.dom.className=='monthday'){var refdate=new Date(objx.id.substring(this.calx.id.length+1));}else if(objx.dom.className=='tasks'){var refdate=new Date(objx.dom.parentNode.firstChild.id.substring(this.calx.id.length+1));}else if(objx.dom.className=="tasks_list_item"||objx.dom.className=="tasks_list_item task_list_item_over"||objx.dom.className.indexOf("task_list_item_over")>0){tmpdata=objx.id.replace(this.calx.id+"-tasklist-",'');refdate=new Date(tmpdata+"");}else if(objx.dom.className=="tasks_list"){tmpdata=objx.id.replace(this.calx.id+"-tasklist-",'');var refdate=new Date(tmpdata+"");}else if(objx.dom.className=="daybody"){tmpdata=objx.id.replace("m-td-"+this.calx.id+"-",'');refdate=new Date(tmpdata+"");}else{var refdate=new Date(objx.dom.firstChild.id.substring(this.calx.id.length+1));}this.calx.fireEvent("taskAdd",refdate);},onContextHide:function(){},operataskitembuttons:function(evx,elx,obx){if(Ext.isOpera){evx.stopEvent();var tmpdata=Ext.get(elx.id);var dateobjtoref=elx.id.replace(this.calx.id+"-tasklist-",'');if(this.taskitem_menu){this.taskitem_menu.removeAll();}this.taskitem_menu=new Ext.menu.Menu({shadow:true,items:[{id:'month_tskitem_btn_task-add',iconCls:'x-calendar-day-btnmv_add',text:this.contextMenuLabels.taskAdd,scope:this},{id:'month_tskitem_btn_task-delete',iconCls:'x-calendar-day-btnmv_delete',text:this.contextMenuLabels.taskDelete,scope:this},'-',{id:'month_tskitem_btn_task-edit',iconCls:'x-calendar-day-btnmv_task',text:this.contextMenuLabels.taskEdit+tmpdata.getAttributeNS('tag','ec_subject'),scope:this}]});if(this.TaskList_moreMenuItems.length>0){this.taskitem_menu.add('-');for(var i=0;i<this.TaskList_moreMenuItems.length;i++){this.TaskList_moreMenuItems[i].rendered=false;this.TaskList_moreMenuItems[i].addListener('click',function(parx,parz){this.onCustomMenuAction_TaskItem(parx.id,Ext.get(elx),this);},this);this.taskitem_menu.add(this.TaskList_moreMenuItems[i]);}}this.taskitem_menu.items.items[0].addListener('click',function(){this.onActionTask(1,Ext.get(elx),this);},this);this.taskitem_menu.items.items[1].addListener('click',function(){this.onActionTask(2,Ext.get(elx),this);},this);this.taskitem_menu.items.items[3].addListener('click',function(){this.onActionTask(3,Ext.get(elx),this);},this);if(this.TaskList_ShowMenuItems[0]!=true){this.taskitem_menu.items.items[0].hidden=true;}if(this.TaskList_ShowMenuItems[1]!=true){this.taskitem_menu.items.items[1].hidden=true;}if(this.TaskList_ShowMenuItems[0]!=true&&this.TaskList_ShowMenuItems[1]!=true){this.taskitem_menu.items.items[2].hidden=true;}if(this.TaskList_ShowMenuItems[2]!=true){this.taskitem_menu.items.items[3].hidden=true;}this.taskitem_menu.on('hide',this.onContextHide_Taskitem,this);this.taskitem_menu.showAt(evx.xy);}},onDblClick_tasklistitem:function(evx,elx,obx){test=elx.id.indexOf(this.calx.id+'-mtask-item-')+1;if(test){var datatask=this.getTaskarray(elx);this.calx.fireEvent("taskDblClick",datatask,this,this.calx,'month');}},oncontextmenuTaskitem:function(evx,elx,obx){if(Ext.isOpera){if(evx.button!=2){return false;}}evx.stopEvent();if(this.TaskList_ShowMenuItems[0]!=true&&this.TaskList_ShowMenuItems[1]!=true&&this.TaskList_ShowMenuItems[2]!=true&&this.TaskList_moreMenuItems.length<=0){return false;}var tmpdata=Ext.get(elx.id);var dateobjtoref=elx.id.replace(this.calx.id+"-tasklist-",'');if(this.taskitem_menu){this.taskitem_menu.removeAll();}this.taskitem_menu=new Ext.menu.Menu({shadow:true,items:[{id:'month_tskitem_btn_task-add',iconCls:'x-calendar-day-btnmv_add',text:this.contextMenuLabels.taskAdd,scope:this},{id:'month_tskitem_btn_task-delete',iconCls:'x-calendar-day-btnmv_delete',text:this.contextMenuLabels.taskDelete,scope:this},'-',{id:'month_tskitem_btn_task-edit',iconCls:'x-calendar-day-btnmv_task',text:this.contextMenuLabels.taskEdit+tmpdata.getAttributeNS('tag','ec_subject'),scope:this}]});if(this.TaskList_moreMenuItems.length>0){this.taskitem_menu.add('-');for(var i=0;i<this.TaskList_moreMenuItems.length;i++){this.TaskList_moreMenuItems[i].rendered=false;this.TaskList_moreMenuItems[i].addListener('click',function(parx,parz){this.onCustomMenuAction_TaskItem(parx.id,Ext.get(elx),this);},this);this.taskitem_menu.add(this.TaskList_moreMenuItems[i]);}}this.taskitem_menu.items.items[0].addListener('click',function(){this.onActionTask(1,Ext.get(elx),this);},this);this.taskitem_menu.items.items[1].addListener('click',function(){this.onActionTask(2,Ext.get(elx),this);},this);this.taskitem_menu.items.items[3].addListener('click',function(){this.onActionTask(3,Ext.get(elx),this);},this);if(this.TaskList_ShowMenuItems[0]!=true){this.taskitem_menu.items.items[0].hidden=true;}if(this.TaskList_ShowMenuItems[1]!=true){this.taskitem_menu.items.items[1].hidden=true;}if(this.TaskList_ShowMenuItems[0]!=true&&this.TaskList_ShowMenuItems[1]!=true){this.taskitem_menu.items.items[2].hidden=true;}if(this.TaskList_ShowMenuItems[2]!=true){this.taskitem_menu.items.items[3].hidden=true;if(this.TaskList_moreMenuItems.length>0){this.taskitem_menu.items.items[4].hidden=true;}}this.taskitem_menu.on('hide',this.onContextHide_Taskitem,this);this.taskitem_menu.showAt(evx.xy);},onActionTask:function(action,taskEl,TaskObj){var datatask=this.getTaskarray(taskEl);switch(action){case 1:if(taskEl.id.indexOf('-mtask-item-')>0){var dateobjtoref=taskEl.id.replace(this.calx.id+"-mtask-item-",'');}else if(taskEl.id.indexOf('-tasklist-')>0){var dateobjtoref=taskEl.id.replace(this.calx.id+"-tasklist-",'');}dateobjtoref=dateobjtoref.substr(0,10);var eventdate=new Date(dateobjtoref);this.calx.fireEvent("taskAdd",eventdate);break;case 2:var check=this.calx.fireEvent("beforeTaskDelete",datatask,this);if(check!=true){if(this.calx.fireEvent("onTaskDelete",datatask)==true){this.calx.fireEvent("afterTaskDelete",datatask,true);}else{this.calx.fireEvent("afterTaskDelete",null,false);}}break;case 3:var check=this.calx.fireEvent("beforeTaskEdit",datatask,this);if(check!=true){if(this.calx.fireEvent("onTaskEdit",datatask)==true){this.calx.fireEvent("afterTaskEdit",datatask,true);}else{this.calx.fireEvent("afterTaskEdit",null,false);}}break;default:break;}},onCustomMenuAction_TaskItem:function(MenuId,taskEl,TaskObj){var datatask=this.getTaskarray(taskEl);this.calx.fireEvent("customMenuAction",MenuId,'month',datatask,taskEl,this);},onContextHide_Taskitem:function(){},onhandler_day:function(evx,elx,obx){if(elx.className=="noday"||elx.className=="today"||elx.className=="monthday"){var dateparam=new Date(elx.id.substring(this.calx.id.length+1));}else if(elx.className=="tasks"){var dateparam=new Date(elx.parentNode.firstChild.id.substring(this.calx.id.length+1));}else if(elx.className=="tasks_list_item"||elx.className=="tasks_list"||elx.className=="tasks_list_item task_list_item_over"||elx.className.indexOf("task_list_item_over")>0){var tmp=11;}else{var dateparam=new Date(elx.firstChild.id.substring(this.calx.id.length+1));}if(elx.className=="tasks_list_item"||elx.className=="tasks_list"||elx.className=="tasks_list_item task_list_item_over"||elx.className.indexOf("task_list_item_over")>0){var tmp=11;}else{if(this.dayAction=="viewday"){if(this.calx.fireEvent("beforeChangeView",'day',this.calx.currentView,this.calx)==false){return false;}else{this.calx.currentdate=dateparam;this.calx.selector_dateMenu.picker.setValue(this.calx.currentdate);this.calx.currentView='day';this.calx.viewday.render();this.calx.fireEvent("onChangeView",'day','month',this);}}if(this.dayAction=="event"){this.fireEvent("dayClick",dateparam,this,this.calx);}if(this.dayAction=='window'){this.ZoomDay(dateparam);}}},onclickprev_month:function(){var changemonthdate=this.calx.currentdate.add(Date.MONTH,-1);var check=this.fireEvent("beforeMonthChange",this.calx.currentdate,changemonthdate);if(!check){this.calx.currentdate=changemonthdate;this.calx.selector_dateMenu.picker.setValue(this.calx.currentdate);this.render();this.fireEvent("afterMonthChange",changemonthdate);}},onclicknext_month:function(){var changemonthdate=this.calx.currentdate.add(Date.MONTH,1);var check=this.fireEvent("beforeMonthChange",this.calx.currentdate,changemonthdate);if(!check){this.calx.currentdate=changemonthdate;this.calx.selector_dateMenu.picker.setValue(this.calx.currentdate);this.render();this.fireEvent("afterMonthChange",changemonthdate);}},genHeader:function(dateval){var dt=new Date(dateval);Date.monthNames=e2cs.cal_locale.monthtitles;var myheader='<div class="x-calendar-month-header" style="width:'+(this.calx.width-10)+'px;">';myheader+='<div id="header">'+dt.format(this.headerFormat)+'</div>';if(this.headerButtons){myheader+='<div class="x-calendar-month-previous"></div>';myheader+='<div class="x-calendar-month-next"></div>';}myheader+="</div>";return myheader;},genDaysHeader:function(){var day_hdrtext="";for(var i=0;i<e2cs.cal_locale.daytitles.length;i++){var d=this.startDay+i;if(d>6){d=d-7;}day_hdrtext+='<td width="14%"><div class="dayheader">'+e2cs.cal_locale.daytitles[d]+'</div></td>';}return day_hdrtext;},genBody:function(dateval,configdata){var dt=new Date(dateval);var initday=dt.getFirstDayOfMonth()-this.startDay;var daysgen=dt.getDaysInMonth();var irowtmp=0;if(dt.getMonth()==1){if((dt.getFullYear()%4==0&&dt.getFullYear()%100!=0)||dt.getFullYear()%400==0){daysgen=29;}}var mybody='<tr>';if(initday<0){initday=7+(initday);}if(initday!=0){for(var iday=(initday);iday>0;iday--){writedt=new Date((dateval.getMonth()+1)+'/1/'+dateval.getFullYear()).add(Date.DAY,(iday*-1));mybody+='<td valign="top" id="m-td-'+this.calx.id+'-'+writedt.format('m/d/Y')+'" class="daybody">';mybody+='<div class="noday" id="'+this.calx.id+'-'+writedt.format('m/d/Y')+'">'+writedt.format('j-M')+'</div>';if(this.showTaskcount){tmptasks=this.getCountTask(writedt,this.calx.store);if(tmptasks>0){mybody+='<div class="tasks" style="'+configdata.styletasks+'">'+e2cs.cal_locale.labelforTasksinMonth+' ('+tmptasks+')</div>';}}else{if(this.showTaskList){var taskitems=this.getTaskList(writedt,this.calx.store);if(taskitems!=''){mybody+='<div class="tasks_list" id="'+this.calx.id+'-tasklist-'+writedt.format('m/d/Y')+'" style="height:5px;'+configdata.styletasks+'">';mybody+=taskitems;mybody+='</div>';}}}mybody+='</td>';}}icount=initday;irowtmp=1;startmonthdate=new Date(dt.format('m')+'/01/'+dt.format('Y'));for(var imonth=0;imonth<daysgen;imonth++){if(icount>=7){icount=0;mybody+='</tr><tr>';irowtmp+=1;}var datecreate=new Date(startmonthdate).add(Date.DAY,imonth);if(datecreate.format('m/d/Y')==dt.format('m/d/Y')){mybody+='<td valign="top" id="m-td-'+this.calx.id+'-'+datecreate.format('m/d/Y')+'" class="daybody" height="10px">';mybody+='<div class="today" id="'+this.calx.id+'-'+datecreate.format('m/d/Y')+'">'+datecreate.format('j')+'</div>';if(this.showTaskcount){tmptasks=this.getCountTask(datecreate,this.calx.store);if(tmptasks>0){mybody+='<div class="tasks" style="'+configdata.styletasks+'">'+e2cs.cal_locale.labelforTasksinMonth+' ('+tmptasks+')</div>';}}else{if(this.showTaskList){var taskitems=this.getTaskList(datecreate,this.calx.store);if(taskitems!=''){mybody+='<div class="tasks_list" id="'+this.calx.id+'-tasklist-'+datecreate.format('m/d/Y')+'" style="height:5px;'+configdata.styletasks+'">';mybody+=taskitems;mybody+='</div>';}}}mybody+='</td>';}else{mybody+='<td valign="top" id="m-td-'+this.calx.id+'-'+datecreate.format('m/d/Y')+'" class="daybody" height="10px">';mybody+='<div class="monthday" id="'+this.calx.id+'-'+datecreate.format('m/d/Y')+'">'+datecreate.format('j')+'</div>';if(this.showTaskcount){tmptasks=this.getCountTask(datecreate,this.calx.store);if(tmptasks>0){mybody+='<div class="tasks" style="'+configdata.styletasks+'">'+e2cs.cal_locale.labelforTasksinMonth+' ('+tmptasks+')</div>';}}else{if(this.showTaskList){var taskitems=this.getTaskList(datecreate,this.calx.store);if(taskitems!=''){mybody+='<div class="tasks_list" id="'+this.calx.id+'-tasklist-'+datecreate.format('m/d/Y')+'" style="height:5px;'+configdata.styletasks+'">';mybody+=taskitems;mybody+='</div>';}}}mybody+='</td>';}icount+=1;}if(icount<7){var datatmp=0;for(var iday=icount;iday<7;iday++){datatmp=datatmp+1;var datenew=new Date(datecreate).add(Date.DAY,datatmp);mybody+='<td valign="top"   id="m-td-'+this.calx.id+'-'+datenew.format('m/d/Y')+'" class="daybody" height="10px">';mybody+='<div class="noday" id="'+this.calx.id+'-'+datenew.format('m/d/Y')+'">'+datenew.format('j-M')+'</div>';if(this.showTaskcount){tmptasks=this.getCountTask(datenew,this.calx.store);if(tmptasks>0){mybody+='<div class="tasks" style="'+configdata.styletasks+'">'+e2cs.cal_locale.labelforTasksinMonth+' ('+tmptasks+')</div>';}}else{if(this.showTaskList){var taskitems=this.getTaskList(datenew,this.calx.store);if(taskitems!=''){mybody+='<div class="tasks_list" id="'+this.calx.id+'-tasklist-'+datenew.format('m/d/Y')+'" style="height:5px;'+configdata.styletasks+'">';mybody+=taskitems;mybody+='</div>';}}}mybody+='</td>';}}mybody+='</tr>';return mybody;},getCountTask:function(dtx,storex){var counttasks=storex.getCount();if(counttasks>0){var count_in_day=0;for(var itask=0;itask<counttasks;itask++){dateinit=storex.getAt(itask).data[this.calx.fieldsRefer.startdate];dateend=storex.getAt(itask).data[this.calx.fieldsRefer.enddate];checkdates=dtx.between(new Date(dateinit),new Date(dateend));chkformat=dtx.format('m/d/Y');test=new Date(dateinit);if(test.format('m/d/Y')==chkformat){checkdates=true;}test=new Date(dateend);if(test.format('m/d/Y')==chkformat){checkdates=true;}var initxx=new Date(dateinit);var endxx=new Date(dateend);if(initxx<dtx&&endxx>dtx){checkdates=true;}if(checkdates){count_in_day+=1;}}return count_in_day;}else{return 0;}},getTaskList:function(dtx,storex){var daystoreturn="";var counttasks=storex.getCount();if(counttasks>0){var count_in_day=0;for(var itask=0;itask<counttasks;itask++){dateinit=storex.getAt(itask).data[this.calx.fieldsRefer.startdate];dateend=storex.getAt(itask).data[this.calx.fieldsRefer.enddate];checkdates=dtx.between(new Date(dateinit),new Date(dateend));chkformat=dtx.format('m/d/Y');test=new Date(dateinit);if(test.format('m/d/Y')==chkformat){checkdates=true;}test=new Date(dateend);if(test.format('m/d/Y')==chkformat){checkdates=true;}var initxx=new Date(dateinit);var endxx=new Date(dateend);if(initxx<dtx&&endxx>dtx){checkdates=true;}if(checkdates){if(count_in_day<this.showNumTasks){var tmpdate=new Date(storex.getAt(itask).data[this.calx.fieldsRefer.startdate]);var startlabel=tmpdate.format(this.task_format);tmpdateb=new Date(storex.getAt(itask).data[this.calx.fieldsRefer.enddate]);var endlabel=tmpdateb.format(this.task_format);daystoreturn+='<div class="tasks_list_item"';daystoreturn+='style="background-color:'+storex.getAt(itask).data[this.calx.fieldsRefer.color]+'" ';daystoreturn+='id="'+this.calx.id+'-mtask-item-'+chkformat+'-'+storex.getAt(itask).data[this.calx.fieldsRefer.id]+'" ';daystoreturn+='ec_id="'+storex.getAt(itask).data[this.calx.fieldsRefer.id]+'" ';daystoreturn+='ec_starts="'+startlabel+'" ';daystoreturn+='ec_ends="'+endlabel+'" ';daystoreturn+='ec_subject="'+storex.getAt(itask).data[this.calx.fieldsRefer.subject]+'" ';daystoreturn+='ec_cnt="'+storex.getAt(itask).data[this.calx.fieldsRefer.description]+'" ';daystoreturn+='ec_storeindex="'+itask+'" ';daystoreturn+=' ext:qtitle="'+storex.getAt(itask).data[this.calx.fieldsRefer.subject]+'" ';var datatip={creator:storex.getAt(itask).data['creator'],starxl:e2cs.cal_locale.task_qtip_starts,startval:startlabel,endxl:e2cs.cal_locale.task_qtip_ends,endval:endlabel,details:storex.getAt(itask).data[this.calx.fieldsRefer.description],color:storex.getAt(itask).data[this.calx.fieldsRefer.color]};var mylist_itemTip=this.TaskList_tplqTip.apply(datatip);daystoreturn+='ext:qtip="'+mylist_itemTip+'">';daystoreturn+=storex.getAt(itask).data[this.calx.fieldsRefer.subject]+'</div>';count_in_day+=1;}}}return daystoreturn;}else{return 0;}},getTaskarray:function(TaskElx){var tmpdata=Ext.get(TaskElx);var datatask=[];datatask[0]=tmpdata.getAttributeNS('tag','id');datatask[1]=tmpdata.getAttributeNS('tag','ec_id');datatask[2]=tmpdata.getAttributeNS('tag','ec_subject');datatask[3]=tmpdata.getAttributeNS('tag','ec_starts');datatask[4]=tmpdata.getAttributeNS('tag','ec_ends');datatask[5]=tmpdata.getAttributeNS('tag','ec_cnt');datatask[6]=tmpdata.getAttributeNS('tag','ec_storeindex');return datatask;}});

Ext.ECalendar.weekview=function(config){Ext.apply(this,config);this.addEvents('dblClickTaskAllDay','beforeWeekChange','afterWeekChange','launchEventList');Ext.ECalendar.weekview.superclass.constructor.call(this);};Ext.extend(Ext.ECalendar.weekview,Ext.util.Observable,{referid:'weekview',header:true,headerButtons:true,headerFormat:'W',headerShowDates:true,dayformatLabel:'D j',moreMenuItems:[],hourFormat:'H',startTime:'7:00:00 am',endTime:'10:00:00 pm',style:'plain',alldayTaksMore:'window',alldayTaskTPL:new Ext.XTemplate('<tpl for="."><div class="ecal-show-basetasktpl-div">Event:{subject}<br>','Starts:{startdate}<br>Ends:{enddate}<br>Description:<br>{description}<div><hr></tpl>'),alldayTasksMaxView:3,alldayTasks:[],weekTasks:[],store:null,headerDayClick:'none',currentweek:1,task_format:'d-m-Y H:i:s a',task_bgcolor_base:'#E0FFA2',task_showqtip:true,task_width:50,tasksOffset:20,taskelements:0,ShowMenuItems:[1,1,1,1,1,1],task_ShowMenuItems:[1,1,1,1,1],task_eventLaunch:'click',task_clsOver:'',init:function(calendar,dateval){this.calx=calendar;this.datetohandle=dateval;},refreshView:function(){this.render();},render:function(){var myMask=new Ext.LoadMask(this.calx.id,{removeMask:true,msg:e2cs.cal_locale.loadmaskText});myMask.show();this.datetohandle=this.calx.currentdate;var daterange=this.getDatesforWeek(this.datetohandle);var updateview=Ext.get(this.calx.body);var testrender=updateview.dom.childNodes.length;if(testrender){for(var i=testrender;i<testrender;i++){updateview.dom.removeChild(updateview.dom.childNodes[0]);}}updateview.update('');var updateview=Ext.get(this.calx.body);var daycntbase='<div id="'+this.calx.id+'-main-calendar-header"></div>';daycntbase+='<div id="'+this.calx.id+'-main-calendar-week-body"></div>';updateview.update(daycntbase);if(this.header){var dt=this.datetohandle;var tmpheader=Ext.get(this.calx.id+'-main-calendar-header');var prueba2=tmpheader;var myheaderwrap=prueba2.wrap({tag:'div',cls:'x-calendar-weekv-header',html:''});if(this.headerButtons){var prevdclick=myheaderwrap.createChild({id:this.calx.id+'-btn-pw',tag:'div',cls:'x-calendar-week-previous',html:''});var nextdclick=myheaderwrap.createChild({id:this.calx.id+'-btn-nw',tag:'div',cls:'x-calendar-week-next',html:''});prevdclick.dom['qtip']=e2cs.cal_locale.headerTooltipsWeek.prev;prevdclick.addListener('click',function(){this.onclickprev_week();},this);prevdclick.addClassOnOver('x-calendar-week-previous-over');nextdclick.dom['qtip']=e2cs.cal_locale.headerTooltipsWeek.next;nextdclick.addListener('click',function(){this.onclicknext_week();},this);nextdclick.addClassOnOver('x-calendar-week-next-over');}complementtext='';if(this.headerShowDates){complementtext=' <span class="x-calendar-weekv-header-small">'+e2cs.cal_locale.weekheaderlabel_from+daterange[0].format('d/m/Y')+e2cs.cal_locale.weekheaderlabel_to+daterange[1].format('d/m/Y')+'</span>';}var headerdx=myheaderwrap.createChild({tag:'div',id:this.calx.id+'-sub-'+'header',html:''+e2cs.cal_locale.weekheaderlabel+dt.format(this.headerFormat)+complementtext+''});}var tmpdays=Ext.get(this.calx.id+'-main-calendar-week-body');var weeklayoutskel=tmpdays.createChild({tag:'div',id:this.calx.id+'-weekvbody',cls:'x-calendar-weekv-body',html:''});var daterange=this.getDatesforWeek(this.datetohandle);if(this.style=='plain'){daysintro=this.genDaysHeader(daterange[0]);weeklayoutskel.insertHtml('beforeEnd',daysintro,false);}else{daysintro=this.genAlldayContainer(daterange[0]);weeklayoutskel.insertHtml('beforeEnd',daysintro,false);var mydaybodytmp=Ext.get(this.calx.id+'-allday1');var myallcontainer=Ext.get(this.calx.id+'-alldaycontainer');var myallreferh=Ext.get('alldayrefer');myallcontainer.setXY(mydaybodytmp.getXY());myallcontainer.setHeight(mydaybodytmp.getHeight(true));ancho=0;for(var i=1;i<8;i++){ancho+=Ext.get(this.calx.id+'-allday'+i).getWidth(false);}ancho+=7;myallcontainer.setWidth(ancho,false);var moretaskbuttonallday=Ext.get('alldaylistbutton');var taskstmp=this.getWeekTasks(this.datetohandle,0);if(myallcontainer.dom.childNodes.length==1&&myallcontainer.dom.childNodes[0].childNodes.length==0){moretaskbuttonallday.setDisplayed('none');}else{if(taskstmp.length>this.alldayTasksMaxView){moretaskbuttonallday.setDisplayed('block');}else{moretaskbuttonallday.setDisplayed('none');}}moretaskbuttonallday.addClassOnOver('alldaylistover');moretaskbuttonallday.addListener('click',function(){this.showMoreTasksList();},this);}var bodyweekhtml=this.genBody(daterange[0]);weeklayoutskel.insertHtml('beforeEnd',bodyweekhtml,false);for(var i=1;i<8;i++){var tmpeachdaybodygrid=Ext.get(this.calx.id+'-day'+i);tmpeachdaybodygrid.setHeight(Ext.get(this.calx.id+'-wd'+i).getHeight(true));var containerdaytmp=Ext.get(tmpeachdaybodygrid.dom.childNodes[0]);containerdaytmp.setHeight(Ext.get(this.calx.id+'-wd'+i).getHeight(false));if(Ext.isOpera){containerdaytmp.addListener('mousedown',this.operabuttons_body,this);}else{containerdaytmp.addListener('contextmenu',this.oncontextmenu_bodyday,this,{stopPropagation:false,normalized:true,preventDefault:true});}}var bodydisp=Ext.get(this.calx.id+'-weekbodydisplay');if(this.calx.ownerCt!=undefined){if(this.calx.ownerCt.ctype&&this.calx.ownerCt.ctype=="Ext.Component"){this.calx.height=this.calx.ownerCt.getInnerHeight();}}if(!this.calx.height||this.calx.height=='undefined'){var tmpheight=this.calx.getEl().dom.offsetParent.clientHeight;}else{var tmpheight=this.calx.height;}styleheaderheight=0;if(this.style=='plain'){styleheaderheight=Ext.get(this.calx.id+'-allday_w_task').getHeight(true)+8;}else{styleheaderheight=Ext.get(this.calx.id+'-allday_w_task').getHeight(true)+8;styleheaderheight+=Ext.get('alldaylistbutton').getHeight(true);}if(this.header){tmpheight+=-24;}if(this.calx.showCal_tbar){tmpheight+=-26;}if(this.calx.header){tmpheight+=-26;}var morehoffst=0;bodydisp.setStyle({height:''+(tmpheight-styleheaderheight)-morehoffst+'px'});bodydisp.setStyle({overflow:'auto'});if(Ext.isIE||Ext.isIE6){Ext.get(this.calx.id+'-tableweek-layout').setWidth(Ext.get(this.calx.id+'-tableweek-layout').getWidth()-16,false);}var test=Ext.get(this.calx.id+'-weekbodydisplay').getHeight(true);var tableskel=Ext.get(this.calx.id+'-week-skeleton').getHeight(true);if(tableskel>test){if(this.style=='plain'){var tmpgridlayout=Ext.get(this.calx.id+'-alldaygridbodylayout');var tmptable=Ext.get(this.calx.id+'-tableallcontainer');for(var i=1;i<8;i++){Ext.get(this.calx.id+'-weekhdrday-'+i).setWidth(Ext.get(this.calx.id+'-wd'+i).getWidth(false),false);}ancho=tmpgridlayout.getWidth(false);if(Ext.isIE||Ext.isIE6){tmpgridlayout.setWidth((tmpgridlayout.getWidth()-17),false);}else{tmpgridlayout.setWidth((ancho-17),false);}}else{var tmpgridlayout=Ext.get(this.calx.id+'-alldaygridbodylayout');var tmptable=Ext.get(this.calx.id+'-tableallcontainer');ancho=0;for(var i=1;i<8;i++){ancho+=Ext.get(this.calx.id+'-allday'+i).getWidth(false);}ancho+=7;myallcontainer.setWidth(ancho,false);ancho=tmpgridlayout.getWidth(false);if(Ext.isIE||Ext.isIE6){tmpgridlayout.setWidth((tmpgridlayout.getWidth()-17),false);myallcontainer.setWidth(myallcontainer.getWidth()-17,false);}else{tmpgridlayout.setWidth((ancho-17),false);myallcontainer.setWidth(myallcontainer.getWidth()-17,false);}}}if(this.style=='plain'){}else{var moretaskbuttonallday=Ext.get('alldaylistbutton');if(myallcontainer.dom.childNodes[0].childNodes.length==0&&myallcontainer.dom.childNodes[0].childNodes.length==0){}else{if(myallcontainer.dom.childNodes.length<this.alldayTasksMaxView){allcounterproc=myallcontainer.dom.childNodes.length;}else{allcounterproc=this.alldayTasksMaxView;}for(var i=0;i<allcounterproc;i++){alldaytasktmp=Ext.get(myallcontainer.dom.childNodes[i]);this.formatallDayTask(alldaytasktmp);if(this.task_eventLaunch!=''){alldaytasktmp.addListener(this.task_eventLaunch,this.onDblclick,this);}if(Ext.isOpera){alldaytasktmp.addListener('mousedown',this.operadaybuttons,this);}else{alldaytasktmp.addListener('contextmenu',this.oncontextmenu,this,{stopPropagation:false,normalized:true,preventDefault:true});}}}}this.snapweek=[];for(var i=1;i<8;i++){var toprocess=new Date(daterange[0].add(Date.DAY,(i-1)));var tmpdayweek=Ext.get(Ext.get(this.calx.id+'-day'+i).dom.childNodes[0]);var tmpdayweek_childs=tmpdayweek.dom.childNodes;tmpcalc=(this.task_width*tmpdayweek_childs);if(tmpcalc>tmpdayweek.getWidth(false)){}if(tmpdayweek_childs.length==1&&tmpdayweek_childs[0].childNodes.length==0){}else{var childcount=tmpdayweek_childs.length;for(var j=0;j<childcount;j++){var tmpel=Ext.get(tmpdayweek_childs[j]);if(Ext.isOpera){tmpel.addClass('taskondayopera');}else{tmpel.addClass('taskonday');}checkel=tmpel.id.indexOf(this.calx.id+'-ecal-daytask',0);if(checkel<0){}else{if(this.task_eventLaunch!=''){tmpel.addListener(this.task_eventLaunch,this.onDblclickSingleday,this);}if(this.task_clsOver!=''){tmpel.addClassOnOver(this.task_clsOver);}if(Ext.isOpera){tmpel.addListener('mousedown',this.operadaybuttons,this);}else{tmpel.addListener('contextmenu',this.oncontextmenu,this,{stopPropagation:false,normalized:true,preventDefault:true});}this.formatdayTask(toprocess,i,tmpel,j);}}}}if(this.headerDayClick=='viewday'){var myhdrweekdaysref=Ext.select('td.x-calendar-weekv-header-days',true);myhdrweekdaysref.each(function(el,thisobj,index){if(el.id.indexOf(this.calx.id+'-weekhdrday-')>=0){el.addClassOnOver('overwday');el.addListener('click',this.onWeekHeaderdayClick,this);}},this);}bodydisp.setStyle({height:''+(tmpheight-styleheaderheight)-morehoffst+'px'});myMask.hide();},onWeekHeaderdayClick:function(evx,elx,obx){if(elx.className.indexOf('x-calendar-weekv-header-days')<0){return false;}var tmpobj=Ext.get(elx);var fechatoset=tmpobj.getAttributeNS('tag','dayval');var tmpnewdate=new Date(fechatoset);if(this.headerDayClick=="viewday"){if(this.calx.fireEvent("beforeChangeView",'day','week',this.calx)==false){return false;}else{this.calx.currentdate=tmpnewdate;this.calx.selector_dateMenu.picker.setValue(this.calx.currentdate);this.calx.currentView='day';this.calx.viewday.render();this.calx.fireEvent("onChangeView",'day','week',this);}}else{return false;}},onDblclickSingleday:function(evx,elx,objx){var tmpdata=Ext.get(elx.id);var datatask=this.getTaskarray(tmpdata.dom.parentNode.parentNode.id);this.calx.fireEvent("taskDblClick",datatask,this,this.calx,'week');},onDblclick:function(evx,elx,obx){var tmpdata=Ext.get(elx.id);var datatask=this.getTaskarray(elx);this.fireEvent("dblClickTaskAllDay",datatask,this,this.calx);},operabuttons_body:function(evx,elx,obx){if(Ext.isOpera){if(evx.button==2){this.oncontextmenu_bodyday(evx,elx,obx);}}},operabuttons:function(evx,elx,obx){if(Ext.isOpera){if(evx.button==2){this.oncontextmenu(evx,elx,obx);}}},oncontextmenu_bodyday:function(evx,elx,obx){if(Ext.isOpera){if(evx.button!=2){return false;}}if(elx.id.indexOf("containeronday")<0){return false;}if(this.ShowMenuItems[0]!=true&&this.ShowMenuItems[1]!=true&&this.ShowMenuItems[2]!=true&&this.ShowMenuItems[3]!=true&&this.ShowMenuItems[4]!=true&&this.ShowMenuItems[5]!=true){return false;}if(Ext.isIE){testxxx=Ext.get(elx.parentNode);var datetohandle=testxxx.getAttributeNS('tag','iddate');}else{var testxxx=elx.parentNode;var datetohandle=elx.parentNode.attributes[1].nodeValue;}evx.stopEvent();var tmpdata=Ext.get(elx.id);if(this.menu){this.menu.removeAll();}this.menu=new Ext.menu.Menu({shadow:true,items:[{id:'week_ctxbtn_task-add',iconCls:'x-calendar-day-btnmv_add',text:e2cs.cal_locale.contextMenuLabelsDay.taskAdd,scope:this},'-',{id:'week_ctxbtn_task-go-nd',iconCls:'x-calendar-week-btnmv_nextweek',text:e2cs.cal_locale.contextMenuLabelsWeek.next,scope:this},{id:'week_ctxbtn_task-go-pd',iconCls:'x-calendar-week-btnmv_prevweek',text:e2cs.cal_locale.contextMenuLabelsWeek.prev,scope:this},'-',{id:'week_ctxbtn_viewmonth',iconCls:'x-calendar-month-btnmv_viewmonth',text:e2cs.cal_locale.contextMenuLabelsWeek.chgmview,scope:this},{id:'week_ctxbtn_viewday',iconCls:'x-calendar-month-btnmv_viewday',text:e2cs.cal_locale.contextMenuLabelsWeek.chgdview,scope:this},{id:'week_ctxbtn_viewsched',iconCls:'x-calendar-month-btnmv_viewsched',text:e2cs.cal_locale.contextMenuLabelsWeek.chgsview,scope:this}]});this.menu.items.items[0].addListener('click',function(){this.calx.fireEvent("taskAdd",datetohandle);},this);this.menu.items.items[2].addListener('click',function(){this.onclicknext_week();},this);this.menu.items.items[3].addListener('click',function(){this.onclickprev_week();},this);this.menu.items.items[5].addListener('click',function(){this.changeCalview(testxxx,this,1);},this);this.menu.items.items[6].addListener('click',function(){this.changeCalview(testxxx,this,2);},this);this.menu.items.items[7].addListener('click',function(){this.changeCalview(testxxx,this,3);},this);if(this.ShowMenuItems[0]!=true){this.menu.items.items[0].hidden=true;this.menu.items.items[1].hidden=true;}if(this.ShowMenuItems[1]!=true){this.menu.items.items[2].hidden=true;}if(this.ShowMenuItems[2]!=true){this.menu.items.items[3].hidden=true;}if(this.ShowMenuItems[1]!=true&&this.ShowMenuItems[2]!=true){this.menu.items.items[4].hidden=true;}if(this.ShowMenuItems[3]!=true){this.menu.items.items[5].hidden=true;}if(this.ShowMenuItems[4]!=true){this.menu.items.items[6].hidden=true;}if(this.ShowMenuItems[5]!=true){this.menu.items.items[7].hidden=true;}if(!this.calx.mview){this.menu.items.items[6].hidden=true;}if(!this.calx.dview){this.menu.items.items[5].hidden=true;}if(!this.calx.sview){this.menu.items.items[7].hidden=true;}this.menu.showAt([evx.getPageX(),evx.getPageY()]);},changeCalview:function(objx,mviewx,typeview){if(Ext.isIE){var refdate=objx.getAttributeNS('tag','iddate');}else{var refdate=objx.attributes[1].nodeValue;}this.calx.currentdate=new Date(refdate);this.calx.selector_dateMenu.picker.setValue(this.calx.currentdate);if(typeview==1){varview='month';}else if(typeview==2){varview='day';}else{varview='schedule';}this.calx.changeView(varview);},oncontextmenu:function(evx,elx,obx){if(Ext.isOpera){if(evx.button!=2){return false;}}if(this.task_ShowMenuItems[0]!=true&&this.task_ShowMenuItems[1]!=true&&this.task_ShowMenuItems[2]!=true&&this.task_ShowMenuItems[3]!=true&&this.task_ShowMenuItems[4]!=true&&this.moreMenuItems.length<=0){return false;}evx.stopEvent();var tmpdata=Ext.get(elx.id);if(this.menu){this.menu.removeAll();}this.menu=new Ext.menu.Menu({shadow:true,items:[{id:'week_ctxbtn_task-add',iconCls:'x-calendar-day-btnmv_add',text:e2cs.cal_locale.contextMenuLabelsDay.taskAdd,scope:this},{id:'week_ctxbtn_task-delete',iconCls:'x-calendar-day-btnmv_delete',text:e2cs.cal_locale.contextMenuLabelsDay.taskDelete,scope:this},'-',{id:'week_ctxbtn_task-edit',iconCls:'x-calendar-day-btnmv_task',text:e2cs.cal_locale.contextMenuLabelsDay.taskEdit+tmpdata.getAttributeNS('tag','ec_subject'),scope:this},'-',{id:'week_ctxbtn_task-go-nw',iconCls:'x-calendar-week-btnmv_nextweek',text:e2cs.cal_locale.contextMenuLabelsWeek.next,scope:this},{id:'week_ctxbtn_task-go-pw',iconCls:'x-calendar-week-btnmv_prevweek',text:e2cs.cal_locale.contextMenuLabelsWeek.prev,scope:this}]});if(this.moreMenuItems.length>0){this.menu.add('-');for(var i=0;i<this.moreMenuItems.length;i++){this.moreMenuItems[i].rendered=false;this.moreMenuItems[i].addListener('click',function(parx,parz){this.onCustomMenuAction(parx.id,Ext.get(elx),this);},this);this.menu.add(this.moreMenuItems[i]);}}this.menu.items.items[0].addListener('click',function(){this.onActionTask(1,Ext.get(elx),this);},this);this.menu.items.items[1].addListener('click',function(){this.onActionTask(2,Ext.get(elx),this);},this);this.menu.items.items[3].addListener('click',function(){this.onActionTask(3,Ext.get(elx),this);},this);this.menu.items.items[5].addListener('click',function(){this.onclicknext_week();},this);this.menu.items.items[6].addListener('click',function(){this.onclickprev_week();},this);if(this.task_ShowMenuItems[0]!=true){this.menu.items.items[0].hidden=true;}if(this.task_ShowMenuItems[1]!=true){this.menu.items.items[1].hidden=true;}if(this.task_ShowMenuItems[0]!=true&&this.task_ShowMenuItems[1]!=true){this.menu.items.items[2].hidden=true;}if(this.task_ShowMenuItems[2]!=true){this.menu.items.items[3].hidden=true;this.menu.items.items[4].hidden=true;}if(this.task_ShowMenuItems[3]!=true){this.menu.items.items[5].hidden=true;}if(this.task_ShowMenuItems[4]!=true){this.menu.items.items[6].hidden=true;}if(this.moreMenuItems.length>0){if(this.task_ShowMenuItems[3]!=true&&this.task_ShowMenuItems[4]!=true){this.menu.items.items[7].hidden=true;}}this.menu.on('hide',this.onContextTaskMenu_Hide,this);this.menu.showAt(evx.xy);},onContextTaskMenu_Hide:function(){},onCustomMenuAction:function(MenuId,taskEl,TaskObj){var datatask=this.getTaskarray(taskEl);this.calx.fireEvent("customMenuAction",MenuId,'week',datatask,taskEl,this);},onActionTask:function(action,taskEl,TaskObj){var datatask=this.getTaskarray(taskEl);switch(action){case 1:if(taskEl.id.indexOf(this.calx.id+"-ecal-alldaytask")>=0){this.calx.fireEvent("taskAdd",this.calx.currentdate);}else{if(Ext.isIE){testxxx=Ext.get(taskEl.dom.parentNode.parentNode);var datewday=new Date(testxxx.getAttributeNS('tag','iddate'));}else{var datewday=new Date(taskEl.dom.parentNode.parentNode.attributes[1].nodeValue);}this.calx.fireEvent("taskAdd",datewday);}break;case 2:var check=this.calx.fireEvent("beforeTaskDelete",datatask,this);if(check!=true){if(this.calx.fireEvent("onTaskDelete",datatask)==true){this.calx.fireEvent("afterTaskDelete",datatask,true);}else{this.calx.fireEvent("afterTaskDelete",null,false);}}break;case 3:var check=this.calx.fireEvent("beforeTaskEdit",datatask,this);if(check!=true){if(this.calx.fireEvent("onTaskEdit",datatask)==true){this.calx.fireEvent("afterTaskEdit",datatask,true);}else{this.calx.fireEvent("afterTaskEdit",null,false);}}break;default:break;}},getTaskarray:function(TaskElx){var tmpdata=Ext.get(TaskElx);var datatask=[];datatask[0]=tmpdata.getAttributeNS('tag','id');datatask[1]=tmpdata.getAttributeNS('tag','ec_id');datatask[2]=tmpdata.getAttributeNS('tag','ec_subject');datatask[3]=tmpdata.getAttributeNS('tag','ec_starts');datatask[4]=tmpdata.getAttributeNS('tag','ec_ends');datatask[5]=tmpdata.getAttributeNS('tag','ec_cnt');datatask[6]=tmpdata.getAttributeNS('tag','ec_storeindex');return datatask;},getDatesforWeek:function(Dateval){var dw=new Date(Dateval).getDay();dw=((dw==0)?6:dw-1);var initdate=new Date(Dateval.add(Date.DAY,-dw).format('m/d/Y')+' '+this.startTime);var enddate=new Date(Dateval.add(Date.DAY,-dw+6).format('m/d/Y')+' '+this.endTime);return[initdate,enddate];},getWeekTasks:function(Dateval,Type){var daterange=this.getDatesforWeek(this.datetohandle);var tmpdaytasks=[];switch(Type){case 0:var numrecs=this.calx.store.getCount();var countdone=0;for(var i=0;i<numrecs;i++){var testrec=this.calx.store.getAt(i).data;tstdateini=new Date(testrec[this.calx.fieldsRefer.startdate]);tstdateend=new Date(testrec[this.calx.fieldsRefer.enddate]);var check=this.calx.dateDiff(tstdateini,tstdateend,e2cs.dateParts.DAY);if(check>=1){if(tstdateini<daterange[0]&&tstdateend>daterange[1]){tmpdaytasks[countdone]=testrec;countdone+=1;}else{if(tstdateini.between(daterange[0],daterange[1])||tstdateend.between(daterange[0],daterange[1])){tmpdaytasks[countdone]=testrec;countdone+=1;}}}}break;case 1:var dateinionthisday=new Date(Dateval.format('m/d/Y')+' '+this.startTime);var dateendonthisday=new Date(Dateval.format('m/d/Y')+' '+this.endTime);var numrecs=this.calx.store.getCount();var countdone=0;for(var i=0;i<numrecs;i++){var testrec=this.calx.store.getAt(i).data;tstdateini=new Date(testrec[this.calx.fieldsRefer.startdate]);tstdateend=new Date(testrec[this.calx.fieldsRefer.enddate]);var check=this.calx.dateDiff(tstdateini,tstdateend,e2cs.dateParts.DAY);if(check<1){if(tstdateini.between(dateinionthisday,dateendonthisday)&&tstdateend.between(dateinionthisday,dateendonthisday)){tmpdaytasks[countdone]=testrec;countdone+=1;}}}break;case 2:var dateinionthisday=new Date(Dateval.format('m/d/Y')+' '+this.startTime);var dateendonthisday=new Date(Dateval.format('m/d/Y')+' '+this.endTime);var numrecs=this.calx.store.getCount();var countdone=0;for(var i=0;i<numrecs;i++){var testrec=this.calx.store.getAt(i).data;tstdateini=new Date(testrec[this.calx.fieldsRefer.startdate]);tstdateend=new Date(testrec[this.calx.fieldsRefer.enddate]);checkdates=this.datetohandle.between(new Date(tstdateini),new Date(tstdateend));chkformat=this.datetohandle.format('m/d/Y');test=new Date(dateinit);if(test.format('m/d/Y')==chkformat){checkdates=true;}test=new Date(dateend);if(test.format('m/d/Y')==chkformat){checkdates=true;}var check=this.calx.dateDiff(tstdateini,tstdateend,e2cs.dateParts.DAY);if(check<1){if(tstdateini.between(dateinionthisday,dateendonthisday)&&tstdateend.between(dateinionthisday,dateendonthisday)){tmpdaytasks[countdone]=testrec;countdone+=1;}}else{if(check>=1){if(tstdateini<dateinionthisday&&tstdateend>dateendonthisday){tmpdaytasks[countdone]=testrec;countdone+=1;}else{if(tstdateini.between(dateinionthisday,dateendonthisday)||tstdateend.between(dateinionthisday,dateendonthisday)){tmpdaytasks[countdone]=testrec;countdone+=1;}}}}}break;default:tmpdaytasks=[];break;}return tmpdaytasks;},showMoreTasksList:function(){taskstmp=this.getWeekTasks(this.datetohandle,0);showdata=[];for(var i=0;i<taskstmp.length;i++){showdata[i]=[taskstmp[i][this.calx.fieldsRefer.id],taskstmp[i][this.calx.fieldsRefer.subject],taskstmp[i][this.calx.fieldsRefer.description],taskstmp[i][this.calx.fieldsRefer.startdate],taskstmp[i][this.calx.fieldsRefer.enddate],taskstmp[i][this.calx.fieldsRefer.color]];}if(this.alldayTaksMore=="event"){this.fireEvent("launchEventList",showdata[i]);return false;}else if(this.alldayTaksMore=="window"){var reader=new Ext.data.ArrayReader({},[{name:this.calx.fieldsRefer.id,type:'int'},{name:this.calx.fieldsRefer.subject,type:'string'},{name:this.calx.fieldsRefer.description,type:'string'},{name:this.calx.fieldsRefer.startdate,type:'string'},{name:this.calx.fieldsRefer.enddate,type:'string'},{name:this.calx.fieldsRefer.color,type:'string'}]);tmpstore=new Ext.data.Store({reader:reader,data:showdata});tmppanel=new Ext.Panel({id:'ecal-more-task-panel',header:false,autoDestroy:true,autoScroll:true,monitorResize:true,border:false,autoWidth:false,autoHeight:false,items:new Ext.DataView({loadingText:e2cs.cal_locale.win_tasks_loading,store:tmpstore,tpl:this.alldayTaskTPL,autoWidth:true,autoHeight:true,overClass:'',itemSelector:'',emptyText:e2cs.cal_locale.win_tasks_empty})});var ecalwinshowmore=new Ext.Window({id:'ecal-win-moretasks',name:'ecal-win-moretasks',title:e2cs.cal_locale.win_week_zoomlabel,width:450,height:300,closeAction:'close',resizable:true,resizeHandles:'all',hideBorders:true,maximizable:true,plain:true,modal:true,layout:'fit',iconCls:'x-calendar-more-tasks-win',items:[tmppanel]});ecalwinshowmore.show();}},formatdayTask:function(dateval,numday,ExtEl,indexElperDay){var container=Ext.get(this.calx.id+'-day'+numday);var m_starttime=dateval.format('m/d/Y ')+this.startTime;var m_endtime=dateval.format('m/d/Y ')+this.endTime;this.totalhours=this.calx.dateDiff(new Date(m_starttime),new Date(m_endtime),e2cs.dateParts.HOUR);var inittimetask=this.checkTasktime(ExtEl.getAttributeNS('tag','ec_starts'));var endtimetask=this.checkTasktime(ExtEl.getAttributeNS('tag','ec_ends'));var diffstartinipos=this.calx.dateDiff(new Date(m_starttime),new Date(inittimetask),e2cs.dateParts.MINUTE);if(diffstartinipos<0){initpos=0;flagstarttasttext=e2cs.cal_locale.task_LessDaysFromTask;}else{initpos=diffstartinipos;flagstarttasttext='';}var diffendpos=this.calx.dateDiff(new Date(m_endtime),new Date(endtimetask),e2cs.dateParts.MINUTE);if(diffendpos>0){endpos=(this.totalhours+1)*60;endpos=Math.abs(initpos-endpos);flagendtasttext=e2cs.cal_locale.task_MoreDaysFromTask;}else{var tmpdate=new Date(inittimetask);var dtstartday=new Date(dateval.format('m/d/Y')+' '+this.startTime);if(tmpdate<dtstartday){endpos=this.calx.dateDiff(new Date(m_starttime),new Date(endtimetask),e2cs.dateParts.MINUTE);}else{endpos=this.calx.dateDiff(new Date(inittimetask),new Date(endtimetask),e2cs.dateParts.MINUTE);}if(endpos==(this.totalhours*60)){endpos=endpos;}else if(endpos>(this.totalhours*60)){endpos=(this.totalhours*60);}flagendtasttext='';}if(Ext.isOpera){var testwxopera=(indexElperDay+1)*this.task_width;if(((indexElperDay+1)*this.task_width)>container.getWidth(false)){ExtEl.setStyle('display','none');}if((indexElperDay+1)>1){ExtEl.setLeft('0px');}}else{ExtEl.setLeft(''+(indexElperDay*this.task_width)+'px');}ExtEl.setWidth(this.task_width,false);ExtEl.setHeight(endpos,false);if(Ext.isOpera){ExtEl.setY(container.getY()+initpos);ExtEl.setStyle({top:''+initpos+'px'});ExtEl.setStyle("float",'left');}else{ExtEl.setY(container.getY()+initpos);}if(Ext.isIE){ExtEl.setStyle('z-index','2000');}else{ExtEl.setStyle('z-index','auto');}},checkTasktime:function(taskvalue){var test=taskvalue.indexOf(":",0);if(test<=0){taskvaluefix=taskvalue+' '+this.startTime;}else{taskvaluefix=taskvalue;}return taskvaluefix;},formatallDayTask:function(ExtEl){var daterange=this.getDatesforWeek(this.datetohandle);var initdateEl=new Date(ExtEl.getAttributeNS('tag','ec_starts'));var enddateEl=new Date(ExtEl.getAttributeNS('tag','ec_ends'));var diffElDays=this.calx.dateDiff(initdateEl,enddateEl,e2cs.dateParts.DAY);if(diffElDays>7){diffElDays=7;}initdaystart=this.calx.dateDiff(daterange[0],initdateEl,e2cs.dateParts.DAY);if(initdaystart<0){diffElDays=this.calx.dateDiff(daterange[0],enddateEl,e2cs.dateParts.DAY);if(diffElDays>7){diffElDays=7;}initdaystart=0;}var myallcontainer=Ext.get(this.calx.id+'-alldaycontainer');newposx=0;for(var i=0;i<initdaystart;i++){newposx+=Ext.get(this.calx.id+'-allday'+(i+1)).getWidth(false);}newposx+=i;ExtEl.setX(myallcontainer.getX()+newposx);ancho=0;if(enddateEl>daterange[1]){ExtEl.setWidth(Ext.get(this.calx.id+'-alldaycontainer').getWidth(false)-newposx,false);}else{if(diffElDays<1){ancho+=Ext.get(this.calx.id+'-allday1').getWidth(false);}else{for(var i=0;i<diffElDays;i++){ancho+=Ext.get(this.calx.id+'-allday'+(i+1)).getWidth(false);}}ancho+=i;ExtEl.setWidth(ancho,false);}},onclickprev_week:function(){var newdate=this.datetohandle.add(Date.DAY,+(-7));var check=this.fireEvent("beforeWeekChange",this.datetohandle,newdate);if(!check){this.datetohandle=newdate;this.calx.currentdate=newdate;this.render();this.fireEvent("afterWeekChange",newdate);}},onclicknext_week:function(){var newdate=this.datetohandle.add(Date.DAY,+(+7));var check=this.fireEvent("beforeWeekChange",this.datetohandle,newdate);if(!check){this.datetohandle=newdate;this.calx.currentdate=newdate;this.render();this.fireEvent("afterWeekChange",newdate);}},genHeader:function(dateval){var daterange=this.getDatesforWeek(this.datetohandle);var dt=new Date(dateval);Date.monthNames=e2cs.cal_locale.monthtitles;Date.dayNames=e2cs.cal_locale.daytitles;var myheader='<div class="x-calendar-weekv-header" style="width:'+(this.calx.width-10)+'px;">';if(this.headerButtons){myheader+='<div class="x-calendar-week-previous"></div>';myheader+='<div class="x-calendar-week-next"></div>';}complementtext='';if(this.headerShowDates){complementtext=' '+e2cs.cal_locale.weekheaderlabel_from+daterange[0].format('d/m/Y')+e2cs.cal_locale.weekheaderlabel_to+daterange[1].format('d/m/Y');}myheader+='<div id="header">'+e2cs.cal_locale.weekheaderlabel+dt.format(this.headerFormat)+complementtext+'</div>';myheader+='<div id="'+this.calx.id+'-week-sub-'+'header">'+e2cs.cal_locale.weekheaderlabel+dt.format(this.headerFormat)+complementtext+'</div>';myheader+='</div>';return myheader;},genDaysHeader:function(datestart){var htmlheader='';htmlheader='<div id="'+this.calx.id+'-allday_w_task" class="allday_w_task">';htmlheader+='<div id="'+this.calx.id+'-alldaygridbodylayout" class="alldaygridbody">';htmlheader+='<table width="100%" border="0" cellpadding="0" cellspacing="1" bordercolor="#004E9B" bgcolor="#004E9B"><tr>';htmlheader+='<td width="50"><table width="50" border="0" align="center" cellpadding="0" cellspacing="0">';htmlheader+='<tr><td width="50" class="allday-marker" id="alldayrefer" ><div class="taskallday-layoutbase">&nbsp;</div>';htmlheader+='</td></tr></table></td>';for(var i=0;i<7;i++){var daylabel=datestart.add(Date.DAY,i).format(this.dayformatLabel);var validtd=datestart.add(Date.DAY,i).format('m/d/Y');htmlheader+='<td valign="top"  class="x-calendar-weekv-header-days" dayval="'+validtd+'" id="'+this.calx.id+'-weekhdrday-'+(i+1)+'">'+daylabel+'</td>';}htmlheader+='</tr></table></div></div>';return htmlheader;},genAlldayContainer:function(datestart){var htmlcontainer='';htmlcontainer+='<div id="'+this.calx.id+'-alldaycontainer" class="allday-container">';var taskstmp=this.getWeekTasks(this.datetohandle,0);if(taskstmp.length==0){htmlcontainer+='&nbsp;';}else{if(taskstmp.length<=this.alldayTasksMaxView){tasktoshow=taskstmp.length;}else{tasktoshow=this.alldayTasksMaxView;}for(var j=0;j<tasktoshow;j++){var fch_starts=new Date(taskstmp[j][this.calx.fieldsRefer.startdate]);var fch_ends=new Date(taskstmp[j][this.calx.fieldsRefer.enddate]);var datatip={creator:taskstmp[j]['creator'],starxl:e2cs.cal_locale.task_qtip_starts,startval:fch_starts.format(this.task_format),endxl:e2cs.cal_locale.task_qtip_ends,endval:fch_ends.format(this.task_format),details:taskstmp[j][this.calx.fieldsRefer.description]};var newqtip=this.calx.tplTaskTip.apply(datatip);htmlcontainer+='<div id="'+this.calx.id+'-ecal-alldaytask-'+j+'" class="taskallday-taskbase"  style="background-color:'+taskstmp[j][this.calx.fieldsRefer.color]+'"';htmlcontainer+='ext:qtitle="'+taskstmp[j][this.calx.fieldsRefer.subject]+'" ext:qtip="'+newqtip+'"';htmlcontainer+='ec_id="'+taskstmp[j][this.calx.fieldsRefer.id]+'" ec_starts="'+taskstmp[j][this.calx.fieldsRefer.startdate]+'"';htmlcontainer+='ec_ends="'+taskstmp[j][this.calx.fieldsRefer.enddate]+'" ec_subject="'+taskstmp[j][this.calx.fieldsRefer.subject]+'"';htmlcontainer+='ec_cnt="'+taskstmp[j][this.calx.fieldsRefer.description]+'" ec_storeindex="'+j+'">'+taskstmp[j][this.calx.fieldsRefer.subject]+'</div>';}}htmlcontainer+='</div>';htmlcontainer+='<div id="'+this.calx.id+'-allday_w_task" class="allday_w_task">';htmlcontainer+='<div id="'+this.calx.id+'-alldaygridbodylayout" class="alldaygridbody">';htmlcontainer+='<table id="'+this.calx.id+'-tableallcontainer" width="100%" border="0" cellpadding="0" cellspacing="1" bordercolor="#004E9B" bgcolor="#004E9B"><tr>';htmlcontainer+='<td class="">&nbsp;</td>';for(var i=0;i<7;i++){var daylabel=datestart.add(Date.DAY,i).format(this.dayformatLabel);var validtd=datestart.add(Date.DAY,i).format('m/d/Y');htmlcontainer+='<td valign="top"  class="x-calendar-weekv-header-days" dayval="'+validtd+'" id="'+this.calx.id+'-weekhdrday-'+(i+1)+'">'+daylabel+'</td>';}htmlcontainer+='</tr><tr><td width="50">';htmlcontainer+='<table width="50" border="0" align="center" cellpadding="0" cellspacing="0">';htmlcontainer+='<tr><td width="50" class="allday-marker" id="alldayrefer" >';if(taskstmp.length){if(taskstmp.length<=this.alldayTasksMaxView){tasktoshow=taskstmp.length;}else{tasktoshow=this.alldayTasksMaxView;}for(var i=0;i<tasktoshow;i++){htmlcontainer+='<div class="taskallday-layoutbase">&nbsp;</div>';}}else{htmlcontainer+='<div class="taskallday-layoutbase">&nbsp;</div>';htmlcontainer+='<div class="taskallday-layoutbase">&nbsp;</div>';}htmlcontainer+='</td></tr></table></td>';for(var i=0;i<7;i++){todaytmp=new Date();gendatetd=datestart.add(Date.DAY,i);var daylabel=gendatetd.format(this.dayformatLabel);if(i==0){htmlcontainer+='<td width="14%" bgcolor="#FFFFFF" valign="top" class="weekstartday" id="'+this.calx.id+'-allday'+(i+1)+'"><div>&nbsp;</div></td>';}else if(i==6){htmlcontainer+='<td width="14%" bgcolor="#FFFFFF" valign="top" class="weekendday"   id="'+this.calx.id+'-allday'+(i+1)+'"><div>&nbsp;</div></td>';}else{htmlcontainer+=' <td width="14%" bgcolor="#FFFFFF" valign="top" class="weekmidday"  id="'+this.calx.id+'-allday'+(i+1)+'"><div>&nbsp;</div></td>';}}htmlcontainer+='</tr></table></div></div>';htmlcontainer+='<div id="alldaylistbutton" class="x-calendar-weekv-header-alldaylist">';htmlcontainer+=e2cs.cal_locale.alldayTasksMaxLabel+' </div>';return htmlcontainer;},genBody:function(datestart){var dt=new Date(datestart);var inittime=new Date(dt.format('m/d/Y')+' '+this.startTime);var endtime=new Date(dt.format('m/d/Y')+' '+this.endTime);this.diffhrs=this.calx.dateDiff(inittime,endtime,e2cs.dateParts.HOUR);var dviewbody='<div id="'+this.calx.id+'-weekbodydisplay" class="weekbodydisplay">';var wtdisp='';if(Ext.isIE||Ext.isIE6){wtdisp='97';}else{wtdisp='100';}wtdisp='100';dviewbody+='<div id="'+this.calx.id+'-tableweek-layout">';dviewbody+='<table id="'+this.calx.id+'-week-skeleton" width="'+wtdisp+'%" border="0" cellspacing="1" cellpadding="0">';dviewbody+='<tr><td width="50"><table width="50" border="0" align="center" cellpadding="0" cellspacing="0">';for(var i=0;i<this.diffhrs;i++){dviewbody+='<tr><td class="hour-marker"><span>'+inittime.add(Date.HOUR,(i)).format(this.hourFormat)+'</span>';dviewbody+='<span class="minute">'+inittime.add(Date.HOUR,(i)).format('i a')+'</span></td></tr>';}dviewbody+='</table></td>';for(var i=0;i<7;i++){gendatetddiv=datestart.add(Date.DAY,i);if(i==0){dviewbody+='<td width="14%" valign="top" class="weekstartday" id="'+this.calx.id+'-wd'+(i+1)+'">';}else if(i==6){dviewbody+='<td width="14%" valign="top" class="weekendday" id="'+this.calx.id+'-wd'+(i+1)+'">';}else{dviewbody+='<td width="14%" valign="top" class="weekmidday" id="'+this.calx.id+'-wd'+(i+1)+'">';}var tdydate=new Date();if(gendatetddiv.format('m/d/Y')==tdydate.format('m/d/Y')){dviewbody+='<div id="'+this.calx.id+'-day'+(i+1)+'" iddate="'+gendatetddiv.format('m/d/Y')+'" class="currentday">';}else{dviewbody+='<div id="'+this.calx.id+'-day'+(i+1)+'" iddate="'+gendatetddiv.format('m/d/Y')+'" class="basegridweek">';}if(this.style=='plain'){var tasksinday=this.getWeekTasks(gendatetddiv,2);}else{var tasksinday=this.getWeekTasks(gendatetddiv,1);}if(tasksinday.length==0){dviewbody+='<div id="containeronday" class="containeronday">';dviewbody+='&nbsp;';dviewbody+='</div>';}else{dviewbody+='<div id="containeronday" class="containeronday">';for(var j=0;j<tasksinday.length;j++){var fch_starts=new Date(tasksinday[j][this.calx.fieldsRefer.startdate]);var fch_ends=new Date(tasksinday[j][this.calx.fieldsRefer.enddate]);var qtiptext='';if(this.task_showqtip){var datatip={creator:tasksinday[j]['creator'],starxl:e2cs.cal_locale.task_qtip_starts,startval:fch_starts.format(this.task_format),endxl:e2cs.cal_locale.task_qtip_ends,endval:fch_ends.format(this.task_format),details:tasksinday[j][this.calx.fieldsRefer.description]};var newqtip=this.calx.tplTaskTip.apply(datatip);qtiptext='ext:qtitle="'+tasksinday[j][this.calx.fieldsRefer.subject]+'" ext:qtip="'+newqtip+'"';}var colorbackgr='';if(tasksinday[j][this.calx.fieldsRefer.color]){colorbackgr=tasksinday[j][this.calx.fieldsRefer.color];}else{colorbackgr=this.task_bgcolor_base;}dviewbody+='<div id="'+this.calx.id+'-ecal-daytask-'+this.taskelements+'" style="background-color:'+colorbackgr+'" ';dviewbody+=qtiptext;dviewbody+='ec_id="'+tasksinday[j][this.calx.fieldsRefer.id]+'" ec_starts="'+tasksinday[j][this.calx.fieldsRefer.startdate]+'"';dviewbody+='ec_ends="'+tasksinday[j][this.calx.fieldsRefer.enddate]+'" ec_subject="'+tasksinday[j][this.calx.fieldsRefer.subject]+'"';dviewbody+='ec_cnt="'+tasksinday[j][this.calx.fieldsRefer.description]+'" ec_storeindex="'+j+'"><div class="task_cnt">'+tasksinday[j][this.calx.fieldsRefer.subject]+'<br>'+tasksinday[j][this.calx.fieldsRefer.description]+'</div></div>';this.taskelements+=1;}dviewbody+='</div>';}dviewbody+='</div></td>';}dviewbody+='</tr></table></div></div>';return dviewbody;}});

Ext.namespace('e2cs.schedviews');e2cs.schedviews.subView={Day:0,Week:1,Month:2,TwoMonths:3,Quarter:4};e2cs.schedviews.Units={Hours:0,Days:1,Weeks:2};Ext.ECalendar.scheduleview=function(config){Ext.apply(this,config);this.addEvents('headerClick','listItemSendData','beforePeriodChange','afterPeriodChange');Ext.ECalendar.scheduleview.superclass.constructor.call(this);};Ext.extend(Ext.ECalendar.scheduleview,Ext.util.Observable,{referid:'schedule',header:true,headerFormat:'M-Y',headerButtons:true,headerAction:'gotoview',periodSelector:false,blankzonebg:'#6C90B4',blankHTML:'',listItems:{headerTitle:"Events on the period",periodFormats:{Day:'l - d - F  - Y',DayScheduler_format:'d',hourFormat:'h:i a',startTime:'7:00:00 am',endTime:'10:00:00 pm',WeekTPL:'<tpl for=".">'+e2cs.cal_locale.scheduler_headerListStrings.week+' {numweek} '+e2cs.cal_locale.scheduler_headerListStrings.start+'{datestart} '+e2cs.cal_locale.scheduler_headerListStrings.end+' {dateend}</tpl>',WeekFormat:'W',DatesFormat:'d/m/Y',Month:'M-Y',TwoMonthsTPL:'<tpl for=".">'+e2cs.cal_locale.scheduler_headerListStrings.period+' {numperiod} '+e2cs.cal_locale.scheduler_headerListStrings.start+' {datestart} '+e2cs.cal_locale.scheduler_headerListStrings.end+' {dateend}</tpl>',QuarterTPL:'<tpl for=".">'+e2cs.cal_locale.scheduler_headerListStrings.period+' {numperiod} '+e2cs.cal_locale.scheduler_headerListStrings.start+' {datestart} '+e2cs.cal_locale.scheduler_headerListStrings.end+' {dateend}</tpl>'},useStoreColor:false,descriptionWidth:250,parentLists:false,launchEventOn:'click',editableEvents:false,moreMenuItems:[],ShowMenuItems:[1,1,1,1,1,1,1,1],taskdd_ShowMenuItems:[1,1,1],taskdd_BaseColor:'#ffffff',taskdd_clsOver:'',taskdd_showqtip:true,taskdd_shownames:true},listbody:{periodType:e2cs.schedviews.subView.Month,headerUnit:e2cs.schedviews.Units.Days,headerUnitWidth:25},contextMenuLabels:e2cs.cal_locale.contextMenuLabelsSchedule,thisview:null,init:function(calendar,dateval){this.calx=calendar;this.datetohandle=dateval;if(this.listbody.periodType>=1||this.listbody.periodType<=4){if(this.listbody.headerUnit==0){this.listbody.headerUnit=1;}}if(this.listbody.periodType==1||this.listbody.periodType==2){if(this.listbody.headerUnit!=1){this.listbody.headerUnit=1;}}if(this.listbody.periodType==0&&this.listbody.headerUnit!=0){this.listbody.headerUnit=0;}},refreshView:function(){this.render();},render:function(){var myMask=new Ext.LoadMask(this.calx.id,{removeMask:true,msg:e2cs.cal_locale.loadmaskText});myMask.show();this.datetohandle=this.calx.currentdate;var updateview=Ext.get(this.calx.body);var testrender=updateview.dom.childNodes.length;if(testrender){for(var i=testrender;i<testrender;i++){updateview.dom.removeChild(updateview.dom.childNodes[0]);}}updateview.update('');var viewbase='<div id="'+this.calx.id+'-main-calendar-header"></div>';viewbase+='<div id="'+this.calx.id+'-main-calendar-sched-body"></div>';updateview.update(viewbase);if(this.header){var tmpheader=Ext.get(this.calx.id+'-main-calendar-header');var myheaderwrap=tmpheader.wrap({tag:'div',cls:'x-calendar-sched-header',html:''});if(this.headerButtons){var nextclick=myheaderwrap.createChild({id:this.calx.id+'-btn-nm',tag:'div',cls:'x-calendar-sched-next',html:''});var prevclick=myheaderwrap.createChild({id:this.calx.id+'-btn-pm',tag:'div',cls:'x-calendar-sched-previous',html:''});prevclick.dom['qtip']=e2cs.cal_locale.headerTooltipsScheduler.prev;prevclick.addListener('click',this.onclickprev_period,this);prevclick.addClassOnOver('x-calendar-sched-previous-over');nextclick.dom['qtip']=e2cs.cal_locale.headerTooltipsScheduler.next;nextclick.addListener('click',this.onclicknext_period,this);nextclick.addClassOnOver('x-calendar-sched-next-over');}var legenddisplayheader=this.getHeaderLabel();var headerx=myheaderwrap.createChild({tag:'div',id:'header',html:''+legenddisplayheader+''});}this.numelements=0;var misecondheader=this.genSchedbodyHeader();var mycontentSched=Ext.get(this.calx.id+'-main-calendar-sched-body');if(this.calx.ownerCt!=undefined){if(this.calx.ownerCt.ctype&&this.calx.ownerCt.ctype=="Ext.Component"){this.calx.height=this.calx.ownerCt.getInnerHeight();}}anchoCalendar=Ext.get(this.calx.body).getWidth();if(Ext.isIE){mycontentSched.setWidth(anchoCalendar,false);}if(this.calx.border){anchoCalendar+=(-2);}anchotable2cntheaders=anchoCalendar-this.listItems.descriptionWidth;countxvalwidth=(this.listbody.headerUnitWidth*this.numelements);var Dataapplytofix={TABLEXXW1:anchoCalendar,TDXXVAL2:anchotable2cntheaders,TDXXVAL3:countxvalwidth};var tmptplheadercontentssched=new Ext.XTemplate('<tpl for=".">'+misecondheader+'</tpl>');var torenderinbody=tmptplheadercontentssched.applyTemplate(Dataapplytofix);var myheaderinbody_sched=mycontentSched.wrap({tag:'div',cls:'x-calendar-sched-body-header',html:torenderinbody});Ext.get(this.calx.id+'-container_header_sched_base').setStyle('background-color',this.blankzonebg);if(Ext.isIE){myheaderinbody_sched.setStyle('overflow','hidden');myheaderinbody_sched.setWidth(anchoCalendar,false);this.refercolmns=Ext.select('div.sched_hdrbody_vals_IE',true);}else{this.refercolmns=Ext.select('div.sched_hdrbody_vals',true);}this.refercolmns.each(function(el,thisobj,index){if(el.id.indexOf(this.calx.id+'-tdsched_valcols-')+1>=1){if(Ext.isIE){el.addClassOnOver('sched_hdrbody_valsover_IE');}else{el.addClassOnOver('sched_hdrbody_valsover');}el.addListener('click',this.onclick_myheadersvalues,this);}},this);var mytasks=this.getTasksforPeriod();if(mytasks.length>0){var mystrcontents=this.genShedContentList(mytasks);var Dataapplytofix_b={ANCHO1TOTAL:countxvalwidth+this.listItems.descriptionWidth,ANCHOREFLIST:this.listItems.descriptionWidth,anchocolgrids:countxvalwidth,TOPcontenedorTASKS:100};var tmptplcontents_body_sched=new Ext.XTemplate('<tpl for=".">'+mystrcontents+'</tpl>');var torenderinbody_b=tmptplcontents_body_sched.applyTemplate(Dataapplytofix_b);mycontentSched.insertHtml('beforeEnd',torenderinbody_b,false);if(this.calx.ownerCt!=undefined){var todeletespace=0;if(this.calx.header){todeletespace+=27;}if(this.calx.showCal_tbar){todeletespace+=26;}if(this.header){todeletespace+=47;}var totalhx=this.calx.ownerCt.getInnerHeight()-todeletespace;Ext.get(this.calx.id+'-body-sched-container-list').setStyle('height',totalhx+'px');}else{if(this.header){Ext.get(this.calx.id+'-body-sched-container-list').setStyle('height',(Ext.get(this.calx.body).getHeight()-47)+'px');}else{Ext.get(this.calx.id+'-body-sched-container-list').setStyle('height',(Ext.get(this.calx.body).getHeight()-23)+'px');}}if(Ext.isIE){Ext.get(this.calx.id+'-body-sched-container-list').setWidth(anchoCalendar,false);Ext.get(this.calx.id+'-body-sched-container-list').setStyle('overflow','auto');}Ext.get(this.calx.id+'-body-sched-container-list').setStyle('background-color',this.blankzonebg);Ext.get(this.calx.id+'body-sched-insider').setStyle('height',(Ext.get(this.calx.id+'-skeleton_sched').getHeight()+1)+'px');Ext.get(this.calx.id+'body-sched-insider').setStyle('width',(countxvalwidth+this.listItems.descriptionWidth)+'px');Ext.get(this.calx.id+'body-sched-insider').setStyle('background-color','#FFFFFF');myscrollelement=Ext.get(this.calx.id+'-body-sched-container-list');mycalendartmp=this.calx;myscrollelement.on("scroll",function(){var test=this.dom.scrollLeft;Ext.get(mycalendartmp.id+'-subcontainer_sched_headers').setStyle('margin-left',"-"+test+'px');},myscrollelement);var nh_TOPcontenedorTasks=Ext.get(this.calx.id+'-skeleton_sched').getHeight();var taskcontainerDD=Ext.get(this.calx.id+'-taskdd-container');taskcontainerDD.setStyle('top','-'+nh_TOPcontenedorTasks+'px');taskcontainerDD.setStyle('height',nh_TOPcontenedorTasks+'px');this.refertasks=Ext.select('div.sched_lisItem_div',true);this.refertasks.each(function(el,thisobj,index){if(el.id.indexOf(this.calx.id+'-eventno-')+1>=1){el.addClassOnOver('sched_listItem_mouseOver');if(this.listItems.launchEventOn!=''){el.addListener(this.listItems.launchEventOn,this.onclick_listItems,this);}if(this.listItems.editableEvents){if(Ext.isOpera){el.addListener('mousedown',this.operabuttons_for_listItem,this);}else{el.addListener('contextmenu',this.oncontextmenu_for_lisItem,this,{stopPropagation:true,normalized:true,preventDefault:true});}}}},this);myddcontainer=Ext.get(this.calx.id+'-taskdd-container');this.createTasksDD(mytasks,myddcontainer);}else{notaskhtml=this.genShedNoContentScreen();mycontentSched.insertHtml('beforeEnd',notaskhtml,false);if(this.header){Ext.get(this.calx.id+'-body-sched-no-task-screen').setStyle('height',(Ext.get(this.calx.body).getHeight()-46)+'px');}else{Ext.get(this.calx.id+'-body-sched-no-task-screen').setStyle('height',(Ext.get(this.calx.body).getHeight()-23)+'px');}Ext.get(this.calx.id+'-body-sched-no-task-screen').setStyle('background-color',this.blankzonebg);var tmp_element=Ext.DomQuery.selectNode('div[id='+this.calx.id+'_addevent_element_screen]');if(tmp_element!=undefined){Ext.get(tmp_element.id).addListener('click',this.neweventlaunch,this);}}myMask.hide();},operabuttons_for_listItem:function(evx,elx,obx){if(evx.button==2){this.oncontextmenu_for_lisItem(evx,elx,obx);}},operabuttons_for_taskdd:function(evx,elx,obx){if(evx.button==2){this.oncontextmenu_for_taskdd(evx,elx,obx);}},oncontextmenu_for_lisItem:function(evx,elx,obx){if(elx.id.indexOf(this.calx.id+'-eventno-')+1>=1){}else{return false;}evx.stopEvent();if(this.menu_listItem){this.menu_listItem.removeAll();}var strtaskvalue=elx.id.replace(this.calx.id+'-eventno-','');var taskvalue=strtaskvalue;var dataobj=this.calx.store.getById(taskvalue).data;tmpmenuobjs=[];if(this.listItems.ShowMenuItems[0]){buttonx1=new Ext.menu.Item({id:this.calx.id+'-listItem-mnuitem-Add',iconCls:'x-calendar-sched-btnmv_add',text:e2cs.cal_locale.contextMenuLabelsSchedule.taskAdd});buttonx1.addListener('click',function(){this.neweventlaunch();},this);tmpmenuobjs.push(buttonx1);}if(this.listItems.ShowMenuItems[2]){buttonx3=new Ext.menu.Item({id:this.calx.id+'-listItem-mnuitem-Delete',iconCls:'x-calendar-sched-btnmv_delete',text:e2cs.cal_locale.contextMenuLabelsSchedule.taskDelete+' '+taskvalue+' '});buttonx3.addListener('click',function(){var datatask=this.getTaskarray(dataobj);var check=this.calx.fireEvent("beforeTaskDelete",datatask,this.vday);if(check!=true){if(this.calx.fireEvent("onTaskDelete",datatask)==true){this.calx.fireEvent("afterTaskDelete",datatask,true);}else{this.calx.fireEvent("afterTaskDelete",null,false);}}},this);tmpmenuobjs.push(buttonx3);}if(this.listItems.ShowMenuItems[1]){buttonx2=new Ext.menu.Item({id:this.calx.id+'-listItem-mnuitem-Edit',iconCls:'x-calendar-sched-btnmv_edit',text:e2cs.cal_locale.contextMenuLabelsSchedule.taskEdit+' '+taskvalue+' '});buttonx2.addListener('click',function(){var datatask=this.getTaskarray(dataobj);var check=this.calx.fireEvent("beforeTaskEdit",datatask,this.vday);if(check!=true){if(this.calx.fireEvent("onTaskEdit",datatask)==true){this.calx.fireEvent("afterTaskEdit",datatask,true);}else{this.calx.fireEvent("afterTaskEdit",null,false);}}},this);tmpmenuobjs.push(buttonx2);}if(this.listItems.ShowMenuItems[0]||this.listItems.ShowMenuItems[1]||this.listItems.ShowMenuItems[2]){button_sep_one=new Ext.menu.Separator({});tmpmenuobjs.push(button_sep_one);}if(this.listItems.ShowMenuItems[3]){buttonx4=new Ext.menu.Item({id:this.calx.id+'-listItem-mnuitem-gnp',iconCls:'x-calendar-sched-btnmv_nextperiod',text:e2cs.cal_locale.contextMenuLabelsSchedule.NextPeriod});buttonx4.addListener('click',this.onclicknext_period,this);tmpmenuobjs.push(buttonx4);}if(this.listItems.ShowMenuItems[4]){buttonx5=new Ext.menu.Item({id:this.calx.id+'-listItem-mnuitem-gpp',iconCls:'x-calendar-sched-btnmv_prevperiod',text:e2cs.cal_locale.contextMenuLabelsSchedule.PreviousPeriod});buttonx5.addListener('click',this.onclickprev_period,this);tmpmenuobjs.push(buttonx5);}if(this.listItems.ShowMenuItems[3]||this.listItems.ShowMenuItems[4]){button_sep_two=new Ext.menu.Separator({});tmpmenuobjs.push(button_sep_two);}if(this.listItems.ShowMenuItems[5]&&this.listItems.ShowMenuItems[6]&&this.listItems.ShowMenuItems[7]){}else{if(this.listItems.ShowMenuItems[3]&&this.listItems.ShowMenuItems[4]){}else{if(this.listItems.ShowMenuItems[0]&&this.listItems.ShowMenuItems[1]&&this.listItems.ShowMenuItems[2]){}else{tmpmenuobjs.pop();}}}if(this.listItems.ShowMenuItems[5]){buttonx6=new Ext.menu.Item({id:this.calx.id+'-listItem-mnuitem-chgm',iconCls:'x-calendar-sched-btnmv_viewmonth',text:e2cs.cal_locale.contextMenuLabelsSchedule.chgmview});buttonx6.addListener('click',function(){this.changeCalview(0);},this);tmpmenuobjs.push(buttonx6);}if(this.listItems.ShowMenuItems[6]){buttonx6=new Ext.menu.Item({id:this.calx.id+'-listItem-mnuitem-chgw',iconCls:'x-calendar-sched-btnmv_viewweek',text:e2cs.cal_locale.contextMenuLabelsSchedule.chgwview});buttonx6.addListener('click',function(){this.changeCalview(1);},this);tmpmenuobjs.push(buttonx6);}if(this.listItems.ShowMenuItems[7]){buttonx7=new Ext.menu.Item({id:this.calx.id+'-listItem-mnuitem-chgd',iconCls:'x-calendar-sched-btnmv_viewday',text:e2cs.cal_locale.contextMenuLabelsSchedule.chgdview});buttonx7.addListener('click',function(){this.changeCalview(2);},this);tmpmenuobjs.push(buttonx7);}if((this.listItems.ShowMenuItems[5]||this.listItems.ShowMenuItems[6]||this.listItems.ShowMenuItems[7])&&this.listItems.moreMenuItems.length>0){button_sep_three=new Ext.menu.Separator({});tmpmenuobjs.push(button_sep_three);}if(this.listItems.moreMenuItems.length>0){for(var i=0;i<this.listItems.moreMenuItems.length;i++){var idmenuitem=this.listItems.moreMenuItems[i].id;this.listItems.moreMenuItems[i].rendered=false;this.listItems.moreMenuItems[i].addListener('click',function(parx){this.onCustomMenuAction(parx.id,Ext.get(elx));},this);tmpmenuobjs.push(this.listItems.moreMenuItems[i]);}}this.menu_listItem=new Ext.menu.Menu({id:this.calx.id+'-contextmenu-listItem-sel',shadow:true,items:[]});var countdataitems=tmpmenuobjs.length;for(var i=0;i<countdataitems;i++){this.menu_listItem.add(tmpmenuobjs[i]);}this.menu_listItem.on('hide',this.onContextHide,this);this.menu_listItem.showAt([evx.getPageX(),evx.getPageY()]);},oncontextmenu_for_taskdd:function(evx,elx,obx){if(elx.id.indexOf(this.calx.id+'-shced-taskdd-')+1>=1){}else{return false;}if(this.listItems.taskdd_ShowMenuItems[0]==false&&this.listItems.taskdd_ShowMenuItems[1]==false&&this.listItems.taskdd_ShowMenuItems[2]==false&&this.listItems.moreMenuItems.length>0){return false;}evx.stopEvent();if(this.taskmenu_listItem){this.taskmenu_listItem.removeAll();}var strtaskvalue=elx.id.replace(this.calx.id+'-shced-taskdd-','');var taskvalue=strtaskvalue;var dataobj=this.calx.store.getById(taskvalue).data;tmpmenuobjs=[];if(this.listItems.taskdd_ShowMenuItems[0]){buttonx1=new Ext.menu.Item({id:this.calx.id+'-listItem-mnuitem-Add',iconCls:'x-calendar-sched-btnmv_add',text:e2cs.cal_locale.contextMenuLabelsSchedule.taskAdd});buttonx1.addListener('click',function(){this.neweventlaunch();},this);tmpmenuobjs.push(buttonx1);}if(this.listItems.taskdd_ShowMenuItems[2]){buttonx3=new Ext.menu.Item({id:this.calx.id+'-listItem-mnuitem-Delete',iconCls:'x-calendar-sched-btnmv_delete',text:e2cs.cal_locale.contextMenuLabelsSchedule.taskDelete+' '+taskvalue+' '});buttonx3.addListener('click',function(){var datatask=this.getTaskarray(dataobj);var check=this.calx.fireEvent("beforeTaskDelete",datatask,this.vday);if(check!=true){if(this.calx.fireEvent("onTaskDelete",datatask)==true){this.calx.fireEvent("afterTaskDelete",datatask,true);}else{this.calx.fireEvent("afterTaskDelete",null,false);}}},this);tmpmenuobjs.push(buttonx3);}if(this.listItems.taskdd_ShowMenuItems[1]){buttonx2=new Ext.menu.Item({id:this.calx.id+'-listItem-mnuitem-Edit',iconCls:'x-calendar-sched-btnmv_edit',text:e2cs.cal_locale.contextMenuLabelsSchedule.taskEdit+' '+taskvalue+' '});buttonx2.addListener('click',function(){var datatask=this.getTaskarray(dataobj);var check=this.calx.fireEvent("beforeTaskEdit",datatask,this.vday);if(check!=true){if(this.calx.fireEvent("onTaskEdit",datatask)==true){this.calx.fireEvent("afterTaskEdit",datatask,true);}else{this.calx.fireEvent("afterTaskEdit",null,false);}}},this);tmpmenuobjs.push(buttonx2);}if((this.listItems.taskdd_ShowMenuItems[0]||this.listItems.taskdd_ShowMenuItems[1]||this.listItems.taskdd_ShowMenuItems[2])&&this.listItems.moreMenuItems.length>0){button_sep_one=new Ext.menu.Separator({});tmpmenuobjs.push(button_sep_one);}if(this.listItems.moreMenuItems.length>0){for(var i=0;i<this.listItems.moreMenuItems.length;i++){var idmenuitem=this.listItems.moreMenuItems[i].id;this.listItems.moreMenuItems[i].rendered=false;this.listItems.moreMenuItems[i].addListener('click',function(parx){this.onCustomMenuAction(parx.id,Ext.get(elx));},this);tmpmenuobjs.push(this.listItems.moreMenuItems[i]);}}this.taskmenu_listItem=new Ext.menu.Menu({id:this.calx.id+'-contextmenu-listItem-taskdd-sel',shadow:true,items:[]});var countdataitems=tmpmenuobjs.length;for(var i=0;i<countdataitems;i++){this.taskmenu_listItem.add(tmpmenuobjs[i]);}this.taskmenu_listItem.on('hide',this.onContextHide,this);this.taskmenu_listItem.showAt([evx.getPageX(),evx.getPageY()]);},onContextHide:function(){},onCustomMenuAction:function(menuID,Elementx){if(Elementx.id.indexOf(this.calx.id+'-eventno-')+1>=1){var strtaskvalue=Elementx.id.replace(this.calx.id+'-eventno-','');var taskvalue=strtaskvalue;var dataobj=this.getTaskarray(this.calx.store.getById(taskvalue).data);this.calx.fireEvent("customMenuAction",menuID,'scheduler',dataobj,Elementx,this);}if(Elementx.id.indexOf(this.calx.id+'-shced-taskdd-')+1>=1){var strtaskvalue=Elementx.id.replace(this.calx.id+'-shced-taskdd-','');var taskvalue=strtaskvalue;var dataobj=this.getTaskarray(this.calx.store.getById(taskvalue).data);this.calx.fireEvent("customMenuAction",menuID,'scheduler',dataobj,Elementx,this);}},onclick_myheadersvalues:function(evx,elx,obx){if(elx.id.indexOf('hour-')+1>0){var mydatetohandle=elx.id.replace('hour-'+this.calx.id+'-tdsched_valcols-','');mydatetohandle=mydatetohandle.substr(mydatetohandle.indexOf('-')+1);if(this.headerAction=='gotoview'){if(this.calx.viewday!=null||this.calx.viewday!=undefined){if(this.calx.fireEvent("beforeChangeView",'day','schedule',this.calx)==false){return false;}else{this.calx.currentdate=new Date(mydatetohandle);this.calx.selector_dateMenu.picker.setValue(this.calx.currentdate);this.calx.currentView='day';this.calx.viewday.render();this.calx.fireEvent("onChangeView",'day','schedule',this);}}}else{mydatetohandledt=new Date(mydatetohandle);if(this.headerAction=="event"){this.fireEvent("headerClick","hour",mydatetohandledt,this,this.calx);}}}if(elx.id.indexOf('days-')+1>0){var mydatetohandle=elx.id.replace('days-'+this.calx.id+'-tdsched_valcols-','');if(this.headerAction=='gotoview'){if(this.calx.viewday!=null||this.calx.viewday!=undefined){if(this.calx.fireEvent("beforeChangeView",'day','schedule',this.calx)==false){return false;}else{this.calx.currentdate=new Date(mydatetohandle);this.calx.selector_dateMenu.picker.setValue(this.calx.currentdate);this.calx.currentView='day';this.calx.viewday.render();this.calx.fireEvent("onChangeView",'day','schedule',this);}}}else{mydatetohandledt=new Date(mydatetohandle);if(this.headerAction=="event"){this.fireEvent("headerClick","day",mydatetohandledt,this,this.calx);}}}if(elx.id.indexOf('weeks-')+1>0){var myweektohandle=elx.id.replace('weeks-'+this.calx.id+'-tdsched_valcols-','');var myvaluesonweek=this.calx.getDateRangeOfWeek(myweektohandle);if(this.headerAction=='gotoview'){if(this.calx.viewweek!=null||this.calx.viewweek!=undefined){if(this.calx.fireEvent("beforeChangeView",'week','schedule',this.calx)==false){return false;}else{this.calx.currentdate=new Date(myvaluesonweek[0]);this.calx.currentView='week';this.calx.viewweek.render();this.calx.fireEvent("onChangeView",'week','schedule',this);}}}else{if(this.headerAction=="event"){this.fireEvent("headerClick","week",myvaluesonweek,this,this.calx);}}}},onclick_listItems:function(evx,elx,obx){var strtaskvalue=elx.id.replace(this.calx.id+'-eventno-','');var taskvalue=strtaskvalue;var dataobj=this.calx.store.getById(taskvalue).data;this.fireEvent("listItemSendData",taskvalue,dataobj);},onclick_taskItems:function(evx,elx,obx){var strtaskvalue=elx.id.replace(this.calx.id+'-shced-taskdd-','');var taskvalue=strtaskvalue;var dataobj=this.calx.store.getById(taskvalue).data;this.fireEvent("listItemSendData",taskvalue,dataobj);},neweventlaunch:function(){refdate=new Date(this.calx.currentdate);this.calx.fireEvent("taskAdd",refdate);},changeCalview:function(typeview){if(typeview==0){varview='month';}else if(typeview==1){varview='week';}else{varview='day';}this.calx.changeView(varview);},onclickprev_period:function(){refdate=new Date(this.calx.currentdate);var testcase=this.listbody.periodType;if(testcase<0||testcase>4){testcase=2;}switch(testcase){case 0:var changedaydate=refdate.add(Date.DAY,-1);var check=this.fireEvent("beforePeriodChange",0,refdate,changedaydate);if(!check){if(this.dateSelector){this.calx.selector_dateMenu.picker.setValue(this.calx.currentdate);}this.calx.currentdate=changedaydate;this.datetohandle=changedaydate;this.render();myMask.hide();this.fireEvent("afterPeriodChange",0,changedaydate);}break;case 1:var strcurrentweek=refdate.format("W");var currentweek=parseInt(strcurrentweek)-1;var myolddates=this.calx.getDateRangeOfWeek(parseInt(strcurrentweek));var mynewdates=this.calx.getDateRangeOfWeek(currentweek);var check=this.fireEvent("beforePeriodChange",1,myolddates,mynewdates);if(!check){if(this.dateSelector){this.calx.selector_dateMenu.picker.setValue(mynewdates[0]);}this.calx.currentdate=mynewdates[0];this.render();this.fireEvent("afterPeriodChange",1,mynewdates);}break;case 2:var changemonthdate=refdate.add(Date.MONTH,-1);var check=this.fireEvent("beforePeriodChange",2,refdate,changemonthdate);if(!check){if(this.dateSelector){this.calx.selector_dateMenu.picker.setValue(this.calx.currentdate);}this.calx.currentdate=changemonthdate;this.render();this.fireEvent("afterPeriodChange",2,changemonthdate);}break;case 3:var changemonthdate=refdate.add(Date.MONTH,-2);var check=this.fireEvent("beforePeriodChange",3,refdate,changemonthdate);if(!check){if(this.dateSelector){this.calx.selector_dateMenu.picker.setValue(this.calx.currentdate);}this.calx.currentdate=changemonthdate;this.render();this.fireEvent("afterPeriodChange",3,changemonthdate);}break;case 4:var changemonthdate=refdate.add(Date.MONTH,-3);var check=this.fireEvent("beforePeriodChange",4,refdate,changemonthdate);if(!check){if(this.dateSelector){this.calx.selector_dateMenu.picker.setValue(this.calx.currentdate);}this.calx.currentdate=changemonthdate;this.render();this.fireEvent("afterPeriodChange",4,changemonthdate);}break;}},onclicknext_period:function(){refdate=new Date(this.calx.currentdate);var testcase=this.listbody.periodType;if(testcase<0||testcase>4){testcase=2;}switch(testcase){case 0:var changedaydate=refdate.add(Date.DAY,+1);var check=this.fireEvent("beforePeriodChange",0,refdate,changedaydate);if(!check){if(this.dateSelector){this.calx.selector_dateMenu.picker.setValue(this.calx.currentdate);}this.calx.currentdate=changedaydate;this.datetohandle=changedaydate;this.render();this.fireEvent("afterPeriodChange",0,changedaydate);}break;case 1:var strcurrentweek=refdate.format("W");var currentweek=parseInt(strcurrentweek)+1;var myolddates=this.calx.getDateRangeOfWeek(parseInt(strcurrentweek));var mynewdates=this.calx.getDateRangeOfWeek(currentweek);var check=this.fireEvent("beforePeriodChange",1,myolddates,mynewdates);if(!check){if(this.dateSelector){this.calx.selector_dateMenu.picker.setValue(mynewdates[0]);}this.calx.currentdate=mynewdates[0];this.render();this.fireEvent("afterPeriodChange",1,mynewdates);}break;case 2:var changemonthdate=refdate.add(Date.MONTH,+1);var check=this.fireEvent("beforePeriodChange",2,refdate,changemonthdate);if(!check){if(this.dateSelector){this.calx.selector_dateMenu.picker.setValue(this.calx.currentdate);}this.calx.currentdate=changemonthdate;this.render();this.fireEvent("afterPeriodChange",2,changemonthdate);}break;case 3:var changemonthdate=refdate.add(Date.MONTH,+2);var check=this.fireEvent("beforePeriodChange",3,refdate,changemonthdate);if(!check){if(this.dateSelector){this.calx.selector_dateMenu.picker.setValue(this.calx.currentdate);}this.calx.currentdate=changemonthdate;this.render();this.fireEvent("afterPeriodChange",3,changemonthdate);}break;case 4:var changemonthdate=refdate.add(Date.MONTH,+3);var check=this.fireEvent("beforePeriodChange",4,refdate,changemonthdate);if(!check){if(this.dateSelector){this.calx.selector_dateMenu.picker.setValue(this.calx.currentdate);}this.calx.currentdate=changemonthdate;this.render();this.fireEvent("afterPeriodChange",4,changemonthdate);}break;}},getDatesforWeek:function(Dateval){var dw=new Date(Dateval).getDay();dw=((dw==0)?6:dw-1);var initdate=new Date(Dateval.add(Date.DAY,-dw).format('m/d/Y')+' '+this.listItems.periodFormats.startTime);var enddate=new Date(Dateval.add(Date.DAY,-dw+6).format('m/d/Y')+' '+this.listItems.periodFormats.endTime);return[initdate,enddate];},getDatesforBimonth:function(DateVal){var dw=new Date(DateVal);var currentmonth=dw.getMonth();var bimestre=(Math.floor(currentmonth/2)+1);var nummonthInitbim=(bimestre*2)-1;var nummonthEndbim=(bimestre*2);datestarts=new Date(nummonthInitbim+"/01/"+dw.getUTCFullYear()+' '+this.listItems.periodFormats.startTime);tmpdate=new Date(nummonthEndbim+"/01/"+dw.getUTCFullYear());tmplastday=tmpdate.getLastDateOfMonth();dateends=new Date(nummonthEndbim+"/"+tmplastday.getUTCDate()+"/"+dw.getUTCFullYear()+' '+this.listItems.periodFormats.endTime);return[datestarts,dateends];},getDatesForQuarter:function(DateVal){var dw=new Date(DateVal);var currentmonth=dw.getMonth();var quarter=Math.floor(currentmonth/3)+1;var nummonthInitQ=(quarter*3)-2;var nummonthEndQ=(quarter*3);datestarts=new Date(nummonthInitQ+"/01/"+dw.getUTCFullYear()+' '+this.listItems.periodFormats.startTime);tmpdate=new Date(nummonthEndQ+"/01/"+dw.getUTCFullYear());tmplastday=tmpdate.getLastDateOfMonth();dateends=new Date(nummonthEndQ+"/"+tmplastday.getUTCDate()+"/"+dw.getUTCFullYear()+' '+this.listItems.periodFormats.endTime);return[datestarts,dateends];},getTaskarray:function(dataobj){var datatask=[];datatask[0]=dataobj[this.calx.fieldsRefer.id];datatask[1]=dataobj[this.calx.fieldsRefer.id];datatask[2]=dataobj[this.calx.fieldsRefer.subject];datatask[3]=dataobj[this.calx.fieldsRefer.startdate];datatask[4]=dataobj[this.calx.fieldsRefer.enddate];datatask[5]=dataobj[this.calx.fieldsRefer.description];datatask[6]=this.calx.store.indexOfId(dataobj[this.calx.fieldsRefer.id]);return datatask;},getHeaderLabel:function(){var datexreturn='';var testcase=this.listbody.periodType;if(testcase<0||testcase>4){testcase=2;}var dt=new Date(this.calx.currentdate);switch(testcase){case 0:datexreturn=dt.format(this.listItems.periodFormats.Day);break;case 1:var numWeek=dt.format(this.listItems.periodFormats.WeekFormat);var rangedate=this.getDatesforWeek(dt);var datatoApply={numweek:numWeek,datestart:rangedate[0].format(this.listItems.periodFormats.DatesFormat),dateend:rangedate[1].format(this.listItems.periodFormats.DatesFormat)};var mytpldates=new Ext.XTemplate(this.listItems.periodFormats.WeekTPL);datexreturn=mytpldates.apply(datatoApply);break;case 2:datexreturn=dt.format(this.listItems.periodFormats.Month);break;case 3:var dw=new Date(dt);var currentmonth=dw.getMonth();var bimestre=(Math.floor(currentmonth/2)+1);var rangedate=this.getDatesforBimonth(dt);var datatoApply={numperiod:bimestre,datestart:rangedate[0].format(this.listItems.periodFormats.DatesFormat),dateend:rangedate[1].format(this.listItems.periodFormats.DatesFormat)};var mytpldates=new Ext.XTemplate(this.listItems.periodFormats.TwoMonthsTPL);datexreturn=mytpldates.apply(datatoApply);break;case 4:var dw=new Date(dt);var currentmonth=dw.getMonth();var quarter=Math.floor(currentmonth/3)+1;var rangedate=this.getDatesForQuarter(dt);var datatoApply={numperiod:quarter,datestart:rangedate[0].format(this.listItems.periodFormats.DatesFormat),dateend:rangedate[1].format(this.listItems.periodFormats.DatesFormat)};var mytpldates=new Ext.XTemplate(this.listItems.periodFormats.QuarterTPL);datexreturn=mytpldates.apply(datatoApply);break;}return datexreturn;},createTasksDD:function(TasksIndexes,DDContainer){var dt=new Date(this.calx.currentdate);var cuenta=TasksIndexes.length;var pos=[];for(var i=0;i<cuenta;i++){if(this.calx.store.getAt(TasksIndexes[i]).data[this.calx.fieldsRefer.color]){colortask=this.calx.store.getAt(TasksIndexes[i]).data[this.calx.fieldsRefer.color];}else{colortask=this.listItems.taskdd_BaseColor;}var labeltaskdd='';if(this.listItems.taskdd_shownames){labeltaskdd=this.calx.store.getAt(TasksIndexes[i]).data[this.calx.fieldsRefer.subject];}else{labeltaskdd='&nbsp;'}var mydiv_elementHTML='<div id="'+this.calx.id+'-shced-taskdd-'+this.calx.store.getAt(TasksIndexes[i]).data[this.calx.fieldsRefer.id];mydiv_elementHTML+='" class="sched_taskdd_base" style="background-color:'+colortask;if(Ext.isIE){mydiv_elementHTML+=';height:21px;';}mydiv_elementHTML+='">';mydiv_elementHTML+=labeltaskdd;mydiv_elementHTML+='</div>';var mynewElement=DDContainer.insertHtml('beforeEnd',mydiv_elementHTML,true);if(this.listItems.taskdd_showqtip){var tmpdate=new Date(this.calx.store.getAt(TasksIndexes[i]).data[this.calx.fieldsRefer.startdate]);var startlabel=tmpdate.format(this.listItems.periodFormats.DatesFormat+' '+this.listItems.periodFormats.hourFormat);tmpdate=new Date(this.calx.store.getAt(TasksIndexes[i]).data[this.calx.fieldsRefer.enddate]);var endlabel=tmpdate.format(this.listItems.periodFormats.DatesFormat+' '+this.listItems.periodFormats.hourFormat);mynewElement.dom.qtitle=this.calx.store.getAt(TasksIndexes[i]).data[this.calx.fieldsRefer.subject];var datatip={creator:this.calx.store.getAt(TasksIndexes[i]).data['creator'],starxl:e2cs.cal_locale.task_qtip_starts,startval:startlabel,endxl:e2cs.cal_locale.task_qtip_ends,endval:endlabel,details:this.calx.store.getAt(TasksIndexes[i]).data[this.calx.fieldsRefer.description]};mynewElement.dom.qtip=this.calx.tplTaskTip.apply(datatip);}switch(this.listbody.headerUnit){case 0:var refdt_ini=new Date(this.calx.store.getAt(TasksIndexes[i]).data[this.calx.fieldsRefer.startdate]);var refstr_ini=dt.format('m/d/Y')+' '+this.listItems.periodFormats.startTime;var dt_ini=new Date(refstr_ini);if(refdt_ini<=dt_ini){pos[0]=0;}else{mydiff_a=this.calx.dateDiff(dt_ini,refdt_ini,e2cs.dateParts.MINUTE);if(mydiff_a<=0){pos[0]=0;}else{pos[0]=((this.listbody.headerUnitWidth*mydiff_a)/60);}}var refdt_end=new Date(this.calx.store.getAt(TasksIndexes[i]).data[this.calx.fieldsRefer.enddate]);var refstr_end=dt.format('m/d/Y')+' '+this.listItems.periodFormats.endTime;var dt_end=new Date(refstr_end);if(refdt_end>=dt_end){pos[1]=(DDContainer.getWidth(false)-pos[0]);}else{mydiff_b=this.calx.dateDiff(refdt_ini,refdt_end,e2cs.dateParts.MINUTE);mydiff_allday=this.calx.dateDiff(dt_ini,dt_end,e2cs.dateParts.MINUTE);if(mydiff_b>=mydiff_allday){pos[1]=(DDContainer.getWidth(false)-pos[0]);}else{pos[1]=((this.listbody.headerUnitWidth*mydiff_b)/60);}}break;case 1:if(this.listbody.periodType==1){var rangedates=this.getDatesforWeek(dt);}else if(this.listbody.periodType==2){var firstday=new Date(dt.format('m')+"/01/"+dt.format('Y')+' '+this.listItems.periodFormats.startTime);var lastday=dt.getLastDateOfMonth();var lastdaydt=new Date(lastday.format('m/d/')+dt.format('Y')+' '+this.listItems.periodFormats.endTime);var rangedates=[firstday,lastdaydt];}else if(this.listbody.periodType==3){var rangedates=this.getDatesforBimonth(dt);}else if(this.listbody.periodType==4){var rangedates=this.getDatesForQuarter(dt);}var refdt_ini=new Date(this.calx.store.getAt(TasksIndexes[i]).data[this.calx.fieldsRefer.startdate]);mydiff_a=this.calx.dateDiff(rangedates[0],refdt_ini,e2cs.dateParts.DAY);if(mydiff_a<=0){pos[0]=0;}else{if(parseInt(refdt_ini.format('j'))==mydiff_a){pos[0]=((this.listbody.headerUnitWidth*(mydiff_a+1)));}else{if(rangedates[0].add(Date.HOUR,(i)).format("m/d/Y")==refdt_ini.format("m/d/Y")){pos[0]=((this.listbody.headerUnitWidth*mydiff_a+1));}else{pos[0]=((this.listbody.headerUnitWidth*(mydiff_a)));}}}var refdt_end=new Date(this.calx.store.getAt(TasksIndexes[i]).data[this.calx.fieldsRefer.enddate]);mydiff_b=this.calx.dateDiff(refdt_ini,refdt_end,e2cs.dateParts.DAY);mydiff_c=this.calx.dateDiff(rangedates[0],refdt_end,e2cs.dateParts.DAY);mydiff_allperiod=this.calx.dateDiff(rangedates[1],refdt_end,e2cs.dateParts.DAY);if(mydiff_allperiod>=0){pos[1]=(DDContainer.getWidth(false)-pos[0]);}else{if(mydiff_a<0){if((this.listbody.headerUnitWidth*mydiff_c)>DDContainer.getWidth(false)){pos[1]=DDContainer.getWidth(false);}else{if(parseInt(refdt_end.format('j'))==mydiff_c){pos[1]=((this.listbody.headerUnitWidth*mydiff_c));}else{pos[1]=this.listbody.headerUnitWidth*(mydiff_c+1);}}}else{var mydiff_touse=0;if(mydiff_b==0){mydiff_touse=mydiff_b+1;}else{if(refdt_ini.format('m/d')==refdt_end.format('m/d')){mydiff_touse=1;}else{if(mydiff_b>0){mydiff_touse=mydiff_b+1;}}}pos[1]=((this.listbody.headerUnitWidth*mydiff_touse));}}break;case 2:if(this.listbody.periodType==2){var firstday=new Date(dt.format('m')+"/01/"+dt.format('Y')+' '+this.listItems.periodFormats.startTime);var lastday=dt.getLastDateOfMonth();var lastdaydt=new Date(lastday.format('m/d/')+dt.format('Y')+' '+this.listItems.periodFormats.endTime);var rangedates=[firstday,lastdaydt];}else if(this.listbody.periodType==3){var rangedates=this.getDatesforBimonth(dt);}else if(this.listbody.periodType==4){var rangedates=this.getDatesForQuarter(dt);}var weekinit=parseInt(rangedates[0].format('W'));var weekend=parseInt(rangedates[1].format('W'));if(weekend!=(this.lastweekofPeriod_tmp)){weekend=this.lastweekofPeriod_tmp;}var refdt_ini=new Date(this.calx.store.getAt(TasksIndexes[i]).data[this.calx.fieldsRefer.startdate]);var refweek_ini=parseInt(refdt_ini.format('W'));if(refweek_ini<weekinit){pos[0]=0;}else{var testcalc=(refweek_ini-weekinit);pos[0]=(this.listbody.headerUnitWidth*testcalc);}var refdt_end=new Date(this.calx.store.getAt(TasksIndexes[i]).data[this.calx.fieldsRefer.enddate]);var refweek_end=parseInt(refdt_end.format('W'));if(refweek_ini==refweek_end){pos[1]=this.listbody.headerUnitWidth;}else if(refweek_end>weekend){pos[1]=DDContainer.getWidth(false);}else{pos[1]=this.listbody.headerUnitWidth*((refweek_end-refweek_ini)+1);}break;}if(Ext.isGecko3||Ext.isSafari||Ext.isIE){pos[0]+=-1;}mynewElement.setX(Ext.get(this.calx.id+'-taskdd-container').getLeft()+pos[0]);if(Ext.isIE){mynewElement.setWidth(pos[1]+1);}else{mynewElement.setStyle('width',(pos[1]-1)+'px');}if(this.listItems.taskdd_clsOver!=''){mynewElement.addClassOnOver(this.listItems.taskdd_clsOver);}if(this.listItems.launchEventOn!=''){mynewElement.addListener(this.listItems.launchEventOn,this.onclick_taskItems,this);}if(this.listItems.editableEvents){if(Ext.isOpera){mynewElement.addListener('mousedown',this.operabuttons_for_taskdd,this);}else{mynewElement.addListener('contextmenu',this.oncontextmenu_for_taskdd,this,{stopPropagation:true,normalized:true,preventDefault:true});}}}},genSchedbodyHeader:function(){var myDatatoGen_temp='';if(Ext.isSafari){myDatatoGen='';}else{myDatatoGen='<div id="'+this.calx.id+'-container-tablehdr-sched-bdy-submain">';}myDatatoGen+='<table id="'+this.calx.id+'-table-hdr-sched-body" width="{TABLEXXW1}" border="0" cellpadding="0" cellspacing="0"><tr>';myDatatoGen+='<td width="'+this.listItems.descriptionWidth+'" valign="top">';if(Ext.isIE6||Ext.isIE7){myDatatoGen+='<div class="scheduler_header_eventslist_IE" style="width:'+this.listItems.descriptionWidth+';"><div class="sched_tab2_IE">'+this.listItems.headerTitle+'</div></div></td>';}else{myDatatoGen+='<div class="scheduler_header_eventslist" style="width:'+this.listItems.descriptionWidth+';"><div class="sched_tab2"><div class="sched_tab1">'+this.listItems.headerTitle+'</div></div></div></td>';}myDatatoGen+='<td width="{TDXXVAL2}">';if(Ext.isSafari){myDatatoGen+='<div id="'+this.calx.id+'-container_header_sched_base" style="width:{TDXXVAL2}px; overflow:hidden; overflow-x:hidden; overflow-y:auto;">';}else if(Ext.isGecko3){myDatatoGen+='<div id="'+this.calx.id+'-container_header_sched_base" style="width:{TDXXVAL2}px; overflow:hidden;">';}else{myDatatoGen+='<div id="'+this.calx.id+'-container_header_sched_base" style="width:100%; overflow:hidden;">';}myDatatoGen+='<div id="'+this.calx.id+'-subcontainer_sched_headers" style="width:{TDXXVAL3}px;">';myDatatoGen+='<table id="'+this.calx.id+'-table-hdr-sched-units'+'" width="{TDXXVAL3}" border="0" cellspacing="0" cellpadding="0">';if(Ext.isIE){myDatatoGen+='<tr id="'+this.calx.id+'-scheduler_row_headers"  class="sched_dayheader_base" style="height:20px;">';}else{myDatatoGen+='<tr id="'+this.calx.id+'-scheduler_row_headers"  class="sched_dayheader_base">';}if(this.listbody.headerUnit<0||this.listbody.headerUnit>2){this.listbody.headerUnit=1;}switch(this.listbody.headerUnit){case 0:if(this.listbody.headerUnitWidth<70){this.listbody.headerUnitWidth=70;}myDatatoGen_temp='';var dt=new Date(this.calx.currentdate);var inittime=new Date(dt.format('m/d/Y')+' '+this.listItems.periodFormats.startTime);var endtime=new Date(dt.format('m/d/Y')+' '+this.listItems.periodFormats.endTime);this.diffhrs=this.calx.dateDiff(inittime,endtime,e2cs.dateParts.HOUR);for(var i=0;i<=this.diffhrs;i++){var valuedatetmp=inittime.add(Date.HOUR,(i)).format(this.listItems.periodFormats.DatesFormat);var valueidtmp=inittime.add(Date.HOUR,(i)).format('m/d/Y h:i:s');myDatatoGen_temp+='<td width="'+this.listbody.headerUnitWidth+'" class="tdshx">';if(Ext.isIE){myDatatoGen_temp+='<div class="sched_hdrbody_vals_IE" ';}else{myDatatoGen_temp+='<div class="sched_hdrbody_vals" ';}myDatatoGen_temp+='id="hour-'+this.calx.id+'-tdsched_valcols-'+i+'-'+valueidtmp+'" ';myDatatoGen_temp+='ext:qtitle="'+inittime.add(Date.HOUR,(i)).format(this.listItems.periodFormats.hourFormat);myDatatoGen_temp+='" ext:qtip="'+inittime.add(Date.HOUR,(i)).format(this.listItems.periodFormats.DatesFormat)+'"';myDatatoGen_temp+='>'+inittime.add(Date.HOUR,(i)).format(this.listItems.periodFormats.hourFormat)+'</div></td>';}this.numelements=i;break;case 1:var dt=new Date(this.calx.currentdate);if(this.listbody.periodType==1){var rangedates=this.getDatesforWeek(dt);}else if(this.listbody.periodType==2){var firstday=new Date(dt.format('m')+"/01/"+dt.format('Y'));var lastday=dt.getLastDateOfMonth();var rangedates=[firstday,lastday];}else if(this.listbody.periodType==3){var rangedates=this.getDatesforBimonth(dt);}else if(this.listbody.periodType==4){var rangedates=this.getDatesForQuarter(dt);}else{var firstday=new Date(dt.format('m')+"/01/"+dt.format('Y'));var lastday=new dt.getLastDateOfMonth();var rangedates=[firstday,lastday];}var diffdays=this.calx.dateDiff(rangedates[0],rangedates[1],e2cs.dateParts.DAY);inittime=rangedates[0];if(this.listbody.periodType==1){diffdays+=0;}if(this.listbody.periodType==2){diffdays+=1;}myDatatoGen_temp='';for(var i=0;i<diffdays;i++){var valuetodisp=inittime.add(Date.DAY,(i)).format(this.listItems.periodFormats.DayScheduler_format);var valuedatetmp=inittime.add(Date.DAY,(i)).format(this.listItems.periodFormats.DatesFormat);var valueidtmp=inittime.add(Date.DAY,(i)).format('m/d/Y');myDatatoGen_temp+='<td width="'+this.listbody.headerUnitWidth+'" class="tdshx">';myDatatoGen_temp+='<div class="sched_hdrbody_vals" ';myDatatoGen_temp+='id="days-'+this.calx.id+'-tdsched_valcols-'+valueidtmp+'" ';myDatatoGen_temp+='ext:qtitle="'+e2cs.cal_locale.scheduler_headerListStrings.Day+" "+valuetodisp;myDatatoGen_temp+='" ext:qtip="'+valuedatetmp+'"';myDatatoGen_temp+='>'+valuetodisp+'</div></td>';}this.numelements=i;break;case 2:var dt=new Date(this.calx.currentdate);if(this.listbody.periodType==3){var rangedates=this.getDatesforBimonth(dt);}else if(this.listbody.periodType==4){var rangedates=this.getDatesForQuarter(dt);}diffweeks=this.calx.dateDiff(rangedates[0],rangedates[1],e2cs.dateParts.WEEK);initWeek=rangedates[0].format('W');numinitWeek=parseInt(initWeek);Totalweekstoloop=(numinitWeek+diffweeks);if(this.listbody.periodType==3){Totalweekstoloop=Totalweekstoloop+2;}else{Totalweekstoloop=Totalweekstoloop+1;}myDatatoGen_temp='';for(var i=numinitWeek;i<Totalweekstoloop;i++){var mycustomrangeonweek=this.calx.getDateRangeOfWeek(i);var valuetodisp=i;myDatatoGen_temp+='<td width="'+this.listbody.headerUnitWidth+'" class="tdshx">';myDatatoGen_temp+='<div id="weeks-'+this.calx.id+'-tdsched_valcols-'+valuetodisp+'" class="sched_hdrbody_vals" style="width:'+this.listbody.headerUnitWidth+'px;" ';myDatatoGen_temp+='ext:qtitle="'+e2cs.cal_locale.scheduler_headerListStrings.week+" "+valuetodisp;myDatatoGen_temp+='" ext:qtip="'+e2cs.cal_locale.scheduler_headerListStrings.week+" "+valuetodisp;myDatatoGen_temp+=' '+e2cs.cal_locale.scheduler_period_from_to.starts+' '+mycustomrangeonweek[0].format(this.listItems.periodFormats.DatesFormat);myDatatoGen_temp+=' '+e2cs.cal_locale.scheduler_period_from_to.ends+' '+mycustomrangeonweek[1].format(this.listItems.periodFormats.DatesFormat);myDatatoGen_temp+='"';myDatatoGen_temp+='>'+valuetodisp+'</div></td>';this.lastweekofPeriod_tmp=valuetodisp;}if(this.listbody.periodType==3){this.numelements=diffweeks+2;}else{this.numelements=diffweeks+1;}break;}myDatatoGen+=myDatatoGen_temp;myDatatoGen+='</tr></table></div></div></td></tr></table>';if(Ext.isSafari){}else{myDatatoGen+='</div>';}return myDatatoGen;},genShedContentList:function(Task_indexes){var mydatareturn='';mydatareturn+='<div id="'+this.calx.id+'-body-sched-container-list" class="sched_container_body">';mydatareturn+='<div id="'+this.calx.id+'body-sched-insider" class="sched_container_insider">';mydatareturn+='<table id="'+this.calx.id+'-skeleton_sched" width="{ANCHO1TOTAL}" border="0" cellspacing="0" cellpadding="0">';var cuenta=Task_indexes.length;for(var i=0;i<cuenta;i++){var bguseit='';if(this.listItems.useStoreColor){bguseit='style="background-color:'+this.calx.store.getAt(Task_indexes[i]).data[this.calx.fieldsRefer.color]+';"';}else{bguseit='';}mydatareturn+='<tr id="'+this.calx.id+'-tr-list-event-'+this.calx.store.getAt(Task_indexes[i]).data[this.calx.fieldsRefer.id]+'">';if(this.listItems.parentLists){if(prueba.store.getAt(Task_indexes[i]).data[this.calx.fieldsRefer.parent]){mydatareturn+='<td width="{ANCHOREFLIST}" class="sched_listItem sched_childItem"><div id="'+this.calx.id+'-eventno-'+this.calx.store.getAt(Task_indexes[i]).data[this.calx.fieldsRefer.id]+'" class="sched_lisItem_div" '+bguseit+'>'+this.calx.store.getAt(Task_indexes[i]).data[this.calx.fieldsRefer.subject]+'</div></td>';}else{mydatareturn+='<td width="{ANCHOREFLIST}" class="sched_listItem sched_parentItem"><div id="'+this.calx.id+'-eventno-'+this.calx.store.getAt(Task_indexes[i]).data[this.calx.fieldsRefer.id]+'" class="sched_lisItem_div"'+bguseit+'>'+this.calx.store.getAt(Task_indexes[i]).data[this.calx.fieldsRefer.subject]+'</div></td>';}}else{mydatareturn+='<td width="{ANCHOREFLIST}" class="sched_listItem sched_parentItem"><div id="'+this.calx.id+'-eventno-'+this.calx.store.getAt(Task_indexes[i]).data[this.calx.fieldsRefer.id]+'" class="sched_lisItem_div"'+bguseit+'>'+this.calx.store.getAt(Task_indexes[i]).data[this.calx.fieldsRefer.subject]+'</div></td>';}mydatareturn+='<td>';mydatareturn+='<table width="{anchocolgrids}" border="0" cellspacing="0" cellpadding="0"><tr><td>';mydatareturn+='<div id="'+this.calx.id+'-container_sched_rec-'+this.calx.store.getAt(Task_indexes[i]).data[this.calx.fieldsRefer.id]+'" style="width:100%;">';mydatareturn+='<div id="'+this.calx.id+'-subcontainer_sched_rec-'+this.calx.store.getAt(Task_indexes[i]).data[this.calx.fieldsRefer.id]+'" style="width:{anchocolgrids}px;">';mydatareturn+='<table width="{anchocolgrids}" border="0" cellspacing="0" cellpadding="0">';mydatareturn+='<tr id="'+this.calx.id+'-scheduler_row_grid-'+this.calx.store.getAt(Task_indexes[i]).data[this.calx.fieldsRefer.id]+'" class="sched_linetask'+this.listbody.headerUnitWidth+'">';var cuentaelements=this.numelements;if(this.listbody.headerUnit==2){if(this.listbody.periodType==3){cuentaelements+=2;}else{cuentaelements+=1;}}for(var colsJ=0;colsJ<cuentaelements;colsJ++){mydatareturn+='<td width="'+this.listbody.headerUnitWidth+'" class="tdshx_grid"><div style="height:20px;">&nbsp;</div></td>';}mydatareturn+='</tr></table>';mydatareturn+='</div>';mydatareturn+='</div>';mydatareturn+='</td></tr></table>';mydatareturn+='</td>';mydatareturn+='</tr>';}mydatareturn+='</table>';mydatareturn+='<div id="'+this.calx.id+'-taskdd-container" style="left:{ANCHOREFLIST}px; top:-{TOPcontenedorTASKS}px;width:{anchocolgrids}px;height:{TOPcontenedorTASKS}px;position:relative;float:inherit;clear:both;overflow:hidden;">';mydatareturn+='{TASKSTODISPLAY}';mydatareturn+='</div>';mydatareturn+='</div>';mydatareturn+='</div>';return mydatareturn;},genShedNoContentScreen:function(){var mydatareturn="";mydatareturn+='<div id="'+this.calx.id+'-body-sched-no-task-screen'+'">';if(this.blankHTML!=''){var dataidelement={calx:this.calx.id,sched_addevent_id:this.calx.id+'_addevent_element_screen'};var nocontentTPL=new Ext.XTemplate('<tpl for=".">'+this.blankHTML+'</tpl>');mydatareturn+=nocontentTPL.applyTemplate(dataidelement);}else{mydatareturn+=e2cs.cal_locale.scheduler_noeventsonview;}mydatareturn+='</div>';return mydatareturn;},getTasksforPeriod:function(){var datexreturn='';var testcase=this.listbody.periodType;var dt=new Date(this.calx.currentdate);var tasks=[];switch(testcase){case 0:datexreturn=dt.format(this.listItems.periodFormats.Day);var inittime=new Date(dt.format('m/d/Y')+' '+this.listItems.periodFormats.startTime);var endtime=new Date(dt.format('m/d/Y')+' '+this.listItems.periodFormats.endTime);var tasks=[];var countdone=0;counttasks=this.calx.store.getCount();for(var i=0;i<counttasks;i++){var testrec=this.calx.store.getAt(i).data;testdateinit=this.calx.store.getAt(i).data[this.calx.fieldsRefer.startdate];testdateend=this.calx.store.getAt(i).data[this.calx.fieldsRefer.enddate];checkdates=this.datetohandle.between(new Date(testdateinit),new Date(testdateend));chkformat=this.datetohandle.format('m/d/Y');test=new Date(testdateinit);if(test.format('m/d/Y')==chkformat){checkdates=true;}test=new Date(testdateend);if(test.format('m/d/Y')==chkformat){checkdates=true;}if(checkdates){tasks[countdone]=i;countdone+=1;}}break;case 1:var rangedate=this.getDatesforWeek(dt);firstdayofweek=rangedate[0];lastdayofweek=rangedate[1];var tasks=[];var countdone=0;counttasks=this.calx.store.getCount();for(var i=0;i<counttasks;i++){dateinit=new Date(this.calx.store.getAt(i).data[this.calx.fieldsRefer.startdate]);dateend=new Date(this.calx.store.getAt(i).data[this.calx.fieldsRefer.enddate]);checkdates_a=dateinit.between(firstdayofweek,lastdayofweek);checkdates_b=dateend.between(firstdayofweek,lastdayofweek);if(dateinit.format('W')==firstdayofweek.format('W')||dateinit.format('W')==lastdayofweek.format('W')){checkdates_a=true;}if(dateend.format('W')==firstdayofweek.format('W')||dateend.format('W')==lastdayofweek.format('W')){checkdates_b=true;}if(dateinit<firstdayofweek&&dateend>lastdayofweek){checkdates_a=true;checkdates_b=true;}if(checkdates_a||checkdates_b){tasks[countdone]=i;countdone+=1;}}break;case 2:firstdayofmonth=new Date(dt.format('m')+'/01/'+dt.format('Y'));lastdaytmp=dt.getLastDateOfMonth();lastdayofmonth=new Date(dt.format('m')+'/'+lastdaytmp.format('d')+'/'+dt.format('Y'));var tasks=[];var countdone=0;counttasks=this.calx.store.getCount();for(var i=0;i<counttasks;i++){dateinit=new Date(this.calx.store.getAt(i).data[this.calx.fieldsRefer.startdate]);dateend=new Date(this.calx.store.getAt(i).data[this.calx.fieldsRefer.enddate]);checkdates_a=dateinit.between(firstdayofmonth,lastdayofmonth);checkdates_b=dateend.between(firstdayofmonth,lastdayofmonth);if(dateinit.format('m')==firstdayofmonth.format('m')||dateinit.format('m')==lastdayofmonth.format('m')){checkdates_a=true;}if(dateend.format('m')==firstdayofmonth.format('m')||dateend.format('m')==lastdayofmonth.format('m')){checkdates_b=true;}var tmpmonthini=dateinit.getMonth()+1;var tmpmonthend=dateend.getMonth()+1;var currmonth=dt.getMonth()+1;if(tmpmonthini<currmonth&&tmpmonthend>currmonth){checkdates_a=true;checkdates_b=true;}if(dateinit<firstdayofmonth&&dateend>lastdayofmonth){checkdates_a=true;checkdates_b=true;}if(checkdates_a||checkdates_b){tasks[countdone]=i;countdone+=1;}}break;case 3:var dw=new Date(dt);var currentmonth=dw.getMonth();var bimestre=(Math.floor(currentmonth/2)+1);var rangedate=this.getDatesforBimonth(dt);firstdayofbim=rangedate[0];lastdayofbim=rangedate[1];var tasks=[];var countdone=0;counttasks=this.calx.store.getCount();for(var i=0;i<counttasks;i++){dateinit=new Date(this.calx.store.getAt(i).data[this.calx.fieldsRefer.startdate]);dateend=new Date(this.calx.store.getAt(i).data[this.calx.fieldsRefer.enddate]);checkdates_a=dateinit.between(firstdayofbim,lastdayofbim);checkdates_b=dateend.between(firstdayofbim,lastdayofbim);if(dateinit.format('m')==firstdayofbim.format('m')||dateinit.format('m')==lastdayofbim.format('m')){checkdates_a=true;}if(dateend.format('m')==firstdayofbim.format('m')||dateend.format('m')==lastdayofbim.format('m')){checkdates_b=true;}var tmpmonthini=dateinit.getMonth()+1;var tmpmonthend=dateend.getMonth()+1;var currmonth=dt.getMonth()+1;if(tmpmonthini<currmonth&&tmpmonthend>currmonth){checkdates_a=true;checkdates_b=true;}if(dateinit<firstdayofbim&&dateend>lastdayofbim){checkdates_a=true;checkdates_b=true;}if(checkdates_a||checkdates_b){tasks[countdone]=i;countdone+=1;}}break;case 4:var dw=new Date(dt);var currentmonth=dw.getMonth();var quarter=Math.floor(currentmonth/3)+1;var rangedate=this.getDatesForQuarter(dt);firstdayofqua=rangedate[0];lastdayofqua=rangedate[1];var tasks=[];var countdone=0;counttasks=this.calx.store.getCount();for(var i=0;i<counttasks;i++){dateinit=new Date(this.calx.store.getAt(i).data[this.calx.fieldsRefer.startdate]);dateend=new Date(this.calx.store.getAt(i).data[this.calx.fieldsRefer.enddate]);checkdates_a=dateinit.between(firstdayofqua,lastdayofqua);checkdates_b=dateend.between(firstdayofqua,lastdayofqua);if(dateinit.format('m')==firstdayofqua.format('m')||dateinit.format('m')==firstdayofqua.format('m')){checkdates_a=true;}if(dateend.format('m')==lastdayofqua.format('m')||dateend.format('m')==lastdayofqua.format('m')){checkdates_b=true;}var tmpmonthini=dateinit.getMonth()+1;var tmpmonthend=dateend.getMonth()+1;var currmonth=dt.getMonth()+1;if(tmpmonthini<currmonth&&tmpmonthend>currmonth){checkdates_a=true;checkdates_b=true;}if(dateinit<firstdayofqua&&dateend>lastdayofqua){checkdates_a=true;checkdates_b=true;}if(dateinit>=firstdayofqua&&dateend<lastdayofqua){checkdates_a=true;checkdates_b=true;}if(dateinit>=firstdayofqua&&dateend<lastdayofqua){checkdates_a=true;checkdates_b=true;}if(checkdates_a||checkdates_b){tasks[countdone]=i;countdone+=1;}}break;default:datexreturn=dt.format(this.headerFormat);break;}return tasks;}});

Ext.ECalendar.dayview=function(config){Ext.apply(this,config);this.addEvents('beforeDayChange','afterDayChange');Ext.ECalendar.dayview.superclass.constructor.call(this);};Ext.extend(Ext.ECalendar.dayview,Ext.util.Observable,{referid:'dayview',header:true,headerFormat:'l - d - F  - Y',headerButtons:true,moreMenuItems:[],hourFormat:'H',startTime:'7:00:00 am',endTime:'10:00:00 pm',taskBaseColor:'#ffffff',useMultiColorTasks:false,multiColorTasks:[],task_increment:5,task_width:50,tasksOffset:'auto',task_clsOver:'',task_showqtip:true,task_format:'d-m-Y H:i:s a',taskAdd_dblclick:true,taskAdd_timer_dblclick:true,task_DDeditable:true,task_eventLaunch:'click',ShowMenuItems:[1,1,1,1,1,1],task_ShowMenuItems:[1,1,1,1,1],tasks:[],init:function(calendar,dateval){this.calx=calendar;this.datetohandle=dateval;},refreshView:function(){this.render();},render:function(){var myMask=new Ext.LoadMask(this.calx.id,{removeMask:true,msg:e2cs.cal_locale.loadmaskText});myMask.show();var updateview=Ext.get(this.calx.body);var testrender=updateview.dom.childNodes.length;if(testrender){for(var i=testrender;i<testrender;i++){updateview.dom.removeChild(updateview.dom.childNodes[0]);}}updateview.update('');var updateview=Ext.get(this.calx.body);var daycntbase='<div id="'+this.calx.id+'-main-calendar-header"></div>';daycntbase+='<div id="'+this.calx.id+'-main-calendar-day-body"></div>';updateview.update(daycntbase);this.datetohandle=this.calx.currentdate;if(this.header){var dt=this.datetohandle;var tmpheader=this.genHeader(this.datetohandle);var tmpheader=Ext.get(this.calx.id+'-main-calendar-header');var prueba2=tmpheader;var myheaderwrap=prueba2.wrap({tag:'div',cls:'x-calendar-dayv-header',html:''});if(this.headerButtons){var prevdclick=myheaderwrap.createChild({id:this.calx.id+'-btn-pd',tag:'div',cls:'x-calendar-day-previous',html:''});var nextdclick=myheaderwrap.createChild({id:this.calx.id+'-btn-nd',tag:'div',cls:'x-calendar-day-next',html:''});prevdclick.dom['qtip']=e2cs.cal_locale.headerTooltipsDay.prev;prevdclick.addListener('click',this.onclickprev_day,this);prevdclick.addClassOnOver('x-calendar-day-previous-over');nextdclick.dom['qtip']=e2cs.cal_locale.headerTooltipsDay.next;nextdclick.addListener('click',this.onclicknext_day,this);nextdclick.addClassOnOver('x-calendar-day-next-over');}var headerdx=myheaderwrap.createChild({tag:'div',id:'header',html:''+dt.format(this.headerFormat)+''});}var htmlday=this.genBody(this.datetohandle);var tmpdays=Ext.get(this.calx.id+'-main-calendar-day-body');var myheaderdayswrap=tmpdays.wrap({tag:'div',cls:'x-calendar-dayv-day',html:''});if(this.calx.ownerCt!=undefined){if(this.calx.ownerCt.ctype&&this.calx.ownerCt.ctype=="Ext.Component"){this.calx.height=this.calx.ownerCt.getInnerHeight();}}if(!this.calx.height||this.calx.height=='undefined'){var tmpheight=this.calx.getEl().dom.offsetParent.clientHeight;}else{var tmpheight=this.calx.height;}if(this.header){tmpheight+=-24;}if(this.calx.showCal_tbar){tmpheight+=-26;}if(this.calx.header){tmpheight+=-26;}var morehoffst=0;myheaderdayswrap.setStyle({height:''+tmpheight-morehoffst+'px'});myheaderdayswrap.setStyle({overflow:'auto'});tmpid=this.calx.id;myheaderdayswrap.addListener('scroll',function(){if(Ext.get(tmpid+'-daybody')){Ext.get(tmpid+'-daybody').setStyle('filter','alpha(opacity=100)');Ext.get(tmpid+'-daybody').setStyle('filter','');}});var mydays=myheaderdayswrap.createChild({tag:'div',id:this.calx.id+'-calendar-view-day',html:htmlday});if(Ext.isIE||Ext.isIE6){Ext.get('daylayoutbody').setWidth(Ext.get('daylayoutbody').getWidth()-25,false);}var mydaybody=Ext.get(this.calx.id+'-daybody');var dblclickdate=this.calx.currentdate;var tmpcalendarobjinstance=this.calx;var testdblclick=this.taskAdd_dblclick;mydaybody.addListener('dblclick',function(evx,elx,obx){if(elx.id.indexOf('-daybody')<0){return false;}if(testdblclick){tmpcalendarobjinstance.fireEvent("taskAdd",dblclickdate);}});if(this.taskAdd_timer_dblclick){var mytimeTD_elements=Ext.select('td.hour-marker',true);mytimeTD_elements.each(function(el,thisobj,index){if(el.id.indexOf(tmpcalendarobjinstance.id+'-tdbody-dayv-')+1>=1){el.addListener('dblclick',function(evx,elx,obx){if(elx.id.indexOf(tmpcalendarobjinstance.id+'-tdbody-dayv-')<0){var mydt_element_test=Ext.get(elx).parent().id.replace(tmpcalendarobjinstance.id+'-tdbody-dayv-','');}else{var mydt_element_test=elx.id.replace(tmpcalendarobjinstance.id+'-tdbody-dayv-','');}var mytmpdate=new Date(mydt_element_test);tmpcalendarobjinstance.fireEvent("taskAdd",mytmpdate);});}},this);}mydaybody.setHeight(Ext.get('tdbaseday').getHeight(true));if(Ext.isOpera){mydaybody.addListener('mousedown',this.operadaybuttons,this);}else{mydaybody.addListener('contextmenu',this.oncontextmenuBody,this,{stopPropagation:false,normalized:true,preventDefault:true});}this.tasks=[];var dateinionthisday=new Date(this.datetohandle.format('m/d/Y')+' '+this.startTime);var dateendonthisday=new Date(this.datetohandle.format('m/d/Y')+' '+this.endTime);var counttasks=this.calx.store.getCount();var countdone=0;for(var i=0;i<counttasks;i++){var testrec=this.calx.store.getAt(i).data;testdateinit=this.calx.store.getAt(i).data[this.calx.fieldsRefer.startdate];testdateend=this.calx.store.getAt(i).data[this.calx.fieldsRefer.enddate];checkdates=this.datetohandle.between(new Date(testdateinit),new Date(testdateend));chkformat=this.datetohandle.format('m/d/Y');test=new Date(testdateinit);if(test.format('m/d/Y')==chkformat){checkdates=true;}test=new Date(testdateend);if(test.format('m/d/Y')==chkformat){checkdates=true;}if(checkdates){countdone+=1;}}var counttasks=countdone;if(counttasks>0){currentindex=0;created=0;previndex=0;if(this.tasksOffset=='auto'){var newwfix=counttasks*this.task_width;}else{var newwfix=(counttasks*this.task_width)-((counttasks-1)*this.tasksOffset);}if(Ext.get('tdbaseday').getWidth(true)<newwfix){if(!this.calx.width||this.calx.width=='undefined'){}else{Ext.get(this.calx.id+'-daybody').setWidth(newwfix,false);Ext.get('daylayoutbody').setWidth(Ext.get(this.calx.id+'-tableallday').getWidth(true)+1,false);}var test=11;}var counttasks=this.calx.store.getCount();for(var itask=0;itask<counttasks;itask++){dateinit=this.calx.store.getAt(itask).data[this.calx.fieldsRefer.startdate];dateend=this.calx.store.getAt(itask).data[this.calx.fieldsRefer.enddate];checkdates=this.datetohandle.between(new Date(dateinit),new Date(dateend));chkformat=this.datetohandle.format('m/d/Y');test=new Date(dateinit);if(test.format('m/d/Y')==chkformat){checkdates=true;}test=new Date(dateend);if(test.format('m/d/Y')==chkformat){checkdates=true;}if(this.calx.store.getAt(itask).data[this.calx.fieldsRefer.color]){colortask=this.calx.store.getAt(itask).data[this.calx.fieldsRefer.color];}else{colortask=this.taskBaseColor;}if(checkdates){this.tasks[currentindex]=new Ext.ECalendar.daytask({tasksOffset:this.tasksOffset,evenLaunch:this.task_eventLaunch,editable:this.task_DDeditable,parentview:this,baseBody:mydaybody,datehandle:this.datetohandle,showQtip:this.task_showqtip,contextMenuLabels:e2cs.cal_locale.contextMenuLabelsDay,tplqTip:this.calx.tplTaskTip,task_index:itask,task_creator:this.calx.store.getAt(itask).data['creator'],task_id:this.calx.store.getAt(itask).data[this.calx.fieldsRefer.id],task_subject:this.calx.store.getAt(itask).data[this.calx.fieldsRefer.subject],task_starts:this.calx.store.getAt(itask).data[this.calx.fieldsRefer.startdate],task_ends:this.calx.store.getAt(itask).data[this.calx.fieldsRefer.enddate],task_description:this.calx.store.getAt(itask).data[this.calx.fieldsRefer.description],task_clsOver:this.task_clsOver,task_increment:this.task_increment,task_width:this.task_width,task_format:this.task_format,bgcolor:colortask,moreMenuItems:this.moreMenuItems,ShowMenuItems:this.task_ShowMenuItems});this.tasks[currentindex].init(this.calx,this);this.tasks[currentindex].render();currentindex+=1;}}if(Ext.get('daylayoutbody').getWidth(true)<Ext.get(this.calx.id+'-tableallday').getWidth(true)){Ext.get('daylayoutbody').setWidth(Ext.get(this.calx.id+'-tableallday').getWidth(true)+1,false);}if(this.tasks.length<=0){mydaybody.update('&nbsp;');}}else{mydaybody.update('&nbsp;');}myMask.hide();},operadaybuttons:function(evx,elx,obx){if(Ext.isOpera){if(evx.button==2){this.oncontextmenuBody(evx,elx,obx);}}else{return false;}},oncontextmenuBody:function(evx,elx,obx){if(Ext.isOpera){if(evx.button!=2){return false;}}if(this.ShowMenuItems[0]!=true&&this.ShowMenuItems[1]!=true&&this.ShowMenuItems[2]!=true&&this.ShowMenuItems[3]!=true&&this.ShowMenuItems[4]!=true&&this.ShowMenuItems[5]!=true){return false;}evx.stopEvent();if(elx.id.indexOf(this.calx.id+"-daybody")<0){return false;}var tmpdata=Ext.get(elx.id);if(this.menu){this.menu.removeAll();}this.menu=new Ext.menu.Menu({id:this.calx.id+'-contextmenu-day',shadow:true,items:[{id:this.calx.id+'-day_ctxbtn_task-add',iconCls:'x-calendar-day-btnmv_add',text:e2cs.cal_locale.contextMenuLabelsDay.taskAdd,scope:this},'-',{id:this.calx.id+'-day_ctxbtn_task-go-nd',iconCls:'x-calendar-day-btnmv_nextday',text:e2cs.cal_locale.contextMenuLabelsDay.NextDay,scope:this},{id:this.calx.id+'-day_ctxbtn_task-go-pd',iconCls:'x-calendar-day-btnmv_prevday',text:e2cs.cal_locale.contextMenuLabelsDay.PreviousDay,scope:this},'-',{id:this.calx.id+'-day_ctxbtn_viewmonth',iconCls:'x-calendar-month-btnmv_viewmonth',text:e2cs.cal_locale.contextMenuLabelsDay.chgmview,scope:this},{id:this.calx.id+'-day_ctxbtn_viewweek',iconCls:'x-calendar-month-btnmv_viewweek',text:e2cs.cal_locale.contextMenuLabelsDay.chgwview,scope:this},{id:this.calx.id+'-day_ctxbtn_viewsched',iconCls:'x-calendar-month-btnmv_viewsched',text:e2cs.cal_locale.contextMenuLabelsDay.chgsview,scope:this}]});this.menu.items.items[0].addListener('click',function(){this.calx.fireEvent("taskAdd",this.calx.currentdate);},this);this.menu.items.items[2].addListener('click',function(){this.onclicknext_day();},this);this.menu.items.items[3].addListener('click',function(){this.onclickprev_day();},this);this.menu.items.items[5].addListener('click',function(){this.changeCalview(Ext.get(elx),this,1);},this);this.menu.items.items[6].addListener('click',function(){this.changeCalview(Ext.get(elx),this,2);},this);this.menu.items.items[7].addListener('click',function(){this.changeCalview(Ext.get(elx),this,3);},this);if(this.ShowMenuItems[0]!=true){this.menu.items.items[0].hidden=true;this.menu.items.items[1].hidden=true;}if(this.ShowMenuItems[1]!=true){this.menu.items.items[2].hidden=true;}if(this.ShowMenuItems[2]!=true){this.menu.items.items[3].hidden=true;}if(this.ShowMenuItems[1]!=true&&this.ShowMenuItems[2]!=true){this.menu.items.items[4].hidden=true;}if(this.ShowMenuItems[3]!=true){this.menu.items.items[5].hidden=true;}if(this.ShowMenuItems[4]!=true){this.menu.items.items[6].hidden=true;}if(this.ShowMenuItems[5]!=true){this.menu.items.items[7].hidden=true;}if(!this.calx.mview){this.menu.items.items[6].hidden=true;}if(!this.calx.wview){this.menu.items.items[5].hidden=true;}if(!this.calx.sview){this.menu.items.items[7].hidden=true;}this.menu.showAt([evx.getPageX(),evx.getPageY()]);},changeCalview:function(objx,mviewx,typeview){if(objx.dom.className=='noday'||objx.dom.className=='today'||objx.dom.className=='monthday'){var refdate=new Date(objx.id);}else if(objx.dom.className=='tasks'){var refdate=new Date(objx.dom.parentNode.firstChild.id);}else{var refdate=new Date(objx.dom.firstChild.id);}if(typeview==1){varview='month';}else if(typeview==2){varview='week';}else{varview='schedule';}this.calx.changeView(varview);},onclickprev_day:function(evx,elx,obx){var changedaydate=this.datetohandle.add(Date.DAY,-1);var check=this.fireEvent("beforeDayChange",this.datetohandle,changedaydate);if(!check){this.calx.currentdate=changedaydate;this.datetohandle=changedaydate;this.render();this.fireEvent("afterDayChange",changedaydate);}},onclicknext_day:function(evx,elx,obx){var changedaydate=this.datetohandle.add(Date.DAY,1);var check=this.fireEvent("beforeDayChange",this.datetohandle,changedaydate);if(!check){this.calx.currentdate=changedaydate;this.datetohandle=changedaydate;this.render();this.fireEvent("afterDayChange",changedaydate);}},genHeader:function(dateval){var dt=new Date(dateval);Date.monthNames=e2cs.cal_locale.monthtitles;Date.dayNames=e2cs.cal_locale.daytitles;var myheader='<div class="x-calendar-dayv-header" style="width:'+(this.calx.width-10)+'px;">';myheader+='<div id="header">'+dt.format(this.headerFormat)+'</div>';if(this.headerButtons){myheader+='<div class="x-calendar-day-previous"></div>';myheader+='<div class="x-calendar-day-next"></div>';}myheader+='</div>';return myheader;},genBody:function(dateval){var dt=new Date(dateval);var inittime=new Date(dt.format('m/d/Y')+' '+this.startTime);var endtime=new Date(dt.format('m/d/Y')+' '+this.endTime);this.diffhrs=this.calx.dateDiff(inittime,endtime,e2cs.dateParts.HOUR);var wtdisp='';if(Ext.isIE||Ext.isIE6){wtdisp='97.8';}else{wtdisp='100';}wtdisp='100';var dviewbody='<div id="daylayoutbody" class="x-calendar-dayv-body">';dviewbody+='<table id="'+this.calx.id+'-tableallday" width="'+wtdisp+'%" border="0" cellspacing="1" cellpadding="0"><tr><td valign="top" width="50">';dviewbody+='<table width="50" border="0" align="center" cellpadding="0" cellspacing="0">';for(var i=0;i<this.diffhrs;i++){tmpdatetohandleontd=dt.format('m/d/Y');tmpdatetohandleontd+=' '+inittime.add(Date.HOUR,(i)).format(this.hourFormat);tmpdatetohandleontd+=':'+inittime.add(Date.HOUR,(i)).format('i a');dviewbody+='<tr><td id="'+this.calx.id+'-tdbody-dayv-'+tmpdatetohandleontd+'" class="hour-marker"><span>'+inittime.add(Date.HOUR,(i)).format(this.hourFormat)+'</span>';if(Ext.isIE){dviewbody+='<span class="minute_ie">';}else{dviewbody+='<span class="minute">';}dviewbody+=inittime.add(Date.HOUR,(i)).format('i a')+'</span></td></tr>';}dviewbody+='</table></td><td valign="top" id="tdbaseday">';if(Ext.isIE){dviewbody+='<div id="'+this.calx.id+'-daybody" class="basegridday_ie6">';}else{dviewbody+='<div id="'+this.calx.id+'-daybody" class="basegridday">';}dviewbody+='&nbsp;';dviewbody+='</div>';dviewbody+='</td></tr></table>';dviewbody+='</div>';return dviewbody;}});

Ext.ECalendar.daytask=function(config){Ext.apply(this,config);Ext.ECalendar.daytask.superclass.constructor.call(this);};Ext.extend(Ext.ECalendar.daytask,Ext.util.Observable,{previndex:0,createdelementno:0,editable:true,parentview:null,baseBody:null,datehandle:new Date(),showQtip:true,tasksOffset:30,task_id:0,task_creator:'',task_index:0,task_subject:'',task_starts:'',task_ends:'',task_description:'',task_clsOver:'',task_increment:5,task_width:100,bgcolor:'#E0FFA2',task_format:'d-m-Y H:i:s a',moreMenuItems:[],contextMenuLabels:e2cs.cal_locale.contextMenuLabelsDay,tplqTip:new Ext.XTemplate('<tpl for=".">{starxl}{startval}<br>{endxl}{endval}<hr color="#003366" noshade>{details}</tpl>'),ShowMenuItems:[1,1,1,1,1],evenLaunch:'dblclick',init:function(calendar,dayview){this.calx=calendar;this.vday=dayview;},render:function(){var m_starttime=this.calx.currentdate.format('m/d/Y ')+this.vday.startTime;var m_endtime=this.calx.currentdate.format('m/d/Y ')+this.vday.endTime;this.totalhours=this.calx.dateDiff(new Date(m_starttime),new Date(m_endtime),e2cs.dateParts.HOUR);var inittimetask=this.checkTasktime(this.task_starts);var endtimetask=this.checkTasktime(this.task_ends);var checkbetwdate=this.calx.currentdate.between(new Date(m_starttime),new Date(m_endtime));var diffstartinipos=this.calx.dateDiff(new Date(m_starttime),new Date(inittimetask),e2cs.dateParts.MINUTE);if(diffstartinipos<0){initpos=0;flagstarttasttext=e2cs.cal_locale.task_LessDaysFromTask;}else{initpos=diffstartinipos;flagstarttasttext='';}var diffendpos=this.calx.dateDiff(new Date(m_endtime),new Date(endtimetask),e2cs.dateParts.MINUTE);if(diffendpos>0){endpos=(this.totalhours)*60;endpos=Math.abs(initpos-endpos);flagendtasttext=e2cs.cal_locale.task_MoreDaysFromTask;}else{var tmpdate=new Date(inittimetask);var dtstartday=new Date(this.calx.currentdate.format('m/d/Y')+' '+this.vday.startTime);if(tmpdate<dtstartday){endpos=this.calx.dateDiff(new Date(m_starttime),new Date(endtimetask),e2cs.dateParts.MINUTE);}else{endpos=this.calx.dateDiff(new Date(inittimetask),new Date(endtimetask),e2cs.dateParts.MINUTE);}flagendtasttext='';}this.task_index=(this.vday.tasks.length);this.taskobject=this.baseBody.createChild({tag:'div',cls:'task',html:flagstarttasttext+this.task_subject+'<br><div class="task_cnt">'+this.task_description+'</div>'+flagendtasttext});this.taskobject.dom.setAttribute('id',this.calx.id+'-ecaltask-'+this.task_index+'');this.taskobject.dom.setAttribute('ec_id',''+this.task_id+'');this.taskobject.dom.setAttribute('ec_starts',''+inittimetask+'');this.taskobject.dom.setAttribute('ec_ends',''+endtimetask+'');this.taskobject.dom.setAttribute('ec_subject',''+this.task_subject+'');this.taskobject.dom.setAttribute('ec_cnt',''+this.task_description+'');this.taskobject.dom.setAttribute('ec_storeindex',''+this.task_index+'');this.taskobject.setStyle({top:''+initpos+'px'});this.taskobject.setStyle({height:''+endpos+'px'});this.taskobject.setStyle({width:''+this.task_width+'px'});if(this.tasksOffset=='auto'){if(this.task_index<=1){var anchoposx=0;}else{tmpoffset=this.task_width;anchoposx=0;for(var x=0;x<=(this.vday.tasks.length-1);x++){if(x!=0){anchoposx+=Ext.get(this.calx.id+'-ecaltask-'+(x)).getWidth(false);}}}}else{if(this.task_index<=1){var anchoposx=0;}else{tmpoffset=this.tasksOffset;}}newancho=0;for(var x=0;x<=(this.vday.tasks.length);x++){if(x!=0){newancho+=Ext.get(this.calx.id+'-ecaltask-'+(x)).getWidth(false);}}if(newancho>this.baseBody.getWidth(false)){Ext.get(this.calx.id+'-daybody').setWidth(newancho);Ext.get('tdbaseday').setWidth(newancho);}if(Ext.isOpera){}else{this.taskobject.setX(this.baseBody.getX()+anchoposx);}this.taskobject.setY(this.baseBody.getY()+initpos);if(this.bgcolor){this.taskobject.setStyle('background-color',''+this.bgcolor+'');}else{this.taskobject.setStyle('background-color','#99CC99');}if(Ext.isIE){this.taskobject.setStyle('z-index','2000');}else{this.taskobject.setStyle('z-index','auto');}if(this.showQtip){var tmpdate=new Date(inittimetask);var startlabel=tmpdate.format(this.task_format);tmpdate=new Date(endtimetask);var endlabel=tmpdate.format(this.task_format);this.taskobject.dom.qtitle=this.task_subject;var datatip={creator:this.task_creator,starxl:e2cs.cal_locale.task_qtip_starts,startval:startlabel,endxl:e2cs.cal_locale.task_qtip_ends,endval:endlabel,details:this.task_description};this.taskobject.dom.qtip=this.tplqTip.apply(datatip);}if(this.task_clsOver!=''){this.taskobject.addClassOnOver(this.task_clsOver);}this.taskobject.addListener(this.evenLaunch,this.onDblclick,this);if(Ext.isOpera){this.taskobject.addListener('mousedown',this.operabuttons,this);}else{this.taskobject.addListener('contextmenu',this.oncontextmenu,this,{stopPropagation:true,normalized:true,preventDefault:true});}if(initpos==0&&endpos>=(this.totalhours*60)){}else{if(this.editable){if(flagendtasttext==''){var snap=new Ext.Resizable(this.calx.id+'-ecaltask-'+this.task_index+'',{pinned:false,width:this.task_width,handles:'s',heightIncrement:this.task_increment,minHeight:15,maxHeight:((this.totalhours*60)-initpos),dynamic:true,draggable:false});var tmpbody=this.baseBody;var tmpvday=this.vday;var tmptask=this;var tmpcalendar=this.calx;snap.on({'resize':{fn:function(objthis,width,height,evtObj){var datatask=tmptask.getTaskarray(objthis.el);var check=tmpcalendar.fireEvent("beforeTaskMove",datatask,tmptask,tmpvday,tmpcalendar);if(!check){tmptask.applyChange(objthis.el);var newdatatask=tmptask.getTaskarray(objthis.el);tmpcalendar.fireEvent("TaskMoved",newdatatask,tmptask,tmpvday,null);}},scope:this}});if(flagstarttasttext==''&&flagendtasttext==''){var taskdrag=new Ext.dd.DDProxy(this.calx.id+'-ecaltask-'+this.task_index+'','task-group',{xTicks:0,yTicks:5});var tmpbody=this.baseBody;var tmpvday=this.vday;var tmptask=this;var tmpcalendar=this.calx;taskdrag.startDrag=function(){this.constrainTo(tmpbody.id);this.setXConstraint(0,0,0);var dragEl=Ext.get(this.getDragEl());var el=Ext.get(this.getEl());dragEl.applyStyles({border:'','z-index':2000});dragEl.update(el.dom.innerHTML);dragEl.addClass('task-drag'+' dd-proxy');};taskdrag.endDrag=function(){var dragEl=Ext.get(this.getDragEl());var el=Ext.get(this.getEl());var datatask=tmptask.getTaskarray(this.id);var check=tmpcalendar.fireEvent("beforeTaskMove",datatask,tmptask,tmpvday,tmpcalendar);if(!check){el.setY(dragEl.getY());tmptask.applyChange(this);var newdatatask=tmptask.getTaskarray(this.id);tmpcalendar.fireEvent("TaskMoved",newdatatask,tmptask,tmpvday,this);}else{}};}}}}},operabuttons:function(evx,elx,obx){if(Ext.isOpera){if(evx.button==2){this.oncontextmenu(evx,elx,obx);}}},oncontextmenu:function(evx,elx,obx){if(Ext.isOpera){if(evx.button!=2){return false;}}if(this.ShowMenuItems[0]!=true&&this.ShowMenuItems[1]!=true&&this.ShowMenuItems[2]!=true&&this.ShowMenuItems[3]!=true&&this.ShowMenuItems[4]!=true&&this.moreMenuItems.length<=0){return false;}evx.stopEvent();var tmpdata=Ext.get(elx.id);if(this.menu){this.menu.removeAll();}this.menu=new Ext.menu.Menu({shadow:true,items:[{id:'day_ctxbtn_task-add',iconCls:'x-calendar-day-btnmv_add',text:this.contextMenuLabels.taskAdd,scope:this},{id:'month_ctxbtn_task-delete',iconCls:'x-calendar-day-btnmv_delete',text:this.contextMenuLabels.taskDelete,scope:this},'-',{id:'month_ctxbtn_task-edit',iconCls:'x-calendar-day-btnmv_task',text:this.contextMenuLabels.taskEdit+tmpdata.getAttributeNS('tag','ec_subject'),scope:this},'-',{id:'month_ctxbtn_task-go-nd',iconCls:'x-calendar-day-btnmv_nextday',text:this.contextMenuLabels.NextDay,scope:this},{id:'month_ctxbtn_task-go-pd',iconCls:'x-calendar-day-btnmv_prevday',text:this.contextMenuLabels.PreviousDay,scope:this}]});if(this.vday.moreMenuItems.length>0){this.menu.add('-');for(var i=0;i<this.vday.moreMenuItems.length;i++){this.moreMenuItems[i].rendered=false;this.moreMenuItems[i].addListener('click',function(parx,parz){this.onCustomMenuAction(parx.id,Ext.get(elx),this);},this);this.menu.add(this.moreMenuItems[i]);}}this.menu.items.items[0].addListener('click',function(){this.onActionTask(1,Ext.get(elx),this);},this);this.menu.items.items[1].addListener('click',function(){this.onActionTask(2,Ext.get(elx),this);},this);this.menu.items.items[3].addListener('click',function(){this.onActionTask(3,Ext.get(elx),this);},this);this.menu.items.items[5].addListener('click',function(){this.vday.onclicknext_day();},this);this.menu.items.items[6].addListener('click',function(){this.vday.onclickprev_day();},this);if(this.ShowMenuItems[0]!=true){this.menu.items.items[0].hidden=true;}if(this.ShowMenuItems[1]!=true){this.menu.items.items[1].hidden=true;}if(this.ShowMenuItems[0]!=true&&this.ShowMenuItems[1]!=true){this.menu.items.items[2].hidden=true;}if(this.ShowMenuItems[2]!=true){this.menu.items.items[3].hidden=true;this.menu.items.items[4].hidden=true;}if(this.ShowMenuItems[3]!=true){this.menu.items.items[5].hidden=true;}if(this.ShowMenuItems[4]!=true){this.menu.items.items[6].hidden=true;}if(this.vday.moreMenuItems.length>0){if(this.ShowMenuItems[3]!=true&&this.ShowMenuItems[4]!=true){this.menu.items.items[7].hidden=true;}}this.menu.on('hide',this.onContextTaskMenuHide,this);this.menu.showAt(evx.xy);},onCustomMenuAction:function(MenuId,taskEl,TaskObj){var datatask=this.getTaskarray(taskEl);this.calx.fireEvent("customMenuAction",MenuId,'day',datatask,taskEl,this.vday);},applyChange:function(TaskEl){var m_starttime=this.calx.currentdate.format('m/d/Y ')+this.vday.startTime;var m_endtime=this.calx.currentdate.format('m/d/Y ')+this.vday.endTime;var tmpEl=Ext.get(TaskEl.id);var newposstart=Math.abs(tmpEl.getTop()-Ext.get(this.baseBody).getY());var newposend=tmpEl.getHeight();var newdateTaskstart=new Date(m_starttime).add(Date.MINUTE,newposstart);var newdateTaskEnds=newdateTaskstart.add(Date.MINUTE,newposend);tmpEl.dom.setAttribute('ec_starts',''+newdateTaskstart.format('m/d/Y H:i:s a')+'');tmpEl.dom.setAttribute('ec_ends',''+newdateTaskEnds.format('m/d/Y H:i:s a')+'');if(this.showQtip){var startlabel=newdateTaskstart.format(this.task_format);var endlabel=newdateTaskEnds.format(this.task_format);tmpEl.dom.qtip=e2cs.cal_locale.task_qtip_starts+startlabel+"<br>"+e2cs.cal_locale.task_qtip_ends+endlabel+'<br>'+this.task_description;}},onActionTask:function(action,taskEl,TaskObj){var datatask=this.getTaskarray(taskEl);switch(action){case 1:this.calx.fireEvent("taskAdd",this.calx.currentdate);break;case 2:var check=this.calx.fireEvent("beforeTaskDelete",datatask,this.vday);if(check!=true){if(this.calx.fireEvent("onTaskDelete",datatask)==true){this.calx.fireEvent("afterTaskDelete",datatask,true);}else{this.calx.fireEvent("afterTaskDelete",null,false);}}break;case 3:var check=this.calx.fireEvent("beforeTaskEdit",datatask,this.vday);if(check!=true){if(this.calx.fireEvent("onTaskEdit",datatask)==true){this.calx.fireEvent("afterTaskEdit",datatask,true);}else{this.calx.fireEvent("afterTaskEdit",null,false);}}break;default:break;}},onContextTaskMenuHide:function(){},onDblclick:function(evx,elx,obx){var tmpdata=Ext.get(elx.id);var datatask=this.getTaskarray(tmpdata.dom.parentNode.parentNode.id);this.calx.fireEvent("taskDblClick",datatask,this.vday,this.calx,'day');},getTaskarray:function(TaskElx){var tmpdata=Ext.get(TaskElx);var datatask=[];datatask[0]=tmpdata.getAttributeNS('tag','id');datatask[1]=tmpdata.getAttributeNS('tag','ec_id');datatask[2]=tmpdata.getAttributeNS('tag','ec_subject');datatask[3]=tmpdata.getAttributeNS('tag','ec_starts');datatask[4]=tmpdata.getAttributeNS('tag','ec_ends');datatask[5]=tmpdata.getAttributeNS('tag','ec_cnt');datatask[6]=tmpdata.getAttributeNS('tag','ec_storeindex');return datatask;},checkTasktime:function(taskvalue){var test=taskvalue.indexOf(":",0);if(test<=0){taskvaluefix=taskvalue+' '+this.vday.startTime;}else{taskvaluefix=taskvalue;}return taskvaluefix;}});