//********************************************************************************
//
// Swapping rollover button functionality.
//
// Original author: Rob Baker.
// Current maintainer: Rob Baker.
//
//********************************************************************************


//********************************************************************************
// Create new swapping rollover objects for the parent document.
//********************************************************************************

if (!window.SwapButton)
{
	SwapButton=new Object();
}


//********************************************************************************
// Find an object within a document.
//********************************************************************************

SwapButton.FindObject = function(n, d)
{
  	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=FindObject(n,d.layers[i].document);
	}
		
  	if (!x && d.getElementById)
	{
		x=d.getElementById(n);
	}
		
	return x;
}


//********************************************************************************
// Preload some images that might be used by a button.
//********************************************************************************

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


//********************************************************************************
// Swap the image for the button with the highlighted version.
//********************************************************************************

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


//********************************************************************************
// Restore the image originally associated with a button.
//********************************************************************************

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

