var map;
var markersArray = [];

var latlonArray = [];
var gmapzoom;
var gmap_showlatlon;
var LonsArray = [];
var LatsArray = [];
var latlngbounds;


$(document).ready(function(){
	//alert("ready");
//google.maps.event.addDomListener(window, 'load', loadtest);
	initialize_and_get();
	fit_to_points();
	
	add_cid_markers();
	if (latlonArray[0] != 0) {
		map.fitBounds(latlngbounds);
	}
});

function fit_to_points() {
	for ( var i = 0; i < markersArray.length; i++ ) {
	  latlngbounds.extend( markersArray[ i ] );
	}
	if (latlonArray[0] != 0) {
		map.fitBounds( latlngbounds );	
	}
}

function add_cid_markers() {

	$(".allCidLats").each(function(index) {
		LatsArray.push($(this).val());
	});
	$(".allCidLons").each(function(index) {
		LonsArray.push($(this).val());
		if (LatsArray.length > 0) {
			if (LatsArray[index] != 0) {
				var latlon = new google.maps.LatLng(LatsArray[index],$(this).val());	
				addMarker(latlon);
			}
		}
	});
}

function initialize_and_get() {
	get_lat_lon();
	if (latlonArray[0] != 0) {
		initialize_gmap(latlonArray[0],latlonArray[1]);

		if (gmap_showlatlon) {
			var latlon = new google.maps.LatLng(latlonArray[0],latlonArray[1]);	
			addMarker(latlon);
		}		
	}
//	var latlon = new google.maps.LatLng(latlonArray[0],latlonArray[1]);	
//	addMarker(latlon);	
}

function loadtest () {
	//alert("loading");
	//initialize_and_get();
	//add_cid_markers();
}

function initialize_gmap(lat,lon) {
	if ( _gebi('map_canvas') ) {
		latlngbounds = new google.maps.LatLngBounds();
		var latlon = new google.maps.LatLng(lat,lon);
		var mapzoom = parseInt(gmapzoom);
		var mapOptions = {
			zoom: mapzoom,
			center: latlon,
			mapTypeId: google.maps.MapTypeId.TERRAIN,
			scaleControl: true,
			bounds: latlngbounds
		};
		map =  new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
		

	
		//addMarker(latlon);   //addMarker(new google.maps.LatLng(lat,lon));
	
	//allow clicking to add coordinates on map if in EDIT mode 
/*
  if (edit == "y") {
	  google.maps.event.addListener(map, 'click', function(event) {
		addMarker(event.latLng);
	  });
  }
*/

		//This checks to see if the window has finished loading and then refreshes the map.
		//duplicate of the document ready function 
		google.maps.event.addDomListener(window, 'load', loadtest);
	}
}
  
function addMarker(location) {
  marker = new google.maps.Marker({
    position: location,
	//animation: google.maps.Animation.BOUNCE,
    map: map,
    title: ""+location.toString()+""
  });
  latlngbounds.extend(location);
  markersArray.push(marker);
}

// Removes the overlays from the map, but keeps them in the array
function clearOverlays() {
  if (markersArray) {
    for (i in markersArray) {
      markersArray[i].setMap(null);
    }
  }
}

// Shows any overlays currently in the array
function showOverlays() {
  if (markersArray) {
    for (i in markersArray) {
      markersArray[i].setMap(map);
    }
  }
}

// Deletes all markers in the array by removing references to them
function deleteOverlays() {
  if (markersArray) {
    for (i in markersArray) {
      markersArray[i].setMap(null);
    }
    markersArray.length = 0;
  }
}

function get_lat_lon() {
	if (_gebi('glat')) {
		var ilat = _gebi('glat').value; 
		var ilon = _gebi('glon').value;
		gmapzoom = $('#gmapzoom').val();
		gmap_showlatlon = $('#showlatlon').val();
		
	} else {
		var ilat = 0;
		var ilon = 0;
	}
	latlonArray = [];
	latlonArray.push(ilat);
	latlonArray.push(ilon);	
}


