 // Restricts the range of Zoom Levels =====
 function zoom()
 {
 
 	// Get the list of map types
 	var mt = map.getMapTypes();
 	// Overwrite the getMinimumResolution() and getMaximumResolution() methods
 	for (var i=0; i<mt.length; i++) {
 		mt[i].getMinimumResolution = function() {return 15;}
 		mt[i].getMaximumResolution = function() {return 18;}
         }
 
}


// Restricts the range of Panning
function pan(){

       // Add a move listener to restrict the bounds range
		/*GEvent.addListener(map, "move", function() {
		    checkBounds();
		});*/
		
		//Map centering to user's click location
		GEvent.addListener(map, "click", function(overlay, latlng) {
			map.panTo(latlng);
		});

		// The allowed region which the whole map must be within
		var allowedBounds = new GLatLngBounds(new GLatLng(40.5,-89), new GLatLng(40.525,-88.98));

		// If the map position is out of range, move it back
		function checkBounds() {
		// Perform the check and return if OK
		if (allowedBounds.contains(map.getCenter())) {
		    return;
		}
		// It`s not OK, so find the nearest allowed point and move there
		var C = map.getCenter();
		var X = C.lng();
		var Y = C.lat();

		var AmaxX = allowedBounds.getNorthEast().lng();
		var AmaxY = allowedBounds.getNorthEast().lat();
		var AminX = allowedBounds.getSouthWest().lng();
		var AminY = allowedBounds.getSouthWest().lat();

		if (X < AminX) {X = AminX;}
		if (X > AmaxX) {X = AmaxX;}
		if (Y < AminY) {Y = AminY;}
		if (Y > AmaxY) {Y = AmaxY;}
		//alert ("Restricting "+Y+" "+X);
		   map.setCenter(new GLatLng(Y,X));
		}
}