var markerGroups = { "voter_reg": [], "food_supply": [], "abduction": [], "unlawful_detention": [], "looting": [], "freedom_association": [], "freedom_info": [], "murder": [], "political_cleansing": [], "political_violence": [], "press_freedom": [], "vote_buying": [], "gerrymandering": [],"inaccessible_voters_rolls": [], "observer_restrictions": [], "polling_issues": [], "judicial_issues": [], "state_propaganda": []};

var mapTypes = [];
        mapTypes.push(G_NORMAL_MAP);
        mapTypes.push(G_PHYSICAL_MAP);
        mapTypes.push(G_SATELLITE_MAP);

function load(doc) {
	var map = document.getElementById("map");
	if (GBrowserIsCompatible()) {
		var gmap = new GMap2(map,{mapTypes:mapTypes});
        gmap.addControl(new GLargeMapControl());
        gmap.addControl(new GMapTypeControl());
        gmap.setCenter(new GLatLng(-19.156291402835436, 29.572705078125), 7);

     }

	var jsonData = eval("(" + doc + ")");
	for (var i = 0; i < jsonData.markers.length; i++) {
		var marker = createMarker(jsonData.markers[i]);
		gmap.addOverlay(marker);
	}

	if (document.getElementById("vote_buying").checked==false)
  	{
	  	toggleGroup('vote_buying');
  	}
  	if (document.getElementById("gerrymandering").checked==false)
  	{
	  	toggleGroup('gerrymandering');
  	}
  	if (document.getElementById("inaccessible_voters_rolls").checked==false)
  	{
	  	toggleGroup('inaccessible_voters_rolls');
  	}
  	if (document.getElementById("observer_restrictions").checked==false)
  	{
	  	toggleGroup('observer_restrictions');
  	}
  	if (document.getElementById("polling_issues").checked==false)
  	{
	  	toggleGroup('polling_issues');
  	}
  	if (document.getElementById("judicial_issues").checked==false)
  	{
	  	toggleGroup('judicial_issues');
  	}
  	if (document.getElementById("state_propaganda").checked==false)
  	{
	  	toggleGroup('state_propaganda');
  	}
	if (document.getElementById("voter_reg").checked==false)
  	{
	  	toggleGroup('voter_reg');
  	}
  	if (document.getElementById("food_supply").checked==false)
  	{
	  	toggleGroup('food_supply');
  	}
  	if (document.getElementById("abduction").checked==false)
  	{
	  toggleGroup('abduction');
  	}
  	if (document.getElementById("unlawful_detention").checked==false)
  	{
	  	toggleGroup('unlawful_detention');
  	}
  	if (document.getElementById("looting").checked==false)
  	{
	  	toggleGroup('looting');
  	}
  	if (document.getElementById("freedom_association").checked==false)
  	{
	  toggleGroup('freedom_association');
  	}
  		if (document.getElementById("freedom_info").checked==false)
  	{
	  	toggleGroup('freedom_info');
  	}
  	if (document.getElementById("political_cleansing").checked==false)
  	{
	  	toggleGroup('political_cleansing');
  	}
  	if (document.getElementById("murder").checked==false)
  	{
	  toggleGroup('murder');
  	}
  		if (document.getElementById("political_violence").checked==false)
  	{
	  	toggleGroup('political_violence');
  	}
  	if (document.getElementById("press_freedom").checked==false)
  	{
	  	toggleGroup('press_freedom');
  	}

    function createMarker(inp){

	    //alert(inp.neu_level);
	    if (inp.breach_icon =='vote_buying')
	    {
		    var iconLink="/files/images/markers/vote_buying/vote_buying.png";
		    var shadow_type = "vote_buying";
	   	}
	   	if (inp.breach_icon =='gerrymandering')
	    {
		    var iconLink="/files/images/markers/gerrymander/gerrymander.png";
		    var shadow_type = "gerrymandering";
	   	}
	   	if (inp.breach_icon =='inaccessible_voters_rolls')
	    {
		    var iconLink="/files/images/markers/inspection/no_inspect.png";
		    var shadow_type = "inaccessible_voters_rolls";
	   	}
	   	if (inp.breach_icon =='observer_restrictions')
	    {
		    var iconLink="/files/images/markers/observer/observer.png";
		    var shadow_type = "observer_restrictions";
	   	}
	   	if (inp.breach_icon =='polling_issues')
	    {
		    var iconLink="/files/images/markers/polling_issues/polling_issues.png";
		    var shadow_type = "polling_issues";
	   	}
	   	if (inp.breach_icon =='judicial_issues')
	    {
		    var iconLink="/files/images/markers/judicial/judicial.png";
		    var shadow_type = "judicial_issues";
	   	}
	   	if (inp.breach_icon =='state_propaganda')
	    {
		    var iconLink="/files/images/markers/propaganda/propaganda.png";
		    var shadow_type = "state_propaganda";
	   	}
	    if (inp.breach_icon =='voter_reg')
	    {
		    var iconLink="/files/images/markers/voterregistration/Voter-Reg-Icon.png";
		    var shadow_type = "voter_reg";
	   	}
	   	if (inp.breach_icon =='murder')
	    {
		    var iconLink="/files/images/markers/murder/Murder-Icon.png";
		    var shadow_type = "murder";
	   	}
	   	if (inp.breach_icon =='political_cleansing')
	    {
		    var iconLink="/files/images/markers/politicalcleansing/Political-Cleansing-Icon.png";
		    var shadow_type = "political_cleansing";
	   	}
	   	if (inp.breach_icon =='political_violence')
	    {
		    var iconLink="/files/images/markers/politicalviolence/Political-Violence-Icon.png";
		    var shadow_type = "political_violence";
	   	}
	   	if (inp.breach_icon =='press_freedom')
	    {
		    var iconLink="/files/images/markers/pressfreedom/Press-Freedom-Icon.png";
		    var shadow_type = "press_freedom";
	   	}
	   	if (inp.breach_icon =='unlawful_detention')
	    {
		    var iconLink="/files/images/markers/unlawfuldetention/Unlawful-Detention-Icon.png";
		    var shadow_type = "unlawful_detention";
	   	}
	   	if (inp.breach_icon =='looting')
	    {
		    var iconLink="/files/images/markers/looting/Looting-Icon.png";
		    var shadow_type = "looting";
	   	}
	   	if (inp.breach_icon =='freedom_association')
	    {
		    var iconLink="/files/images/markers/freedomofassoc/Freedom-of-Assoc-Icon.png";
		    var shadow_type = "freedom_association";
	   	}
	   	if (inp.breach_icon =='freedom_info')
	    {
		    var iconLink="/files/images/markers/freedomofinfo/Freedom-of-info-Icon.png";
		    var shadow_type = "freedom_info";
	   	}
	   	else if (inp.breach_icon =='food_supply')
	   	{
		   	var iconLink="/files/images/markers/foodsupply/Food-Supply-Icon.png";
		   	var shadow_type = "food_supply";
	   	}
	   	else if (inp.breach_icon =='abduction')
	   	{
		   	var iconLink="/files/images/markers/abduction/Abductions-Icon.png";
		   	var shadow_type = "abduction";
	   	}

		var marker = new GMarker(new GLatLng(inp.lat_dec,inp.long_dec),makeIcon(iconLink,shadow_type));
		if (inp.breach_icon!=null)
		{
			var type = inp.breach_icon;

			//alert(type);
			markerGroups[type].push(marker)
	    }
		var eventLink="\"http://www.sokwanele.com/zew/zew_byevent.php?event="+inp.event_id+"\"";
		var issueLink="\"http://www.sokwanele.com/zew/zew_byissue.php?issues="+inp.issue_no+"\"";

		GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml("<div class=\"gmap_popup\"><h2>"+inp.place+"</h2><b><a href="+issueLink+">Issue "+inp.issue_no+"</a>: "+inp.source_date+"</b><p>"+inp.summary+"<br><a href="+eventLink+">Link to source on ZEW database</a></div>");
		});
		return marker;
	}

	function makeIcon(image,shadowy){
		var tinyIcon = new GIcon();

		tinyIcon.image = image;
		var shadow_icon = shadowy;

		if (shadow_icon == "vote_buying")
  		{
	  		tinyIcon.shadow = "/files/images/markers/vote_buying/vote_buying_shadow.png";
	  		tinyIcon.iconSize = new GSize(34, 26);
			tinyIcon.shadowSize = new GSize(50, 26);
  		}
  		if (shadow_icon == "gerrymandering")
  		{
	  		tinyIcon.shadow = "/files/images/markers/gerrymander/gerrymander_shadow.png";
	  		tinyIcon.iconSize = new GSize(27, 26);
			tinyIcon.shadowSize = new GSize(45, 26);
  		}
  		if (shadow_icon == "inaccessible_voters_rolls")
  		{
	  		tinyIcon.shadow = "/files/images/markers/inspection/no_inspect_shadow.png";
	  		tinyIcon.iconSize = new GSize(28, 27);
			tinyIcon.shadowSize = new GSize(45, 27);
  		}
  		if (shadow_icon == "observer_restrictions")
  		{
	  		tinyIcon.shadow = "/files/images/markers/observer/observer_shadow.png";
	  		tinyIcon.iconSize = new GSize(23, 22);
			tinyIcon.shadowSize = new GSize(40, 22);
  		}
  		if (shadow_icon == "polling_issues")
  		{
	  		tinyIcon.shadow = "/files/images/markers/polling_issues/polling_issues_shadow.png";
	  		tinyIcon.iconSize = new GSize(23, 26);
			tinyIcon.shadowSize = new GSize(32, 26);
  		}
  		if (shadow_icon == "judicial_issues")
  		{
	  		tinyIcon.shadow = "/files/images/markers/judicial/judicial_shadow.png";
	  		tinyIcon.iconSize = new GSize(25, 27);
			tinyIcon.shadowSize = new GSize(45, 27);
  		}
  		if (shadow_icon == "state_propaganda")
  		{
	  		tinyIcon.shadow = "/files/images/markers/propaganda/propaganda_shadow.png";
	  		tinyIcon.iconSize = new GSize(32, 27);
			tinyIcon.shadowSize = new GSize(48, 27);
  		}
		if (shadow_icon == "murder")
  		{
	  		tinyIcon.shadow = "/files/images/markers/murder/Murder-Shadow.png";
	  		tinyIcon.iconSize = new GSize(23, 26);
			tinyIcon.shadowSize = new GSize(32, 26);
  		}
  		if (shadow_icon == "political_cleansing")
  		{
	  		tinyIcon.shadow = "/files/images/markers/politicalcleansing/Political-Cleansing-Shadow.png";
	  		tinyIcon.iconSize = new GSize(23, 26);
			tinyIcon.shadowSize = new GSize(32, 26);

  		}
  		if (shadow_icon == "political_violence")
  		{
	  		tinyIcon.shadow = "/files/images/markers/politicalviolence/Political-Violence-Shadow.png";
	  		tinyIcon.iconSize = new GSize(23, 26);
			tinyIcon.shadowSize = new GSize(32, 26);

  		}
  		if (shadow_icon == "press_freedom")
  		{
	  		tinyIcon.shadow = "/files/images/markers/pressfreedom/Press-Freedom-Shadow.png";
	  		tinyIcon.iconSize = new GSize(23, 26);
			tinyIcon.shadowSize = new GSize(32, 26);

  		}
  		if (shadow_icon == "voter_reg")
  		{
	  		tinyIcon.shadow = "/files/images/markers/voterregistration/Voter-Reg-Shadow.png";
	  		tinyIcon.iconSize = new GSize(23, 26);
			tinyIcon.shadowSize = new GSize(32, 26);

  		}
  		if (shadow_icon == "unlawful_detention")
  		{
	  		tinyIcon.shadow = "/files/images/markers/unlawfuldetention/Unlawful-Detention-Shadow.png";
	  		tinyIcon.iconSize = new GSize(29, 26);
			tinyIcon.shadowSize = new GSize(38, 26);

  		}
  		if (shadow_icon == "freedom_association")
  		{
	  		tinyIcon.shadow = "/files/images/markers/freedomofassoc/Freedom-of-Assoc-Shadow.png";
	  		tinyIcon.iconSize = new GSize(23, 26);
			tinyIcon.shadowSize = new GSize(32, 26);

  		}
  		if (shadow_icon == "looting")
  		{
	  		tinyIcon.shadow = "/files/images/markers/looting/Looting-Shadow.png";
	  		tinyIcon.iconSize = new GSize(24, 30);
			tinyIcon.shadowSize = new GSize(40, 30);

  		}
  		if (shadow_icon == "freedom_info")
  		{
	  		tinyIcon.shadow = "/files/images/markers/freedomofinfo/Freedom-of-info-Shadow.png";
	  		tinyIcon.iconSize = new GSize(23, 26);
			tinyIcon.shadowSize = new GSize(32, 26);

  		}
  		if (shadow_icon == "food_supply")
  		{
	  		tinyIcon.shadow = "/files/images/markers/foodsupply/Food-Supply-Shadow.png";
	  		tinyIcon.iconSize = new GSize(20, 26);
			tinyIcon.shadowSize = new GSize(32, 26);
  		}
  		if (shadow_icon == "abduction")
  		{
	  		tinyIcon.shadow = "/files/images/markers/abduction/Abductions-Shadow.png";
	  		tinyIcon.iconSize = new GSize(21, 26);
			tinyIcon.shadowSize = new GSize(31, 26);
  		}
  			tinyIcon.iconAnchor = new GPoint(10, 29);
			tinyIcon.infoWindowAnchor = new GPoint(5, 1);

		return tinyIcon;
	}
}

function toggleGroup(types) {
      for (var i = 0; i < markerGroups[types].length; i++) {
        var marker2 = markerGroups[types][i];
        if (marker2.isHidden()) {
          marker2.show();
        } else {
          marker2.hide();
        }
      }
}