
var offY = 10;
var offX = 2;
var markers;
var highted = false;
function init() 
{  
	var ele = document.getElementsByTagName('li'); 
	for(var i = 0; i < ele.length; i++)
	{
		if (ele[i].id.indexOf("menu_item_") != -1)
		{
			ele[i].onclick = function()
			{
				location.href = this.childNodes[0].href;
			}
		}
	}
	loadGeneralMap();
	positionGeneralMap();
	//if (start)
		//start();
}

function changePage(diff)
{
	YAHOO.util.Dom.get("pageIndex").value = parseInt(YAHOO.util.Dom.get("pageIndex").value) + diff;
	YAHOO.util.Dom.get("search-form").submit();
}

function loadGeneralMap()
{
	map = new GMap2(YAHOO.util.Dom.get("search-results-map"));
	map.addControl(new GSmallMapControl());
	geocoder = new GClientGeocoder(); 
       markers = new Array();
        var bounds = new GLatLngBounds;
	for(var i = 0; i < listings.length; i++)
	{
		var adrStr = listings[i].streetNumber + " " + listings[i].streetName + ", " + listings[i].city + ", " + listings[i].state;
    	if (listings[i].zip != null)
        	adrStr += " " + listings[i].zip;
    	
    	if (listings[i].latitude != null && listings[i].longitude != null)
    	{
    		var point = new GLatLng(listings[i].latitude, listings[i].longitude);
    		//map.setCenter(point, 14);
    		var marker = new GMarker(point);
    		marker.listingId = listings[i].id;
                markers[markers.length] = marker;
    		map.addOverlay(marker);
        	GEvent.addListener(marker, "click", function() {
        		  openMapInfo(this);
        		  });
                bounds.extend(point);
    	}
	}
        var auto_zoom = map.getBoundsZoomLevel(bounds);
	//if (auto_zoom> 15)
		//auto_zoom = 15;
	zoom = auto_zoom;
	center = bounds.getCenter();
	 map.setCenter(bounds.getCenter());
	 map.setZoom(auto_zoom);
	      
}

