Ext.ns("LTI.idx");function typeOf(a){var b=typeof a;if(b==="object")if(a){if(typeof a.length==="number"&&!a.propertyIsEnumerable("length")&&typeof a.splice==="function")b="array"}else b="null";return b}function isEmpty(a){var c,b;if(typeOf(a)==="object")for(c in a){b=a[c];if(b!==undefined&&typeOf(b)!=="function")return false}return true}String.prototype.replaceAll=function(b,d){var a=this,c=a.indexOf(b),e=0;while(c!=-1){a=a.replace(b,d);c=a.indexOf(b)}return a};LTI.idx.global={IMG_ROOT:"",WS_ROOT:"WS/",MAP_WS:"GetListings.aspx",DETAIL_WS:"GetDetails.aspx",REQUEST_INFO_WS:"SetRequestInfo.aspx",GET_SAVED_SEARCHES:"GetSavedSearches.aspx",SET_SAVED_SEARCH:"SetSaveSearch.aspx",SET_COMPARE:"SetCompare.aspx",GET_COMPARE:"GetCompare.aspx",GET_COMPARE_DETAIL:"GetCompareFavorites.aspx",GET_COUNTY_CITY:"GetCountyCities.aspx",HTTP_REQUEST_METHOD:"GET",CID:"",UID:null,spacers:"&nbsp;&nbsp;&nbsp;",spacer:"&nbsp;",TOTAL_LISTINGS:'<b style="font-family:arial;font-size:12pt;padding-left:15px;padding-right:15px;">{0} of {1} Total Listings</b>',compareTemplate:['<div id="compare_{0}" style="padding:5px 5px 2px 5px;border-bottom: solid 1px gray;">','<table width="310"><tr><td width="90"><img src="{1}" width="90" height="60" /></td>','<td valign="top" style="width:220px;padding-left:10px;white-space:nowrap;"><div style="color:#15428B;font-weight:bold;">{2}</div>','<div style="font-size:8pt;">{3}<br />{4}<br />MLS ID:{0}</div></td>','<td valign="top" width="10"><div class="xRemove" onclick="LTI.idx.compareList.hideCompare(\'compare_{0}\');"></div></td></tr>','<tr><td colspan="3" class="smallIDX" style="font-size:7pt;height:14px;background:transparent ','url(http://localhost/idx/lib/images/IDXSmall.gif) no-repeat scroll 0%;padding:6px 0px 2px 35px;white-space:nowrap;">Courtesy of {5}</td>',"</tr></table></div>"].join(""),NOT_ENABLED:"Coming soon: \nThis feature is not yet enabled.",ALREADY_SELECTED_4:"You have already selected 4 properties to compare.",VALID_DIGITS_ONLY:"Please enter valid digits only.",COMPARE:"Compare",VIEW:"View",REMOVE:"Remove",REMOVE_ALL:"Remove All",DRIVING_ROUTE:"Driving Route",RMI_TITLE:"Request More Information",RMI_FNAME:"",RMI_LNAME:"User",RMI_EMAIL_TO:"info@latitudeinc.com",RMI_REALTOR:"Demo Realtor (demo_realtor@demo_realtor.com)",RMI_MSG_DEFAULT:"Please include a message to the agent.",RMI_SEND_COPY:"Send a copy to me",RMI_MORE_INFO:"I am interested in receiving more information about MLS#{0} located at {1}, {2}.",RAS_TITLE:"Request A Showing",RAS_FNAME:"",RAS_LNAME:"",RAS_EMAIL_TO:"info@allprosearch.com",RAS_REALTOR:"",RAS_MORE_INFO:"I am interested in receiving more information about MLS#{0} located at {1}, {2}.",MSG_THANK_YOU:"Thank you,\n Your request has been submitted.",MLSID:"MLS ID #:{0}",COURTESY_OF:"Courtesy of {0}",PX:"polyX",PY:"polyY",origin:{},PUSHPIN_ICON:"lib/images/allpro_pushpin.gif",PUSHPIN_ICON_SELECTED:"lib/images/pushpin_red.gif",PUSHPIN:['<div><div><div style="float:left;font-size:12px;font-weight:bold;border:solid 2px Black;margin:3px;">','<img style="float:left;" src="{0}" width="92" height="69"/></div>','<div style="height:90px;white-space:nowrap;"><div>{1}</div>',"<div>Beds&nbsp;&nbsp;<b>{2}</b>&nbsp;Baths&nbsp;&nbsp;<b>{3}</b></div>","<div>{4} Square Feet</div>","<div>{5}</div>","<div>{6}, {7} {8}</div>","<div>MLS#:{9}</div></div></div>",'<div><div style="float:clear;"><div><a href="#" onclick="LTI.idx.details.showDetails({10});">View Details</a></div>','<div><a href="#" onclick="LTI.idx.details.showRAS({10});">Request a Showing</a></div></div></div>'].join(""),TYPES:null,mask:{},load:{},listing:{},listingCount:0,listings:[],searchCriteria:{},listingLayer:null,showDisabled:function(){alert("This feature is not yet enabled.")},REGISTER:"registered",LOGIN:"login",USERID:"uid",stateMgr:null,initStateManager:function(){Ext.state.Manager.setProvider(new Ext.state.CookieProvider);stateMgr=Ext.state.Manager},setState:function(b,a){stateMgr.set(b,a)},getState:function(a){return stateMgr.get(a)},clearState:function(a){return stateMgr.clear(a)},isLoggedIn:function(){return stateMgr.get("login")?true:false},COUNTIES:[]};LTI.idx.propertyListings=function(){var d=LTI.idx.global;function c(d,b,a){var e=['<div id="mls_{0}_{1}" style="margin:10px;padding:2px 5px;border:1px solid #D0D0D0;cursor:hand;" ','onclick="LTI.idx.details.showDetails({2});" ','onmouseover="LTI.idx.veMap.showInfoBox({2});" ','onmouseout="LTI.idx.veMap.showInfoBox();">',"<!--div>mls_{0}_{1}</div-->",'<img src="{9}" height="69" width="92" style="float:left;padding-right:10px;" />',"<div>{3}</div>","<div>{4}</div>","<div>{5} Sq.ft.</div>","<div>Beds  {6} Baths  {7}</div>",'<div style="padding-bottom:6px;">MLS#:{8}</div>',"</div>"].join(""),c=$get("listings");Ext.DomHelper.insertHtml("beforeEnd",c,String.format(e,d,10000+b,b,a.lp,a.a,a.sf,a.bd,a.ba,a.mls,a.ph))}function b(){var a=$get("listings");a.innerHTML=""}function a(a){var b=LTI.idx.veMap.getMap();if(a){currentPin=d.listingLayer.GetShapeByIndex(a);b.ShowInfoBox(currentPin)}else b.HideInfoBox(currentPin)}return {add:c,clear:b,showInfoBox:a}}();LTI.idx.mask=function(){var a,b;function e(){a.setStyle("display","block");b.setStyle("display","block")}function c(){a.setStyle("display","none");b.setStyle("display","none")}function d(c){a=Ext.get("loading-mask");a.setWidth(c.getWidth());a.setHeight(c.getHeight());b=Ext.get("loading-anim");b.setX(a.getWidth()/2);b.setY(a.getHeight()/2)}return {init:d,show:e,hide:c}}();LTI.idx.veMap=function(){var b=LTI.idx.global,t=false,a,J,P=b.origin,n=0,Q,i=[],d=[],R=0,f=null,c=null,e={},g=false,k,L=null;function y(h,i,g){var f="MSVE_navAction_",b=$get(f+"leftBackground");if(b&&b.style){b.style.paddingTop="0px";b.style.marginTop="0px";b.style.height="136px"}if(!h&&!i&&!g)return;var c=29.5,d=0,a=function(b){var a=$get(f+b);if(a&&a.style)a.style.display="none"};if(i){a("modeCell");a("separator0");c-=4;d-=48}if(h){a("ObliqueMapView");a("separator2");c-=5;d-=60}if(g){a("toggleGlyphWrapper");c-=2;d-=24}var e=$get(f+"container");if(e&&e.style)e.style.cssText="width:"+c+"em !important"}function u(f,g,c){b.listings=Ext.util.JSON.decode(c.responseText).listings;b.listingCount=Ext.util.JSON.decode(c.responseText).listingCount;if(Ext.util.JSON.decode(c.responseText).origin){var d=Ext.util.JSON.decode(c.responseText).origin,e=Ext.util.JSON.decode(c.responseText).zoom||a.GetZoomLevel();a.SetCenterAndZoom(new VELatLong(d[0],d[1]),e)}p()}function p(a){v();o(b.listings);if(a)LTI.idx.mainPanel.getListingPnl().expand();LTI.idx.mapBar.setListingCount(String.format(b.TOTAL_LISTINGS,b.listings.length,b.listingCount));LTI.idx.searchBar.setSearchBar();LTI.idx.searches.showItems();b.mask.setStyle("display","none");b.load.setStyle("display","none")}function D(a){return b.listings[a]}function o(d){var h=[],i=0;if(b.listingLayer){b.listingLayer.Hide();a.DeleteShapeLayer(b.listingLayer)}b.listingLayer=new VEShapeLayer;for(var c=0;c<d.length;c++){var k=new VELatLong(d[c].la,d[c].lo),f=new VEShape(VEShapeType.Pushpin,k);f.SetCustomIcon(b.PUSHPIN_ICON);f.SetTitle(d[c].c+" Area "+H(d[c].t));f.SetDescription(String.format(b.PUSHPIN,b.IMG_ROOT+d[c].ph,d[c].lp,d[c].bd,d[c].ba,d[c].sf,d[c].a,d[c].c,d[c].s,d[c].z,d[c].mls,c));b.listingLayer.AddShape(f);var j={pinid:f.GetID(),pid:n,indx:i,pt:d[c]};h.push(j);n++;i++}b.listingLayer.Show();a.AddShapeLayer(b.listingLayer);var g=h;for(var e=0;e<h.length;e++)x(g[e].pinid,g[e].pid,g[e].indx,g[e].pt);if(b.listings.length==1)a.SetCenterAndZoom(new VELatLong(b.listings[0].la,b.listings[0].lo),a.GetZoomLevel());n=0}function H(a){switch(a){case "bo":return "Business";break;case "ci":return "Commercial";break;case "cd":return "Condo";break;case "fa":return "Farm";break;case "ma":return "Manufactured Home";break;case "mu":return "Multi-family";break;case "re":return "Residence";break;case "rt":return "Rental";break;case "va":return "Vacant Land";break;default:return ""}}function r(){var b=a.GetMapView();return b.TopLeftLatLong+","+b.BottomRightLatLong}function x(e,c,h,a){var g=10000+c,f=['<div id="mls_{0}_{1}" style="margin:10px;padding:2px 5px;border:1px solid #D0D0D0;cursor:hand;z-index:100;" ','onclick="LTI.idx.details.showDetails({2});" ','onmouseenter="LTI.idx.veMap.showInfoBox({2});" ','onmouseleave="LTI.idx.veMap.showInfoBox();">',"<!--span>mls_{0}_{1} : {2}</span><br/-->",'<img src="{9}" height="69" width="92" style="float:left;padding-right:10px;" />',"<span>{3}</span><br/>","<span>{4}</span><br/>","<span>{5} Sq.ft.</span><br/>","<span>Beds  {6} Baths  {7}</span><br/>",'<span style="padding-bottom:6px;">MLS#:{8}</span><br/>',"</div>"].join(""),d=$get("listings");Ext.DomHelper.insertHtml("beforeEnd",d,String.format(f,e,g,c,a.lp,a.a,a.sf,a.bd,a.ba,a.mls,b.IMG_ROOT+a.ph))}function v(){var a=$get("listings");a.innerHTML=""}function B(c){if(c){k=b.listingLayer.GetShapeByIndex(c);a.ShowInfoBox(k)}else a.HideInfoBox(k)}function s(){var b=null;a.DeleteAllShapes();a.DeleteRoute();var d=LTI.idx.mapBar.getPOI();if(d.menu){b=d.menu.items.items;for(var c=0;c<b.length;c++)b[c].setChecked(false,true)}LTI.idx.mapBar.toggleBtnPoly(false);e={}}function w(){if(g)q()}function q(){if(!g){LTI.idx.mapBar.toggleBtnPoly(true);a.AttachEvent("onclick",l);a.AttachEvent("ondoubleclick",h);a.AttachEvent("onmousemove",j);g=true}else{LTI.idx.mapBar.toggleBtnPoly(false);a.DetachEvent("onclick",l);a.DetachEvent("ondoubleclick",h);a.DetachEvent("onmousemove",j);if(c){a.DeleteShape(c);LTI.idx.searchBar.deleteSearchCriteria("polygon");if(isEmpty(b.searchCriteria))LTI.idx.searchBar.disableReset(true);LTI.idx.searches.showItems();c=null}g=false}}function l(b){if(c){a.DeleteShape(c);c=null}i.push({X:b.mapX,Y:b.mapY});d.push(m(b));if(d.length>3)C(b)}function j(e){if(d.length>0){try{a.DeleteShape(f)}catch(g){}var b=d.slice(0,d.length);b.push(m(e));var c=VEShapeType.Polyline;f=new VEShape(c,b);f.SetLineColor(new VEColor(255,0,0,1));f.SetLineWidth(1);f.HideIcon();a.AddShape(f)}}function C(a){var b=i[0],c=11;if(Math.abs(a.mapY-b.Y)<c)if(Math.abs(a.mapX-b.X)<c){d.splice(d.length-1,1);h(a)}}function h(){d.push(d[0]);var b=VEShapeType.Polygon;c=new VEShape(b,d);c.SetFillColor(new VEColor(153,187,232,.2));c.SetLineColor(new VEColor(255,0,0,1));c.SetLineWidth(1);c.HideIcon();a.AddShape(c);try{a.DeleteShape(f)}catch(g){}a.DetachEvent("onclick",l);a.DetachEvent("ondoubleclick",h);a.DetachEvent("onmousemove",j);z(d);d=[];i=[]}function m(b){var c=new VEPixel(b.mapX,b.mapY),d=a.PixelToLatLong(c);return d}function E(e,b){var d=b?VEShapeType.PolyLine:VEShapeType.Polygon;c=new VEShape(d,e);c.SetFillColor(new VEColor(153,187,232,.2));c.SetLineColor(new VEColor(255,0,0,1));c.SetLineWidth(1);c.HideIcon();a.AddShape(c)}function G(b){var f=[],e=b.indexOf("|"),c=b.substring(0,e),d=b.substring(e+1,b.length-1);c=c.split(",");d=d.split(",");for(var a=0;a<c.length;a++)f[a]=new VELatLong(c[a],d[a]);s();E(f,false);LTI.idx.mapBar.toggleBtnPoly(true);LTI.idx.searches.showItems();g=true}function F(b,c){var d=null,f=b.text;e.current=b.text;if(c)if(!e[b.text]){e[b.text]=new VEShapeLayer;a.Find(f,d,null,e[b.text],0,10,true,true,true,true,A)}else e[b.text].Show();else e[b.text].Hide()}function A(c){var f="lib/images/mapicons/mapicon_",b="";switch(e.current){case "Cafes":b="sbux.gif";break;case "Schools":b="school.gif";break;case "Restaurants":b="restaurant.gif";break;case "Libraries":b="rental.gif";break;case "Shopping":b="shop.gif";break;case "Movies":b="movie.gif";break;case "Parks":b="park.gif"}if(c){for(var d=0;d<c.GetShapeCount();d++)c.GetShapeByIndex(d).SetCustomIcon(f+b);a.AddShapeLayer(c)}}function z(c){var e=LTI.idx.searchBar,a="",b="";if(c.length>1){for(var d=0;d<c.length-1;d++){a+=c[d].Latitude+",";b+=c[d].Longitude+","}a=a.substr(0,a.length-1);b=b.substr(0,b.length-1)}else{a+=c.Latitude;b+=c.Longitude}var f=String.format("'{0}|{1}'",a,b);e.addSearchCriteria("polygon","Polygon","Yes",f);e.disableReset(false);LTI.idx.searches.showItems()}function K(){var d=new VELatLong(b.origin.la,b.origin.lo);a=new VEMap("IDXMap");var c=Ext.get("IDXMap").setHeight(Ext.getCmp("center").getInnerHeight());c.setWidth(Ext.getCmp("center").getInnerWidth()-2);a.onLoadMap=function(){y(true,true,true)};a.LoadMap(d,b.origin.zoom,b.origin.view);t=true;b.mask=Ext.get("loading-mask");b.mask.setWidth(c.getWidth());b.mask.setHeight(c.getHeight());b.load=Ext.get("loading-anim");b.load.setX(b.mask.getWidth()/2);b.load.setY(b.mask.getHeight()/2)}return {isLoaded:function(){return t},getMap:function(){return a},getMapDiv:function(){return J},getCenter:function(){return a.GetCenter()},getZoomLvl:function(){return a.GetZoomLevel()},setCenterZoom:function(b,c,d){a.SetCenterAndZoom(new VELatLong(b,c),d)},getMapView:r,setPushpins:o,showInfoBox:B,getListing:D,clear:s,draw:q,setPOI:F,drawPoly:G,listingsLoaded:u,deletePolygon:w,resize:function(c,b){a.Resize(c,b)},getDirections:function(b){a.GetDirections(b)},init:K,loadListings:p}}();LTI.idx.mapBar=function(){var d=LTI.idx.global,a=new Ext.Toolbar({height:25}),j=null,h='<span style="font-weight:bold;color:maroon;"></span>',b=LTI.idx.veMap.setPOI,c=null,i=new Ext.menu.Menu({id:"mnuPOI",width:170,items:[{text:"Cafes",checked:false,checkHandler:b},{text:"Schools",checked:false,checkHandler:b},{text:"Restaurants",checked:false,checkHandler:b},{text:"Libraries",checked:false,checkHandler:b},{text:"Shopping",checked:false,checkHandler:b},{text:"Movies",checked:false,checkHandler:b},{text:"Parks",checked:false,checkHandler:b}]});function f(b){a.items.items[6].getEl().innerHTML=b}function e(b){a.items.items[8].getEl().innerHTML=b}function g(b){if(b)a.items.items[2].setText("<b>Clear Polygon</b>");else a.items.items[2].setText("<b>Draw Polygon</b>")}return {getToolbar:function(){return a},getListing:function(){return a.items.items[1].getEl()},setListingText:f,setListingCount:e,getPolyButton:function(){return a.items.items[3]},toggleBtnPoly:g,getPOI:function(){return a.items.items[4]},init:function(){c={id:"poly",text:"<b>Draw Polygon</b>",handler:LTI.idx.veMap.draw};a.add('<div style="width:167px;">&nbsp;</div>',"-",c,"-",{id:"poi",text:"<b>Points of Interest:</b>",menu:i},"->",h," ",String.format(d.TOTAL_LISTINGS,d.listingCount),"&nbsp;&nbsp;&nbsp;")}}}();LTI.idx.searches=function(){var a=LTI.idx.global,q="registered",r="login",s="uid",cb=true,bb=-1,v=false,e,l,b,f,g,fb,c,d,j,T,Y,y='<table id="{0}" style="width:290px;border-collapse:collapse; border:1px solid #DADADA;margin-bottom:5px;">',x="</table>",U=['<tr><td class="title" ','style="background-color:#DADADA;padding:3px;font-weight:bold;cursor:pointer;text-decoration:underline;color:navy;" ','onclick="LTI.idx.searches.showSearch({3})" alt="Click to Search">{0}</td>','<td style="background-color:#DADADA;"><div class="xRemove" alt="Delete Search"','style="vertical-align:text-top;text-align:right;background-color:#DADADA;padding:3px;cursor:hand;" ',"onclick=\"LTI.idx.searches.deleteSearch('{1}',{2},{3})\" />","</td></tr>"].join(""),z='<tr><td class="field" style="width:140px;border:1px solid #DADADA;padding:2px 0px 2px 5px;">{0}</td><td style="width:150px;border:1px solid #DADADA;padding:2px 0px 2px 5px;">{1}</td></tr>',w=new RegExp("^[\\w-_.]*[\\w-_.]@[\\w].+[\\w]+[\\w]$"),ab=true,n=[],h=[];function t(){var c=g.items.items[0].getRawValue(),b=g.items.items[1].getRawValue();if(!Q())return;var a={email:c,pwd:b};AJAX.send({url:"RegisterVisitor.aspx",callback:p,waitTitle:"Connecting",waitMsg:"Registering user...",params:a});v=true}function p(f,c,b){if(c){if(b!=null){a.UID=Ext.util.JSON.decode(b.responseText).uid;a.setState(q,true);a.setState(r,true);a.setState(s,a.UID);LTI.idx.compareList.init()}LTI.idx.mainPanel.getSearchPnl().setTitle("Saved Searches");var d=$get("register");d.innerHTML="";var e=$get("searches");e.style.display="block";i()}else alert(Ext.util.JSON.decode(b.responseText).errMsg)}function m(){$get("lblVPwd").style.display="none";j.setVisible(false);try{$get("lblPwd").style.display="block"}catch(c){}d.setVisible(true);$get("chkWrapper").style.display="block";e.setText("Login");e.setHandler(O);var a=$get("lnkLogin");a.innerHTML="Forgot your password?";a.onclick=C;var b=$get("lnkRegister");b.style.display="block"}function E(){try{$get("lblPwd").style.display="block"}catch(c){}d.setVisible(true);try{$get("lblVPwd").style.display=Ext.isIE?"block":"table-cell"}catch(c){}j.setVisible(true);e.setText("Register");e.setHandler(t);var a=$get("lnkLogin");a.innerHTML="Already Registered?<br/>Login.";a.onclick=m;var b=$get("lnkRegister");b.style.display="none"}function O(){var a={e:c.getValue(),p:d.getValue()};AJAX.send({url:"Login.aspx",callback:N,waitTitle:"Connecting",waitMsg:"Login user...",params:a})}function N(f,c,b){if(c){a.UID=Ext.util.JSON.decode(b.responseText).uid;a.setState(q,true);a.setState(r,true);a.setState(s,a.UID);LTI.idx.compareList.init();LTI.idx.mainPanel.getSearchPnl().setTitle("Saved Searches");var d=$get("register");d.innerHTML="";var e=$get("searches");e.style.display="block";u()}else alert(Ext.util.JSON.decode(b.responseText).errMsg)}function C(){$get("lblPwd").style.display="none";d.setVisible(false);$get("chkWrapper").style.display="none";e.setText("Send Password");var a=$get("lnkLogin");a.innerHTML="Login";a.onclick=m;e.handler=H}function H(){var a={e:c.getValue()};AJAX.send({url:"ForgotPassword.aspx",callback:F,waitTitle:"Connecting",waitMsg:"Login user...",params:a})}function F(c,b,a){if(b)alert(Ext.util.JSON.decode(a.responseText).msg);else alert(Ext.util.JSON.decode(a.responseText).msg)}function k(a){eSearchItem=$get("searchMsg");if(a){b.enable();f.enable();l.enable();eSearchItem.style.display="none"}else{b.disable();f.disable(a);l.disable(a);eSearchItem.style.display="block"}}function J(){i()}function G(){var j=0,i="{{0}}",c=b.getValue();if(c==""){Ext.Msg.alert("Search Name","You must enter a name for your search");return}c=c.replace(/\'/g,"\\'");c=String.format("'{0}'",c);var h="["+LTI.idx.veMap.getCenter()+"]",g=LTI.idx.veMap.getZoomLvl(),e="["+LTI.idx.veMap.getMapView()+"]",d={uid:a.UID,email:f.checked,name:c,mapview:e,center:h,zoom:g,data:""};d.data=LTI.idx.searchBar.getSearchParamsJSON();AJAX.send({url:a.SET_SAVED_SEARCH,callback:I,waitTitle:"Connecting",waitMsg:"Registering user...",params:d});b.suspendEvents();b.reset();b.resumeEvents()}function I(j,e,d){var b=Ext.util.JSON.decode(d.responseText);if(e){var g=b.sid,f=b.n,c=b.search;a.searchCriteria=c.data;h.push(c);i(f,true,g)}else alert("Server Error:\n"+b.errMsg)}function B(b,d,c){var e={"delete":d,el:b,indx:c,uid:a.UID};AJAX.send({url:a.SET_SAVED_SEARCH,callback:D,waitTitle:"Connecting",waitMsg:"Registering user...",params:e})}function D(a,c,b){if(c){var d=Ext.util.JSON.decode(b.responseText).elid;$get(d).removeNode(true);h.remove(a.params.indx);n.remove(a.params.indx);i()}else alert("Failed to delete")}var eb={},o=-1,db=0;function L(b){LTI.idx.veMap.clear();a.searchCriteria=null;o=b;AJAX.send({url:a.GET_SAVED_SEARCHES,callback:P,params:{uid:a.UID}})}function P(f,g,d){var e=Ext.util.JSON.decode(d.responseText).savedSearches;h[o]=e[o];var b=h[o];a.searchCriteria=b.data;LTI.idx.veMap.setCenterZoom(b.center[0],b.center[1],b.zoom);for(var c in a.searchCriteria)if(c=="polygon")LTI.idx.veMap.drawPoly(a.searchCriteria.polygon.params.polygon);LTI.idx.searchBar.search(true)}function K(c,a){if(a);}function u(){AJAX.send({url:a.GET_SAVED_SEARCHES,callback:A,params:{uid:a.UID}})}function A(f,e,d){if(e){var b=Ext.util.JSON.decode(d.responseText).savedSearches;if(b)for(var c=0;c<b.length;c++){h.push(b[c]);a.searchCriteria=b[c].data;i(b[c].name,true,b[c].id,b[c].email)}k(false);a.searchCriteria={}}}function i(m,o,g,l){var b=a.searchCriteria;k(false);var e="",h=$get("searchItems"),i=typeof g=="undefined"?"":"search_"+g,p=false,j=0;for(var d in b)if(d!="current")if(typeof b[d].display!="undefined"){e+=String.format(z,b[d].display.label,b[d].display.value);j++}if(f.checked||l)e+=String.format(z,"Notify Me","Enabled");try{$get("temp-search").removeNode(true)}catch(q){}if(j>0){var c="";if(o){n.push(b);c=String.format(y,i);c+=String.format(U,m,i,g,n.length-1);k(false)}else{c=String.format(y,"temp-search");k(true)}if(n.length>0)Ext.DomHelper.insertHtml("afterBegin",h,c+e+x);else h.innerHTML=c+e+x}else k(false)}function Q(){if(!M()){Ext.Msg.alert("Registration Error:","You must complete all fields");return false}if(!S()){Ext.Msg.alert("Email Malformed","You must enter a valid Email address.");return false}if(!R()){Ext.Msg.alert("Registration Error:","Your passwords don't match.");return false}return true}function M(){var a=true;if(c.getValue()=="")a=false;if(d.isVisible())if(d.getValue()=="")a=false;if(j.isVisible())if(j.getValue()=="")a=false;return a}function S(){c=c?c:g.items.items[0];if(!w.test(c.getValue()))return false;return true}function R(){var a=false;if(d.getValue()==j.getValue())a=true;return a}function V(){g=new Ext.form.FormPanel({xtype:"form",renderTo:"register",frame:false,monitorValid:true,items:[{xtype:"textfield",id:"txtUsername",width:180,renderTo:"txtUserName",name:"email",emptyText:"Enter Email Address",allowBlank:false,style:"font-size:8pt;",labelSeparator:"",regex:w,regexText:"Improper Email"},{xtype:"textfield",id:"txtPwd",width:180,renderTo:"txtPassword",name:"pwd",emptyText:"",inputType:"password",allowBlank:false,style:"font-size:8pt;",labelSeparator:""},{xtype:"textfield",id:"txtVerifyPwd",width:180,renderTo:"txtVerifyPassword",name:"verifypassword",emptyText:"",inputType:"password",allowBlank:false,style:"font-size:8pt;",labelSeparator:""}]});b=new Ext.form.TextField({id:"txtName",width:180,renderTo:"txtSearchName",name:"searchname",emptyText:"Enter a name for your search.",allowBlank:false,style:"font-size:8pt;",disabled:true});f=new Ext.form.Checkbox({renderTo:"chkNotifyMe",name:"checkbox",boxLabel:"Notify me of new listings by email.",inputValue:"notifyme",labelSeparator:"",disabled:true,listeners:{check:J,scope:this}});e=new Ext.Button({id:"btnRegister",renderTo:"btnRegister",text:"Register",handler:t,hidden:false,disabled:false});l=new Ext.Button({id:"btnSave",renderTo:"btnSaveSearch",text:"Save Search",handler:G,hidden:false,disabled:true});c=g.items.items[0];d=g.items.items[1];j=g.items.items[2];T=$get("lblErr");if(a.getState(q))if(a.getState(r)){a.UID=a.getState(s);u();p(null,true,null)}else m();if(Ext.isIE)try{$get("cntReg").style.textAlign="center"}catch(h){}else try{$get("cntReg").style.textAlign="-moz-center"}catch(h){}}return {init:V,isRegistered:function(){return v},showItems:i,setLogin:m,deleteSearch:B,showSearch:L,initSavedSearches:K,getSavedSearches:function(a){return h[a].data},registerCallback:p,createNewAcct:E}}();LTI.idx.SearchField=Ext.extend(Ext.form.TwinTriggerField,{initComponent:function(){LTI.idx.SearchField.superclass.initComponent.call(this);this.on("specialkey",function(b,a){if(a.getKey()==a.ENTER)this.onTrigger2Click()},this)},validationEvent:false,validateOnBlur:false,trigger1Class:"x-form-clear-trigger",trigger2Class:"x-form-search-trigger",hideTrigger1:true,width:180,hasSearch:false,paramName:"query",showParams:function(){alert("params")},onTrigger1Click:function(){if(this.hasSearch){this.el.dom.value="";this.triggers[0].hide();this.hasSearch=false;this.focus()}},onTrigger2Click:function(){var a=this.getRawValue();if(a.length<8){Ext.Msg.alert("Invalid MLS Number","You must enter valid MLS number to search the listings.");return}else AJAX.send({url:LTI.idx.global.MAP_WS,callback:LTI.idx.veMap.listingsLoaded,params:{mlsid:a}})}});LTI.idx.searchBar=function(){var b=LTI.idx.global,n=LTI.idx.searches,g,o,p,A={},e={},c=new Ext.Toolbar({height:25}),f={items:[{text:"1+",handler:a},{text:"2+",handler:a},{text:"3+",handler:a},{text:"4+",handler:a},{text:"5+",handler:a},{text:"Reset ",handler:a}]};f.items[5].text="Reset Beds";var x=new Ext.menu.Menu({id:"mnubeds",items:f.items});f.items[5].text="Reset Baths";var w=new Ext.menu.Menu({id:"mnubaths",items:f.items}),h=new Ext.menu.Menu({id:"mnutypes",items:[{text:"Residential",type:"RESI",handler:a},{text:"Lot/Land",type:"VACL",handler:a},{text:"Condominium",type:"COND",handler:a},{text:"Multi-Family",type:"MULT",handler:a},{text:"Reset Types",handler:a}]});f.items.splice(3,2);f.items[3].text="Reset Garage Spaces";var v=new Ext.menu.Menu({id:"garages",items:f.items});function d(a){if(a.id=="price"&&!e.menu)e.menu=a;if(a.id=="types");b.searchCriteria.current=a}function u(){alert("from:"+o.getRawValue()+":"+"to:"+p.getRawValue()/1000+"K");return}function a(a){var d=b.searchCriteria.current,c,h,l,f=b.spacer;switch(d.id){case "price":if(a.text!=undefined)if(a.text.indexOf("$")<0&&a.text.indexOf("Price")<0)c=e.getText();else c=a.text.indexOf("Price")>0?"":a.text+f;else c=e.getText();h=c;break;case "types":c=a.text.indexOf("Types")>0?"":a.text+f;h=a.type;break;default:c=a.text.length>2?"":a.text+f;h=a.text.substr(0,1)}d.setText("<b>"+d.label+"</b>"+f+c);if(c=="")i(d.id);else{b.searchCriteria[d.id]={menu:b.searchCriteria.current};var k=d.id;j(k,d.label,c,h)}delete b.searchCriteria.current;g.setDisabled(false)}function j(a,f,e,c){if(a!="polygon"){if(a!="types")c=t(c);c="'"+c+"'"}var d={};d[a]=c;if(typeof b.searchCriteria[a]=="undefined")b.searchCriteria[a]={};b.searchCriteria[a].display={label:f,value:e};b.searchCriteria[a].params=d;n.showItems()}function i(a){delete b.searchCriteria[a];n.showItems()}function t(a){var c=false;if(typeof a=="string"){if(a.indexOf("Over")>-1)c=true;a=a.replaceAll(/\'/gi,"");a=a.replace("&nbsp;","");a=a.replace("under ","0-");a=a.replace("Over ","");a=a.replace(/K/gi,"000");a=a.replace(/M/gi,"");a=a.replace(/\$/g,"");a=a.replace(/<span style=".*?">|<\/span>/gi,"");if(a.indexOf(".")>0)if(a.indexOf("-")>0){var b=a.split("-"),d=b[0].indexOf(".")>0?b[0]*1000000:b[0],e=b[1].indexOf(".")>0?b[1]*1000000:b[1];a=d+"-"+e}else a=a*1000000}a+=c?"+":"";return a}function k(){var c=b.searchCriteria,f={};for(var a in c)if(c[a]&&c[a].params)if(c[a].params.length&&c[a].params.length>1)for(var d=0;d<c[a].params.length;d++)for(var e in c[a].params[d])f[e]=c[a].params[d][e];else{var g=c[a].params[a].replaceAll("'","");f[a]=String(g)}return f}function q(){var g="{0}:{display:{label:'{1}',value:'{2}'},params:{{0}:{3}}},",d="",e="",c=b.searchCriteria,i=0;for(var a in c){if(c[a]&&c[a].params)if(c[a].params.length){for(var f=0;f<c[a].params.length;f++)for(var h in c[a].params[f])e+=c[a].params[f][h]+"|";e=e.substr(0,e.length-1);if(c[a].display.label)d+=String.format(g,a,c[a].display.label,c[a].display.value,e)}else if(c[a].display){if(c[a].params[a].indexOf("'")<0)c[a].params[a]="'"+c[a].params[a]+"'";d+=String.format(g,a,c[a].display.label,c[a].display.value,c[a].params[a])}i++}d=d.substr(0,d.length-1);d=String.format("{{0}}",d);return d}function l(d){var c=typeof d=="object",a=k(c);a.mapview=LTI.idx.veMap.getMapView();a.zoom=LTI.idx.veMap.getZoomLvl();idxMap=Ext.get("IDXMap");b.mask=Ext.get("loading-mask");b.mask.setWidth(idxMap.getWidth());b.mask.setHeight(idxMap.getHeight());b.mask.setStyle("display","block");b.mask.setOpacity(.5);b.load.setStyle("display","block");AJAX.send({url:b.MAP_WS,callback:LTI.idx.veMap.listingsLoaded,params:a});if(!c)m()}function m(){var a="<b>{0}</b>";c.items.items[2].setText(String.format(a,"Price:"));c.items.items[4].setText(String.format(a,"Beds:"));c.items.items[6].setText(String.format(a,"Baths:"));c.items.items[8].setText(String.format(a,"Types:"));c.items.items[10].setText(String.format(a,"Garages:"));var i=0,e=b.searchCriteria,h="<b>{0}</b>"+b.spacer+"{1}";for(var d in e)if(e[d].display){var f=e[d].display;btnLbl=String.format(h,f.label,f.value);switch(d){case "price":c.items.items[2].setText(btnLbl);break;case "beds":c.items.items[4].setText(btnLbl);break;case "baths":c.items.items[6].setText(btnLbl);break;case "types":c.items.items[8].setText(btnLbl);break;case "garages":c.items.items[10].setText(btnLbl)}}g.setDisabled(false)}function r(d){var a="<b>{0}</b>";c.items.items[2].setText(String.format(a,"Price:"));c.items.items[4].setText(String.format(a,"Beds:"));c.items.items[6].setText(String.format(a,"Baths:"));c.items.items[8].setText(String.format(a,"Types:"));c.items.items[10].setText(String.format(a,"Garages:"));b.searchCriteria={};d.setDisabled(true);LTI.idx.searches.showItems();LTI.idx.veMap.deletePolygon(true);LTI.idx.advSearch.reset()}var z=false;function s(){LTI.idx.advSearch.clickHandler()}return {getToolbar:function(){return c},getFrom:function(){return o.getRawValue()},getTo:function(){return p.getRawValue()},addSearchCriteria:j,deleteSearchCriteria:i,getSearchParams:k,getSearchParamsJSON:q,setSearchBar:m,disableReset:function(a){g.setDisabled(a)},search:l,customPrice:u,init:function(i){var m=new Ext.form.FormPanel({id:"priceFrm",border:false,frame:false,items:[{contentEl:"customPrice",border:false,style:"background:#F0F0F0 url(../images/default/menu/menu.gif) repeat-y scroll 0%;"}]});e=new Ext.menu.Menu({id:"mnuprice",width:170,items:[{text:"under $100K",handler:a},{text:"$100K-$200K",handler:a},{text:"$200K-$300K",handler:a},{text:"$300K-$400K",handler:a},{text:"$400K-$500K",handler:a},{text:'<span style="color:maroon;">under $500K</span>',handler:a},{text:"$500K-$600K",handler:a},{text:"$600K-$700K",handler:a},{text:"$700K-$800K",handler:a},{text:"$800K-$900K",handler:a},{text:"$900K-$1.00M",handler:a},{text:'<span style="color:maroon;">$500K-$1.00M</span>',handler:a},{text:"$1.00M-$1.25M",handler:a},{text:"$1.25M-$1.50M",handler:a},{text:"$1.50M-$1.75M",handler:a},{text:"$1.75M-$2.00M",handler:a},{text:'<span style="color:maroon;">$1.00M-$2.00M</span>',handler:a},{text:"$2.00M-$3.00M",handler:a},{text:"Over $3.00M",handler:a},{text:"Reset Price",handler:a}]});var f=b.spacer;c.add(new LTI.idx.SearchField({width:170,store:this.searchStore,paramName:"q",emptyText:"Search by MLS Number",disabled:false}),"-",{id:"price",width:400,text:"<b>Price:"+f+"</b>",label:"Price:",menu:e,handler:d},"-",{id:"beds",text:"<b>Beds:"+f+"</b>",label:"Beds:",menu:x,handler:d,listeners:{mouseover:d,scope:this}},"-",{id:"baths",text:"<b>Baths:"+f+"</b>",label:"Baths:",menu:w,handler:d,listeners:{mouseover:d,scope:this}},"-",{id:"types",text:"<b>Types:"+f+"</b>",label:"Types:",menu:h,handler:d,listeners:{mouseover:d,scope:this}},"-",{id:"garages",text:"<b>Garages:"+f+"</b>",label:"Garages:",menu:v,handler:d,listeners:{mouseover:d,scope:this}},"-",{id:"go",text:'<b style="color:maroon;">Search</b>',canActivate:false,handler:l},"->",{id:"adv",text:"<b>Advanced Search</b>",disabled:false,handler:s},"-",{id:"reset",text:"<b>Reset All</b>",disabled:true,handler:r}," ");g=c.items.items[16];if(i){h.removeAll();for(var j=0;j<i.length;j++){i[j]["handler"]=a;var k=new Ext.menu.Item(i[j]);h.addItem(k)}}}}}();LTI.idx.compareList=function(){var a=[],f,e,k,b=LTI.idx.global,c=LTI.idx.details,d=b.listing.detail,m=false,g=null;function v(c,d){if(c!=null)a.push(c);h(true);if(d!=null)AJAX.send({url:b.SET_COMPARE,callback:i,params:{uid:b.UID,mlsid:c.m,t:c.t}})}function i(c,b,a){if(!b)alert(Ext.util.JSON.decode(a.responseText).errMsg)}function q(e,d,c){d=Ext.util.JSON.decode(c.responseText).success;if(d){a=Ext.util.JSON.decode(c.responseText).comps;if(a){for(var b=0;b<a.length;b++)Ext.get("comps").insertHtml("beforeEnd",n(b));l();h(true);g=Ext.get("comps")}}}function j(f,g){for(var e=0;e<a.length;e++)if(a[e].id==f){if(d&&d.id==f){c.getChkCTC().suspendEvents();c.getChkCTC().setValue(false);c.getChkCTC().resumeEvents()}h(true);if(g)AJAX.send({url:b.SET_COMPARE,callback:i,params:{uid:b.UID,mlsid:a[e].m,d:true}});a.splice(e,1);break}}function o(c){for(var b=0;b<a.length;b++)if(a[b].id==c)return true;return false}function n(d){var c;if(d==null)c=a.length-1;else c=d;var e=String.format(b.compareTemplate,a[c].m,b.IMG_ROOT+a[c].is,a[c].p,a[c].a,a[c].csz,a[c].lb);return e}function r(f){var c=LTI.idx.details;if(!b.UID){alert("Please Register to use the Compare Properties Feature");LTI.idx.mainPanel.getSearchPnl().expand();c.getChkCTC().suspendEvents();c.getChkCTC().setValue(false);c.getChkCTC().resumeEvents()}else{if(g==null){g=Ext.get("comps");l()}d=b.listing.detail;if(o(d.id)){if(!f.checked){document.getElementById(d.id).style.display="none";j(d.id,true)}}else if(f.checked)if(a.length>3){alert(b.ALREADY_SELECTED_4);c.getChkCTC().suspendEvents();c.getChkCTC().setValue(false);c.getChkCTC().resumeEvents()}else{v(d,true);g.insertHtml("beforeEnd",n());var e=LTI.idx.mainPanel.getComparePnl();e.expand();g.setHeight(e.getInnerHeight()-70)}}}function t(a){if(b.listing.detail&&b.listing.detail.id==a)c.getChkCTC().setValue(false);else{document.getElementById(a).style.display="none";j(a,true)}}function h(c){f.setVisible(c);e.setVisible(c);if(a.length>1){f.setText(b.COMPARE);e.setText(b.REMOVE_ALL)}else if(a.length==1){f.setText(b.VIEW);e.setText(b.REMOVE)}else if(a.length==0){f.setVisible(false);e.setVisible(false)}}function p(){var c={};c.cmp=[];for(var d=0;d<a.length;d++)c.cmp.push(a[d].m);c.cid=b.CID;var e=new Ext.Panel({region:"center",margins:"3 0 3 0",defaults:{autoScroll:true,autoShow:true},items:[{id:"cp",autoHeight:true,autoshow:true,frame:false,border:false,autoLoad:{url:b.WS_ROOT+b.GET_COMPARE_DETAIL,params:c,text:"Loading Details..."}}]}),f=new Ext.Window({title:"Selected Properties Showcase",closable:true,closeAction:"hide",width:800,height:470,modal:true,frame:true,plain:true,autoshow:true,layout:"border",items:[e]});f.show(null)}function u(){for(var d=a.length;d>0;d--){document.getElementById(a[d-1].id).style.display="none";a.splice(d-1,1)}h(false);try{c.getChkCTC().suspendEvents();c.getChkCTC().setValue(false);c.getChkCTC().resumeEvents()}catch(e){}LTI.idx.veMap.getMap().DeleteRoute();k.setDisabled(true);AJAX.send({url:b.SET_COMPARE,params:{uid:b.UID,d:true,a:true}})}function s(){var c=[];for(var b=0;b<a.length;b++)c[b]=new VELatLong(a[b].la,a[b].lo);VERouteOptions.Callback=function(){};LTI.idx.veMap.getDirections(c)}function l(){if(!m){f=new Ext.Button({id:"comp",renderTo:"btnComp",text:b.VIEW,handler:p,hidden:true});e=new Ext.Button({id:"remove",renderTo:"btnRemove",text:b.REMOVE,handler:u,hidden:true});k=new Ext.Button({id:"route",renderTo:"btnRoute",text:b.DRIVING_ROUTE,handler:s,disabled:true,hidden:true});m=true;c=LTI.idx.details}}function w(){if(b.UID)AJAX.send({url:b.GET_COMPARE,callback:q,params:{uid:b.UID}})}return {exists:o,checkCompare:r,hideCompare:t,init:w}}();Ext.ns("LTI.idx");LTI.idx.ras=function(){var d=LTI.idx.global,a=function(a){return document.getElementById(a)},c=false,e=false;function j(){var b,a;if(parseInt(navigator.appVersion)>3){if(navigator.appName=="Netscape"){b=window.innerWidth;a=window.innerHeight}if(navigator.appName.indexOf("Microsoft")!=-1){b=document.documentElement.clientWidth;a=document.documentElement.clientHeight}}var c={width:b,height:a};return c}function m(){c=d.UID?true:false;if(!e)AJAX.send({url:d.REQUEST_INFO_WS,callback:h,params:{uid:d.UID,getinfo:true}});var b=a("ras_form"),g=a("ras_form0"),f=j();b.style.width=f.width+"px";b.style.height=f.height+"px";b.style.zIndex="100";g.style.left=(f.width-550)/2+"px";g.style.zIndex="2000";b.style.display="block";g.style.display="block";if(c){a("msgRegistered").style.display="block";a("msgNotRegistered").style.display="none";a("from").style.display="block";a("passwords").style.display="none"}else{a("msgNotRegistered").style.display="block";a("register").style.display="block";a("passwords").style.display="block"}}function h(f,d,c){if(d){var b=Ext.util.JSON.decode(c.responseText).user;a("txtFName").value=b.fname;a("txtLName").value=b.lname;a("txtFromEmail").value=b.email;a("txtPhone").value=b.phone;e=true}}function f(){var b=a("ras_form"),c=a("ras_form0");b.style.display="none";c.style.display="none"}function k(){if(!c)if(!b.isValid()){alert("Please enter all required fields.");return}var g=a("txtFName").value,h=a("txtLName").value,f=a("txtFromEmail").value,j=a("txtPhone").value,l=a("txtMsg").value,k=a("chkCC").checked,e={fn:g,ln:h,em:f,ph:j,msg:l,c:k,reg:c};if(!c)e["pwd"]=a("txtRPwd").value;else e["uid"]=d.UID;AJAX.send({url:d.REQUEST_INFO_WS,callback:i,params:e})}function i(e,b,a){if(b){alert("Thank you, your request has been submitted.");if(!c)LTI.idx.searches.registerCallback(e,b,a);f()}else{var d="";if(Ext.util.JSON.decode(a.responseText).errMsg)d="\n"+Ext.util.JSON.decode(a.responseText).errMsg;alert("We're sorry, your request could not be sent at this time."+d)}}var l=new RegExp("^[\\w-_.]*[\\w-_.]@[\\w].+[\\w]+[\\w]$"),b={txtFName:false,txtLName:false,txtFromEmail:false,txtVPwd:false,isValid:function(){return b.txtFName&&b.txtLName&&b.txtFromEmail&&b.txtVPwd}};function n(a){if(c){b.txtVPwd=true;b.txtFromEmail=true}if(a.id!="txtFromEmail")if(a.value==""){alert("You must enter a value.");return false}else{if(a.id=="txtRVPwd")g();b[a.id]=true}else if(!l.test(a.value)){alert("You must enter a valid email address.");return false}else b[a.id]=true}function g(){if(a("txtRPwd").value!=a("txtRVPwd").value)alert("Your passwords do not match");else b.txtVPwd=true}function o(b){a("txtMsg").value=b}return {openModal:m,closeModal:f,submitModal:k,validate:n,setMsg:o}};LTI.idx.details=function(){var a=LTI.idx.global,f=LTI.idx.compareList,p=null,k=null,H=null,j=null,e=null,g=null,X,t=false,d=null;var c=null;function A(){var b=String.format(a.RAS_MORE_INFO,a.listing.detail.m,a.listing.detail.a,a.listing.detail.csz);c.setMsg(b);c.openModal()}function y(c){var b=new Ext.TabPanel({region:"center",margins:"3 0 3 0",activeTab:0,defaults:{autoScroll:true,autoShow:true},items:[{id:"pd",title:"Property Details",autoLoad:{url:a.WS_ROOT+a.DETAIL_WS,params:{mlsid:d.mls,t:d.t,ext:true,cid:a.CID},text:"Loading Details..."}},{id:"pp",title:"Property Photos",autoScroll:false,autoDestroy:true,autoLoad:{url:a.WS_ROOT+a.DETAIL_WS,params:{mlsid:d.mls,t:d.t,ext:true,ph:true,cid:a.CID},text:"Loading Photos..."}}]}),e=new Ext.Window({title:"Selected Property Showcase",closable:true,closeAction:"close",width:600,height:Ext.isIE?515:500,modal:true,plain:true,layout:"border",items:[b]});e.show(null,f);function f(){b.activate(c.tab)}}function D(b){a.mask.setStyle("display","block");a.mask.setOpacity(.5);a.load.setStyle("display","block");d=a.listings[b];AJAX.send({url:a.DETAIL_WS,callback:z,params:{mlsid:d.mls,t:d.t}})}function z(c,d,b){a.listing=Ext.util.JSON.decode(b.responseText);E()}function E(){var j='<img id="Img{0}" src="'+a.IMG_ROOT+'{1}/{2}{0}.jpg" onclick="LTI.idx.details.getImageHandler().swapImg(this,\'imgMainSm\');" width="90" height="60" style="padding:2px;border:1px solid gray;" alt="" />',c=a.listing.detail,k=a.listing.sum,l=a.listing.agent,g=a.listing.photos,e=Ext.getCmp("pnlPreview");e.collapse();if(!t){v();t=true}imageHandler.init();var e=Ext.getCmp("pnlPreview");e.expand();w.style.display="block";n.innerText=c.p;u.innerText=c.a;m.innerText=c.csz;x.innerText=String.format(a.MLSID,c.m);r.innerText=String.format(a.COURTESY_OF,c.lb);q.innerHTML=k;i.src=a.IMG_ROOT+c.is;h="";for(var d=0;d<g.num;d++){if(d<10)if(d==0)s="";else s="_0"+d;else s="_"+d;h+=String.format(j,s,g.subdir,c.m)}o.innerHTML=h;i.style.display="inline";if(f.exists(c.id)){b.suspendEvents();b.setValue(true);b.resumeEvents()}else if(b.checked){b.suspendEvents();b.setValue(false);b.resumeEvents()}a.mask.setStyle("display","none");a.load.setStyle("display","none")}var K,T,V,J,W,b,Y,S,U,B,n,C,u,m,x,q,i,w,r,Q,R,P,o,h;function v(){c=new LTI.idx.ras;var g=Ext.isIE||Ext.isIE6||Ext.isIE7,h="margin-bottom:";h+=g?"5px;":"0px;";C=$get("nav");n=$get("listPrice");u=$get("address");m=$get("cityState");x=$get("mlsid");q=$get("sum_tab");i=$get("imgMainSm");w=$get("idx");r=$get("listBroker");var l=a.UID;o=$get("tmbPhotos");var e=Ext.isIE7?145:135;K=new Ext.Button({id:"btnVPD",tab:"pd",renderTo:"btn1",minWidth:e,text:"View Details",handler:y,style:"margin-bottom:5px;",cls:"btn-table"});J=new Ext.Button({id:"btnRAS",minWidth:e,renderTo:"btn4",text:"Request Showing",frm:"ras_form",handler:A,cls:"btn-table",style:"margin-bottom:5px;"});b=new Ext.form.Checkbox({id:"chkCTC",xtype:"checkbox",renderTo:"chk1",boxLabel:"Select to Compare",fieldClass:"chk-box",checked:false,listeners:{check:f.checkCompare,scope:this},inputValue:"chkCompare"});var k={title:"Summary",width:320,contentEl:"sum_tab",style:"padding:2px;"},j={title:"Photos",contentEl:"photo_tab"},d=[];d.push(k);d.push(j);B=new Ext.TabPanel({id:"previewTabs",renderTo:"tabSummary",activeTab:0,width:320,plain:true,defaults:{autoScroll:true,autoShow:true},items:d})}function I(b){if(!c)c=new LTI.idx.ras;var d=a.listings[b].c+", "+a.listings[b].s+" "+a.listings[b].z,e=String.format(a.RAS_MORE_INFO,a.listings[b].mls,a.listings[b].a,d);c.setMsg(e);c.openModal()}imageHandler=function(){var b=1,a=null,c=null,d=null;function e(c,d){if(a==null)a=$get("viewNum");var e=$get(d);if(d=="imgMain"){a.innerHTML=c.id;b=c.id}e.src=c.src}function g(){var e;if(a==null){a=$get("viewNum");b=parseInt(a.innerText)}if(c==null)c=$get("photoScroll").getElementsByTagName("img");if(d==null)d=$get("imgMain");if(b*1+1>c.length){b=1;e=c[0]}else e=$get(++b);d.src=e.src;a.innerHTML=e.id}function h(){var e;if(a==null){a=$get("viewNum");b=parseInt(a.innerText)}if(c==null)c=$get("photoScroll").getElementsByTagName("img");if(d==null)d=$get("imgMain");if(b-1<1){b=c.length-1;e=c[c.length-1]}else e=$get(--b);d.src=e.src;a.innerHTML=e.id}function f(){b=1}return {swapImg:e,next:g,previous:h,init:f}}();return {hideComp:f.hideCompare,init:v,showDetails:D,getPnlPreview:function(){return pnlPreview},getChkCTC:function(){return b},getImageHandler:function(){return imageHandler},getRAS:function(){return c},showRAS:I}}();LTI.idx.advSearch=function(){var b=LTI.idx.global,k,r=210,i=false,C=function(){var a=[];a.push(["?","Any Size"]);for(var c=1;c<21;c++){var b=[],d=c*500;d+="+";b.push(d);b.push(d);a.push(b)}return a}(),z=[["?","Any Size"],["4500+","4500 sq ft+"],["6500+","6500 sq ft+"],["8500+","8500 sq ft+"],["10890+","10,890 sq ft / 0.25 acres+"],["21780+","21,780 sq ft / 0.50 acres+"],["43560+","1 acre+"],["217800+","5 acres+"]],w=[["?","Any Year"],["2006+","< 2 years old"],["2005+","< 3 years old"],["2003+","< 5 years old"],["1998+","< 10 years old"],["1993+","< 15 years old"],["1983+","< 25 years old"],["1983","More Than 25 Years Old"]],A=[["?","All Days"],["14","2 weeks"],["7","1 week"],["3","3 days"],["1","1 day"]],a={displayField:"name",valueField:"value",typeAhead:true,mode:"local",triggerAction:"all",emptyText:"",selectOnFocus:true,listeners:{select:{fn:e,scope:this}},getLabel:function(){return this.fieldLabel},getName:function(){var a=this.view.getSelectedIndexes()[0];return this.store.getAt(a).data.name}},h={fields:["value","name"],data:[]},F={url:b.WS_ROOT+b.GET_COUNTY_CITY+"?cid="+b.CID,reader:new Ext.data.JsonReader({root:"rows",totalProperty:"totalRecords"},[{name:"name"},{name:"value"}])},g=new Ext.form.ComboBox({id:"county",fieldLabel:"County",emptyText:"All Areas",store:new Ext.data.Store({url:b.WS_ROOT+b.GET_COUNTY_CITY+"?cid="+b.CID,reader:new Ext.data.JsonReader({root:"rows",totalProperty:"totalRecords"},[{name:"name"},{name:"value"}])}),displayField:"name",valueField:"value",typeAhead:true,mode:"local",triggerAction:"all",selectOnFocus:true,editable:true,listeners:{select:{fn:e,scope:this}},getLabel:function(){return this.fieldLabel},getName:function(){var a=this.view.getSelectedIndexes()[0];return this.store.getAt(a).data.name}});a.id="sqft";a.fieldLabel="SqFt";a.emptyText="Any Size";a.editable=false;a.store=new Ext.data.SimpleStore(h);a.store.loadData(C);var n=new Ext.form.ComboBox(a);a.id="year";a.fieldLabel="Year Built";a.emptyText="Any Year";a.store=new Ext.data.SimpleStore(h);a.store.loadData(w);var m=new Ext.form.ComboBox(a),d=new Ext.form.ComboBox({id:"city",fieldLabel:"City",emptyText:"All Areas",store:new Ext.data.Store({url:b.WS_ROOT+b.GET_COUNTY_CITY+"?cid="+b.CID,reader:new Ext.data.JsonReader({root:"rows",totalProperty:"totalRecords"},[{name:"name"},{name:"value"}])}),displayField:"name",valueField:"value",typeAhead:true,mode:"local",triggerAction:"all",selectOnFocus:true,editable:true,listeners:{select:{fn:e,scope:this}},getLabel:function(){return this.fieldLabel},getName:function(){var a=this.view.getSelectedIndexes()[0];return this.store.getAt(a).data.name}});a.id="lotsz";a.fieldLabel="Lot Size";a.emptyText="Any Size";a.mode="local",a.store=new Ext.data.SimpleStore(h);a.store.loadData(z);var l=new Ext.form.ComboBox(a);a.id="cdom";a.fieldLabel="New on Market";a.emptyText="All Homes";a.store=new Ext.data.SimpleStore(h);a.store.loadData(A);var o=new Ext.form.ComboBox(a),c={handler:e,getLabel:function(){return this.boxLabel},getName:function(){return this.name}};c.id="water";c.boxLabel="Waterfront";c.name="water";var u=new Ext.form.Checkbox(c);c.id="view";c.boxLabel="View";c.name="view";var v=new Ext.form.Checkbox(c);c.id="new";c.boxLabel="New Construction";c.name="new";var y=new Ext.form.Checkbox(c),x={id:"adv-search",layout:"form",frame:true,title:"Advanced Search",bodyStyle:"padding:10px 10px 0px;",style:"z-index:10000;",width:600,items:[{layout:"column",defaults:{columnWidth:.5},items:[{layout:"form",items:[g,n,m]},{layout:"form",items:[d,l,o]}]}],buttons:[{text:"Search",handler:q},{text:"Cancel",handler:j}]},k=new Ext.FormPanel(x);function f(){var a=null;a=Ext.getCmp("adv-search").getEl();if(i)a.slideOut("t",{duration:0,useDisplay:true});else a.slideIn("t",{duration:0,useDisplay:true,callback:function(){}});i=!i}function q(){LTI.idx.searchBar.search();f()}function j(a){g.reset();n.reset();m.reset();d.reset();l.reset();o.reset();u.setValue(false);v.setValue(false);y.setValue(false);LTI.idx.searchBar.deleteSearchCriteria("county");LTI.idx.searchBar.deleteSearchCriteria("city");LTI.idx.searchBar.deleteSearchCriteria("sqft");LTI.idx.searchBar.deleteSearchCriteria("year");LTI.idx.searchBar.deleteSearchCriteria("lotsz");LTI.idx.searchBar.deleteSearchCriteria("cdom");LTI.idx.searchBar.deleteSearchCriteria("water");LTI.idx.searchBar.deleteSearchCriteria("view");LTI.idx.searchBar.deleteSearchCriteria("new");if(a)f()}function e(a){var b={};switch(a.getXType()){case "combo":if(a.getValue()!="?")LTI.idx.searchBar.addSearchCriteria(a.id,a.getLabel(),a.getName(),a.getValue());else LTI.idx.searchBar.deleteSearchCriteria(a.id);if(a.id=="county"){t(a.getValue());LTI.idx.searchBar.deleteSearchCriteria("city")}if(a.id=="city")LTI.idx.searchBar.deleteSearchCriteria("county");break;case "checkbox":if(a.getValue()==true)LTI.idx.searchBar.addSearchCriteria(a.id,a.getLabel(),"Yes",a.getValue());else LTI.idx.searchBar.deleteSearchCriteria(a.id)}}function s(){var a=-1,c=false,f=b.searchCriteria,e=panel.items.items;for(var d in f){var g=f[d].display;switch(d){case "county":a=0;break;case "city":a=1;break;case "sqft":a=2;break;case "lot":a=3;break;case "year":a=4;break;case "style":a=5;break;case "new":a=6;break;case "status":a=7;break;case "water":a=8;c=true;break;case "view":a=9;c=true;break;case "newconst":a=10;c=true}if(a>-1)if(!c)e[a].setValue(g.value);else e[a].setValue(true)}}function t(a){d.reset();d.store.proxy=new Ext.data.HttpProxy({url:b.WS_ROOT+b.GET_COUNTY_CITY+"?cid="+b.CID+"&county="+a});d.store.load()}function B(){g.store.proxy=new Ext.data.HttpProxy({url:b.WS_ROOT+b.GET_COUNTY_CITY+"?cid="+b.CID});g.store.load();d.store.proxy=new Ext.data.HttpProxy({url:b.WS_ROOT+b.GET_COUNTY_CITY+"?cid="+b.CID+"&cities=true"});d.store.load();k.render(Ext.get("pnlAdvSearch"));p=k.getEl();p.alignTo(Ext.get("IDXMap"),"tr-tr");p.setHeight(r,true);p.setVisible(false)}return {init:B,clickHandler:f,reset:j,setCriteria:s}}();var debug=false;$get=function(a){return document.getElementById(a)};LTI.idx.mainPanel=function(){var k,l,n,o,g,a=LTI.idx.global,b=new Ext.Panel({id:"east-panel",region:"east",split:false,width:335,collapsible:true,margins:"0 5 0 5",layout:"accordion",getActiveItem:function(){return this.activeItem},layoutConfig:{animate:false,autoScroll:true},items:[{id:"pnlSaved",title:"Saved Searches",contentEl:"savedSearches",border:true,iconCls:"settings",autoScroll:true,animate:true},{id:"pnlListings",title:"Property Listings",border:true,iconCls:"nav",contentEl:"listings",autoScroll:true,animate:true},{id:"pnlPreview",title:"Property Details",border:true,iconCls:"nav",contentEl:"details",animate:true},{id:"pnlCompare",title:"Compare Properties",border:true,iconCls:"settings",contentEl:"compProp",animate:true},{id:"pnlHelp",title:"Help",border:true,iconCls:"settings",contentEl:"help",autoScroll:true,animate:true}]}),c=b.items.items[0],j=b.items.items[1],f=b.items.items[2],e=b.items.items[3],d=b.items.items[4],m=function(c,d){var a=c,b=d;return {setTo:function(a){b=a},setFrom:function(b){a=b},getText:function(){return String.format("{0}-{1}",a,b)}}}(0,200000);AJAX=function(){function b(b){b.url=a.WS_ROOT+b.url;b.method=a.HTTP_REQUEST_METHOD;b.params["cid"]=a.CID;Ext.Ajax.request(b)}return {send:b}}();function h(){var b=Ext.getCmp("main-panel"),a=Ext.getCmp("center");Ext.get("IDXMap").setHeight(Ext.getCmp("center").getInnerHeight()-2);Ext.get("IDXMap").setWidth(Ext.getCmp("center").getInnerWidth()-2);b.setHeight(Ext.lib.Dom.getViewportHeight()-5);LTI.idx.veMap.resize(a.getInnerWidth(),a.getInnerHeight())}function i(){var h=Ext.isIE?235:235,a=Ext.getCmp("previewTabs"),b=f.getInnerHeight()>=e.getInnerHeight()?f.getInnerHeight():e.getInnerHeight(),g=c.getInnerHeight()>=d.getInnerHeight()?c.getInnerHeight():d.getInnerHeight(),i=b>g?b:g;if(a)a.setHeight(i-h)}return {getListingPnl:function(){return j},getPreviewPnl:function(){return f},getComparePnl:function(){return e},getSearchPnl:function(){return c},getHelpPnl:function(){return d},resizeTabs:i,init:function(){if(this.isInit)return;this.isInit=true;k=new Ext.Panel({id:"main-panel",frame:false,border:true,layout:"border",renderTo:"content",height:Ext.lib.Dom.getViewportHeight()-5,monitorResize:true,margins:"0 0 0 0",items:[{region:"north",height:25,layout:"fit",tbar:LTI.idx.searchBar.getToolbar()},{id:"center",region:"center",margins:"3 0 0 0",contentEl:"IDXMap",height:"100%",width:"100%",layout:"fit",tbar:LTI.idx.mapBar.getToolbar()},b]});LTI.idx.global.initStateManager();LTI.idx.searchBar.init(a.TYPES);LTI.idx.mapBar.init();LTI.idx.searches.init();LTI.idx.advSearch.init();LTI.idx.compareList.init();d.expand();LTI.idx.veMap.init();LTI.idx.veMap.loadListings(true);window.onresize=h;g=Ext.get("IDXMap");a.load=Ext.get("loading-anim");a.load.setX(g.getWidth()/2-150);a.load.setY(g.getHeight()/2-50);if(!a.getState("registered"))c.setTitle('<span style="color:maroon;font-weight:bold;">Register Now</b>')}}}();Ext.onReady(LTI.idx.mainPanel.init)