/**
 *
 * $Id: osx.js,v 1.1 2005/04/01 13:02:05 k-ozaki Exp $
 *
 **/
iconSize = new Array(7);
iconNameArray = new Array("null","diary","skate","tech","random","antenna","link");
iconBigPrecache = new Array(7);
timeDif = 10;
t = 0;
u = 0;
n = 0;
startTime = new Date();
h = 5;
m = 385;
selectedIconID = 0;
hasExpanded = false;
var title;
var firstHoverOccurred = false;
p = 0;
// these two addded by eAi - the height/widths of the images when small and large
MaxSize = 70;
MinSize = 35;

function expand(ac)
{
	selectedIconID = ac;
	startTime = new Date();
	setTimeout("gidle()",20); // keep running gidle() for sometime
}

function deflate(ac)
{
	selectedIconID = 0;
	hasExpanded = false;
	startTime = new Date();
	setTimeout("gidle()",20); // keep running gidle() for sometime
}

function init()
{
	// init all the arrays and precache the large icons
	for( var j = 1; j < iconSize.length; j++ )
	{
		iconSize[j] = MinSize;
	}
	title = document.getElementById('imageTitle');
	for( i = 0; i < iconSize.length; i++ )
	{
		iconBigPrecache[i] = new Image();
		iconBigPrecache[i].src = "/~k-ozaki/images/" + iconNameArray[i+1] + ".gif"
	}
	setTimeout("gidle()",20);
	document.getElementById("IconRow").style.height=MaxSize; // added by eAi 
}
	
// this fumction controls the whole system
function gidle()
{
	var l = 0;
	for (var i = 1; i < iconSize.length; i++)
	{
		var imagename = "image" + i;
		var imageElem = document.getElementById(imagename);
		if ( selectedIconID != i )
		{
			if(iconSize[i] > MinSize)
			{
				iconSize[i] -= h;
				if(iconSize[i] <= MinSize)
				{
					iconSize[i] = MinSize;
					imageElem.src = "/~k-ozaki/images/" + iconNameArray[i] + "-sm.gif"
				}
				imageElem.width = iconSize[i];
				imageElem.height = iconSize[i];

				if(selectedIconID == 0)
				{
					var g = Math.floor(255 - 255 * ( iconSize[i] - MinSize ) / MinSize);
					title.style.color = "rgb(" + g + "," + g + "," + g + ")"
				}
				p = 1
			}
			l += iconSize[i]
		}
	}
	if( selectedIconID != 0 && iconSize[selectedIconID] < MaxSize )
	{
		imagename = "image"+selectedIconID;
		imageElem = document.getElementById(imagename);
		if( hasExpanded == false )
		{
			hasExpanded = true;
			if ( selectedIconID < 2 )
			{
				var y = 180 - ( selectedIconID - 1 ) * MaxSize;
				title.innerHTML = document.getElementById(imagename).alt+'<img src="cleardot.gif" width="'+y+'" height = "1"/>'
			}
			else
			{
				var y = ( selectedIconID - 3 ) * MaxSize + MaxSize;
				title.innerHTML = '<img src="cleardot.gif" width="'+y+'" height="1"/>'+document.getElementById(imagename).alt
			}
		}
		iconSize[selectedIconID] += h;
		p = 1;
		if(iconSize[selectedIconID] > MaxSize)
		{
			iconSize[selectedIconID] = MaxSize
		}
		l += iconSize[selectedIconID];

		if(l<m)
		{
			iconSize[selectedIconID] += m - l;
			if(iconSize[selectedIconID] > MaxSize)
			{
				iconSize[selectedIconID] = MaxSize
			}
			l = m
		}
			
		var g = Math.floor( 255 - 255 * ( iconSize[selectedIconID] - MinSize ) / MinSize );
		title.style.color = "rgb("+g+","+g+","+g+")";
		imageElem.width = iconSize[selectedIconID];
		imageElem.height = iconSize[selectedIconID];
		document.getElementById(imagename).src = "/~k-ozaki/images/" + iconNameArray[selectedIconID] + ".gif"

	}

	m = l;
	var timeNow = new Date();
	timeDif = timeNow.getTime() - startTime.getTime();
	startTime = timeNow;
	t += timeDif;
	u++;
	n = t/u;
	h = 5;

	if(u>4)
	{
		if(n>30)
		{
			h = 10
		}
		if(n>60)
		{
			h = 15
		}
		if(n>90)
		{
			h = 20
		}
	}

	if(p)
	{
		setTimeout("gidle()",20);
		p = 0
	}
}
