var g_LastResponse=false;var g_SortKey=false;var g_SortDirection="asc";var g_RateType="mortgage";var g_AllSliders=new Array();var g_SlidersHaveBeenReinited=false;var g_SortKeyTypes={};var g_SearchFunction=false;var g_LastColHeaderResponse="";var g_CurrentHeight=280;var g_SearchTimer=false;function chooseState(){var a=getSelected("locstate").value;if(a.length!=2){return}var b=$("market");b.descendants().invoke("remove");b.appendChild(new Element("option",{value:"Select"}).update("Select market..."));AllRateMarkets[a].each(function(d){var c=new Element("option",{value:d.uid,id:"market"+d.uid});c.update(d.name);b.appendChild(c)})}function setMarket(g){var b;var f;var e;for(var d in AllRateMarkets){var c=AllRateMarkets[d];for(var a=0;a<c.length;a++){if(typeof(c[a])!="undefined"&&g==c[a].uid){b=d;selectedMarketValue=c[a].name;e=c[a].uid}}}defaultState(b);defaultMarket(e)}function chooseAreaHE(){chooseArea(searchHomeEquityRates)}function chooseAreaDeposits(){chooseArea(searchDeposits)}function chooseAreaChecking(){chooseArea(searchChecking)}function chooseAreaAutoLoan(){chooseArea(searchAutoLoan)}function chooseArea(a){if($("market").selectedIndex!=0){g_SearchFunction=a;changeState(true,false,"nochange")}}function changeCategory(a){var d=getCheckedRadio("loancat");if(d){var b=d.value}else{var b=$("loancat").value}var e=g_ProductCatMeta[b];if(e.needsLocationDiv){$("locationDiv").style.display="block"}else{$("locationDiv").style.display="none"}$("productLabelId").update(e.label);var c=$("loanproduct");c.descendants().invoke("remove");e.products.each(function(f){c.appendChild(new Element("option",{value:f[0]}).update(f[1]))});if(!a){autoCategorySearch(e)}}function autoCategorySearch(meta){if(meta.autosearch){eval(meta.autosearch)()}}function defaultProduct(b,a){var c=g_ProductCatMeta[b].products.find(function(d){return d[0]==a});if(!c){return}$$('option[value="'+c[0]+'"]')[0].selected=true}function defaultState(a){var b=$$('option[value="'+a+'"]');if(b&&b[0]){b[0].selected=true;chooseState()}}function defaultMarket(d){var a=$("market"+d);a.selected=true;var c=getCheckedRadio("loancat");if(c){var b=c.value}else{var b=$("loancat").value}if(b=="purchase"||b=="refinance"){updateProducts()}else{if(b=="loancatautonew"||b=="loancatautoused"||b=="loancatautorefinance"){chooseAreaAutoLoan()}else{if(b=="loanhe"||b=="loanheloc"){chooseAreaHE()}}}}function updateProducts(){var f=false;var c=$("market");var b=$("loanamt");var d=getSelected("loancat").value;if(d=="purchase"){$("loanDownPmtDiv").style.display="inline"}else{$("loanDownPmtDiv").style.display="none"}if(b){var g=getNumber(b);if(!g&&!c.selectedIndex){updateText="Loan Amount and Area Required";f=true}else{if(!g){updateText="Loan Amount Required";f=true}}}if(!c.selectedIndex&&!f){updateText="Area Required";f=true}var j=$("loanproduct");var h=getSelected(j).innerHTML;if(f){try{$("srchRateBtn").src=MEDIA_URL+getCalculateRatesInactiveBtn()}catch(e){}return}$("productInfoLoader").style.display="inline";$("loanTypeDiv").style.display="inline";var a=getSelected(c);params={loancat:d,market:a.value,loanamt:g,loandownpmt:getSelected("loandownpmt").value};var i=function(k){populateProducts(k,h)};ajaxRequest(BASE_URL+"/rates/service/products",i,params)}function getCalculateRatesInactiveBtn(){return SRS?"/res/img/sears/rates/calculateRatesInactive.gif":"/res/img/btn_calculateRatesGrey.gif"}var g_defaultProductId=0;function setDefaultProductId(a){g_defaultProductId=a}function populateProducts(b,d){if(!b){return}var f=$("loanproduct");var g=f.descendants();if(g){g.invoke("remove")}var c=false;var a=(b.length<1);if(a){var e=new Element("option",{value:"none",id:"loanproductNone",selected:true});e.update("No products found");f.appendChild(e);alert("No products could be found for your search. Try decreasing the loan amount or increasing the down payment.")}else{b.each(function(j){var h=false;if(j.uid==g_defaultProductId){h=true;c=true;g_defaultProductId=0}var i=new Element("option",{value:j.uid,id:"loanproduct"+j.uid,selected:h});i.update(j.name);f.appendChild(i)})}$("productInfoLoader").style.display="none";g_SearchFunction=searchMortgageRates;f.childElements().each(function(h){if(h.innerHTML==d){f.selectedIndex=h.index}});changeState(!a,false,"nochange");if(c&&!a){searchMortgageRates()}}function populateColumnHeaders(b){if(!b){return}var a=b[0];a.each(function(c){g_SortKeyTypes[c.keyname]=c.numeric});$("rateResultsBar").innerHTML=b[1]}function changeState(b,c,h){if(b){var e=g_SearchFunction;if(SRS){var a=MEDIA_URL+"/res/img/sears/rates/calculateRates.gif"}else{var a=MEDIA_URL+"/res/img/btn_calculateRates.gif"}var i="pointer"}else{var e=function(){return false};var a=MEDIA_URL+getCalculateRatesInactiveBtn();var i="default"}var f=$("srchRateBtn");f.onclick=e;f.src=a;f.style.cursor=i;$("timeoutSearchLink").onclick=e;if(c){var g="wait";$("searchProgressDiv").style.display="block"}else{var g="auto";$("searchProgressDiv").style.display="none"}document.body.style.cursor=g;if(h!="nochange"){if(h){var d="block"}else{var d="none"}$("titleAndSliderArea").style.display=d;$("searchResults").style.display=d}}function searchHomeEquityRates(){var a=getCheckedRadio("loancat");var b={market:getSelected("market").value,loanproduct:getSelected("loanproduct").value,loancat:a.value,loancreditscore:getSelected("loancreditscore").value};sendAjaxRatesRequest(b,"homeequity/search",searchHomeEquityRates,"homeequity")}function searchDeposits(){var a=getCheckedRadio("loancat");var b={market:getSelected("market").value,loanproduct:getSelected("loanproduct").value,loancat:a.value};sendAjaxRatesRequest(b,"deposits/search",searchDeposits,"deposits")}function searchChecking(){var a={market:getSelected("market").value,loanproduct:getSelected("loanproduct").value};sendAjaxRatesRequest(a,"checking/search",searchChecking,"checking")}function searchAutoLoan(){var a={market:getSelected("market").value,loanproduct:getSelected("loanproduct").value};sendAjaxRatesRequest(a,"auto/search",searchAutoLoan,"auto")}function searchMortgageRates(){var a=getSelected("loanproduct");var b={market:getSelected("market").value,loanamt:$("loanamt").value,loanproduct:a.value,loanproductdesc:a.innerHTML};sendAjaxRatesRequest(b,"mortgage/search",searchMortgageRates,"mortgage")}function sendAjaxRatesRequest(f,c,d,b){g_SearchFunction=function(){d();return false};changeState(false,true,"nochange");var a=$("locationDiv");var e=getSelected("loanproduct").innerHTML;if(!e.match(/(ing|s)$/)){e+="s"}if(!a||(a.style.display!="none")){e+=" in "+getSelected("market").innerHTML+", "+getSelected("locstate").value}else{var e="Highest Yield "+e}var g=function(h){getRateResults(h,e,b)};ajaxRequest(BASE_URL+"/rates/"+c,g,f)}function noResults(){$("searchResultCt").update("(0)");$("rateSearchResults").innerHTML='<div id="noResults"><div></div><img src="'+BASE_URL+'/res/img/icon_warning.gif" alt=""  /><p>No results were found.</p><div></div></div>';changeState(true,false,true)}function restartWarningTimer(){if(g_SearchTimer){clearTimeout(g_SearchTimer);Effect.Fade("fiveMinuteWarning")}var a=function(){$("fiveMinuteWarning").style.display="block";Effect.ScrollTo("fiveMinuteWarning")};g_SearchTimer=setTimeout(a,300000)}function getRateResults(a,c,b){changeState(true,false,true);populateColumnHeaders(g_LastColHeaderResponse);g_AllSliders.each(function(d){d.reinitialize()});$("searchResultFrom").update(c);if(g_SortKey){$("orangearrow"+g_SortKey).style.display="none";g_SortKey=null}restartWarningTimer();if(!a){return}if(!a.length){noResults();return}populateColumnHeaders(a[1]);g_LastResponse=a[0];buildSliders(a[0]);runFilter(a[0],true);Effect.ScrollTo("titleAndSliderArea");logEvent("RateSearch",b)}function buildSliders(d){if(g_AllSliders.length==0){return}if(!d.length){return}var e;var c;var b;var f;for(var a=0;a<d.length;a++){if(d[a].length!=2){return}f=d[a][0];for(b=0;b<g_AllSliders.length;b++){e=g_AllSliders[b];curValLowest=parseFloat(getLowestValue(f[e.sortkey]));if(curValLowest<e.lowVal||e.lowVal==-1){e.lowVal=curValLowest}curValHighest=parseFloat(getHighestValue(f[e.sortkey]));if(curValHighest>e.highVal||e.highVal==-1){e.highVal=curValHighest}}}for(b=0;b<g_AllSliders.length;b++){e=g_AllSliders[b];e.updateMaxAndMin()}}function toFixed(a){return parseFloat(a.toFixed(3))}function round(a){return a.round()}function strcmp(d,c){if(d>c){return 1}else{if(c>d){return -1}else{return 0}}}function resultSort(c,b){if(!c){return}document.body.style.cursor="wait";if(c==g_SortKey){if(g_SortDirection=="desc"){g_SortDirection="asc";$("orangearrow"+g_SortKey).src=BASE_URL+"/res/img/orange-arrows.gif";$("orangearrow"+g_SortKey).setAttribute("alt","")}else{g_SortDirection="desc";$("orangearrow"+g_SortKey).src=BASE_URL+"/res/img/orange-arrows-down.gif";$("orangearrow"+g_SortKey).setAttribute("alt","")}}else{if(g_SortKey){$("orangearrow"+g_SortKey).style.display="none"}g_SortKey=c;var a=$("orangearrow"+g_SortKey);g_SortDirection="desc";a.src=BASE_URL+"/res/img/orange-arrows-down.gif";a.setAttribute("alt","");a.style.display="inline"}$$(".active").each(function(d){d.removeClassName("active")});$$("."+c).each(function(d){d.addClassName("active")});runFilter(g_LastResponse);document.body.style.cursor="auto"}function sortResults(a){if(g_SortKeyTypes[g_SortKey]){var b=function(d,c){var f=getHighestValue(d[0][g_SortKey]);var e=getHighestValue(c[0][g_SortKey]);if(g_SortDirection=="desc"){return f-e}else{return e-f}}}else{if(g_SortDirection=="desc"){var b=function(d,c){return strcmp(d[0][g_SortKey],c[0][g_SortKey])}}else{var b=function(d,c){return strcmp(c[0][g_SortKey],d[0][g_SortKey])}}}return a.sort(b)}function getHighestValue(a){return getExtremeVal(a,true)}function getLowestValue(a){return getExtremeVal(a,false)}function getExtremeVal(c,e){if(!c||!c.length){return 0}var d=c[0];var a=c.length;for(var b=1;b<a;b++){if((e&&c[b]>d)||(!e&&c[b]<d)){d=c[b]}}return d}function runFilter(r,a){if(!r.length){noResults();return}if(!a){r=sortResults(r);if(!r){noResults();return}}var z;var y;var w;var k;var h;var d=true;var q="";var A=new Array();var f,t;var x,c,n;var l,b;for(var v=0;v<r.length;v++){if(r[v].length!=2){noResults();return}z=r[v][0];y=r[v][1];d=true;for(t=0;t<g_AllSliders.length;t++){f=g_AllSliders[t];x=z[f.sortkey];l=f.mathFn(parseFloat(getHighestValue(x)));b=f.mathFn(parseFloat(getLowestValue(x)));c=f.getLowHandleValue();n=f.getHighHandleValue();if(l==b){if(l<c||l>n){d=false}}else{if((l<c||l>n)&&(b<c||b>n)){d=false}}}if(d){q+=y;A.push("rate"+z.uniqueid)}}var s=new Element("ul");s.innerHTML=q;var o=$("rateSearchResults");var e=o.parentNode;e.replaceChild(s,o);s.id="rateSearchResults";var g;for(var u=0;u<A.length;u++){g=$(A[u]);g.className=(u%2)?"odd":"even"}$("searchResultCt").update("("+u+")");if(u==0){noResults()}var m=$("searchResults");var p=$("resultSizer").getHeight();if(p>g_CurrentHeight){g_CurrentHeight=p}m.style.height=g_CurrentHeight+"px"}function phoneClick(i,h,f,d,b,a,m,l,k){if(f){var j=$("contactLink"+f);var e="infiframe"+f}else{var j=$("phoneLinkPopup");var e="iframePopup"}if(l){var c="dph";var g="din"}else{var c="phn";var g="ins"}j.onclick=function(){logClick(b,a,m,g);return true};j.href=d;j.target="_blank";j.innerHTML=i;window.frames[e].location.href=h;if(!k){logClick(b,a,m,c)}}function logClick(e,b,a,d){var c=$("locstate")||$("loczip");var f={prodtype:e,instid:b||"000",pgver:a,clktype:d,locstate:c.value};ajaxRequest(BASE_URL+"/rates/rateclick",function(){},f,true);if(d=="phn"){logEvent("RateClick","Phone")}else{if(d=="det"){logEvent("RateClick","Details")}else{logEvent("RateClick","Institution")}}}function RateSlider(f,b,e,a,d,c){this.sortkey=f;this.dispPrefix=b;this.dispSuffix=e;this.defHighVal=a;this.defLowVal=d;this.highValElement=$(f+"HighVal");this.lowValElement=$(f+"LowVal");this.mathFn=c;var g=this;this.options={restricted:true,sliderValue:[0,1],onSlide:function(h){g.slideEvent(h)},spans:[f+"Span"]};if(typeof(IE6)!="undefined"){this.options.alignX=-18}this.handles=[$(f+"LowHandle"),$(f+"HighHandle")];this.track=f+"Track";this.slider=new Control.Slider(this.handles,this.track,this.options)}RateSlider.prototype.reinitialize=function(){this.slider.dispose();this.slider=new Control.Slider(this.handles,this.track,this.options);this.highVal=-1;this.lowVal=-1;this.updateMaxAndMin(true)};RateSlider.prototype.highVal=-1;RateSlider.prototype.lowVal=-1;RateSlider.prototype.translateSliderVal=function(c){if(this.highVal==-1){var b=0}else{var b=this.highVal}if(this.lowVal==-1){var a=0}else{var a=this.lowVal}return this.mathFn((b-a)*c+a)};RateSlider.prototype.getLowHandleValue=function(){return this.getValAtCurrentPos(0)};RateSlider.prototype.getHighHandleValue=function(){return this.getValAtCurrentPos(1)};RateSlider.prototype.getValAtCurrentPos=function(a){return this.translateSliderVal(this.slider.values[a])};RateSlider.prototype.updateMaxAndMin=function(b){if(b){var c=0;var a=0}else{var c=this.lowVal;var a=this.highVal}$(this.sortkey+"Min").update(this.getFormattedValue(c));$(this.sortkey+"Max").update(this.getFormattedValue(a));this.slideEvent(this.slider.values)};RateSlider.prototype.slideEvent=function(a){this.lowValElement.update(this.getFormattedValue(this.translateSliderVal(a[0])));this.highValElement.update(this.getFormattedValue(this.translateSliderVal(a[1])));RateSlider.killUpdateTimer();RateSlider.updateTimer=setTimeout(RateSlider.updateResults,200)};RateSlider.prototype.getFormattedValue=function(a){return this.dispPrefix+a+this.dispSuffix};RateSlider.updateTimer=false;RateSlider.killUpdateTimer=function(){if(RateSlider.updateTimer){clearTimeout(RateSlider.updateTimer)}};RateSlider.updateResults=function(){runFilter(g_LastResponse)};