var _menu = null;

function toggle(id) {
	if( _menu != null ) { closeMenu(); }
	_menu = id;
	offset = _get_offset(document.getElementById(id+'span'));
	document.getElementById(id+'cap').style.top = 102// offset['y'];
	document.getElementById(id+'cap').style.left = offset['x']-1;
	document.getElementById(id+'cap').style.visibility = 'visible';
	
	if(document.getElementById(id+'list') != null ) {
		document.getElementById(id+'list').style.top = 130 //offset['y']+28;
		document.getElementById(id+'list').style.left = offset['x']-1;
		document.getElementById(id+'list').style.visibility = 'visible';
	}
	
	document.getElementById('collector').style.visibility = 'visible';
}

function closeMenu() {	

	document.getElementById(_menu+'cap').style.visibility = 'hidden';
	if(document.getElementById(_menu+'list') != null ) { document.getElementById(_menu+'list').style.visibility = 'hidden'; }
	document.getElementById('collector').style.visibility = 'hidden';
}

function _get_offset(obj) {
	// Does not get the offset if the object is in an unfinished element (table for instance)
	var offset;
	if (typeof obj.x != 'undefined') {
		offset = {x: obj.x, y: obj.y};
	} else {
		var offset = {x: obj.offsetLeft, y: obj.offsetTop};

		while (obj.offsetParent != null) {
			obj = obj.offsetParent;			
			offset['x'] += obj.offsetLeft;
			offset['y'] += obj.offsetTop;
		}
	}
	return offset;
}