var garbergs = new google.maps.LatLng(59.319582393057274,18.073088780487055);
var map,marker,overlay;
function initMap() {
	
	$("#content").show();
	map = new google.maps.Map( $("#map")[0],{
		zoom: 15,
		center: garbergs,
		mapTypeId: google.maps.MapTypeId.ROADMAP,
		navigationControl: false,
		mapTypeControl: false,
		scrollwheel: false
	});
	marker = new google.maps.Marker({
		position: garbergs,
		map: map
	});
	overlay = new google.maps.OverlayView();
	overlay.draw = function(){};
	overlay.setMap(map);
	
	google.maps.event.addListener(map, "idle", function() { positionOverlay(); } );
	google.maps.event.addListener(map, "drag", function() { positionOverlay(); } );
	google.maps.event.addListener(map, "drag_dragend", function() { positionOverlay(); } );
	google.maps.event.addListener(map, "tilesloaded", function() {positionOverlay(); } );
	google.maps.event.addListener(marker, "click", function() {
		map.setZoom( 15 );
		panToMarker();
	});
	panToMarker();
	setTimeout( function() {
		panToMarker();
	}, 500 );
	
}

function panToMarker() {
	map.panTo( new google.maps.LatLng( marker.position.lat() + .0061, marker.position.lng() ) );
	positionOverlay();
}

function positionOverlay() {
	if( !marker ) {
		$("#about_contact").hide();
		return false;
	}

	var projection = overlay.getProjection();
	
	if( projection == null ) {
		$( "#about_contact" ).hide();
		return false;
	} else if( $( "#about_contact" ).is(":hidden") )
		$( "#about_contact" ).show();
	var point = projection.fromLatLngToContainerPixel(marker.getPosition());
	var x = point.x - ( $( "#about_contact" ).width() * .5 )-10;
	var y = point.y - $( "#about_contact" ).outerHeight()-65;
	$( "#about_contact" ).css( { left: x, top: y } );
}

$(function(){
	$( "#about_contact" ).hide();
	initMap();
	$(window).resize(function() {
		$("#map").height( $(window).height() - $("#footer").outerHeight() );
		$("#map").css( "width", "100%");
		panToMarker();
	});
	$("#about_contact").appendTo("#map");
	$(window).resize();
});
