var appManager=new function(){this.currentApp;this.startApp=function(appContainerSelector,appModules){if(this.currentApp){} var appContainer=$(appContainerSelector)[0];if(appContainer){this.currentApp=angular.bootstrap(appContainer,appModules);}};this.destroyApp=function(app){var $rootScope=app.get('$rootScope');$rootScope.$destroy();};};var getModuleParams=function(module){var params=[];$("input."+module+".param").each(function(){params.push($(this).val());});return params;};var getViewParams=function(view){viewParts=view.split('.');var params=[];$("."+viewParts[0]+"[name='param0'][value='"+viewParts[1]+"']").siblings(".param").each(function(){params.push($(this).val());});return params;};angular.module('agora',['ngSanitize','numberInput','datetimepicker','selectize','ngMessages']).config(function($httpProvider,numberInputConfigProvider){$httpProvider.interceptors.push('ajaxErrorsHandler');numberInputConfigProvider.setDefaultPositiveOnly(false);numberInputConfigProvider.setDefaultDecimals(2);}).config(['datetimepickerProvider',function(datetimepickerProvider){datetimepickerProvider.setOptions({locale:nvl(nvl($('#portal_lang').val(),$('html').attr('lang')),'es')==='es'?'es-PR':'en-US',extraFormats:['YYYY-MM-DD HH:mm:ss'],useCurrent:false,ignoreReadonly:true});}]).value('selectizeConfig',{valueField:'ID',labelField:'TXT',searchField:'TXT',delimiter:'|',maxItems:1,placeholder:'Seleccione una opcion'}).filter('ssn',function(){return function(value){var result=value;var ssn=value?value.toString().trim():'';ssn=ssn.replace(/\D/g,'');if(ssn.length>3){result=ssn.substr(0,3)+'-';if(ssn.length>5){result+=ssn.substr(3,2)+'-';result+=ssn.substr(5,4);} else{result+=ssn.substr(3);}} return result;};}).filter('ssnmask',function(){return function(value){var result=value;var ssn=value?value.toString().trim():'';ssn=ssn.replace(/\D/g,'');if(ssn.length==9){result='***-**-'+ssn.substr(5,4);} return result;};}).filter('phone',function(){return function(phone){if(!phone){return'';} var value=phone.toString().trim().replace(/^\+/,'');if(value.match(/[^0-9]/)){return phone;} var city,number;city=value.slice(0,3);number=value.slice(3);number=number.slice(0,3)+'-'+number.slice(3).substr(0,4);return("("+city+") "+number).trim();};}).filter('convertunderscore',function(){return function(input){return input.replace(/_/g,' ');};}).filter('titleCase',function(){return function(input){if(!input||!angular.isFunction(input.toTitleCase)){return input;} return input.toTitleCase();};}).filter('dateFormat',function(){return function(input,formatIn,formatOut){if(!input||!formatIn||!formatOut){return input;} var date=moment(input,formatIn,true);if(!date.isValid()){return input;} return date.format(formatOut);};}).filter('sumByKey',function(){return function(data,key){if(!isset(key)||isEmpty(data)||!angular.isFunction(data.reduce)){return 0;} return data.reduce(function(sum,val){return sum+nvl(parseFloat(val[key]),0);},0);};}).filter('valueOfObj',['$filter',function($filter){return function(inputArr,idProp,idVal,valProp){try{let row=$filter('filter')(inputArr,function(value){return value[idProp]==idVal;});if(row.length!==1){return null;} return row[0][valProp];}catch(ex){return null;}};}]).filter('objPropHasVal',function(){return function(inputArr,prop,val){if(!angular.isArray(inputArr)){return false;} return inputArr.some(function(obj){if(prop){return obj[prop]==val;}else{return Object.keys(obj).some(function(p){return obj[p]===val;});}});};}).filter('orderObjBy',function(){return function(items,field,reverse){var filtered=[];angular.forEach(items,function(item){filtered.push(item);});filtered.sort(function(a,b){return(a[field]>b[field]?1:-1);});if(reverse)filtered.reverse();return filtered;};}).filter('round',function(){return function(input,precision){return round(input,precision);};}).filter('debug',function(){return function(input){if(typeof input=='undefined'){return'undefined'}else{return JSON.stringify(input)}}}).filter('trans',function(){return function(input){if(!$.i18n){return input;} return $.i18n(input);}}).directive('dateInput',function($window){return{require:'^ngModel',restrict:'A',link:function(scope,elm,attrs,ctrl){var moment=$window.moment;var dateFormat=attrs.dateInput;attrs.$observe('dateInput',function(newValue){if(dateFormat==newValue||!ctrl.$modelValue)return;dateFormat=newValue;ctrl.$modelValue=new Date(ctrl.$setViewValue);});ctrl.$formatters.unshift(function(modelValue){if(!dateFormat||!modelValue)return"";var retVal=moment(modelValue).format(dateFormat);return retVal;});ctrl.$parsers.unshift(function(viewValue){var date=moment(viewValue,dateFormat);return(date&&date.isValid()&&date.year()>1950)?date.toDate():"";});}};}).directive('formatPhone',[function(){return{require:'ngModel',restrict:'A',link:function(scope,elem,attrs,ctrl,ngModel){elem.add(phonenumber).on('keyup',function(){var origVal=elem.val().replace(/[^\w\s]/gi,'');if(origVal.length===10){var str=origVal.replace(/(.{3})/g,"$1-");var phone=str.slice(0,-2)+str.slice(-1);jQuery("#phonenumber").val(phone);}});}};}]).directive('phoneInput',['$filter','$browser',function($filter,$browser){return{require:'ngModel',link:function($scope,$element,$attrs,ngModelCtrl){var listener=function(){var value=$element.val().replace(/[^0-9]/g,'');$element.val($filter('phone')(value,false));};ngModelCtrl.$parsers.push(function(viewValue){var newValue=viewValue.replace(/[^0-9]/g,'').slice(0,10);return $filter('phone')(newValue,false);});ngModelCtrl.$render=function(){$element.val($filter('phone')(ngModelCtrl.$viewValue,false));};$element.bind('change',listener);$element.bind('keydown',function(event){var key=event.keyCode;if(key==91||(159){intValue=intValue.substr(0,9);} var newValue=$filter('ssn')(intValue,false);ngModel.$setViewValue(newValue);ngModel.$render();element[0].setSelectionRange(cursorPosition+newValue.length-oldLength,cursorPosition+newValue.length-oldLength);return newValue;});}};}]).directive('upperinput',function($filter){return{require:'ngModel',link:function(scope,element,attrs,ngModel){ngModel.$parsers.push(function(value){var cursorPosition=element[0].selectionStart;var oldLength=value.length;var newValue=value.toUpperCase();ngModel.$setViewValue(newValue);ngModel.$render();element[0].setSelectionRange(cursorPosition+newValue.length-oldLength,cursorPosition+newValue.length-oldLength);return newValue;});}};}).directive('compareTo',function(){return{require:'ngModel',scope:{otherModelValue:"=compareTo"},link:function(scope,element,attributes,ngModel){ngModel.$validators.compareTo=function(modelValue){return modelValue==scope.otherModelValue;};scope.$watch("otherModelValue",function(){ngModel.$validate();});}};}).directive('stringToNumber',function(){return{require:'ngModel',link:function(scope,element,attrs,ngModel){ngModel.$parsers.push(function(value){return''+value;});ngModel.$formatters.push(function(value){return parseFloat(value);});}};}).directive('iCheck',['$parse',function($parse){return{require:'?ngModel',link:function($scope,element,$attrs,ngModel){$scope.$applyAsync(function(){var checkToggle=$parse($attrs['checkToggle']);if(ngModel){var render=ngModel.$render;ngModel.$render=function(){render();element.iCheck('update');};} element.iCheck({checkboxClass:'icheckbox_flat-red',radioClass:'iradio_flat-red'}).on('ifChanged',function(event){element.triggerHandler('click');element.triggerHandler('change');$scope.$apply(function(){event.isChecked=element[0].checked;checkToggle($scope,{$event:event});});});});}};}]).factory('$exceptionHandler',['$log',function($log){return function myExceptionHandler(exception,cause){$log.warn(exception,cause);};}]).service('ajaxErrorsHandler',function($q){var service=this;service.responseError=function(response){if(response.status==401){loginUrl=new URI('/'+$("#site_prefix").val()+'login').search({'refer':new URI().resource()});window.location.href=loginUrl.resource();} return $q.reject(response);};}).run(function($rootScope,$timeout,$templateCache,$http){$rootScope.isset=isset;$rootScope.isEmpty=isEmpty;$rootScope.round=round;$rootScope.nvl=nvl;$rootScope.nvl2=nvl2;$rootScope.nl2br=nl2br;$rootScope.inArray=function(el,arr){if(!angular.isArray(arr)){return false;} return arr.findIndex(function(item){return item==el;})>-1;};if(!$templateCache.get('/'+$("#site_prefix").val()+'messages')){$http.get('/'+$("#site_prefix").val()+'messages').then(function(r){$templateCache.put('/'+$("#site_prefix").val()+'messages',r.data);},function(){});}});function isset(obj){return typeof obj!=='undefined'&&obj!==null;} function isEmpty(obj,deep){if(!isset(obj)){return true;} if(typeof obj=='number'){return!isFinite(obj)||obj===0;} if(Object.prototype.toString.call(obj)==='[object String]'){if($.isNumeric(obj)){obj=parseFloat(obj);return isNaN(obj)||obj===0;} return obj==="";} if(($.isArray(obj)&&obj.length>0)||(obj instanceof Object&&Object.keys(obj).length>0)){if(!deep){return false;} else{var retVal=true;$.each(obj,function(key,item){if(!isEmpty(item,true)){retVal=false;return false;}});return retVal;}} return true;} function round(number,precision){precision=precision||0;if(!isset(number)||isEmpty(number)){return 0;} if(!isFinite(number)){return number;} return+(Math.round(number+'e+'+precision)+'e-'+precision);} function rounddown(number,precision){precision=precision||0;if(!isset(number)||isEmpty(number)){return 0;} if(!isFinite(number)){return number;} return+(Math.floor(number+'e+'+precision)+'e-'+precision);} function roundup(number,precision){precision=precision||0;if(!isset(number)||isEmpty(number)){return 0;} if(!isFinite(number)){return number;} return+(Math.ceil(number+'e+'+precision)+'e-'+precision);} function nvl(val,def){if(isset(val)){if(typeof val=='number'){if(!Number.isNaN(val)){return val;}}else{return val;}} return def;} function nvl2(val,nul,notnul){if(isset(val)){if(typeof val=='number'){if(!Number.isNaN(val)){return notnul;}}else{return notnul;}} return nul;} function nl2br(str){if(typeof str==='string'||str instanceof String){return str.replace(/\n/g,'
');}else{return str;}} function roundTime(date,roundToMins){date=(moment.isMoment(date)?date:moment(date))||moment();date=date.startOf('minute');roundToMins=roundToMins||30;remainder=(roundToMins-date.minute())%roundToMins;absRemainder=Math.abs(remainder);if(absRemainder==0){return date;} if(absRemainder>=roundToMins/2){if(date.minute()'+'
'+'');} $(this).nearest('.input-group').parent().attr('ng-class','{"has-error": '+element+'.$invalid}');}else if(version=='unify24'){if(!$(this).siblings('[ng-messages]').length){$(this).nearest('.input-group').parent().append('');} $(this).nearest('.input-group').parent().attr('ng-class','{"u-has-error-v1 has-error": '+element+'.$invalid}');}}else{if(version==3){if(!$(this).siblings('[ng-messages]').length){$(this).parent().append('
'+'
'+'
');} $(this).parent().attr('ng-class','{"has-error": '+element+'.$invalid}');}else if(version=='unify24'){if(!$(this).siblings('[ng-messages]').length){$(this).parent().append('');} $(this).parent().attr('ng-class','{"u-has-error-v1 has-error": '+element+'.$invalid}');}}});};$.fn.getErrorFields=function(popIfNum){var fields=[];var form;popIfNum=nvl(popIfNum,false);if(!this.$error){form=$(this).getAngularForm();}else{form=this;} if(form.$error){angular.forEach(form.$error,function(field){angular.forEach(field,function(errorField){if(typeof errorField!='undefined'){if(popIfNum&&errorField.$name.indexOf('_')>-1){parts=errorField.$name.split('_');if(/\d/.test(parts[parts.length-1])){parts.pop();} field=parts.join('_');}else{field=errorField.$name;} if($.i18n){field=$.i18n(field);} fields.push(field);}});});} return fields;};String.format=function(){"use strict";if(arguments.length>1){var str=arguments[0];var t=typeof arguments[1];var key;var args=("string"===t||"number"===t)?Array.prototype.slice.call(arguments,1):arguments[1];for(key in args){str=str.replace(new RegExp("\\{"+key+"\\}","gi"),args[key]);}} return str;};String.prototype.toTitleCase=function(){if(isEmpty(this)){return'';} return this.replace(/\w\S*/g,function(txt){return txt.charAt(0).toUpperCase()+txt.substr(1).toLowerCase();});};Number.prototype.toCurrency=function(sym){sym=sym||'$';var n=this.toFixed(2);var parts=n.toString().split(".");parts[0]=parts[0].replace(/\B(?=(\d{3})+(?!\d))/g,",");return sym+parts.join(".");};Object.filter=function(obj,predicate){var result={},key;for(key in obj){if(obj.hasOwnProperty(key)&&!predicate(obj[key])){result[key]=obj[key];}} return result;};function i18nStyle(str){if(typeof str==='string'||str instanceof String){str=str.replace(/(?:~~)(.*?)(?:~~)/g,'$1').replace(/(?:__)(.*?)(?:__)/g,'$1').replace(/(?:\*\*)(.*?)(?:\*\*)/g,'$1');if(/(?:#ol#)(.*?)(?:#ol#)/gs.test(str)){str=str.replace(/(?:#ol#)(.*?)(?:#ol#)/gs,function(match,$1){return"
  1. "+$1.replace(/\n/g,'
  2. ')+"
";});str.replace(/(?:(#ol#))(.*?)(?:(#ol#))/gs,'
    $2
');} if(/(?:#ul#)(.*?)(?:#ul#)/gs.test(str)){str=str.replace(/(?:#ul#)(.*?)(?:#ul#)/gs,function(match,$1){return"
  • "+$1.replace(/\n/g,'
  • ')+"
  • ";});str.replace(/(?:(#ul#))(.*?)(?:(#ul#))/gs,'');} str=str.replace(/\n/g,'
    ');return str;}else{return str;}} function iframeform(url){var object=this;object.time=new Date().getTime();object.form=$('');object.addParameter=function(parameter,value) {$("").attr("name",parameter).attr("value",value).appendTo(object.form);} object.send=function() {var iframe=$('');$("body").append(iframe);$("body").append(object.form);object.form.submit();iframe.load(function(){$('#form'+$(this).data('time')).remove();$(this).remove();});}} $.fn.agoraSimpleUpload=function(url,fileNameContainer,callback){if(url=='setParams'){$(this).data('uploadObj').setOption('multipart_params',fileNameContainer);return $(this).data('uploadObj');}else if(url=='start'){showUploadProgress();$(this).data('uploadObj').start();if(_.isFunction(fileNameContainer)){$(this).data('uploadObj').bind('UploadComplete',function(up,files){fileNameContainer(up,files);setTimeout(function(){$(".fileupload-progress-modal .progress .progress-bar").hideDialog()},500);});} return $(this).data('uploadObj');}else if(isEmpty(url)){return $(this).data('uploadObj');} var uploader=new plupload.Uploader({multipart:true,browse_button:$(this)[0],url:url});uploader.init();uploader.bind('FilesAdded',function(up,files){if(typeof fileNameContainer!=='undefined'||fileNameContainer.length>0){fileNameContainer.val(files[0].name);}});uploader.bind('UploadProgress',function(up,file){$(".fileupload-progress-modal .progress .progress-bar").css('width',file.percent+'%');$(".fileupload-progress-modal .progress .progress-bar .sr-only").html(file.percent+'% Complete');});if(_.isFunction(callback)){uploader.bind('UploadComplete',function(up,err){callback();});}else{uploader.bind('UploadComplete',function(up,err){});} uploader.bind('Error',function(up,err){});$(this).data('uploadObj',uploader);return uploader;}