/* Minification failed. Returning unminified contents.
(64,14-15): run-time error JS1014: Invalid character: `
(64,23-26): run-time error JS1193: Expected ',' or ')': for
(64,27-35): run-time error JS1005: Expected '(': currency
(64,36-37): run-time error JS1010: Expected identifier: .
(64,38-39): run-time error JS1014: Invalid character: `
(64,39-40): run-time error JS1010: Expected identifier: )
(68,1-2): run-time error JS1002: Syntax error: }
(70,107-108): run-time error JS1004: Expected ';': {
(78,2-3): run-time error JS1195: Expected expression: )
(80,87-88): run-time error JS1004: Expected ';': {
(86,2-3): run-time error JS1195: Expected expression: )
(88,103-104): run-time error JS1004: Expected ';': {
(93,2-3): run-time error JS1195: Expected expression: )
(95,65-66): run-time error JS1004: Expected ';': {
(102,2-3): run-time error JS1195: Expected expression: )
(104,44-52): run-time error JS1197: Too many errors. The file might not be a JavaScript file: function
(101,2-13): run-time error JS1018: 'return' statement outside of function: return true
(98,3-36): run-time error JS1018: 'return' statement outside of function: return app.emailRegex.test(value)
(92,5-75): run-time error JS1018: 'return' statement outside of function: return valueEnsureNoDollarSign && valueEnsureNoDollarSign <= compareTo
(85,2-14): run-time error JS1018: 'return' statement outside of function: return false
(83,3-14): run-time error JS1018: 'return' statement outside of function: return true
(77,5-17): run-time error JS1018: 'return' statement outside of function: return false
(74,9-20): run-time error JS1018: 'return' statement outside of function: return true
(67,2-42): run-time error JS1018: 'return' statement outside of function: return this.optional(element) || isValid
 */
