/* 
	JavaScript file: dropdowns.js
	Description: Dropdown javascript functions for inHand website
	Created: Saikat Maity on 07/12/06
*/


/*
	DROPDOWN FUNCTIONS
*/

// Prepare dropmenus
function js_Dropmenus() {
	at_attach("btn1_parent", "btn1_child", "hover", "y", "pointer");
	at_attach("btn2_parent", "btn2_child", "hover", "y", "pointer");
	at_attach("btn3_parent", "btn3_child", "hover", "y", "pointer");
	at_attach("btn4_parent", "btn4_child", "hover", "y", "pointer");
}

function at_display(x) {
	var win=window.open();
	for (var i in x) win.document.write(i+' = '+x[i]+'<br />');
}

function at_show_aux(parent, child) {
	var p=document.getElementById(parent);
	var c=document.getElementById(child );

	var top=(c["at_position"] == "y") ? p.offsetHeight+2 : 0;
	var left=(c["at_position"] == "x") ? p.offsetWidth +2 : 0;

	for(; p; p=p.offsetParent) {
		top +=p.offsetTop;
		left+=p.offsetLeft;
	}

	c.style.position="absolute";
	c.style.top=top+'px';
	c.style.left=left+'px';
	c.style.visibility="visible";
}

// ----- Show -----

function at_show() {
	var p=document.getElementById(this["at_parent"]);
	var c=document.getElementById(this["at_child" ]);
	
	at_show_aux(p.id, c.id);
	clearTimeout(c["at_timeout"]);
}

// ----- Hide -----

function at_hide() {
	var c=document.getElementById(this["at_child"]);
	c["at_timeout"]=setTimeout("document.getElementById('"+c.id+"').style.visibility = 'hidden'", 333);
}

// ----- Click -----

function at_click() {
	var p=document.getElementById(this["at_parent"]);
	var c=document.getElementById(this["at_child"]);

	if(c.style.visibility!="visible") {
		at_show_aux(p.id, c.id);
	}
	else {
		c.style.visibility="hidden";
	}

	return false;
}

function at_attach(parent, child, showtype, position, cursor) {
	var p=document.getElementById(parent);
	var c=document.getElementById(child);

	p["at_parent"]=p.id;
	c["at_parent"]=p.id;
	p["at_child"]=c.id;
	c["at_child"]=c.id;
	p["at_position"]=position;
	c["at_position"]=position;

	c.style.position="absolute";
	c.style.visibility="hidden";

	if(cursor!=undefined)	{
		p.style.cursor=cursor;
	}

	switch (showtype) {
		case "click":
			p.onclick=at_click;
			p.onmouseout=at_hide;
			c.onmouseover=at_show;
			c.onmouseout=at_hide;
			break;
		case "hover":
			p.onmouseover=at_show;
			p.onmouseout=at_hide;
			c.onmouseover=at_show;
			c.onmouseout=at_hide;
			break;
	}
}