// JavaScript Document

//<![CDATA[
/*function load() {
	if (GBrowserIsCompatible()) {
    	var loc = new GLatLng(37.996666,-84.548611);
		var map = new GMap2(document.getElementById("map"));
        var mapTypeControl = new GMapTypeControl();
		var topRight = new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10,10));
		map.addControl(mapTypeControl, topRight);
		map.addControl(new GSmallMapControl());		
		map.setCenter(loc, 13);
		map.addOverlay(new GMarker(loc));
	}
}*/
var locArray = new Array();
function load() {
	if (GBrowserIsCompatible()) {
		var urlParams = Spry.Utils.getLocationParamsAsObject();
		var firm = document.getElementById('firmID');
		var firmID = firm.className;
		
		var map = new GMap2(document.getElementById("map"));
    	var req = Spry.Utils.loadURL("GET", "/com/locations.cfc?method=getRemoteLocations&firmID=" + firmID, false, parseResult);
		var center = new GLatLng(37.996666,-84.548611);
        var mapTypeControl = new GMapTypeControl();
		var topRight = new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10,10));
		map.addControl(mapTypeControl, topRight);
		map.addControl(new GSmallMapControl());		
		map.setCenter(center, 2);
		
		function createMarker(loc, num) {
		  var marker = new GMarker(loc);
		  marker.value = num;
		  GEvent.addListener(marker, "click", function() {
			var stringArray = locArray[num].toString();
			var splitString = stringArray.split(';');
			var myHtml = '<div style="font-family:arial;font-size:8pt;color:#333333;">'+splitString[0]+'<br />'+splitString[1]+'<br />'+splitString[2]+', '+splitString[3]+' '+splitString[4]+'<br /><br />Phone:'+splitString[5]+'<br />Fax:'+splitString[6]+'</div>';
			map.openInfoWindowHtml(loc, myHtml);
		  });
		  return marker;
		}	

		for(i=0;i<locArray.length;i++) {
			var stringArray = locArray[i].toString();
			var splitString = stringArray.split(';');
			var loc = new GLatLng(splitString[7],splitString[8]);
			map.addOverlay(createMarker(loc, i));
		}
	}
}


function parseResult(request) {
	var result 		= 	request.xhRequest.responseXML;
	var xmldom 		= 	Spry.XML.documentToObject(result); 
	if(xmldom.locations._getPropertyAsArray('location')) {
		var locLength 	= 	xmldom.locations.location.length;
	}
	else {
		return;
	}
	for(i=0;i<locLength;i++) {
		var node		= 	xmldom.locations.location[i];
		locArray[i] = 	node.name._value() + ";" + node.address._value() + ";" + node.city._value() + ";" + node.state._value() + ";" + node.zip._value() + ";" + node.phone._value() + ";" + node.fax._value() + ";" + node.latitude._value() + ";" + node.longitude._value();
	}
	return locArray;
}
//]]>
