addLoadHandler(rotateImage);

function addLoadHandler(handler)
{
	if(window.addEventListener)
	{
		window.addEventListener("load",handler,false);
	}
	else if(window.attachEvent)
	{
		window.attachEvent("onload",handler);
	}
	else if(window.onload)
	{
		var oldHandler = window.onload;
		window.onload = function piggyback()
		{
		    oldHandler();
		    handler();
		};
	}
	else
	{
		window.onload = handler;
	}
}

var rotTime;
var rotTimeout = 3000;
var rImg = null;
var rRef = null;
var banfreeze = false;

function freeze() {
	banfreeze = true;
}

function unfreeze() {
	banfreeze = false;
	doRotateImageNext();
	clearTimeout(rotTime); rotTime = setTimeout('doRotateImageNext()', rotTimeout);
}

function rotateImage()
{
	rImg = document.getElementById('leftimg');
	rRef = document.getElementById('leftref');

	if(rImg)
	{
		rImg.onload = function () { clearTimeout(rotTime); rotTime = setTimeout('doRotateImageNext()', rotTimeout); };
		doRotateImageNext();
	}
}

function get_random(len)
{
    return Math.round(Math.random()*(len-1));
}

var rotImages;
var rotTxt;
var rotRef;
var imgIdx = -1;

function doRotateImageNext()
{
	clearTimeout(rotTime);
	imgIdx++;
	if(imgIdx >= rotImages.length)
	{
		imgIdx = 0;
	}
	doRotateImage();
}

function doRotateImagePrev()
{
	clearTimeout(rotTime);
	imgIdx--;
	if(imgIdx < 0)
	{
		imgIdx = rotImages.length-1;
	}
	doRotateImage();
}

function doRotateImage()
{
	if(rImg && rImg.src.indexOf(rotImages[imgIdx]) < 0 && banfreeze == false)
	{
		try
		{
			if(document.all)
			{
				//rImg.style.filter = 'progid:DXImageTransform.Microsoft.RandomDissolve(duration=1)';
				rImg.style.filter = 'progid:DXImageTransform.Microsoft.Fade(duration=1, overlap=1, center=0)';
			}
			rImg.filters[0].apply();
			rImg.src = rotImages[imgIdx];
			rImg.alt = rotTxt[imgIdx];
			rRef.href = rotRef[imgIdx];
			rImg.filters[0].play();
		}
		catch (exception)
		{
			rImg.src = rotImages[imgIdx];
			rImg.alt = rotTxt[imgIdx];
			rRef.href = rotRef[imgIdx];
		}
	}
	else if(rotTime)
		clearTimeout(rotTime);
}
