$(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(35.18, -80.8), 10);
		var customUI = map.getDefaultUI();
		customUI.controls.maptypecontrol = true;
		customUI.controls.largemapcontrol3d = true;
		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: ".4",
				outline: true
			});

			var tooltip = new Tooltip(area, label, 0, true);
			GEvent.addListener(area, "mouseover", function() { this.setFillStyle({opacity: ".5"}); this.tooltip.show(); });
			GEvent.addListener(area, "mouseout", function() { this.setFillStyle({opacity: ".2"}); 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('char', 'o`dwE`tzkNb_I~iLgg@flAfKd}@~fDtt@bfEsG`zBdPzlBoc@`pAwXbzAnc@`pA`fN?txJfkCfjB|bFwX|tCzrB|FjhChhB|gAp^cyA|`Cia@fkA~cCtkErGjaBglAkhKexSp`Tm`RkuEuhEhVyeAmr@or@nBqfEkk]iuf@crIhmRcoBl{BisHl}A_iNjrKkeBse@_b@|i@', 'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB', color1, 'Charlotte', '/Charlotte-NC'),

			new Array('union', 'uzrtEvpklNkuEuhEhVyeAmr@or@nBqfEkk]iuf@bcHcsOztZrwPzfQ`~PfDdwY{xCePkmKhvI', 'BBBBBBBBBBBB', color2, 'Union County', '/Union-County-NC'),

			new Array('cab', 'avxuEznsjNcrIhmRcoBl{BisHl}A_iNjrKkeBse@k_DgfO_Ce_WfbVuxJbl`@yeAq_HvlO', 'BBBBBBBBBBB', color4, 'Cabarrus County', '/Cabarrus-County-NC'),

			new Array('york', '{r{tEjksmNkhKexSnq`@ww\\`xC~Mk}H`up@qvGrgK}`HzK}}QyjEpLoeEtgBtcAnd@}uAdwByYvoAr}BpdEpVpgBm~A', 'BBBBBBBBBBBBBBB', color3, 'York County', '/York-County-SC'),

			new Array('pine', 'snduEzf{lNl_GwfFaqAmTa}C{cB_Ck_AwoA|i@aBljCse@vaBre@rt@ew@xeAtwB~M', 'BBBBBBBBBBB', color2, 'Pineville', '/Pineville-NC'),

			new Array('mat', 'mjjuEtgfkNvfFvoH`TfqEefE|i@pAnyCci@oTc[i_AygBut@esAw}CuaAtIqw@al@}t@cyAflE}gAzf@pGbfCi`F', 'BBBBBBBBBBBBBBB', color4, 'Matthews', '/Matthews-NC'),

			new Array('mint', 'w{wuEhepkN`t@}ZflE}gAzf@pGbfCi`F_vGapJgrBhyBct@cP{{@zi@eeBdAic@trAnBllBrvAduC`F~\\nWdAxNpVa_@tt@bt@ka@h`@`l@h`@`NgO`{@', 'BBBBBBBBBBBBBBBBBBBBB', color3, 'Mint Hill', '/Mint-Hill-NC')
		);
		

		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]);
		}
	}
}
