//<![CDATA[
var gmarkers = [];
var i = 0;
var sidebar_html = '';
var sidebar_data = '';
var mapCenter = '';
var query = '';
	
var baseicon = new GIcon();
baseicon.image = "http://stage.utah.com/art/maps/yellow-marker.png";
baseicon.shadow = "http://stage.utah.com/art/maps/marker-background.png";
baseicon.iconSize = new GSize(20, 20);
baseicon.shadowSize = new GSize(20, 20);
baseicon.iconAnchor = new GPoint(9, 19);
baseicon.infoWindowAnchor = new GPoint(9, 10);

function displayListings(){
	outDiv = document.getElementById("o");
	//alert(sidebar_data);
	sidebar_data = sidebar_data.replace(/\s+$/,"");
	var stateparks = sidebar_data.split("\n");
	var numStateParks = stateparks.length;
	var column = 1;
	var column_1 = '';
	var column_2 = '';
	var column_3 = '';
	var count = 0;
	var countLimit = Math.ceil(numStateParks / 2);
	for(var i = 1; i < numStateParks; i++){
		//alert(stateparks[i]);
		park = stateparks[i].split(';');
		switch(column){
			case 1:
				column_1 += '<a class="markLink" href="/' + park[1] + '">' + park[0] + '</a>  | <a class="markLink" href="#gmap" onclick="showMapMarker(' + park[2] + ')">Map</a><br />';
				break;
			case 2:
				column_2 += '<a class="markLink" href="/' + park[1] + '">' + park[0] + '</a>  | <a class="markLink" href="#gmap" onclick="showMapMarker(' + park[2] + ')">Map</a><br />';
				break;
			default:
				//column_3 += '<p><a class="markLink" href="javascript: void(0);" onclick="showMapMarker(' + park[1] + ')">' + park[0] + '</a></p>';
		}
		count++;
		if(count >= countLimit){
			if(column == 1){
				column = 2;
			} else {
				//column = 3;
			}
			//alert(column);
			count = 0;
		}
	}
	//<td style="vertical-align: top">' + column_3 + '</td>
	sidebar_html = '<h3 style="margin-bottom: 0px;">Alphabetical listing of Parks displayed on Map</h3><table cellspacing="0" style="width: 100%"><tr><td style="vertical-align: top"><p>' + column_1 + '</p></td><td style="vertical-align: top"><p>' + column_2 + '</p></td></tr></table>';
	outDiv.innerHTML = sidebar_html; // + '<br><br>Center: ' + mapCenter + '<br><br>Query: ' + query + '';
}
	
// This function picks up the click and opens the corresponding info window
function showMapMarker(i) {
  GEvent.trigger(gmarkers[i], "click");
}
	
function load(clat, clong, zlevel) {
  if (GBrowserIsCompatible()) {				
var map = new GMap2(document.getElementById("gmap"));
map.addControl(new GSmallMapControl());
var geocoder = new GClientGeocoder();
map.setCenter(new GLatLng(clat, clong), zlevel);
var boundaryPoints = map.getBounds();

// Add event listener for movend or dragend or both. When the user quits moving the map, then make the ajax call to get
// properties within the bounds of the map
GEvent.addListener(map, "zoomend", function(){ boundaryPoints = map.getBounds(); getStateParks(boundaryPoints); });
GEvent.addListener(map, "dragend", function(){ boundaryPoints = map.getBounds(); getStateParks(boundaryPoints); });


// Creates a marker at the given point with the given number label
function createMarker(point, name, html, url) {
  var marker = new GMarker(point, { icon: baseicon, title: name });
  GEvent.addListener(marker, "mouseover", function() {
    marker.openInfoWindowHtml( html, { maxWidth: 250 } );
  });
  // save the info we need to use later for the side_bar
  //gmarkers[i] = marker;
  //sidebar_data += name + ';' + url + ';' + i + "\n";
  //i++;
  return marker;
}				

function addMarker(name, description, url, latitude, longitude) {
  var website_html = '';
  if(url){
  	website_html = '<a href="/' + url + '">More information...</a>'
  }
  var html = '<span style="font: 12px arial"><b>' + name + '</b><br /></span><span style="font: 12px arial">' + description + ' ' + website_html + '</span>';
  if(latitude && longitude){
  	point = new GLatLng(latitude, longitude);
	if(point != null){
		map.addOverlay(createMarker(point, name, html, url));
	}
  } 
}


// get lodging addresses to mark
function getStateParks(bounds){	
	mapCenter = map.getCenter();
	var southWest = bounds.getSouthWest();
	var northEast = bounds.getNorthEast();
	//map.addOverlay(createMarker(southWest, 'South West Boundary', '<p>' + southWest + '</p>'));
	//map.addOverlay(createMarker(northEast, 'North East Boundary', '<p>' + northEast + '</p>'));
	var respText, respCode, timestamp, cdate;
	var ucdate = new Date();
	var timestamp = ucdate.getSeconds();
	var downloadURL = '/database/getStateparkList.php?nec='+northEast+'&swc='+southWest+'&time=' + timestamp;
	//document.write(downloadURL);
	GDownloadUrl(downloadURL, function(respText, respCode){ 
		//alert('Response Code: ' + respCode + ' Response: ' + respText); 
		if(respCode = '200'){
			var data = respText.split("\n");
			query = data.shift();
			marker_names = data[0].replace(/^\s+|\s+$/g,"").split('|');
			descriptions = data[1].replace(/^\s+|\s+$/g,"").split('|');
			urls = data[2].replace(/^\s+|\s+$/g,"").split('|');
			latitudes = data[3].replace(/^\s+|\s+$/g,"").split('|');
			longitudes = data[4].replace(/^\s+|\s+$/g,"").split('|');
			marker_types = data[5].replace(/^\s+|\s+$/g,"").split('|');
			//alert(urls);
			if(marker_names){
				map.clearOverlays();
				sidebar_html = '';
				sidebar_data = '';
				for(var x = 0; x < marker_names.length; x++){
					addMarker(marker_names[x], descriptions[x], urls[x], latitudes[x], longitudes[x]);
				}
			}						
		  }
		})
	//setTimeout("displayListings()", 750);
}

getStateParks(boundaryPoints);



  }
}
//]]>