
var VE_AJAXAPI="http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx";
var VE_VERSION="6.1";
var liveHelpUrl="http://help.live.com/help.aspx?mkt=en-us";
var IDX_OPACY=0.7;
var IDX_AREA_OPACY=0.4;
var IDX_BKG_OPACY=0.2;
var IDX_FULL_OPACY=1;
var IDX_AREA_WIDTH=1;
var IDX_FULL_WIDTH=2;
var MAX_MULTIPIN_INCREMENT=10;
var MAX_ZOOM_LEVEL=19;
var PAGETYPE_IDXMAP=-9;
var VIEW_DETAILS_ICON="/5.5.00.22180/AgentWebPage/Consumer/Images/ico_arrowR.png";
var g_objVEMap=null;
var g_objVEAreaLayer=null;
var g_objVEFadingLayer=null;
var g_objBrowser=new BrowserInfo();
var g_aMapPolygons=new Array();
var g_aSelectedArea=new Array();
var g_aAllSelectedArea=new Array();
var g_oVEColorOverlay=null;
var g_oVEColorArea=null;
var g_oVEColorBkg=null;
var g_oVEColorSelect=null;
var g_sErrorGeneral="Error occured in IDX mapping page.";
if(g_objBrowser.VESupported)
{
document.write("<script type='text/javascript' src='"+VE_AJAXAPI+"?v="+VE_VERSION+"'><"+"/script>");
}
var g_xmlHttpRequestIDXMap=null;
var g_xmlHttpRequestMultiPinData=null;
var g_bDisplayResults=false;
var g_bIsIE=(g_objBrowser.Type==BrowserType.IE);
var g_bIsIE6=(g_bIsIE&&(g_objBrowser.Version==6));
var g_iPropertyIndex=0;
var g_iSysPropertyId=NaN;
var g_iTotalListings=0;
var g_map=null;
var g_sEncryptedSIDs=null;
var g_objMultiPins=null;
var g_objRefreshTimer=null;
var g_objSysPropertyIdList=null;
var g_sCurrentElementID=null;
var g_sMultiPinID=null;
var g_sSIDs=null;
var g_sSysPropertyIdList=null;
var g_xmlProperties=null;
var g_xmlMultiPinProperties=null;
var IconImage=
{
Active:"/5.5.00.22180/AgentWebPage/Consumer/Images/Mapping/singlePin_green.png",
Sold:"/5.5.00.22180/AgentWebPage/Consumer/Images/Mapping/singlePin_red.png",
Pending:"/5.5.00.22180/AgentWebPage/Consumer/Images/Mapping/singlePin_orange.png",
Expired:"/5.5.00.22180/AgentWebPage/Consumer/Images/Mapping/singlePin_pink.png",
Multi:"/5.5.00.22180/AgentWebPage/Consumer/Images/Mapping/multiOval_green.png",
OffMarket:"/5.5.00.22180/AgentWebPage/Consumer/Images/Mapping/singlePin_blue.png"
};
var ListingImage=
{
Success:0,
Loading:1,
Unavailable:2
};
var StatusType=
{
Active:1,
Sold:2,
Pending:3,
Expired:4,
OffMarket:5
};
function InitIDXSearchMap(p_sMapBoundID)
{
try
{
$("spanIDXMapLoading").style.display="none";
$("spanIDXMapNotSupported").style.display="none";
$(p_sMapBoundID).style.display="block";
g_objVEMap=new VEMap(p_sMapBoundID);
g_objVEMap.LoadMap(null,null,"r",true);
g_objVEMap.EnableShapeDisplayThreshold(false);
$(p_sMapBoundID).style.cursor="pointer";
g_oVEColorOverlay=new VEColor(220,220,220,IDX_OPACY);
g_oVEColorArea=new VEColor(0,128,0,IDX_AREA_OPACY);
g_oVEColorSelect=new VEColor(235,100,80,IDX_FULL_OPACY);
g_oVEColorBkg=new VEColor(235,100,80,IDX_BKG_OPACY);
var bShapeAvailable=ZoomToBestFit();
if(bShapeAvailable)
{
OverlayIDXMapShadow();
AddMapAreaLayer();
}
else
{
$("divMapCriteriaArea").style.display="none";
$("spanIDXMapNotConfigured").style.display="inline";
}
var objSelect=$("selMapArea");
var objEntireArea=$("chkEntireArea");
if(objSelect!=null)
{
var sFieldRef=objSelect.getAttribute("FieldRef");
var aFieldRefs=sFieldRef.split("-");
document.forms[0].GeoFieldID.value=aFieldRefs[0];
document.forms[0].GeoFieldOrder.value=aFieldRefs[1];
if(objSelect.selectedIndex!=-1&&bShapeAvailable)
{
SynchronizeControlAndMap();
}
}
}
catch(e)
{
DisplayErrorDialog(g_sErrorGeneral,e,"IDXMapping.js","InitIDXSearchMap");
}
}
function ZoomToBestFit()
{
var bMapShapeAvailable=true;
try
{
if(typeof(g_bZoomToParentArea)=="undefined"||!g_bZoomToParentArea)
{
var iMinLatitude=null;
var iMaxLatitude=null;
var iMinLongitude=null;
var iMaxLongitude=null;
var sAreaKey="";
for(sAreaKey in g_aMapPolygons)
{
if(g_aMapPolygons[sAreaKey].PolyPoints!=null)
{
for(var iPolyPntIdx=0;iPolyPntIdx<g_aMapPolygons[sAreaKey].PolyPoints.length;iPolyPntIdx++)
{
if(iMinLatitude==null||iMinLatitude>g_aMapPolygons[sAreaKey].PolyPoints[iPolyPntIdx].Latitude)
{
iMinLatitude=g_aMapPolygons[sAreaKey].PolyPoints[iPolyPntIdx].Latitude;
}
if(iMinLongitude==null||iMinLongitude>g_aMapPolygons[sAreaKey].PolyPoints[iPolyPntIdx].Longitude)
{
iMinLongitude=g_aMapPolygons[sAreaKey].PolyPoints[iPolyPntIdx].Longitude;
}
if(iMaxLatitude==null||iMaxLatitude<g_aMapPolygons[sAreaKey].PolyPoints[iPolyPntIdx].Latitude)
{
iMaxLatitude=g_aMapPolygons[sAreaKey].PolyPoints[iPolyPntIdx].Latitude;
}
if(iMaxLongitude==null||iMaxLongitude<g_aMapPolygons[sAreaKey].PolyPoints[iPolyPntIdx].Longitude)
{
iMaxLongitude=g_aMapPolygons[sAreaKey].PolyPoints[iPolyPntIdx].Longitude;
}
}
}
}
if(iMinLatitude!=null&&iMinLongitude!=null&&iMaxLatitude!=null&&iMaxLongitude!=null)
{
var objVELatLngRec=new VELatLongRectangle(new VELatLong(iMinLatitude,iMinLongitude),
new VELatLong(iMaxLatitude,iMaxLongitude));
g_objVEMap.SetMapView(objVELatLngRec);
}
else
{
bMapShapeAvailable=false;
}
}
}
catch(e)
{
DisplayErrorDialog(g_sErrorGeneral,e,"IDXMapping.js","ZoomToBestFit");
}
return bMapShapeAvailable;
}
function OverlayIDXMapShadow()
{
try
{
if(g_objVEFadingLayer==null)
{
g_objVEFadingLayer=new VEShapeLayer();
g_objVEMap.AddShapeLayer(g_objVEFadingLayer);
}
var objVECurLatLngRec=g_objVEMap.GetMapView();
var fLowerRightLat=objVECurLatLngRec.BottomRightLatLong.Latitude;
var fLowerRightLng=objVECurLatLngRec.BottomRightLatLong.Longitude;
var fTopLeftLat=objVECurLatLngRec.TopLeftLatLong.Latitude;
var fTopLeftLng=objVECurLatLngRec.TopLeftLatLong.Longitude;
var aPolyLatLongs=new Array(new VELatLong(fTopLeftLat,fTopLeftLng),
new VELatLong(fLowerRightLat,fTopLeftLng),
new VELatLong(fLowerRightLat,fLowerRightLng),
new VELatLong(fTopLeftLat,fLowerRightLng));
var objCoverPoly=new VEShape(VEShapeType.Polygon,aPolyLatLongs);
objCoverPoly.SetLineWidth(IDX_AREA_WIDTH);
objCoverPoly.SetLineColor(g_oVEColorOverlay);
objCoverPoly.SetFillColor(g_oVEColorOverlay);
objCoverPoly.SetCustomIcon("<span></span>");
g_objVEFadingLayer.AddShape(objCoverPoly);
}
catch(e)
{
DisplayErrorDialog(g_sErrorGeneral,e,"IDXMapping.js","OverlayIDXMapShadow");
}
}
function AddMapAreaLayer()
{
try
{
if(g_objVEAreaLayer==null)
{
g_objVEAreaLayer=new VEShapeLayer();
g_objVEMap.AddShapeLayer(g_objVEAreaLayer);
}
var sAreaKey="";
for(sAreaKey in g_aMapPolygons)
{
if(g_aMapPolygons[sAreaKey].PolyPoints!=null)
{
AddMapAreaPolygon(sAreaKey);
}
}
}
catch(e)
{
DisplayErrorDialog(g_sErrorGeneral,e,"IDXMapping.js","AddMapAreaLayer");
}
}
function AddMapAreaPolygon(p_sAreaKey)
{
try
{
var objAreaPolygon=new VEShape(VEShapeType.Polygon,g_aMapPolygons[p_sAreaKey].PolyPoints);
objAreaPolygon.Primitives[0].symbol.stroke_dashstyle="Solid";
var oFillColor=g_oVEColorArea;
var sCustomIcon="<span style='color:blue;font-weight:bold;font-color:blue;font-size:8pt'>"+g_aMapPolygons[p_sAreaKey].Description+"</span>";
if(g_aMapPolygons[p_sAreaKey].IsParent)
{
objAreaPolygon.Primitives[0].symbol.stroke_dashstyle="ShortDot";
oFillColor=g_oVEColorBkg;
sCustomIcon="<span></span>";
}
objAreaPolygon.SetLineWidth(IDX_AREA_WIDTH);
objAreaPolygon.SetFillColor(oFillColor);
objAreaPolygon.SetCustomIcon(sCustomIcon);
g_objVEAreaLayer.AddShape(objAreaPolygon);
g_aMapPolygons[p_sAreaKey].Polygon=objAreaPolygon;
if(!g_aMapPolygons[p_sAreaKey].IsParent)
{
var objPolygonShape=$(objAreaPolygon.Primitives[0].iid);
var objPolygonLink=$(objAreaPolygon.Primitives[0].iid+"_l");
if(objPolygonShape!=null)
{
objPolygonShape.onclick=function(){onMapAreaSelect(objAreaPolygon,p_sAreaKey);};
}
if(objPolygonLink!=null)
{
objPolygonLink.onclick=function(){onMapAreaSelect(objAreaPolygon,p_sAreaKey);};
}
}
else
{
var objVELatLngRec=new VELatLongRectangle(new VELatLong(objAreaPolygon.Boundingbox.y1,objAreaPolygon.Boundingbox.x1),
new VELatLong(objAreaPolygon.Boundingbox.y2,objAreaPolygon.Boundingbox.x2));
g_objVEMap.SetMapView(objVELatLngRec);
}
}
catch(e)
{
DisplayErrorDialog(g_sErrorGeneral,e,"IDXMapping.js","AddMapAreaPolygon");
}
}
function onMapAreaSelect(p_objPolygon,p_sAreaKey)
{
try
{
if(p_objPolygon==null)
{
p_objPolygon=g_aMapPolygons[p_sAreaKey].Polygon;
}
FlipPolygonStatus(p_objPolygon,p_sAreaKey,g_aMapPolygons[p_sAreaKey].Selected);
SelectAreaInControl(p_sAreaKey,g_aMapPolygons[p_sAreaKey].Selected);
ConstructMapAreaValue();
}
catch(e)
{
DisplayErrorDialog(g_sErrorGeneral,e,"IDXMapping.js","onMapAreaSelect");
}
}
function SelectAreaInControl(p_sAreaKey,p_bSelected)
{
try
{
g_aSelectedArea=new Array();
g_aAllSelectedArea=new Array();
var objSelectControl=$("selMapArea");
var iAreaCount=objSelectControl.options.length;
for(var i=0;i<iAreaCount;i++)
{
if(objSelectControl.options[i].value==p_sAreaKey)
{
objSelectControl.options[i].selected=p_bSelected;
break;
}
}
for(var i=0;i<iAreaCount;i++)
{
if(objSelectControl.options[i].selected)
{
g_aAllSelectedArea.push(i);
if(g_aMapPolygons[objSelectControl.options[i].value]!=null)
{
g_aSelectedArea.push(i);
}
}
}
$('chkEntireArea').checked=(g_aAllSelectedArea.length==iAreaCount);
}
catch(e)
{
DisplayErrorDialog(g_sErrorGeneral,e,"IDXMapping.js","SelectAreaInControl");
}
}
function FlipPolygonStatus(p_objPolygon,p_sAreaKey,p_bSelected)
{
try
{
if(p_objPolygon==null)
{
p_objPolygon=g_aMapPolygons[p_sAreaKey].Polygon;
}
if(p_bSelected)
{
p_objPolygon.SetLineWidth(IDX_AREA_WIDTH);
p_objPolygon.SetFillColor(g_oVEColorArea);
}
else
{
p_objPolygon.SetLineWidth(IDX_FULL_WIDTH);
p_objPolygon.SetFillColor(g_oVEColorSelect);
}
g_aMapPolygons[p_sAreaKey].Selected=!p_bSelected;
p_objPolygon.onclick=function(){onPolygonSelect(p_objPolygon,p_sAreaKey);}
}
catch(e)
{
DisplayErrorDialog(g_sErrorGeneral,e,"IDXMapping.js","FlipPolygonStatus");
}
}
function SynchronizeControlAndMap()
{
try
{
var objSelectControl=$("selMapArea");
var iAreaCount=objSelectControl.options.length;
var aSelectedIndex=new Array();
var aSelectedIndexInMap=new Array();
for(var i=0;i<iAreaCount;i++)
{
if(objSelectControl.options[i].selected)
{
aSelectedIndex.push(i);
if(g_aMapPolygons[objSelectControl.options[i].value]!=null)
{
aSelectedIndexInMap.push(i);
}
}
}
if($("divMapCriteriaArea")!=null)
{
var aRemovedIndex=new Array();
var aAddedIndex=new Array();
for(var i=0;i<g_aSelectedArea.length;i++)
{
if(!ArrayContains(aSelectedIndexInMap,g_aSelectedArea[i]))
{
aRemovedIndex.push(g_aSelectedArea[i]);
}
}
for(var i=0;i<aSelectedIndexInMap.length;i++)
{
if(!ArrayContains(g_aSelectedArea,aSelectedIndexInMap[i]))
{
aAddedIndex.push(aSelectedIndexInMap[i]);
}
}
if(aRemovedIndex.length>0)
{
for(var i=0;i<aRemovedIndex.length;i++)
{
FlipPolygonStatus(null,objSelectControl.options[aRemovedIndex[i]].value,true);
}
}
if(aAddedIndex.length>0)
{
for(var i=0;i<aAddedIndex.length;i++)
{
FlipPolygonStatus(null,objSelectControl.options[aAddedIndex[i]].value,false);
}
}
}
g_aSelectedArea=aSelectedIndexInMap;
g_aAllSelectedArea=aSelectedIndex;
$('chkEntireArea').checked=(g_aAllSelectedArea.length==iAreaCount);
ConstructMapAreaValue();
}
catch(e)
{
DisplayErrorDialog(g_sErrorGeneral,e,"IDXMapping.js","SynchronizeControlAndMap");
}
}
function SelectEntireArea(p_bSelectAll)
{
try
{
var objSelectControl=$("selMapArea");
var iAreaCount=objSelectControl.options.length;
for(var i=0;i<iAreaCount;i++)
{
objSelectControl.options[i].selected=p_bSelectAll;
}
SynchronizeControlAndMap();
ConstructMapAreaValue();
}
catch(e)
{
DisplayErrorDialog(g_sErrorGeneral,e,"IDXMapping.js","SelectEntireArea");
}
}
function CheckAndSelectAllChildren()
{
try
{
if(ValidateMapAreaField())
{
var iGeoFieldOrder=document.forms[0].GeoFieldOrder.value;
if(iGeoFieldOrder>1)
{
if($("chkEntireArea")!=null&&$("selMapArea")!=null&&$("selMapArea").selectedIndex==-1)
{
SelectEntireArea(true);
}
}
}
}
catch(e)
{
DisplayErrorDialog(g_sErrorGeneral,e,"IDXMapping.js","CheckAndSelectAllChildren");
}
}
function ConstructMapAreaValue()
{
try
{
if(ValidateMapAreaField())
{
var iGeoFieldID=document.forms[0].GeoFieldID.value;
var iGeoFieldOrder=document.forms[0].GeoFieldOrder.value;
var sCurGeoValue=document.forms[0].GeoValues.value;
var sGeoValueFmt="F"+String(iGeoFieldID)+"-"+String(iGeoFieldOrder)+":";
var regExpGeoValue=new RegExp(sGeoValueFmt+"[^\;]+\;");
var sMapAreaValue="";
var objSelectControl=$("selMapArea");
if(objSelectControl!=null&&objSelectControl.selectedIndex!=-1)
{
for(var i=0;i<objSelectControl.options.length;i++)
{
if(objSelectControl.options[i].selected)
{
sMapAreaValue+=objSelectControl.options[i].value+"|";
}
}
sMapAreaValue=sMapAreaValue.substr(0,sMapAreaValue.length-1);
sMapAreaValue=sGeoValueFmt+sMapAreaValue+";";
}
if(regExpGeoValue.test(sCurGeoValue))
{
sCurGeoValue=sCurGeoValue.replace(regExpGeoValue,sMapAreaValue);
}
else
{
sCurGeoValue+=sMapAreaValue;
}
document.forms[0].GeoValues.value=sCurGeoValue;
}
}
catch(e)
{
DisplayErrorDialog(g_sErrorGeneral,e,"IDXMapping.js","ConstructMapAreaValue");
}
}
function ValidateMapAreaField()
{
try
{
return(document.forms!=null&&document.forms[0]!=null&&
typeof(document.forms[0].GeoValues)!="undefined"&&
typeof(document.forms[0].GeoFieldID)!="undefined"&&
typeof(document.forms[0].GeoFieldOrder)!="undefined"&&
document.forms[0].GeoFieldID.value!=""&&document.forms[0].GeoFieldOrder.value!="");
}
catch(e)
{
DisplayErrorDialog(g_sErrorGeneral,e,"IDXMapping.js","ValidateMapAreaField");
}
}
function GetIDXMap()
{
try
{
var objMapOptions=new VEMapOptions();
objMapOptions.EnableBirdseye=false;
g_map=new VEMap('divMap');
g_map.LoadMap(new VELatLong(g_lat,g_long),g_zoom,VEMapStyle.Road,false,VEMapMode.Mode2D,false,1,objMapOptions);
g_map.AttachEvent("onendpan",SetRefreshMapPinsTimer);
g_map.AttachEvent("onendzoom",SetRefreshMapPinsTimer);
g_map.AttachEvent("onmouseover",OnMouseOverCallBack);
g_map.AttachEvent("onclick",OnMouseClick);
RefreshMapPins();
}
catch(e)
{
DisplayErrorDialog(g_sErrorGeneral,e,"IDXMapping.js","GetIDXMap");
}
}
function SetRefreshMapPinsTimer(e)
{
try
{
CancelRefreshMapPinsTimer();
g_objRefreshTimer=setTimeout("RefreshMapPins()",1000);
}
catch(e)
{
DisplayErrorDialog(g_sErrorGeneral,e,"IDXMapping.js","SetRefreshMapPinsTimer");
}
}
function CancelRefreshMapPinsTimer()
{
try
{
if(g_objRefreshTimer!=null)
{
clearTimeout(g_objRefreshTimer);
g_objRefreshTimer=null;
}
}
catch(e)
{
DisplayErrorDialog(g_sErrorGeneral,e,"IDXMapping.js","CancelRefreshMapPinsTimer");
}
}
function RefreshMapPins()
{
try
{
if(g_map.ID==null)
{
return;
}
var key=null;
var latLongRectangle=null;
var mapStyle=null;
var operatorKey=null;
var post="SubTypeID="+$("frmCriteria").SubTypeID.value+
"&SearchID="+$("frmCriteria").SearchID.value+
"&WebsiteTypeID="+g_iWebSiteType+
"&GridID="+$("frmCriteria").GridID.value;
var url="/DotNet/AWPSearch/IdxMapSearch.ashx";
var value=null;
var zoomLevel=g_map.GetZoomLevel();
ToggleButtons(false);
g_objRefreshTimer=null;
CancelRequest();
var objDivCount=$("divMapSearching");
if(objDivCount&&"none"==objDivCount.style.display&&$("divMappedCount"))
{
objDivCount.style.display="block";
$("divMappedCount").style.display="none";
}
g_objMultiPins=new Object();
for(key in g_aCritValues)
{
if(/[FHLT]\d+$/.test(key))
{
if(eval("$(\"frmCriteria\")."+key)!=undefined)
{
value=eval(g_aCritValues[key]);
if((value!=undefined)&&(value!=null)&&(value!=""))
{
operatorKey=key.replace(/[FHLT]/,"O");
if(!(new RegExp("&"+operatorKey+"=\\d+")).test(post))
{
post+="&"+operatorKey+"="+g_aCritValues[operatorKey];
}
post+="&"+key+"="+value;
}
}
}
}
mapStyle=g_map.GetMapStyle();
if((mapStyle!=VEMapStyle.Oblique)&&(mapStyle!=VEMapStyle.Birdseye)&&(mapStyle!=VEMapStyle.BirdseyeHybrid))
{
latLongRectangle=g_map.GetMapView();
}
else
{
latLongRectangle=g_map.GetBirdseyeScene().GetBoundingRectangle();
}
post+="&LowLat="+latLongRectangle.BottomRightLatLong.Latitude+"&HighLat="+latLongRectangle.TopLeftLatLong.Latitude+
"&LowLong="+latLongRectangle.TopLeftLatLong.Longitude+"&HighLong="+latLongRectangle.BottomRightLatLong.Longitude+
"&ZoomLevel="+zoomLevel+
"&ConsolidatePins=1";
g_xmlHttpRequestIDXMap=new XmlHttp();
g_xmlHttpRequestIDXMap.open("POST",url);
g_xmlHttpRequestIDXMap.onreadystatechange=RSCRefreshMapPins;
g_xmlHttpRequestIDXMap.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
g_xmlHttpRequestIDXMap.send(post);
var veLatLon=g_map.GetCenter();
$("frmCriteria").MapCrit.value=veLatLon.Latitude+","+veLatLon.Longitude+","+zoomLevel;
}
catch(e)
{
DisplayErrorDialog(g_sErrorGeneral,e,"IDXMapping.js","RefreshMapPins");
}
}
function CancelRequest()
{
try
{
if(g_xmlHttpRequestIDXMap)
{
g_xmlHttpRequestIDXMap.aborted=true;
g_xmlHttpRequestIDXMap.abort();
g_xmlHttpRequestIDXMap.onreadystatechange=new Function();
}
}
catch(e)
{
DisplayErrorDialog(g_sErrorGeneral,e,"IDXMapping.js","CancelRequest");
}
}
function RSCRefreshMapPins()
{
try
{
var color="black";
var count=0;
var counter=0;
var descriptionHtml=null;
var field=null;
var iconSpec=null;
var latitude=0;
var listingGroupCount=0;
var listingGroups=null;
var longitude=0;
var mapped=0;
var mapPinIcon=null;
var node=null;
var pin=null;
var statusType=0;
var sysPropertyId=NaN;
var titleHtml=null;
if(g_map.ID!=null&&!g_xmlHttpRequestIDXMap.aborted&&isXMLHttpReady(g_xmlHttpRequestIDXMap))
{
g_xmlHttpRequestIDXMap.onreadystatechange=new Function();
if(g_xmlHttpRequestIDXMap.status!=200)
{
return;
}
g_xmlProperties=g_xmlHttpRequestIDXMap.responseXML;
if($("divMapSearching")!=null)
{
$("divMapSearching").style.display="none";
}
if(g_bIsIE)
{
g_xmlProperties.setProperty("SelectionLanguage","XPath");
}
node=SelectSingleNode(g_xmlProperties,"/RESULTS");
g_iTotalListings=node.getAttribute("total");
mapped=node.getAttribute("mapped");
$("divMapSearching").style.display="none";
var objDivCount=$("divMappedCount");
var sCountText="<A class=\"countTotalText\" href=\"#\" onclick=\"OnListViewClicked();return false;\">"+g_iTotalListings+" properties found</A>";
var iUnmappedCount=g_iTotalListings-mapped;
if(iUnmappedCount>0)
{
sCountText+=" <DIV class=\"countUnmappedText\">"+iUnmappedCount+"</DIV> <DIV class=\"countText\">addresses not available</DIV>";
}
objDivCount.innerHTML=sCountText;
objDivCount.style.display="block";
g_map.DeleteAllShapes();
node=SelectSingleNode(g_xmlProperties,"/RESULTS/SIDS");
if(node!=null)
{
g_sSIDs=GetTextContent(node);
}
node=SelectSingleNode(g_xmlProperties,"/RESULTS/ESIDS");
if(node!=null)
{
g_sEncryptedSIDs=GetTextContent(node);
}
if(g_iTotalListings>0)
{
listingGroups=SelectNodes(g_xmlProperties,"/RESULTS/GROUP");
listingGroupCount=(listingGroups!=null)?listingGroups.length:0;
for(counter=0;counter<listingGroupCount;counter++)
{
node=listingGroups[counter];
latitude=node.getAttribute("lat");
longitude=node.getAttribute("long");
if((latitude!=null)&&(latitude!="")&&(longitude!=null)&&(longitude!=""))
{
pin=new VEShape(VEShapeType.Pushpin,new VELatLong(latitude,longitude));
count=node.getAttribute("count");
if(count>1)
{
pin.SetId("MultiPin"+node.getAttribute("id"));
if(count>=1000)
{
count=Math.round((count/1000))+"K";
}
iconSpec=CreateIcon(IconImage.Multi,count);
if(count<=g_iSearchLimit)
{
titleHtml="<TABLE border=\"0px\" cellpadding=\"4px\" cellspacing=\"0px\" width=\"100%\">"+
"<TR style=\"background-color:#5d7b9d;color:#ffffff;font-size:7pt;font-weight:normal;\">"+
"<TD><SPAN onclick=\"ZoomIn();\" style=\"" + ((g_map.GetZoomLevel() < MAX_ZOOM_LEVEL) ? "cursor:pointer" : "color:#c0c0c0") + ";\">Zoom in</SPAN></TD>"+
"<TD style=\"color:#000000;font-weight:bold;text-align:center;\">Listing <SPAN id=\"spanCurrentPropertyIndex\">0</SPAN> of "+count+"</TD>"+
"<TD style=\"text-align:right;\"><SPAN id=\"spanPrevious\" onclick=\"LoadPrevious();\" style=\"color:#c0c0c0;\">&lt;&lt; Prev</SPAN> | <SPAN id=\"spanNext\" onclick=\"LoadNext();\" style=\"cursor:pointer;\">Next &gt;&gt;</SPAN></TD>"+
"</TR>"+
"</TABLE>";
pin.SetTitle(titleHtml);
descriptionHtml="<DIV id=\"divSummaryContainer\" class=\"idxMapInfoBoxText\">Loading data...</DIV>";
pin.SetDescription(descriptionHtml);
}
}
else
{
field=SelectSingleNode(g_xmlProperties,"/RESULTS/GROUP["+(counter+1)+"]/SID");
if(field!=null)
{
sysPropertyId=GetTextContent(field);
pin.SetId(sysPropertyId);
}
else
{
sysPropertyId=NaN;
}
field=SelectSingleNode(g_xmlProperties,"/RESULTS/GROUP["+(counter+1)+"]/STATUS");
if(field!=null)
{
statusType=field.getAttribute("type");
}
switch(Number(statusType))
{
case StatusType.Active:
mapPinIcon=IconImage.Active;
color="green";
break;
case StatusType.Pending:
mapPinIcon=IconImage.Pending;
color="orange";
break;
case StatusType.Expired:
mapPinIcon=IconImage.Expired;
color="purple";
break;
case StatusType.OffMarket:
mapPinIcon=IconImage.OffMarket;
color="blue";
break;
default:
mapPinIcon=IconImage.Sold;
color="red";
break;
}
iconSpec=CreateIcon(mapPinIcon,"");
titleHtml="<TABLE border=\"0px\" cellpadding=\"4px\" cellspacing=\"0px\" width=\"100%\">"+
"<TR style=\"background-color:#5d7b9d;color:#ffffff;font-size:7pt;font-weight:normal;\">"+
"<TD><SPAN onclick=\"ZoomIn();\" style=\"" + ((g_map.GetZoomLevel() < MAX_ZOOM_LEVEL) ? "cursor:pointer" : "color:#c0c0c0") + ";\">Zoom in</SPAN></TD>"+
"<TD style=\"color:#000000;font-weight:bold;text-align:center;\">Listing 1 of 1</TD>"+
"<TD style=\"color:#c0c0c0;text-align:right;\">&lt;&lt; Prev <SPAN style=\"color:#ffffff;\">|</SPAN> Next &gt;&gt;</TD>"+
"</TR>"+
"</TABLE>";
pin.SetTitle(titleHtml);
descriptionHtml=CreateInfoBox(sysPropertyId,(counter+1),color,g_xmlProperties);
pin.SetDescription(descriptionHtml);
}
pin.SetCustomIcon(iconSpec);
g_map.AddShape(pin);
}
}
}
g_xmlHttpRequestIDXMap=null;
if(g_bDisplayResults)
{
g_bDisplayResults=false;
DisplayIDXMapResult();
}
else
{
ToggleButtons(true);
}
}
}
catch(e)
{
DisplayErrorDialog(g_sErrorGeneral,e,"IDXMapping.js","RSCRefreshMapPins");
}
}
function CreateIcon(iconPath,count)
{
try
{
var iconSpec=new VECustomIconSpecification();
iconSpec.Image=iconPath;
iconSpec.TextContent=count;
iconSpec.TextBold=true;
iconSpec.TextFont="Arial";
iconSpec.TextSize=8;
iconSpec.TextOffset=new VEPixel(7,1);
return iconSpec;
}
catch(e)
{
DisplayErrorDialog(g_sErrorGeneral,e,"IDXMapping.js","CreateIcon");
}
}
function CreateInfoBox(sysPropertyId,index,color,xmlProperties)
{
try
{
var column=0;
var columns=null;
var counter=0;
var descriptionHtml=null;
var lastFieldValue="";
var position=0;
var tagLine=new Array();
var totalRecords=0;
var value=null;
descriptionHtml="<TABLE border=\"0px\" cellpadding=\"0px\" cellspacing=\"0px\">"+
"<TR>"+
"<TD id=\"ResultsPhoto\" style=\"padding-right:5px;vertical-align:top;\">"+
"<IMG id=\"imgPushpinListingImage\" onclick=\"DisplayListingDetails(" + sysPropertyId + ");\" onerror=\"UpdateThumnailImageStatus(ListingImage.Unavailable);\" onload=\"PushpinThumnailImageLoadRSC(this);\" style=\"display:none;\" title=\"Click to view listing details\" />"+
"<SPAN id=\"spanImageLoading\" onclick=\"DisplayListingDetails(" + sysPropertyId + ");\" style=\"cursor:pointer;font-size:7pt;\" title=\"Click to view listing details\">Loading Image ...</SPAN>"+
"<SPAN id=\"spanNoPropImageMap\" onclick=\"DisplayListingDetails(" + sysPropertyId + ");\" style=\"cursor:pointer;display:none;\" title=\"Click to view listing details\"></SPAN>"+
"</TD>"+
"<TD valign=\"top\">"+
"<TABLE border=\"0px\" cellpadding=\"0px\" cellspacing=\"0px\">";
columns=SelectNodes(xmlProperties,"/RESULTS/GROUP["+index+"]/*[@order]");
totalRecords=columns.length;
for(counter=1;counter<=totalRecords;counter++)
{
column=SelectSingleNode(xmlProperties,"/RESULTS/GROUP["+index+"]/*[@order="+counter+"]");
value=GetTextContent(column);
if(column.nodeName=="STATUS")
{
value="<SPAN style=\"color:" + color + ";\">"+value+"</SPAN>";
}
if(counter==1)
{
descriptionHtml+="<TR><TD class=\"idxMapInfoBoxFirstLine\">"+value+"</TD></TR>";
}
else
{
if(parseInt(column.getAttribute("colspan"))==2)
{
if(position==1)
{
descriptionHtml+="</TD></TR>";
position=0;
}
descriptionHtml+="<TR><TD class=\"idxMapInfoBoxText\">"+value+"</TD></TR>";
}
else
{
if(position==0)
{
descriptionHtml+="<TR><TD class=\"idxMapInfoBoxText\">"+value;
lastFieldValue=value;
}
else
{
if((lastFieldValue!="")&&(value!=""))
{
descriptionHtml+=" | ";
}
descriptionHtml+=value+"</TD></TR>";
}
position=(position==0)?1:0;
}
}
}
if(position==1)
{
descriptionHtml+="</TD></TR>";
}
descriptionHtml+="</TABLE>"
if(!g_bHideListingCourtesyTagline)
{
if(g_sWebIDXUseTagline!=null)
{
if(/(Agent|Broker)/.test(g_sWebIDXUseTagline))
{
switch(g_sWebIDXUseTagline)
{
case "Agent+Broker+Phone":
case "Broker+Phone":
column=SelectSingleNode(xmlProperties,"/RESULTS/GROUP["+index+"]/OFFICEPHONE");
value=GetTextContent(column);
if(value!="")
{
tagLine.splice(0,0,value);
}
case "Agent+Broker":
case "Broker":
column=SelectSingleNode(xmlProperties,"/RESULTS/GROUP["+index+"]/OFFICE");
value=GetTextContent(column);
if(value!="")
{
tagLine.splice(0,0,value);
}
if(/^Broker/.test(g_sWebIDXUseTagline))
{
break;
}
case "Agent":
column=SelectSingleNode(xmlProperties,"/RESULTS/GROUP["+index+"]/AGENT");
value=GetTextContent(column);
if(value!="")
{
tagLine.splice(0,0,value);
}
break;
}
if(tagLine.length>0)
{
descriptionHtml+="<TR><TD class=\"idxMapInfoBoxCourtesyLine\" colspan=\"2\">Listing Courtesy of "+tagLine.join(", ")+"</TD></TR>";
}
}
else if((g_sWebIDXUseTagline!="None")&&(g_sWebIDXUseTagline!=""))
{
descriptionHtml+="<TR><TD class=\"idxMapInfoBoxCourtesyLine\" colspan=\"2\">"+g_sWebIDXUseTagline+"</TD></TR>";
}
}
}
descriptionHtml+="<TR><TD class=\"idxMapInfoBoxViewDetailsLink\" colspan=\"2\">"+
"<SPAN onclick=\"DisplayListingDetails(" + sysPropertyId + ");\" onmouseout=\"this.style.textDecoration='none';\" onmouseover=\"this.style.textDecoration='underline';\" style=\"cursor:pointer;\">View Details</SPAN> "+
((g_bIsIE6)?"<SPAN onclick=\"DisplayListingDetails(" + sysPropertyId + ");\" style=\"cursor:pointer;display:inline-block;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + VIEW_DETAILS_ICON + "',sizingMethod='scale');height:16px;width:16px;\"></SPAN>":
"<IMG border=\"0px\" onclick=\"DisplayListingDetails(" + sysPropertyId + ");\" src=\"" + VIEW_DETAILS_ICON + "\" style=\"cursor:pointer;vertical-align:middle;\" />")+
"</TD></TR>";
descriptionHtml+="</TD>"+
"</TR>"+
"</TABLE>";
return descriptionHtml;
}
catch(e)
{
DisplayErrorDialog(g_sErrorGeneral,e,"IDXMapping.js","CreateInfoBox");
}
}
function OnMouseOverCallBack(e)
{
try
{
var elements=null;
var groupId=0;
var node=null;
g_sCurrentElementID=e.elementID;
if(g_sCurrentElementID!=null)
{
elements=g_sCurrentElementID.split("_");
if(elements!=null)
{
g_iSysPropertyId=elements[2];
if(!/MultiPin/.test(g_iSysPropertyId))
{
setTimeout(CompletePushpinUIOnCallback,500);
}
else
{
g_sMultiPinID=g_iSysPropertyId;
if(g_xmlHttpRequestMultiPinData)
{
g_xmlHttpRequestMultiPinData.aborted=true;
g_xmlHttpRequestMultiPinData.abort();
g_xmlHttpRequestMultiPinData.onreadystatechange=new Function();
}
groupId=g_sCurrentElementID.replace(/.*MultiPin(\d*)_.*/gi,"$1");
node=SelectSingleNode(g_xmlProperties,"/RESULTS/GROUP[@id="+groupId+"]");
if(node!=null)
{
g_sSysPropertyIdList=GetTextContent(node);
g_iPropertyIndex=0;
setTimeout(CompleteMultiPushpinUIOnCallback,500);
}
}
}
}
}
catch(e)
{
DisplayErrorDialog(g_sErrorGeneral,e,"IDXMapping.js","OnMouseOverCallBack");
}
}
function CompletePushpinUIOnCallback(xmlProperties,sysPropertyID)
{
try
{
var imagePath=null;
var imagePathNode=null;
var objImgPushpinListingImage=null;
if((xmlProperties==null)&&(sysPropertyID==null))
{
xmlProperties=g_xmlProperties;
sysPropertyID=g_iSysPropertyId;
}
if(!isNaN(sysPropertyID)&&(sysPropertyID>0)&&(xmlProperties!=null))
{
imagePathNode=SelectSingleNode(xmlProperties,"/RESULTS/GROUP/IMG[../SID[.="+sysPropertyID+"]]");
if(imagePathNode!=null)
{
imagePath=GetTextContent(imagePathNode);
if((imagePath!=null)&&(imagePath!=""))
{
objImgPushpinListingImage=$("imgPushpinListingImage");
if(objImgPushpinListingImage!=null)
{
objImgPushpinListingImage.src=g_sImageUrlRoot+imagePath;
}
}
else
{
UpdateThumnailImageStatus(ListingImage.Unavailable);
}
}
else
{
UpdateThumnailImageStatus(ListingImage.Unavailable);
}
}
else
{
UpdateThumnailImageStatus(ListingImage.Unavailable);
}
}
catch(e)
{
DisplayErrorDialog(g_sErrorGeneral,e,"IDXMapping.js","CompletePushpinUIOnCallback");
}
}
function PushpinThumnailImageLoadRSC(p_objImage)
{
try
{
if((p_objImage.readyState=="complete")||(p_objImage.width>0))
{
UpdateThumnailImageStatus(ListingImage.Success);
}
else
{
UpdateThumnailImageStatus(ListingImage.Loading);
}
}
catch(e)
{
DisplayErrorDialog(g_sErrorGeneral,e,"IDXMapping.js","PushpinThumnailImageLoadRSC");
}
}
function UpdateThumnailImageStatus(p_iImageStatus)
{
try
{
var objSpanImageLoading=$("spanImageLoading");
var objSpanNoImage=$("spanNoPropImageMap");
var objImgPushpinListingImage=$("imgPushpinListingImage");
if((typeof(objSpanImageLoading)!="undefined")&&
(typeof(objSpanNoImage)!="undefined")&&
(typeof(objImgPushpinListingImage)!="undefined"))
{
objSpanImageLoading.style.display="none";
objSpanNoImage.style.display="none";
objImgPushpinListingImage.style.display="none";
switch(Number(p_iImageStatus))
{
case ListingImage.Success:
objImgPushpinListingImage.style.display="";
break;
case ListingImage.Loading:
objSpanImageLoading.style.display="";
break;
case ListingImage.Unavailable:
objSpanNoImage.style.display="";
break;
}
}
}
catch(e)
{
}
}
function CompleteMultiPushpinUIOnCallback()
{
try
{
if(g_map.ID!=null)
{
g_objSysPropertyIdList=g_sSysPropertyIdList.split(",");
if(g_objMultiPins[g_sMultiPinID]==null)
{
GetMultiPinData(0);
}
else
{
SetMultiPinThumbnail(g_objSysPropertyIdList[0]);
}
}
}
catch(e)
{
DisplayErrorDialog(g_sErrorGeneral,e,"IDXMapping.js","CompleteMultiPushpinUIOnCallback");
}
}
function GetMultiPinData(index)
{
try
{
var counter=0;
var latLongRectangle=null;
var mapStyle=null;
var post="SubTypeID="+$("frmCriteria").SubTypeID.value+
"&SearchID="+$("frmCriteria").SearchID.value+
"&WebsiteTypeID="+g_iWebSiteType+
"&GridID="+$("frmCriteria").GridID.value;
var sysPropertyIdsToGet=new Array();
var totalSysPropertyIds=0;
var totalSysPropertyIdsToGet=0;
var url="/DotNet/AWPSearch/IdxMapSearch.ashx";
totalSysPropertyIds=g_objSysPropertyIdList.length;
for(counter=index;(counter<totalSysPropertyIds)&&(totalSysPropertyIdsToGet<MAX_MULTIPIN_INCREMENT);counter++)
{
totalSysPropertyIdsToGet=sysPropertyIdsToGet.push(g_objSysPropertyIdList[counter]);
}
if(sysPropertyIdsToGet.length>0)
{
mapStyle=g_map.GetMapStyle();
if((mapStyle!=VEMapStyle.Oblique)&&(mapStyle!=VEMapStyle.Birdseye)&&(mapStyle!=VEMapStyle.BirdseyeHybrid))
{
latLongRectangle=g_map.GetMapView();
}
else
{
latLongRectangle=g_map.GetBirdseyeScene().GetBoundingRectangle();
}
post+="&LowLat="+latLongRectangle.BottomRightLatLong.Latitude+"&HighLat="+latLongRectangle.TopLeftLatLong.Latitude+
"&LowLong="+latLongRectangle.TopLeftLatLong.Longitude+"&HighLong="+latLongRectangle.BottomRightLatLong.Longitude+
"&ZoomLevel="+g_map.GetZoomLevel()+
"&ConsolidatePins=0"+
"&SysIDList="+sysPropertyIdsToGet.join(",");
g_xmlHttpRequestMultiPinData=new XmlHttp();
g_xmlHttpRequestMultiPinData.open("POST",url);
g_xmlHttpRequestMultiPinData.onreadystatechange=RenderMultiPinThumbnail;
g_xmlHttpRequestMultiPinData.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
g_xmlHttpRequestMultiPinData.send(post);
}
}
catch(e)
{
DisplayErrorDialog("Error retrieving data for multi-pin.",e,"IDXMapping.js","GetMultiPinData");
}
}
function RenderMultiPinThumbnail()
{
try
{
var cacheNode=false;
var color="black";
var counter=0;
var firstProperty=0;
var node=null;
var nodeCopy=null;
var properties=null;
var property=null;
var statusType=0;
var sysPropertyID=0;
var totalProperties=0;
if(!g_xmlHttpRequestMultiPinData.aborted&&isXMLHttpReady(g_xmlHttpRequestMultiPinData))
{
g_xmlHttpRequestMultiPinData.onreadystatechange=new Function();
if(g_xmlHttpRequestMultiPinData.status!=200)
{
return;
}
g_xmlMultiPinProperties=g_xmlHttpRequestMultiPinData.responseXML;
if(g_bIsIE)
{
g_xmlMultiPinProperties.setProperty("SelectionLanguage","XPath");
}
properties=SelectNodes(g_xmlMultiPinProperties,"/RESULTS/GROUP");
totalProperties=(properties!=null)?properties.length:0;
if(g_objMultiPins[g_sMultiPinID]==null)
{
g_objMultiPins[g_sMultiPinID]=new Object();
g_objMultiPins[g_sMultiPinID].xml=g_xmlMultiPinProperties;
}
else
{
if(totalProperties>0)
{
node=SelectSingleNode(g_xmlMultiPinProperties,"/RESULTS/GROUP[1]/SID");
sysPropertyID=GetTextContent(node);
if(GetTextContent(g_objMultiPins[g_sMultiPinID].xml.documentElement).match(sysPropertyID)==null)
{
cacheNode=true;
}
}
}
for(counter=0;counter<totalProperties;counter++)
{
if(cacheNode)
{
nodeCopy=SelectSingleNode(g_xmlMultiPinProperties,"/RESULTS/GROUP["+(counter+1)+"]").cloneNode(true);
nodeCopy.setAttribute("id",g_iPropertyIndex+counter+1);
g_objMultiPins[g_sMultiPinID].xml.documentElement.appendChild(nodeCopy);
}
node=SelectSingleNode(g_xmlMultiPinProperties,"/RESULTS/GROUP["+(counter+1)+"]/SID");
sysPropertyID=GetTextContent(node);
if(counter==0)
{
firstProperty=sysPropertyID;
}
if(g_objMultiPins[g_sMultiPinID][sysPropertyID]==null)
{
node=SelectSingleNode(g_xmlMultiPinProperties,"/RESULTS/GROUP["+(counter+1)+"]/STATUS");
if(node!=null)
{
statusType=node.getAttribute("type");
}
switch(Number(statusType))
{
case StatusType.Active:
color="green";
break;
case StatusType.Pending:
color="orange";
break;
case StatusType.Expired:
color="purple";
break;
case StatusType.OffMarket:
color="blue";
break;
default:
color="red";
break;
}
g_objMultiPins[g_sMultiPinID][sysPropertyID]=CreateInfoBox(("g_sSysPropertyIdList, "+(counter+g_iPropertyIndex)),(counter+1),color,g_xmlMultiPinProperties);
}
}
SetMultiPinThumbnail(firstProperty);
}
}
catch(e)
{
DisplayErrorDialog(g_sErrorGeneral,e,"IDXMapping.js","RenderMultiPinThumbnail");
}
}
function SetMultiPinThumbnail(sysPropertyID)
{
try
{
var imagePath=null;
var imagePathNode=null;
var index=0;
var objImgPushpinListingImage=null;
var property=null;
for(property in g_objMultiPins[g_sMultiPinID])
{
if(property!="xml")
{
index++;
if(property==sysPropertyID)
{
break;
}
}
}
if($("spanCurrentPropertyIndex")!=null)
{
$("spanCurrentPropertyIndex").innerHTML=index;
$("divSummaryContainer").innerHTML=g_objMultiPins[g_sMultiPinID][sysPropertyID];
CompletePushpinUIOnCallback(g_objMultiPins[g_sMultiPinID].xml,sysPropertyID);
}
}
catch(e)
{
DisplayErrorDialog("Error setting property to thumbnail.",e,"IDXMapping.js","SetMultiPinThumbnail");
}
}
function OnMouseClick(e)
{
try
{
var elementId=e.elementID;
var elements=null;
var groupId=0;
var node=null;
var nodeSIDs=null;
var pin=null;
var propertyCount=g_iSearchLimit+1;
var sSIDs="";
if(elementId!=null)
{
if(/MultiPin/.test(elementId))
{
pin=g_map.GetShapeByID(elementId);
if(pin!=null)
{
groupId=elementId.replace(/.*MultiPin(\d*)_.*/gi,"$1");
node=SelectSingleNode(g_xmlProperties,"/RESULTS/GROUP[@id="+groupId+"]");
if(node!=null)
{
propertyCount=node.getAttribute("count");
}
if(propertyCount<=g_iSearchLimit)
{
nodeSIDs=SelectSingleNode(node,"SIDS");
if(nodeSIDs!=null)
{
sSIDs=GetTextContent(nodeSIDs);
if(sSIDs!="")
{
DisplayListingDetails(sSIDs,0);
}
}
}
else
{
g_map.SetCenterAndZoom(pin.GetPoints()[0],g_map.GetZoomLevel()+1);
}
}
}
else
{
elements=elementId.split("_");
if(elements!=null)
{
DisplayListingDetails(elements[2]);
}
}
}
}
catch(e)
{
DisplayErrorDialog(g_sErrorGeneral,e,"IDXMapping.js","OnMouseClick");
}
}
function DisplayListingDetails(p_sRIDs,p_idxDefaultListing)
{
try
{
if(null==p_idxDefaultListing)
{
p_idxDefaultListing=0;
}
if(p_sRIDs!=null&&p_sRIDs!=""&&p_idxDefaultListing>=0)
{
$("frmCriteria").ER.value=g_sEncryptedSIDs;
$("frmCriteria").IDXMapReferrer.value=1;
$("frmCriteria").RIDs.value=p_sRIDs;
CancelRefreshMapPinsTimer();
g_map.Dispose();
ShowDetails(p_idxDefaultListing,PAGETYPE_IDXMAP);
}
else
{
throw new Error(0,"Missing SysPropertyID (p_sRIDs = "+p_sRIDs+") or negative index supplied (p_idxDefaultListing = "+p_idxDefaultListing+").");
}
}
catch(e)
{
DisplayErrorDialog("error displaying property details.",e,"IDXMapping.js","DisplayListingDetails");
}
}
function OnListViewClicked()
{
try{
if(!onCheckRequired())
{
return;
}
g_bDisplayResults=true;
RefreshMapPins();
}
catch(e)
{
DisplayErrorDialog("Error navigating to List View.",e,"IDXMapping.js","OnListViewClicked");
}
}
function DisplayIDXMapResult()
{
try
{
if(g_iTotalListings<=0)
{
alert("Criteria returned no results.");
ToggleButtons(true);
}
else if(g_iTotalListings<=g_iSearchLimit)
{
$("frmCriteria").ER.value=g_sEncryptedSIDs;
$("frmCriteria").IDXMapReferrer.value=2;
$("frmCriteria").RIDs.value=g_sSIDs;
$("frmCriteria").SPT.value=PAGETYPE_IDXMAP;
g_map.Dispose();
document.forms[0].action='/AWPResults.asp';
document.forms[0].submit();
}
else
{
alert("Your criteria returned "+g_iTotalListings+" records.\nOnly "+g_iSearchLimit+" records can be displayed.\nPlease adjust criteria to return fewer records.");
ToggleButtons(true);
}
}
catch(e)
{
DisplayErrorDialog("Error navigating to List View.",e,"IDXMapping.js","DisplayIDXMapResult");
}
}
function onchangePropType()
{
try
{
ToggleButtons(false);
var objDivCount=$("divMapSearching");
if(objDivCount&&"none"==objDivCount.style.display&&$("divMappedCount"))
{
objDivCount.style.display="block";
$("divMappedCount").style.display="none";
}
g_map.DeleteAllShapes();
$("divCrit").style.visibility="hidden";
var selPropType=eval('$("F'+g_iPropTypeFieldID+'")');
var post="IDXMapPropTypeID="+selPropType.options[selPropType.selectedIndex].id+
"&SiteCode="+g_sSiteCode;
g_xmlHttpRequestIDXMap=new XmlHttp();
g_xmlHttpRequestIDXMap.open("POST","/DotNet/AWPSearch/GetIDXMapSearchForm.ashx");
g_xmlHttpRequestIDXMap.onreadystatechange=RSCChangePropType;
g_xmlHttpRequestIDXMap.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
g_xmlHttpRequestIDXMap.send(post);
}
catch(e)
{
DisplayErrorDialog(g_sAWPClientErrorGeneral,e,"IDXMapping.js","onchangePropType");
ToggleButtons(true);
}
}
function RSCChangePropType()
{
try
{
if(isXMLHttpReady(g_xmlHttpRequestIDXMap))
{
g_xmlHttpRequestIDXMap.onreadystatechange=new Function();
var selPropType=eval('$("F'+g_iPropTypeFieldID+'")');
var bHasResponse=(g_xmlHttpRequestIDXMap.responseText!=null&&g_xmlHttpRequestIDXMap.responseText!="");
if(g_xmlHttpRequestIDXMap.status!=200||!bHasResponse)
{
alert("Error switching to '"+selPropType.options[selPropType.selectedIndex].text+"'.  Please choose another property type.");
selPropType.value=g_sLastPropType;
$("divCrit").style.visibility="";
return;
}
$("divCrit").innerHTML=g_xmlHttpRequestIDXMap.responseText;
$("divCrit").style.visibility="";
g_aCritValues=new Array();
g_aCritValues["F"+g_iPropTypeFieldID]='$("frmCriteria").F'+g_iPropTypeFieldID+'.value';
g_aCritValues["O"+g_iPropTypeFieldID]=1;
var oTag=$("divCrit").getElementsByTagName("input");
GetCriteriaValueRef(oTag);
oTag=$("divCrit").getElementsByTagName("select");
GetCriteriaValueRef(oTag);
$("frmCriteria").IDXPT.value=selPropType.options[selPropType.selectedIndex].id;
$("frmCriteria").SrhName.value=selPropType.options[selPropType.selectedIndex].text;
$("frmCriteria").SRCST.value=selPropType.options[selPropType.selectedIndex].getAttribute("data-truest");
RefreshMapPins();
}
}
catch(e)
{
DisplayErrorDialog(g_sAWPClientErrorGeneral,e,"IDXMapping.js","RSCChangePropType");
}
}
function ToggleButtons(p_bEnabled)
{
var bDisabled=!p_bEnabled;
$("btnUpdateMap").disabled=bDisabled;
$("btnSearch").disabled=bDisabled;
}
function GetCriteriaValueRef(p_oTagList)
{
try
{
var iLen=p_oTagList.length;
for(var i=0;i<iLen;i++)
{
var sCurrID=p_oTagList[i].name;
var sFirstChar=sCurrID.substr(0,1);
if("H"==sFirstChar)
{
if("HF"!=sCurrID.substr(0,2))
{
g_aCritValues[sCurrID]='$("frmCriteria").'+sCurrID+'.value';
}
}
else if("F"==sFirstChar||"L"==sFirstChar)
{
g_aCritValues[sCurrID]='$("frmCriteria").'+sCurrID+'.value';
}
else if("O"==sFirstChar)
{
g_aCritValues[sCurrID]=parseInt(eval("$(\"frmCriteria\")."+sCurrID+".value"),10);
}
else if("T"==sFirstChar)
{
g_aCritValues[sCurrID]='($("frmCriteria").'+sCurrID+'.checked) ? 1 : 0';
}
}
}
catch(e)
{
DisplayErrorDialog(g_sAWPClientErrorGeneral,e,"IDXMapping.js","GetCriteriaValueRef");
}
}
function LoadPrevious()
{
try
{
if(g_iPropertyIndex>1)
{
DisableMultiPinNavigation($("spanPrevious"),false);
}
else
{
DisableMultiPinNavigation($("spanPrevious"),true);
}
DisableMultiPinNavigation($("spanNext"),false);
if(g_iPropertyIndex>0)
{
SetMultiPinThumbnail(g_objSysPropertyIdList[--g_iPropertyIndex]);
}
}
catch(e)
{
DisplayErrorDialog("Error loading property thumbnail.",e,"IDXMapping.js","LoadPrevious");
}
}
function DisableMultiPinNavigation(p_objLink,p_bDisable)
{
try
{
if(p_bDisable)
{
p_objLink.style.color="#c0c0c0";
p_objLink.style.cursor="";
}
else
{
p_objLink.style.color="";
p_objLink.style.cursor="pointer";
}
}
catch(e)
{
}
}
function LoadNext()
{
try
{
var sysPropertyID=NaN;
var totalSysPropertyIds=g_objSysPropertyIdList.length;
DisableMultiPinNavigation($("spanPrevious"),false);
if(g_iPropertyIndex<totalSysPropertyIds-2)
{
DisableMultiPinNavigation($("spanNext"),false);
}
else
{
DisableMultiPinNavigation($("spanNext"),true);
}
if(g_iPropertyIndex<totalSysPropertyIds-1)
{
sysPropertyID=g_objSysPropertyIdList[++g_iPropertyIndex];
if(g_objMultiPins[g_sMultiPinID][sysPropertyID]==null)
{
GetMultiPinData(g_iPropertyIndex);
}
else
{
SetMultiPinThumbnail(sysPropertyID);
}
}
}
catch(e)
{
DisplayErrorDialog("Error loading property thumbnail.",e,"IDXMapping.js","LoadNext");
}
}
function ZoomIn()
{
try
{
var pin=g_map.GetShapeByID(g_sCurrentElementID);
if(pin!=null)
{
g_map.HideInfoBox();
g_map.SetCenterAndZoom(pin.GetPoints()[0],g_map.GetZoomLevel()+1);
}
}
catch(e)
{
DisplayErrorDialog("Error zooming in.",e,"IDXMapping.js","ZoomIn");
}
}

