//-- ##################################################################
//-- Contents of this file are copyright 2007 Nexient learning Inc
//-- ##################################################################

var imgBlock	= null;
var imgImg		= null;
var imgIdx		= 0;
var imgHolder= null;
var imgTimeout	= 6000;
var imgEffect	= 2;
var imgHref;
var imgSrc;
var imgheading;
var isCSS = false;
var isW3C = false;
var isIE4 = false;
var isNN4 = false;
var isIE6 = false;
var isGecko = false;
var isOpera = false;
var isDHTML = false;
var suppressMenus = false;
var imagePreparerTimeoutId;
var imageSwapTimeoutId;

function imager( href, src, heading, width, height, animate )
{

	if( imgBlock )
	{
		return;
	}
		
	imgHref		= href;
	imgSrc		= src;
	imgheading	= heading;
	
	var rotate	= Math.floor( Math.random() * href.length );

	var m_imager	= ( typeof(animate) != "undefined" ? animate : IsFastConnection() );				
    InitializeImager();
	if( m_imager == false || src.length <= 1 || !isDHTML )
	{			   

		document.writeln( imagerSelector( rotate ) );
		return;
	}
	imgIdx		= rotate;
	
	var nextImage	= (imgIdx + 1) % src.length;

	if( height > 0 ) { document.writeln( "<div id=\"Holder\" style=\"width:" + width +"px;height:" + height + "px\">" ); }
	else { document.writeln( "<div id=\"Holder\" style=\"width:" + width +"px\">" ); }

	for( i = 0; i < src.length; i++ )
	{
		document.write( "<div id=\"imager" + i + "\" style=\"display:none\">" );

		if( i == nextImage )
		{
			document.write( imagerSelector( i ) );
		}
		
		document.write( "</div>" );
	}

	document.writeln( "</div>" );

	imgBlock	= new Array( src.length );
	imgImg		= new Array( src.length );

	for( i = 0; i < src.length; i++ )
	{
		imgBlock[i]	= document.getElementById( "imager" + i );
		
		if( i == nextImage )
		{
			imgImg[i] = document.getElementById( "imgimg" + i );
		}
		else
		{
			imgImg[i] = null;
		}
	}

	imgHolder = document.getElementById("Holder");
	
	imagerEffects(imgIdx);
}

function imagerEffects(currImageIdx)
{
	var nextImage	= (imgIdx + 1) % imgImg.length;

	if( readIEVer() >= 4.0 && imgEffect > 0 )
	{
		try
		{
			if( imgEffect == 1 )
			{
				imgHolder.style.filter = "blendTrans(duration=0.6)";
				imgHolder.filters(0).apply();
 				imagerSelect( nextImage, currImageIdx );
				imgHolder.filters(0).play();
			}
			else
			{
				imgHolder.style.filter = "blendTrans(duration=1.5) revealTrans(duration=1.0,transition=7)";
				imgHolder.filters(0).apply();
				imgHolder.filters(1).apply();
 				imagerSelect( nextImage, currImageIdx );
				imgHolder.filters(0).play();
				imgHolder.filters(1).play();
			}
		}
		catch( e ) { imagerSelect( nextImage ); }
	}
	else
	{
		imagerSelect( nextImage, currImageIdx );
	}

	imagePreparerTimeoutId = setTimeout( "imagerPrep()", imgTimeout - 1500 );
	imageSwapTimeoutId = setTimeout( "imagerSwap(imgIdx)", imgTimeout );
}

function imageDisplay( increment )
{
	clearTimeout(imagePreparerTimeoutId);
	clearTimeout(imageSwapTimeoutId);
	var currImage = imgIdx;
	if ( increment < 0 ) {
	     imgIdx = (imgIdx + increment)-1;  // Subract -1 since you want to be -2 when previous is clicked ...
	     if (imgIdx < -1 )
	        imgIdx = imgImg.length -2;
	}
	imagerPrep();
	while (!imgImg[currImage].complete)
	   sleep(1); 
	imagerSwap(currImage);
}

function imagerSelect( nextImage, currImageIdx )
{
	imgBlock[currImageIdx].style.display = "none";
	imgIdx = nextImage;
	imgBlock[imgIdx].style.display = "block";
}		

function imagerPrep()
{
	var nextImage	= (imgIdx + 1) % imgImg.length;

	if( !imgImg[nextImage] )
	{
		imgBlock[nextImage].innerHTML = imagerSelector( nextImage );
		imgImg[nextImage] = document.getElementById( "imgimg" + nextImage );
	}
}

function imagerSwap(currImageIdx)
{
	if( imgImg[currImageIdx].complete )
	{
		imagerEffects(currImageIdx);
	}
	else
	{
		imageSwapTimeoutId = setTimeout( "imagerSwap(currImageIdx)", 3000 );
	}
}

function imagerSelector( rotate )
{
	var divHtml;

	if( imgHref[rotate] != null ) 
	{
		divHtml = "<A href=\"" + imgHref[rotate] + "\" onClick=\"urchinTracker('Banner-->" + imgheading[rotate] + "') \"><IMG src=\"" + imgSrc[rotate] + "\" alt=\"" + imgheading[rotate] + "\" BORDER=\"0\" ID=\"imgimg" + rotate + "\"></a>";
	}
	else
	{
		divHtml = "<IMG src=\"" + imgSrc[rotate] + "\" ID=\"imgimg" + rotate + "\">";
	}
	
	return divHtml;
}

function IsFastConnection()
{
	if( readIEVer() < 5.0 )
	{
		return false;
	}
	
	try
	{
		document.body.addBehavior ("#default#clientCaps");
	
		return ( typeof(document.body.connectionType) != "undefined" && document.body.connectionType == "lan" );
	}
	catch( e )
	{
		return false;
	}
}
function readIEVer()
{
	var agent = navigator.userAgent;
	var offset = agent.indexOf( "MSIE" );
	if( offset < 0 )
	{
		return 0;
	}
	return parseFloat( agent.substring( offset + 5, agent.indexOf( ";", offset ) ) );
}

function readOperaVer()
{
	var agent = navigator.userAgent;
	var offset = agent.indexOf( "Opera" );
	if( offset < 0 )
	{
		return 0;
	}
	return parseFloat( agent.substring( offset + 6 ) );
}
function InitializeImager()
{
	if( document && document.images )
	{
		isCSS = (document.body && document.body.style) ? true : false;
		isW3C = (isCSS && document.getElementById) ? true : false;
		isIE4 = (isCSS && document.all && readIEVer() >= 4.0) ? true : false;
		isNN4 = (document.layers) ? true : false;
		isGecko = (isCSS && navigator && navigator.product && navigator.product == "Gecko");
		isOpera = (isCSS && navigator.userAgent.indexOf( "Opera") != -1 );
		isIE6CSS = (document.compatMode && document.compatMode.indexOf("CSS1") >= 0) ? true : false;
		isIE6 = ( isIE6CSS && readIEVer() >= 6.0 );
		isDHTML = isCSS && ( isIE4 || isGecko || isOpera );
		if( suppressMenus )
		{
			isDHTML = false;
		}
		else if( isOpera && readOperaVer() < 7 )
		{
			isDHTML = false;
		}
		else if( isGecko && navigator.productSub <= 20011022 )
		{
			isDHTML = false;
		}
		else if( isGecko && navigator.productSub == 20030107 )
		{
			var x = navigator.userAgent.indexOf( "AppleWebKit" );
			if( x > -1 )
			{
				isDHTML = ( navigator.userAgent.substring( x + 12, x + 15 ) ) > 300;
			}
			else
			{
				isDHTML = false;
			}
		}
	}
}