$(document).ready(function()
{
	initializeGoogle();
	$('div#location-container fieldset div').height(iWindowInnerHeight-140);
	$('div#stats-container fieldset').css({top: iWindowInnerHeight-112});
	$('div#album-canvas').css({top: (iWindowInnerHeight-570)/2, left: (iWindowInnerWidth-1000)/2});
	$('div#picture-canvas').css({top: (iWindowInnerHeight-570)/2, left: ((iWindowInnerWidth-1120)/2)+515});
	$('div#map-container').css({height: iWindowInnerHeight-20, width: iWindowInnerWidth-230});
});

/* GOOGLE Configuration */
var sDefaultMarker = G_DEFAULT_ICON.image;
var sActiveMarker =	"http://photo.nordenfelt.com/static/site/images/marker-yellow.png";
var sVisitedMarker = "http://photo.nordenfelt.com/static/site/images/marker-blue.png";

/* GOOGLE Specifics Below */
var oMap;
var aMarkers = [];

function initializeGoogle()
{
	if (GBrowserIsCompatible())
	{
		oMap = new GMap2(document.getElementById("map-container"), {size: new GSize((iWindowInnerWidth-230), (iWindowInnerHeight-20)) } );
		oMap.setCenter(new GLatLng(42, 18), 2);
		oMap.addControl(new GLargeMapControl());
		
		// Google Earth
		oMap.addMapType(G_SATELLITE_3D_MAP);
		oMap.addControl(new GHierarchicalMapTypeControl());
		
		new GKeyboardHandler(oMap);
		oMap.enableContinuousZoom();
		oMap.enableDoubleClickZoom();
		oMap = addMarkers(oMap);
	}
}

function addMarker(a_iLat, a_iLng, a_sMarkerInfoText, iIndex, visited)
{
	aMarkers[iIndex] = createMarker(a_iLat, a_iLng, a_sMarkerInfoText, iIndex, visited);
	return aMarkers[iIndex];
}

function createMarker(a_iLat, a_iLng, a_sMarkerInfoText, iIndex, visited)
{
	var oMarker = new GMarker(new GLatLng(a_iLat, a_iLng), {zIndexProcess:sendBack});
	oMarker.visited = visited;
	
	GEvent.addListener(oMarker, "click", function()
	{
		oMarker.openInfoWindowHtml(a_sMarkerInfoText);
	});
	GEvent.addListener(oMarker,'mouseover',function()
	{
		oMarker.setImage(sActiveMarker);
		$('span.sidebar-item').eq(iIndex).addClass('sidebar-item-hover');
	});
	GEvent.addListener(oMarker,'mouseout',function()
	{
		if(oMarker.visited)
		{
			oMarker.setImage(sVisitedMarker);
		}
		else
		{
			oMarker.setImage(sDefaultMarker);
		}
		$('span.sidebar-item').eq(iIndex).removeClass('sidebar-item-hover');
	});
	function sendBack(oMarker)
	{
		return GOverlay.getZIndex(oMarker.getPoint().lat())-(count()*1000000);
	}
	GEvent.addListener(oMarker,'infowindowclose',function()
	{
		oMarker.setImage(sVisitedMarker);
		oMarker.visited = true;
	});
	return oMarker;
}

var googleMarkerCount = 2;
function count()
{
	return googleMarkerCount++;
}

