// WR-generated JavaScript compilation 

// WR serving: /js/TWGmapLib.js

	/*
		TW GMaps Lib v.1.0
		
		
	*/


	
	function LocationMarker(long, lat, gMarker)
	{
		this.Long=long;
		this.Lat=lat;
		this.gMarker=gMarker;
		this.commArray=new Array();
	}


	
	LocationMarker.prototype.AddCommunity=function(comm)
	{
		this.commArray[this.commArray.length]=comm;
	}


	
	LocationMarker.prototype.GetCommunities=function()
	{
			return this.commArray;
	}


	
   	function CLongLat(long, lat)
    	{
		this.Long=long;
		this.Lat=lat;
	}


	
	/*
	function Community(lat, long, name, id, priceRange, phone, statusId, desc, city)
	{
		this.Long=long;
		this.Lat=lat;
		this.Name=name;
		this.Id=id;
		this.PriceRange=priceRange;
		this.Phone=phone;
		this.StatusId=statusId;
		this.Description=desc;
		this.City=city;
	}
	*/
	
	function Community(lat, long, name, id, priceRange, phone, statusId, desc, city, fax, isDesignCentre)
	{
		this.Long=long;
		this.Lat=lat;
		this.Name=name;
		this.Id=id;
		this.PriceRange=priceRange;
		this.Phone=phone;
		this.StatusId=statusId;
		this.Description=desc;
		this.City=city;
		this.Fax=fax;
		this.IsDesignCentre=isDesignCentre;
	}


	
	Community.COMM_STATUS_INACTIVE=1;
	Community.COMM_STATUS_COMING_SOON=2;
	Community.COMM_STATUS_GRAND_OPENING=3;
	Community.COMM_STATUS_ACTIVE=4;
	Community.COMM_STATUS_CLOSEOUT=5;
	Community.COMM_STATUS_CLOSED=6;
	
    var map;
    var mapPrintMode=false;
    var mapHouseClickEnabled=true;
    var mapZoomLevel="N/A";
	
	function InitMap(mapElementId)
	{

		if (GBrowserIsCompatible())
		{

			
			map = new GMap2(document.getElementById(mapElementId));

			
			map.addControl(new GSmallMapControl());


			
			var commArray=GetMapData(mapElementId);

            if(commArray.length==0)
            {
                
                return;
            }
            
			
			map.setCenter(new GLatLng(commArray[0].Lat, commArray[0].Long), 13);

			
			var bounds = new GLatLngBounds();

			
			for (var i=0; i<commArray.length; i++)
			{
				bounds.extend(new GLatLng(commArray[i].Lat, commArray[i].Long));

			}

			
			CreateCommunityMarkers(map, commArray);

			
			
			
			if (mapZoomLevel == 'N/A')
			{
			    map.setZoom(map.getBoundsZoomLevel(bounds));
			   
			}
			else 
			{
			    map.setZoom(mapZoomLevel);
			}

			
			map.setCenter(bounds.getCenter());

		}
	}


    var markerArray;
	
	
	function CreateCommunityMarkers(map, commArray)
	{

		
		markerArray=new Array();

		var funcCheck=CheckIfMarkerForLocationExists;
		var funcCreate=CreateMarker;

		

		
		
		for(var i=0;i<commArray.length;i++)
		{

			
			var currentLat=commArray[i].Lat;
			var currentLong=commArray[i].Long;


			
			var markerIndex=funcCheck(markerArray, currentLat,currentLong);
			if(markerIndex!=-1)
			{


				
				var locationMarker=markerArray[markerIndex];
				locationMarker.commArray.push(commArray[i]);


			}
			else
			{
				
				var locationMarker=new LocationMarker(currentLong, currentLat);

				
				locationMarker.commArray.push(commArray[i]);

				
				markerArray.push(locationMarker);	
						
			
			}	

			

		}

		


		
		for(var i=0;i<markerArray.length;i++)
		{

			
			var gMarker=funcCreate(map, markerArray[i], i);

			
			map.addOverlay(gMarker);
		}

		
		
	}



     function CheckIfClusterHasAtLeastOneComingSoonCommunity(commArray)
    {
        for(var i=0;i<commArray.length;i++)
		{     
		    if(commArray[i].StatusId == Community.COMM_STATUS_COMING_SOON)
		    {			        
		        return true;
		    }
		}
        return false;
    }
    

	
	function CreateMarker(map, currentMarker, locMarkerIndex)
	{

		
		var markerLatLng=new GLatLng(currentMarker.Lat, currentMarker.Long);

		var infoWindowDOM=CreateLocationMarkerInfoWindowDOM(currentMarker);
		var commListText=CreateLocationMarkerTooltip(currentMarker);


        
		var hasAtLeastOneComingSoonComm = false;
        
		
		var multipleCommsAtLocation=false;
		if(currentMarker.commArray.length>1)
		{
		    hasAtLeastOneComingSoonComm = CheckIfClusterHasAtLeastOneComingSoonCommunity(currentMarker.commArray);
			multipleCommsAtLocation=true;
		}
		
		
		
		var commStatusId=null;
		
		if(!multipleCommsAtLocation)
		{
		    commStatusId=currentMarker.commArray[0].StatusId;
		}
		
		var commIcon=GetCustomCommunityIcon(multipleCommsAtLocation, locMarkerIndex, commStatusId, hasAtLeastOneComingSoonComm, currentMarker.commArray[0].IsDesignCentre);
		var markerOpts={ title:commListText, icon:commIcon };

		
		var gMarker = new GMarker(markerLatLng, markerOpts);

		
		if(mapHouseClickEnabled)
		{
		    GEvent.addListener(gMarker, "click", function()
		    {
    			

			    var infoWindowOpts={maxWidth:150, noCloseOnClick:false};
			    map.openInfoWindowHtml(markerLatLng, infoWindowDOM, infoWindowOpts);
		    }
		    );
		}

        currentMarker.gMarker=gMarker;
		
		return gMarker;
		
	}


	
	function GetMaxLongLat(commArray)
	{
		var maxLongLat=new CLongLat();
		maxLongLat.Lat=0;
		maxLongLat.Long=-100;


		for(var i=0;i<commArray.length;i++)
		{
			if(commArray[i].Long< maxLongLat.Long)
			{
				maxLongLat.Long=commArray[i].Long;
			}


			if(commArray[i].Lat> maxLongLat.Lat)
			{
				maxLongLat.Lat=commArray[i].Lat;
			}

		}

		return maxLongLat;
	}



	
	function GetMinLongLat(commArray)
	{
		var minLongLat=new CLongLat();
		minLongLat.Lat=150;
		minLongLat.Long=0;


		for(var i=0;i<commArray.length;i++)
		{
			if(commArray[i].Long> minLongLat.Long)
			{
				minLongLat.Long=commArray[i].Long;
			}


			if(commArray[i].Lat< minLongLat.Lat)
			{
				minLongLat.Lat=commArray[i].Lat;
			}

		}

		return minLongLat;
	}



	function CheckIfMarkerForLocationExists(markerArray, lat, long)
	{


		var currentLoc;

		for(var j=0;j<markerArray.length;j++)
		{


			
			if(markerArray[j].Lat==lat && markerArray[j].Long==long)
			{
				return j;
			}

			var distance=distVincenty(markerArray[j].Lat, markerArray[j].Long, lat, long);
			


			if(distance<1000)
			{
				return j;
			}


		}


		return -1;
	}


    
	function GetDistanceBetweenLocations(long1, lat1, long2, lat2)
	{

		var loc1=new GLatLng(lat1, long1);
		var loc2=new GLatLng(lat2, long2);
		
		var distance=loc1.distanceFrom(loc2);

		return distance;

	}




     
	function GetCustomCommunityIcon(multipleCommsAtLocation, locMarkerIndex, commStatusId, hasAtLeastOneComingSoonComm, isDesignCentre)
	{
	
	
	    var imgUrlPrefix="";
	    
	    
	    if(document.location.href.toLowerCase().indexOf("/build/")!=-1)
	    {
	        imgUrlPrefix="../";
	    }
	
		var commIcon = new GIcon();

        if(mapPrintMode)
        {
            
            commIcon.image = imgUrlPrefix+"images/division/markers/marker"+(locMarkerIndex+1).toString()+".png";
		   
		    commIcon.iconSize = new GSize(20, 34);
		   
		    commIcon.iconAnchor = new GPoint(6, 20);
		    commIcon.infoWindowAnchor = new GPoint(5, 1);
        }
        else
        {
		    if(multipleCommsAtLocation)
		    {
		        if (hasAtLeastOneComingSoonComm)
		        {
		            commIcon.image = imgUrlPrefix+"images/gmap/blue_clusterhomes_icon.gif";			     
			        commIcon.iconSize = new GSize(27, 23);
		        }
		        else
		        {
			        commIcon.image = imgUrlPrefix+"images/gmap/red_clusterhomes_icon.gif";			     
			        commIcon.iconSize = new GSize(27, 23);			    
			    }
			    
			    commIcon.iconAnchor = new GPoint(6, 20);
			    commIcon.infoWindowAnchor = new GPoint(5, 1);
		    }
		    else
		    {
		        if(commStatusId==Community.COMM_STATUS_COMING_SOON)
		        {
		            
		            commIcon.image = imgUrlPrefix+"images/gmap/blue_comingsoonhomes_icon.gif";
			        
			        commIcon.iconSize = new GSize(18,17);
			        
			        commIcon.iconAnchor = new GPoint(6, 20);
			        commIcon.infoWindowAnchor = new GPoint(5, 1);
		        }
		        else
		        {
		            
		            if(isDesignCentre)
		            {
		                
			            commIcon.image = imgUrlPrefix+"images/gmap/design_center_icon.gif";
			            
			            commIcon.iconSize = new GSize(16, 17);
			            
			            commIcon.iconAnchor = new GPoint(6, 20);
			            commIcon.infoWindowAnchor = new GPoint(5, 1);
		            }
		            else 
		            {		            
		                
			            commIcon.image = imgUrlPrefix+"images/gmap/red_newhomes_icon.gif";
			            
			            commIcon.iconSize = new GSize(18, 17);
			            
			            commIcon.iconAnchor = new GPoint(6, 20);
			            commIcon.infoWindowAnchor = new GPoint(5, 1);
			        }
			    }
		    }
        }
        
		return commIcon;
	}
	
	
	
	function ShowCommunityInfoInCluster(commId)
	{
	
		var overlayXPos=event.x;
		var overlayYPos=event.y;
		
		alert("Invoking cluster info at: "+overlayXPos+", "+overlayYPos);
	}
	
	
	
	
	function CreateLocationMarkerInfoWindowDOM(currentMarker)
	{
	
	    
		var markerCommArray=currentMarker.commArray;

		
		var multipleCommsAtLocation=false;

		
		if(markerCommArray.length>1)
		{
			multipleCommsAtLocation=true;
			
		}
		
		var divWrapper=document.createElement("DIV");
		
		if(multipleCommsAtLocation)
		{
		    YAHOO.util.Dom.addClass(divWrapper, "GMap_CommInfoListWrapper");
		}
		else
		{
		   YAHOO.util.Dom.addClass(divWrapper, "GMap_CommInfoWrapper"); 
		}
		    
		
		
		
		if(multipleCommsAtLocation)
		{
			
			var ulCommList=document.createElement("UL");
			divWrapper.appendChild(ulCommList);
			
			
			for(var i=0;i<markerCommArray.length;i++)
			{
			
				
				var comm=markerCommArray[i];
				
				
				var liItem=document.createElement("LI");
				ulCommList.appendChild(liItem);
				
				var liLink=document.createElement("A");
				if(comm.IsDesignCentre)
				{
				    liLink.setAttribute("href","Build/SignatureTouches.aspx?DivisionID="+comm.Id);
				}
				else 
				{
				    liLink.setAttribute("href","Community.aspx?CommunityID="+comm.Id);
				}
				YAHOO.util.Dom.addClass(liLink, "GMap_CommInfoMultiLink");
				liItem.appendChild(liLink);
			
				
				var txCommName=document.createTextNode(comm.Name);
				liLink.appendChild(txCommName);
				
				
				var brEl=document.createElement("BR");
				liItem.appendChild(brEl);
				
				
				
				if(comm.PriceRange!="" && comm.PriceRange!="0")
				{   
					var spanCommInfo1=document.createElement("SPAN");
					YAHOO.util.Dom.addClass(spanCommInfo1, "GMap_MultiLink_CommInfoSpan");
					liItem.appendChild(spanCommInfo1);

					
					var txCommInfo1=document.createTextNode("Priced from $"+comm.PriceRange+"s");
					spanCommInfo1.appendChild(txCommInfo1);
				}
				
				
				
				if(comm.Phone!="")
				{
				   
					var spanCommInfo2=document.createElement("SPAN");
					YAHOO.util.Dom.addClass(spanCommInfo2, "GMap_MultiLink_CommInfoSpan");
					liItem.appendChild(spanCommInfo2);
					
					
					if(comm.PriceRange!="" && comm.PriceRange!="0")
				    {
					    var brSpacer=document.createElement("BR");
			            spanCommInfo2.appendChild(brSpacer);				
			        }
                    

					var txCommInfo2=document.createTextNode("Phone: "+comm.Phone);
					spanCommInfo2.appendChild(txCommInfo2);
				}				
			}

		}
		else
		{
			var comm=markerCommArray[0];
			
			var spanCommName=document.createElement("SPAN");
			YAHOO.util.Dom.addClass(spanCommName, "GMap_CommNameSpan");
			divWrapper.appendChild(spanCommName);
					
			var txCommName=document.createTextNode(comm.Name);
			spanCommName.appendChild(txCommName);
			
			
			
			
			var divSpacer = document.createElement("DIV");
			YAHOO.util.Dom.addClass(divSpacer, "GMap_CommInfoWrapperSingleSpacer");
			divWrapper.appendChild(divSpacer);
			
			
			if(comm.City!="")
			{
			    var spanCommCity=document.createElement("SPAN");
			    YAHOO.util.Dom.addClass(spanCommCity, "GMap_CommCitySpan");
			    var txCommCity=document.createTextNode(comm.City);
			    spanCommCity.appendChild(txCommCity);
			    
			    divWrapper.appendChild(spanCommCity);
			   
			}
			
			if(comm.StatusId==Community.COMM_STATUS_COMING_SOON)
			{
			    var spanComingSoon=document.createElement("SPAN");
			    YAHOO.util.Dom.addClass(spanComingSoon, "GMap_CommComingSoonSpan");
			    var txComingSoon=document.createTextNode("COMING SOON");
			    spanComingSoon.appendChild(txComingSoon);
			    
			    divWrapper.appendChild(spanComingSoon);
			}
			
			
		    
		    
		    
			
			var divSpacer1 = document.createElement("DIV");
			YAHOO.util.Dom.addClass(divSpacer1, "GMap_CommInfoWrapperDoubleSpacer");
			divWrapper.appendChild(divSpacer1);
			
			
			
			
			if(comm.Phone!="")
			{
				var spanCommInfo2=document.createElement("SPAN");
				YAHOO.util.Dom.addClass(spanCommInfo2, "GMap_CommInfoSpan");
				divWrapper.appendChild(spanCommInfo2);

                if (comm.IsDesignCentre)
                {
				    var txCommInfo2=document.createTextNode("Phone: "+comm.Phone);
				    spanCommInfo2.appendChild(txCommInfo2);								
				}
				else 
				{
				    var txCommInfo2=document.createTextNode("Sales office: "+comm.Phone);
				    spanCommInfo2.appendChild(txCommInfo2);	
				}
			}
			
			
			
			
			
			if(comm.PriceRange!=""  && comm.PriceRange!="0")
			{
			    //
			    
			    
			    var divSpacer3 = document.createElement("DIV");
			    YAHOO.util.Dom.addClass(divSpacer3, "GMap_CommInfoWrapperSingleSpacer");
			    divWrapper.appendChild(divSpacer3);
			
				var spanCommInfo1=document.createElement("SPAN");
				YAHOO.util.Dom.addClass(spanCommInfo1, "GMap_CommInfoSpan");
				divWrapper.appendChild(spanCommInfo1);

				
				var txCommInfo1=document.createTextNode("New homes priced from the $"+comm.PriceRange+"s");
				spanCommInfo1.appendChild(txCommInfo1);
			}

			
			
			
			
			
			
			var divSpacer4 = document.createElement("DIV");
			YAHOO.util.Dom.addClass(divSpacer4, "GMap_CommInfoWrapperDoubleSpacer");
			divWrapper.appendChild(divSpacer4);
			
			var lnkCommPage=document.createElement("A");
			if(comm.IsDesignCentre)
			{
			    lnkCommPage.setAttribute("href","Build/SignatureTouches.aspx?DivisionID="+comm.Id);
			}
			else 
			{
			    lnkCommPage.setAttribute("href","Community.aspx?CommunityID="+comm.Id);
			}
			YAHOO.util.Dom.addClass(lnkCommPage, "GMap_CommInfoSingleLink");
			
			var txCommNameInLink=document.createTextNode("Visit "+comm.Name);
			lnkCommPage.appendChild(txCommNameInLink);
			
			divWrapper.appendChild(lnkCommPage);
		}

	
		return divWrapper;
		
	}
	
	
	
	function CreateLocationMarkerTooltip(currentMarker)
	{
	
		
		
		
		var commListText="";

		
		var markerCommArray=currentMarker.commArray;

		
		var multipleCommsAtLocation=false;

		
		if(markerCommArray.length>1)
		{
			multipleCommsAtLocation=true;
			
			commListText+="Multiple communities at this location:\n";
		}


		
		for(var i=0;i<markerCommArray.length;i++)
		{
			if(i>0)
			{
				
				commListText+="\n";
			}



			
			if(multipleCommsAtLocation)
			{
				commListText+="- ";
				
			}

			
			commListText+=markerCommArray[i].Name;

			
		}


		return commListText;

	}
	
	
	
	function LocationMarkerCommunityMouseOver(e, comm)
	{
		var divGMapCommPopOut=YAHOO.util.Dom.get("divGMapCommPopOut");
		
		YAHOO.util.Dom.setStyle(divGMapCommPopOut, "visibility", "visible");
		YAHOO.util.Dom.setStyle(divGMapCommPopOut, "display", "block");
		
		YAHOO.util.Dom.setX(divGMapCommPopOut, e.clientX);
		YAHOO.util.Dom.setY(divGMapCommPopOut, e.clientY);
		
		YAHOO.util.Event.addListener(divGMapCommPopOut, "mouseout", HideCommDivPopOut);  
		
		
		
	}
	
	
	
	function HideCommDivPopOut(e)
	{
		var divGMapCommPopOut=YAHOO.util.Dom.get("divGMapCommPopOut");
			
		YAHOO.util.Dom.setStyle(divGMapCommPopOut, "visibility", "hidden");
		YAHOO.util.Dom.setStyle(divGMapCommPopOut, "display", "none");
	}
	
	function CleanupPage()
	{
	    
	    GUnload();
	}



