document.onmouseout=hide;
		
var current_sub = '';	
var current_img = '';
var current_imgX = 0;
var current_imgY = 0;
var current_cell = '';
var x = 0;
var y = 0;
var img_height = 1;
var img_width = 1;
var divoffset = 2;
var mouseIsOut = false;

function show(imgID,sub_menu){
	current_sub = sub_menu;
	current_imgX = getCoorX(imgID);
	current_imgY = getCoorY(imgID);		
		
	document.getElementById(sub_menu).style.left = current_imgX - divoffset;
	document.getElementById(sub_menu).style.top = current_imgY + img_height; 		
    document.getElementById(sub_menu).style.visibility = "visible";		
}

function hide(e) {
	if(current_sub != ''){
		var img_x = current_imgX - img_width;
		var img_y = current_imgY + img_height;
		var xarea1 = img_x + img_width - divoffset;
		var yarea1 = img_y;		
		var xmouse;
		var ymouse;	
		var xarea2;
		var yarea2;
						
		if(document.all){ 
			xmouse = event.x;
			ymouse = event.y+document.body.scrollTop;				  
			xarea2 = xarea1+parseInt(document.all[current_sub].style.width);
			yarea2 = yarea1+parseInt(document.all[current_sub].style.height);
			  			  
			if(!(xmouse>(xarea1-2) && xmouse<xarea2 && ymouse>(yarea1-3) && ymouse<yarea2) && !(xmouse>img_x && xmouse<(img_x+img_width) && ymouse>img_y && ymouse<(img_y+img_height+1))){
			  	document.all[current_sub].style.visibility = "hidden";
			  	current_sub='';
			  	}
		}
		else{ 
			xmouse = e.pageX;
			ymouse = e.pageY;						
			xarea2 = xarea1+parseInt(document.getElementById(current_sub).style.width);
			yarea2 = yarea1+parseInt(document.getElementById(current_sub).style.height);		
			  	
			if(!(xmouse>(xarea1-2) && xmouse<xarea2 && ymouse>(yarea1-3) && ymouse<yarea2) && !(xmouse>(img_x-2) && xmouse<(img_x+img_width) && ymouse>(img_y-3) && ymouse<(img_y+img_height+1))){
			  	document.getElementById(current_sub).style.visibility = "hidden";
			  	current_sub='';
			}
		}
	}
}				

function hideall(theDiv) {
var theElement = document.getElementById(theDiv);
	theElement.style.visibility = 'hidden';
}

function getCoorX(imgElem) {
	xPos = eval(imgElem).offsetLeft;
	tempEl = eval(imgElem).offsetParent;
  	while (tempEl != null) {
  		xPos += tempEl.offsetLeft;
  		tempEl = tempEl.offsetParent;
  	}
	return xPos;
}
		
function getCoorY(imgElem) {
	yPos = eval(imgElem).offsetTop;
	tempEl = eval(imgElem).offsetParent;
	while (tempEl != null) {
  		yPos += tempEl.offsetTop;
  		tempEl = tempEl.offsetParent;
  	}
	return yPos;
}