(function($) {
	
	$(document).ready(function() {
		
		if (!GBrowserIsCompatible()) {
			return;
		}
		
		$('#map').each(function() {
			
			var osiPoint = new GLatLng(47.865983, -123.870350);
			var osiTrailhead = new GLatLng(47.860023,-123.934375);
			
			var map = new GMap2($(this).get()[0]);
			map.setCenter(osiPoint, 12);
			
			var mapControl = new GMapTypeControl();
			map.addControl(mapControl);
			map.addControl(new GLargeMapControl());
			map.addMapType(G_PHYSICAL_MAP);
			map.setMapType(G_PHYSICAL_MAP);
			
//			map.addControl(new OneSquareInchControl());
			
			
			var osiMarker = new GMarker(osiPoint);
			map.addOverlay(osiMarker);
			
			osiMarker.bindInfoWindow($('#osiInfoWindow').get()[0]);
			osiMarker.openInfoWindow($('#osiInfoWindow').get()[0]);
			$('#osiInfoWindow').remove();
			
			var trailheadMarker = new GMarker(osiTrailhead);
			map.addOverlay(trailheadMarker);
			
			trailheadMarker.bindInfoWindow($('#osiTrailheadInfo').get()[0]);
			$('#osiTrailheadInfo').remove();
			
			
//			var directionsName = 'directions';
//			var bookName = 'book';
//			var silenceName = 'silence';
//			
//			$('#mapDirections a').click(function(event) {
//				event.preventDefault();
//				$.history.add(directionsName);
//			});
//			
//			$('#mapBook a').click(function(event) {
//				event.preventDefault();
//				$.history.add(bookName);
//			});
//			
//			$('#mapSilenceRatings a').click(function(event) {
//				event.preventDefault();
//				$.history.add(silenceName);
//			});
//			
//			var currentSection;
//			
//			function setMapSection() {
//				$('#mapMenu a').removeClass('current');
//				$('.mapItem').hide();
//				
//				var name = $.history.getCurrent();
//				
//				switch(name) {
//				case directionsName:
//					$('#directionsContent').show();
//					$('#mapDirections a').addClass('current');
//					break;
//				case bookName:
//					$('#bookContent').show();
//					$('#mapBook a').addClass('current');
//					break;
//				case silenceName:
//					$('#silenceRatingsContent').show();
//					$('#mapSilenceRatings a').addClass('current');
//					break;
//				}
//			}
//			
//			$(window).historyadd(setMapSection);
//			setMapSection();
		});
		
	});
	
	function OneSquareInchControl() {
	}
	
	OneSquareInchControl.prototype = new GControl();
	OneSquareInchControl.prototype.initialize = function(map) {
		$(map.getContainer()).append($('#osiControl'));
		return $('#osiControl').get()[0];
	};
	OneSquareInchControl.prototype.getDefaultPosition = function() {
		return new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(100, 8));
	}
	
})(jQuery);