/*
 * Calculate geodesic distance (in m) between two points specified by latitude/longitude (in numeric degrees)
 * using Vincenty inverse formula for ellipsoids
 */
function distVincenty(lat1, lon1, lat2, lon2) {
  var a = 6378137, b = 6356752.3142,  f = 1/298.257223563;  
  var L = (lon2-lon1).toRad();
  var U1 = Math.atan((1-f) * Math.tan(lat1.toRad()));
  var U2 = Math.atan((1-f) * Math.tan(lat2.toRad()));
  var sinU1 = Math.sin(U1), cosU1 = Math.cos(U1);
  var sinU2 = Math.sin(U2), cosU2 = Math.cos(U2);

  var lambda = L, lambdaP = 2*Math.PI;
  var iterLimit = 20;
  while (Math.abs(lambda-lambdaP) > 1e-12 && --iterLimit>0) {
    var sinLambda = Math.sin(lambda), cosLambda = Math.cos(lambda);
    var sinSigma = Math.sqrt((cosU2*sinLambda) * (cosU2*sinLambda) +
      (cosU1*sinU2-sinU1*cosU2*cosLambda) * (cosU1*sinU2-sinU1*cosU2*cosLambda));
    if (sinSigma==0) return 0;  
    var cosSigma = sinU1*sinU2 + cosU1*cosU2*cosLambda;
    var sigma = Math.atan2(sinSigma, cosSigma);
    var sinAlpha = cosU1 * cosU2 * sinLambda / sinSigma;
    var cosSqAlpha = 1 - sinAlpha*sinAlpha;
    var cos2SigmaM = cosSigma - 2*sinU1*sinU2/cosSqAlpha;
    if (isNaN(cos2SigmaM)) cos2SigmaM = 0;  
    var C = f/16*cosSqAlpha*(4+f*(4-3*cosSqAlpha));
    lambdaP = lambda;
    lambda = L + (1-C) * f * sinAlpha *
      (sigma + C*sinSigma*(cos2SigmaM+C*cosSigma*(-1+2*cos2SigmaM*cos2SigmaM)));
  }
  if (iterLimit==0) return NaN  

  var uSq = cosSqAlpha * (a*a - b*b) / (b*b);
  var A = 1 + uSq/16384*(4096+uSq*(-768+uSq*(320-175*uSq)));
  var B = uSq/1024 * (256+uSq*(-128+uSq*(74-47*uSq)));
  var deltaSigma = B*sinSigma*(cos2SigmaM+B/4*(cosSigma*(-1+2*cos2SigmaM*cos2SigmaM)-
    B/6*cos2SigmaM*(-3+4*sinSigma*sinSigma)*(-3+4*cos2SigmaM*cos2SigmaM)));
  var s = b*A*(sigma-deltaSigma);

  s = s.toFixed(3); 
  return s;
}



