
var _selection;
var _arrImg=new MultiDimensionalArray(4,2);
var _campic;

_arrImg[0][0]="N";
_arrImg[0][1]="imgNorth";
_arrImg[1][0]="E";
_arrImg[1][1]="imgEast";
_arrImg[2][0]="S";
_arrImg[2][1]="imgSouth";
_arrImg[3][0]="W";
_arrImg[3][1]="imgWest";

var DirectionalImageURL="Images/directional_images/" //URL or relative path to directional images must include "/" at end of string if not in same directory as displaying page


//Below is Camera Image Changer
function PicFail()
{
	document.getElementById('imgCamera').src=_na_image.src;
	document.getElementById('lbCameras').focus();
}
function PicLoad()
{
	document.getElementById('imgCamera').src=_campic.src;
	document.getElementById('lbCameras').focus();
}
function PicFailDirection(id)
{
	document.getElementById(id).src=_spacer_image.src;
}
function PicLoadDirection(obj,id)
{
	document.getElementById(id).src=obj.src;
}
function GetDirectionalImage(input,direction)
{
	try
	{
		if(GetImageName(input).length>0)
		{
			var nuStr;		
			var aStr=GetImageName(input).split(".");
			if(aStr.length==2)
			{
				nuStr=DirectionalImageURL+aStr[0] + "_" + direction + "." + aStr[1];
			}
			else
			{
				nuStr="Images/spacer.gif";
			}
			return nuStr;
		}
		else
		{
			return "Images/spacer.gif";		
		}
	}
	catch(e)
	{
		var sErr=e.message;
		return "Images/spacer.gif";
	}
}
function GetImageName(input)
{
	try
	{
		var aStr=input.split("/");
		if(aStr.length>0)
		{
			var nuStr;
			nuStr=aStr[aStr.length-1];
			return nuStr;
		}
		else
		{
			return "";
		}
	}
	catch(e)
	{
		var sErr=e.message;
		return "";
	}

}
function SetCamImage()
{
	GetImageTimeStamp(GetImageName(_selection));
	_campic=new Image();
	var now=new Date();  
	_campic.onload  = PicLoad;
	_campic.onabort = PicFail;
	_campic.onerror = PicFail;  
	_campic.src = _selection + "?" + now.getTime();//by addng time the image will not come from cache

}

function SetDirectionalImages()
{
	for(var i=0;i<_arrImg.length;i++)
	{
		var imgDir=new Image();
		imgDir.src = _spacer_image;
		PicLoadDirection(imgDir,_arrImg[i][1]);
		imgDir.src = GetDirectionalImage(_selection,_arrImg[i][0]);
		PicLoadDirection(imgDir,_arrImg[i][1]);
	}
}

function SelectCamera(switchAll)
{
	try
	{
		if(document.getElementById('lbCameras')&&document.getElementById('lbCameras').length>0)
		{
		    if(switchAll)
		    {
			    document.getElementById('imgCamera').src=_loadingImage.src;
			}
			else
			{
			    document.getElementById('imgCamera').src=_refreshingImage.src;			
			}
			_selection=document.getElementById('lbCameras').options[document.getElementById('lbCameras').selectedIndex].value;
			
			if(switchAll)
			{
				SetDirectionalImages();
			}
			SetCamImage();	
			
			document.getElementById('lbCameras').focus();	
			
			InitializeTimer();	
		}
	}
	catch(e)
	{
		//keep going
		//alert(e.message);
	}
}

function Preloader() 
{
	_loadingImage = new Image(); 
	_loadingImage.src = "Images/imageloading.gif";
	_refreshingImage=new Image();
	_refreshingImage.src="Images/imagerefreshing.gif";
	_na_image=new Image();
	_na_image.src="Images/img_na.gif";
	_spacer_image=new Image();
	_spacer_image.src="Images/spacer.gif";
}

//********************************************************
//    AJAX methods
//********************************************************

function GetImageTimeStamp(img)
{
	//the following is a call to the C# class and method
	//you are interested in executing
	try
	{
	    document.getElementById('cellTimeStamp').innerHTML="";
		if(img.length>0&&img!=null&&typeof(img)=="string")
		{
			OverlandPark.cameralist.GetImageTimeStamp(img,callback_getImageTimeStamp);
		}
	}
	catch(e)
	{
		var sErr=e.message;
	}
}
function callback_getImageTimeStamp(res)
{
	try
	{
		var ts=res.value;
		if(ts!=null&&typeof(ts)=="string")
		{
			document.getElementById('cellTimeStamp').innerHTML=ts;
		}
	}
	catch(e)
	{
		var sErr=e.message;
	}
}
//*************************************************************
//*************************************************************


//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Image Referesh Timer
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
var _secs
var _timerID = null
var _timerRunning = false
var _delay = 1000

function InitializeTimer()
{
    // Set the length of the timer, in seconds
    _secs =120;
    StopTheClock()
    StartTheTimer()
}

function StopTheClock()
{
    if(_timerRunning)
        clearTimeout(_timerID)
    _timerRunning = false
}

function StartTheTimer()
{
    if (_secs==0)
    {
        SelectCamera(false);
        InitializeTimer();
    }
    else
    {
        _secs = _secs - 1
        _timerRunning = true
        _timerID = self.setTimeout("StartTheTimer()", _delay)
    }
}


//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~