// JavaScript Document
var oldid = 0;
var currid = 0;
var testarray = new Array();
var timerset = false;
var timerid;

var vanishspeed = 300;

function starttimer() {
	timerset = true;
	timerid = window.setTimeout( "lowlightmenu()", vanishspeed );
}
function cleartimer() {
	if (timerset) {
		window.clearTimeout ( timerid );
	}
	timerset = false;
}


function highlightmenu(newid) {
	if (currid != newid) {
		// id has changed
		
		//check if this is the first time. if not fade out the previous element
		if (currid != 0) {
			fade('menulistitem' + currid, 'out');
		}
		//Set the current id to the new id
		currid = newid;
		//Fade in the new element
		fade('menulistitem' + newid,'in');
	}
}

function lowlightmenu() {
	fade('menulistitem' + currid,false);
	currid = 0;
}

function pause(millis) {
	var date = new Date();
	var curDate = null;
	
	do {
		curDate = new Date();
	}
	while(curDate-date < millis);
}

var fadespeed = 50;
var fadesize = 0.05;

function fade(obid, direction) {
	var element = document.getElementById(obid);
	
	if(element == null) return false;

	if (element.FadeState == null) {
		if (direction == 'in') {
			element.FadeState = 1;
			element.style.opacity = 0;
			element.style.filter = 'alpha(opacity=0)';
		} else {
			element.FadeState = -1;
			element.style.opacity = 0.5;
			element.style.filter = 'alpha(opacity=50)';
		}
		
		setTimeout("doFade('" + obid + "')", fadespeed);
	} else {
		if (direction == 'in') {
			element.FadeState = 1;
		} else {
			element.FadeState = -1;
		}
	}
}				


function doFade (obid) {
	var element = document.getElementById(obid);
	if(element == null) return false;
	var newOpVal = element.style.opacity * 1;
	if (element.FadeState == 1) {
		newOpVal += fadesize * 1;
		if (newOpVal > 0.5) newOpVal = 0.5;
		element.style.opacity = newOpVal;
		element.style.filter = 'alpha(opacity=' + (newOpVal*100) + ')';
		
		if (newOpVal < 0.5) {
			setTimeout("doFade('" + obid + "')", fadespeed);				   
		} else {
			element.FadeState = null;		
		}
	} else {
		newOpVal -= fadesize;
		if (newOpVal < 0) newOpVal = 0;
		
		element.style.opacity = newOpVal;
		element.style.filter = 'alpha(opacity=' + (newOpVal*100) + ')';
		
		if (newOpVal > 0) {
			setTimeout("doFade('" + obid + "')", fadespeed);				   
		} else {
			element.FadeState = null;		
		}
	}
}