//Written by Yuichiro Kato 
//yuichiro@physics.ucsb.edu

function SwapImages() 
{
	var i, j=0, x, a=SwapImages.arguments;
	document.SwappedImages=new Array;
	for(i=0;i<a.length;i+=2)
	{
		if ((x=findObj(a[i]))!=null)
		{
			document.SwappedImages[j++]=x;
			if(!x.OldSrc)
				x.OldSrc=x.src;
			x.src=a[i+1];
		}
	}
}

function PreloadImages() 
{
	var doc=document; 
	if(doc.images)
	{ 
		if(!doc.PreloadedImages)
			doc.PreloadedImages=new Array();
		var i, j=doc.PreloadedImages.length, arg=PreloadImages.arguments;
		for(i=0; i<arg.length; i++)
			if (arg[i].indexOf("#")!=0)
			{
				doc.PreloadedImages[j]=new Image;
				doc.PreloadedImages[j++].src=arg[i];
			}
	}
}

function RestoreAllImages() 
{
	var i, x, a=document.SwappedImages;
	for(i=0;a&&i<a.length&&(x=a[i])&&x.OldSrc;i++)
	{
		x.src=x.OldSrc;
	}
}

function findObj(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=findObj(n,d.layers[i].document); 
	return x;
}



function SwapOneImage(Name,NewSrc) 
{ 
	var i,j=0,x; 
	if(!document.SwappedImages)
	{
		document.SwappedImages=new Array();
	}
	if ((x=findObj(Name))!=null)
	{
//		document.SwappedImages.push(x); 
		l=document.SwappedImages.length;
		document.SwappedImages[l]=x;
		if(!x.OldSrc) 
			x.OldSrc=x.src; 
		x.src=NewSrc;
	}
	return l;
}

function RestoreLastImage() 
{ 
	var i, x, a=document.SwappedImages; 
	if(a&&(x=a[a.length-1])&&x.OldSrc) 
	{
		x.src=x.OldSrc;
//		a.pop();
		a.length=a.length-1;
	}
}

function RestoreImage(l) 
{ 
	var i, x, a=document.SwappedImages; 
	if(a&&(x=a[l])&&x.OldSrc) 
	{
		x.src=x.OldSrc;
//		a.pop();
		a=a.slice(l,l+1);
	}
}
