// JavaScript Document
<!--
var monBlock	= null;
var monImg		= null;
var monIdx		= 0;
var monContainer= null;
var monTimeout	=7000;

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 montage( href, src, caption, width, animate )
{// this is the case for browsers that don't support filters...
	var cycle	= Math.floor( Math.random() * href.length );
	// switch off animation if we're not on broadband

	// go build all of the nested DIVs out
	monIdx		= cycle;
	document.writeln( "<div id=\"container\" align=\"center\" style=\"width:" + width +"px;height:149px\">" );
	for( i = 0; i < src.length; i++ )
	{// set up a placeholder
		document.writeln( "\t<div id=\"montage" + i + "\" style=\"display:none\">" );
		montagePicker( href, src, caption, i );
		document.writeln( "\t</div>" );
		}
	document.writeln( "</div>" );
	// pull the images out
	monBlock	= new Array( src.length );
	monImg		= new Array( src.length );
	for( i = 0; i < src.length; i++ )
	{monBlock[i]	= document.getElementById( "montage" + i ).style;
		monImg[i]	= document.getElementById( "monimg" + i );
		if( monImg[i] == null )
		{montagePicker( href, src, caption, i );
			return;}
	//	alert( "foo" );
	}
	monContainer = document.getElementById("container");
	montageEffects();
}

function montageEffects()
{var nextImage	= (monIdx + 1) % monImg.length;	
	// run the transition
	if( readIEVer() >= 4.0 )
	{monContainer.style.filter = "blendTrans(duration=1.5) revealTrans(duration=1.0,transition=7)";
		monContainer.filters(0).apply();
		monContainer.filters(1).apply();
 		montageSelect( nextImage );
		monContainer.filters(0).play();
		monContainer.filters(1).play();}
	else
	{montageSelect( nextImage );}
	// asked to be called again a little later
	setTimeout( "montageSwap()", monTimeout );
}

function montageSelect( nextImage )
{//alert( monImg[monIdx].style.visibility );
	monBlock[monIdx].display = "none";
	monIdx = nextImage;
	monBlock[monIdx].display = "block";
}		

function montageSwap()
{if( monImg[monIdx].complete )
	{// move the image index along
		montageEffects();}
	else
	{// check again 3 seconds later
		setTimeout( "montageSwap()", 3000 );
	}
}

function montagePicker( href, src, caption, cycle )
{if( href[cycle] != null ) 
	{document.writeln( "\t\t<A HREF=\"" + href[cycle] + "\"><IMG SRC=\"" + src[cycle] + "\" alt=\"" + caption[cycle] + "\" BORDER=\"0\" ID=\"monimg" + cycle + "\"></a>" );}
	else
	{document.writeln( "\t\t<IMG SRC=\"" + src[cycle] + "\" ID=\"monimg" + cycle + "\">" );}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
