/*
    Copyright (c) 2006, SpatialPoint, LLC.
    
    All rights reserved.
    
    http://www.spatialpoint.com
*/


ZOOM_LEVEL_PREFIX = "Z";

var lastZoomLevel = 0;

function zoomControlMouseOver(id)
{
	if (document.getElementById(id + "Control").disabled)
	{
		return;
	}
	
	document.getElementById(id).src = "images/zoom/" + id + "m.gif";
}

function zoomControlMouseOut(id)
{
	if (document.getElementById(id + "Control").disabled)
	{
		return;
	}
	
	document.getElementById(id).src = "images/zoom/" + id + ".gif";
}

function zoomLevelMouseOver(id)
{
	if (id == ZOOM_LEVEL_PREFIX + lastZoomLevel)
	{
		return;
	}

	document.getElementById(id).src = "images/zoom/Zm.gif";
}

function zoomLevelMouseOut(id)
{
	if (id == ZOOM_LEVEL_PREFIX + lastZoomLevel)
	{
		return;
	}

	document.getElementById(id).src = "images/zoom/Zd.gif";
}

// Called by the UI to set the zoomLevel index.
function setZoomLevel(value)
{
	if ((value >= 0) && (value < spMap.zoomLevels))
	{
		spMap.setZoomLevel(value);
	}
}

// Updates the UI controls for the currently set index.
function setZoomLevelIndex(index)
{

	// Reset current marker.	
	document.getElementById(ZOOM_LEVEL_PREFIX + lastZoomLevel).src = "images/zoom/Zd.gif";

    try
    {
	   // Set new marker.
	   document.getElementById(ZOOM_LEVEL_PREFIX + index).src = "images/zoom/Za.gif";
    }
    catch (error)
    {
        alert("setZoomLevelIndex(" + index + ") caused an error: " +error.message);
    }
	
	lastZoomLevel = index;
	
	
	//document.getElementById("ZOutControl").disabled = (index == 0);
	document.getElementById("ZOut").disabled = (index == 0);
	//document.getElementById("ZInControl").disabled = (index >= (spMap.zoomLevels - 1));
	document.getElementById("ZIn").disabled = (index >= (spMap.zoomLevels - 1));

}

function zoomIn()
{
    setZoomLevel(lastZoomLevel + 1);
}

function zoomOut()
{
    setZoomLevel(lastZoomLevel - 1);
}
