var objMap;
var aNeighborhoods = [];

function Neighborhood_MouseOver(iIndex){
	var objCenter = aNeighborhoods[iIndex].area.getBounds().getCenter();
	objTooltip.innerHTML = aNeighborhoods[iIndex].name;
	var objPoint = objMap.getCurrentMapType().getProjection().fromLatLngToPixel(objMap.fromDivPixelToLatLng(new GPoint(0, 0), true), objMap.getZoom());
	var objOffset = objMap.getCurrentMapType().getProjection().fromLatLngToPixel(objCenter, objMap.getZoom());
	var objPosition = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(((objOffset.x - objPoint.x) - Math.round(objTooltip.offsetWidth / 2)), ((objOffset.y - objPoint.y) - Math.round(objTooltip.offsetHeight / 2)))); 
	objPosition.apply(objTooltip);
	objTooltip.style.visibility = "visible";
}

function Neighborhood_MouseOut(){
	objTooltip.style.visibility = "hidden";
}

function Neighborhood_Click(iIndex, bScrollToTop){
	if(iIndex != null){
		var objNeighborhood = aNeighborhoods[iIndex];
		var sHTML = '<div class="popup">' +
					'<img src="' + sThumbnailsFolder + '/' + objNeighborhood.id + '.jpg" />' +
					'<div><p><strong>' + unescape(objNeighborhood.name) + '</strong><br />' + unescape(objNeighborhood.description) + '</p>' +
					'<p><a href="/' + objNeighborhood.shorthand + '">Explore This Neighbourhood</a></p></div>' +
					'</div>';
		objMap.openInfoWindowHtml(objNeighborhood.area.getBounds().getCenter(), sHTML);
		if(bScrollToTop){
			if(($j("html,body").scrollTop() > $j("#map").offset().top) || $.browser.safari){
				$j("html,body").animate({
					scrollTop : $j("#map").offset().top
				}, 1000, "swing");
			}
		}
	}
}

function Neighborhood_GetIndex(iNeighborhoodID){
	for(var i=0; i<aNeighborhoods.length; i++){
		if(aNeighborhoods[i].id == iNeighborhoodID) return i;
	}
	return false;
}

$j(document).ready(function(){
	$j("#neighborhoods .item .bar").each(function(i){
		$j(this).css({
			opacity : 0.7
		});
	});
	
	$j("#neighborhoods .item .description").each(function(i){
		$j(this).css({
			opacity : 0
		});
	});
	
	$j("#neighborhoods .item").each(function(i){
		$j(this).click(function(){
			Neighborhood_Click(Neighborhood_GetIndex(parseInt(this.id.split("_")[1])), true);
		});
		$j(this).hover(function(){
			$j("#" + this.id + " .description").animate({
				opacity : 0.8
			}, 500);
		},
		function(){
			$j("#" + this.id + " .description").animate({
				opacity : 0
			}, 500);
		});
	});
	
	if(GBrowserIsCompatible()){
		objMap = new GMap2(document.getElementById("map"));
		objMap.addControl(new GSmallMapControl());
		var objPoint = new GLatLng(43.659303,-79.390554);
		objMap.setCenter(objPoint, 13);
		objMap.disableDoubleClickZoom();
		
		for(var i=0; i<aNeighborhoods.length; i++){
			if(aNeighborhoods[i].boundaries.length != 0){
				var aBoundaries = [];
				for(var j=0; j<aNeighborhoods[i].boundaries.length; j++){
					aBoundaries.push(new GLatLng(aNeighborhoods[i].boundaries[j][0], aNeighborhoods[i].boundaries[j][1]));
				}
				aNeighborhoods[i].area = new GPolygon(aBoundaries, "#CC0000", 2, 0.7, "#FF8C8C", 0.5);
				var objPolygon = aNeighborhoods[i].area;
				objMap.addOverlay(objPolygon);
				eval('GEvent.addListener(objPolygon, "mouseover", function(){' +
					 '	Neighborhood_MouseOver(' + i + ');' +
					 '});');
				eval('GEvent.addListener(objPolygon, "mouseout", function(){' +
					 '	Neighborhood_MouseOut(' + i + ');' +
					 '});');
				eval('GEvent.addListener(objPolygon, "click", function(){' +
					 '	Neighborhood_Click(' + i + ');' +
					 '});');
			}
		}
		
		objTooltip = document.createElement("div");
		objTooltip.id = "map_tooltip";
		objMap.getPane(G_MAP_FLOAT_PANE).appendChild(objTooltip);
		with(objTooltip.style){
			position = "absolute";
			padding = "3px 5px 3px 5px";
			minWidth = "100px";
			textAlign = "center";
			fontFamily = "Verdana, sans-serif";
			fontSize = "11px";
			color = "#333333";
			backgroundColor = "#F0F0F0";
			border = "1px #999999 solid";
			visibility = "hidden";
		}
	}
});