//





String.prototype.parseDeg = function() {
  if (!isNaN(this)) return Number(this);                 

  var degLL = this.replace(/^-/,'').replace(/[NSEW]/i,'');  
  var dms = degLL.split(/[^0-9.]+/);                     
  for (var i in dms) if (dms[i]=='') dms.splice(i,1);    
  switch (dms.length) {                                  
    case 3:                                              
      var deg = dms[0]/1 + dms[1]/60 + dms[2]/3600; break;
    case 2:                                              
      var deg = dms[0]/1 + dms[1]/60; break;
    case 1:                                              
      if (/[NS]/i.test(this)) degLL = '0' + degLL;       
      var deg = dms[0].slice(0,3)/1 + dms[0].slice(3,5)/60 + dms[0].slice(5)/3600; break;
    default: return NaN;
  }
  if (/^-/.test(this) || /[WS]/i.test(this)) deg = -deg; 
  return deg;
}




Number.prototype.toRad = function() {  
  return this * Math.PI / 180;
}

// WR serving: /js/Division.js



var currentDivisionID = 0;

var FormatCommImage = function(elCell, oRecord, oColumn, oData) {
    elCell.innerHTML = "";


    var photo = JSTrim(oRecord.getData("Photo"));

    var imgThumb = document.createElement("IMG");
    imgThumb.setAttribute("src", photo);
    imgThumb.setAttribute("width", "99");
    imgThumb.setAttribute("height", "65");
    
    elCell.appendChild(imgThumb);

    var commId = JSTrim(oRecord.getData("CommunityId"));
    
    var br = document.createElement("BR");
    elCell.appendChild(br);

    var lnkFindOnMap = document.createElement("A");
    lnkFindOnMap.setAttribute("href", "javascript:FindCommOnMap('" + commId + "');");
    lnkFindOnMap.setAttribute("title", "Click to view community location on the map");
    YAHOO.util.Dom.addClass(lnkFindOnMap, "lnkFindOnMap");



    var txFindOnMap = document.createTextNode("show on map");
    lnkFindOnMap.appendChild(txFindOnMap);

    elCell.appendChild(lnkFindOnMap);
}


