  	var s_mapComments = null;
  	var s_mapCommentsMessage = "<b>Latest users live. <a href=\"http://www.makelogic.com/stats/makeLogic_users_across_the_world.htm\">Enlarge</a></b>";
  	var S_MAX_USERS_TO_SHOW = 25;
  	var s_mapType = "";

    //..Global variables................................................
    var s_map = null;
    var s_mgr = null;
    var s_batch = [];
    var s_iconAll = null;
    var s_icon1 = null;
    var s_icon2 = null;
    var s_marker = new Array(S_MAX_USERS_TO_SHOW);
    var s_markerText = new Array(S_MAX_USERS_TO_SHOW);
    

	//..setupUserMap.....................................................
    function s_setupUserMap() {
    //..Debug
    //alert("setupUserMap Start");
    s_mapComments = document.getElementById("smallMapComments");
   	s_mapComments.innerHTML = "<b>Loading. Please Wait...<b>";
    
      if (GBrowserIsCompatible()) {
        s_map = new GMap2(document.getElementById("smallMap"));
        //s_map.addControl(new GLargeMapControl());
        s_map.setCenter(new GLatLng(35, 0), 0);
        
        //..Show satellite map on alternate days
        var d = new Date();
        d = d.getDate();
        if(d%2 == 0){
			s_map.setMapType(G_SATELLITE_TYPE);
			s_mapType = "SATELLITE";
        }
        else{
			s_mapType = "MAP";
        }
        
		GEvent.addListener(s_map, "mouseout", function() {
			 s_mapComments.innerHTML = s_mapCommentsMessage;
		});

         
        //s_map.enableDoubleClickZoom();
        window.setTimeout(s_setupUserMarkers, 0);
      }
      
    //..Debug
    //alert("setupUserMap End");      
    }

	//..getUserIcon.....................................................
    function s_getUserIcon(i) {
    //..Debug
    //alert("getUserIcon Start");
    //s_mapComments.innerHTML = i;
    if(i<5){
		if (!s_icon1) {
			s_icon1 = new GIcon();

			if(s_mapType == "SATELLITE"){
				s_icon1.image = "http://www.makelogic.com/images/mark10.gif";
			}else{
				s_icon1.image = "http://www.makelogic.com/images/mark05.gif";
			}
			//s_icon1.image="http://www.makelogic.com/images/redRightArrow.gif";
			s_icon1.iconSize = new GSize(10, 10);
			s_icon1.iconAnchor = new GPoint(5, 10);
			//s_icon1.infoWindowAnchor = new GPoint(16, 0);
			//s_icon1.shadow = "markermanager/" + IMAGES[i] + "-shadow.png";
			s_icon1.shadowSize = new GSize(0, 0);
		}
		return s_icon1;
      }
      else if(i<100){
		if (!s_icon2) {
			s_icon2 = new GIcon();
			//s_icon2.image = "http://www.makelogic.com/images/menuArrow.gif";
			if(s_mapType == "SATELLITE"){
				s_icon2.image = "http://www.makelogic.com/images/mark08.gif";
			}else{
				s_icon2.image="http://www.makelogic.com/images/mark04.gif";
			}
			s_icon2.iconSize = new GSize(10, 10);
			s_icon2.iconAnchor = new GPoint(5, 10);
			//s_icon2.infoWindowAnchor = new GPoint(16, 0);
			//s_icon2.shadow = "markermanager/" + IMAGES[i] + "-shadow.png";
			s_icon2.shadowSize = new GSize(0, 0);
		}
		return s_icon2;
      }
      else{
      		if (!s_iconAll) {
			s_iconAll = new GIcon();
			s_iconAll.image = "http://www.makelogic.com/images/mark02.gif";
			//s_iconAll.image="http://www.makelogic.com/images/redRightArrow.gif";
			s_iconAll.iconSize = new GSize(3, 3);
			s_iconAll.iconAnchor = new GPoint(0, 0);
			//s_iconAll.infoWindowAnchor = new GPoint(16, 0);
			//s_iconAll.shadow = "markermanager/" + IMAGES[i] + "-shadow.png";
			s_iconAll.shadowSize = new GSize(0, 0);
		}
		return s_iconAll;
      }
    }

	
	//..setupUserMarkers...................................................
    function s_setupUserMarkers() {
    //..Debug
    //alert("setupUserMarkers Start");
     
      
		//..Download the Data XML File using AJAX
	    var d = new Date();
	    
	    //..Debug
	    //alert("Cache Bust : "+d.valueOf());
	    
	    var url="http://www.makelogic.com/stats/LatestUserIPData.xml?cacheBust="+d.valueOf();
	    
    	GDownloadUrl(url, function(data, responseCode) {

			//..Debug
    		//alert("Data Download Complete. Beginning the marker processing");
			
  			var xml = GXml.parse(data);
  			
			var markers = xml.documentElement.getElementsByTagName("marker");
  			
			var noOfUsersToShow=S_MAX_USERS_TO_SHOW;
  
			if(noOfUsersToShow > markers.length){
				noOfUsersToShow = markers.length;
			}

			if(noOfUsersToShow < 0){
				noOfUsersToShow = 0;
			}
			
			var tempLat = "";
			var tempLng = "";
			var tempText = "";
			var tempMarker = null;
			
			for (var i = 0; i < noOfUsersToShow ; ++i) {
				
				tempLat = parseFloat(markers[i].getAttribute("lat"));
				tempLng = parseFloat(markers[i].getAttribute("lng"));
				//tempText = markers[i].getAttribute("txt");
				s_markerText[i] = markers[i].getAttribute("txt");

				//..Debug
				//s_mapComments.innerHTML = s_mapComments.innerHTML+"<br>"+i+ " "+tempText;

			
				//..Check if any one is Not A Number
				if(isNaN(tempLat) || isNaN(tempLng)){
					//..Debug
					//s_mapComments.innerHTML = s_mapComments.innerHTML+"<br>"+i+ " -> <b>ERROR . Not A Number.</b>";
					continue;
				}
				
				//var point = new GLatLng(tempLat,tempLng);
				
				//..Create a marker and add it to batch
				s_marker[i] = new GMarker(new GLatLng(tempLat,tempLng), { icon: s_getUserIcon(i)});
				s_marker[i].title = s_markerText[i];
				
				//GEvent.addListener(s_marker[i], "click", function() {
				GEvent.addListener(s_marker[i], "mouseover", function() {
					 s_mapComments.innerHTML = "<b>"+this.title+"</b>";
				});
							
				s_batch.push(s_marker[i]);
				
				//..Debug
				//s_mapComments.innerHTML = s_mapComments.innerHTML+"<br>"+i+ " -> "+point+" "+tempText;
			}

			//var mgrOptions = { borderPadding: 50, maxZoom: 15, trackMarkers: true };
			//s_mgr = new GMarkerManager(s_map, mgrOptions);

			s_mgr = new GMarkerManager(s_map);
			s_mgr.addMarkers(s_batch,0,10);
			s_mgr.refresh();
			
			//..Debug
    		//alert("Data Download Complete. Marker processing complete");
    		//htmlAnchor = '<a href="http://www.makelogic.com/stats/makeLogic_users_across_the_world.htm"><b>Our Users Around The World</b></a>'
    		s_mapComments.innerHTML = s_mapCommentsMessage//
    		
		});

    //..Debug
    //alert("setupUserMarkers End");
    }