$(document).ready(function(){
	initialize();
});
function showTooltip(tip) {
	GEvent.trigger(places[tip], 'mouseover');
}
function hideTooltip(tip) {
	GEvent.trigger(places[tip], 'mouseout');
}
function initialize() {
	if (GBrowserIsCompatible()) {
		
		var map = new GMap2(document.getElementById("map_canvas"));
		map.setCenter(new GLatLng(37.862, -121.3875), 10);
		var customUI = map.getDefaultUI();
		customUI.controls.maptypecontrol = true;
		customUI.controls.largemapcontrol3d = true;
		customUI.zoom.scrollwheel = false;
		map.setUI(customUI);

		function createArea(enc, lev, bg, label, url) {
			area = new GPolygon.fromEncoded({
				polylines: [{
					points: enc,
					zoomFactor: 32,
					levels: lev,
					numLevels: 4,
					color: bg,
					opacity: ".6",
					weight: 2
				}],
				color: bg,
				fill: "1",
				opacity: "0.3",
				outline: true
			});

			var tooltip = new Tooltip(area, label, 0, true);
			GEvent.addListener(area, "mouseover", function() { this.setFillStyle({opacity: ".6"}); this.tooltip.show(); });
			GEvent.addListener(area, "mouseout", function() { this.setFillStyle({opacity: ".3"}); this.tooltip.hide(); });
			GEvent.addListener(area, "click", function() { window.location = url });
			area.tooltip = tooltip; 
			map.addOverlay(tooltip);
			map.addOverlay(area);

			return area;
		}

		var color1 = '#d6c511'; // yellow
		var color2 = '#1bd611'; // green
		var color3 = '#1173d6'; // blue
		var color4 = '#bf222d'; // red

		// Defined as: areas('id', 'points_encoding', 'B_levels', 'colors', 'tooltip', 'link_url')
		var areas = new Array(
			new Array('tracy', 'u|ieFj}ldVszA??or@srA??se@rI?v@yv@~e@gCaUsnBeh@dAu@{cBki@?fF_]z`@eAbDaqDnn@pVfg@gCbAut@`UhCvnAvwE`wBeALuaBpv@iCLllB|{AgCkBfyB~fB?eaAvpB|lBvXdjAllBu~CdfC_w@sVqD{wFqxAlEf@hhC{zBcALp}BgfAxeAnGy{D', 'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB', color3, 'Tracy', 'http://www.tracyrealestateexpert.idxco.com/i/6616/Tracy_CA'),

			new Array('mount', 'kbteFhq|dVmXe_@luA{aC~}ArGaDr{C}uCeA', 'BBBBBB', color4, 'Mountain House', 'http://www.tracyrealestateexpert.idxco.com/i/6616/Mountain_House_CA'),

			new Array('stockton', '{{_gFt_wcVkkDppAmUf{A_cArVbAmoRtaH{KzuFq_B``Pc`Ed@pfE{tAnc@vE|fGchCyg@}uEhC`Df{A{e@|aCmmB~cC_]st@gmEcAmJka@', 'BBBBBBBBBBBBBBBBBBB', color3, 'Stockton', 'http://www.tracyrealestateexpert.idxco.com/i/6616/Stockton_CA'),

			new Array('manteca', 'is|eFdgzbViaBkwCMse@nwCmE?wXd~H{K?llBvg@hCeApnBpdAbA?zrBckBcAu@zjEug@bAep@oc@{cFrGcp@a]kBe|F', 'BBBBBBBBBBBBBBBBBB', color2, 'Manteca', 'http://www.tracyrealestateexpert.idxco.com/i/6616/Manteca_CA'),

			new Array('lathrop', '_wseFlwlcV}As|H{cFrGcAxeA{vBlEyBl{Bf}DzpCjfDqe@', 'BBBBBBBB', color4, 'Lathrop', 'http://www.tracyrealestateexpert.idxco.com/i/6616/Lathrop_CA')
		);

		places = new Array();
		for(i=0; i<areas.length; i++) {
			places[areas[i][0]] = createArea(areas[i][1], areas[i][2], areas[i][3], areas[i][4], areas[i][5]);
		}
	}
}
