// Requires Prototype+Scriptaculous.

var timeout				= 300;		// How quickly should menus disappear (in ms)
var duration			= 0.5;
var menuCloseTimer		= [];
var items				= [];
var menus				= [];
var handle				= "";

function fadeIn(id) {
	Effect.Appear(id);	
}

function fadeOut(id) {
	Effect.Fade(id);	
}

function navOver(h) {
	if (!items[h]) {
		//db("** navOver " + h);

		handle = h;
		navOn(handle);
		
		if (document.getElementById("nav" + h) != null) {
			items[h] = true;
		}
		//db("dd" + handle +" is null?");
		if (document.getElementById("dd" + handle) != null) {
			
			menus[h] = true;
			cancelClose(handle);
			fadeIn("dd" + handle);
			//db("* Dropping down menu " + h);
		}
	}
	else {
		cancelClose(h);	
	}
}

function closeMenu(h) {	

	if (items[h]) {
		navOff(h);
	
		handle = "";
		items[h] = false;
		//db("Closing menu " + h + ", itemsh is now " + items[h]);	
	
		if (menus[h]) {
			//Effect.Fade("dd" + h, { duration: " + (duration/2) + " });
			document.getElementById("dd" + h).style.display = "none";
			menus[h] = false;
		}
	}
}

function navOut(h) {
	if (items[h]) {
		//db("navOut " + h);
		menuCloseTimer[h] = window.setTimeout("closeMenu('" + h + "')", timeout);
	}
	else {
		navOff(h);	
	}
}

function cancelClose(h) {
	if (items[h]) {
		//db("cancelling " + h);
		window.clearTimeout(menuCloseTimer[h]);
		menuCloseTimer[h] = null;
	}
}

document.onClick = closeMenu; 

function navOn(h) {
	if (document.getElementById('label'+h))
		Effect.Appear('label' + h, { duration: 0.5 });
	if (document.getElementById('nav'+h))
		Effect.Appear('nav' + h, { duration: 0.5, from: 0.7, to: 1 });	
}

function navOff(h) {
	if (document.getElementById('label'+h))
		Effect.Fade('label' + h, { duration: 0.25 });
	if (document.getElementById('nav'+h))
		Effect.Fade('nav' + h, { duration: 0.5, from: 1, to: 0.7 });
}

function db(s) {
	document.getElementById('content').innerHTML += "<br/>" + s;	
}

function fadeLeft(id) {
	var d = document.getElementById(id);
	var s = d.innerHTML;
	var a = s.split(" ");
	var r = "";
	
	for (var i=0; i<a.length; i++) {
		var o = (1/a.length)*(i+1);
		r += "<span style=\"opacity: " + o + "; -khtml-opacity: " + o + "; filter: alpha(opacity = " + o*100 + "); zoom: 1;\">" + a[i] + "</span> ";
	}
	
	d.innerHTML = r;
}

function fadeRight(id) {
	var d = document.getElementById(id);
	var s = d.innerHTML;
	var a = s.split(" ");
	//alert(a);
	var r = "";
	
	for (var i=0; i<a.length; i++) {
		var o = 0.8-(1/(a.length+2)*(i));
		r += "<span style=\"opacity: " + o + "; -khtml-opacity: " + o + "; filter: alpha(opacity = " + o*100 + "); zoom: 1;\">" + a[i] + "</span> ";
	}
	//alert(r);
	
	d.innerHTML = r;
}
