//<![CDATA[

//Variables
var gmarkers = [];
var map;
var myLat = 30.275672431597897;
var myLong = -81.50070190429688;
var myZoom = 7;
var center = new GLatLng(myLat, myLong);

//Pick-up the clicks and open corresponding InfoWindow.
function myclick(i) {
  GEvent.trigger(gmarkers[i], "click");
}

function onLoad(){
  if (GBrowserIsCompatible()) {
	
	//Variables for passing variables
	var idmarkers = [];
	
	//Variables for side_bar_html
	var side_bar_html = "";
	var i = 0;
	
	//Regular Variables
	map = new GMap(document.getElementById("map"));
	map.addControl(new GLargeMapControl());
	map.addControl(new GMapTypeControl());
	map.addControl(new GOverviewMapControl());
	
	//Create Draggable Markers
	function createDraggable(marker,markerName,infoTabs) {
		//Use custom icons with letters A-Z.
		var letter = String.fromCharCode("A".charCodeAt(0) + i); //NOTE: "letter" is not used in this instance, we use the markerName instead.
		var myIcon = new GIcon(G_DEFAULT_ICON, "http://www.google.com/mapfiles/marker" + markerName + ".png");
		myIcon.printImage = "http://maps.google.com/mapfiles/marker"+markerName+"ie.gif"
		myIcon.mozPrintImage = "http://maps.google.com/mapfiles/marker"+markerName+"ff.gif"
		//Continue with the function.
		var marker = new GMarker(point, {icon:myIcon});
		GEvent.addListener(marker, "click", function() {
		  marker.openInfoWindowTabsHtml(infoTabs);
		  });
		GEvent.addListener(marker, "dragstart", function() {
		  map.closeInfoWindow();
		  });
		map.addOverlay(marker);
		//Save for later use in the side_bar.
		gmarkers[i] = marker;
		//Add line to the side_bar html.
		side_bar_html += '<a href="javascript:myclick(' + i + ')">' + '<img src="images/icon.' + markerName + '.gif" width="263" height="87" border="0"' + ' alt="' + markerName + '" />' + '</a>';
		//Special instance for markers that are too close together.
		if (markerName == "A") {
			side_bar_html += '<a href="javascript:myclick(' + i + ')">' + '<img src="images/icon.' + 'B' + '.gif" width="263" height="87" border="0"' + ' alt="' + 'B' + '" />' + '</a>';
		}
		i++;
	}
	
	//Center map on GPoint
	map.centerAndZoom(new GPoint(myLong, myLat), myZoom);
	
	//======== Draggable Markers ========//
	//Draggable Markers A & B
	var point = new GLatLng(30.45992, -81.578014);
	var marker = new GMarker(point, {draggable:false});
	var infoTabs = [
	  new GInfoWindowTab("Overview", "<span class=\"info\"><b>Yellow Bluff &amp; Pondview</b> Offices&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> Medical Offices at <b>New Berlin</b></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"),
	  new GInfoWindowTab("Media", "<span class=\"info\">Sales Package (Yellow Bluff) <a href=\"/locations/001/001.pdf\" target=\"_detail\">PDF</a><strong>*</strong> <a href=\"/locations/001/001.swf\" target=\"_detail\">Flash</a><strong>*</strong><br /> Sales Package (New Berlin) <a href=\"/locations/001/002.pdf\" target=\"_detail\">PDF</a><strong>*</strong> <a href=\"/locations/001/002.swf\" target=\"_detail\">Flash</a><strong>*</strong><br /> Color Choices for Yellow Bluff &amp; New Berlin <a href=\"/locations/001/colors.pdf\" target=\"_detail\">PDF</a><strong>*</strong> <a href=\"/locations/001/colors.swf\" target=\"_detail\">Flash</a><strong>*</strong><br /><br /> <em><strong>*</strong>Sales Packages require <a href=\"http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash\" target=\"_blank\">Flash Player</a> or <a href=\"http://www.adobe.com/products/acrobat/readstep2.html\" target=\"_blank\">Acrobat Reader</a>.</em></span>")
	];
	createDraggable(marker,"A",infoTabs);
	//Draggable Marker C
	var point = new GLatLng(30.29657323383411, -81.52632236480713);
	var marker = new GMarker(point, {draggable:false});
	var infoTabs = [
	  new GInfoWindowTab("Overview", "<span class=\"info\">Office Condos and Warehouse at <b>St. Johns Bluff</b></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"),
	  new GInfoWindowTab("Media", "<span class=\"info\">Sales Package <a href=\"/locations/003/001.pdf\" target=\"_detail\">PDF</a><strong>*</strong> <a href=\"/locations/003/001.swf\" target=\"_detail\">Flash</a><strong>*</strong></span><br /><br /> <em><strong>*</strong>Sales Packages require <a href=\"http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash\" target=\"_blank\">Flash Player</a> or <a href=\"http://www.adobe.com/products/acrobat/readstep2.html\" target=\"_blank\">Acrobat Reader</a>.</em></span>")
	];
	createDraggable(marker,"C",infoTabs);
	//Draggable Marker D
	var point = new GLatLng(30.23630458332835, -81.51181697845459);
	var marker = new GMarker(point, {draggable:false});
	var infoTabs = [
	  new GInfoWindowTab("Overview", "<span class=\"info\"><b>Hampton Village</b> - Phase B</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"),
	  new GInfoWindowTab("Media", "<span class=\"info\"><a href=\"/locations/004/Current_ Site-Plan.pdf\" target=\"_detail\">Current Site Plan<strong>*</strong></a><br /> <a href=\"/locations/004/Phase_B_Site-Plan.pdf\" target=\"_detail\">Phase B Site Plan<strong>*</strong></a><br /> <a href=\"/locations/004/Elevation.jpg\" target=\"_detail\">Elevation</a><br /> <a href=\"/locations/004/001.pdf\" target=\"_detail\">Overall Aerial #1<strong>*</strong></a><br /> <a href=\"/locations/004/002.pdf\" target=\"_detail\">Overall Aerial #2<strong>*</strong></a><br /> <a href=\"/locations/004/001.jpg\" target=\"_detail\">Aerial #1</a><br /> <a href=\"/locations/004/002.jpg\" target=\"_detail\">Aerial #2</a><br /><br /> <em><strong>*</strong>These items require <a href=\"http://www.adobe.com/products/acrobat/readstep2.html\" target=\"_blank\">Acrobat Reader.</a></em></span>")
	];
	createDraggable(marker,"D",infoTabs);
	//Draggable Marker E
	var point = new GLatLng(30.056530, -81.539960);
	var marker = new GMarker(point, {draggable:false});
	var infoTabs = [
	  new GInfoWindowTab("Overview", "<span class=\"info\"><b>South Hampton</b></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"),
	  new GInfoWindowTab("Media", "<span class=\"info\"><a href=\"/locations/005/001.jpg\" target=\"_detail\">Photo #1</a><br /> <a href=\"/locations/005/002.jpg\" target=\"_detail\">Photo #2</a><br /> <a href=\"/locations/005/003.jpg\" target=\"_detail\">Photo #3</a><br /> <a href=\"/locations/005/004.jpg\" target=\"_detail\">Photo #4</a></span>")
	];
	createDraggable(marker,"E",infoTabs);
	//Draggable Marker F
	var point = new GLatLng(30.06259427287199, -81.5060877999878);
	var marker = new GMarker(point, {draggable:false});
	var infoTabs = [
	  new GInfoWindowTab("Overview", "<span class=\"info\"><b>St. Johns Forest</b></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"),
	  new GInfoWindowTab("Media", "<span class=\"info\"><em>No media currently available.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</em></span>")
	];
	createDraggable(marker,"F",infoTabs);
	
	//======== side_bar_html ========//
	//Assembled side_bar_html content placed in DIV.
	document.getElementById("side_bar").innerHTML = side_bar_html;
	
	//======== Read Paramaters ========//
	//Before we go looking for the passed parameters, set some defaults in case there are no parameters.
	var id;
	var index = -1;
	
	//If there are any parameters at the end of the URL, they will be in location.search in the following format: "?marker=3"
	
	//Skip the first character, we're not interested in the "?".
	var query = location.search.substring(1);
	
	//Split the rest at each "&" character to give a list of "argname=value" pairs.
	var pairs = query.split("&");
	for (var i=0; i<pairs.length; i++) {
		//Break each pair at the first "=" to obtain the argname and value.
		var pos = pairs[i].indexOf("=");
		var argname = pairs[i].substring(0,pos).toLowerCase();
		var value = pairs[i].substring(pos+1).toLowerCase();
		
		//Process each possible argname; use unescape() if there's any chance of spaces.
		if (argname == "id") {id = unescape(value);}
		if (argname == "marker") {index = parseFloat(value);}
	}
	
	//======== If a parameter was passed, open the info window. ========//
	if (id) {
		if (idmarkers[id]) {
		  GEvent.trigger(idmarkers[id],"click");
		} else {
		  alert("id "+id+" does not match any marker");
		}
	}
	if (index > -1) {
		if (index < gmarkers.length) {
		  GEvent.trigger(gmarkers[index],"click");
		} else {
		  alert("marker "+index+" does not exist");
		}
	}
	
  }
}

//]]>
