//<![CDATA[

var map=null;
var geocoder=null;

function load() {
	map=new GMap2(document.getElementById("map"));
	geocoder=new GClientGeocoder();
	
	if (GBrowserIsCompatible()) {
	
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		map.addControl(new GOverviewMapControl());
		map.setCenter(new GLatLng(38.0, -96.0), 4);
    
    	GDownloadUrl("amarokmembers.xml",
			function(data, responseCode) {
  				var xml=GXml.parse(data);
  				var markers=xml.documentElement.getElementsByTagName("ROW");
       			var locator="";
        		var company="";
				var xmlstring="";
  				for (var i = 0; i < markers.length; i++) {
					locator="";
					xmlstring=markers[i].getAttribute("Addr1");
  					if (xmlstring!=null) {
            			locator=xmlstring;
					}
					xmlstring=markers[i].getAttribute("City");
  					if (xmlstring!=null) {
            			if (locator!="")
              				locator=locator + " ";
            			locator=locator + xmlstring;
	          		}
					xmlstring=markers[i].getAttribute("State");
  					if (xmlstring!=null) {
            			if (locator!="")
              				locator=locator + " ";
            			locator=locator + xmlstring;
					}
					xmlstring=markers[i].getAttribute("Zip");
  					if (xmlstring!=null) {
        	    		if (locator!="")
            	  			locator=locator + " ";
  						locator=locator + xmlstring;
					}
					xmlstring=markers[i].getAttribute("Company")
   					if (xmlstring!=null) {
        	    		company=xmlstring;
          			}
					showAddress(locator, company);
					if ((i % 5) == 0) {
						sleep(200);
					}
  				}
  	  		}
    	);
	}
}

function sleep(sleepMSecs) {
	var sleeping=true;
	var now=new Date();
	var alarm;
	var startingMSeconds=now.getTime();
	while (sleeping) {
		alarm=new Date();
		alarmMSeconds=alarm.getTime();
		if (alarmMSeconds - startingMSeconds > sleepMSecs) { 
			sleeping=false; 
		}
	}      
}

function showAddress(locator, company) {
	geocoder.getLatLng(
		locator,
		function(point) {      
			if (!point) { 
			} 
			else {        
				var marker=new GMarker(point);
				GEvent.addListener(marker, "click", function() 
					{
						marker.openInfoWindowHtml("<b>" + company + "<BR>" + locator + "</b>");
					}
				); 
				map.addOverlay(marker);
			}    
		}  
	);
}

//]]>
