(function(){$.fn.csMortgagePanel=$.csMortgagePanel=function(h){var b=null;var d="csMortgagePanelOptions";var a={init:function(i){return this.each(function(){var k=this;var l=$(this);e.loadOptions.call(this,i);var j=function(){$("#csTabMortgage","#csMortgageInfoWindow").click(function(){if(!e.isTabSelected("csTabMortgage")){e.openMortgageCalculator(j)}return false});$("#csTabPrequalifier","#csMortgageInfoWindow").click(function(){if(!e.isTabSelected("csTabPrequalifier")){e.openPrequalifier(j)}return false})};if(i.activeTabId=="csTabMortgage"){e.openMortgageCalculator(j,true)}else{if(i.activeTabId=="csTabPrequalifier"){e.openPrequalifier(j,true)}}l.data(d,i);return false})}};var f={};var e={openMortgageCalculator:function(j,k){var i="bust";if(k===true){i="log"}$.clickSoldUtils("infoBoxCreate",{href:b.ajaxTarget+"?pathway=537&loadMortgageCalculator=true&listPrice="+b.listPrice+"&propTax="+b.tax+"&conFees="+b.cFees+"&listingNumber="+b.listingNumber+"&modletId="+b.modletId,cb_his_control:i,onComplete:function(){e.selectTab("#csTabMortgage");$("#csMortgageCalculator","#csMortgageInfoWindow").MortgageCalc("init",b.region);if(j!=null&&typeof j=="function"){j()}$.clickSoldUtils("infoBoxResize")},onClosed:function(){}});return false},openPrequalifier:function(j,k){var i="bust";if(k===true){i="log"}$.clickSoldUtils("infoBoxCreate",{href:b.ajaxTarget+"?pathway=537&loadPrequalifier=true&propTax="+b.tax+"&conFees="+b.cFees+"&listingNumber="+b.listingNumber+"&modletId="+b.modletId,cb_his_control:i,onComplete:function(){e.selectTab("#csTabPrequalifier");if(j!=null&&typeof j=="function"){j()}$("label[for='bankruptcy']").parents("div.cs-input-small").removeClass("cs-input-small");$.clickSoldUtils("infoBoxResize")},onClosed:function(){}});return false},selectTab:function(i){$(".cs-tabs-tab-active","#csMortgageInfoWindow").addClass("cs-tabs-tab").removeClass("cs-tabs-tab-active");$(i,"#csMortgageInfoWindow").parent().addClass("cs-tabs-tab-active").removeClass("cs-tabs-tab")},isTabSelected:function(i){if(i==$(".cs-tabs-tab-active","#csMortgageInfoWindow").children("a").attr("id")){return true}else{return false}},loadOptions:function(j){var i=this;var k=$(this);if(b==null){b=k.data(d);if(b==null){b={}}if(j!=null){if(!j){return false}$.extend(b,j)}}}};var g={};try{if(a[h]){return a[h].apply(this,Array.prototype.slice.call(arguments,1))}else{if(f[h]){return f[h].apply(this,Array.prototype.slice.call(arguments,1))}else{if(typeof h==="object"){return a.init.apply(this,arguments)}else{alert("Error! Method does not exist: "+h);$.error("Method "+h+" doesn't exist on jQuery.csMortgagePanel")}}}}catch(c){alert("$.fn.csMortgagePanel - error\n"+c.name+" - "+c.message)}};$.fn.MortgageCalc=function(a,k){var b=0;var n=0;var j;var m;var i;var l;var g;var f;var h=null;var e=null;var d={init:function(o){return this.each(function(){var p=o;$("#downPay").val((c.readFormattedValue($("#downPay_perc").val())*c.readFormattedValue($("#listPrice").val()))/100);c.calculate(p);$("#listPrice, #utilities, #propTax, #conFees, #amort, #intRate, #payFreq").change(function(){c.calculate(p)});$("#downPay").change(function(){var q=c.readFormattedValue($("#downPay").val())/c.readFormattedValue($("#listPrice").val())*100;q=q.toFixed(0);$("#downPay_perc").append('<option value="'+q+'">'+q+"</option>").val(q);c.calculate(p)});$("#downPay_perc").change(function(){$("#downPay").val((c.readFormattedValue($("#downPay_perc").val())*c.readFormattedValue($("#listPrice").val()))/100);c.calculate(p)});$("#amort_years").change(function(){$("#amort").val($("#amort_years").val());c.calculate(p)})})}};var c={readFormattedValue:function(o){return o.replace(/[^\d^\.]/g,"")},calculate:function(p){var s=$(this);$("#listPrice").val($.clickSoldUtils("formatAsCurrency",$("#listPrice").val(),false));$("#utilities").val($.clickSoldUtils("formatAsCurrency",$("#utilities").val(),false));$("#propTax").val($.clickSoldUtils("formatAsCurrency",$("#propTax").val(),false));$("#conFees").val($.clickSoldUtils("formatAsCurrency",$("#conFees").val(),false));$("#downPay").val($.clickSoldUtils("formatAsCurrency",$("#downPay").val(),false));var M=parseFloat($("#downPay").val())/parseFloat($("#listPrice").val());var K=parseFloat($("#amort_years").val());var q=0;if(p=="1"){if(M<=0.05){q=0.0275}else{if(M<=0.1){q=0.02}else{if(M<=0.15){q=0.0175}else{if(M<=0.2){q=0.01}else{if(M<=0.25){q=0.0065}else{if(M<=0.35){q=0.005}else{q=0}}}}}}if(K>35&&q!=0){q+=0.006}else{if(K>30&&q!=0){q+=0.004}else{if(K>25&&q!=0){q+=0.002}}}}else{q=(parseFloat($("#intRate").val())/100)/12}var u=parseFloat(c.readFormattedValue($("#listPrice").val()))-parseFloat(c.readFormattedValue($("#downPay").val()));var G=u*q;var Q=parseFloat(c.readFormattedValue($("#propTax").val()))/$("#payFreq").val();var o=parseFloat(c.readFormattedValue($("#conFees").val()));var A=parseFloat(c.readFormattedValue($("#utilities").val()));var r=$("#payFreq").val();var O=parseFloat($("#intRate").val())/100;var w=$("#amort").val();var P=G+u;var N;var t;if(p=="1"){t=2}else{t=12}N=Math.pow((1+O/t),t/r)-1;periodicPayment=(P*N)/(1-Math.pow((1+N),((-1)*w*r)));this.t_TotalMortgagePayment=periodicPayment*r/12;var J=A+o+Q+this.t_TotalMortgagePayment;$("#report_Price").html("$"+$.clickSoldUtils("formatAsCurrency",$("#listPrice").val(),false));$("#report_MortgageAmount").html("$"+$.clickSoldUtils("formatAsCurrency",u,false));$("#report_Insurance").html("$"+$.clickSoldUtils("formatAsCurrency",G,false));$("#report_TotalMortgage").html("$"+$.clickSoldUtils("formatAsCurrency",P,false));$("#report_InsuranceRate").html((q*100).toFixed(2));$("#report_TotalMortgagePayment").html("$"+$.clickSoldUtils("formatAsCurrency",this.t_TotalMortgagePayment,false));$("#report_PropertyTax").html("$"+$.clickSoldUtils("formatAsCurrency",Q,false));$("#report_CondoFees").html("$"+$.clickSoldUtils("formatAsCurrency",o,false));$("#report_UtilityCosts").html("$"+$.clickSoldUtils("formatAsCurrency",A,false));$("#report_TotalMonthly").html("$"+$.clickSoldUtils("formatAsCurrency",J,false));var L=new Array();var I=new Array();var v=new Array();var C=new Array();var R=new Array();var y=0;var B=0;var F=0;var x=0;var z=P;var E=0;var D=0;for(var H=0;H<r*w;H++){if(w>25){if(H%(r*2)==0){R.push([H,D]);D+=2}}else{if(H%r==0){R.push([H,D]);D++}}I[H]=[H,z*N];L[H]=[H,periodicPayment-I[H][1]];C[H]=[H,I[H][1]+x];x=C[H][1];v[H]=[H,L[H][1]+F];F=v[H][1];z=z-L[H][1]}R.push([r*w-1,D]);$("#gLeg1").empty();$("#gLeg2").empty();if(h!=null){h=null}h=$.plot($("#int_pri"),[{data:I,label:"Interest",lines:{show:true}},{data:L,label:"Principal",lines:{show:true}}],{xaxis:{ticks:R},yaxis:{tickFormatter:function(T,S){return"$"+$.clickSoldUtils("formatAsCurrency",T,false)}},legend:{container:$("#gLeg1"),backgroundOpacity:0.4}});if(e!=null){e=null}graph=$.plot($("#int_pri_acc"),[{data:C,label:"Interest",lines:{show:true}},{data:v,label:"Principal",lines:{show:true}}],{xaxis:{ticks:R},yaxis:{tickFormatter:function(T,S){return"$"+$.clickSoldUtils("formatAsCurrency",T,false)}},legend:{container:$("#gLeg2"),backgroundOpacity:0.4}})}};if(d[a]){return d[a].apply(this,Array.prototype.slice.call(arguments,1))}else{if(typeof a==="object"){return d.init.apply(this,arguments)}else{$.error("Method "+a+" does not exist on jQuery.MortgageCalc")}}}})(jQuery);(function(a){a.fn.MortgagePreQualifier=function(H,o){var l="We can't pre-qualify you without more information";var D="NA";var k=10;var C=7;var L=10;var q=5;var I=0.03;var s=0.05;var B=0.06;var g=35;var K=0.32;var n=0.4;var m=85;var w=320;var F=0.6;var v=150000;var J=new Array(5,10,15,20);var p=new Array(2.75,2,1.75,0);var t;var b;var d;var f;var h;var E;var c;var u;var i;var r;var A;var e;var j;var x={verified:"0",ajaxTarget:"listings"};var G=null;var y={init:function(M){return this.each(function(){var N=a(this);G={};a.extend(G,x,M);N.data("preQualSettings",G);if(G.verified=="1"){z.mortPreQ_calculate.call(N)}})},submitPreQForm:function(){return this.each(function(){var N=a(this);G={};G=N.data("preQualSettings");var M=document.location.host;if(M.indexOf("www.")!=-1){M=M.replace("www.","")}a.ajax({type:"GET",url:G.ajaxTarget,data:"pathway=537&submitPreQualifier=true&"+a("#mortgagePreQInfoForm").serialize()+"&url="+M,dataType:"html",error:function(P,O){alert("submit mortgage preQualifier failed: "+P+" "+O)},success:function(O){a("#cs-prequalifier-container").html(O)},beforeSend:function(){},complete:function(O,P){a("label[for='bankruptcy']").parents("div.cs-input-small").removeClass("cs-input-small");a.clickSoldUtils("infoBoxResize")}})})}};var z={getFormValue:function(){t=parseFloat(a("#annualIncome").val());if(isNaN(t)){a("#annualIncome").attr("value","0")}d=parseFloat(a("#currentDebts").val());if(isNaN(d)){a("#currentDebts").attr("value","0")}c=parseFloat(a("#downpayment").val());if(isNaN(c)){a("#downpayment").attr("value","0")}i=parseFloat(a("#conFees").val());if(isNaN(i)){a("#condoFees").attr("value","0")}r=parseFloat(a("#propTax").val());if(isNaN(r)){a("#annualTax").attr("value","0")}b=parseInt(a("#typeOfWork").val());if(isNaN(b)){b=0}switch(b){case 0:b=0;break;case 1:b=10;break;case 2:b=9;break;case 3:b=8;break;case 4:b=7;break;case 5:b=6;break;case 6:b=6;break;case 7:b=6;break;case 8:b=5;break;case 9:b=0;break;default:b=0}f=parseInt(a("#credit").val());if(isNaN(f)){f=0}switch(f){case 0:f=0;break;case 1:f=0;break;case 2:f=0;break;case 3:f=5;break;case 4:f=8;break;case 5:f=10;break;default:f=0}E=parseInt(a("#homeType").val());if(isNaN(E)){E=0}switch(E){case 0:E=0;break;case 1:E=10;break;case 2:E=9;break;case 3:E=0;break;case 4:E=7;break;case 5:E=6;break;default:E=0}u=parseInt(a("#downpaymentSource").val());if(isNaN(u)){u=0}switch(u){case 0:u=0;break;case 1:u=10;break;case 2:u=10;break;case 3:u=10;break;case 4:u=10;break;case 5:u=5;break;case 6:u=5;break;default:u=0}h=(a("#bankruptcy").attr("checked")==true)?1:0},mortPreQ_calculate:function(){return this.each(function(){var P=a(this);var ag=P.data("preQualSettings");var W;var Z;var ah;var ac;var S;var N;var X;var Q;var aa;var af;var Y;var ad;var ae;var T;var O;var X;var U;var ab;var V;var M;var R;var ai;z.getFormValue.call(P);aa=K*(t/12)-(i+r/12+m);af=n*(t/12)-(i+d+r/12+m);Y=(aa>af)?af:aa;ad=z.toCurrency.call(P,c/s);S=z.toCurrency.call(P,Y*(1-Math.pow(Math.pow((1+B/2),(1/6)),(-12)*g))/(Math.pow((1+B/2),(1/6))-1));ah=(S<ad)?S:ad;ac=ah/1+c/1;if(ah==0){a("#prequal_mortgage").html("NA");a("#max_house_Price").html(l);a("#monthly_payments").html("NA")}else{X=b*k+f*C+u*L+E*q;if(b*f*u*E==0){X=0}N=X/w;V=(c/ah)*100;if(V>=J[3]){M=p[3]}else{if(V>=J[2]){M=p[2]}else{if(V>=J[1]){M=p[1]}else{if(V>=J[0]){M=p[0]}}}}R=z.toCurrency.call(P,ah*M/100);U=ah*N;ab=U/1+c/1-R;ae=(h==0)?1:0;T=((X/w)>F)?1:0;O=(ab>v)?1:0;W=U*ae*T*O;Z=ab*ae*T*O;if(W==0){a("#prequal_mortgage").html("NA");a("#max_house_Price").html(l);a("#monthly_payments").html("NA")}else{a("#prequal_mortgage").html("$"+z.toCurrency.call(P,W));a("#max_house_Price").html("$"+z.toCurrency.call(P,Z));a("#monthly_payments").html("$"+z.toCurrency.call(P,Y*N))}}})},toCurrency:function(M){if(typeof M=="number"){return new Number(M.toFixed(2))}else{return new Number(parseFloat(M).toFixed(2))}}};if(y[H]){return y[H].apply(this,Array.prototype.slice.call(arguments,1))}else{if(typeof H==="object"){return y.init.apply(this,arguments)}else{a.error("Method "+H+" does not exist on jQuery.MortgagePreQualifier")}}}})(jQuery);