var FormatCommName = function(elCell, oRecord, oColumn, oData) {
    elCell.innerHTML = "";

    var commId = JSTrim(oRecord.getData("CommunityId"));

    var lnkCommName = document.createElement("A");


    lnkCommName.setAttribute("href", "Community.aspx?CommunityID=" + commId + "&DivisionID=" + currentDivisionID);

    elCell.appendChild(lnkCommName);


    var txCommName = document.createTextNode(oData);
    lnkCommName.appendChild(txCommName);


    
    var uList = document.createElement("UL");
    YAHOO.util.Dom.addClass(uList, "commInfoBulletList");

    if (oRecord.getData("Sqtf") != 'Sq. Ft. ') {
        var liSqFt = document.createElement("LI");
        var txtSqft = document.createTextNode(oRecord.getData("Sqtf"));
        liSqFt.appendChild(txtSqft);
        uList.appendChild(liSqFt);
    }

    if (oRecord.getData("Bedrooms") != '') {
        
        var liBedrooms = document.createElement("LI");
        var txtBedrooms = document.createTextNode(oRecord.getData("Bedrooms"));
        liBedrooms.appendChild(txtBedrooms);
        uList.appendChild(liBedrooms);
    }
   
    if (oRecord.getData("Bathrooms") != '0.0 Bathrooms ') {
        var liBathrooms = document.createElement("LI");
        var txtBathrooms = document.createTextNode(oRecord.getData("Bathrooms"));
        liBathrooms.appendChild(txtBathrooms);
        uList.appendChild(liBathrooms);
    }


    elCell.appendChild(uList);




}



