
var hhmap, bounds, param_mapWidth, param_mapHeight;

function getURLParam(name) {
	var regexS = "[\?&]" + name + "=([^&#]*)";
	var regex = new RegExp(regexS);
	var results = regex.exec(window.location.href);
	return (results === null ? "" : results[1]);
}	 

function createMarker(point, title, url) {
	var marker = new GMarker(point, {title:title});
	marker.url = url;
	GEvent.addListener(marker, "click", function() {
		window.open( this.url, '_blank' );
	});
	GEvent.addListener(marker, "mouseover", function() {
		this.setImage(mouseover_icon);
	});
	
	GEvent.addListener(marker, "mouseout", function() {
		this.setImage(mouseout_icon);
	});
	return marker;
}

function addAllMarkers() {
	var length = markers.length, zoom;
	for ( var i = length-1; i>=0; i--) {
		var point = new GLatLng( markers[i].lat, markers[i].lng );
		var marker = createMarker( point, markers[i].name, markers[i].url );
		hhmap.addOverlay(marker);
		bounds.extend(point);
	}
	zoom = hhmap.getBoundsZoomLevel(bounds);
	if (length<=3){
		zoom = zoom-(5-length);
	}
	hhmap.setCenter(bounds.getCenter(), zoom);
}

function initialize() {
	
	//param_mapWidth = getURLParam("w");
	//param_mapHeight = getURLParam("h");

	var domMap = document.getElementById("hhmap");
	if ( param_mapWidth != "" && param_mapHeight != "" ) {
		domMap.style.width = param_mapWidth + "px";
		domMap.style.height = param_mapHeight + "px";
	}
	  
	if (GBrowserIsCompatible()) {
		hhmap = new GMap2(domMap);
		hhmap.addControl(new GLargeMapControl());
		hhmap.addControl(new GMapTypeControl());
		hhmap.setCenter(new GLatLng(43.907787,-79.359741), 14);
		bounds = new GLatLngBounds;
		addAllMarkers();
	}
}

initialize();
