﻿var MapViewerAnimate = false;
var MapViewerMap = 0;
var MapViewerFrame = 0;
var MapViewerInterval;
var MapViewerPlayPause;
var MapViewerAnimateDiv;
var MapViewerLinkList;

function MapViewer_Load()
{
	// Set References
	MapViewerPlayPause = document.getElementById(MapViewerControl + '_PlayPause');
	MapViewerAnimateDiv = document.getElementById(MapViewerControl + '_AnimateButton');
	MapViewerLinkList = document.getElementById(MapViewerControl + '_Links');
	
	// Preload Images
	PreloadImage('Play','/images/buttons/play.gif', 17, 17);
	PreloadImage('Pause','/images/buttons/pause.gif', 17, 17);
	for(i=0; i<MapViewerMaps.length; i++)
		PreloadImage(MapViewerMaps[i][0], 320, 240);
	PreloadWait(MapViewer_LoadComplete);
}

function MapViewer_LoadComplete()
{
	MapViewerLinkList.style.display = 'block';
}

function MapViewer_Switch( index )
{
	var img = document.getElementById(MapViewerImage);
	var mapset = MapViewerMaps[index];
	MapViewerMap = index;
	MapViewerFrame = 0;
	MapViewerAnimate = false;
	clearInterval(MapViewerInterval);
	var isLoop = mapset.length > 1;
	
	MapViewerAnimateDiv.style.display = isLoop ? 'block' : 'none';
	SetImage(MapViewerPlayPause, 'Play');
	SetImage(img, mapset[0]);
	var i;
	for(i=0; i<MapViewerMaps.length; i++)
	{
		var link = document.getElementById(MapViewerControl + i.toString());
		link.className = (i == index) ? 'Selected' : '';
	}
}

function MapViewer_Animate()
{
	if(MapViewerAnimate)
	{
		MapViewerAnimate = false;
		clearInterval(MapViewerInterval);
		SetImage(MapViewerPlayPause, 'Play');
	}
	else
	{
		var mapset = MapViewerMaps[MapViewerMap];
		if(mapset.length > 1)
		{
			var i;
			for(i=0; i<mapset.length; i++)
				PreloadImage(mapset[i], 320, 240);
			PreloadWait(MapViewer_AnimatePreloadComplete);
		}
	}
}

function MapViewer_AnimatePreloadComplete()
{
	MapViewerAnimate = true;
	SetImage(MapViewerPlayPause, 'Pause');
	MapViewerInterval = setInterval('MapViewer_Step()', 1000);
}

function MapViewer_Step()
{
	var mapset = MapViewerMaps[MapViewerMap];
	if(mapset.length > 1)
	{
		if(MapViewerFrame >= (mapset.length - 1))
			MapViewerFrame = 0;
		else
			MapViewerFrame++;
		var img = document.getElementById(MapViewerImage);
		SetImage(img, mapset[MapViewerFrame]);
	}
}

function MapViewer_Enlarge()
{
	var dest = "http://" + window.location.hostname + "/weather/maps.aspx?map=" + MapViewerMaps[MapViewerMap][-1];
	window.location.href = dest;
	return true;
}