var FormatQD = function(elCell, oRecord, oColumn, oData) {

    elCell.innerHTML = "";

    var specsAv = JSTrim(oData);

    
    if (specsAv == "Y") {
        
        var commId = JSTrim(oRecord.getData("CommunityId"));

        var lnkCommSpecs = document.createElement("A");
        lnkCommSpecs.setAttribute("href", "Community.aspx?CommunityID=" + commId + "&V=QD");
        lnkCommSpecs.setAttribute("title", "Click to view available homes available");
        elCell.appendChild(lnkCommSpecs);

        var imgQDIcon = new Image();
        imgQDIcon.src = "images/division/CheckMark.gif";
        imgQDIcon.align = "center";
        lnkCommSpecs.appendChild(imgQDIcon);
    }
    else {
        elCell.innerHTML = "";
    }
}


function InitCommTable() {

    var priceSorter = function(a, b, desc) { 
    	    
    	var comp = YAHOO.util.Sort.compare; 
    	var compState = comp(a.getData("PriceFrom"), b.getData("PriceFrom"), desc); 
    
    	return compState;
    }; 

    
    var commListColumnDefs =
        [
        { key: "SortBy", sortable: false, formatter: FormatCommImage, label:"Sort by:" },
        { key: "Name", sortable: true, formatter: FormatCommName },
         { key: "City", sortable: true },
         
         {key: "Price", sortable: true, sortOptions:{sortFunction:priceSorter}}
     ];

    
    var commListDS = new YAHOO.util.DataSource(YAHOO.util.Dom.get("tblCommList"));
    commListDS.responseType = YAHOO.util.DataSource.TYPE_HTMLTABLE;
    commListDS.responseSchema = {
        fields: [
                 { key: "Photo" },
	              { key: "Name" },
                 { key: "City" },
                 { key: "Price" },
                 { key: "CommunityId" },
                 { key: "Sqtf" },
                 { key: "Bedrooms" },
                 { key: "Bathrooms" },
                 { key: "PriceFrom", parser:YAHOO.util.DataSource.parseNumber }

         ]
    };

    
    var commDT = new YAHOO.widget.DataTable("divCommList", commListColumnDefs, commListDS, { sortedBy: { key: "Name", dir: "asc" }, scrollable: true });



}


