var speed = 3;
var currentNode = '';
var timeid = {};
var ie = (navigator.appName.indexOf ("Microsoft") != -1) ? 1 : 0;

function expand(obj,pos){
	var n = $(obj);
	var xpos = pos - 135;
	Element.setStyle(n, {marginLeft:xpos+'px'});
	
	Element.setStyle('dropdowns', {display:'block'});
	
	if(currentNode != '' && currentNode != obj){ collapse(currentNode); }
	if(n){
		Element.setStyle(n, {display:'block'});
		Event.unloadCache();
		if(ie){
		
			Event.observe($(document), 'mousemove', function(event){
						var offset = Position.cumulativeOffset($(obj));
						if(Event.pointerY(event) > offset[1]+$(obj).offsetHeight ||
							 Event.pointerX(event) < offset[0] ||
							 Event.pointerX(event) > offset[0]+ $(obj).offsetWidth){Event.unloadCache(); collapse(obj);}
						});
		}else{
			Event.observe('dropdowns', 'mouseout', function(event){
												if(Position.within($(obj), Event.pointerX(event), Event.pointerY(event)) != true)
											 {collapse(obj);}}
											 );
		}
		dropin(obj);
		currentNode = obj;
	}else{
		flashProxy.call("setActive");
	}
}


function collapse(obj){
	var n = $(obj);
	if(n){
		dropout(obj,20-Element.getHeight(n))
	}else{
		flashProxy.call("setState",obj);
	}
}

function dropin(obj){
	var n = $(obj);
	Element.setStyle(n, {marginTop:'0px'});
}
function dropout(obj,h){
	var n = $(obj);
	Element.setStyle(n, {marginTop:h+'px'});
	Element.setStyle(n, {display:'none'});
	flashProxy.call("setState",obj);
}

