"use strict";var AddressDialog=function(n){this.events={};this.submitted=!1;this.eventsMapper={closed:"closed",skipped:"skip",usedVerified:"useVerified",edit:"edit"};this.metadata=$.extend({Id:"addressmodal",bindingData:{searchFor:null,searchResults:null},largeModal:!0},n||{})},ModalDialog,library,Spinner,Typeahead;AddressDialog.prototype={init:function(){var t=this,n=$.Deferred();return this.modalId().length!==0&&this.modalId().remove(),$.get("/app/templates/addressVerificationTmpl.htm").done(function(i){t.setup(i);n.resolve()}),n.promise()},setup:function(n){var t=this,i;_.templateSettings.variable="rc";i=_.template(n);$(".container").append(i(this.metadata));$("#"+this.metadata.Id+" .modalActionButton").click(function(n){n.preventDefault();t.submitted=!0;t.emit(t.eventsMapper.submitted,n)});t.hookupEvents()},show:function(n){var t=this;$.when(this.init()).then(function(){t.modalId().modal(t.metadata);$($("input[name=options]")[0]).prop("checked",!0);typeof n=="function"&&n()})},hookupEvents:function(){var n=this;$("#"+this.metadata.Id+" .skip").click(function(t){t.preventDefault();n.submitted=!0;n.emit(n.eventsMapper.skipped,t)});$("#"+this.metadata.Id+" .edit").click(function(t){t.preventDefault();n.submitted=!0;n.emit(n.eventsMapper.edit,t)});$("#"+this.metadata.Id+" .use").click(function(t){t.preventDefault();var i=$("input[name=options]:checked").val(),r=n.metadata.bindingData.searchResults[i];n.submitted=!0;n.emit(n.eventsMapper.usedVerified,r)});$("#"+this.metadata.Id).on("hidden.bs.modal",function(t){n.submitted||n.emit(n.eventsMapper.closed,t)})},hide:function(){this.modalId().modal("hide")},on:function(n,t){this.events[n]||(this.events[n]=[]);this.events[n].push(t)},emit:function(n,t){var i=this.events[n];i&&i.forEach(function(n){n(t)})},modalId:function(){return $("#"+this.metadata.Id)},destroy:function(){delete this}},function(n){n.getAntiForgeryToken=function(n,t){var u,f,i,r;for(n=n&&typeof n==typeof window?n:window,t=t&&typeof t=="string"?"_"+t.toString():"",u="__RequestVerificationToken"+t,f=n.document.getElementsByTagName("input"),i=0;i<f.length;i++)if(r=f[i],r.type==="hidden"&&r.name===u)return{name:u,value:r.value}};n.appendAntiForgeryToken=function(t,i){return t&&typeof t!="string"&&(t=n.param(t)),i=i?i:n.getAntiForgeryToken(),t=t?t+"&":"",i?t+encodeURIComponent(i.name)+"="+encodeURIComponent(i.value):t};n.postAntiForgery=function(t,i,r,u){return n.post(t,n.appendAntiForgeryToken(i),r,u)};n.ajaxAntiForgery=function(t){var i=t.token?t.token:n.getAntiForgeryToken(t.tokenWindow,t.appPath);return t.data=n.appendAntiForgeryToken(t.data,i),n.ajax(t)}}(jQuery);var commons=function(n){function i(n){var i=$.Deferred(),t={status:null,result:null};return httpUtils.post("/lobby/address/verifyUsingApi",{data:ko.toJSON(n)}).done(function(r){if(r!=null){if(r.exactMatch==!0){t={status:"exactMatch",result:r.result};i.resolve(t);return}var u=new AddressDialog({id:"addressmodal",bindingData:{searchFor:{address:n.addressLine1,address2:n.addressLine2,city:n.city,state:n.state,zip:n.zip},searchResults:r.result}});u.show();u.on("useVerified",function(n){t={status:"useVerified",result:n};u.destroy();u.hide();i.resolve(t)});u.on("edit",function(){t={status:"edit"};u.destroy();u.hide();i.resolve(t)});u.on("skip",function(){t={status:"skip"};u.hide();u.destroy();i.resolve(t)});u.on("closed",function(){i.reject()})}else t={status:"Error",result:null},i.resolve(t)}),i.promise()}function r(n,t){var i=$.Deferred();return httpUtils.post("/lobby/modelValidation/validate"+n,{data:t}).done(function(n){n!=null;i.resolve(n)}),i.promise()}function t(n){function i(){$.get("/home/ping");t(n)}var r=$.extend({pollInterval:60},n);setTimeout(i,r.pollInterval*1e3)}function u(n,t){function r(n){var t=n;h();u(t)&&i($("#p2"));f(t)&&i($("#p3"));e(t)&&i($("#p4"));o(t)&&i($("#p5"));s(t,8,20)&&i($("#p1"))}function u(n){return/[a-z]/.test(n)}function f(n){return/[A-Z]/.test(n)}function e(n){return/[0-9]/.test(n)}function o(n){return/[~!@@#$%^&*]/.test(n)}function s(n,t,i){return n.length>=t&&n.length<=i}function i(n){n.prepend(" <i class='fa fa-check green-color'><\/i>")}function h(){$("#p1 .fa").remove();$("#p2 .fa").remove();$("#p3 .fa").remove();$("#p4 .fa").remove();$("#p5 .fa").remove()}n.popover({html:!0,placement:"top",content:"<ul><li id='p1'>between 8 and 20 characters long<\/li><li id='p2'>one or more lower case letters<\/li><li id='p3'>one or more upper case letters<\/li><li id='p4'>one or more numbers<\/li><li id='p5'>one or more special characters: (~!@#$%^&*)<\/li><\/ul>",title:"<strong>Password fields must meet the following requirements<\/strong>",trigger:"hover",template:'<div class="popover popover-medium"><div class="arrow"><\/div><div class="popover-inner"><h3 class="popover-title"><\/h3><div class="popover-content"><p><\/p><\/div><\/div><\/div>',container:"body"});t.target.focus(function(){n.mouseenter();r($(this).val())}).blur(function(){n.mouseleave()}).keyup(function(){r($(this).val())})}function f(n,t){function i(n){var t=n;f();r(t,3,50)&&u($("#unp1"))}function r(n,t,i){return n.length>=t&&n.length<=i}function u(n){n.prepend(" <i class='fa fa-check green-color'><\/i>")}function f(){$("#unp1 .fa").remove()}n.popover({html:!0,placement:"top",content:"<ul><li id='unp1'>between 3 and 50 characters long<\/li><\/ul>",title:"<strong>User Name fields must meet the following requirements<\/strong>",trigger:"hover",template:'<div class="popover popover-medium"><div class="arrow"><\/div><div class="popover-inner"><h3 class="popover-title"><\/h3><div class="popover-content"><p><\/p><\/div><\/div><\/div>',container:"body"});t.target.focus(function(){n.mouseenter();i($(this).val())}).blur(function(){n.mouseleave()}).keyup(function(){i($(this).val())})}function e(n){if(!$("html").is(".k-ie10, .k-ie11, .k-ie12")){n.css("margin-bottom","-15px");var i=n.width(),t=n.attr("id")+"_eye";n.after('<i class="eye fa fa-eye" id="{0}" style="position: relative; left: {1}px; top: -15px"><\/i>'.format(t,i));$("#"+t).mousedown(function(){n.attr("type","input")}).mouseup(function(){n.attr("type","password")}).mouseleave(function(){n.attr("type","password")})}}function o(t){this.startTimestamp=moment();this.interval=60;this.warningSeconds=300;this.warningBeingDisplayed=!1;this.originalTimeout=t;this.timeoutSeconds=t;this.mainTimeoutID=null;this.secondsLeftTimeoutID=null;var i=this;return this.startTimer=function(){function t(){i.timeoutSeconds-=i.interval;!i.warningBeingDisplayed&&i.timeoutSeconds<=i.warningSeconds&&r(i.timeoutSeconds);i.timeoutSeconds<=0&&(n.location.href="/Account/Login?timeout=timedout");var t=moment.duration(moment().diff(i.startTimestamp)),u=t.minutes()*60+t.seconds();u>=i.originalTimeout&&(n.location.href="/Account/Login?timeout=timedout");i.startTimer()}function r(n){function r(n){n<=0||($("#timeout-seconds-left").text(n),i.secondsLeftTimeoutID=setTimeout(function(){n-=1;r(n)},1e3))}i.warningBeingDisplayed=!0;var t=new ModalDialog({Id:"timeoutWarningModal",backdrop:"static",keyboard:!1,hideHeader:!0,content:'<i class="fa fa-clock-o fa-3x"><\/i> <strong>Your session is about to expire!<\/strong><br/><br/>You will be logged out in <b id="timeout-seconds-left">300<\/b> seconds.<br/>Do you want to stay signed in?',actionButtonText:"Yes, keep me signed in",actionButtonClass:"btn-primary"});t.show(function(){t.hideCloseButtons();r(n)});t.on("closed",function(){i.cleanup()});t.on("submitted",function(){$.get("/home/ping",function(){i.cleanup();t.hide();i.startTimer()})})}i.mainTimeoutID=setTimeout(function(){t()},i.interval*1e3)},this.cleanup=function(){i.warningBeingDisplayed=!1;i.timeoutSeconds=i.originalTimeout;i.startTimestamp=moment();n.clearTimeout(this.mainTimeoutID);delete this.mainTimeoutID;n.clearTimeout(this.secondsLeftTimeoutID);delete this.secondsLeftTimeoutID},this.startTimer(),this}function s(){$("body").bind("keypress",function(n){if(n.keyCode===13)return!1})}return{validateAddressSync:i,validateModel:r,keepAlive:t,popoverPassword:u,popoverUserName:f,peekaboo:e,handleTimeout:o,disableEnterKey:s}}(this,document),AppEnums=function(){var n={GeneralAdmin:1,Lobbyist:2,Firm:3,Registration:4,Invoice:5,Translate:function(n){for(var t in this)if(this.hasOwnProperty(t)&&this[t]==n)return t;return undefined}};return{ResultStatuses:{Success:1,Error:2,Warning:3},RegStatuses:{PendingAuthorization:1,Authorized:2,DeclinedAuthorization:3,EffectiveRegistration:4,Removed:5,PendingNotarization:6,PendingPayment:7},Countries:{UnitedStates:233},ExecutiveAgencies:{All:36,Other:37},InvoiceItemType:{LegislativeFee:1,ExecutiveFee:2,LegislativeFine:3,ExecutiveFine:4,LegislativeSeparateOneTimeFee:5,LegislativeJointOneTimeFee:6},InvoiceType:{Registration:1,Fine:2,ExecutiveRegistrationPaidByCheck:3,LegislativeRegistrationPaidByCheck:4,FinePaidByCheck:5},InvoiceStatus:{Pending:1,Submitting:2,Paid:3,Abandoned:4,Error:5},PhoneType:{US:"US",Other:"Other"},PhoneRegEx:/\(\d{3}\)\s\d{3}-\d{4}( x\d{1,5})?$/g,LogTypes:n}}(),OLITSGrid=function(n,t){var i=$.extend({pageSize:25,data:null,dataBound:null,groupable:!1,sortable:!1,filterable:!1,reorderable:!0,resizable:!0,pageableEnabled:!0,cache:!1,pageable:{refresh:!0,pageSizes:[5,10,25],buttonCount:5},columns:[],nodatafoundMessage:null},t);this.setData=function(n){i.data=n};this.buildGrid=function(){function t(t){var u=t.items.length,r;u===0&&setTimeout(function(){$(n).empty().removeAttr("class");var t=i.nodatafoundMessage||"No data found.";$(n).append('<div class="alert alert-info"><i class="fa fa-info-circle"><\/i> '+t+"<\/div>")},10);t.sender.dataSource.total()>0&&t.sender.dataSource.total()<=i.pageSize&&(r=$(n).data("kendoGrid"),i.pageableEnabled&&r.pager.element.hide());$(n).show()}$(n).empty().removeAttr("class");$(n).kendoGrid({dataSource:{type:"json",transport:{read:{url:i.dataSource,data:i.data,cache:i.cache},parameterMap:function(n,t){if(t==="read")return n.sort!==undefined&&n.sort.length>0&&(n.sortColumn=n.sort[0].field,n.sortDir=n.sort[0].dir),n}},page:1,pageSize:i.pageSize,serverPaging:!0,serverSorting:!0,schema:{data:"data",total:"total",errors:function(t){return t.ResultStatus===2?($(n).parent().prepend('<div class="alert alert-danger"><div class="fa fa-warning"><\/div> '+t.ErrorMessages+"<\/div>"),{data:null}):t.hasOwnProperty("total")?void 0:($(n).parent().prepend('<div class="alert alert-danger"><div class="fa fa-warning"><\/div> Developer Note: the grid expects an object in the format below: <br/> { <br/><p style="text-indent: 20px"> data: "array of data", <\/p><p style="text-indent: 20px">total: "total number of results"<\/p> }<\/div>'),{data:null})}}},scrollable:!1,dataBound:i.dataBound,dataBinding:t,groupable:i.groupable,sortable:i.sortable,filterable:i.filterable,pageable:i.pageableEnabled?i.pageable:!1,reorderable:i.reorderable,resizable:i.resizable,columns:i.columns}).data("kendoGrid");$(n).hide()};this.refresh=function(){var t=$(n).data("kendoGrid");t&&t.destroy();this.buildGrid()};this.buildGrid()},httpUtils=function(){function i(n,t){var r,u,i;return t?(r=document.URL.split("/"),r.pop()):(n=n.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]"),u=new RegExp("[\\?&]"+n+"=([^&#]*)"),i=u.exec(location.search),i==null?"":decodeURIComponent(i[1].replace(/\+/g," ")))}function r(n,i){return i=i||{},i.type="GET",t(n,i)}function u(n,i){i=i||{};i.type="POST";var r=$.getAntiForgeryToken();return i.antiForgeryToken=r,t(n,i)}function t(n,t){var r,u=t.type,i;return t.btn&&(i=t.btn,r=t.loadingText||"loading...",i.data("loading-text",r),i.button("loading")),$.ajax({type:u,url:n,cache:!1,dataType:"json",contentType:"application/json; charset=utf-8",data:t.data?t.data:null,headers:{VerificationToken:t.antiForgeryToken?t.antiForgeryToken.value:""}}).done(function(){i&&i.button("reset")}).fail(function(n,t){t==="parsererror"&&n.responseText!==""&&n.responseText.indexOf("<html>")!==-1&&(window.location="/Account/Login?timeout=timedout")})}function f(t,i){n()&&localStorage.setItem(t,ko.toJSON(i))}function e(t){return n()?ko.utils.parseJson(localStorage.getItem(t)):null}function o(t){return n()?localStorage.removeItem(t):null}function n(){try{return"localStorage"in window&&window.localStorage!==null}catch(n){return!1}}function s(){$.ajaxSetup({cache:!1})}return{getQueryString:i,get:r,post:u,saveLocal:f,getLocal:e,removeLocal:o,noCache:s}}(),http=httpUtils;ko.bindingHandlers.date={init:function(){},update:function(n,t,i){var f=t(),e=i(),r=ko.unwrap(f),o=e.format||"MM/DD/YYYY",u="";r!==null&&r!==undefined&&r.length>0&&(u=moment(r).format(o));$(n).is("input")===!0?$(n).val(u):$(n).text(u)}};ko.bindingHandlers.datetime={init:function(){},update:function(n,t,i){var f=t(),e=i(),r=ko.unwrap(f),o=e.format||"MM/DD/YYYY h:mm a",u="";r!==null&&r!==undefined&&r.length>0&&(u=moment(r).format(o));$(n).is("input")===!0?$(n).val(u):$(n).text(u)}};ko.bindingHandlers.masked={init:function(n,t,i,r,u){var f=i().mask||{},e=i().phoneOption||null,o=t();e!==null?u.$data.hasOwnProperty(e)&&($(n).mask(f),u.$data[e].subscribe(function(){u.$data[e]()==="US"?($(n).mask(f),o($(n).val())):($(n).unmask(f),o($(n).val()))})):$(n).mask(f,{placeholder:" ",clearOnLostFocus:!1,autoclear:!1});ko.utils.registerEventHandler(n,"blur",function(){var i=t();u.$data[e]()==="US"?($(n).mask(f),i($(n).val())):($(n).unmask(f),i($(n).val()))})},update:function(n,t){var i=ko.utils.unwrapObservable(t());$(n).val(i)}};ko.bindingHandlers.currency={symbol:ko.observable("$"),update:function(n,t,i){return ko.bindingHandlers.text.update(n,function(){var n=+(ko.utils.unwrapObservable(t())||0),r=ko.utils.unwrapObservable(i().symbol!=undefined?i().symbol:ko.bindingHandlers.currency.symbol());return r+n.toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g,"$1,")})}};ko.bindingHandlers.phone={init:function(){},update:function(n,t,i){var f=t(),e=i(),r=ko.unwrap(f),u="";r!==null&&r!==undefined&&r.length>0&&(u=r.replace(/(\d{3})(\d{3})(\d{4})/,"$1-$2-$3"));$(n).is("input")===!0?$(n).val(u):$(n).text(u)}};ModalDialog=function(n){this.events={};this.submitted=!1;this.eventsMapper={closed:"closed",submitted:"submitted"};this.metadata=$.extend({Id:"newModalWin",content:"content...",headerText:"&nbsp;",hideHeader:!1,actionButtonText:"Yes, Continue",actionButtonClass:"btn-primary",closeButtonText:"Close",appendTo:"",contentTemplateId:null,bindingData:null,largeModal:!1},n||{})};ModalDialog.prototype={init:function(){var t=this,n=$.Deferred();return this.modalId().length!==0&&this.modalId().remove(),$.get("/app/templates/modaltmpl.htm").done(function(i){t.setup(i);n.resolve()}),n.promise()},setup:function(n){var t=this,i,r,u;this.metadata.contentTemplateId!=null&&(_.templateSettings.variable="",i=$(this.metadata.contentTemplateId).html(),this.metadata.content=i,r=_.template(this.metadata.content),this.metadata.content=r(this.metadata.bindingData));_.templateSettings.variable="rc";u=_.template(n);this.metadata.appendTo=this.metadata.appendTo||"body";$(this.metadata.appendTo).append(u(this.metadata));$("#"+this.metadata.Id+" .modalActionButton").click(function(n){n.preventDefault();t.submitted=!0;t.emit(t.eventsMapper.submitted,n)});$("#"+this.metadata.Id).on("hidden.bs.modal",function(n){t.submitted||t.emit(t.eventsMapper.closed,n)})},show:function(n){var t=this;$.when(this.init()).then(function(){t.modalId().modal(t.metadata);typeof n=="function"&&n()})},hide:function(){this.modalId().modal("hide")},hideCloseButtons:function(){this.modalId().find(".modalCloseButton").hide()},showCloseButtons:function(){$(".modalCloseButton").show()},hidePrimaryButtons:function(){this.modalId().find(".btn-primary").hide()},on:function(n,t){this.events[n]||(this.events[n]=[]);this.events[n].push(t)},emit:function(n,t){var i=this.events[n];i&&i.forEach(function(n){n(t)})},modalId:function(){return $("#"+this.metadata.Id)},destroy:function(){delete this}};String.prototype.trim||function(){var n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;String.prototype.trim=function(){return this.replace(n,"")}}();String.prototype.format||(String.prototype.format=function(){var n=arguments;return this.replace(/{(\d+)}/g,function(t,i){return typeof n[i]!="undefined"?n[i]:t})});Array.prototype.forEach||(Array.prototype.forEach=function(n,t){var u,i,r,f,e;if(this==null)throw new TypeError(" this is null or not defined");if(r=Object(this),f=r.length>>>0,typeof n!="function")throw new TypeError(n+" is not a function");for(arguments.length>1&&(u=t),i=0;i<f;)i in r&&(e=r[i],n.call(u,e,i,r)),i++});library||(library={});library.json={replacer:function(n,t,i,r,u){var f=t||"";return i&&(f=f+"<span class=json-key>"+i.replace(/[": ]/g,"")+"<\/span>: "),r&&(f=f+(r[0]=='"'?"<span class=json-string>":"<span class=json-value>")+r+"<\/span>"),f+(u||"")},prettyPrint:function(n){return JSON.stringify(n,null,3).replace(/&/g,"&amp;").replace(/\\"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/^( *)("[\w]+": )?("[^"]*"|[\w.+-]*)?([,[{])?$/mg,library.json.replacer)}};Spinner=function(n){this.element=n};Spinner.prototype.spin=function(n){function i(){$(t.element).css({position:"relative","min-height":"200px"});t.metadata.progress.min=t.metadata.progress.min===0?1:t.metadata.progress.min;var n=t.metadata.progress.min||60,i=t.metadata.progress.max||100,u='<div id="spinner" style="display: block">PLEASE WAIT <i class="fa fa-circle-o-notch fa-spin"><\/i> <div class="progress" style="width: 200px"><div id="spinner_progress" class="progress-bar progress-bar-info active" role="progressbar" aria-valuenow="{0}" aria-valuemin="{0}" aria-valuemax="{1}" style="width: {0}%"><span class="sr-only">{0}% Complete<\/span><\/div><\/div><\/div>'.format(n,i);$(t.element).append(u);t.metadata.progress.enabled?r(n):t.stop()}function r(n){var i=t.metadata.progress.max;n>i||setTimeout(function(){var t=n*1/i*100;$("#spinner_progress").css("width",t+"%").attr("aria-valuenow",n);n++;r(n)},t.metadata.progress.duration)}var t=this;this.metadata=$.extend({delay:0,progress:{enabled:!1,min:null,max:null,duration:null}},n||{});this.metadata.delay>0?setTimeout(function(){i()},this.metadata.delay):i()};Spinner.prototype.stop=function(){$("#spinner").remove()};Typeahead=function(n,t){var r,i=$.extend({filter:"contains",minLength:1,delay:500,pageSize:20,suggest:!1,select:null,change:null,dataBound:null},t),u=function(){$(document).unbind("ajaxSend");r=$(n).kendoAutoComplete({height:300,filter:i.filter,placeholder:i.placeholder||"",minLength:i.minLength,dataTextField:i.dataTextField||"",template:i.template||"",headerTemplate:i.headerTemplate||"",delay:i.delay,suggest:i.suggest,highlightFirst:!0,dataSource:new kendo.data.DataSource({type:"json",global:!1,pageSize:i.pageSize,serverFiltering:!0,transport:{read:i.url,parameterMap:function(){return{filter:$(n).data("kendoAutoComplete").value()}}}}),select:function(n){typeof i.select=="function"&&i.select.bind(this)(n)},change:function(n){typeof i.change=="function"&&i.change.bind(this)(n)},dataBound:function(n){typeof i.dataBound=="function"&&i.dataBound.bind(this)(n)}}).data("kendoAutoComplete")}();return{k_ctrl:r}},function(n){var t=!1,i=function(i,r,u){function o(){if(Array.isArray(r)){var u="";r.forEach(function(n){u+=n+"<br/>"});r=u}t||(n(i).prepend('<button type="button" class="close" id="alertclose">×<\/button>'),t=!0);f.resultStatus==="success"?(n(i).removeClass("alert-danger hide").addClass("alert-success").fadeIn("slow"),n("#vsIcon",i).removeClass("fa-warning").addClass("fa-check"),n("#header",i).html("<strong>Success<\/strong>")):f.resultStatus==="warning"?(n(i).removeClass("alert-danger hide").addClass("alert-warning").fadeIn("slow"),n("#vsIcon",i).removeClass("fa-warning").addClass("fa-warning"),n("#header",i).html("<strong>Warning!<\/strong>")):(n(i).removeClass("alert-success hide").addClass("alert-danger").fadeIn("slow"),n("#vsIcon",i).removeClass("fa-check").addClass("fa-warning"),n("#header",i).html("<b>Please fix the issue(s) below and submit again:<\/b><\/span>"));n("#errors",i).html(r||f.message);n("#alertclose",i).click(function(n){n.preventDefault();e()});f.closeTimeout>0&&setTimeout(e,f.closeTimeout)}function e(){n(i).fadeOut()}function s(){n(i).hide()}var f=n.extend({resultStatus:"success",message:"You have successfully saved changes.",closeTimeout:0},u);return o(),{close:e,hide:s}};n.fn.validationSummary=function(t,r){return new i(n(this),t,r)}}(jQuery)