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,lotID,lotName,lotAddress,lotCity,lotState,lotZipcode,lotDescription) {
      
	  if (startZoom == 15) {
		  //image information for small markers 
		  var iconSm = new GIcon();
		  iconSm.image = "images/parking_16.png";
		  iconSm.iconSize = new GSize(18, 18);
		  iconSm.iconAnchor = new GPoint(9, 9);
		  iconSm.infoWindowAnchor = new GPoint(9, 1);
		  var marker = new PdMarker(point, iconSm);
	  }
	  if (startZoom == 16) {
		  var iconLg = new GIcon();
		  iconLg.image = "images/parking_16.png";
		  iconLg.iconSize = new GSize(18, 18);
		  iconLg.iconAnchor = new GPoint(9, 9);
		  iconLg.infoWindowAnchor = new GPoint(9, 1);
		  var marker = new PdMarker(point, iconLg);
	  } 
	 
	  var strAddress = "'" + lotAddress + "'";
	  var strCity = "'" + lotCity + "'";
	  var strState = "'" + lotState + "'";
			  
	  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;">' + lotName + '<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);
	  
	  map.panTo(point);
	  
	  GEvent.addListener(marker, 'click', function() {
		  //map.panTo(new GLatLng(point.y + .001,point.x + .0027));
		  //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()); 
   
     if (startZoom == 15) {
	    //Load Small Buildings
	    //smallCltBuildings();
	 }
	 if (startZoom == 16) {
	    //Load Small Buildings
	    //lgCltBuildings();
	 }
	 			   
	   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 lotID = markers[i].getAttribute("parkinglotID");
		  var lotName = markers[i].getAttribute("name");
		  var lotAddress = markers[i].getAttribute("address");
		  var lotCity = markers[i].getAttribute("lot_city");
		  var lotState = markers[i].getAttribute("lot_state");
		  var lotZipcode = markers[i].getAttribute("lot_zipcode");
		  var lotDescription = markers[i].getAttribute("description");
		  
		  //Create the Marker
		  var marker = initializePoint(point,lotID,lotName,lotAddress,lotCity,lotState,lotZipcode,lotDescription);
		  map.addOverlay(marker);
		  
		  
	  }
	  
	  // ====== Restricting the range of Zoom Levels =====
	   // Get the list of map types      
	   var mt = map.getMapTypes();
	   
	   // Overwrite the getMinimumResolution() and getMaximumResolution() methods
	   for (var i=0; i<mt.length; i++) {
		  mt[i].getMinimumResolution = function() {return 15;}
		  mt[i].getMaximumResolution = function() {return 16;}
	   }       
	 
	   //GEvent.addListener(map, "zoomend", function() {
		  //var z=map.getZoom();
		  //if (z == 16) {
		     //for (var j = 0; j < markersArr.length; j++) {
			   //markersArr[j].setImage("images/parking_16.png"); // change graphic
			 //}
			 //lgCltBuildings();
		  //}	 
		  //if (z == 15) {
		     //for (var j = 0; j < markersArr.length; j++) {
			   //markersArr[j].setImage("images/parking_15.png"); // change graphic
			 //}
			 //smallCltBuildings();
		  //}     
	   //});
	  
	  
}

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);
	 		
}