function openMapInfo(marker)
{
	var html = "<table  class=\"info-table\">";
	html += "<tr>";
	html += "<td colspan='2' style='font-weight:bold; padding-bottom:10px;'>" + YAHOO.util.Dom.get(marker.listingId + "_ADDRESS").innerHTML + "</td>";
	html += "</tr>";
	html += "<tr>";
		//html += "<td>Rent:</td>";
		html += "<td style='padding-left:5px;padding-right:5px;'>" + YAHOO.util.Dom.get(marker.listingId + "_RENT").innerHTML + "</td>";
	
		html += "<td rowspan ='4' colspan='1' style='text-align:center;padding-right:0px; padding-bottom:10px;'><img  src='" + YAHOO.util.Dom.get(marker.listingId + "_PHOTO").src + "'  /></td>";
	html += "</tr>";
	html += "<tr>";
		//html += "<td>Avail.:</td>";
		html += "<td style='padding-left:5px;padding-right:5px;'>Available " + YAHOO.util.Dom.get(marker.listingId + "_AVAIL").innerHTML + "</td>";
	html += "</tr>";
	html += "<tr>";
		//html += "<td>Bed:</td>";
		html += "<td style='padding-left:5px;padding-right:5px;'>" + YAHOO.util.Dom.get(marker.listingId + "_BED").innerHTML + " / " + 
			YAHOO.util.Dom.get(marker.listingId + "_BATH").innerHTML	+ "Baths</td>";
		html += "</tr>";	
	html += "<tr>";
		//html += "<td colspan='1'>" + "Util.:" + "</td>";
		html += "<td colspan='1'>Includes: " + YAHOO.util.Dom.get(marker.listingId + "_UTIL").innerHTML + "</td>";
	html += "</tr>";
	html += "<tr>";
		html += "<td colspan='2' style='text-align:right;'><a href='javascript:void(0);' style='font-weight:bold;' onclick='viewApartmentDetails(\"" + marker.listingId + "\", \"Details\");'>Click Here For Details</a></td>";
	html += "</tr>";
	html += "</table>";
	
	marker.openInfoWindowHtml(html);
}
function viewApartmentDetails(id)
{
	window.location = "details.php?id=" + id;
}
function positionGeneralMap()
{
	var xy = findPos(YAHOO.util.Dom.get("search-results"));
	if (YAHOO.util.Dom.get("paging-section-bottom"))
		var stop = findPos(YAHOO.util.Dom.get("paging-section-bottom"))[1];
	else
		var stop = 0;
	if( typeof( window.pageYOffset ) == 'number' ) {
		var newY = window.pageYOffset;
	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
		var newY = document.body.scrollTop;
	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
		var newY = document.documentElement.scrollTop;
	} else 
		var newY = document.body.scrollTop;
	
	newY = (newY > xy[1]) ? (newY - xy[1] + 10) : offY;
	if (true ||(newY + 500 + xy[1] + 10) < stop)
	{
		YAHOO.util.Dom.setStyle("search-results-map", "top", newY + "px");
		YAHOO.util.Dom.setStyle("search-results-map", "left", offX + "px");
	}
	setTimeout("positionGeneralMap();", 1000);
}
function findPos(obj) 
{
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
	}
	return [curleft,curtop];
}
String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}
function highlight(id,e){

	if (!e) var e = window.event;
	var reltg = (e.relatedTarget) ? e.relatedTarget : e.fromElement;

	//alert(reltg.className);
	if(!reltg)
	{return;}
	else if(reltg.className!="" && reltg.className!="apt-display" && reltg.className!="widecolumn"  )
	{
            //alert("hi "+reltg.className);
		return;
	}
        if(!highted)
	{
		marker = findMarker(id);

		if(marker)
		{
			//marker.setImage("http://maps.google.com/mapfiles/markerff.gif");

			var point = marker.getLatLng();
			map.setCenter(point);

		    // Create YGL marker icon
			var YGLIcon = new GIcon(G_DEFAULT_ICON);
		    YGLIcon.image = SITE_URL + "images/blue.png";
			//YGLIcon.image = YGL_URL + "images/house_pin.png";
			YGLIcon.shadow = "";
			//YGLIcon.iconSize = new GSize(32, 32);

		    // Set up  GMarkerOptions object
			markerOptions = { icon:YGLIcon };

			var marker1 = new GMarker(point, markerOptions);
			var tempId= marker.listingId;
			tempId +="temp"
			marker1.listingId = tempId;

			markers[markers.length] = marker1;
			map.addOverlay(marker1);
			openMapInfo(marker);

                }
                highted = true;
        }
}
function dehighlight(id,e)
{
	if (!e)
            var e = window.event;

	var reltg = (e.relatedTarget) ? e.relatedTarget : e.toElement;

	if(!reltg)
	{return;}
	else if(reltg.className!="" && reltg.className!="apt-display" && reltg.className!="widecolumn" && reltg.className!="yui-skin-sam" )
	{
//alert("de "+reltg.className);
			return;
		}
        if(highted)
	{
		var tempId =id+"temp";
		marker = findMarker(id);
		marker1 = findMarker(tempId);

			if(marker1)
			{
				map.removeOverlay(marker1)
			}
			if(marker)
			{
				marker.closeInfoWindow();

			}
       highted =false;
    }

}
function findMarker(id){
    
	var curMarker;
	for(var i=0;i<markers.length;i++)
	{
		if(markers[i].listingId==id)
			{
			  curMarker =  markers[i];
			  if(id.indexOf("temp")>=0)
			  {
				  //alert("remove array");

				  markers.splice(i,1);
			  }
				return curMarker;
			}
	}
	return null;
}