jQuery.validator.addMethod("customEqual", function (value, element, params) {
	var first = $(element).val().replace(/([!"#$%&'()*+,./:;<=>?@\[\\\]^`{|}~])/g, "\\$1");
	var second = $(params).val().replace(/([!"#$%&'()*+,./:;<=>?@\[\\\]^`{|}~])/g, "\\$1");
	return (first === second);
});

jQuery.validator.addMethod("customUniquePremise", function (value, element, formId) {
	const formInputs = $('form' + formId + ' :input[type=hidden]');

	if (element.value === '') {
		return true;
	}

	for (let i = 0; i < formInputs.length; i++) {
		const fi = formInputs[i];
		if (fi.id === element.id){
			continue;
		}
		if (fi.value === element.value) {

			return false;
		}
	}
	return true;

});

jQuery.validator.addMethod("customListRequired", function (value, element, formId) {
	return element.value.length > 0;
});

jQuery.validator.addMethod("customRequiredObject", function (value, element, formId) {
	return element.data !== undefined;
});

jQuery.validator.addMethod("oneortheother", function (value, element) {
	var $element = $(element);
	var otherSelector = $element.attr('data-rule-oneortheother');
	var $other = $(otherSelector);
	return $element.val() != "" || $other.val() != "";
});

jQuery.validator.addMethod("oneofthese", function (value, element, items) {
	var $element = $(element);
	items = JSON.parse(items.replaceAll("'", '"'));
	for(let i = 0; i < items.length; i++){
		if($('#' + items[i]).val() !== "") {
			return true;
		}
	}
	return $element.val() !== "";
});

jQuery.validator.addMethod("currencygreaterthanzero", function (value, element) {
	var valueEnsureNoDollarSign = value.replace(/\$/g, "");

	if (valueEnsureNoDollarSign && valueEnsureNoDollarSign > 0)
		return true;

	return false;
});

jQuery.validator.addMethod("currency-formatted-greater-than-zero", function(value, element) {
	console.log(`logging for currency.. `);
	var amount = parseFloat(value.replace(/[^\.\d]/g, ""));
	var isValid = amount > 0;
	return this.optional(element) || isValid;
});

jQuery.validator.addMethod("currencygreaterthanequaltovalue", function (value, element, compareToElement) {
    var valueEnsureNoDollarSign = value.replace(/\$/g, "");

    if (valueEnsureNoDollarSign && valueEnsureNoDollarSign >= parseFloat(compareToElement)) {
        return true;
    }

    return false;
});

jQuery.validator.addMethod("currencylessthanvalue", function (value, element, params) {
	var valueEnsureNoDollarSign = value.replace(/\$/g, "");
	if (valueEnsureNoDollarSign && valueEnsureNoDollarSign <= params)
		return true;

	return false;
});

jQuery.validator.addMethod("currency-less-than-equal-to", function (value, element, compareToElement) {
    var valueEnsureNoDollarSign = parseFloat(value.replace(/\$/g, ""));
    var compareTo = parseFloat(compareToElement);

    return valueEnsureNoDollarSign && valueEnsureNoDollarSign <= compareTo;
});

jQuery.validator.addMethod("emailNotRequired", function (value) {
	if (value !== "") {
		var isValid = app.emailRegex.test(value);
		return app.emailRegex.test(value);
	};

	return true;
});

jQuery.validator.addMethod("greater-than", function (value, element, compareToElement) {
	var compareTo = $("#" + compareToElement);
	if (parseFloat(compareTo.val()) < parseFloat(value)) {
		return true;
	} else {
		return false;
	}
});

jQuery.validator.addMethod("greater-than-equal-to", function(value, element, compareToElement) {
	var compareTo = $("#" + compareToElement);
	if(parseFloat(compareTo.val()) <= parseFloat(value)) {
		return true;
	} else {
		return false;
	}
});

jQuery.validator.addMethod("less-than", function(value, element, compareToElement) {
	var compareTo = $("#" + compareToElement);
	if(parseFloat(compareTo.val()) > parseFloat(value)) {
		return true;
	} else {
		return false;
	}
});

jQuery.validator.addMethod("lessthan", function (value, element, compareToElement) {
	var compareTo = $("#" + compareToElement);
	if (parseFloat(compareTo.val()) > parseFloat(value)) {
		return true;
	} else {
		return false;
	}
});
jQuery.validator.unobtrusive.adapters.add("lessthan", ["to"], 
	function(options) {
		options.rules["lessthan"] = options.params.to;
		options.messages["lessthan"] = options.message;
	});

/*
	Inside data-bind for the element, make sure to add attr:{balanceDue: Knockout Model value}
	ex: data-bind="value: AmountFormatted, attr: {readonly: AmountIsReadOnly, balanceDue: BalanceDue}"
*/
jQuery.validator.addMethod("currencylessthantentimes", function (value, element) {
	var optionSelected = $(element).attr("optionSelected");

	if (optionSelected === "other") {
		var balanceDue = $(element).attr("balanceDue");
		var maxPayment = parseFloat(balanceDue * 10).toFixed(2);
		var valueNoDollarSign = value.replace(/\$/g, "");
		
		if (balanceDue <= 0)
			return true;

		return valueNoDollarSign < balanceDue * 10;
	}
	
	return true;
});

jQuery.validator.addMethod("giverlessthanmaxamount", function (value, element, compareToElement) {
    var giverTotal = parseFloat($(element).attr("giverTotal"));
    var amountNoDollarSign = parseFloat(value.replace(/\$/g, ""));

    var proposedValue = parseFloat(giverTotal) + parseFloat(amountNoDollarSign);

    return parseFloat(compareToElement) > proposedValue;
});

jQuery.validator.addMethod("receiverlessthanmaxamount", function (value, element, compareToElement) {
    var receiverTotal = parseFloat($(element).attr("recieverTotal"));
    var amountNoDollarSign = parseFloat(value.replace(/\$/g, ""));

    var proposedValue = receiverTotal + amountNoDollarSign;

    return parseFloat(compareToElement) > proposedValue;
});


jQuery.validator.addMethod("dropdownRequired", function (value, element, params) {
	if (element.options.selectedIndex == '0')
		return false;
	else
		return true;
});

jQuery.validator.addMethod("email", function (value, element, params) {
	var regex = /^(?:(?:[\w`~!#$%^&*\-=+;:{}'|,?\/]+(?:(?:\.(?:"(?:\\?[\w`~!#$%^&*\-=+;:{}'|,?\/\.()<>\[\] @]|\\"|\\\\)*"|[\w`~!#$%^&*\-=+;:{}'|,?\/]+))*\.[\w`~!#$%^&*\-=+;:{}'|,?\/]+)?)|(?:"(?:\\?[\w`~!#$%^&*\-=+;:{}'|,?\/\.()<>\[\] @]|\\"|\\\\)+"))@(?:[a-zA-Z\d\-]+(?:\.[a-zA-Z\d\-]+)+|\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\])$/;
	var valid = regex.test(value);
	if (valid)
		return true;
	else
		return false;
});

jQuery.validator.addMethod("oneortheothercheck", function (value, element) {
	var $element = $(element);
	var otherSelector = $element.attr('data-rule-oneortheothercheck');
	var $other = $(otherSelector);
	return $element.val() != "" || $other.val() != "on";
});

jQuery.validator.addMethod("upload-required", function (value, element) {
	var files = $(element).data("kendoUpload").getFiles();

	if (files.length > 0) {
		var file = files[0];
		if (file.validationErrors == undefined) {
			return true;
		}
		else {
		    return false;
		}
	}
	else {
		return files.length === 0 ? false : true;
	}
}, function (params, element) {
	var files = $(element).data("kendoUpload").getFiles();
	if (files.length > 0) {
		if (files[0].validationErrors != undefined) {
			return files[0].validationErrors[0];
		}
	}
	else {
		return "This field is required";
	}
});

//only require the second address if one or more of the fields are already filled out
jQuery.validator.addMethod("second-address-optional", function (value, element) {
	var $element = $(element);
	var allEmpty = $("#secondPreviousAddress1").val() == "" &&
		$("#secondPreviousAddress2").val() == "" &&
		$("#secondPreviousCity").val() == "" &&
		$("#secondPreviousState").val() == "" &&
		$("#secondPreviousZip").val() == "";
	if (allEmpty) {
		return true;
	}
	return $element.val() != "";
});
;
(function ($) {

    $.fn.addTriggersToJqueryValidate = function () {

        // Loop thru the elements that we jQuery validate is attached to
        // and return the loop, so jQuery function chaining will work.
        return this.each(function () {
            var form = $(this);

            // Grab this element's validator object (if it has one)
            var validator = form.data('validator');

            // Only run this code if there's a validator associated with this element
            if (!validator)
                return;

            // Only add these triggers to each element once
            if (form.data('jQueryValidateTriggersAdded'))
                return;
            else
                form.data('jQueryValidateTriggersAdded', true);

            // Override the function that validates the whole form to trigger a 
            // formValidation event and either formValidationSuccess or formValidationError
            var oldForm = validator.form;
            validator.form = function () {
                var result = oldForm.apply(this, arguments);
                var form = this.currentForm;
                $(form).trigger((result == true) ? 'formValidationSuccess' : 'formValidationError', [form]);
                $(form).trigger('formValidation', [form, result]);
                return result;
            };

            // Override the function that validates the whole element to trigger a 
            // elementValidation event and either elementValidationSuccess or elementValidationError
            var oldElement = validator.element;
            validator.element = function (element) {
                var result = oldElement.apply(this, arguments);
                $(element).trigger((result == true) ? 'elementValidationSuccess' : 'elementValidationError', element);
                $(element).trigger('elementValidation', [element, result]);
                return result;
            };
        });
    };

    /* Below here are helper methods for calling .bind() for you */

    $.fn.extend({

        // Wouldn't it be nice if, when the full form's validation runs, it triggers the 
        // element* validation events?  Well, that's what this does!
        //
        // NOTE: This is VERY coupled with jquery.validation.unobtrusive and uses its 
        //       element attributes to figure out which fields use validation and 
        //       whether or not they're currently valid.
        //
        triggerElementValidationsOnFormValidation: function () {
            return this.each(function () {
                $(this).bind('formValidation', function (e, form, result) {
                    $(form).find('*[data-val=true]').each(function (i, field) {
                        if ($(field).hasClass('input-validation-error')) {
                            $(field).trigger('elementValidationError', field);
                            $(field).trigger('elementValidation', [field, false]);
                        } else {
                            $(field).trigger('elementValidationSuccess', field);
                            $(field).trigger('elementValidation', [field, true]);
                        }
                    });
                });
            });
        },

        formValidation: function (fn) {
            return this.each(function () {
                $(this).bind('formValidation', function (e, element, result) { fn(element, result); });
            });
        },

        formValidationSuccess: function (fn) {
            return this.each(function () {
                $(this).bind('formValidationSuccess', function (e, element) { fn(element); });
            });
        },

        formValidationError: function (fn) {
            return this.each(function () {
                $(this).bind('formValidationError', function (e, element) { fn(element); });
            });
        },

        formValidAndInvalid: function (valid, invalid) {
            return this.each(function () {
                $(this).bind('formValidationSuccess', function (e, element) { valid(element); });
                $(this).bind('formValidationError', function (e, element) { invalid(element); });
            });
        },

        elementValidation: function (fn) {
            return this.each(function () {
                $(this).bind('elementValidation', function (e, element, result) { fn(element, result); });
            });
        },

        elementValidationSuccess: function (fn) {
            return this.each(function () {
                $(this).bind('elementValidationSuccess', function (e, element) { fn(element); });
            });
        },

        elementValidationError: function (fn) {
            return this.each(function () {
                $(this).bind('elementValidationError', function (e, element) { fn(element); });
            });
        },

        elementValidAndInvalid: function (valid, invalid) {
            return this.each(function () {
                $(this).bind('elementValidationSuccess', function (e, element) { valid(element); });
                $(this).bind('elementValidationError', function (e, element) { invalid(element); });
            });
        }

    });

})(jQuery);;
(()=>{"use strict";var e,t,r="My Address Is Not Listed",o=function(e,t,r,o,s,i,n){void 0===n&&(n=null),this.allowNotListedOption=e,this.elementId=t,this.loadingElementId=r,this.url=o,this.token=s,this.callback=i,this.keyupCallback=n},s=function(e){this.label=e.toString(),this.value=e.toString(),this.premise=e},i=function(){function e(e){this.id=e.id,this.line1=e.line1,this.line2=e.line2,this.city=e.city,this.state=e.state,this.zip=e.zip,this.servicePoints=e.servicePoints}return e.prototype.toString=function(){return this.line1+(this.line2?", "+this.line2:"")+", "+this.city+", "+this.state+" "+this.zip},e}(),n=function(){function e(){}return e.prototype.init=function(e){var t=this;this.premiseAutoCompleteModel=e,this.validateOptions(this.premiseAutoCompleteModel),this.autoCompleteElement=$(e.elementId),this.loadingElement=$(e.loadingElementId),this.addressNotListedOption=new Option(r,r),this.ajaxOptions={global:!1,headers:{Authorization:"Bearer "+e.token},timeout:1e4},this.autoCompleteElement.autocomplete({minLength:3,delay:250,source:this.autoCompleteAddressSource.bind(this),create:this.autoCompleteAddressCreate.bind(this),select:this.autoCompleteAddressSelect.bind(this)}),this.autoCompleteElement.keyup((function(e){13===e.keyCode?e.preventDefault():t.premiseAutoCompleteModel.keyupCallback&&t.premiseAutoCompleteModel.keyupCallback(t.autoCompleteElement[0].value)})),this.showLoading(!1)},e.prototype.validateOptions=function(e){if(!e.elementId)throw'Cannot instantiate auto complete without "elementId" property';if(!e.url)throw'Cannot instantiate auto complete without "url" property';if(!e.token)throw'Cannot instantiate auto complete without "token" property'},e.prototype.autoCompleteAddressCreate=function(){this.autoCompleteElement.autocomplete("widget").addClass("autocomplete-service-address")},e.prototype.autoCompleteAddressSelect=function(e,t){this.premiseAutoCompleteModel.callback(t.item.premise,t.item.label)},e.prototype.autoCompleteAddressSource=function(e,t){var r=this,o=this.premiseAutoCompleteModel.url;o+=this.premiseAutoCompleteModel.url.indexOf("?")>-1?"&":"?",o+="search="+e.term,this.premiseAutoCompleteModel.allowNotListedOption,this.showLoading(!0),$.ajax(o,this.ajaxOptions).done((function(o){var n=o.results.map((function(e){return new i(e)})).sort((function(t,o){return r.premiseSort(e.term,t,o)})).map((function(e){return new s(e)})),a="service address auto complete got ".concat(n?n.length:"0"," results");window.app.telemetry.fireAIEvent("#autocompleteServiceAddressField results",{searchResultCount:n.length,searchTerm:e.term}),window.app.telemetry.trace(a),r.premiseAutoCompleteModel.allowNotListedOption&&n.unshift(r.addressNotListedOption),t(n)})).fail((function(e){t([r.addressNotListedOption]),console.log(e)})).always((function(){r.showLoading(!1)}))},e.prototype.showLoading=function(e){this.loadingElement&&this.loadingElement[e?"show":"hide"]()},e.prototype.premiseSort=function(e,t,r){var o=t.toString().indexOf(e),s=t.toString().indexOf(e);return o>=0&&s>=0&&o!==s?s-o:t.toString().localeCompare(r.toString())},e}(),a=function(){function e(e,t){void 0===t&&(t="6LfE9-8eAAAAADFSl2WigHkULXybErNsuRws7Cq9"),this.captchaResponse=ko.observable(""),this._elementId=e,this._captchaKey=t}return e.prototype.renderCaptcha=function(){this.grecaptcha&&this._recaptchaLoaded&&this.grecaptcha.render(this._elementId,{sitekey:this._captchaKey,callback:this.captchaCallback.bind(this),"expired-callback":this.captchaExpiredCallback.bind(this)})},e.prototype.recaptchaLoaded=function(e){this._recaptchaLoaded=!0,this.grecaptcha=e,this.renderCaptcha()},e.prototype.captchaCallback=function(e){this.captchaResponse(e)},e.prototype.captchaExpiredCallback=function(){this.captchaResponse("")},e}(),d=(e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},e(t,r)},function(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function o(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(o.prototype=r.prototype,new o)}),l=function(){function e(e){this.landingLanguageText=ko.observable(e.LandingLanguageText),this.yourInformationText=ko.observable(e.YourInformationText),this.serviceAddressesText=ko.observable(e.ServiceAddressesText),this.confirmationText=ko.observable(e.ConfirmationText),this.confirmationTosText=ko.observable(e.ConfirmationTosText),this.pollingText=ko.observable(e.PollingText),this.summaryText=ko.observable(e.SummaryText),this.error12500=ko.observable(e.ErrorModel.Error12500),this.error12501=ko.observable(e.ErrorModel.Error12501),this.error12502=ko.observable(e.ErrorModel.Error12502),this.error12503=ko.observable(e.ErrorModel.Error12503),this.error12504=ko.observable(e.ErrorModel.Error12504),this.error12505=ko.observable(e.ErrorModel.Error12505),this.error12506=ko.observable(e.ErrorModel.Error12506),this.error12507=ko.observable(e.ErrorModel.Error12507),this.error12508=ko.observable(e.ErrorModel.Error12508)}return e.prototype.getErrorMessage=function(e){switch(e){case"12500":return this.error12500();case"12501":return this.error12501();case"12502":return this.error12502();case"12503":return this.error12503();case"12504":return this.error12504();case"12505":return this.error12505();case"12506":return this.error12506();case"12507":return this.error12507();case"12508":return this.error12508();default:return"An error has occured"}},e}(),c=function(){function e(){}return e.prototype.validateForm=function(e){return void 0===e&&(e=!0),e&&(this.form.validate().settings.ignore=[]),this.form.valid()},e.prototype.updateElement=function(e){this.form.validate().settings.ignore=[],this.form.validate().element(e)},e.prototype.reparseForm=function(){this.form.data("unobtrusiveValidation",null),this.form.data("validator",null),$.validator.unobtrusive.parse(this.form)},e}(),p=function(){function e(){this.originalSearch=ko.observable(""),this.premises=ko.observableArray([]),this.selectedPremise=ko.observable()}return e.prototype.fromServerObj=function(e,t){var r=this;return void 0===t&&(t=!0),this.originalSearch(e.originalSearch),this.premises(e.addresses.map((function(e){return(new u).fromServerObj(e)})).sort((function(t,o){return r.premiseSort(e.originalSearch,t.address(),o.address())}))),1===this.premises().length?this.selectedPremise(this.premises()[0]):t&&this.selectedPremise(new u),this},e.prototype.premiseSort=function(e,t,r){var o=t.toString().indexOf(e),s=t.toString().indexOf(e);return o>=0&&s>=0&&o!==s?s-o:t.toString().localeCompare(r.toString())},e}(),u=function(){function e(){this.premiseId=ko.observable(""),this.address=ko.observable(""),this.successfullyAdded=ko.observable(!0)}return e.prototype.fromServerObj=function(e){var t=e.line1+(e.line2?", "+e.line2:"")+", "+e.city+", "+e.state+" "+e.zip;return this.address(t),this.premiseId(e.id),this},e}(),h=function(){function e(){this.submittedAddresses=ko.observableArray([])}return e.prototype.anyFailedProcessed=function(){var e=this;return ko.computed((function(){return!e.submittedAddresses().every((function(e){return e.successfullyAdded()}))}))},e.prototype.failedProcessedCount=function(){return this.submittedAddresses().filter((function(e){return!e.successfullyAdded()})).length},e.prototype.init=function(e){for(var t=0,r=e;t<r.length;t++){var o=r[t],s=new u;s.premiseId(o.PremiseId),s.address(o.Address),s.successfullyAdded(o.SuccessfullyAdded),this.submittedAddresses.push(s)}},e}(),m=function(){function e(){this.processedCount=ko.observable(0),this.totalCount=ko.observable(0)}return e.prototype.initPolling=function(e,t){this.pollingId=e,this.totalCount(t)},e.prototype.getWidthStyle=function(){var e=this;return ko.computed((function(){return(e.processedCount()/e.totalCount()*100).toString()+"%"}))},e.prototype.getCompletedDisplay=function(){var e=this;return ko.computed((function(){return e.processedCount()+" of "+e.totalCount()+" Complete"}))},e}(),f=function(e){function t(){var t=e.call(this)||this;return t.tosAgree=ko.observable(!1),t.dlcCaptcha=new a("cs-summary-recaptcha"),t}return d(t,e),t.prototype.init=function(){this.form=$("#cs-summary-form")},t.prototype.captchaLoaded=function(){this.dlcCaptcha.recaptchaLoaded(grecaptcha)},t.prototype.validateForm=function(e){return void 0===e&&(e=!0),e&&(this.form.validate().settings.ignore=[]),this.form.valid()},t}(c),g=function(e){function t(){var t=e.call(this)||this;return t.successful=ko.observableArray([]),t.conflict=ko.observableArray([]),t.notFound=ko.observableArray([]),t}return d(t,e),t.prototype.init=function(e){this.bulkUrl=e.PremiseBulkSearchUrl+"?type=RES,COM,APARTMNT,IND",this.url=e.PremiseSearchUrl+"?type=RES,COM,APARTMNT,IND",this.token=e.PremiseSearchToken,this.form=$("#cs-service-addresses-review-form")},t.prototype.processBulk=function(e,t){var r=this,o={Addresses:e.split(/\n/).filter((function(e){return""!==e.trim()}))},s={global:!1,data:JSON.stringify(o),type:"POST",headers:{Authorization:"Bearer "+this.token}};$.ajax(this.bulkUrl,s).done((function(e){r.processResults(e),t()})).fail((function(e){}))},t.prototype.processResults=function(e){var t=e.map((function(e){return(new p).fromServerObj(e)})).filter((function(e){return 1===e.premises().length})),r=e.map((function(e){return(new p).fromServerObj(e,!1)})).filter((function(e){return e.premises().length>1})),o=e.map((function(e){return(new p).fromServerObj(e)})).filter((function(e){return 0===e.premises().length}));if(this.successful(t),this.conflict(r),this.notFound(o),this.conflict().length>0||this.notFound().length>0){for(var s=0;s<this.notFound().length;s++)this.createSearch(s);this.reparseForm()}},t.prototype.createSearch=function(e){var t=this,r=new n,s=new o(!1,"#cs-review-premise-"+e,"#cs-autocomplete-review-spinner",this.url,this.token,(function(r){return t.selectPremise(e,r)}));r.init(s)},t.prototype.selectPremise=function(e,t){this.notFound()[e].selectedPremise().premiseId(t.id),this.notFound()[e].selectedPremise().address(t.toString()),this.updateElement("#cs-review-secret-premise-"+e)},t.prototype.updateConflictValidation=function(e,t,r){r.target.data=null==t?void 0:t.selectedPremise(),this.updateElement("#cs-conflict-address-"+e)},t.prototype.deleteSuccess=function(e){this.successful.splice(e,1)},t.prototype.deleteConflict=function(e){this.conflict.splice(e,1)},t.prototype.deleteNotFound=function(e){this.notFound.splice(e,1)},t.prototype.getAddresses=function(){return this.successful().concat(this.notFound()).concat(this.conflict()).map((function(e){return e.selectedPremise()})).filter((function(e,t,r){return r.map((function(e){return e.premiseId()})).indexOf(e.premiseId())==t}))},t}(c),v=function(e){function t(){var t=e.call(this)||this;return t._maxAddressCount=15,t.addresses=ko.observableArray([]),t.bulkAddresses=ko.observable(""),t.isSingleUpload=ko.observable(!0),t.showBulkUploader=ko.observable(!0),t.canUploadAddress=ko.observable(!0),t}return d(t,e),t.prototype.init=function(e){this.singleForm=$("#cs-service-addresses-form"),this.bulkForm=$("#cs-service-addresses-bulk-form"),this.url=e.PremiseSearchUrl+"?type=RES,COM,APARTMNT,IND",this.token=e.PremiseSearchToken},t.prototype.updateAddressUploadType=function(e){this.isSingleUpload(e)},t.prototype.canRemoveAddress=function(){var e=this;return ko.computed((function(){return e.addresses().length>1}))},t.prototype.addAddress=function(){this.addresses.push(new u),this.addAutocompleteAddress(this.addresses().length-1),this.canUploadAddress(this.addresses().length<this._maxAddressCount)},t.prototype.addAutocompleteAddress=function(e){var t=this,r=new n,s=new o(!1,"#cs-premise-"+e,"#cs-autocomplete-spinner",this.url,this.token,(function(r){return t.selectPremise(e,r)}));r.init(s)},t.prototype.selectPremise=function(e,t){this.addresses()[e].premiseId(t.id),this.addresses()[e].address(t.toString()),this.validateForm(),$("#cs-premise-"+e).prop("disabled",!0)},t.prototype.removeAddressAtPosition=function(e){e<0&&e>this.addresses.length?console.log("Cannot remove address at position: "+e):(this.addresses.splice(e,1),this.validateForm(),0===this.addresses().length&&this.addAddress(),this.canUploadAddress(this.addresses().length<this._maxAddressCount))},t.prototype.validateForm=function(){return this.isSingleUpload()?(this.singleForm.validate().settings.ignore=[],this.singleForm.valid()):this.bulkForm.valid()},t.prototype.disableBulkUpload=function(){this.isSingleUpload(!0),this.showBulkUploader(!1)},t.prototype.setBulkUploadAddresses=function(e){this.addresses([]),this.addresses(e);for(var t=0;t<e.length;t++)$("#cs-premise-"+t).prop("disabled",!0)},t}(c),y=function(e){function t(){var t=e.call(this)||this;return t.landlordFirstName=ko.observable(),t.landlordLastName=ko.observable(),t.identifier=ko.observable(""),t.identifierType=ko.observable("ssn"),t.phoneNumber=ko.observable(),t.email=ko.observable(),t.address=ko.observable(),t.city=ko.observable(),t.state=ko.observable(),t.zipcode=ko.observable(),t.accountId=ko.observable(""),t.identifierType.subscribe(t.updateMasking.bind(t)),t.state.subscribe((function(){t.updateElement("#cs-state")})),t}return d(t,e),t.prototype.init=function(){this.form=$("#cs-landlord-information-form"),this.setIdentifierMasking(!1),this.setPhoneNumberMasking(),this.setAccountNumberMasking()},t.prototype.displayName=function(){var e=this;return ko.computed((function(){return"ssn"===e.identifierType()?e.landlordFirstName()+" "+e.landlordLastName():e.landlordLastName()}))},t.prototype.displayIdentifier=function(){var e=this;return ko.computed((function(){var t="ssn"===e.identifierType()?7:6;return e.identifier().length<10?"":e.identifierType().toUpperCase()+": "+e.maskString(e.identifier(),t,"*")}))},t.prototype.maskString=function(e,t,r){return e.substring(0,t).replace(/[0-9]/g,r).concat(e.substring(t,e.length))},t.prototype.isIdentifierTypePersonal=function(){var e=this;return ko.computed((function(){return"ssn"===e.identifierType()}))},t.prototype.isIdentifierTypeBusiness=function(){var e=this;return ko.computed((function(){return"ein"===e.identifierType()}))},t.prototype.displayAddress=function(){var e=this;return ko.computed((function(){return e.address()+", "+e.city()+" "+e.state()+" "+e.zipcode()}))},t.prototype.displayAccount=function(){var e=this;return ko.computed((function(){return"Account ID: "+e.accountId()}))},t.prototype.setPhoneNumberMasking=function(){$("#cs-phone-number").mask("(000) 000-0000")},t.prototype.setAccountNumberMasking=function(){$("#cs-account-id").mask("0000-000-000")},t.prototype.updateMasking=function(){this.setIdentifierMasking(),this.landlordFirstName(""),this.landlordLastName("")},t.prototype.setIdentifierMasking=function(e){void 0===e&&(e=!0);var t=$("#cs-identifier"),r=0;"ein"===this.identifierType()?(t.mask("00-0000000"),r=10):(t.mask("000-00-0000"),r=11),this.identifier(t.val()),e&&this.updateIdentifierRules(t,r)},t.prototype.updateIdentifierRules=function(e,t){e.rules().minlength!==t&&(e.rules("remove","min"),e.rules("add",{minlength:t}))},t}(c);!function(e){e[e.PersonalInformation=1]="PersonalInformation",e[e.AddressUploader=2]="AddressUploader",e[e.AddressReview=3]="AddressReview",e[e.Summary=4]="Summary",e[e.Polling=5]="Polling",e[e.Confirmation=6]="Confirmation",e[e.ErrorPage=7]="ErrorPage"}(t||(t={}));var b=function(){function e(){this.pagesEnum=t,this.currentStep=ko.observable(1)}return e.prototype.isOnStep=function(e){var t=this;return ko.computed((function(){return e===t.currentStep()}))},e.prototype.nextStep=function(){this.currentStep(this.currentStep()+1)},e.prototype.previousStep=function(){this.currentStep(this.currentStep()-1)},e.prototype.goToStep=function(e){this.currentStep(e)},e}(),A=function(){function e(){var e=this;this.gaEvent=new app.telemetry.event("Continuance Service"),this.stepperService=new b,this.landlordInformationModel=new y,this.serviceAddressesModel=new v,this.serviceAddressReviewModel=new g,this.summaryModel=new f,this.pollingModel=new m,this.reviewModel=new h,this.errorMessage=ko.observable(""),this.hasTriedToSubmit=ko.observable(!1),this.showCaptchaError=ko.computed((function(){return e.hasTriedToSubmit()&&!e.summaryModel.dlcCaptcha.captchaResponse()})),this.gaAddressUploader=!1,this.gaAddressReview=!1,this.gaSummary=!1,this.gaPolling=!1,this.gaConfirmation=!1}return e.prototype.init=function(e){(function(e,t,r){if(r||2===arguments.length)for(var o,s=0,i=t.length;s<i;s++)!o&&s in t||(o||(o=Array.prototype.slice.call(t,0,s)),o[s]=t[s]);return e.concat(o||Array.prototype.slice.call(t))})([],document.querySelectorAll('[data-bs-toggle="tooltip"]'),!0).map((function(e){return new bootstrap.Tooltip(e)})),this.displayTextModel=new l(e),this.landlordInformationModel.init(),this.serviceAddressesModel.init(e),this.serviceAddressReviewModel.init(e),this.summaryModel.init(),this.accountId=e.AccountId,this.personId=e.PersonId,this.googleAnalyticView(this.stepperService.pagesEnum.PersonalInformation)},e.prototype.previousStep=function(){this.stepperService.previousStep()},e.prototype.continueToAddress=function(){this.landlordInformationModel.validateForm()&&(this.stepperService.goToStep(this.stepperService.pagesEnum.AddressUploader),this.gaAddressUploader||(this.gaAddressUploader=!0,this.googleAnalyticView(this.stepperService.pagesEnum.AddressUploader)),0===this.serviceAddressesModel.addresses().length&&this.serviceAddressesModel.addAddress())},e.prototype.continueFromAddress=function(){this.serviceAddressesModel.validateForm()&&(this.serviceAddressesModel.isSingleUpload()?(this.stepperService.goToStep(this.stepperService.pagesEnum.Summary),this.gaSummary||(this.gaSummary=!0,this.googleAnalyticView(this.stepperService.pagesEnum.Summary)),this.serviceAddressesModel.disableBulkUpload()):this.serviceAddressReviewModel.processBulk(this.serviceAddressesModel.bulkAddresses(),this.navigateFromBulkUpload.bind(this)))},e.prototype.continueSummary=function(){this.serviceAddressesModel.validateForm()&&(this.stepperService.nextStep(),this.gaSummary||(this.gaSummary=!0,this.googleAnalyticView(this.stepperService.pagesEnum.Summary)),this.serviceAddressesModel.disableBulkUpload())},e.prototype.continueFromAddressReview=function(){this.serviceAddressReviewModel.validateForm()&&(this.serviceAddressesModel.setBulkUploadAddresses(this.serviceAddressReviewModel.getAddresses()),this.stepperService.goToStep(this.stepperService.pagesEnum.Summary),this.gaSummary||(this.gaSummary=!0,this.googleAnalyticView(this.stepperService.pagesEnum.Summary)),this.serviceAddressesModel.disableBulkUpload())},e.prototype.navigateFromBulkUpload=function(){this.serviceAddressReviewModel.conflict().length>0||this.serviceAddressReviewModel.notFound().length>0?(this.stepperService.goToStep(this.stepperService.pagesEnum.AddressReview),this.gaAddressReview||(this.gaAddressReview=!0,this.googleAnalyticView(this.stepperService.pagesEnum.AddressReview))):(this.serviceAddressesModel.setBulkUploadAddresses(this.serviceAddressReviewModel.getAddresses()),this.stepperService.goToStep(this.stepperService.pagesEnum.Summary),this.gaSummary||(this.gaSummary=!0,this.googleAnalyticView(this.stepperService.pagesEnum.Summary)),this.serviceAddressesModel.disableBulkUpload())},e.prototype.navigateBackToAddressUpload=function(){this.stepperService.goToStep(this.stepperService.pagesEnum.AddressUploader)},e.prototype.goBackFromAddressReview=function(){$("#cs-back-review-modal").modal("show")},e.prototype.submit=function(){var e=this;this.hasTriedToSubmit(!0),this.summaryModel.validateForm()&&this.summaryModel.dlcCaptcha.captchaResponse&&(this.googleAnalyticSubmit(this.stepperService.pagesEnum.Summary),$.ajax({url:"/continuanceService/submit",type:"POST",cache:!1,dataType:"JSON",data:this.formatSubmitData(),success:function(t){if(t){if(t.ErrorCode)return e.googleAnalyticFailure(e.stepperService.pagesEnum.ErrorPage),void e.openErrorModal(t.ErrorCode);e.googleAnalyticSuccess(e.stepperService.pagesEnum.Summary),e.stepperService.goToStep(e.stepperService.pagesEnum.Polling),e.gaPolling||(e.gaPolling=!0,e.googleAnalyticView(e.stepperService.pagesEnum.Polling)),e.pollingModel.initPolling(t.RequestInstanceId,e.serviceAddressesModel.addresses().length),e.poll()}}}))},e.prototype.poll=function(){var e=this;$.ajax({url:"/continuanceService/poll/"+this.pollingModel.pollingId,type:"GET",cache:!1,global:!1,dataType:"JSON",success:function(t){t&&(e.pollingModel.processedCount(t.Result.Processed),e.pollingModel.processedCount()===e.pollingModel.totalCount()?e.getResults():setTimeout(function(){this.poll()}.bind(e),500))}})},e.prototype.getResults=function(){var e=this;$.ajax({url:"/continuanceService/results",type:"POST",cache:!1,global:!1,dataType:"JSON",data:this.formatResultData(),success:function(t){t&&(e.googleAnalyticSuccess(e.stepperService.pagesEnum.Confirmation),e.stepperService.goToStep(e.stepperService.pagesEnum.Confirmation),e.gaConfirmation||(e.gaConfirmation=!0,e.googleAnalyticView(e.stepperService.pagesEnum.Confirmation)),e.reviewModel.init(t))}})},e.prototype.formatSubmitData=function(){return{LandlordFirstName:this.landlordInformationModel.landlordFirstName(),LandlordLastName:this.landlordInformationModel.landlordLastName(),IdentifierType:this.landlordInformationModel.identifierType(),Identifier:this.landlordInformationModel.identifier(),PhoneNumber:this.landlordInformationModel.phoneNumber(),Email:this.landlordInformationModel.email(),Address:this.landlordInformationModel.address(),City:this.landlordInformationModel.city(),State:this.landlordInformationModel.state(),Zipcode:this.landlordInformationModel.zipcode(),AccountId:this.landlordInformationModel.accountId(),Addresses:this.serviceAddressesModel.addresses().map((function(e){return{PremiseId:e.premiseId(),Address:e.address()}}))}},e.prototype.formatResultData=function(){return{RequestInstanceId:this.pollingModel.pollingId,Addresses:this.serviceAddressesModel.addresses().map((function(e){return{PremiseId:e.premiseId(),Address:e.address()}}))}},e.prototype.openErrorModal=function(e){this.errorMessage(this.displayTextModel.getErrorMessage(e)),$("#cs-submit-error-modal").modal("show")},e.prototype.closeErrorModal=function(){$("#cs-submit-error-modal").modal("hide")},e.prototype.googleAnalyticView=function(e){this.gaEvent.view(this.generateGoogleAnalyticData(e))},e.prototype.googleAnalyticSubmit=function(e){this.gaEvent.submit(this.generateGoogleAnalyticData(e))},e.prototype.googleAnalyticSuccess=function(e){e!==this.stepperService.pagesEnum.Confirmation?this.gaEvent.success(this.generateGoogleAnalyticData(e)):this.gaEvent.success(this.generateGoogleAnalyticFullData(e))},e.prototype.googleAnalyticFailure=function(e){this.gaEvent.failure(this.generateGoogleAnalyticData(e))},e.prototype.generateGoogleAnalyticData=function(e){return{step:this.stepperService.pagesEnum[e],accountId:this.accountId,personId:this.personId}},e.prototype.generateGoogleAnalyticFullData=function(e){return{step:this.stepperService.pagesEnum[e],accountId:this.accountId,personId:this.personId,addressAddedCount:this.serviceAddressesModel.addresses().length,failedSubmissionCount:this.reviewModel.failedProcessedCount()}},e.prototype.captchaLoaded=function(){this.summaryModel.captchaLoaded()},e.prototype.closeReviewModal=function(){$("#cs-back-review-modal").modal("hide")},e.prototype.continueBackModal=function(){$("#cs-back-review-modal").modal("hide"),this.stepperService.goToStep(this.stepperService.pagesEnum.AddressUploader)},e}();window.app.continuanceService=window.app.continuanceService||new A})();;