var centerLatitude = 42.45124;
var centerLongitude = -75.08030;
var startZoom = 15;
var map;
var lng;
var lat;
var geocoder;
var theAddress;
function init() {
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map"));
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
		map.setCenter(new GLatLng(centerLatitude, centerLongitude), startZoom);
		geocoder = new GClientGeocoder();
		//listMarkers();
		
		showAddress(theAddress);

		//allow the user to click the map to create amarker
		GEvent.addListener(map, "click", function(overlay, latlng) {
			//retrieve the longitude and lattitude of the click point
			lng = latlng.lng();
			lat = latlng.lat();
			createMarker();
		});

	}	
}
function showAddress(address) {
  if (geocoder) {
    geocoder.getLatLng(
      address,
      function(point) {
        if (!point) {
          alert(address + " not found");
        } else {
          map.setCenter(point, startZoom);
          var marker = new GMarker(point);
          map.addOverlay(marker);
          marker.openInfoWindowHtml(address);
		  
			la = document.getElementById("event_lat");
			la.value = "" + point.lat();
			ln = document.getElementById("event_lng");
			ln.value = "" + point.lng();

        }
      }
    );
  }
}
function createMarker(){
	
	//var msg = "Latitude = " + lat1.toString() + "\nlongitude = " + lng1.toString();
	 
	//window.alert(msg);
	
	la = document.getElementById("event_lat");
	la.value = "" + lat;
	ln = document.getElementById("event_lng");
	ln.value = "" + lng;
	
	map.clearOverlays();
	var marker = new GMarker(new GLatLng(lat, lng));
	map.addOverlay(marker);
	marker.openInfoWindowHtml(theAddress);
	
	return false;
	
	/*
	var formValues=Form.serialize('name-input');
	new Ajax.Request( 'http://www.oneontaonthemap.com/tag/create', 
	{ 	method: 'post', 
		parameters: formValues,
		onComplete: function(request){
			//parse the result to JSON (simply by eval-ing it)
			res=eval( "(" + request.responseText + ")" );
			//check to see if it was an error or success
			if(!res.success) {
				alert(res.content);
			} else {
				//create anew marker and add its info window
				var latlng = new GLatLng(parseFloat(lat),parseFloat(lng));
				var marker = addMarkerToMap(latlng, res.content);
				map.addOverlay(marker);
				map.closeInfoWindow();
			} // end of the res.success check
		}
	}); // end of the new Ajax.Request() call
	*/
}


function sendUp()
{
	params = {};
	
	params["lat"] = document.getElementById("location_lat").value;
	params["lng"] = document.getElementById("location_lng").value;
	
}



function addMarkerToMap(latlng, html) {
	var marker = new GMarker(latlng);
	GEvent.addListener(marker, 'click', function() {
	var markerHTML = html;
	marker.openInfoWindowHtml(markerHTML);
	});
	return marker;
}
function listMarkers() {
	var request = GXmlHttp.create();
	//tell the request where to retrieve data from.
	request.open('GET', 'http://oneontaonthemap.com/tag/list', true);
	//tell the request what to do when the state changes.
	request.onreadystatechange = function() {
		if (request.readyState == 4) {
		//parse the result to JSON,by eval-ing it. 
		//The response is an array of markers
		markers=eval( "(" + request.responseText + ")" );
		for (var i = 0 ; i < markers.length ; i++) {
			var marker=markers[i].attributes
			var lat=marker.lat;
			var lng=marker.lng;
			//check for lat and lng so MSIE does not error
			//on parseFloat of anull value
			if (lat && lng) {
				var latlng = new GLatLng(parseFloat(lat),parseFloat(lng));
				//var html = '<div font-family: sans-serif >'
				var html = document.createElement("div");
				html.font = 'arial';
				html.innerHTML = '<b>Name </b>' + marker.name;
				var marker = addMarkerToMap(latlng, html);
				map.addOverlay(marker);
			} // end of if lat and lng
		} // end of for loop
	} //if
} //function
request.send(null);
}

function HideRightBar()
{
	Element.addClassName('body', 'rightbar-off');
}	
function ShowRightBar()
{
	Element.removeClassName('body', 'rightbar-off');
}	
	




window.onload = init;
window.onunload = GUnload;