var FindCommOnMap = function(commId) {
    var targetLocMarker = GetLocationMarkerFromCommId(commId);

    if (targetLocMarker != null) {
        GEvent.trigger(targetLocMarker.gMarker, "click");
    }
}


var GetLocationMarkerFromCommId = function(commId) {
    for (var i = 0; i < markerArray.length; i++) {
        var commArray = markerArray[i].GetCommunities();

        for (var j = 0; j < commArray.length; j++) {
            var comm = commArray[j];
            if (comm.Id == commId) {
                return markerArray[i];
            }
        }
    }

    return null;
}



function CleanupPage() {
    
    GUnload();
}




var PageDocResizeHandler = function(e) {
    if (YAHOO.env.ua.ie > 0) {
        RepositionCommTableHeaders();
    }

    Reposition_DivisionOverlay();

    Reposition_Curtain();
}


var RepositionCommTableHeaders = function() {
    var trHeadRow = YAHOO.util.Dom.get("yui-dt0-hdrow0");
    var oldStyleDisplay = trHeadRow.style.display;
    trHeadRow.style.display = "none";
    trHeadRow.style.display = oldStyleDisplay;
}

var Reposition_DivisionOverlay = function() {
    var yPos;
    
    divCommCheckBoxesOverlay.align("br", "br");
    yPos = parseInt(divCommCheckBoxesOverlay.cfg.getProperty("y"));
    divCommCheckBoxesOverlay.cfg.setProperty("y", yPos - 68);

    divEmailToFriendOverlay.center();

    divHaveQuestionOverlay.center();

}

