n = (document.layers) ? 1:0
ie = (document.all) ? 1:0


GMap.prototype.addOverlays=function(a){
       for (var i = 0; i < a.length; i++) {
        this.addOverlay(a[i]);
    }
};

//Declare Variables
var markersArr;
var markersImg;
var htmls;
var j = 0;

markersArr = [];
markersImg = [];
htmls = [];

var request;
var xmlDoc;


function initializePoint(point,nID,nName,nAddress,nCity,nState,nZipcode,nCategory,nPhone,nWebaddress) {
      
	  if (startZoom == 15) {
		  //image information for small markers 
		  var iconSm = new GIcon();
		  iconSm.image = "images/" + nCategory + ".png";
		  iconSm.iconSize = new GSize(20, 20);
		  iconSm.iconAnchor = new GPoint(10, 10);
		  iconSm.infoWindowAnchor = new GPoint(20, 1);
		  var marker = new PdMarker(point, iconSm);
	  }
	  if (startZoom == 16) {
		  var iconLg = new GIcon();
		  iconLg.image = "images/" + nCategory + ".png";
		  iconLg.iconSize = new GSize(20, 20);
		  iconLg.iconAnchor = new GPoint(10, 10);
		  iconLg.infoWindowAnchor = new GPoint(20, 1);
		  var marker = new PdMarker(point, iconLg);
	  } 
	 
	  var strAddress = "'" + nAddress + "'";
	  var strCity = "'" + nCity + "'";
	  var strState = "'" + nState + "'";
			  
	  var toolHTML = '<table width="200" style="height:400px;">'
		  toolHTML = toolHTML + '<tr><td height="185"></td></tr>'
		  toolHTML = toolHTML + '<tr>'
		  toolHTML = toolHTML + '<td bgcolor="#FFFFFF" align="center" valign="middle" height="30" style="border:1px #006699 solid;">' + nName + '<br><br><div align=center><font size=1><em>Click for more Information</em></font></div></td>'
		  toolHTML = toolHTML + '</tr>'
		  toolHTML = toolHTML + '<tr><td height="185"></td></tr>'
		  marker.setTooltip(toolHTML);
	  
	  var html = '<table cellpadding=0 cellspacing=0 border=0 width=318>';
	  
	  //Header
	  html = html + '<tr><td background="images/info_label.gif" colspan=3 height="22" width="318" align="center"><font style=" font-family:Arial; font-size:14px; color:#FFFFFF;"><b>' + nName + '</b></font></td><tr>';
	  html = html + '<tr><td background="images/blk1x1.gif" width="1" rowspan=2 height="100%"><td height=7 width=298 bgcolor="#FFFFFF"></td><td background="images/blk1x1.gif" width="1" height="100%" rowspan=2></tr>';
	  html = html + '<tr>';
	  html = html + '<td bgcolor="#FFFFFF">';
	  html = html + '<div id="overflow">';
	  
	  //General Info Section
	  //html = html + '<img src="images/general_info.gif">';
	  html = html + '<table><tr><td align="right" valign="top"><img src="images/address_label.gif" alt=""></td><td align="left"><font style=" font-family:Arial; font-size:12px; color:#000000;">' + nAddress + '<br>' + nCity + ', ' + nState + ' ' + nZipcode + '</font></td></tr>';
	  html = html + '<tr><tr><td align="right" valign="top"><img src="images/phone_label.gif" alt=""></td><td align="left" valign="top"><font style=" font-family:Arial; font-size:12px; color:#000000;">' + nPhone + '</font></td></tr>';
	  if (nWebaddress != "http://" || nWebaddress != "") {
	     html = html + '<tr><tr><td align="right" valign="top" width="310"><img src="images/website_label.gif" alt=""></td><td align="left" valign="top"><a href=' + nWebaddress + ' target="_blank"><font style=" font-family:Arial; font-size:12px; color:#000000;">' + nWebaddress + '</font></a></td></tr>';
	  }
	  html = html + '</table>';
	  html = html + '<br>';
	  html = html + '</div>';
	  html = html + '</td>';
	  html = html + '</tr>';
	  //html = html + '<tr><td background="images/blk1x1.gif" width="1" height="100%"><td height=10 bgcolor="#FFFFFF"></td><td background="images/blk1x1.gif" width="1" height="100%"></tr>';
	  html = html + '<tr><td background="images/info_footer.gif" width="300" height="20" colspan=3 valign="middle" align="center"></td></tr>';
	  html = html + '</table>';
	  
	  GEvent.addListener(marker, 'click', function() {
		  map.panTo(new GLatLng(point.y + .001,point.x + .0025));
		  //map.panTo(point);
		  //marker.setImage("images/star_here.png"); // change graphic
		  //marker.topMarkerZIndex(); // bring marker to top
		  marker.allowLeftTooltips(false);
		  marker.setDetailWinHTML(html);
	  }); 
	  GEvent.addListener(map, 'click', function() {
		  //marker.restoreImage();
		  marker.restoreMarkerZIndex();
	  }); 
	  
	  markersArr[j] = marker;
	  //markersImg[j] = lotType;
	  
	  j = j + 1;
	  return marker;
	  
}

function initData() {

     map = new GMap2(document.getElementById("map"));
	 map.setCenter(new GLatLng(centerLatitude, centerLongitude), startZoom);
     map.addControl(new GSmallMapControl()); 
   
       var markers = xmlDoc.documentElement.getElementsByTagName("marker");
	   
	   for (var i = 0; i < markers.length; i++) {
		  //Obtain the attributes for each marker
		  var lng = parseFloat(markers[i].getAttribute("lng"));
		  var lat = parseFloat(markers[i].getAttribute("lat"));
		  var point = new GLatLng(lat,lng);
		  var nID = markers[i].getAttribute("poiID");
		  var nName = markers[i].getAttribute("name");
		  var nAddress = markers[i].getAttribute("address");
		  var nCity = markers[i].getAttribute("poi_city");
		  var nState = markers[i].getAttribute("poi_state");
		  var nZipcode = markers[i].getAttribute("poi_zipcode");
		  var nCategory = markers[i].getAttribute("poi_category");
		  var nPhone = markers[i].getAttribute("poi_phone");
		  var nWebaddress = markers[i].getAttribute("poi_webaddress");
		  
		  //Create the Marker
		  var marker = initializePoint(point,nID,nName,nAddress,nCity,nState,nZipcode,nCategory,nPhone,nWebaddress);
		  map.addOverlay(marker);
		  
		  
	  }
	  
	  
}

function onPageLoad() {
	 
	 j=0;
	 //Retrieve XML Date to create markers
	 request = GXmlHttp.create();
	 request.open('GET', file_to_open, true);
	 request.onreadystatechange = function() {
		if (request.readyState == 4) {
			if (request.status != 200)
				setAlertText('Could not access map data.');
			else {
	            xmlDoc = request.responseXML;
				initData();				
	        }
		}
	}
	request.send(null);
	 		
}
