function County(county, platinum, gold, silver, bronze, LOCs, endorsements, contacts, points, levels) 
{
   this.county = county;
   this.platinum = platinum;
   this.gold = gold;
   this.silver = silver;
   this.bronze = bronze;
   this.LOCs = LOCs;
   this.endorsements = endorsements;
   this.contacts = contacts;
   this.points = points;
   this.levels = levels;
}

var counties = [];
var polys = [];
var map;

function formatNumber(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}

function load(zoom)
{
	if (GBrowserIsCompatible()) 
	{
		// Display the map, with some controls and set the initial location 
		map = new GMap2(document.getElementById("map"));
		map.addControl(new GMapTypeControl());
		map.addControl(new GLargeMapControl());
		map.setCenter(new GLatLng(44.778839759088585, -86.287744140625),zoom);

		for(var i=0; i<counties.length; i++)
		{
			var poly = new GPolygon.fromEncoded({
			  polylines: [
				{points: counties[i].points,
				 levels: counties[i].levels,
				 color: "#0000ff",
				 opacity: 0.7,
				 weight: 3,
				 numLevels: 18,
				 zoomFactor: 2}],
			  fill: true,
			  color: "#FF9428",
			  opacity: 0.5,
			  outline: true
			});

			//GEvent.addListener(poly, "mouseover", poly_mouseover);
			GEvent.addListener(poly, "click", poly_click);
			
			poly.clickable = false;
			polys.push(poly);
			map.addOverlay(poly);
		}
	}
}

function poly_mouseover()
{
	for (var i=0; i<polys.length; i++) 
	{
		if (polys[i] == this) 
		{
			map.openInfoWindowHtml(this.getBounds().getCenter(),displayHTML(counties[i]));
			i=polys.length;
		}
	}
}

function poly_click(point)
{
	for (var i=0; i<polys.length; i++) 
	{
		if (polys[i] == this) 
		{
			map.openInfoWindowHtml(point,displayHTML(counties[i]));
			i=polys.length;
		}
	}
}

function displayHTML(county)
{
	var total = county.platinum + county.gold + county.silver + county.bronze;
	var platinumPct = 0;
	var goldPct = 0;
	var silverPct = 0;
	var bronzePct = 0;
	
	if(total > 0)
	{
		platinumPct = (parseInt(county.platinum) / total * 100).toFixed(1);
		goldPct = (parseInt(county.gold) / total * 100).toFixed(1);
		silverPct = (parseInt(county.silver) / total * 100).toFixed(1);
		bronzePct = (parseInt(county.bronze) / total * 100).toFixed(1);
	}
		
	return "<table cellpadding='3'><tr><td colspan=4 class='ms-vb' style='font-size:1.2em;font-weight:bold'>" + county.county + "</td></tr>" +
			"<tr><td class='ms-vb'>" + formatNumber(total) + "</td><td class='ms-vb' colspan=3>Total NCRCs</td></tr>" +
			"<tr><td class='ms-vb'>&nbsp;</td><td class='ms-vb'>" + formatNumber(county.platinum) + "</td><td class='ms-vb'>Platinum</td><td class='ms-vb'>" + platinumPct + "%</td></tr>" +
			"<tr><td class='ms-vb'>&nbsp;</td><td class='ms-vb'>" + formatNumber(county.gold) + "</td><td class='ms-vb'>Gold</td><td class='ms-vb'>" + goldPct + "%</td></tr>" +
			"<tr><td class='ms-vb'>&nbsp;</td><td class='ms-vb'>" + formatNumber(county.silver) + "</td><td class='ms-vb'>Silver</td><td class='ms-vb'>" + silverPct + "%</td></tr>" +
			"<tr><td class='ms-vb'>&nbsp;</td><td class='ms-vb'>" + formatNumber(county.bronze) + "</td><td class='ms-vb'>Bronze</td><td class='ms-vb'>" + bronzePct + "%</td></tr>" +
			"<tr><td class='ms-vb'>" + formatNumber(county.endorsements) + "</td><td class='ms-vb' colspan=3>NCRC Endorsements</td></tr>" +
			"<tr><td class='ms-vb'>" + formatNumber(county.LOCs) + "</td><td class='ms-vb' colspan=3>LOCs</td></tr>" +
			"<tr><td class='ms-vb'>" + formatNumber(county.contacts) + "</td><td class='ms-vb' colspan=3>Contacts</td></tr>" +
			"<tr><td class='ms-vb'>&nbsp;</td></tr>" + 
			"<tr><td class='ms-vb'>&nbsp;</td><td class='ms-vb' colspan='3'><a target=_'blank' href='/Content/definitions.aspx'>Definitions</a></td></tr>" + 
			"</table>";
}