var Reposition_Curtain = function() {
    var divCurtain = YAHOO.util.Dom.get("divCurtain");

    var docHeight = YAHOO.util.Dom.getDocumentHeight();
    var docWidth = YAHOO.util.Dom.getDocumentWidth();

    divCurtain.style.width = docWidth + "px";
    divCurtain.style.height = docHeight + "px";
}


// WR serving: /js/SiteCommon.js






var TMNavigation_SetItemMouseOver=function(sourceItem)
{
    
    var itemImage=YAHOO.util.Dom.getElementsByClassName("imgMenuItem",null,sourceItem)[0];
    
    
    itemImage.src=itemImage.src.replace("/off/","/on/");
}

var TMNavigation_SetItemMouseOut=function(sourceItem)
{
   
    var itemImage=YAHOO.util.Dom.getElementsByClassName("imgMenuItem",null,sourceItem)[0];
    
    
    itemImage.src=itemImage.src.replace("/on/","/off/");
}

var TMNavigation_SetItemSelected=function(sourceItem)
{
     
    var itemImage=YAHOO.util.Dom.getElementsByClassName("imgMenuItem",null,sourceItem)[0];
    
    
    itemImage.src=itemImage.src.replace("/off/","/on/");    
   
}


var TMNavigation_MenuMouseOverHandler=function (e)
{
    TMNavigation_SetItemMouseOver(this);  
}


var TMNavigation_MenuMouseOutHandler=function (e)
{
   TMNavigation_SetItemMouseOut(this);  
}



var TMNavigation_InitMenu=function (menuClassName)
{
    
    var menuItemsArray=YAHOO.util.Dom.getElementsByClassName(menuClassName);
    
    for(var i=0;i<menuItemsArray.length;i++)
    {
        var menuItem=menuItemsArray[i];
        
    
        if(YAHOO.util.Dom.hasClass(menuItem, "selected"))
        {
            TMNavigation_SetItemSelected(menuItem);  
        }
        else
        {
            YAHOO.util.Event.addListener(menuItem,"mouseover", TMNavigation_MenuMouseOverHandler);
            YAHOO.util.Event.addListener(menuItem,"mouseout", TMNavigation_MenuMouseOutHandler);           
            
        }
    }
    
    
}




function ExtraStylesheet(href, browser, browserVersion)
{
    this.href=href;
    this.browser=browser;
    this.browserVersion=browserVersion;
} 

function ExternalScript(href)
{
    this.href=href;
}

function DocumentScript(code)
{
    this.code=code;
}


