﻿function add_markers() 
{
    try
    { 
	    for (var i = 0; i < markerArray.length && i < maxMarkers; i++) 
	    {
		    var point = new GPoint(markerArray[i][0], markerArray[i][1]);
		    var marker = createMarker(point, markerArray[i][0], markerArray[i][1], markerArray[i][2], cityCountryArray[i][0], cityCountryArray[i][1]);
		    map.addOverlay(marker);		    
	    }
	    document.getElementById("wait").style.visibility = 'hidden';
    }
	catch(e)
	{
	    document.getElementById("wait").style.visibility = 'hidden';
	    alert("Error in add_markers(): " + e.message);
	}
}

function createMarker(point, lon, lat, hoursOld, city, country) 
{
    try
    { 
        var icon = new GIcon(baseIcon);
	    icon.image = "http://GeoWebTracker.com/images/mm_20_red.png";
	    icon.shadow = "http://GeoWebTracker.com/images/mm_20_shadow.png";
	    var marker = new GMarker(point, icon);
        
	    GEvent.addListener(marker, "click", function() 
	    {
	        var msg = "<div style='font-weight:bold; padding-bottom:4px; text-align:left'>Visitor Information:</div>";
	        msg += "<div style='text-align:left'>";
	        if(hoursOld == 0)
	            msg += "This visitor hit the site in the last hour";
	        else if(hoursOld == 1)
	            msg += "This visitor hit the site 1 hour ago";
	        else if(hoursOld > 1)
	            msg += "This visitor hit the site " + hoursOld + " hours ago";	        
	        if(city.length > 0)
	            msg += "<br/>from " + city + ", " + country + ".  For more <br/>information, please zoom in using the map.</div>"; 	        
	        else
	            msg += "<br/>from " + country + ".  For more information,<br/>please zoom in using the map.</div>"; 	        
	        
	        marker.openInfoWindowHtml(msg);
	    });
    	
	    return marker;
	}
	catch(e)
	{
	    document.getElementById("wait").style.visibility = 'hidden';
	    alert("Error in createMarker(): " + e.message);
	}
}


try
{
    var map = new GMap(document.getElementById("map"));
    map.centerAndZoom(new GPoint(0, 15.741612), 15);
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());

    var baseIcon = new GIcon();
    baseIcon.shadow = "http://GeoWebTracker.com/images/mm_20_shadow.png";
    baseIcon.iconSize = new GSize(12, 20);
    baseIcon.shadowSize = new GSize(22, 20);
    baseIcon.iconAnchor = new GPoint(6, 20);
    baseIcon.infoWindowAnchor = new GPoint(5, 1);
    
    add_markers();
} 
catch(e)
{
    document.getElementById("wait").style.visibility = 'hidden';
    alert("Error in init(): " + e.message);
}