function getVisibleMinutes(n,t){n=new Date(n||new Date);n=new Date(n.getFullYear(),n.getMonth(),n.getDate(),n.getHours());for(var i=[],r=n.getTime()+36e5;n.getTime()<r;)i.push(n),n=new Date(n.getTime()+t*6e4);return i}function getVisibleWeeks(n){var u,f,t,i,r;for(n=new Date(n||new Date),u=n.getMonth(),f=n.getYear(),n.setDate(1),n.setHours(0),n.setMinutes(0),n.setSeconds(0),n.setMilliseconds(0),n.getDay()===0?n.setDate(-6):n.setDate(n.getDate()-n.getDay()),n.getDate()===1&&n.setDate(-7),t=[];t.length<6;){if(n.getYear()==f&&n.getMonth()>u)break;for(i=[],r=0;r<7;r++)i.push(new Date(n)),n.setDate(n.getDate()+1);t.push(i)}return t}function getVisibleYears(n){var i=[],t;for(n=new Date(n||new Date),n.setFullYear(n.getFullYear()-n.getFullYear()%10),t=0;t<12;t++)i.push(new Date(n.getFullYear()+(t-1),0,1));return i}function getDaysOfWeek(n){var t,i;for(n=new Date(n||new Date),n=new Date(n.getFullYear(),n.getMonth(),n.getDate()),n.setDate(n.getDate()-n.getDay()),t=[],i=0;i<7;i++)t.push(new Date(n)),n.setDate(n.getDate()+1);return t}function getVisibleMonths(n){var r,i,t;for(n=new Date(n||new Date),r=n.getFullYear(),i=[],t=0;t<12;t++)i.push(new Date(r,t,1));return i}function getVisibleHours(n){var t,i;for(n=new Date(n||new Date),n.setHours(0),n.setMinutes(0),n.setSeconds(0),n.setMilliseconds(0),t=[],i=0;i<24;i++)t.push(n),n=new Date(n.getTime()+36e5);return t}function configureAccordion(){$(".configure-accordion ul li .accordion-content").hide();$(".configure-accordion ul li a .vectore-icon-minus").hide();$(".configure-accordion ul li").each(function(){$(this).children("a").click(function(){$(this).parent("li").hasClass("active")?($(".configure-accordion ul li").removeClass("active"),$(".configure-accordion ul li .accordion-content").slideUp("normal"),$(".configure-accordion ul li a .vectore-icon-plus").show(),$(".configure-accordion ul li a .vectore-icon-minus").hide(),$(this).parent("li").removeClass("active"),$(this).children(".vectore-icon-plus").show(),$(this).children(".vectore-icon-minus").hide(),$(this).next(".accordion-content").slideUp("normal")):($(".configure-accordion ul li").removeClass("active"),$(".configure-accordion ul li .accordion-content").slideUp("normal"),$(".configure-accordion ul li a .vectore-icon-plus").show(),$(".configure-accordion ul li a .vectore-icon-minus").hide(),$(this).parent("li").addClass("active"),$(this).next(".accordion-content").slideDown("normal"),$(this).children(".vectore-icon-plus").hide(),$(this).children(".vectore-icon-minus").show())})})}function ButtonUploader(){}function openchildFiledialog(n){$(n).children("input[type='file']")[0].click()}function fileUploader(){FileUploader=".file-uploader";FileUploaderBtn=".file-uploader-btn";FileInfo=".File-Info";BindUploader()}function BindUploader(){$(FileUploader).each(function(){$(this).children(FileUploaderBtn).click(function(){$(this).parent().children().is("input[type='file']")?$(this).parent().children("input[type='file']").click():$(this).parent().children().children("input[type='file']").click()});$(this).children(FileInfo).click(function(){$(this).parent().children().is("input[type='file']")?$(this).parent().children("input[type='file']").click():$(this).parent().children().children("input[type='file']").click()});$(this).children("input[type='file']").change(function(){this.files.length>1?$(this).parent().children(FileInfo).text(this.files.length+" files selected"):$(this).parent().children(FileInfo).text($(this).val())})})}function resetLists(n){window.screenWidth<=768?typeof n!="undefined"?bindLabelOnPad(n):bindLabelOnPad(""):unBindLabelOnPad()}function bindLabelOnPad(n){$(n+" .list-1 .lst-item > div[data-colmn-title]").each(function(){var n=$(this);$(this).find(".list-1-header").length<=0&&n.prepend("<div class='list-1-header'>"+n.attr("data-colmn-title")+"<\/div>")});$(n+" .list-2 .lst-item > div[data-colmn-title]").each(function(){var n=$(this);$(this).find(".list-1-header").length<=0&&n.prepend("<div class='list-1-header'>"+n.attr("data-colmn-title")+"<\/div>")});$(n+" .multilevel-list-1 .lst-item > div[data-colmn-title]").each(function(){var n=$(this);$(this).find(".list-1-header").length<=0&&n.prepend("<div class='list-1-header'>"+n.attr("data-colmn-title")+"<\/div>")})}function unBindLabelOnPad(){$(".list-1 .list-1-header").remove();$(".list-2 .list-1-header").remove();$(".multilevel-list-1 .list-1-header").remove()}var Module,ModalInstanceAccessDeniedCtrl,commonStaticDirectives,modalContactSelectorInstance,app;(function(){"use strict";var n=angular.module("common",["ngResource","aa.formExtensions","aa.notify"]);n.factory("common",["$rootScope","$resource","$location","$http","$route","$routeParams","logger","usSpinnerService","aaNotify","$state","$stateParams",function(n,t,i,r,u,f,e,o,s,h,c){return{$rootScope:n,$resource:t,$location:i,$http:r,$route:u,$routeParams:f,logger:e,usSpinnerService:o,aaNotify:s,$state:h,$stateParams:c}}])})();angular.module("unsavedChanges",["resettable"]).provider("unsavedWarningsConfig",function(){var n=this,t=!1,i=!0,f=["$locationChangeStart","$stateChangeStart"],r="Press cancel to go back and save, press ok to leave without saving.",u="Press cancel to go back and save, press ok to leave without saving.";Object.defineProperty(n,"navigateMessage",{get:function(){return r},set:function(n){r=n}});Object.defineProperty(n,"reloadMessage",{get:function(){return u},set:function(n){u=n}});Object.defineProperty(n,"useTranslateService",{get:function(){return i},set:function(n){i=!!n}});Object.defineProperty(n,"routeEvent",{get:function(){return f},set:function(n){typeof n=="string"&&(n=[n]);f=n}});Object.defineProperty(n,"logEnabled",{get:function(){return t},set:function(n){t=!!n}});this.$get=["$injector",function(n){function o(t){return n.has("$translate")&&i?n.get("$translate")(t):!1}var e={log:function(){if(console.log&&t&&arguments.length){var n=[].slice.call(arguments);typeof console.log=="object"?log.apply.call(console.log,console,n):console.log.apply(console,n)}}};return Object.defineProperty(e,"useTranslateService",{get:function(){return i}}),Object.defineProperty(e,"reloadMessage",{get:function(){return o(u)||u}}),Object.defineProperty(e,"navigateMessage",{get:function(){return o(r)||r}}),Object.defineProperty(e,"routeEvent",{get:function(){return f}}),Object.defineProperty(e,"logEnabled",{get:function(){return t}}),e}]}).service("unsavedWarningSharedService",["$rootScope","unsavedWarningsConfig","$injector",function(n,t){function e(){return f=!0,angular.forEach(i,function(n){t.log("Form : "+n.$name+" dirty : "+n.$dirty);n.$dirty&&(f=!1)}),f}function s(){t.log("No more forms, tearing down");angular.forEach(o,function(n){n()});window.onbeforeunload=null}function c(){t.log("Setting up");window.onbeforeunload=h.confirmExit;var f=t.routeEvent,i=!0;angular.forEach(f,function(f){var s=n.$on(f,function(o,s){t.log("user is moving with "+f);e()||r?(t.log("all forms are clean"),f!="ModalSliderDismiss"||e()||(confirm(u.navigate)?(i=!0,t.log("user doesn't care about loosing stuff"),n.$broadcast("resetResettables")):(t.log("user wants to cancel leaving"),i=!1,o.preventDefault()))):(t.log("a form is dirty"),confirm(u.navigate)?(i=!0,t.log("user doesn't care about loosing stuff"),n.$broadcast("resetResettables"),r=!0):(t.log("user wants to cancel leaving"),r=!1,i=!1,o.preventDefault()));f=="ModalSliderDismiss"&&n.$broadcast("ModalSliderDismissConfirm",{confirmresult:i,modalInstance:s.modalInstance,reason:s.reason})});r=!1;o.push(s)})}var h=this,i=[],f=!0,o=[angular.noop],r=!1,u;this.allForms=function(){return i};u={navigate:t.navigateMessage,reload:t.reloadMessage};this.init=function(n){i.length===0&&c();t.log("Registering form",n);i.push(n)};this.removeForm=function(n){var r=i.indexOf(n);r!==-1&&(i.splice(r,1),t.log("Removing form from watch list",n),i.length===0&&s())};this.confirmExit=function(){if(!e())return u.reload;n.$broadcast("resetResettables");s()}}]).directive("unsavedWarningClear",["unsavedWarningSharedService",function(){return{scope:{},require:"^form",priority:10,link:function(n,t,i,r){t.bind("click",function(){r.$setPristine()})}}}]).directive("unsavedWarningForm",["unsavedWarningSharedService","$rootScope",function(n,t){return{scope:{},require:"form",link:function(i,r,u,f){n.init(f);r.bind("submit",function(){f.$valid&&f.$setPristine()});r.bind("reset",function(n){n.preventDefault();i.$apply(t.$broadcast("resetResettables"));f.$setPristine()});i.$on("$destroy",function(){n.removeForm(f)})}}}]);angular.module("resettable",[]).directive("resettable",["$parse","$compile","$rootScope",function(n){return{scope:!0,restrict:"A",link:function(t,i,r){var f,u,e,o,s;r.$observe("ngModel",function(){u=n(r.ngModel);f=u.assign;e=u(t)});o=function(){f(t,e)};s=t.$on("resetResettables",o);t.$on("$destroy",s)}}}]);Module=angular.module("datePicker",[]);Module.constant("datePickerConfig",{template:"/App_Client/common/directives/DateTimePicker/datepicker.html",view:"month",views:["year","month","date","hours","minutes"],step:5,format:"dd MMMM yyyy",min:new Date(1,1,1),max:new Date(9999,1,1)});Module.directive("datePicker",["datePickerConfig",function(n){return{template:'<div ng-include="template"><\/div>',scope:{model:"=datePicker",after:"=?",before:"=?"},link:function(t,i,r){function e(){var i=t.view,n=new Date(t.date);switch(i){case"year":t.years=getVisibleYears(n);break;case"month":t.months=getVisibleMonths(n);break;case"date":t.weekdays=t.weekdays||getDaysOfWeek();t.weeks=getVisibleWeeks(n);break;case"hours":t.hours=getVisibleHours(n);break;case"minutes":t.minutes=getVisibleMinutes(n,u)}}function o(){return t.view!=="date"?t.view:t.model}function s(){t.views=n.views.concat();t.view=r.view||n.view;t.views=t.views.slice(t.views.indexOf(r.maxView||"year"),t.views.indexOf(r.minView||"minutes")+1);(t.views.length===1||t.views.indexOf(t.view)===-1)&&(t.view=t.views[0])}function h(n,t){function i(n){return n instanceof RegExp?n.test(t):n===t}return angular.isArray(n)?n.some(i):i(n)}var f,u;t.date=new Date(t.model||new Date);t.views=n.views.concat();t.view=r.view||n.view;t.now=new Date;t.template=r.template||n.template;t.format=r.format||n.format;t.min=typeof r.min!="undefined"?new Date(r.min.replace(/"/g,"")):n.min;t.max=typeof r.max!="undefined"?new Date(r.max.replace(/"/g,"")):n.max;t.pickerID=i[0].id;t.view=="date"?f=new Date(t.min.getFullYear(),t.min.getMonth(),t.min.getDate()):t.view=="hours"&&(f=new Date(t.min.getFullYear(),t.min.getMonth(),t.min.getDate(),t.min.getHours(),t.min.getMinutes()));t.min=f;u=parseInt(r.step||n.step,10);t.views=t.views.slice(t.views.indexOf(r.maxView||"year"),t.views.indexOf(r.minView||"minutes")+1);(t.views.length===1||t.views.indexOf(t.view)===-1)&&(t.view=t.views[0]);t.setView=function(n){t.views.indexOf(n)!==-1&&(t.view=n)};t.cleardate=function(){t.model=null};t.setDate=function(n){if(!t.isDisabled(n)){t.date=n;var i=t.views[t.views.indexOf(t.view)+1];if(!i||t.model){t.model=new Date(t.model||n);t.model=n;switch(t.view){case"minutes":t.model.setMinutes(n.getMinutes());case"hours":t.model.setHours(n.getHours());case"date":t.model.setDate(n.getDate());case"month":t.model.setMonth(n.getMonth());case"year":t.model.setFullYear(n.getFullYear())}t.$emit("setDate",t.model,t.view)}i&&t.setView(i)}};t.$watch(o,e);t.next=function(n){var i=t.date;n=n||1;switch(t.view){case"year":case"month":i.setFullYear(i.getFullYear()+n);break;case"date":i.setMonth(i.getMonth()+n);break;case"hours":case"minutes":i.setHours(i.getHours()+n)}e()};t.prev=function(n){return t.next(-n||-1)};t.isAfter=function(n){return t.after?t.after.getTime()<=n.getTime():!1};t.isBefore=function(n){return t.before?t.before.getTime()>=n.getTime():!1};t.isSameMonth=function(n){return t.isSameYear(n)&&t.model.getMonth()===n.getMonth()};t.isSameYear=function(n){return t.model?t.model.getFullYear()===n.getFullYear():!1};t.isSameDay=function(n){return t.isSameMonth(n)&&t.model.getDate()===n.getDate()};t.isSameHour=function(n){return t.isSameDay(n)&&t.model.getHours()===n.getHours()};t.isSameMinutes=function(n){return t.isSameHour(n)&&t.model.getMinutes()===n.getMinutes()};t.isDisabled=function(n){return t.view=="date"?t.min.getTime()<=n.getTime()&&t.max.getTime()>=n.getTime()?!1:!0:t.view=="hours"?t.min.getTime()<=n.getTime()&&t.max.getTime()>=n.getTime()?!1:!0:void 0};t.isNow=function(n){var i=!0,r=t.now;switch(t.view){case"minutes":i&=~~(n.getMinutes()/u)==~~(r.getMinutes()/u);case"hours":i&=n.getHours()===r.getHours();case"date":i&=n.getDate()===r.getDate();case"month":i&=n.getMonth()===r.getMonth();case"year":i&=n.getFullYear()===r.getFullYear()}return i};t.$on("set-user-typed-date",function(n,i){i.date==null?(t.model=null,t.$emit("setDate",t.model,t.view)):t.setDate(i.date)});t.pickerID&&t.$on("pickerUpdate",function(n,i,r){h(i,t.pickerID)&&(s(),t.date=r,e())})}}}]);Module=angular.module("datePicker");Module.directive("dateRange",function(){return{templateUrl:"/App_Client/common/directives/DateTimePicker/daterange.html?v="+window.crm.constants.version,scope:{start:"=",end:"="},link:function(n){n.$watch("start.getTime()",function(t){t&&n.end&&t>n.end.getTime()&&(n.end=new Date(t))});n.$watch("end.getTime()",function(t){t&&n.start&&t<n.start.getTime()&&(n.start=new Date(t))})}}});"use strict";var PRISTINE_CLASS="ng-pristine",DIRTY_CLASS="ng-dirty",Module=angular.module("datePicker");Module.constant("dateTimeConfig",{template:function(n){return'<div date-picker="'+n.ngModel+'" '+(n.view?'view="'+n.view+'" ':"")+(n.maxView?'max-view="'+n.maxView+'" ':"")+(n.template?'template="'+n.template+'" ':"")+(n.minView?'min-view="'+n.minView+'" ':"")+(n.format?'format="'+n.format+'" ':"")+(n.min?"min="+n.min+" ":"")+(n.max?"max="+n.max+" ":"")+'class="dropdown-menu"><\/div>'},format:"shortDate",views:["date","year","month","hours","minutes"],dismiss:!0,position:"relative"});Module.directive("dateTimeAppend",function(){return{link:function(n,t){t.bind("click",function(){t.find("input")[0].focus()})}}});Module.directive("dateTime",["$compile","$document","$filter","dateTimeConfig","$parse","$locale",function(n,t,i,r,u,f){var e=t.find("body"),o=i("date");return{require:"ngModel",scope:!0,link:function(t,i,s,h){function ut(n){return o(n,tt)}function ft(){return h.$modelValue}function et(n){n.stopPropagation();h.$pristine&&(h.$dirty=!0,h.$pristine=!1,i.removeClass(PRISTINE_CLASS).addClass(DIRTY_CLASS),k&&k.$setDirty(),h.$render())}function w(){c&&(c.remove(),c=null);l&&(l.remove(),l=null);$(i[0]).attr("placeholder",y)}function nt(){var u,r;c||(c=n(p)(t),t.$digest(),y=s.placeholder,Isundefinedornull(y)?$(i[0]).attr("placeholder",rt):$(i[0]).attr("placeholder",y),t.$on("setDate",function(n,t,i){et(n);it&&(a[a.length-1]===i||s.minView==i)&&w()}),t.$on("$destroy",w),b==="absolute"?(u=angular.extend(i.offset(),{height:i[0].offsetHeight}),c.css({top:u.top+u.height,left:u.left,display:"block",position:b}),e.append(c)):b==="fixed"?(l=angular.element("<div date-picker-wrapper><\/div>"),v.parent().append(l),l.append(c),r=v.closest(".modal"),setTimeout(function(){if(r.hasClass("modal")){var n=v.offset(),h=r.find(".modal-content").first(),o=r.find(".modal-header").first(),a=r.find(".modal-body").first(),u=h.offset(),f=$(l).find(".dropdown-menu").first(),t=n.top-u.top+v.outerHeight(),s=Math.abs(n.left-u.left),y=a.outerHeight()+o.outerHeight()+u.top,p=t+o.outerHeight()+f.height();p>y?(t=n.top-u.top-f.outerHeight(),c.css({bottom:"auto",top:t,left:s,position:"fixed",display:"block"})):c.css({bottom:"auto",top:t,left:s,position:"fixed",display:"block"})}else{var e=$(i[0]),n=e.offset(),f=$(l).find(".dropdown-menu"),t=n.top+e.height()+14-$(window).scrollTop(),w=n.top+$(f).height()-$(window).scrollTop()+e.height();w<$(window).height()?c.css({top:t,left:n.left,position:"fixed",display:"block"}):c.css({bottom:$(window).height()-n.top+$(window).scrollTop(),top:"auto",left:n.left,position:"fixed",display:"block"})}},300)):setTimeout(function(){l=angular.element("<div date-picker-wrapper><\/div>");i[0].parentElement.insertBefore(l[0],i[0]);l.append(c);c.css({top:i[0].offsetHeight+"px",display:"block"})},300),c.bind("mousedown",function(n){n.preventDefault()}))}function ot(n,t){var i=f.DATETIME_FORMATS[t];return IsNotNullorEmpty(n)?Date.parseString(n,i):null}var tt=s.format||r.format,k=i.inheritedData("$formController"),a=u(s.views)(t)||r.views.concat(),d=s.view||a[0],g=a.indexOf(d),it=s.dismiss?u(s.dismiss)(t):r.dismiss,c=null,b=s.position||r.position,l=null,v=$(i),rt=f.DATETIME_FORMATS.shortDate,y=null,p;g===-1&&a.splice(g,1);a.unshift(d);h.$formatters.push(ut);h.$parsers.unshift(ft);p=r.template(s);t.safeApply=function(n){var t=this.$root.$$phase;t=="$apply"||t=="$digest"?n&&typeof n=="function"&&n():this.$apply(n)};t.$watch(function(){return u(s.min)(t)},function(){p=r.template(s)});t.$watch(function(){return u(s.max)(t)},function(){p=r.template(s)});i.bind("click",nt);i.bind("focus",nt);i.bind("blur",w);i.bind("change",function(n){var i=ot(n.target.value,n.target.attributes.format.value);t.$broadcast("set-user-typed-date",{date:i});w()})}}}]);angular.module("ui.bootstrap.modalSlider",["ui.bootstrap.transition"]).factory("$$stackedMap",function(){return{createNew:function(){var n=[];return{add:function(t,i){n.push({key:t,value:i})},get:function(t){for(var i=0;i<n.length;i++)if(t==n[i].key)return n[i]},keys:function(){for(var i=[],t=0;t<n.length;t++)i.push(n[t].key);return i},top:function(){return n[n.length-1]},remove:function(t){for(var r=-1,i=0;i<n.length;i++)if(t==n[i].key){r=i;break}return n.splice(r,1)[0]},removeTop:function(){return n.splice(n.length-1,1)[0]},length:function(){return n.length}}}}}).directive("sliderBackdrop",["$timeout",function(n){return{restrict:"EA",replace:!0,templateUrl:"/App_Client/common/directives/ModalSlider/backdrop.html?v="+window.crm.constants.version,link:function(t){t.animate=!1;n(function(){t.animate=!0})}}}]).directive("sliderWindow",["$sliderStack","$timeout",function(n,t){return{restrict:"EA",scope:{index:"@",animate:"="},replace:!0,transclude:!0,templateUrl:"/App_Client/common/directives/ModalSlider/window.html?v="+window.crm.constants.version,link:function(i,r,u){i.windowClass=u.windowClass||"";i.animate=!1;t(function(){i.animate=!0;i.heightType=angular.element(".slider-body").attr("data-containerheighttype")||"max-height";r[0].focus();try{var n=angular.element(".slider-header").height(),t=angular.element(".slider-footer").height(),u=angular.element(".modal-slider-old").height(),f=u-(n+t+70);angular.element(".slider-body").css(i.heightType,f)}catch(e){}});i.close=function(t){var i=n.getTop();i&&i.value.backdrop&&i.value.backdrop!="static"&&t.target===t.currentTarget&&(t.preventDefault(),t.stopPropagation(),n.dismiss(i.key,"backdrop click"))}}}}]).factory("$sliderStack",["$transition","$timeout","$document","$compile","$rootScope","$$stackedMap",function(n,t,i,r,u,f){function c(){for(var t=-1,i=e.keys(),n=0;n<i.length;n++)e.get(i[n]).value.backdrop&&(t=window.crm.constants.modalIndex);return t}function l(n){var r=i.find("body").eq(0),t=e.get(n).value;e.remove(n);v(t.modalDomEl,t.modalScope,600,function(){t.modalScope.$destroy();r.toggleClass(a,e.length()>0);y()});window.crm.constants.modalIndex--}function y(){if(h&&c()==-1){var n=o;v(h,o,600,function(){n.$destroy();n=null});h=undefined;o=undefined}}function v(i,r,u,f){function e(){e.done||(e.done=!0,i.remove(),f&&f())}var o,s;r.animate=!1;o=n.transitionEndEventName;o?(s=t(e,u),i.bind(o,function(){t.cancel(s);e();r.$apply()})):t(e,0)}var a="slider-open",h,o,e=f.createNew(),s={};return u.$watch(c,function(n){o&&(o.index=n)}),i.bind("keydown",function(n){var t;n.which===27&&(t=e.top(),t&&t.value.keyboard&&u.$apply(function(){s.dismiss(t.key)}))}),s.open=function(n,t){var s,l,f,v;window.crm.constants.modalIndex++;e.add(n,{deferred:t.deferred,modalScope:t.scope,backdrop:t.backdrop,keyboard:t.keyboard});s=i.find("body").eq(0);l=c();l>=0&&!h&&(o=u.$new(!0),o.index=l,h=r("<div slider-backdrop><\/div>")(o),s.append(h));f=angular.element("<div slider-window><\/div>");f.attr("window-class",t.windowClass);f.attr("index",window.crm.constants.modalIndex-1);f.attr("animate","animate");f.html(t.content);v=r(f)(t.scope);e.top().value.modalDomEl=v;s.append(v);s.addClass(a)},s.close=function(n,t){var i=e.get(n).value;i&&(i.deferred.resolve(t),l(n))},s.dismiss=function(n,t){var r,i;try{if(r=angular.element(e.get(n).value.modalDomEl[0]),r.find("form").hasClass("ng-dirty")&&!confirm("You have unsaved changes, continue anyway?"))return}catch(u){}i=e.get(n).value;i&&(i.deferred.reject(t),l(n))},u.$on("ModalSliderDismissConfirm",function(n,t){if(t.confirmresult){var i=e.get(t.modalInstance).value;i&&(i.deferred.reject(t.reason),l(t.modalInstance))}}),s.dismissAll=function(n){for(var t=this.getTop();t;)this.dismiss(t.key,n),t=this.getTop()},s.getTop=function(){return e.top()},s}]).provider("$modalSlider",function(){var n={options:{backdrop:!0,keyboard:!0},$get:["$injector","$rootScope","$q","$http","$templateCache","$controller","$sliderStack",function(t,i,r,u,f,e,o){function h(n){return n.template?r.when(n.template):u.get(n.templateUrl,{cache:f}).then(function(n){return n.data})}function c(n){var i=[];return angular.forEach(n,function(n){(angular.isFunction(n)||angular.isArray(n))&&i.push(r.when(t.invoke(n)))}),i}var s={};return s.open=function(t){var f=r.defer(),s=r.defer(),u={result:f.promise,opened:s.promise,close:function(n){o.close(u,n)},dismiss:function(n){o.dismiss(u,n)}},l;if(t=angular.extend({},n.options,t),t.resolve=t.resolve||{},!t.template&&!t.templateUrl)throw new Error("One of template or templateUrl options is required.");return l=r.all([h(t)].concat(c(t.resolve))),l.then(function(n){var s=(t.scope||i).$new(),c,r,h;s.$close=u.close;s.$dismiss=u.dismiss;r={};h=1;t.controller&&(r.$scope=s,r.$modalInstance=u,angular.forEach(t.resolve,function(t,i){r[i]=n[h++]}),c=e(t.controller,r));o.open(u,{scope:s,deferred:f,content:n[0],backdrop:t.backdrop,keyboard:t.keyboard,windowClass:t.windowClass})},function(n){f.reject(n)}),l.then(function(){s.resolve(!0)},function(){s.reject(!1)}),u},s}]};return n});app=angular.module("app");app.directive("cstLoadingOverlay",["$timeout","$q","httpInterceptor","common","$modal",function(n,t,i,r,u){return{restrict:"E",scope:{Ispublicpage:"@ispublicpage"},link:function(n){n.Ispublicpage=n.Ispublicpage||!1;i.responseError=function(i){var f,e;return i.status==400?i.data.ModelState&&(f=[],angular.forEach(i.data.ModelState,function(n){f.push(n)}),f.join("\n")!=""&&r.aaNotify.danger(f.join("\n"))):i.status==404&&i.data?n.Ispublicpage&&i.config.url.indexOf(".json")<=-1&&(window.location="/"+window.crm.constants.client+"/Pages/Error/NotFound/"):i.status==403?r.$rootScope.ForbiddenIsopen||(r.$rootScope.ForbiddenIsopen=!0,e=u.open({templateUrl:"/App_Client/views/AccessDenied.html",controller:ModalInstanceAccessDeniedCtrl,sizeclass:"modal-sd",scope:!1,keyboard:!1,backdrop:!1}),e.result.then(function(){},function(){})):i.status==500?window.location=n.Ispublicpage?"/"+window.crm.constants.client+"/Pages/Error/InternalError/":"/Error/InternalError/":i.status==401?window.location=n.Ispublicpage?"/"+window.crm.constants.client+"/Pages/Account#/login":"/account/login":i.status==302&&(window.location="/landing/index/?clientId=0"),t.reject(i)}}}}]);ModalInstanceAccessDeniedCtrl=["$scope","common","$modalInstance",function(n,t,i){n.cancel=function(){t.$rootScope.ForbiddenIsopen=!1;i.dismiss("cancel")}}];app.factory("httpInterceptor",function(){return{}});angular.module("ui.sortable",[]).value("uiSortableConfig",{}).directive("uiSortable",["uiSortableConfig","$timeout","$log",function(n,t,i){return{require:"?ngModel",link:function(r,u,f,e){function c(n,t){return t&&typeof t=="function"?function(i,r){n(i,r);t(i,r)}:n}var o,h={},s={receive:null,remove:null,start:null,stop:null,update:null};angular.extend(h,n);e?(r.$watch(f.ngModel+".length",function(){t(function(){u.sortable("refresh")})}),s.start=function(n,t){t.item.sortable={index:t.item.index(),cancel:function(){t.item.sortable._isCanceled=!0},isCanceled:function(){return t.item.sortable._isCanceled},_isCanceled:!1}},s.activate=function(){var n,t,i;o=u.contents();n=u.sortable("option","placeholder");n&&n.element&&typeof n.element=="function"&&(t=n.element(),t.jquery||(t=angular.element(t)),i=u.find('[class="'+t.attr("class")+'"]'),o=o.not(i))},s.update=function(n,t){t.item.sortable.received||(t.item.sortable.dropindex=t.item.index(),t.item.sortable.droptarget=t.item.parent(),u.sortable("cancel"));o.detach();u.sortable("option","helper")==="clone"&&(o=o.not(o.last()));o.appendTo(u);t.item.sortable.received&&!t.item.sortable.isCanceled()&&r.$apply(function(){e.$modelValue.splice(t.item.sortable.dropindex,0,t.item.sortable.moved)})},s.stop=function(n,t){!t.item.sortable.received&&"dropindex"in t.item.sortable&&!t.item.sortable.isCanceled()?r.$apply(function(){e.$modelValue.splice(t.item.sortable.dropindex,0,e.$modelValue.splice(t.item.sortable.index,1)[0])}):"dropindex"in t.item.sortable&&!t.item.sortable.isCanceled()||u.sortable("option","helper")==="clone"||o.detach().appendTo(u)},s.receive=function(n,t){t.item.sortable.received=!0},s.remove=function(n,t){t.item.sortable.isCanceled()||r.$apply(function(){t.item.sortable.moved=e.$modelValue.splice(t.item.sortable.index,1)[0]})},r.$watch(f.uiSortable,function(n){angular.forEach(n,function(n,t){s[t]&&(t==="stop"&&(n=c(n,function(){r.$apply()})),n=c(s[t],n));u.sortable("option",t,n)})},!0),angular.forEach(s,function(n,t){h[t]=c(n,h[t])})):i.info("ui.sortable: ngModel not provided!",u);u.sortable(h)}}}]);commonStaticDirectives={openWorkSharingPopup:function(n){$scope=n.$scope;common=n.common;var t='<div id="spnEmployeeListPop">';return t+='<us-spinner spinner-key="spnEmployeeListPop" position="fixed" use-in="popup"><\/us-spinner>',t+='<div class="modal-header">',n.action=="deleteEmployee"&&(t+="<h3>Delete Employee<\/h3>"),n.action=="deleteEmployer"&&(t+="<h3>Delete Employer<\/h3>"),n.action=="setUnsetCurrentEmployee"&&(t+="<h3>Current Employee<\/h3>"),n.action=="setUnsetCurrentEmployer"&&(t+="<h3>Current Employer<\/h3>"),t+='<span class="modal-close icon-close" ng-click="close()"><\/span><\/div>',t+='<div class="modal-body">',n.action=="deleteEmployee"?t+='<removeworkaddresssharing contactId="employeeContactId" organizationId="organizationContactId" after-save="removeSharingAddress()"><\/removeworkaddresssharing>':n.action=="deleteEmployer"?t+='<removeworkaddresssharing contactId="employeeContactId" organizationId="organizationContactId" after-save="removeWorkInformation()"><\/removeworkaddresssharing>':n.action=="setUnsetCurrentEmployee"?n.currentOrganization?(t+='<h3 class="font-weight-normal">This will set current employee to false. Are you sure you want to continue?<\/h3>',t+='<removeworkaddresssharing contactId="employeeContactId" organizationId="organizationContactId" after-save="saveEmployee()"><\/removeworkaddresssharing>'):t+='<workaddresssharing contactId="employeeContactId" organizationId="organizationContactId" after-save="saveEmployee()"><\/workaddresssharing>':n.action=="setUnsetCurrentEmployer"&&(n.currentOrganization?(t+='<h3 class="font-weight-normal">This will set current employer to false. Are you sure you want to continue?<\/h3>',t+='<removeworkaddresssharing contactId="employeeContactId" organizationId="organizationContactId" after-save="saveEmployer()"><\/removeworkaddresssharing>'):t+='<workaddresssharing contactId="employeeContactId" organizationId="organizationContactId" after-save="saveEmployer()"><\/workaddresssharing>'),t+="<\/div>",t+='<div class="modal-footer">',t+='<button ng-click="close()">Close<\/button>',(n.action=="deleteEmployee"||n.action=="deleteEmployer")&&(t+='<button ng-click="delete()">{{"_Delete_" | translate}}<\/button>'),(n.action=="setUnsetCurrentEmployee"||n.action=="setUnsetCurrentEmployer")&&(t+='<button ng-click="save()">{{"_Save_" | translate}}<\/button>'),t+="<\/div><\/div>",{template:t,controller:["$scope","$modalInstance",function(t,i){t.employeeContactId=n.employeeContactId;t.organizationContactId=n.organizationContactId;t.removeSharingAddress=function(){common.usSpinnerService.spin("spnEmployeeListPop");n.EmployeeSvc.DeleteEmployeeInformation(n.employeeContactId,n.organizationContactId).then(function(i){common.usSpinnerService.stop("spnEmployeeListPop");i.data.Type=="Success"?(t.Employees.splice(n.index,1),common.aaNotify.success(i.data.Description),t.close()):(common.aaNotify.error(i.data.Description),t.close())},function(n){console.warn(n);common.usSpinnerService.stop("spnEmployeeListPop")})};t.removeWorkInformation=function(){common.usSpinnerService.spin("spnEmployeeListPop");n.WorkInformationsSvc.DeleteWorkInformation(n.employeeContactId,n.organizationContactId,n.contactOrganizatioId).then(function(i){common.usSpinnerService.stop("spnEmployeeListPop");i.Type=="Success"?common.aaNotify.success(i.Description):(common.aaNotify.error(i.Description),t.close());t.WorkInformations.splice(n.index,1);t.close()})};t.saveEmployee=function(){n.item.CurrentOrganization=!n.item.CurrentOrganization;common.usSpinnerService.spin("spnEmployeeListPop");n.EmployeeSvc.SaveEmployee(n.item).then(function(n){n.data.Type=="Success"?(common.aaNotify.success(n.data.Description),t.close()):(common.aaNotify.error(n.data.Description),t.close())},function(n){console.warn(n);common.usSpinnerService.stop("spnEmployeeListPop")})};t.saveEmployer=function(){n.item.CurrentOrganization=!n.item.CurrentOrganization;common.usSpinnerService.spin("spnEmployeeListPop");n.WorkInformationsSvc.SaveWorkInformation(n.item).then(function(n){n.Message.Type=="Success"?common.aaNotify.success(n.Message.Description):(common.aaNotify.error(n.Message.Description),item.CurrentOrganization=!item.CurrentOrganization);t.close()},function(n){console.warn(n);common.usSpinnerService.stop("spnEmployeeListPop")})};t.save=function(){window.confirm("Are you sure you want to update this record?")&&(n.item.CurrentOrganization?t.$broadcast("WorkAdressSharingRemoved"):t.$broadcast("WorkAddressShared"))};t.delete=function(){window.confirm("Are you sure you want to delete this record?")&&t.$broadcast("WorkAdressSharingRemoved")};t.close=function(){i.dismiss()}}],keyboard:!0,backdrop:!0,scope:$scope}}};app.directive("maxHeight",["$window","$timeout",function(n,t){return{restrict:"A",link:function(i,r,u){function p(n){n!=""&&i.$on(n,function(){t(function(){s=$(f).offset();var n=$(f).parents(".modal-dialog").first(),t=n.height(),i=n.offset(),r=-(i.top-s.top);e=t-h-(r+a);f.setAttribute(c,o+e+l)},1e3)})}function w(n){n!=""&&i.$on(n,function(){t(function(){s=$(f).offset();var n=$(f).parents(".modal-dialog").first(),t=n.height(),i=n.offset(),r=-(i.top-s.top);e=t-h-(r+a);f.setAttribute(c,v+o+e+l)},1e3)})}function y(r,u,o,h,c,l){r!=""&&i.$on(r,function(){t(function(){s=$(f).offset();e=$(".freeze-bottom.button-bar").length>0?n.innerHeight-u-(s.top+o):n.innerHeight-(s.top+o);f.getAttribute("style")?helper.matchinlinestyleprop(f,c,parseInt(e)+l)||f.setAttribute(h,f.getAttribute("style")+";"+c+parseInt(e)+l):f.setAttribute(h,c+parseInt(e)+l)},1e3)})}function b(r){r!=""&&i.$on(r,function(){t(function(){s=$(f).offset();e=n.screenHeight-h-s.top;f.setAttribute(c,"max-height:"+e+l)},1e3)})}var f=r[0],e=0,h=55,s,a=20,c="style",o="min-height:",l="px",v=u.style;console.log(v);switch(u.maxHeight){case"setForEditor":h=65;l=o="";c="editorHeight";y("ckeditorReady",h,a,c,o,"");break;case"setForEditorModal":p("ckeditorReady");h=123;l=o="";c="editorHeight";break;case"setForModal":o=u.heightProp||o;w("us-spinner:stop");break;case"setForSpinner":o=u.heightProp||o;y("us-spinner:stop",h,0,c,o,l);break;case"setForSpinnerWithScrollable":b("us-spinner:stop");break;default:console.warn("max-height attribute value is wrong.")}}}}]);app.directive("helptext",[function(){return{restrict:"E",transclude:!0,replace:!0,scope:!0,templateUrl:"/App_Client/common/directives/HelpText/helpText.html?v="+window.crm.constants.version}}]);app.directive("validNumber",function(){return{require:"?ngModel",link:function(n,t,i,r){r&&(r.$parsers.push(function(n){var n,t,i;return angular.isUndefined(n)&&(n=""),t=n.replace(/[^0-9\.]/g,""),i=t.split("."),angular.isUndefined(i[1])||(i[1]=i[1].slice(0,2),t=i[0]+"."+i[1]),n!==t&&(r.$setViewValue(t),r.$render()),t}),t.bind("keypress",function(n){n.keyCode===32&&n.preventDefault()}))}}});app.directive("callout",["$window","$timeout",function(n){return{restrict:"A",scope:{onenter:"&onEnter",onleave:"&onLeave"},link:function(t,i,r){function w(){o.css({visibility:"hidden",position:"fixed","z-index":1e3});p!=null&&o.css({"max-width":p});k()}function b(){$(".popout-window").attr("style","");f.removeClass("open");e=v=u=h=s=c=0;f.removeClass("callout-left").removeClass("callout-right").removeClass("callout-bottom")}function k(){e=f.width();v=f.height();u=f.offset();h=u.top-$(n).scrollTop();s=o.width();c=o.height();var t={};g(c+h)?(t={top:h-c-v-a},y=="left"?l(u.left+10-s,u.left):y=="center"?l(u.left+e/2-s,u.left+(e/2-20)):l(u.left+e-20-s,u.left+(e-30)),f.addClass("callout-bottom")):(t={top:h-8},l(u.left-s-a-14,u.left+e+a));o.css(t);o.css({visibility:"visible"})}function d(){var t=!0;return e+u.left+s<n.innerWidth&&(t=!1),t}function g(t){var i=!0;return t<n.innerWidth&&(i=!1),i}function l(n,t){var i={};d()?(i={left:n},f.addClass("callout-left")):(i={left:t},f.addClass("callout-right"));o.css(i)}var y=r.callout||"left",f=$(i[0]),o=f.find(" > .popout-window"),a=parseInt(r.calloutMargin||16),e=0,v=0,u=0,h=0,s=0,c=0,p=r.calloutMaxWidth||null;f.removeClass("open-right").removeClass("open-left").removeClass("open-bottom").removeClass("open-top");window["callout-watcher"]=!1;f.mouseenter(function(){t.onenter();$(".popout-window").attr("style","");w()}).mouseleave(function(){t.onleave();b()})}}}]);app.directive("validNumber",function(){return{require:"?ngModel",link:function(n,t,i,r){r&&(r.$parsers.push(function(n){var n,t,i;return angular.isUndefined(n)&&(n=""),t=n.replace(/[^0-9\.]/g,""),i=t.split("."),angular.isUndefined(i[1])||(i[1]=i[1].slice(0,2),t=i[0]+"."+i[1]),n!==t&&(r.$setViewValue(t),r.$render()),t}),t.bind("keypress",function(n){n.keyCode===32&&n.preventDefault()}))}}});app.directive("modualViewAuthorize",["$compile","$filter",function(n,t){var i={t1:"<div class='list-1 root-list first-col-icon'><div class='col-12'><div class='pad-30 align-center'><div class='pad-t-45'><img src='/content/images/accessDeinied-ico-small.jpg' height='90' width='90' alt=' '><h1 class='pad-t-20'>You are not authorized.<\/h1><\/div><\/div><\/div><\/div>",t2:"<p style='font-size:18px; text-align:center;'><span class='fa fa-ban color-red'><\/span> You are not authorized{{moduleName}}<\/p>"},r=function(r,u){return function(r,f,e){r.moduleName=e.moduleName?" for "+t("translate")(e.moduleName)+".":".";r.$watch("IsModualAuthorize",function(t){t=="false"&&(u.template?f.html(n(i[e.template])(r)):f.html(n(i.t1)(r)))})}};return{restrict:"A",replace:!0,scope:{IsModualAuthorize:"@ismodualauthorize"},compile:r}}]);app.directive("removeTabindexFromModal",function(){return{scope:{},restrict:"A",link:function(){var n=$(document).find(".modal");n.unbind("focus");n.removeAttr("tabindex")}}});app.directive("fixedDatePicker",["$timeout",function(n){return{restrict:"C",link:function(t,i){function r(){$(i).click(function(){var t=$(".ds-fs-container .ds-fs-item-container > .ds-fs-item.ds-Matrix").scrollTop(),f=$(".ds-fs-container .ds-fs-item-container > .ds-fs-item.ds-Matrix").scrollLeft(),i=$(window).scrollTop(),n=$(this).offset(),r=n.left,u=n.top-(t+i);$(this).prev("[date-picker-wrapper]").css({top:u+"px"});$(this).prev("[date-picker-wrapper]").css({left:r+"px"})})}n(function(){$(i).parents().hasClass("enable-fixed-date-picker")&&r()},1e3)}}}]);app.directive("freezeBottom",["$timeout",function(n){return{restrict:"C",link:function(){n(function(){RomoveDefaultPadding.GeneralCondition("#mainContainer",".freeze-bottom")},1e3)}}}]);app.directive("draggableSection",["$timeout",function(n){return{restrict:"C",link:function(){n(function(){globalVariable.isDraggableExist=!0;startDraggablePanel();globalVariable.setDraggableHeight()},1e3)}}}]);app.directive("dropdownLink",["$timeout",function(n){return{restrict:"C",link:function(t,i){n(function(){var n=$(i).find(".dropdown-link-btn");DropdownClass(n,".dropdown-section","dropdown-show","data-drop")},1e3)}}}]);app.directive("lstBody",["$timeout",function(n){return{restrict:"C",link:function(){n(function(){resetLists()},1e3)}}}]);app.directive("windowMinHeight",["$timeout",function(n){return{restrict:"C",link:function(){n(function(){windowMinHeight()},1e3)}}}]);app.directive("windowFullMinHeight",["$timeout",function(n){return{restrict:"C",link:function(){n(function(){windowFullMinHeight()},1e3)}}}]);app.directive("heightCompareSection",["$timeout",function(n){return{restrict:"C",link:function(){n(function(){heightCompare()},2e3)}}}]);app.directive("configureAccordion",["$timeout",function(n){return{restrict:"C",link:function(){n(function(){configureAccordion()},500)}}}]);app.directive("uiIframe",["$compile","$timeout","$sce",function(){return{restrict:"E",template:'<iframe width="100%" height="100%" style="box-shadow:1px 1px 10px rgba(0,0,0,0.5);" frameborder="0"><\/iframe>',scope:{content:"="},link:function(n,t){var i=function(){t.find("iframe").contents().find("html").html(n.content).contents()};n.$watch("content",function(n){typeof n=="string"&&i()})}}}]);app=angular.module("app");app.directive("formatcurrency",["$filter",function(n){return{require:"?ngModel",link:function(t,i,r,u){u&&(i.bind("blur",function(){var t;r.formatcurrency=="currency"?((typeof u.$modelValue=="undefined"||u.$modelValue==null)&&(u.$modelValue=0),t=u.$modelValue.toString(),t=parseFloat(t.replace(/[^\d|\-+|\.+]/g,"")),i.val(n(r.formatcurrency)(t.toFixed(2)))):r.formatcurrency=="decimal"&&((typeof u.$modelValue=="undefined"||u.$modelValue==null)&&(u.$modelValue=0),t=u.$modelValue.toString(),t=t.replace(/[^\d|\-+|\.+]/g,""),i.val(n("number")(t,2)))}),u.$formatters.unshift(function(){if(typeof u.$modelValue!="undefined"&&u.$modelValue!=null){if(r.formatcurrency=="currency")return n(r.formatcurrency)(u.$modelValue);if(r.formatcurrency=="decimal")return n("number")(u.$modelValue,2)}}),u.$parsers.unshift(function(n){return n.replace(/[^\d|\-+|\.+]/g,"")}))}}}]);app.directive("formatcurrencyAdvancesearch",["$filter",function(n){return{require:"?ngModel",link:function(t,i,r,u){u&&(i.bind("blur",function(){var t;r.formatcurrencyAdvancesearch=="currency"?((typeof u.$modelValue=="undefined"||u.$modelValue==null)&&(u.$modelValue=0),t=u.$modelValue.toString(),t=parseFloat(t.replace(/[^\d|\-+|\.+]/g,"")),i.val(n(r.formatcurrencyAdvancesearch)(t.toFixed(2)))):r.formatcurrencyAdvancesearch=="decimal"?((typeof u.$modelValue=="undefined"||u.$modelValue==null)&&(u.$modelValue=0),t=u.$modelValue.toString(),t=t.replace(/[^\d|\-+|\.+]/g,""),i.val(n("number")(t,2))):r.formatcurrencyAdvancesearch=="number"&&(IsNullorEmpty(u.$modelValue)&&(u.$modelValue=0),t=u.$modelValue.toString(),t=t.replace(/[^\d|\-+|\.+]/g,""),i.val(n("number")(t,0)))}),u.$formatters.unshift(function(){if(typeof u.$modelValue!="undefined"&&u.$modelValue!=null){if(r.formatcurrencyAdvancesearch=="currency")return n(r.formatcurrencyAdvancesearch)(u.$modelValue);if(r.formatcurrencyAdvancesearch=="decimal")return IsNullorEmpty(u.$modelValue)&&u.$setViewValue("0"),n("number")(u.$modelValue,2);if(r.formatcurrencyAdvancesearch=="number")return IsNullorEmpty(u.$modelValue)&&u.$setViewValue("0"),n("number")(u.$modelValue,0)}}),u.$parsers.unshift(function(n){return n.replace(/[^\d|\-+|\.+]/g,"")}))}}}]);app.directive("customformatcurrency",["$filter",function(n){return{require:"?ngModel",link:function(t,i,r,u){u&&(i.bind("blur",function(){(typeof u.$modelValue=="undefined"||u.$modelValue==null)&&(u.$modelValue=0);var t=u.$modelValue.toString();t=parseFloat(t.replace(/[^\d|\-+|\.+]/g,""));r.customformatcurrency==""||r.customformatcurrency==null?i.val(n("currency")(t.toFixed(2))):i.val(n("currency")(t.toFixed(2),r.customformatcurrency))}),u.$formatters.unshift(function(){if(typeof u.$modelValue!="undefined"&&u.$modelValue!=null)if(u.$modelValue==0)u.$modelValue="";else return r.customformatcurrency==""?n("currency")(u.$modelValue):n("currency")(u.$modelValue,r.customformatcurrency)}),u.$parsers.unshift(function(n){return n.replace(/[^\d|\-+|\.+]/g,"")}))}}}]);app.directive("formatisocurrency",["$filter",function(n){return{require:"?ngModel",link:function(t,i,r,u){u&&(i.bind("blur",function(){var f,t;r.formatisocurrency=="isoCurrency"?(f="",f=typeof r.currencycode=="undefined"||r.currencycode==null||r.currencycode==""?"":r.currencycode,(typeof u.$modelValue=="undefined"||u.$modelValue==null)&&(u.$modelValue=0),t=u.$modelValue.toString(),t=parseFloat(t.replace(/[^\d|\-+|\.+]/g,"")),i.val(n(r.formatisocurrency)(t,f,2))):r.formatisocurrency=="decimal"&&((typeof u.$modelValue=="undefined"||u.$modelValue==null)&&(u.$modelValue=0),t=u.$modelValue.toString(),t=t.replace(/[^\d|\-+|\.+]/g,""),i.val(n("number")(t,2)))}),u.$formatters.unshift(function(){if(typeof u.$modelValue!="undefined"&&u.$modelValue!=null){if(r.formatisocurrency=="isoCurrency"){var t="";return t=typeof r.currencycode=="undefined"||r.currencycode==null||r.currencycode==""?"":r.currencycode,n(r.formatisocurrency)(u.$modelValue,t,2)}if(r.formatisocurrency=="decimal")return n("number")(u.$modelValue,2)}}),u.$parsers.unshift(function(n){return n.replace(/[^\d|\-+|\.+]/g,"")}))}}}]),function(){"use strict";function n(n){function r(n,t){t=t||"log";switch(t.toLowerCase()){case"success":t="logSuccess";break;case"error":t="logError";break;case"warn":t="logWarning";break;case"warning":t="logWarning"}var r=i[t]||i.log;return function(t,i,u){r(t,i,n,u===undefined?!0:u)}}function u(n,i,r,u){t(n,i,r,u,"info")}function f(n,i,r,u){t(n,i,r,u,"warning")}function e(n,i,r,u){t(n,i,r,u,"success")}function o(n,i,r,u){toastr.options.timeOut=15e3;t(n,i,r,u,"error")}function t(t,i,r,u,f){var e=f==="error"?n.error:n.log;r=r?"["+r+"] ":"";e(r,t,i);u&&(f==="error"?toastr.error(t):f==="warning"?toastr.warning(t):f==="success"?toastr.success(t):toastr.info(t))}var i={getLogFn:r,log:u,logError:o,logSuccess:e,logWarning:f};return i}angular.module("common").factory("logger",["$log",n])}();angular.module("ui.bootstrap.pagination",[]).controller("NPEPaginationController",["$scope","$attrs","$parse","$interpolate",function(n,t,i,r){var u=this,f=t.numPages?i(t.numPages).assign:angular.noop;this.init=function(r){t.itemsPerPage?n.$parent.$watch(i(t.itemsPerPage),function(t){u.itemsPerPage=parseInt(t,10);n.totalPages=u.calculateTotalPages()}):this.itemsPerPage=r};this.noPrevious=function(){return this.page===1};this.noNext=function(){return this.page===n.totalPages};this.isActive=function(n){return this.page===n};this.calculateTotalPages=function(){var t=this.itemsPerPage<1?1:Math.ceil(n.totalItems/this.itemsPerPage);return Math.max(t||0,1)};this.getAttributeValue=function(t,i,u){return angular.isDefined(t)?u?r(t)(n.$parent):n.$parent.$eval(t):i};this.render=function(){this.page=parseInt(n.page,10)||1;this.page>0&&this.page<=n.totalPages&&(n.pages=this.getPages(this.page,n.totalPages))};n.selectPage=function(t){if(IsNotNullorEmpty(t)||(t=n.ActivePgNumber),n.ActivePgNumber=parseInt(n.ActivePgNumber),!u.isActive(t)&&t>0&&t<=n.totalPages){t=parseInt(t);n.page=t;n.ActivePgNumber=n.page;n.onSelectPage({page:t})}};n.$watch("page",function(){u.render()});n.$watch("totalItems",function(){n.totalPages=u.calculateTotalPages()});n.$watch("totalPages",function(t){f(n.$parent,t);u.page>t?n.selectPage(t):u.render()});n.selectPageSize=function(){n.onSelectPageSize({pagesize:n.pagesize})};n.ActivePgNumber={};n.ActivePgNumber=1;n.FilterTabsIcon=function(n){return n.text=="�"?!1:!0}}]).constant("paginationConfig",{itemsPerPage:100,boundaryLinks:!1,directionLinks:!0,firstText:"First",previousText:"Previous",nextText:"Next",lastText:"Last",rotate:!0}).directive("npepagination",["$parse","paginationConfig",function(n,t){return{restrict:"EA",scope:{page:"=",totalItems:"=",onSelectPage:" &",onSelectPageSize:" &",pagesize:"="},controller:"NPEPaginationController",templateUrl:"/App_Client/common/directives/pagination/pagination.html?v="+window.crm.constants.version,replace:!0,link:function(i,r,u,f){function o(n,t,i,r){return{number:n,text:t,active:i,disabled:r}}var e=10,h=f.getAttributeValue(u.boundaryLinks,t.boundaryLinks),c=f.getAttributeValue(u.directionLinks,t.directionLinks),l=f.getAttributeValue(u.firstText,t.firstText,!0),a=f.getAttributeValue(u.previousText,t.previousText,!0),v=f.getAttributeValue(u.nextText,t.nextText,!0),y=f.getAttributeValue(u.lastText,t.lastText,!0),s=f.getAttributeValue(u.rotate,t.rotate);f.init(t.itemsPerPage);u.maxSize&&i.$parent.$watch(n(u.maxSize),function(n){e=parseInt(n,10);f.render()});f.getPages=function(n,t){var i=[],r=1,u=t,w=angular.isDefined(e)&&e<t,p,b,k,d,g,nt,tt,it;for(w&&(s?(r=Math.max(n-Math.floor(e/2),1),u=r+e-1,u>t&&(u=t,r=u-e+1)):(r=(Math.ceil(n/e)-1)*e+1,u=Math.min(r+e-1,t))),p=r;p<=u;p++)b=o(p,p,f.isActive(p),!1),i.push(b);return w&&!s&&(r>1&&(k=o(r-1,"...",!1,!1),i.unshift(k)),u<t&&(d=o(u+1,"...",!1,!1),i.push(d))),c&&(g=o(n-1,a,!1,f.noPrevious()),i.unshift(g),nt=o(n+1,v,!1,f.noNext()),i.push(nt)),h&&(tt=o(1,l,!1,f.noPrevious()),i.unshift(tt),it=o(t,y,!1,f.noNext()),i.push(it)),i}}}}]).constant("pagerConfig",{itemsPerPage:10,previousText:"� Previous",nextText:"Next �",align:!0}).directive("npepager",["pagerConfig",function(n){return{restrict:"EA",scope:{page:"=",totalItems:"=",onSelectPage:" &"},controller:"NPEPaginationController",templateUrl:"/App_Client/common/directives/pagination/pager.html?v="+window.crm.constants.version,replace:!0,link:function(t,i,r,u){function e(n,t,i,r,u){return{number:n,text:t,disabled:i,previous:f&&r,next:f&&u}}var o=u.getAttributeValue(r.previousText,n.previousText,!0),s=u.getAttributeValue(r.nextText,n.nextText,!0),f=u.getAttributeValue(r.align,n.align);u.init(n.itemsPerPage);u.getPages=function(n){return[e(n-1,o,u.noPrevious(),!0,!1),e(n+1,s,u.noNext(),!1,!0)]}}}}]);app=angular.module("app");app.directive("hmRead",function(){return{restrict:"AE",scope:{hmtext:"@",hmlimit:"@",hmfulltext:"@",hmMoreText:"@",hmLessText:"@",hmMoreClass:"@",hmLessClass:"@"},templateUrl:"/App_Client/common/Directives/Readmore/ReadmoreTemplate.html?v="+window.crm.constants.version,controller:["$scope","common",function(n){n.toggleValue=function(){n.hmfulltext=n.hmfulltext==!0?!1:n.hmfulltext==!1?!0:!0}}]}}),function(){"use strict";angular.module("aa.notify",[]).factory("aaNotify",["aaNotifyConfig","$rootScope","$sce",function(n,t,i){return{success:function(t,i){return n.notifyConfigs[n.defaultNotifyConfig].namedDefaults.success(t,i,this)},info:function(t,i){return n.notifyConfigs[n.defaultNotifyConfig].namedDefaults.info(t,i,this)},warning:function(t,i){return n.notifyConfigs[n.defaultNotifyConfig].namedDefaults.warning(t,i,this)},danger:function(t,i){return n.notifyConfigs[n.defaultNotifyConfig].namedDefaults.danger(t,i,this)},error:function(t,i){return n.notifyConfigs[n.defaultNotifyConfig].namedDefaults.error(t,i,this)},add:function(r,u,f){return f=f||n.notifyConfigs[n.defaultNotifyConfig],angular.isString(f)&&(f=n.notifyConfigs[f]),u=u||f.defaultTargetContainerName,r=angular.extend(angular.copy(f.options),r),r.messageHandle={},f.optionsTransformer&&f.optionsTransformer(r,i),r.template=f.templateUrl||f.templateName,t.$broadcast("aaNotifyContainer-"+u+"-add",r),r.messageHandle},remove:function(i,r){r=r||n.notifyConfigs[n.defaultNotifyConfig].defaultTargetContainerName;t.$broadcast("aaNotifyContainer-"+r+"-remove",i)},clearAll:function(i){i=i||n.notifyConfigs[n.defaultNotifyConfig].defaultTargetContainerName;t.$broadcast("aaNotifyContainer-"+i+"-clearAll")}}}]).directive("aaNotify",["$timeout",function(n){return{template:'<div><div ng-repeat="notification in notifications" class="aa-notification"><div ng-include="notification.template"><\/div><\/div><\/div>',replace:!0,link:function(t,i,r){t.notifications=[];var u=r.containerName||"default";t.$on("aaNotifyContainer-"+u+"-add",function(i,r){r.replaceExisting&&(t.notifications.length=0);t.notifications.push(r);r.ttl>0&&n(function(){var n=t.notifications.indexOf(r);n>-1&&t.notifications.splice(n,1)},r.ttl)});t.$on("aaNotifyContainer-"+u+"-remove",function(n,i){for(var r=t.notifications.length-1;r>=0;r--)if(t.notifications[r].messageHandle===i){t.notifications.splice(r,1);break}});t.$on("aaNotifyContainer-"+u+"-clearAll",function(){t.notifications.length=0});t.close=function(n){t.notifications.splice(t.notifications.indexOf(n),1);angular.isFunction(n.onClose)&&n.onClose()}}}}]).provider("aaNotifyConfig",function(){var n=this;n.notifyConfigs={};n.addOrUpdateNotifyConfig=function(t,i){var r=n.notifyConfigs[t]=n.notifyConfigs[t]||{};r.name=t;angular.extend(r,i);r.template&&(r.templateName="aaNotifyTemplate-"+r.name)};n.addOrUpdateNotifyConfig("default",{template:'<div class="alert aa-notify-notification" ng-class="notification.cssClasses"><div class="pull-right aa-notify-close" ng-if="notification.showClose" ng-click="close(notification)"><i class="aa-notify-icon" ng-if="notification.iconClass" ng-class="notification.iconClass"><\/i><\/div><span ng-if="!notification.allowHtml" class="aa-notify-message" bind-html-unsafe="notification.message"><\/span><span ng-if="notification.allowHtml" class="aa-notify-message" ng-bind-html="notification.message"><\/span><\/div>',options:{ttl:4e3,replaceExisting:!1},namedDefaults:{success:function(n,t,i){return i.add(angular.extend({message:n,messageType:"success"},t))},info:function(n,t,i){return i.add(angular.extend({message:n,messageType:"info"},t))},warning:function(n,t,i){return i.add(angular.extend({message:n,messageType:"warning"},t))},danger:function(n,t,i){return i.add(angular.extend({message:n,messageType:"danger"},t))},error:function(n,t,i){return i.add(angular.extend({message:n,messageType:"error"},t))}},defaultTargetContainerName:"default",optionsTransformer:function(n,t){n.cssClasses||(n.cssClasses="");n.messageType==="success"?n.cssClasses+="alert-success":n.messageType==="info"?n.cssClasses+="alert-info":n.messageType==="warning"?n.cssClasses+="alert-warning":(n.messageType==="danger"||n.messageType==="error")&&(n.cssClasses+="alert-danger alert-error");n.allowHtml&&(n.message=t.trustAsHtml(n.message))}});n.defaultNotifyConfig="default";this.$get=function(){return{notifyConfigs:n.notifyConfigs,defaultNotifyConfig:n.defaultNotifyConfig}}}).run(["aaNotifyConfig","$templateCache",function(n,t){angular.forEach(n.notifyConfigs,function(n){n.templateName&&t.put(n.templateName,n.template)})}])}(),function(){"use strict";function o(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(n){var t=Math.random()*16|0,i=n==="x"?t:t&3|8;return i.toString(16)})}function s(n){return n.replace(/\w\S*/g,function(n){return n.charAt(0).toUpperCase()+n.substr(1).toLowerCase()})}function h(n){return n.replace(/([a-z](?=[A-Z]))/g,"$1 ")}function c(n){return n.outerHTML||function(n){var t=document.createElement("div"),i;return t.appendChild(n.cloneNode(!0)),i=t.innerHTML,t=null,i}(n)}function n(n){var t=Array.prototype.slice.call(arguments,1);return n.replace(/{(\d+)}/g,function(n,i){return typeof t[i]!="undefined"?t[i]:n})}function f(n,t){n.$aaFormExtensions[t]||(n.$aaFormExtensions[t]={hadFocus:!1,$errorMessages:[],$element:null})}function i(n,t){if(n&&t){var i=n.indexOf(t);i!==-1&&n.splice(i,1)}}function r(n,t){n.$aaFormExtensions.$changeDependencies.push(t);n.$aaFormExtensions.$parentForm&&r(n.$aaFormExtensions.$parentForm,t)}function u(n){t(n);n.$aaFormExtensions.$parentForm&&u(n.$aaFormExtensions.$parentForm)}function t(n){var t=!1;angular.forEach(n.$aaFormExtensions.$changeDependencies,function(n){n.isChanged&&(t=!0)});n.$aaFormExtensions.$changed=t}function e(n,f,e,o,s,h){return{restrict:n?"EAC":"E",require:"form",compile:function(){return{pre:function(n,e,c,l){function y(n,t){n.$aaFormExtensions.$invalidAttempt=t;angular.forEach(n.$aaFormExtensions.$childForms,function(n){y(n,t)})}function b(t,i){h(function(){var e,f;if(i===undefined&&(i=!0),!angular.isString(t))throw new Error("$addChangeDependency only supports string watchExprs to allow for form reset support");(e=!1,angular.forEach(l.$aaFormExtensions.$changeDependencies,function(n){t===n.expr&&(e=!0)}),e)||(f={expr:t,isChanged:!1,initialValue:angular.copy(n.$eval(t)),$form:l},r(l,f),n.$watch(t,function(n,t){n!==t&&(f.isChanged=!angular.equals(f.initialValue,n),u(l))},i))})}function p(){angular.forEach(l.$aaFormExtensions.$changeDependencies,function(t){if(t.field&&t.field.$ngModel.$modelValue!==t.initialValue&&(t.field.$ngModel.$setViewValue(t.initialValue),t.field.$ngModel.$render()),t.expr){for(var i=n,r=null;i.$eval(t.expr)!==undefined;)r=i,i=i.$parent;o(t.expr).assign(r,angular.copy(t.initialValue))}});w()}function k(i){h(function(){angular.forEach(l.$aaFormExtensions.$changeDependencies,function(i){i.isChanged=!1;i.field&&(i.initialValue=i.field.$ngModel.$modelValue,t(i.field.$form));i.expr&&(i.initialValue=angular.copy(n.$eval(i.expr)),t(i.$form))});angular.isFunction(i)&&i()})}function w(){h(function(){y(l,!1);angular.forEach(l.$aaFormExtensions.$allValidationErrors,function(n){n.field.hadFocus=!1;n.field.$element.removeClass("aa-had-focus");n.field.$element.removeClass("aa-invalid-attempt");n.field.$ngModel.$setPristine()})})}function d(n){l.$aaFormExtensions.$allValidationErrors.length=0;l.isFormReset=!0;h(function(){l.$aaFormExtensions.$reset();l.$aaFormExtensions.$resetChanged();l.isFormReset=undefined},n?n:100)}var a=e.parent().controller("form"),v;l.$aaFormExtensions={$onSubmitAttempt:function(){y(l,l.$invalid)},$parentForm:a,$childForms:[],$allValidationErrors:[],$changeDependencies:[],$changed:!1,$invalidAttempt:!1,$addChangeDependency:b,$reset:p,$resetChanged:k,$clearErrors:w,$clearErrorsTimeout:d};a&&a.$aaFormExtensions.$childForms.push(l);a||(v=f.onNavigateAwayStrategies[c.onNavigateAwayStrategy||f.defaultOnNavigateAwayStrategy],angular.isFunction(v)&&v(n,l,s));n.$watchCollection(function(){return n.$$aaFormExtensionsTodos},function(t){var r,i;if(t)for(r=n.$$aaFormExtensionsTodos.length-1;r>=0;r--)i=n.$$aaFormExtensionsTodos[r],i.targetFormName!==l.$name&&(i.targetFormName||l.$aaFormExtensions.$parentForm)||(i.type==="$addChangeDependency"?b(i.expr,i.deepWatch):i.type==="$resetChanged"?k(i.runAfterFunc):i.type==="$reset"?p():i.type==="$clearErrors"&&w(),n.$$aaFormExtensionsTodos.splice(r,1))});n.$on("$destroy",function(){function r(u){u.$aaFormExtensions.$allValidationErrors.length&&(angular.forEach(n,function(n){for(var i,t=u.$aaFormExtensions.$allValidationErrors.length;t>=0,t--;)i=u.$aaFormExtensions.$allValidationErrors[t],i.field.$ngModel===n&&u.$aaFormExtensions.$allValidationErrors.splice(t,1)}),i(u.$aaFormExtensions.$childForms,l),angular.forEach(l.$aaFormExtensions.$changeDependencies,function(n){i(u.$aaFormExtensions.$changeDependencies,n);t(u)}),u.$aaFormExtensions.$parentForm&&r(u.$aaFormExtensions.$parentForm))}var n=[];l.$aaFormExtensions.$parentForm&&(angular.forEach(l,function(t,i){i.indexOf("$")!==0&&n.push(t)}),r(l.$aaFormExtensions.$parentForm))});n.$on("aaFormReset",function(){p()})},post:function(n,t,i,r){function h(){if(r.$aaFormExtensions.$invalidAttempt)return r.$aaFormExtensions.$allValidationErrors;var n=[];return angular.forEach(r.$aaFormExtensions.$allValidationErrors,function(t){t.field.hadFocus&&n.push(t)}),n}t.on("keyup",function(n){n.keyCode===13&&angular.isFunction(r.$aaFormExtensions.$onEnterKey)&&n.target.tagName.toUpperCase()!=="TEXTAREA"&&r.$aaFormExtensions.$onEnterKey()});var u=null,s=n.$eval(i.notifyTarget),o=s||f.defaultNotifyTarget;o&&(!r.$aaFormExtensions.$parentForm||s)&&n.$watch(function(){return angular.toJson([r.$aaFormExtensions.$allValidationErrors,r.$aaFormExtensions.$invalidAttempt])},function(){var n=r.$aaFormExtensions.$invalidAttempt&&r.$invalid;n||(r.isFormReset?!0:!1)||angular.forEach(r.$aaFormExtensions.$allValidationErrors,function(t){t.field.hadFocus&&(n=!0)});u&&!n&&(e.remove(u,o),u=null);!u&&n&&(u=e.add({validationErrorsToDisplay:h,onClose:function(){u=null}},o,"aaFormExtensionsValidationErrors"))});n.$on("$destroy",function(){u&&e.remove(u,o)})}}}}}angular.module("aa.formExtensions",["aa.notify"]).config(["aaNotifyConfigProvider","$httpProvider","$provide",function(n,t,i){n.addOrUpdateNotifyConfig("aaFormExtensionsValidationErrors",{template:'<div class="alert alert-danger aa-form-extensions-validation-errors"><div class="pull-right aa-notify-close" ng-click="close(notification)"><span class="icon-close"><\/span><\/div><strong>The following fields have validation errors: <\/strong><ul><li ng-repeat="error in notification.validationErrorsToDisplay()"><span class="counter">.<\/span> {{ error.message }}&nbsp;<span title="Focus Field" ng-click="notification.showField(error)" class="icon-search"><\/span><\/li><\/ul><\/div>',options:{ttl:0,showField:function(n){n.field.$element[0].focus()}}});i.factory("aaLoadingWatcher",["$rootScope",function(n){function r(){n.aaIsLoading=i.isLoading=t>0;n.$$phase||n.$apply()}var t=0,i={isLoading:!1,increment:function(){t++;r()},decrement:function(){t--;r()}};return i}]);i.factory("aaAjaxInterceptor",["aaLoadingWatcher","$q",function(n,t){return{request:function(t){return n.increment(),t},response:function(t){return n.decrement(),t},responseError:function(i){return n.decrement(),t.reject(i)}}}]);t.interceptors.push("aaAjaxInterceptor");i.decorator("$controller",["$delegate",function(n){return function(t,i){function r(n){i.$scope.$$aaFormExtensionsTodos||(i.$scope.$$aaFormExtensionsTodos=[]);i.$scope.$$aaFormExtensionsTodos.push(n)}return i.$scope&&(i.$aaFormExtensions={$addChangeDependency:function(n,t,i){r({type:"$addChangeDependency",expr:n,deepWatch:t,targetFormName:i})},$resetChanged:function(n,t){r({type:"$resetChanged",targetFormName:t,runAfterFunc:n})},$reset:function(n){r({type:"$reset",targetFormName:n})},$clearErrors:function(n){r({type:"$reset",targetFormName:n})}}),n(t,i)}}])}]).directive("aaSaveForm",function(){return{link:function(){throw new Error("aaSaveForm has been deprecated in favour of a more sensically named aaSubmitForm");}}}).directive("aaSubmitForm",["aaFormExtensions","$q",function(n,t){return{scope:{aaSubmitForm:"&"},restrict:"A",require:"^form",link:function(i,r,u,f){function e(){if(f.$aaFormExtensions.$onSubmitAttempt(),f.$valid){var o=n.spinnerClickStrategies[u.spinnerClickStrategy||n.defaultSpinnerClickStrategy],e=o(r);e.before();t.when(i.aaSubmitForm()).finally(function(n){return e.after(),n})}i.$apply()}r.on("click",e);u.type==="submit"&&(f.$aaFormExtensions.$onEnterKey=e)}}}]).directive("ngModel",["aaFormExtensions","$document","aaLoadingWatcher","$timeout",function(e,o,s,h){return{require:["ngModel","?^form"],priority:1,link:function(c,l,a,v){function nt(){function n(){b.initialValue!==b.initialValue&&(b.initialValue=k.$modelValue);var n=b.initialValue!==k.$modelValue;b.isChanged!==n&&(b.isChanged=n,u(y))}b.initialValue=k.$modelValue;k.$viewChangeListeners.push(n);k.$formatters.push(function(t){return n(),t})}function tt(){var r=w.$errorMessages,t,i;r.length=0;for(i in k.$error)k.$error[i]&&(a[i+"Msg"]?(t=n(a[i+"Msg"],p,a[i]),r.push(t)):$("#"+y.$name+"_"+a.name+"_"+i).length>0?(t=n($("#"+y.$name+"_"+a.name+"_"+i).text().trim()),r.push(t)):i==="unique"?(t=n(a.numberMsg||e.validationMessages.unique,p),r.push(t)):i==="minlength"?(t=n(a.ngMinlengthMsg||e.validationMessages.minlength,p,a.ngMinlength),r.push(t)):i==="maxlength"?(t=n(a.ngMaxlengthMsg||e.validationMessages.maxlength,p,a.ngMaxlength),r.push(t)):i==="min"?(t=n(a.minMsg||e.validationMessages.min,p,a.min),r.push(t)):i==="max"?(t=n(a.maxMsg||e.validationMessages.max,p,a.max||0),r.push(t)):i==="pattern"?(t=n(a.ngPatternMsg||e.validationMessages.pattern,p),r.push(t)):i==="required"&&l[0].type==="number"?(t=n(a.numberMsg||e.validationMessages.number,p),r.push(t)):e.validationMessages[i]?(t=n(e.validationMessages[i],p),r.push(t)):(t=n(e.validationMessages.unknown,p),r.push(t)));d(y,r)}function d(n,t){for(var i=n.$aaFormExtensions.$allValidationErrors.length-1;i>=0;i--)n.$aaFormExtensions.$allValidationErrors[i].field===w&&n.$aaFormExtensions.$allValidationErrors.splice(i,1);t&&angular.forEach(t,function(t){n.$aaFormExtensions.$allValidationErrors.push({field:w,message:t})});n.$aaFormExtensions.$parentForm&&d(n.$aaFormExtensions.$parentForm,t)}var k=v[0],y=v[1],p=a.name||"This field",w,g,b;if(y&&a.name){f(y,a.name);w=y.$aaFormExtensions[a.name];a.aaLabel||a.aaFieldName?p=a.aaLabel||a.aaFieldName:l[0].id&&angular.forEach(o.find("label"),function(n){n.getAttribute("for")===l[0].id&&(p=(n.innerHTML||"").replace("*","").trim())});w.$element=l;w.$ngModel=k;w.$form=y;l.on("blur",function(){w.hadFocus=!0;l.addClass("aa-had-focus");l[0].type=="file"&&(w.hadFocus=!1,l.removeClass("aa-had-focus"));h(function(){},1)});c.$watch(function(){return y.$aaFormExtensions.$invalidAttempt},function(n){n&&l.addClass("aa-invalid-attempt")});a.aaExcludeChanges===undefined&&(b={field:w,isChanged:!1},r(y,b),h(function(){s.isLoading?g=c.$watch(function(){return s.isLoading},function(n){n||(g(),nt())}):nt()}),c.$on("$destroy",function(){function n(r){r.$aaFormExtensions.$parentForm&&n(r.$aaFormExtensions.$parentForm);i(r.$aaFormExtensions.$changeDependencies,b);t(r)}delete y.$aaFormExtensions[a.name];d(y);n(y)}));c.$watch(function(){return k.$error},function(n){n&&tt()},!0)}}}}]).directive("aaValMsg",["$compile","aaFormExtensions",function(n,t){return{require:["ngModel","^form"],link:function(i,r,u,f){var s=f[1],e,o;if(!u.name)throw new Error("In order to use aaValMsg a name MUST be specified on the element: "+r[0]);e=i.$new();o=t.valMsgPlacementStrategies[u.aaValMsg||t.defaultValMsgPlacementStrategy](r,s.$name,u.name,e);n(o)(e)}}}]).directive("aaValMsgFor",["aaFormExtensions",function(n){return{require:["^form"],priority:1,scope:!0,link:function(n,t,i){var r=i.aaValMsgFor,o=n.$eval(r),e=n.$eval(r.substring(0,r.indexOf("."))),u;f(e,o.$name);u=n.$eval(r.replace(".",".$aaFormExtensions."));n.$watchCollection(function(){return u.$errorMessages},function(t){n.errorMessages=t});n.$watchCollection(function(){return[e.$aaFormExtensions.$invalidAttempt,u.hadFocus]},function(t){var i=t[0],r=t[1];n.showMessages=i||r})},template:n.valMsgForTemplate,replace:!0}}]).directive("aaLabel",["aaFormExtensions",function(n){return{compile:function(t,i){if(t.prop("tagName").toUpperCase()==="SELECT"&&i.defaultOption!==undefined){var r=i.defaultOption;(r===null||r==="")&&(r="Select",i.aaLabel&&(r+=" a "+i.aaLabel),r+="...");t.append(angular.element('<option value=""><\/option>').html(r))}return function(t,i,r){var u=n.labelStrategies[r.aaLabelStrategy],f,e;u||(f=t.$eval(r.aaLabelStrategy),angular.isFunction(f)&&(u=f));u||(u=n.labelStrategies[n.defaultLabelStrategy]);e=r.required!==undefined;i[0].id||(i[0].id=o());u(i,r.aaLabel,e)}}}}]).directive("aaAutoField",function(){return{link:function(){throw new Error("aaAutoField has been deprecated in favor aaField");}}}).directive("aaField",["$compile",function(n){return{restrict:"A",scope:!1,replace:!0,priority:1e3,terminal:!0,compile:function(t,i){t.attr("ng-model",i.aaField);var r=i.aaField.substring(i.aaField.lastIndexOf(".")+1);return i.name||t.attr("name",r),i.type||t.prop("tagName").toUpperCase()!=="INPUT"||t.prop("type","text"),i.aaLabel||i.noLabel!==undefined||(r.lastIndexOf("Id")===r.length-2&&(r=r.substring(0,r.length-2)),t.attr("aa-label",s(h(r)))),t.attr("aa-val-msg",""),t.removeAttr("aa-field"),t.replaceWith(c(t[0])),function(t,i){n(i)(t)}}}}]).directive("aaAutoFieldGroup",function(){return{link:function(){throw new Error("aaAutoFieldGroup has been deprecated in favor aaFieldGroup");}}}).directive("aaFieldGroup",["$compile","aaFormExtensions",function(n,t){return{restrict:"A",scope:!1,replace:!0,priority:1100,terminal:!0,compile:function(i,r){i.removeAttr("aa-field-group");i.attr("aa-field",r.aaFieldGroup);var u=t.fieldGroupStrategies[r.aaFieldGroupStrategy||t.defaultFieldGroupStrategy];return u(i),function(t,i){n(i)(t)}}}}]).directive("aaValidIcon",["aaFormExtensions",function(n){return{require:"ngModel",scope:!1,compile:function(t){var u=n.validIconStrategy.getContainer(t),r=angular.element(n.validIconStrategy.validIcon),i;return u.append(r),r[0].style.display="none",i=angular.element(n.validIconStrategy.invalidIcon),u.append(i),i[0].style.display="none",function(n,t,u,f){f.$parsers.push(function(n){return f.$valid?(r[0].style.display="",i[0].style.display="none"):(r[0].style.display="none",i[0].style.display=""),n})}}}}]).directive("aaSpinnerClick",["$q","aaFormExtensions",function(n,t){return{link:function(i,r,u){var f=t.spinnerClickStrategies[u.spinnerClickStrategy||t.defaultSpinnerClickStrategy];if(!f)throw new Error("An inline or default spinner click strategy must be specified");r.on("click",function(){i.$apply(function(){var t=f(r);t.before();n.when(i.$eval(u.aaSpinnerClick)).then(function(n){return t.after(),n})})})}}}]).directive("ngForm",["aaFormExtensions","aaNotify","$parse","$injector","$timeout",function(n,t,i,r,u){return e(!0,n,t,i,r,u)}]).directive("form",["aaFormExtensions","aaNotify","$parse","$injector","$timeout",function(n,t,i,r,u){return e(!1,n,t,i,r,u)}]).provider("aaFormExtensions",function(){var t=this;this.defaultLabelStrategy="default";this.labelStrategies={bootstrap3InlineForm:function(n,t,i){var r=angular.element("<label>").attr("for",n[0].id).addClass("col-sm-2 control-label").html(t+(i?" *":""));if(["button","submit"].indexOf(n[0].type)!==-1)throw new Error("Generating a label for and input type "+n[0].type+" is unsupported.");n.parent().parent().prepend(r)},"default":function(n,t,i){n[0].parentNode.insertBefore(angular.element("<label>").attr("for",n[0].id).html(t+(i?" *":""))[0],n[0])}};this.defaultFieldGroupStrategy="bootstrap3InlineForm";this.fieldGroupStrategies={bootstrap3InlineForm:function(n){n.prop("class")||n.addClass("form-control");n.wrap('<div class="form-group"><div class="col-sm-3"><\/div><\/div>')}};this.defaultValMsgPlacementStrategy="below-field";this.valMsgPlacementStrategies={"below-field":function(t,i,r){var f=angular.element(n('<div aa-val-msg-for="{0}.{1}"><\/div>',i,r)),u=t[0].type;return u=u?u.toLowerCase():"text",u==="radio"?t.parent().parent().append(f):t.after(f),f},hover:function(t,i,r,u){var f=angular.element(n('<div aa-val-msg-for="{0}.{1}" ng-show="showMessages && isHovered && errorMessages.length > 0"><\/div>',i,r));t.on("mouseenter",function(){u.isHovered=!0;u.$apply()});t.on("mouseleave",function(){u.isHovered=!1;u.$apply()});return t.after(f),f}};this.validIconStrategy={validIcon:'<i class="fa fa-check fa-lg"><\/i>',invalidIcon:'<i class="fa fa-exclamation-circle fa-lg"><\/i>',getContainer:function(n){var t=angular.element('<div class="col-xs-1 validation-icons"><\/div>');return n.parent().after(t),t}};this.defaultSpinnerClickStrategy="fontAwesomeInsideButton";this.spinnerClickStrategies={fontAwesomeInsideButton:function(n){var t=angular.element('<i style="margin-left: 5px;" class="fa fa-spinner fa-spin"><\/i>');return{before:function(){n.prop("disabled",!0);n.append(t)},after:function(){n.prop("disabled",!1);t.remove()}}}};this.defaultNotifyTarget="default";this.defaultOnNavigateAwayStrategy="confirmUiRouterAndDom";this.onNavigateAwayStrategies={confirmUiRouterAndDom:function(n,t){function i(){}var r=n.$on("$stateChangeStart",function(n,i){t.$aaFormExtensions.$changed&&(i.aaUnsavedPrompted||n.preventDefault())});window.addEventListener("beforeunload",i);n.$on("$destroy",function(){r();window.removeEventListener("beforeunload",i)})},none:angular.noop};this.validationMessages={required:"{0} is required.",email:"The field {0} must be an email.",minlength:"{0} must be at least {1} character(s).",maxlength:"{0} must be less than {1} characters.",min:"{0} must be at least {1}.",max:"{0} must be at most {1}.",pattern:"{0} is invalid.",url:"{0} must be a valid URL.",number:"{0} must be number.",unique:"{0} already exists.",unknown:"{0} is invalid."};this.valMsgForTemplate='<div class="validation-errors"><div class="validation-error" ng-show="showMessages" ng-repeat="msg in errorMessages">{{msg}}<\/div><div class="notch notch-border"><\/div><div class="notch"><\/div><\/div>';this.globalSettings={messageOnBlur:!0};this.$get=function(){return{defaultLabelStrategy:t.defaultLabelStrategy,labelStrategies:t.labelStrategies,defaultFieldGroupStrategy:t.defaultFieldGroupStrategy,fieldGroupStrategies:t.fieldGroupStrategies,validIconStrategy:t.validIconStrategy,validationMessages:t.validationMessages,valMsgForTemplate:t.valMsgForTemplate,valMsgPlacementStrategies:t.valMsgPlacementStrategies,defaultValMsgPlacementStrategy:t.defaultValMsgPlacementStrategy,defaultSpinnerClickStrategy:t.defaultSpinnerClickStrategy,spinnerClickStrategies:t.spinnerClickStrategies,defaultOnNavigateAwayStrategy:t.defaultOnNavigateAwayStrategy,onNavigateAwayStrategies:t.onNavigateAwayStrategies,defaultNotifyTarget:t.defaultNotifyTarget,globalSettings:t.globalSettings}}})}(),function(n,t){"use strict";t.module("angularSpinner",[]).factory("usSpinnerService",["$rootScope",function(n){var t={};return t.spin=function(t){n.$broadcast("us-spinner:spin",t)},t.stop=function(t){n.$broadcast("us-spinner:stop",t)},t}]).directive("usSpinner",["$window",function(i){return{restrict:"E",scope:{spinnerKey:"@"},templateUrl:"/App_Client/common/directives/Spinner/template.html?v="+n.crm.constants.version,replace:!0,template:"",controller:["$scope","$element","$attrs",function(n,i,r){n.spinner=null;n.key=t.isDefined(r.spinnerKey)?r.spinnerKey:!1;n.startActive=t.isDefined(r.spinnerStartActive)?r.spinnerStartActive:!n.key;n.spin=function(){n.spinner&&n.spinner.spin(i[0])};n.stop=function(){n.spinner&&n.spinner.stop()}}],link:function(t,r,u){var e=u.zIndex||1,f=$(r[0]);t.key=u.spinnerKey;t.$watch(u.usSpinner,function(o){t.stop();t.spinner=new i.Spinner(o);(!t.key||t.startActive)&&($("#"+t.key).addClass("spinnerContainer"),f.css({"z-index":e}),u.useIn=="popup"&&$("#"+t.key).addClass("popup"),u.position=="fixed"&&$("#"+t.key).addClass("fixed"),$(r).height()>n.screenHeight&&$("#"+t.key).addClass("extraLarge"),t.spinner.spin(r[0]))},!0);t.$on("us-spinner:spin",function(i,o){o===t.key&&($("#"+o).addClass("spinnerContainer"),f.css({"z-index":e}),u.useIn=="popup"&&$("#"+o).addClass("popup"),u.position=="fixed"&&$("#"+o).addClass("fixed"),$(r).height()>n.screenHeight&&$("#"+o).addClass("extraLarge"),t.spin())});t.$on("us-spinner:stop",function(n,i){i===t.key&&(f.removeAttr("style"),$("#"+i).removeClass("spinnerContainer"),$("#"+i).removeClass("extraLarge"),t.stop())});t.$on("$destroy",function(){t.stop();t.spinner=null})}}}])}(window,window.angular);app.factory("LookupSvc",["$http","$resource",function(n,t){var r="/api/Lookup/",i=t("/api/Lookup",{},{query:{method:"GET"}});return{getLookup:function(n){return i.query({Type:n})},getDataSetType:function(){return i.query({Type:"DataSetType"})},getFieldType:function(){return i.query({Type:"FieldType"})},getCurrencyCode:function(){return i.query({Type:"Currency"})},getMatchType:function(){return i.query({Type:"MatchType"})},getPhoneType:function(){return i.query({Type:"PhoneType",RequiredClient:!0})},getCountry:function(){return i.query({Type:"Country"})},getState:function(){return i.query({Type:"State"})},getGender:function(){return i.query({Type:"Gender"})},getSearchCriteria:function(){return i.query({Type:"SearchCriteria"})},getContactSource:function(){return n.get(r+"/Get",{params:{type:"ContactSource"}})},getContactSourceOrdered:function(){return n.get(r+"/GetNewLookup",{params:{lookuptype:"ContactSource"}})},getPrefix:function(){return i.query({Type:"ClientPrefix",RequiredClient:!0})},getSuffix:function(){return i.query({Type:"ClientSuffix",RequiredClient:!0})},getEmailType:function(){return i.query({Type:"EmailType",RequiredClient:!0})},getContactType:function(){return i.query({Type:"ContactType",RequiredClient:!0})},getOperators:function(n){return i.query({Type:"Operator",parameter:{CriteriaId:n}})},getEvent:function(){return i.query({Type:"Event",RequiredClient:!0})},getCampaignForDonor:function(){return i.query({Type:"CampaignForDonor"})},getCampaignForDonorOrdered:function(){return n.get(r+"/GetNewLookup",{params:{lookuptype:"CampaignForDonor"}})},getProgram:function(){return i.query({Type:"Program"})},getParentProgramOnly:function(){return i.query({Type:"Program",parameter:{ParentOnly:"ParentOnly"}})},getProgramDonorOnly:function(){return i.query({Type:"ProgramDonor"})},getProgramVolunteerOnly:function(){return i.query({Type:"ProgramVolunteer"})},getUserList:function(){return i.query({Type:"Users"})},getInteractionType:function(){return i.query({Type:"InteractionType"})},getInteractionCategory:function(){return i.query({Type:"InteractionCategory"})},getRagesBasedList:function(){return i.query({Type:"AskArrayRagesBased"})},getCaltureList:function(){return i.query({Type:"AskArrayCalture"})},getRoundingList:function(){return i.query({Type:"AskArrayRounding"})},getCultureList:function(){return i.query({Type:"Culture"})},getAskArrayFunctionList:function(){return i.query({Type:"AskArrayFunction"})},getAskArrayCalculatedOn:function(){return i.query({Type:"AskArrayCalculatedOn"})},getAskArrayOperator:function(){return i.query({Type:"AskArrayOperator"})},getOutputTemplate:function(){return i.query({Type:"OutputTemplate"})},getAskArray:function(){return i.query({Type:"AskArray"})},GetClientTags:function(t){return n.get(r+"/GetClientTags",{params:{typeName:t}})},GetImportClientTags:function(t){return n.get(r+"/GetImportClientTags",{params:{typeName:t}})},GetSelectedClientUsers:function(n){return i.query({Type:"Users",ClientId:n})},getEmails:function(n,t){return i.query({Type:"Emails",parameter:{ContactId:n,ExceptEmailId:t}})},getPhones:function(n,t){return i.query({Type:"Phones",parameter:{ContactId:n,ExceptPhoneId:t}})},getRecencyGroup:function(){return i.query({Type:"RecencyGroup"})},getFrequencyGroup:function(){return i.query({Type:"FrequencyGroup"})},getAmountGroup:function(){return i.query({Type:"AmountGroup"})},getScanline:function(){return i.query({Type:"Scanline"})},getCFRACalcSource:function(){return i.query({Type:"CFRACalcSource"})},getSmartTags:function(){return i.query({Type:"SmartTag"})},getFinanceAccount:function(){return i.query({Type:"FinanceAccount"})},getFinanceClass:function(){return i.query({Type:"FinanceClass"})},getSourceOfFund:function(){return i.query({Type:"SourceOfFund"})},getDonationType:function(){return i.query({Type:"DonationType"})},getFundConfiguration:function(){return i.query({Type:"FundConfiguration"})},getDonationTribute:function(){return i.query({Type:"DonationTribute"})},getRegistrationFeeType:function(){return i.query({Type:"RegistrationFeeType"})},getLookup:function(n){return i.query({Type:n,RequiredClient:!0})},getRelationshipTypes:function(){return i.query({Type:"RelationType",RequiredClient:!0})},getPaymentMode:function(){return i.query({Type:"PaymentMode",RequiredClient:!0})},getDonorCategory:function(){return i.query({Type:"DonorCategory"})},GetEventSearchTags:function(t){return n.get(r+"/GetEventSearchTags",{params:{typeName:t}})},GetClientSets:function(t){return n.get(r+"/GetClientSets",{params:{typeName:t}})},getPageMenuItemType:function(){return i.query({Type:"PageMenuItemType"})},getMentorStatus:function(){return i.query({Type:"MentorStatus"})},getMenteeStatus:function(){return i.query({Type:"MenteeStatus"})},getRelationshipClosurereason:function(){return i.query({Type:"RelationshipClosureReason"})},getCustodyStatus:function(){return i.query({Type:"CustodyStatus"})},getQuickSearchIndividualSetting:function(){return i.query({Type:"QuickSearchIndividual"})},getQuickSearchOrganizationSetting:function(){return i.query({Type:"QuickSearchOrganization"})},getAuditMetatableFields:function(){return i.query({Type:"AuditMetaTableField"})},getMembershipLevelOrdered:function(){return n.get(r+"/GetNewLookup",{params:{lookuptype:"MembershipLevel"}})},getNewLookup:function(t){return n.get(r+"GetNewLookup",{params:{lookuptype:t}})}}}]);app=angular.module("app");app.factory("UserSettingSvc",["common",function(n){$resource=n.$resource;var t="/api/UserSetting",i=$resource(t,{},{query:{method:"GET"}});return{getUserSetting:function(n){return i.query({SettingType:n}).$promise},saveUserSetting:function(i,r){return n.$http({url:t+"/saveUserSetting",method:"POST",data:{usersetting:i,SettingType:r}})},saveUserTheme:function(i){return n.$http({url:t+"/SaveUserTheme",method:"POST",data:{theme:i}})},saveRecentContact:function(i){return n.$http({url:t+"/SaveRecentContact",method:"POST",data:{contactId:i}})},getRecentContact:function(){return n.$http({url:t+"/GetRecentContact",method:"Get"})},getCurrentUserId:function(){return n.$http({url:t+"/GetCurrentUserId",method:"Get"})},GetUserVisitHistory:function(){return n.$http({url:t+"/GetUserVisitHistory",method:"Get"})},SaveUserVisitHistory:function(i){return n.$http({url:t+"/SaveUserVisitHistory",method:"POST",data:i})},GetQuickContactSearchSetting:function(){return n.$http({url:t+"/GetQuickContactSearchSetting",method:"Get"})},ValidateModuleQuantityUsed:function(){return n.$http({url:t+"/ValidateModuleQuantityUsed",method:"Get"})},IsAdvancedAckEnable:function(){return n.$http({url:t+"/IsAdvancedAckEnable",method:"Get"})},getGatewayType:function(){return n.$http({url:t+"/GetGatewayType",method:"Get"})},SetToNewCommunication:function(){return n.$http({url:t+"/SetToNewCommunication",method:"Post"})},CheckDonationAcess:function(){return n.$http({url:t+"/CheckDonationAcess",method:"Get"})},SendPromoEmail:function(i){return n.$http({url:t+"/SendPromoEmail",method:"POST",data:i})},SavePromoTracking:function(i){return n.$http({url:t+"/SavePromoTracking",method:"POST",params:{type:i}})}}}]);app=angular.module("app");app.factory("OrganizationInfoSvc",["common",function(n){var t=serviceBase+"/api/OrganizationInfo";return{GetOrgInfo:function(){return n.$http.get(t+"/GetOrgInfo",{params:{}})}}}]);app=angular.module("app");app.directive("contactselector",["$compile",function(){return{restrict:"E",require:"ngModel",templateUrl:"/App_Client/common/directives/ContactSelector/ContactSelector.html?v="+window.crm.constants.version,link:function(){},scope:{contactId:"=ngModel",oncontactselect:"&",IsRequired:"@isrequired",RequiredMessage:"@requiredmessage",ReadOnly:"@readonly",ContactGroupType:"@contactgrouptype",AllowNewContact:"@allownewcontact",searchType:"@searchType",referenceId:"@referenceId",iscancel:"@iscancel",contactName:"=?ngName"},controller:["$scope","$element","common","$modal","ContactSelectorSvc","$log","LookupSvc",function(n,t,i,r,u){if(n.ContactSelector={},n.ContactSelector.Phone={},n.ContactSelector.Email={},n.contact={},n.Organization={},n.contact="",n.PopupOpen=!1,n.SelectedContactGroupType="Individual",n.SearchContactGroupType="",n.SelectedAll=!1,n.SelectedItem="",n.IsAllowNewContact=IsNotNullorEmpty(n.AllowNewContact)?n.AllowNewContact=="true"?!0:!1:!0,n.searchType=n.searchType||"",n.referenceId=n.referenceId||"",n.iscancel=IsNotNullorEmpty(n.iscancel)?n.iscancel=="true"?!0:!1:!1,!IsNotNullorEmpty(n.IsRequired)||IsNotNullorEmpty(n.IsRequired)&&n.IsRequired=="false"?(n.IsFieldRequired=!1,n.RequiredMessage=""):n.IsFieldRequired=!0,n.validateRequired=function(){return n.IsFieldRequired},IsNotNullorEmpty(n.ContactGroupType))switch(n.ContactGroupType){case"Individual":n.SelectedContactGroupType=n.ContactGroupType;n.SearchContactGroupType="I";break;case"Organization":n.SelectedContactGroupType=n.ContactGroupType;n.SearchContactGroupType="O";break;case"Both":n.SelectedAll=!0;n.SearchContactGroupType=""}n.SetupContactOption=function(t){n.SelectedContactGroupType=t};n.InitContact=function(){n.RandomIndex=n.GetRandomId();IsNotNullorEmpty(n.contactId)&&!isNaN(parseInt(n.contactId*1))&&parseInt(n.contactId)>0&&u.GetContactSelector(n.contactId).then(function(t){n.contact=t.data;n.onselect(n.contact)})};n.GetRandomId=function(){for(var t="",n=1;n<=10;n++)t+=Math.floor(Math.random()*6+1);return t};n.getLocation=function(t){n.ContactSelectorItems=[];t=t=="#"?"":t;switch(n.searchType){case"SearchEmployee":return u.SearchEmployee(t,n.referenceId).then(function(t){return n.ContactSelectorItems=t.data,n.ContactSelectorItems});default:return u.SearchContact(t,n.SearchContactGroupType).then(function(t){return n.ContactSelectorItems=t.data,n.ContactSelectorItems})}};n.FindEvent=function(i){if(!n.iscancel){if(typeof i=="undefined"){n.contact=[];return}if(i==""){n.contact=[];this.onselect(n.contact)}else!IsNotNullorEmpty(i.ContactId)&&n.contact!=""&&n.PopupOpen==!1&&n.IsAllowNewContact&&$(t[0]).find(".dropdown-menu > li").length<=0&&(n.PopupOpen=!0,n.SelectedItem=i,n.OpenAddContact())}};n.OpenAddContact=function(){switch(n.ContactGroupType){case"Individual":n.OpenQuickFormContactSelectorDialog("/App_Client/views/QuickForm/AddIndividual.html");break;case"Organization":n.OpenQuickFormContactSelectorDialog("/App_Client/views/QuickForm/AddOrganization.html");break;case"School":n.OpenQuickFormContactSelectorDialog("/App_Client/views/Mentor/Mentor/AddSchool.html");break;default:n.OpenAddContactChoiceMessageDialog()}};n.OpenAddContactChoiceMessageDialog=function(){var t=r.open({templateUrl:"AddContactChoice.html",controller:["$scope","$modalInstance",function(n,t){n.CancelAddContact=function(){n.SelectedItem="";IsNotNullorEmpty(n.PreviosSelectedItem)?n.UpdateModelSelector(n.PreviosSelectedItem):n.UpdateModelSelector([]);t.dismiss()};n.AddContact=function(i){switch(i){case"i":n.OpenQuickFormContactSelectorDialog("/App_Client/views/QuickForm/AddIndividual.html");break;case"o":n.OpenQuickFormContactSelectorDialog("/App_Client/views/QuickForm/AddOrganization.html")}t.dismiss()}}],keyboard:!0,backdrop:!1,scope:n});t.result.then(function(){n.PopupOpen=!1},function(){n.PopupOpen=!1})};n.UpdateModelSelector=function(t){n.contact=IsNotNullorEmpty(t.ContactId)?t:[];this.onselect(n.contact)};n.onselect=function(t,i,r){IsNotNullorEmpty(n.PreviosSelectedItem)&&IsNotNullorEmpty(n.PreviosSelectedItem.ContactId)&&n.PreviosSelectedItem.ContactId==t.ContactId||(n.PreviosSelectedItem=t,n.contactId=t.ContactId,n.contactName=t.ContactName,setTimeout(function(){n.oncontactselect({$item:t,$model:i,$label:r})},100))};n.$watch("contactId",function(t){if(IsNotNullorEmpty(t)&&parseInt(t)>0&&n.InitContact(),t==0||t=="0"||typeof t=="undefined"){n.contact=[];n.onselect(n.contact)}});n.OpenQuickFormContactSelectorDialog=function(t){var i=r.open({templateUrl:t,controller:modalContactSelectorInstance,keyboard:!0,backdrop:!0,sizeclass:"modal-full",scope:n,resolve:{}});i.result.then(function(){n.SelectedItem="";n.PopupOpen=!1},function(){n.PopupOpen=!1;n.SelectedItem="";IsNotNullorEmpty(n.PreviosSelectedItem)?n.UpdateModelSelector(n.PreviosSelectedItem):n.UpdateModelSelector([])})};n.InitContact()}]}}]);modalContactSelectorInstance=["$scope","$modalInstance",function(n,t){n.CloseQuickForm=function(){t.dismiss("cancel")};n.OnContactSaveSuccess=function(i){i.ContactId>0&&(n.UpdateModelSelector(i),t.dismiss("cancel"))}}];app.directive("ngEnter",function(){return{restrict:"A",link:function(n,t,i){t.bind("keydown keypress",function(t){(t.which==13||t.which==9)&&n.$apply(i.ngEnter)});t.bind("blur",function(){n.$apply(i.ngEnter)})}}});app=angular.module("app");app.factory("ContactSelectorSvc",["common",function(n){$resource=n.$resource;var t="/api/ContactManagement/ContactSelector/",i=$resource(t+":searchText",{searchText:"@text"});return{SaveContactSelector:function(i){return n.$http({url:t+"/Post",method:"Post",data:i})},SaveOrganization:function(i){return n.$http({url:t+"/SaveOrganization",method:"Post",data:i})},SearchContact:function(i,r){return n.$http.get(t+"/SearchContact",{params:{searchText:i,groupType:r}})},SearchEmployee:function(i,r){return n.$http.get(t+"/SearchEmployee",{params:{searchText:i,organizationContactId:r}})},SearchContactsWithEmail:function(i,r,u){return n.$http.get(t+"/SearchContactsWithEmail",{params:{searchText:i,groupType:r,contactIds:u}})},GetContactSelector:function(i){return n.$http.get(t+"/GetContactSelector",{params:{contactId:i}})},CheckEmailExists:function(i,r,u){return n.$http.get(t+"/CheckEmailExists",{params:{email:i,contactId:r,validateHygieneRule:u}})}}}]);window.screenWidth=innerWidth;window.screenHeight=innerHeight;window.onresize=function(){window.screenWidth=innerWidth;window.screenHeight=innerHeight};window.screenWidth<992&&$(document).ready(function(){setTimeout(function(){$(".divFixedBtn .btn-checkout").click(function(){$(this).hide();$(".listing-div").hide();$(".btn-back").show();$(".ordersumm-div").show();$("html, body").animate({scrollTop:$(".ordersumm-div").offset().top-$(".navbar").height()-$(".socialMediaShare-section").height()-10},500)});$(".divFixedBtn .btn-back").click(function(){$(this).hide();$(".listing-div").show();$(".btn-checkout").show();$(".ordersumm-div").hide();$("html, body").animate({scrollTop:0},500)})},1e3)});angular.module("colorpicker.module",[]).factory("Helper",function(){return{closestSlider:function(n){var t=n.matches||n.webkitMatchesSelector||n.mozMatchesSelector||n.msMatchesSelector;return t.bind(n)("I")?n.parentNode:n},getOffset:function(n){for(var t=0,i=0,r=0,u=0;n&&!isNaN(n.offsetLeft)&&!isNaN(n.offsetTop);)t+=n.offsetLeft,i+=n.offsetTop,r+=n.scrollLeft,u+=n.scrollTop,n=n.offsetParent;return{top:i,left:t,scrollX:r,scrollY:u}},stringParsers:[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,parse:function(n){return[n[1],n[2],n[3],n[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,parse:function(n){return[2.55*n[1],2.55*n[2],2.55*n[3],n[4]]}},{re:/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,parse:function(n){return[parseInt(n[1],16),parseInt(n[2],16),parseInt(n[3],16)]}},{re:/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/,parse:function(n){return[parseInt(n[1]+n[1],16),parseInt(n[2]+n[2],16),parseInt(n[3]+n[3],16)]}}]}}).factory("Color",["Helper",function(n){return{value:{h:1,s:1,b:1,a:1},rgb:function(){var n=this.toRGB();return"rgb("+n.r+","+n.g+","+n.b+")"},rgba:function(){var n=this.toRGB();return"rgba("+n.r+","+n.g+","+n.b+","+n.a+")"},hex:function(){return this.toHex()},RGBtoHSB:function(n,t,i,r){n/=255;t/=255;i/=255;var e,o,f,u;return f=Math.max(n,t,i),u=f-Math.min(n,t,i),e=u===0?null:f==n?(t-i)/u:f==t?(i-n)/u+2:(n-t)/u+4,e=(e+360)%6/6,o=u===0?0:u/f,{h:e||1,s:o,b:f,a:r||1}},setColor:function(t){var i;t=t.toLowerCase();for(i in n.stringParsers)if(n.stringParsers.hasOwnProperty(i)){var r=n.stringParsers[i],u=r.re.exec(t),f=u&&r.parse(u),e=r.space||"rgba";if(f)return this.value=this.RGBtoHSB.apply(null,f),!1}},setHue:function(n){this.value.h=1-n},setSaturation:function(n){this.value.s=n},setLightness:function(n){this.value.b=1-n},setAlpha:function(n){this.value.a=parseInt((1-n)*100,10)/100},toRGB:function(n,t,i,r){n||(n=this.value.h,t=this.value.s,i=this.value.b);n*=360;var e,o,s,f,u;return n=n%360/60,u=i*t,f=u*(1-Math.abs(n%2-1)),e=o=s=i-u,n=~~n,e+=[u,f,0,0,f,u][n],o+=[f,u,u,f,0,0][n],s+=[0,0,f,u,u,f][n],{r:Math.round(e*255),g:Math.round(o*255),b:Math.round(s*255),a:r||this.value.a}},toHex:function(n,t,i,r){var u=this.toRGB(n,t,i,r);return"#"+(16777216|parseInt(u.r,10)<<16|parseInt(u.g,10)<<8|parseInt(u.b,10)).toString(16).substr(1)}}}]).factory("Slider",["Helper",function(n){var t={maxLeft:0,maxTop:0,callLeft:null,callTop:null,knob:{top:0,left:0}},i={};return{getSlider:function(){return t},getLeftPosition:function(n){return Math.max(0,Math.min(t.maxLeft,t.left+((n.pageX||i.left)-i.left)))},getTopPosition:function(n){return Math.max(0,Math.min(t.maxTop,t.top+((n.pageY||i.top)-i.top)))},setSlider:function(r){var f=n.closestSlider(r.target),u=n.getOffset(f);t.knob=f.children[0].style;t.left=r.pageX-u.left-window.pageXOffset+u.scrollX;t.top=r.pageY-u.top-window.pageYOffset+u.scrollY;i={left:r.pageX,top:r.pageY}},setSaturation:function(n){t={maxLeft:100,maxTop:100,callLeft:"setSaturation",callTop:"setLightness"};this.setSlider(n)},setHue:function(n){t={maxLeft:0,maxTop:100,callLeft:!1,callTop:"setHue"};this.setSlider(n)},setAlpha:function(n){t={maxLeft:0,maxTop:100,callLeft:!1,callTop:"setAlpha"};this.setSlider(n)},setKnob:function(n,i){t.knob.top=n+"px";t.knob.left=i+"px"}}}]).directive("colorpicker",["$document","$compile","Color","Slider","Helper",function(n,t,i,r,u){return{require:"?ngModel",restrict:"A",link:function(f,e,o,s){var v=o.colorpicker?o.colorpicker:"hex",l=angular.isDefined(o.colorpickerPosition)?o.colorpickerPosition:"bottom",ut=angular.isDefined(o.colorpickerFixedPosition)?o.colorpickerFixedPosition:!1,ft=angular.isDefined(o.colorpickerParent)?e.parent():angular.element(document.body),w=angular.isDefined(o.colorpickerWithInput)?o.colorpickerWithInput:!1,et=w?'<input type="text" name="colorpicker-input">':"",ot='<div class="colorpicker dropdown"><div class="dropdown-menu"><colorpicker-saturation><i><\/i><\/colorpicker-saturation><colorpicker-hue><i><\/i><\/colorpicker-hue><colorpicker-alpha><i><\/i><\/colorpicker-alpha><colorpicker-preview><\/colorpicker-preview>'+et+'<button class="close close-colorpicker">&times;<\/button><\/div><\/div>',h=angular.element(ot),c=i,b,st=h.find("colorpicker-hue"),g=h.find("colorpicker-saturation"),nt=h.find("colorpicker-preview"),k=h.find("i"),y,p,d;if(t(h)(f),w){y=h.find("input");y.on("mousedown",function(){event.stopPropagation()}).on("keyup",function(n){var t=this.value;e.val(t);s&&f.$apply(s.$setViewValue(t));n.stopPropagation();n.preventDefault()});e.on("keyup",function(){y.val(e.val())})}if(p=function(){n.on("mousemove",a);n.on("mouseup",it)},v==="rgba"){h.addClass("alpha");b=h.find("colorpicker-alpha");b.on("click",function(n){r.setAlpha(n);a(n)}).on("mousedown",function(n){r.setAlpha(n);p()})}st.on("click",function(n){r.setHue(n);a(n)}).on("mousedown",function(n){r.setHue(n);p()});g.on("click",function(n){r.setSaturation(n);a(n)}).on("mousedown",function(n){r.setSaturation(n);p()});ut&&h.addClass("colorpicker-fixed-position");h.addClass("colorpicker-position-"+l);ft.append(h);s&&(s.$render=function(){e.val(s.$viewValue)},f.$watch(o.ngModel,function(){rt()}));e.on("$destroy",function(){h.remove()});var tt=function(){try{nt.css("backgroundColor",c[v]())}catch(n){nt.css("backgroundColor",c.toHex())}g.css("backgroundColor",c.toHex(c.value.h,1,1,1));v==="rgba"&&(b.css.backgroundColor=c.toHex())},a=function(n){var u=r.getLeftPosition(n),o=r.getTopPosition(n),t=r.getSlider(),i;return r.setKnob(o,u),t.callLeft&&c[t.callLeft].call(c,u/100),t.callTop&&c[t.callTop].call(c,o/100),tt(),i=c[v](),e.val(i),s&&f.$apply(s.$setViewValue(i)),w&&y.val(i),!1},it=function(){n.off("mousemove",a);n.off("mouseup",it)},rt=function(){c.setColor(e.val());k.eq(0).css({left:c.value.s*100+"px",top:100-c.value.b*100+"px"});k.eq(1).css("top",100*(1-c.value.h)+"px");k.eq(2).css("top",100*(1-c.value.a)+"px");tt()},ht=function(){var t,n=u.getOffset(e[0]);return angular.isDefined(o.colorpickerParent)&&(n.left=0,n.top=0),l==="top"?t={top:n.top-147,left:n.left}:l==="right"?t={top:n.top,left:n.left+126}:l==="bottom"?t={top:n.top+e[0].offsetHeight+2,left:n.left}:l==="left"&&(t={top:n.top,left:n.left-150}),{top:t.top+"px",left:t.left+"px"}};e.on("click",function(){rt();h.addClass("colorpicker-visible").css(ht())});h.on("mousedown",function(n){n.stopPropagation();n.preventDefault()});d=function(){h.hasClass("colorpicker-visible")&&h.removeClass("colorpicker-visible")};h.find("button").on("click",function(){d()});n.on("mousedown",function(){d()})}}}]);app=angular.module("app");app.directive("pageMenuSettings",["$compile","$http","$templateCache","$parse",function(n,t,i){var r=function(r){return function(u,f,e){var o="/App_Client/views/Pages/PageMenuSettings/"+e.templatename+"/PageMenuSettings.html?v="+window.crm.constants.version;templateLoader=t.get(o,{cache:i}).success(function(n){r.html(n)});templateLoader.then(function(){f.html(n(r.html())(u))})}};return{restrict:"E",replace:!0,transclude:!0,compile:r,link:function(){},scope:{setfnreload:"&",templatename:"@templatename"},controller:["$rootScope","$scope","$modal","LookupSvc","PageNavigationSvc",function(n,t,i){t.OpenMenuSetting=function(){var n=i.open({templateUrl:"pagemenupopup.html",controller:PageMenuSettingCtrl,scope:t,sizeclass:"modal-xl",keyboard:!0,backdrop:!0,resolve:{}});n.result.then(function(){window.location.reload()},function(){})}}]}}]);var PageMenuSettingCtrl=["$scope","common","$modalInstance","$modal","$filter","$timeout","PageNavigationSvc","LookupSvc",function(n,t,i,r,u,f,e,o){n.NewNavigation={};n.init=function(){t.usSpinnerService.spin("spnpagenavigation");o.getPageMenuItemType().$promise.then(function(t){n.PageMenuItemTypeList=KeyValueToArray(t)});e.list().then(function(i){n.PageNavigationList=i;n.finallist=[];angular.forEach(n.PageNavigationList,function(t){t.ParentPageNavigationId==null&&(t.SecondLevel=[],n.finallist.push(t))});angular.forEach(n.PageNavigationList,function(t){var i=_.find(n.finallist,function(n){return n.PageNavigationId==t.ParentPageNavigationId});typeof i!="undefined"&&i!=null&&(t.ThirdLevel=[],angular.forEach(n.PageNavigationList,function(n){n.ParentPageNavigationId==t.PageNavigationId&&t.ThirdLevel.push(n)}),i.SecondLevel.push(t))});t.usSpinnerService.stop("spnpagenavigation")},function(){t.usSpinnerService.stop("spnpagenavigation")})};n.cancelmenu=function(){i.close()};n.cancelonsave=function(){n.init()};n.sortableOptions_firstlevel={stop:function(){t.usSpinnerService.spin("spnpagenavigation");angular.forEach(n.finallist,function(n,t){n.SortOrder=t+1});e.UpdateSortOrder(n.finallist).then(function(i){n.ShowMessage(i.data);i.data.Type!="Error";t.usSpinnerService.stop("spnpagenavigation")},function(){t.usSpinnerService.stop("spnpagenavigation")})}};n.sortableOptions_secondlevel={stop:function(i,r){var f=_.find(n.finallist,function(n){return n.PageNavigationId==parseInt(r.item[0].children[0].children[0].value)}),u;typeof f!="undefined"&&(u=f.SecondLevel,t.usSpinnerService.spin("spnpagenavigation"),angular.forEach(u,function(n,t){n.SortOrder=t+1}),e.UpdateSortOrder(u).then(function(i){n.ShowMessage(i.data);i.data.Type!="Error";t.usSpinnerService.stop("spnpagenavigation")},function(){t.usSpinnerService.stop("spnpagenavigation")}))}};n.sortableOptions_thirdlevel={stop:function(i,r){var o=_.find(n.finallist,function(n){return n.PageNavigationId==parseInt(r.item[0].children[0].children[0].value)}),u,f;typeof o!="undefined"&&(u=_.find(o.SecondLevel,function(n){return n.PageNavigationId==parseInt(r.item[0].children[0].children[1].value)}),typeof u!="undefined"&&(f=u.ThirdLevel,t.usSpinnerService.spin("spnpagenavigation"),angular.forEach(f,function(n,t){n.SortOrder=t+1}),e.UpdateSortOrder(f).then(function(i){n.ShowMessage(i.data);i.data.Type!="Error";t.usSpinnerService.stop("spnpagenavigation")},function(){t.usSpinnerService.stop("spnpagenavigation")})))}};n.Deleteinline=function(i){confirm("If you delete it then its child menu items get also deleted. Are sure you want to delete this Menu item?")&&(t.usSpinnerService.spin("spnpagenavigation"),e.DeletePageNavigation(i.PageNavigationId).then(function(i){n.ShowMessage(i.data);i.data.Type!="Error"&&n.init();t.usSpinnerService.stop("spnpagenavigation")},function(){t.usSpinnerService.stop("spnpagenavigation")}))};n.ShowMessage=function(n){return n!=null?n.Type=="Error"||n.Type=="1"?(t.aaNotify.error(n.Description),!1):(t.aaNotify.success(n.Description),!0):!0};n.IsVisibleDelete=function(n){return n==="Donations"||n==="Events"||n==="Memberships"||n==="eStore"||n==="Pledges"?!1:!0};n.IsVisibleAddChild=function(n){return n==="Donations"||n==="eStore"||n==="Pledges"?!1:!0};n.OpenAddeditMenuSetting=function(t,i){var u=r.open({templateUrl:"addeditpagemenupopup.html",controller:addeditpagemenupopupCtrl,scope:n,sizeclass:"modal-lg",keyboard:!0,backdrop:!0,resolve:{PageMenuItem:function(){return t},ParentMenuItem:function(){return i}}});u.result.then(function(){},function(){})};n.init()}],addeditpagemenupopupCtrl=["$scope","common","$modalInstance","$modal","$filter","$timeout","PageNavigationSvc","LookupSvc","PageMenuItem","ParentMenuItem",function(n,t,i,r,u,f,e,o,s,h){function c(){typeof s!="undefined"&&s!=0&&s.PageNavigationId>0?(s&&IsNotNullorEmptyNew(s.ExternalUrl)&&(s.Scheme=s.ExternalUrl.indexOf("https")>-1?"https://":"http://",s.tempExternalUrl=s.ExternalUrl.replace("https://","").replace("http://","")),n.NewNavigation=s):(n.MemebrshipModuleOn=window.crm.constants.IsMembershipModuleActive==="True"||window.crm.constants.IsMembershipModuleActive==="true"||window.crm.constants.IsMembershipModuleActive===!0?!0:!1,n.PageMenuItemTypeList=_.filter(n.PageMenuItemTypeList,function(t){return n.MemebrshipModuleOn==!0?t.id!=="Donations"&&t.id!=="Events"&&t.id!=="Pledges"&&t.id!=="eStore"&&t.id!=="Memberships":t.id!=="Donations"&&t.id!=="Events"&&t.id!=="Pledges"&&t.id!=="eStore"&&t.id!=="Memberships"&&t.id!=="Membership Directory"}));typeof h!="undefined"&&h!==0&&h.PageNavigationId>0&&(n.ParentMenuItem=h,n.NewNavigation.ParentPageNavigationId=h.PageNavigationId)}n.NewNavigation={};n.NewNavigation.Scheme="http://";n.cancelmenu=function(){i.dismiss("cancel")};n.savenavigation=function(i){IsNotNullorEmptyNew(i.tempExternalUrl)&&(i.ExternalUrl=i.Scheme+i.tempExternalUrl);t.usSpinnerService.spin("frmaddeditpagemenupopup");e.save(i).then(function(i){n.ShowMessage(i.data.Message);i.data.Message.Type!="Error"&&(n.init(),n.cancelmenu());t.usSpinnerService.stop("frmaddeditpagemenupopup")},function(){t.usSpinnerService.stop("frmaddeditpagemenupopup")})};n.cancelonsave=function(){n.init()};n.ShowMessage=function(n){return n!=null?n.Type=="Error"||n.Type=="1"?(t.aaNotify.error(n.Description),!1):(t.aaNotify.success(n.Description),!0):!0};c()}],app=angular.module("app");app.factory("PageNavigationSvc",["common",function(n){$resource=n.$resource;var t="/api/Configuration/PageNavigation",i=$resource(t+"/:PageNavigationId",{pageNavigationId:"@Id"},{update:{method:"PUT"},get:{method:"Get",url:t+"/Get/:PageNavigationId"},UpdateSortOrder:{method:"Post",url:t+"/UpdateSortOrder/"}});return{save:function(i){return n.$http({url:t+"/Post",method:"POST",data:i})},get:function(i){return n.$http.get(t+"/Get",{params:{pageNavigationId:i}})},list:function(){return i.query().$promise},UpdateSortOrder:function(i){return n.$http({url:t+"/UpdateSortOrder",method:"POST",data:i})},DeletePageNavigation:function(i){return n.$http.delete(t+"/PageNavigationDelete",{params:{pagenavigationid:i}})}}}])