var _totalFees = 0, _arr_fees = [], _ownerrate = 0, _loanrate = 0, _additionalrate = 0, _simult = 0, _refinance = 0, _cldrate = 0, _min = 0, _max = 999999; $(document).ready(function() { $("#worksheet legend:first,#options legend:first").hide(); $("input[type='text']").width("7em"); $("#worksheet ul, #options").hide(); $("input[type=checkbox]").live("click", function() { var a = $("label[for=" + $(this).attr("id") + "]"); if (a != null) $(this).is(":checked") ? a.addClass("selected") : a.removeClass("selected") }); $("input[type=radio]").live("click", function() { var a = $("label[for=" + $(this).attr("id") + "]"); if (a != null) if ($(this).is(":checked")) { a.siblings().removeClass("selected"); a.addClass("selected") } }); loadFees(); $("input[name='underwriter']").live("click", function() { $("form.cmxform fieldset p.warning:first").text(""); getRate() }); $("#PurchasePriceText,#MortgageAmountText").keyup(function(a) { a.which == 13 && getRate() }); $("input[name='CLDAmountText']").blur(function() { getCLDRate() }); $(".fees li input[type='text']").blur(function() { calculateFees() }); $("#type_purch,#type_refi").live("click", function() { if ($("input[name='underwriter']").is(":checked") == false) { $("form.cmxform fieldset p.warning:first").text("You must first select an underwriter"); doReset(true); return false } var a = "#options,#worksheet ul,", b = ","; if ($(this).attr("id") == "type_purch") { b += ".refinance"; a += "#purchaseprice,.purchase:not('.mortgageonly')" } else { b += "#purchaseprice,.purchase"; a += "#options,.refinance" } $(".buttons,").show(); $(b).fadeOut(); $(a).fadeIn(); doReset(false); getRate(); return true }); $("#ClosingCheckbox").click(function() { $("#wire,#recording").toggle(); $("#payoffs,#ccpayoffs").hide(); $("#type_refi").is(":checked") && $("#ClosingCheckbox").is(":checked") && $("#payoffs,#ccpayoffs").show(); calculateFees(); return true }); $('input[name="MHEndorsementCheckbox"]').click(function() { $("#uccsearches,#surrender").toggle(); calculateFees(); return true }); $('input[name="UCCSearchesCheckbox"],input[name="SurrenderCheckbox"]').click(function() { calculateFees(); return true }); $("#CLDCheckbox").click(function() { $("#CLDCheckbox").is(":checked") ? $(":input[name=CLDAmountText],#CLDAmountLabel").show() : $(":input[name=CLDAmountText],#CLDAmountLabel").hide(); getCLDRate(); return true }); $("#calculate,.fees li :input").bind("click", function() { calculateFees() }); $("#PurchasePriceText,#MortgageAmountText,:input[name=CLDAmountText]").blur(function() { $("form.cmxform fieldset p.warning:first").text(""); $(this).formatCurrency({ negativeFormat: "-%s%n", roundToDecimalPlace: 0 }); getRate() }).keyup(function(a) { a = window.event || a; var b = a.charCode || a.keyCode; if (a !== undefined) switch (b) { case 27: this.value = ""; break; case 37: break; case 38: break; case 39: break; case 40: break; case 45: break; case 78: break; case 110: break; case 190: break; default: $(this).formatCurrency({ colorize: true, negativeFormat: "-%s%n", roundToDecimalPlace: -1, eventOnDecimalsEntered: true }) } }).bind("decimalsEntered", function() { $("form.cmxform fieldset p.warning:first").text("Please do not enter any cents") }); doReset(true) }); var serviceUrl = "GCACalc.svc/", proxy = new ServiceProxy(serviceUrl); function onPageError(a) { $("form.cmxform fieldset p.warning:first").text("An error occurred:\r\n" + a.Message) } function loadFees() { proxy.invoke("GetFeesAll", null, function(a) { $.each(a, function() { _arr_fees[this.Company + this.Service] = this }) }, onPageError) } function getFee(a, b) { return b === undefined ? _arr_fees["*" + a].Amount : _arr_fees[b + a].Amount } function getRate() { var a = $("input[name='underwriter']:checked").val(), b = $("input[name='type']:checked").val(), c = $("input[name='PurchasePriceText']").asNumber({ parseType: "int" }), d = $("input[name='MortgageAmountText']").asNumber({ parseType: "int" }); _additionalrate = _simult = _loanrate = _ownerrate = _refinance = 0; $(".warning").text(""); if (d > _max || b == "purchase" && c > _max) { $("form.cmxform fieldset p.warning:first").text("For amounts of $1,000,000 or greater, please contact our office by calling 1-651-388-8891"); resetFees(); return false } if (b == "refinance") if (d != null && d >= _min && d <= _max) { a = { company: a, type: b, price: d }; proxy.invoke("GetRate", a, function(e) { _refinance = e; calculateFees() }, onPageError) } else alert("Unable to get rates, input out of acceptable range."); else if (b == "purchase") if (d != null && c != null) { a = { company: a, types: ["mortgageamount", "purchaseprice"], prices: [d, c] }; proxy.invoke("GetRates", a, function(e) { $.each(e, function() { if (this.Type == "mortgageamount") _loanrate = this.LoanRate; else if (this.Type = "purchaseprice") { _ownerrate = this.OwnerRate; _additionalrate = this.LoanRate; _simult = this.SimultRate } }); calculateFees() }, onPageError) } } function getCLDRate() { var a = $("input[name='CLDAmountText']").asNumber({ parseType: "int" }); _cldrate = 0; a != null && a > 0 && proxy.invoke("GetConstructionLoanDispursementRate", { amount: a }, function(b) { _cldrate = b; calculateFees() }, onPageError) } function doReset(a) { if (a == true) { $("input[type=radio]").attr("checked", false); $(":input[type='text']").val(""); $(".refinance,.purchase").hide() } $("input[type=checkbox]").attr("checked", false); $("li.addon,").hide(); $("li.addon :input[type=text],:input[name=CLDAmountText]").val(""); $(":input[name=CLDAmountText],#CLDAmountLabel").hide(); calculateFees() } function resetFees() { $(".feeamount").text(""); $(".leader").removeClass("leader"); _totalFees = 0; $("#total").text(_totalFees).formatCurrency() } function calculateFees() { var a = 0; resetFees(); var b = $("input[name='underwriter']:checked").val(), c = $("input[name='type']:checked").val(), d = $("input[name='PurchasePriceText']").asNumber({ parseType: "int" }), e = $("input[name='MortgageAmountText']").asNumber({ parseType: "int" }); if (c != null) { a += getFee("titleexam"); $("#titleexam_cost").text(getFee("titleexam")).formatCurrency(); $("#titleexam, #titleexam > *").addClass("leader"); $("#ownerspolicy_cost").addClass("feeexclude"); $("#ownerspolicy_cost + span").show(); if (c == "purchase") { switch (true) { case d != null && e != null && e > d && e > 0 && d > 0: d = _ownerrate + _simult + (_loanrate - _additionalrate) - _loanrate; a += _loanrate; $("#ownerspolicy,#lenderspremium,#lenderspremium > *,#ownerspolicy > *").addClass("leader"); $("#lenderspremium_cost").text(_loanrate).formatCurrency(); $("#ownerspolicy_cost").text(Math.abs(d).toString()).formatCurrency(); break; case d != null && d > 0 && e != null && e > 0: a += _loanrate; $("#ownerspolicy,#lenderspremium,#lenderspremium > *,#ownerspolicy > *").addClass("leader"); $("#lenderspremium_cost").text(_loanrate).formatCurrency(); $("#ownerspolicy_cost").text(Math.abs(_ownerrate + _simult - _loanrate).toString()).formatCurrency(); break; case d != null && d > 0: a += _ownerrate; $("#ownerspolicy, #ownerspolicy > *").addClass("leader"); $("#ownerspolicy_cost").removeClass("feeexclude"); $("#ownerspolicy_cost + span").hide(); $("#ownerspolicy_cost").text(_ownerrate).formatCurrency(); break; case e != null && e > 0: a += _loanrate; $("#lenderspremium, #lenderspremium > *").addClass("leader"); $("#lenderspremium_cost").text(_loanrate).formatCurrency(); break } if (e != null && e > 0) { a += getFee("namesearch"); $("#namesearch, #namesearch > *").addClass("leader"); $("#namesearch_cost").text(getFee("namesearch")).formatCurrency(); $(".mortgageonly").show() } else { $("#namesearch, #namesearch > *").removeClass("leader"); $("#namesearch_cost").text(""); $(".mortgageonly").hide() } } else if (c == "refinance") { a += getFee("abstracting"); $("#abstracting, #abstracting > *").addClass("leader"); $("#abstracting_cost").text(getFee("abstracting")).formatCurrency(); if (e != null && e > 0) { a += _refinance; $("#lenderspremium, #lenderspremium > *").addClass("leader"); $("#lenderspremium_cost").text(_refinance).formatCurrency() } } } if ($("input[name=ClosingCheckbox]").is(":checked")) { $("#closing_fee").text(getFee("closing")).formatCurrency(); $("#closing, #closing > *").addClass("leader"); $("#wire_fee").text(getFee("wirecourier")).formatCurrency(); $("#wire, #wire > *").addClass("leader"); $("#recording_fee").text(getFee("recording")).formatCurrency(); $("#recording, #recording > *").addClass("leader"); a += getFee("closing") + getFee("wirecourier") + getFee("recording"); if (c == "refinance") { c = $("#payoffs input[type='text']").val(); if (c != null && c > 0) { a += getFee("wire") * c; $("#payoffs, #payoffs > *").addClass("leader"); $("#payoff_fee").text((getFee("wire") * c).toString()).formatCurrency() } c = $("#ccpayoffs input[type='text']").val(); if (c != null && c > 0) { a += getFee("creditcardpayoff") * c; $("#ccpayoffs, #ccpayoffs > *").addClass("leader"); $("#ccpayoff_fee").text((getFee("creditcardpayoff") * c).toString()).formatCurrency() } } } if ($("input[name=PlatDrawingCheckbox]").is(":checked")) { a += getFee("platdrawing"); $("#platdrawing, #platdrawing > *").addClass("leader"); $("#platdrawing_fee").text(getFee("platdrawing")).formatCurrency() } if ($("input[name=PriorityPicsCheckbox]").is(":checked")) { a += getFee("prioritypictures"); $("#prioritypictures, #prioritypictures > *").addClass("leader"); $("#prioritypics_fee").text(getFee("prioritypictures")).formatCurrency() } if ($("input[name=ARMCheckbox]").is(":checked")) { a += getFee("armendorsement", b); $("#armendorsement, #armendorsement > *").addClass("leader"); $("#arm_fee").text(getFee("armendorsement", b)).formatCurrency() } if ($("input[name=MHEndorsementCheckbox]").is(":checked")) { a += getFee("manufacturedhomeendorsement"); $("#manufacturedhomeendorsement, #manufacturedhomeendorsement > *").addClass("leader"); $("#mhendorsement_fee").text(getFee("manufacturedhomeendorsement")).formatCurrency(); a += getFee("uccsearches"); $("#uccsearches, #uccsearches > *").addClass("leader"); $("#uccsearches_fee").text(getFee("uccsearches")).formatCurrency(); if ($("input[name=SurrenderCheckbox]").is(":checked")) { a += getFee("surrender"); $("#surrender, #surrender > *").addClass("leader"); $("#surrender_fee").text(getFee("surrender")).formatCurrency() } } if ($("input[name=NAEndorsementCheckbox]").is(":checked")) { a += getFee("negativeamortizationendorsement", b); $("#negativeamortizationendorsement, #negativeamortizationendorsement > *").addClass("leader"); $("#naendorsement_fee").text(getFee("negativeamortizationendorsement", b)).formatCurrency() } if ($("input[name='CLDCheckbox']").is(":checked")) { a += _cldrate; $("#cld, #cld > *").addClass("leader"); $("#cld_fee").text(_cldrate).formatCurrency() } if ($("input[name=SASCheckbox]").is(":checked")) { a += getFee("specialassessmentsearch"); $("#specialassessmentsearch, #specialassessmentsearch> *").addClass("leader"); $("#sas_fee").text(getFee("specialassessmentsearch")).formatCurrency() } _totalFees = a; $("#totals, #totals> *").addClass("leader"); $("#total").text(_totalFees).formatCurrency() };