Type.registerNamespace("Telerik.Web.UI.Scheduling"); Type.registerNamespace("Telerik.Web.UI.SchedulerAdvancedTemplate"); (function(a,c,b){var i=60000,h=i*60,g=h*24,e=new Date("9000/01/01"),j=10000,f=""; var d=Telerik.Web.UI.SchedulerAdvancedTemplate; c.Scheduling.AdvancedTemplate=function(m,k,l){this._scheduler=$find(m.id); this._schedulerElement=m; this._formElement=k; this._schedulerElementId=this._schedulerElement.id; this._isModal=l; this._newException=false; }; c.Scheduling.AdvancedTemplate._adjustHeight=function(r,q){var k=a("div.rsAdvancedEdit:visible",r),o=a(".rsAdvContentWrapper",k),p=k.outerHeight()-k.height(); p+=o.outerHeight()-o.height(); var t=a("div.rsAdvTitle:visible",r).outerHeight(true); var l=[]; var n=""; if(q===c.RenderMode.Classic){n="div.rsAdvancedSubmitArea"; }else{n="div.rsAdvButtonWrapper"; }l=a(k).find(n); var m=l.outerHeight(true); var s=a(r).height()-t-m-p; a(".rsAdvOptionsScroll",k).height(s+"px"); if(l[0]){l[0].style.cssText=l[0].style.cssText; }}; c.Scheduling.AdvancedTemplate._customValidationHandler=function(q,m){var s=q.controltovalidate; var p=s.substring(0,s.lastIndexOf("_")); var n=function(w){var v=p+"_"+w; var u=$find(v); if(u){return u.get_selectedDate(); }return new Date($get(v).value); }; var o=function(w){var v=p+"_"+w; var u=$find(v); if(u){return u.get_selectedDate(); }return new Date("1900/01/01 "+$get(v).value); }; var t=o("StartTime"); var r=n("StartDate"); var l=o("EndTime"); var k=n("EndDate"); m.IsValid=c.Scheduling.AdvancedTemplate._validateStartEndValues(p,t,r,l,k); }; c.Scheduling.AdvancedTemplate._validateStartEndValues=function(q,w,s,p,l){var t=new Date(),m=new Date(),k=a("#"+q+"_AllDayEvent").is(":checked"),r=$get(q+"_DurationValidatorStartDate"); if((s!=null)&&(w!=null)){var u=k?0:w.getHours(),v=k?0:w.getMinutes(); t=new Date(s.getFullYear(),s.getMonth(),s.getDate(),u,v,0,0); }if((l!=null)&&(p!=null)){var n=k?0:p.getHours(),o=k?0:p.getMinutes(); m=new Date(l.getFullYear(),l.getMonth(),l.getDate(),n,o,0,0); }if(t>m||!k&&t.getTime()==m.getTime()){r.style.display="block"; return false; }else{r.style.display="none"; return true; }}; c.Scheduling.AdvancedTemplate.prototype={initialize:function(){var m=this._scheduler; m.add_disposing(Function.createDelegate(this,this.dispose)); var k=m.get_overflowBehavior()!==2; if(k&&!this._isModal){c.Scheduling.AdvancedTemplate._adjustHeight(this._schedulerElement,m.get_renderMode()); }this._initializeView(); this._templateId=this._view._templateId; this._initializeAdvancedFormValidators(); var l=this._getRecurrenceEditor()!=null; if(l){this._initializeResetExceptions(); }},dispose:function(){if(!this._formElement){return; }this._view.dispose(); a("*",this._formElement).unbind(); this._pickers=null; this._scheduler=null; this._schedulerElement=null; this._formElement=null; },_initializeView:function(){var k; switch(this._scheduler.get_renderMode()){case c.RenderMode.Mobile:k=new d.NativeView(this); break; case c.RenderMode.Lite:k=new d.LiteView(this); break; default:k=new d.ClassicView(this); break; }this._view=k; this._view.initialize(); },_initializeAdvancedFormValidators:function(){var o=this._createValidatorToolTip(); if(typeof(Page_Validators)=="undefined"){return; }for(var q=0; q-1){m.click(function(){return false; }); window.setTimeout(function(){m.fadeOut("slow"); },2000); }else{m.click(function(){var p=o._getRemoveExceptionsDialog(); p.set_onActionConfirm(function(){m[0].innerHTML=l.AdvancedWorking; window.location.href=m[0].href; p.hide(); }).show(); return false; }); }},populate:function(l,o,p){if(!this._clientMode){this._initializeClientMode(); }this._appointment=l; this._isInsert=o; this._newException=p; var n=this._isAllDayAppointment(l); var m=b.getDate(l.get_end()); if(n){m=b.add(m,-g); }this._populateSubject(l.get_subject()); this._populateDescription(l.get_description()); this._toggleAdvancedFormDurationValidators(false); this._view._setDatePickerValue(this._pickers.startDate,b.getDate(l.get_start())); this._view._setTimePickerValue(this._pickers.startTime,l.get_start()); this._view._setDatePickerValue(this._pickers.endDate,m); this._view._setTimePickerValue(this._pickers.endTime,l.get_end()); this._toggleAdvancedFormDurationValidators(true); this._view._populateTimeZones(l.get_timeZoneID()); this._populateResources(); this._populateAttributes(); this._initalizeResetExceptionsClientMode(); var k=a(this._getElement("AllDayEvent")); if(n!=k[0].checked){k[0].checked=n; this._view._onAllDayCheckBoxClick(n,false); }this._populateRecurrence(); this._populateReminder(); },_populateSubject:function(k){this._view._setTextBoxValue(this._getSubjectTextBox(),k); },_populateDescription:function(l){var k=this._getDescriptionTextBox(); if(k){this._view._setTextBoxValue(k,l); }},_populateResources:function(){var l=this,k=this._scheduler.get_resourceTypes(); k.forEach(function(o){var m=l._templateId+"_Res"+o.get_name()+f; if(o.get_allowMultipleValues()){a(String.format("input[id*='{0}']",m),this._formElement).each(function(){this.checked=false; }); }else{var n=$get(m); if(n){l._view._setDropDownSelectedIndex(n,0); }}}); this._appointment.get_resources().forEach(function(p){var m=l._templateId+"_Res"+p.get_type()+f,r=k.getResourceTypeByName(p.get_type()); if(r&&r.get_allowMultipleValues()){var q=l._getResourceIndex(p),n=$get(m+"_"+q); if(n){n.checked=true; }}else{var o=$get(m); if(o){l._view._setDropDownSelectedValue(o,p._getInternalKey()); }}}); },_populateAttributes:function(){var k=this; this._appointment.get_attributes().forEach(function(l,m){var n=$get(k._templateId+"_Attr"+l); if(!n){return; }k._view._setTextBoxValue(n,m); }); },_populateRecurrence:function(){var k=this._getRecurrenceEditor(); if(!k){return; }var n=c.RecurrenceRule.parse(this._appointment.get_recurrenceRule()); if(n){var l=n.get_range(),m=l.get_recursUntil().getTime(); if(m!=e.getTime()){m=this._scheduler.utcToDisplay(l.get_recursUntil()); if(!this._getElement("AllDayEvent").checked){m=b.add(m,-g); }l.set_recursUntil(m); }}else{k.set_startDate(this._appointment.get_start()); k.set_endDate(this._appointment.get_end()); }k.set_recurrenceRule(n); },_populateReminder:function(){var l=this._getReminderDropDown(); if(!l){return; }var k=this._appointment.get_reminders().getReminder(0),m=k?k.get_trigger():""; this._view._setDropDownSelectedValue(l,m); },_saveClicked:function(){var o=this._scheduler,r=o.get_id()+(o._validatonGroup||"")+(this._isInsert?"Insert":"Edit"); if(typeof(Page_ClientValidate)!="undefined"){if(!Page_ClientValidate(r)){return; }}var k=this._appointment; this._saveSubject(k); this._saveDescription(k); var n=this._getElement("AllDayEvent").checked; var p=this._view._getDatePickerValue(this._pickers.startDate),q=b.getTimeOfDay(this._view._getTimePickerValue(this._pickers.startTime)); k.set_start(b.add(p,n?0:q)); var l=this._view._getDatePickerValue(this._pickers.endDate),m=b.getTimeOfDay(this._view._getTimePickerValue(this._pickers.endTime)); k.set_end(b.add(l,n?g:m)); this._view._saveTimeZones(k); this._saveResources(k); this._saveAttributes(k); this._saveRecurrenceRule(k); this._saveReminder(k); if(this._isInsert){o.insertAppointment(k); }else{o.updateAppointment(k); }o.hideAdvancedForm(); },_saveSubject:function(k){var l=this._view._getTextBoxValue(this._getSubjectTextBox()); k.set_subject(l); },_saveDescription:function(k){var m=this._getDescriptionTextBox(),l; if(m){l=this._view._getTextBoxValue(m); k.set_description(l); }},_saveResources:function(k){var m=this,l=this._scheduler.get_resources(); this._scheduler.get_resourceTypes().forEach(function(t){var u=t.get_name(),n=m._templateId+"_Res"+u+f,s=l.getResourcesByType(u); if(t.get_allowMultipleValues()){var o=a(String.format("input[id*='{0}']",n),this._formElement); if(o.length>0){k.get_resources().removeResourcesByType(u); }for(var q=0; q=q){k.get_resources().add(s.getResource(q)); }}}else{var p=$get(n); if(!p){return; }k.get_resources().removeResourcesByType(u); if(m._view._getDropDownSelectedIndex(p)==0){return; }var v=m._view._getDropDownSelectedValue(p); var r=l.findAll(function(w){return w.get_type()==u&&w._getInternalKey()==v; }).getResource(0)||null; if(r){k.get_resources().add(r); }}}); },_saveAttributes:function(k){var m=this,l=k.get_attributes(); a.each(this._scheduler.get_customAttributeNames(),function(){var n=this.toString(),o=$get(m._templateId+"_Attr"+n); if(!o){return; }l.removeAttribute(n); l.setAttribute(n,m._view._getTextBoxValue(o)); }); },_saveRecurrenceRule:function(k){var l=this._getRecurrenceEditor(); if(!l){return; }l.set_startDate(this._scheduler.displayToUtc(k.get_start())); l.set_endDate(this._scheduler.displayToUtc(k.get_end())); l.set_firstDayOfWeek(this._scheduler.get_firstDayOfWeek()); var p=l.get_recurrenceRule(); if(!p){k.set_recurrenceRule(""); return; }var m=c.RecurrenceRule.parse(k.get_recurrenceRule()); if(m){Array.addRange(p.get_exceptions(),m.get_exceptions()); }var n=p.get_range(); if(n.get_recursUntil().getTime()!=e.getTime()){var o=this._scheduler.displayToUtc(n.get_recursUntil()); if(!this._getElement("AllDayEvent").checked){o=b.add(o,g); }n.set_recursUntil(o); }k.set_recurrenceRule(p.toString()); },_saveReminder:function(k){var n=this._getReminderDropDown(); if(!n){return; }var p=this._view._getDropDownSelectedValue(n),l=k.get_reminders(); if(p){var o=parseInt(p,10); if(l.get_count()>0){l.getReminder(0).set_trigger(o); }else{var m=new c.Reminder(); m.set_trigger(o); l.add(m); }}else{if(l.get_count()>0){l.removeAt(0); }}},_cancelClicked:function(){var k=this._getElement("DurationValidatorStartDate"); k.style.display="none"; this._scheduler.hideAdvancedForm(); },_deleteClicked:function(){var m=this._scheduler,k=this._appointment,l=k.get_recurrenceState()==c.RecurrenceState.Master; if(this._newException){k.set_recurrenceState(c.RecurrenceState.Occurrence); }m._showDeleteConfirmationForAppointment(k,l); m.hideAdvancedForm(); },_createValidatorToolTip:function(){return a("
").hide().appendTo(a(".rsAdvancedEdit:visible",$get(this._schedulerElementId))); },_validatorIsInTemplate:function(k){return a(k).parents().is("#"+this._schedulerElementId); },_updateValidator:function(m){var k=a("#"+m.controltovalidate),l=k.parent(); if(l.hasClass("rsValidatedInput")){k=l; }if(!m.isvalid){k.addClass("rsInvalid"); }else{k.removeClass("rsInvalid"); }},_showToolTip:function(m){var r=m.data.toolTip,k=a(this),o=false,l=k.parent(); if(k.is("textarea")){o=true; k=l; }var n=k.is(".rsInvalid"); n=n||l.parent().children().is(".rsInvalid"); if(n){r.css("visibility","hidden").show().text(this.errorMessage).addClass("rsValidatorTooltip"); var q=k; if(l.is(".riCell")){q=l; }var p=q.offset(),t=a(r[0].offsetParent||r[0]).offset(),s=p.left-t.left; if(o){s+=q.outerWidth()-r.outerWidth(); }var u=((p.top-t.top)-r.outerHeight()); r.hide().css({top:u+"px",left:s+"px",zIndex:j,visibility:"visible"}).fadeIn("fast"); }},_hideToolTip:function(k){var l=k.data.toolTip; l.hide(); },_isAllDayAppointment:function(k){return b.getTimeOfDay(k.get_start())==0&&b.getTimeOfDay(k.get_end())==0&&!(b.areEqual(k.get_start(),k.get_end())); },_initializeClientMode:function(){this._clientMode=true; this._view._initializeClientMode(); },_initalizeResetExceptionsClientMode:function(){var n=a("span.rsAdvResetExceptions > a",this._formElement),l=this._appointment.get_recurrenceRule().indexOf("EXDATE")!=-1; n.attr("href","#").unbind(); if(l){var o=this,m=this._scheduler.get_localization(),k; n.text(m.AdvancedReset).click(function(){k=o._getRemoveExceptionsDialog(); k.set_onActionConfirm(function(){o._scheduler.removeRecurrenceExceptions(o._appointment); var p=o._appointment.get_recurrenceRule(),q=p.indexOf("EXDATE"),r=p.substring(0,q); o._appointment.set_recurrenceRule(r); n.text(m.AdvancedDone).click(function(){return false; }); window.setTimeout(function(){n.fadeOut("slow"); },2000); k.hide(); }).show(); return false; }).show(); }else{n.text(""); }},_toggleAdvancedFormDurationValidators:function(l){var k=a(this._formElement).find(".rsValidatorMsg.rsInvalid"); k.each(function(){ValidatorEnable(this,l); }); },_getResourceIndex:function(n){var o=this._scheduler.get_resources().getResourcesByType(n.get_type()); for(var l=0,m=o.get_count(); l input").css("display","none"); var o=function(C,D){var E=function(){if($telerik.isSafari||$telerik.isOpera){z.css("display","inline-block"); }else{z.show(); }}; if(!C){E(); }p.find(".rsTimePick").each(function(){if(D){a(this).stop(); if(C){a(this).animate({width:l},"fast","linear",function(){z.hide(); }); }else{a(this).animate({width:u},"fast"); }}else{if(C){z.hide(); a(this).width(l); }else{a(this).width(u); }}}); if(typeof(ValidatorEnable)!="undefined"){ValidatorEnable(y,!C); ValidatorEnable(w,!C); ValidatorEnable(t,!C); ValidatorEnable(r,!C); if(C){ValidatorEnable(v,C); ValidatorEnable(q,C); }}if(n){B._setTimePickerEnabledState(x,!C); }if(m){B._setTimePickerEnabledState(s,!C); }}; this._onAllDayCheckBoxClick=o; o(k[0].checked,false); k.click(function(){o(this.checked,true); }); },_getTimePickersWidth:function(){return a(this._getElement("StartTime_dateInput")).outerWidth(); },_getCanEnableTimePicker:function(k){return k.get_enabled(); },_setTimePickerEnabledState:function(k,l){k.set_enabled(l); },_initializeClientMode:function(){var k=this._owner; a(this._formElement).find("a.rsAdvEditSave").click(function(l){k._saveClicked(); $telerik.cancelRawEvent(l); }).attr("href","#").end().find("a.rsAdvEditCancel, a.rsAdvEditClose").click(function(l){k._cancelClicked(); $telerik.cancelRawEvent(l); }).attr("href","#"); },_setDatePickerValue:function(k,l){k.set_selectedDate(l); },_setTimePickerValue:function(k,l){k.set_selectedDate(l); },_getDatePickerValue:function(k){return k.get_selectedDate(); },_getTimePickerValue:function(k){return k.get_selectedDate(); },_getTextBoxValue:function(k){return $find(k.id).get_value(); },_setTextBoxValue:function(k,l){return $find(k.id).set_value(l); },_populateTimeZones:function(l){if(this._timeZones.findItemByValue){var k=this._timeZones.findItemByValue(l); if(k){k.select(); }}},_getSubjectTextBox:function(){return this._getElement("Subject"); },_getElement:function(k){return $get(this._templateId+"_"+k); },_getControl:function(k){return $find(this._templateId+"_"+k); }}; d.ViewBase.registerClass("Telerik.Web.UI.SchedulerAdvancedTemplate.ViewBase"); d.ClassicView=function(k){d.ClassicView.initializeBase(this,[k]); }; d.ClassicView.prototype={initialize:function(){d.ClassicView.callBaseMethod(this,"initialize"); if($telerik.isIE){var k=this._getSubjectTextBox(); k.style.cssText=k.style.cssText; }a(".riUp, .riDown",this._formElement).attr("tabindex","-1"); },_setDropDownSelectedIndex:function(l,m){var k=$find(l.id); if(k&&c.RadComboBox.isInstanceOfType(k)){k.get_items().getItem(m).select(); }else{l.item(m).selected=true; }},_setDropDownSelectedValue:function(l,m){var k=$find(l.id); if(k&&c.RadComboBox.isInstanceOfType(k)){k.get_items().forEach(function(n){if(n.get_value()==m){n.select(); }}); }else{a.each(l.options,function(){if(this.value==m){this.selected=true; return false; }}); }},_getDropDownSelectedIndex:function(k){return $find(k.id).get_selectedIndex(); },_getDropDownSelectedValue:function(k){return $find(k.id).get_selectedItem().get_value(); },_saveTimeZones:function(k){k.set_timeZoneID(this._timeZones.get_value()); }}; d.ClassicView.registerClass("Telerik.Web.UI.SchedulerAdvancedTemplate.ClassicView",d.ViewBase); d.LiteView=function(m){d.LiteView.initializeBase(this,[m]); var k=a("div.rsAdvButtonWrapper",this._formElement); if(k.length==0){return; }var l=k[0].id; this._templateId=l.substring(0,l.lastIndexOf("_")); }; d.LiteView.prototype={initialize:function(){d.LiteView.callBaseMethod(this,"initialize"); if($telerik.isIE){var k=this._getSubjectTextBox(); k.style.cssText=k.style.cssText; }a(".riUp, .riDown",this._formElement).attr("tabindex","-1"); a(this._formElement).find(".rsButton").add(".rsAdvEditClose").on("mouseenter",function(){a(this).addClass("rsHovered"); }).on("mouseleave",function(){a(this).removeClass("rsHovered"); }); },_initializeTimeZones:function(){var k=this; this._timeZones=this._getControl("TimeZones"); if(!this._timeZones){this._timeZones={get_selectedItem:function(){return{get_value:function(){return k._scheduler._timeZoneId; }}; }}; }},dispose:function(){a(this._formElement).find(".rsButton").add(".rsAdvEditClose").off(); d.LiteView.callBaseMethod(this,"dispose"); },_setDropDownSelectedIndex:function(l,m){var k=$find(l.id); if(k&&c.RadDropDownList.isInstanceOfType(k)){k.get_items().getItem(m).select(); }else{l.item(m).selected=true; }},_setDropDownSelectedValue:function(l,m){var k=$find(l.id); if(k&&c.RadDropDownList.isInstanceOfType(k)){k.get_items().forEach(function(n){if(n.get_value()==m){n.select(); }}); }else{a.each(l.options,function(){if(this.value==m){this.selected=true; return false; }}); }},_getDropDownSelectedIndex:function(k){return $find(k.id).get_selectedItem().get_index(); },_getDropDownSelectedValue:function(k){return $find(k.id).get_selectedItem().get_value(); },_saveTimeZones:function(k){k.set_timeZoneID(this._timeZones.get_selectedItem().get_value()); }}; d.LiteView.registerClass("Telerik.Web.UI.SchedulerAdvancedTemplate.LiteView",d.ViewBase); d.NativeView=function(k){d.NativeView.initializeBase(this,[k]); }; d.NativeView.prototype={initialize:function(){d.NativeView.callBaseMethod(this,"initialize"); var m=this._scheduler; if(!m._renderingManager){var k=a(this._formElement).find("div.rsAdvButtonWrapper .rsAdvEditDelete"); if(k.length>0){var l=k[0].href; k[0].href="/"; k.removeAttr("onclick").on("click",function(n){$telerik.cancelRawEvent(n); m._formDeleteLinkClicked({_deleteLinkhref:l,_confirmDialogTarget:"rsAdvFormWrap>.rsAdvancedEdit"}); }); }}},_initializePickers:function(){var k=this._owner; this._owner._pickers={startDate:this._getElement("StartDate"),endDate:this._getElement("EndDate"),startTime:this._getElement("StartTime"),endTime:this._getElement("EndTime")}; this._timeZones=this._getElement("TimeZones"); if(!this._timeZones){this._timeZones={get_value:function(){return k._scheduler._timeZoneId; }}; }},_initializeAllDayCheckbox:function(){var y=this,k=a("#"+this._templateId+"_AllDayEvent"),o=a(k[0].parentNode.parentNode.parentNode),x=o.find(".rsAdvTimePicker"),w=this._getElement("StartTimeValidator"),t=this._getElement("DurationValidatorStartDate"),u=this._getElement("DurationValidatorStartTime"),s=this._getElement("EndTimeValidator"),q=this._getElement("DurationValidatorEndTime"),p=this._getElement("DurationValidatorEndDate"),v=this._owner._pickers.startTime,r=this._owner._pickers.endTime,m=this._getCanEnableTimePicker(v),l=this._getCanEnableTimePicker(r); var n=function(z){if(z){x.hide(); }else{x.show(); }if(typeof(ValidatorEnable)!="undefined"){ValidatorEnable(w,!z); ValidatorEnable(u,!z); ValidatorEnable(s,!z); ValidatorEnable(q,!z); if(z){ValidatorEnable(t,z); ValidatorEnable(p,z); }}if(m){y._setTimePickerEnabledState(v,!z); }if(l){y._setTimePickerEnabledState(r,!z); }}; this._onAllDayCheckBoxClick=n; n(k[0].checked); k.click(function(){n(this.checked); }); },_getCanEnableTimePicker:function(k){return !k.disabled; },_setTimePickerEnabledState:function(k,l){k.disabled=!l; },_initializeClientMode:function(){var k=this._owner; d.NativeView.callBaseMethod(this,"_initializeClientMode"); a(this._formElement).find("a.rsAdvEditDelete").on("click",function(l){k._deleteClicked(); $telerik.cancelRawEvent(l); }).attr("href","#"); },_setDatePickerValue:function(k,l){k.value=this._getFormattedDate(l); },_setTimePickerValue:function(k,l){k.value=this._getFormattedTime(l); },_getDatePickerValue:function(k){return new Date(k.value.replace(/-/g,"/")); },_getTimePickerValue:function(k){return new Date("1900/01/01 "+k.value); },_setDropDownSelectedIndex:function(k,l){k.item(l).selected=true; },_setDropDownSelectedValue:function(k,l){a.each(k.options,function(){if(this.value==l){this.selected=true; return false; }}); },_getDropDownSelectedIndex:function(k){return k.selectedIndex; },_getDropDownSelectedValue:function(k){return k.value; },_getTextBoxValue:function(k){return k.value; },_setTextBoxValue:function(k,l){k.value=l||""; },_populateTimeZones:function(k){},_saveTimeZones:function(k){var l=this._getDropDownSelectedValue(this._timeZones); k.set_timeZoneID(l); },_getFormattedDate:function(m){var n=m.getFullYear(),l=this._getFullDateComponent(m.getMonth()+1),k=this._getFullDateComponent(m.getDate()); return[n,l,k].join("-"); },_getFormattedTime:function(k){var l=this._getFullDateComponent(k.getHours()),m=this._getFullDateComponent(k.getMinutes()); return[l,m].join(":"); },_getFullDateComponent:function(k){var l=k.toString(); if(l.length==1){l="0"+l; }return l; }}; d.NativeView.registerClass("Telerik.Web.UI.SchedulerAdvancedTemplate.NativeView",d.ViewBase); })($telerik.$,Telerik.Web.UI,Telerik.Web.UI.Scheduler.DateTime);