function PrintContent(contentDivId, extraHeaderContent, extraStylesheets)
{
    
    var divContent=YAHOO.util.Dom.get(contentDivId);
    
    
    if (contentDivId == "divPrintableFloorplans")
    {
        
        var ifrStatic = YAHOO.util.Dom.get("ifrIFViewer");
        divContent=ifrStatic.contentWindow.YAHOO.util.Dom.get(contentDivId);
    }

    
    var ifrPrintContainer=YAHOO.util.Dom.get("ifrPrintContainer");
    
    
    var printWnd;
        
    
    var ifrDoc;
       
    
    if(YAHOO.env.ua.opera>0  || YAHOO.env.ua.webkit>0)
    {
        
        printWnd=window.open('');
        
        
        ifrDoc=printWnd.document;
    }
    else
    {
        
        ifrDoc=ifrPrintContainer.contentWindow.document;
    }

    
    ifrDoc.open();
    
    
    ifrDoc.write("<html><head>");

  

     
    for(var i=0; i<document.styleSheets.length;i++)
    {
       ifrDoc.write("<link rel=stylesheet href=\""+document.styleSheets[i].href+"\"/>");
    }
    
    
    if(extraStylesheets)
    {
        for(var i=0; i<extraStylesheets.length; i++)
        {
            var addES=false;
            
            
            var es=extraStylesheets[i];
            
            
            
            
            if(es.browser!=null && es.browser!="")
            {
                switch(es.browser)
                {
                    case "ie":
                        addES=parseInt(YAHOO.env.ua.ie)==parseInt(es.browserVersion);
                        break;
                        
                    case "gecko":
                        addES=parseInt(YAHOO.env.ua.gecko)==parseInt(es.browserVersion);
                        break;
                        
                    default:
                        break;    
                }
            }
            
            if(addES)
            {
                
                ifrDoc.write("<link rel=stylesheet type=text/css href=\""+es.href+"\"/>");
            }
        }
    }
    
    
    
    ifrDoc.write("<style type=text/css>");
   
    
    if(YAHOO.env.ua.ie==6)
    {
      ifrDoc.write("body, td, th, a:link, a:hover, a:active, a:visited {font-size:8pt; text-decoration:none; color:black;}");   
    }
    else
    {
      ifrDoc.write("body, td, th, a:link, a:hover, a:active, a:visited {font-size:10pt; text-decoration:none; color:black;}");
    }
    
    ifrDoc.write("</style>");
    
    ifrDoc.write("</head><body>");
    
    
    if(extraHeaderContent)
    {
        ifrDoc.write(extraHeaderContent);
    }
    
    
    
    ifrDoc.write(divContent.innerHTML);
    
    
    ifrDoc.write("</body></html>");
    
    ifrDoc.close();

    
    if(YAHOO.env.ua.opera>0 || YAHOO.env.ua.webkit>0)
    {
        
        printWnd.print();
    }
    else
    {
        
        if(YAHOO.env.ua.ie)
        {
        
            /*if(YAHOO.env.ua.ie==7)
            {*/
                   ifrDoc.execCommand("print",false,null);
            /*}
            else
            {
                 window.setTimeout(
                    function()
                    {
                        window.frames["ifrPrintContainer"].focus();
                        window.frames["ifrPrintContainer"].print();
                    }, 400);
                    
            }*/
        
        }
        else
        {
            window.frames["ifrPrintContainer"].focus();
            window.frames["ifrPrintContainer"].print();
        }
    }
  
}




function PrintExternalContent(contentUrl, extraHeaderContent, printInExternalContent)
{
    
    
    var ifrPrintContainer=YAHOO.util.Dom.get("ifrPrintContainer");
    
    
    var printWnd;
        
    
    var ifrDoc;
       
    
    if(YAHOO.env.ua.opera>0  || YAHOO.env.ua.webkit>0)
    {
        
        printWnd=window.open(contentUrl);
        
        
        ifrDoc=printWnd.document;
    }
    else
    {
        
        ifrDoc=ifrPrintContainer.contentWindow.document;
        ifrDoc.location=contentUrl;
    }

    if(printInExternalContent)
    {
        
        return;
    }
    else
    {

        
        if(YAHOO.env.ua.opera>0 || YAHOO.env.ua.webkit>0)
        {
            
            printWnd.print();
            
            
        }
        else
        {
            
            if(YAHOO.env.ua.ie)
            {
            
                /*if(YAHOO.env.ua.ie==7)
                {*/
                       ifrDoc.execCommand("print",false,null);
                /*}
                else
                {
                     window.setTimeout(
                        function()
                        {
                            window.frames["ifrPrintContainer"].focus();
                            window.frames["ifrPrintContainer"].print();
                        }, 400);
                        
                }*/
            
            }
            else
            {
                window.frames["ifrPrintContainer"].focus();
                window.frames["ifrPrintContainer"].print();
            }
        }
  }
 
}




function JSTrim(stringToTrim) 
{
    return stringToTrim.replace(/^\s+|\s+$/g,"");
}

