    //<![CDATA[

	var map;
   	var lmarkers = []; 	// stores marker point info for list
   	var linfo = []; 	// stores marker info that appears in popup window
	var listCount = 0;	// Array count for list
	var listHTML = '';	// String to store all list html that will be displayed in unitList div tag
	var linfoTabs = [];	// Array that stores tab info
	var ldirectionTxt = []; // Array for storing direction html for info window tabs;
	if(!listH){var listH = '450';}		// String for custom list dimensions (Horizontal) on large display page
	if(!listV){var listV = '100';}		// String for custom list dimensions (Vertical)  on large display page

	//alert(listH);
	listHTML += "<table><tr><td nowrap><div style='width:"+listH+"px; height:"+listV+"px;overflow:auto;'><table cellpadding='2' cellspacing='1' border='0' bgcolor='#000000' class='gmaptable'><tr><th bgcolor='#ffffff' class='gmaphead'>Property Name</th><th bgcolor='#ffffff' class='gmaphead'>Type</th><th bgcolor='#ffffff' class='gmaphead'>Bedrooms</th><th bgcolor='#ffffff' class='gmaphead'>Baths</th></tr>";
	// ORIGINAL listHTML += "<table><tr><td nowrap><div style='width:450px; height:100px;overflow:auto;'><table cellpadding='2' cellspacing='1' border='0' bgcolor='#000000' class='gmaptable'><tr><th bgcolor='#ffffff' class='gmaphead'>Property Name</th><th bgcolor='#ffffff' class='gmaphead'>Type</th><th bgcolor='#ffffff' class='gmaphead'>Bedrooms</th><th bgcolor='#ffffff' class='gmaphead'>Baths</th></tr>";
	

   	// This function picks up the click and opens the corresponding info window
   	function myclick(i) {
     	//lmarkers[i].openInfoWindowHtml(linfo[i]);
		lmarkers[i].openInfoWindowTabsHtml(linfoTabs[i]);
   	}




    function load() {

	  getData = location.search.substring(1);
	  getData_array = getData.split('&');

      xmlFile = "/googlemaps/tmp/MapData-"+getData_array[0]+".xml";

	  inMapType = getData_array[5];


	  xmlAttrFile = 'attractions.xml';

	  // Get map starting point. SHould be passed in url for now
	  startLat = getData_array[2];
	  startLng = getData_array[3];
	  startZoom = eval(getData_array[4]);
	  //alert(startLat+" "+startLng+" "+startZoom);

      if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map")); // Creates Map
        //map.addControl(new GSmallMapControl()); 			// Adds small directional and zoom controls
		map.addControl(new GLargeMapControl());				// Adds large directional and zoom controls
		map.addControl(new GScaleControl());				// Adds scale to map
		map.addControl(new GMapTypeControl()); 				// Adds map type control
		map.addControl(new GOverviewMapControl());			// Adds small global map in corner
		//map.addControl(new GSmallZoomControl());			// Adds only a small zoom in/out control
		// use the following to find your center
       	//GEvent.addListener(map, "moveend", function() {	
        //	var center = map.getCenter();
        //  	document.getElementById("message").innerHTML = center.toString();
        //});
		
		map.setCenter(new GLatLng(startLat, startLng), startZoom); // Where Map should center when loaded

		switch(inMapType){
			case 'G_HYBRID_MAP':
			 map.setMapType(G_HYBRID_MAP)
			 break
			case 'G_SATELLITE_MAP':
			 map.setMapType(G_SATELLITE_MAP)
			 break
			default:
			 map.setMapType(G_NORMAL_MAP)
			 break
		}
			

		var baseIcon = new GIcon();
		baseIcon.image = "images/mm_20_blue.png";
		baseIcon.shadow = "images/mm_20_shadow.png";
		baseIcon.iconSize = new GSize(12, 20);
		baseIcon.shadowSize = new GSize(22, 20);
		baseIcon.iconAnchor = new GPoint(6, 20);
		baseIcon.infoWindowAnchor = new GPoint(5, 1);




			

		
		function createMarker(point, markers) {


			///////////////////////////////////////////
			// Gather attribute info  

			var name = markers.getAttribute("name");
			var id = markers.getAttribute("id");
			var bedrooms = markers.getAttribute("br");
			var baths = markers.getAttribute("ba");
			var type = markers.getAttribute("ty");
			var address = markers.getAttribute("add");
			
			var icon = new GIcon(baseIcon); // Use base icon params defined above

			switch(type){
				case '1':
				 type ='condo'
				 icon.image = 'images/mm_20_blue.png'
				 break
				case '2':
				 type='house'
				 icon.image = 'images/mm_20_red.png'
				 break
				case '3':
				 type='multi-family'
				 icon.image = 'images/mm_20_yellow.png'
				 break
				case '4':
				 type='land'
				 icon.image = 'images/mm_20_green.png'
				 break
				case '5':
				 type='commercial'
				 icon.image = 'images/mm_20_purple.png'
				 break
				case '6':
				 type='other'
				 icon.image = 'images/mm_20_black.png'
				 break
				case '7':
				 type='resort'
				 icon.image = 'images/mm_20_green.png'
				 break
				case '8':
				 type='annual'
				 icon.image = 'images/mm_20_purple.png'
				 break
				case '9':
				 type='town house'
				 icon.image = 'images/mm_20_yellow.png'
				 break
				case '10':
				 type='cabin'
				 icon.image = 'images/mm_20_red.png'
				 break
				case '11':
				 type='duplex'
				 icon.image = 'images/mm_20_yellow.png'
				 break				 
				default:
				 type='house'
				 icon.image = 'images/mm_20_red.png'
				 break
			}

			/*
			if(type ==1){
				type='condo';
			}else{
				type='house';
			}
			*/
			var url = markers.getAttribute("url");
			var imgName = markers.getAttribute("img");
			
			var imgWidth = '';
			var imgHeight = '';
			
			if(imgName.indexOf("instantsoftwareonline") > -1){
				
				var imgWidth = 'width="100"';
				var imgHeight = 'height="100"';
			}
			if(imgName.indexOf("pictures.escapia.com") > -1){
				var imgWidth = 'width="100"';
				var imgHeight = 'height="100"';
			}
			if(imgName.indexOf("barefoot.com") > -1){
				var imgWidth = 'width="150"';
				var imgHeight = 'height=""';
			}

			///////////////////////////////////////////
			// Set Icon for specific marker
			/*
        	var icon = new GIcon(baseIcon); // Use base icon params defined above

			if(type != ''){
				if(type == 'house'){
		        	icon.image = 'images/mm_20_red.png';
				}else{
					icon.image = 'images/mm_20_blue.png';
				}
			}
			
			*/
			///////////////////////////////////////////
			// Build Info popup text here

			var info = '<div align="center"><table cellpadding="2" border="0" width="160" height="200"><tr><td align="center"><img src="'+imgName+'" '+imgHeight+'" "'+imgWidth+'"></td></tr><tr><td align="center" valign="top">';
			if(url!=''){
				info+="<a href='"+url+"'><b>"+name+"</b></a><br>";
			}else{
				info+="<b>"+name+"</b><br>";
			}
			info+=address+"<br>Type: "+type+"<br>Bedrooms: "+bedrooms+"<br>Baths: "+baths+"<br></td></tr></table></div>";

			var directionTxt = '<p>Enter an address to get directions to this property.</p>'+
			'<p>Start address:<form action="http://maps.google.com/maps" method="get" target="_blank">' +
           '<input type="text" SIZE=40 MAXLENGTH=40 name="saddr" id="saddr" value="" /><br>' +
           '<INPUT value="Get Directions" TYPE="SUBMIT">' +
           '<input type="hidden" name="daddr" value="' + markers.getAttribute("lat") + ',' + markers.getAttribute("lng") + 
                  // "(" + name + ")" + 
           '"/>';

			var infoTabs = [
 				new GInfoWindowTab("Details", info),
  				new GInfoWindowTab("Directions", directionTxt)
			];

        	var marker = new GMarker(point, icon);
			//var marker = new GMarker(point);
      
       		GEvent.addListener(marker, "click", function() {
          		marker.openInfoWindowTabsHtml(infoTabs);
        	});

       		lmarkers[listCount] = marker;
        	linfo[listCount] = info;
			linfoTabs[listCount] = infoTabs;
			ldirectionTxt[listCount] = directionTxt;
        	listHTML += '<tr><td bgcolor="#ffffff" class="gmaplabel"><a href="javascript:myclick(' + listCount + ')" class="gmaplink">' + name + '</a></td><td bgcolor="#ffffff" class="gmapdata">'+type+'</td><td bgcolor="#ffffff" class="gmapdata">'+bedrooms+'</td><td bgcolor="#ffffff" class="gmapdata">'+baths+'</td></tr>';
      
			listCount++;
        	return marker;
      	}


		// For clients that still use complexes. May need to evolve this to handle clients with multiple condos at same address.
		// CURRENTLY THIS IS NOT USING THE DIRECTIONS TAB IN THE POPUP WINDOW SO WILL NOT WORK.
		// NEEDS TO BE REWORKED ONCE WE HAVE A CLIENT THAT USES THIS. - CR 
		function createMarkerComplex(markers) {


			///////////////////////////////////////////
			// Gather complex attribute info  
			var cid = markers.getAttribute("cid");
			var complexName = markers.getAttribute("cname");
			var complexBedrooms = markers.getAttribute("cbr");
			var complexBaths = markers.getAttribute("cba");
			//alert(cid+"-"+complexName+"-"+complexBedrooms+"-"+complexBaths);



			///////////////////////////////////////////
			// Now gather data on each unit node under complex node
			// and add to info for display purposes
			var info = '<table><tr><td nowrap><div style="width:220px; height:75px;	overflow:auto;"><table cellpadding="2" cellspacing="1" border="0" bgcolor="#000000" width="200" ><tr><th bgcolor="#ffffff">Unit Name</th><th bgcolor="#ffffff">Beds</th><th bgcolor="#ffffff">Baths</th></tr>';

			for(u=0;u<markers.childNodes.length;u++){
				if(markers.childNodes[u].nodeType==1){
					var unitData = markers.childNodes[u];
					
					var name = unitData.getAttribute("name");
					var id = unitData.getAttribute("id");
					var bedrooms = unitData.getAttribute("br");
					var baths = unitData.getAttribute("ba");
					var type = unitData.getAttribute("ty");
					var address = unitData.getAttribute("add");
					var lat = unitData.getAttribute("lat");
					var lng = unitData.getAttribute("lng");
			
					if(type ==1){
						type='condo';
					}else{
						type='house';
					}
					var url = unitData.getAttribute("url");
					var imgName = unitData.getAttribute("img");

					info+="<tr><td align='center' bgcolor='#ffffff'>";

					if(url!=''){
						info+="<a href='"+url+"'><b>"+name+"</b></a>";
					}else{
						info+="<b>"+name+"</b>";
					}

					info+="</td><td bgcolor='#ffffff'>"+bedrooms+"</td><td bgcolor='#ffffff'>"+baths+"</td></tr>";
					
					listHTML += '<tr><td bgcolor="#ffffff"><a href="javascript:myclick(' + listCount + ')">' + name + '</a></td><td bgcolor="#ffffff">'+type+'</td><td bgcolor="#ffffff">'+bedrooms+'</td><td bgcolor="#ffffff">'+baths+'</td></tr>';
				}
			}
			info+="</table></div></td></tr></table>";
		
			info = "<div align='center'><table height='200'><tr><td align='center'><b>"+complexName+"</b><br>"+address+"<br><img src='"+imgName+"' align='center'><br>"+info+"</td></tr></table>";
			//alert(info);


			var directionTxt = '<p>Enter an address to get directions to this property.</p>'+
			'<p>Start address:<form action="http://maps.google.com/maps" method="get" target="_blank">' +
           '<input type="text" SIZE=40 MAXLENGTH=40 name="saddr" id="saddr" value="" /><br>' +
           '<INPUT value="Get Directions" TYPE="SUBMIT">' +
           '<input type="hidden" name="daddr" value="' + lat + ',' + lng + 
                  // "(" + name + ")" + 
           '"/>';

			///////////////////////////////////////////
			// Set point with last lat & lng
			var point = new GPoint(parseFloat(lng),parseFloat(lat));
		 							

			///////////////////////////////////////////
			// Set Icon for specific marker
			// should all be the same for complex

        	var icon = new GIcon(baseIcon);
			icon.image = 'images/mm_20_blue.png';

			var infoTabs = [
 				new GInfoWindowTab("Unit Info", info),
  				new GInfoWindowTab("Directions", directionTxt)
			];

        	var marker = new GMarker(point, icon);
			
           	GEvent.addListener(marker, "click", function() {
          		marker.openInfoWindowTabsHtml(infoTabs);
        	});

            
	 		lmarkers[listCount] = marker;
        	linfo[listCount] = info;
			linfoTabs[listCount] = infoTabs;
			ldirectionTxt[listCount] = directionTxt;
        	//listHTML += '<a href="javascript:myclick(' + listCount + ')">' + name + '</a><br>';
			
			listCount++;
        	return marker;
      	}

		// Sets attractions, office and any other markers. This is hardcoded into attractions.xml file on clients server.
		function createAttrMarker(point, markers) {


			///////////////////////////////////////////
			// Gather attribute info  

			var name = markers.getAttribute("name");
			var id = markers.getAttribute("id");
			var address = markers.getAttribute("address");
			var url = markers.getAttribute("url");
			var type = markers.getAttribute("type");
			//var imgName = markers.getAttribute("img");



			///////////////////////////////////////////
			// Set Icon for specific marker

        	var icon = new GIcon(baseIcon);
			if(type=='golf'){
				icon.image = 'images/icon13.png';
			}
			if(type=='dining'){
				icon.image = 'images/icon46.png';
			}
			if(type=='office'){
				icon.image = 'images/icon21.png';
			}
			if(type=='beach'){
				icon.image = 'images/beach.png';
			}
			icon.iconSize=new GSize(32,32);
   			icon.shadowSize=new GSize(56,32);
   			icon.iconAnchor=new GPoint(16,32);
   			icon.infoWindowAnchor=new GPoint(16,0);
			

			///////////////////////////////////////////
			// Build Info popup text here

			var info = '<div align="center"><table cellpadding="2" border="0" width="160" height="100"><tr><td align="center" valign="top">';
			if(url!=''){
				info+="<a href='http://"+url+"' target='_blank'><b>"+name+"</b></a><br>";
			}else{
				info+="<b>"+name+"</b><br>";
			}
			info+=address+"</td></tr></table></div>";
			
			var directionTxt = '<p>Enter an address to get directions to this property.</p>'+
			'<p>Start address:<form action="http://maps.google.com/maps" method="get" target="_blank">' +
           '<input type="text" SIZE=40 MAXLENGTH=40 name="saddr" id="saddr" value="" /><br>' +
           '<INPUT value="Get Directions" TYPE="SUBMIT">' +
           '<input type="hidden" name="daddr" value="' + markers.getAttribute("lat") + ',' + markers.getAttribute("lng") + 
                  // "(" + name + ")" + 
           '"/>';

			var infoTabs = [
 				new GInfoWindowTab("Unit Info", info),
  				new GInfoWindowTab("Directions", directionTxt)
			];


        	var marker = new GMarker(point, icon);
			//var marker = new GMarker(point);
      
       		GEvent.addListener(marker, "click", function() {
          		marker.openInfoWindowTabsHtml(infoTabs);
        	});

       		//lmarkers[listCount] = marker;
        	//linfo[listCount] = info;
        	//listHTML += '<tr><td bgcolor="#ffffff"><a href="javascript:myclick(' + listCount + ')">' + name + '</a></td><td bgcolor="#ffffff">'+type+'</td><td bgcolor="#ffffff">'+bedrooms+'</td><td bgcolor="#ffffff">'+baths+'</td></tr>';
      
			//listCount++;
        	return marker;
      	}


		//if(getData_array[1] == 'results'){
			GDownloadUrl(xmlFile, function(data, responseCode) {
  					var xml = GXml.parse(data);
			
					// Group type in XML File
					var houses = xml.documentElement.getElementsByTagName('house');
					var complex = xml.documentElement.getElementsByTagName('complex');


					// Handle individual Houses first
					// Currently assumes 1 house = 1 unit
					// This creates an issue for duplex houses


					if(houses.length > 0){ // have houses so show normal
						//alert(houses.length);						
						for (h=0;h<houses.length;h++){
							for(u=0;u<houses[h].childNodes.length;u++){
								if (houses[h].childNodes[u].nodeType==1){  // helps with Mozilla engines to only show elements
  									//alert(houses[h].childNodes[u].getAttribute("id"));
									var markers = houses[h].childNodes[u];
									var point = new GPoint(parseFloat(markers.getAttribute("lng")),parseFloat(markers.getAttribute("lat")));
		 							//alert("Point:"+point);
									var marker = createMarker(point, markers);
									map.addOverlay(marker);
								}
							}
  						}

	  					//var markers = xml.documentElement.getElementsByTagName("unit");
						//var points = xml.documentElement.getElementsByTagName("point");
						//var icons = xml.documentElement.getElementsByTagName("icon");
						//var info = xml.documentElement.getElementsByTagName("info");
			
						//alert(markers.length);	
		
    					//for (var i = 0; i < markers.length; i++) {
      					//	var point = new GPoint(parseFloat(markers[i].getAttribute("lng")),parseFloat(markers[i].getAttribute("lat")));
		 				//	//alert("Point:"+point);
						//	var marker = createMarker(point, markers[i]);
						//	map.addOverlay(marker);
		    			//}
					}//if houses


					if(complex.length > 0){
						//alert(complex.length);
						for (c=0;c<complex.length;c++){
						//for (c=0;c<3;c++){
							for(u=0;u<complex[c].childNodes.length;u++){
								//alert(complex[c].childNodes[u].nodeType);
								if (complex[c].childNodes[u].nodeType==1){ 									
  									//alert(complex[c].childNodes[u].getAttribute("id"));
									var markers = complex[c];
									var marker = createMarkerComplex(markers);
									//var markers = houses[h].childNodes[u];
									//var point = new GPoint(parseFloat(markers.getAttribute("lng")),parseFloat(markers.getAttribute("lat")));
		 							//alert("Point:"+point);
									//var marker = createMarkerComplex(point, markers);
									map.addOverlay(marker);
								}
							}



						}//for complex

					}//if complex

					//alert("list"+listHTML);
					listHTML+="</table></td></tr></table><p><i><b>Google maps are not guaranteed to be 100% accurate</b></i></p>"
					document.getElementById("unitList").innerHTML = listHTML;

				});


			GDownloadUrl(xmlAttrFile, function(data, responseCode) {
  				var xml = GXml.parse(data);
					
				// Group type in XML File
				var locations = xml.documentElement.getElementsByTagName('attraction');
					
				if (locations.length){
					for (var i = 0; i < locations.length; i++) { // cycle thru locations
						//alert(houses[h].childNodes[u].getAttribute("id"));
						var markers = locations[i];
						var point = new GPoint(parseFloat(locations[i].getAttribute("lng")),parseFloat(locations[i].getAttribute("lat")));
		 				//alert("Point:"+point);
						var marker = createAttrMarker(point, markers);
						map.addOverlay(marker);

							
					}
				}
			});

		}

    }



    //]]>


<!-- GOOGLE MAPS END -->
