//Detect which browser to use.
function Is() {
    var agent = navigator.userAgent.toLowerCase();
    this.major = parseInt(navigator.appVersion);
    this.minor = parseFloat(navigator.appVersion);
    this.ns  = ((agent.indexOf('mozilla')!=-1) && ((agent.indexOf('spoofer')==-1) && (agent.indexOf('compatible') == -1)));
    this.ns2 = (this.ns && (this.major == 2));
    this.ns3 = (this.ns && (this.major == 3));
    this.ns4b = (this.ns && (this.minor < 4.04));
    this.ns4 = (this.ns && (this.major >= 4));
    this.ns6 = (this.ns && (this.major == 6));	
    this.ie   = (agent.indexOf("msie") != -1);
    this.ie3  = (this.ie && (this.major == 2));
    this.ie4  = (this.ie && (this.major >= 4));
    this.op3 = (agent.indexOf("opera") != -1);
    this.win   = (agent.indexOf("win")!=-1);
    //this.mac   = (agent.indexOf("mac")!=-1);
	this.mac   = (agent.indexOf("mac")>=4);
    this.unix  = (agent.indexOf("x11")!=-1);	
}
var is = new Is();

var showLayer,prevLayer=null;
var selObj;
var mouseX,mouseY;

function initMouseEvent()
{
	Is();
	if(is.ns)
	{
		setNSCaptureEvents();		
	}
	document.onmousedown = engage;
	document.onmousemove = selectedObj;
	document.onmouseup = release;
		
}

function setNSCaptureEvents()
{
	document.captureEvents(Event.MOUSEMOVE | Event.MOUSEDOWN | Event.MOUSEUP);	
}

function engage(evt)
{
	return true;
}

function release(evt)
{
  	
	return true;
}

function selectedObj(evt)
{	
	if(showLayer)
	{
		if(is.ie)	
		{
			mouseX = window.event.clientX;
			mouseY = window.event.clientY;				
		}
		if(is.ns)
		{
			mouseX = evt.pageX;
			mouseY = evt.pageY;			
		}	
	detectPos();	
	}	
	return true;
}

function showMenu(myLayer)
{	
	selObj = myLayer;
	if(document.all)
	{
		if(prevLayer != myLayer && prevLayer != null)
		{
			myprevObj = eval(document.all[prevLayer].style);		
			myprevObj.visibility = 'hidden';				
		}	
		myObj = eval(document.all[myLayer].style);		
		myObj.visibility = 'visible';				
	}
	if(document.layers)
	{
		
		if(prevLayer != myLayer &prevLayer != null)
		{
			myprevObj = eval(document.layers[prevLayer]);		
			myprevObj.visibility = 'hide';				
		}	
		myObj = eval(document.layers[myLayer]);	
		myObj.visibility = 'show';							
	}
	if(document.getElementById)
	{
		
		if(prevLayer != myLayer && prevLayer != null)
		{
			myprevObj = eval(document.getElementById(prevLayer).style);		
			myprevObj.visibility = 'hidden';				
		}	
		myObj = eval(document.getElementById(myLayer).style);
		myObj.visibility = 'visible';				
	}	
	prevLayer = selObj;	
	showLayer = true;		
}

function detectPos()
{	
	if(document.all)
	{
		myObj = eval(document.all[selObj].style);
		orgPosX = parseInt(myObj.left);
		orgPosY = parseInt(myObj.top);
		myHeight = parseInt(document.all[selObj].offsetHeight);	
		myWidth = parseInt(document.all[selObj].offsetWith);		
		if((mouseX >= (orgPosX)) && (mouseX <= (orgPosX + myWidth)) && (mouseY >= (orgPosY-20))&& (mouseY <= (orgPosY+myHeight)))
		{
			showMenu(selObj);			
		}
		else
		{
			myObj.visibility = 'hidden';
			showLayer = null;
		}				
	}
	if(document.layers)
	{
		myObj = eval(document.layers[selObj]);
		orgPosX = parseInt(myObj.left);
		orgPosY = parseInt(myObj.top);
		myHeight = document.layers[selObj].document.height
		myWidth = document.layers[selObj].document.width
		if((mouseX >= (orgPosX)) && (mouseX <= (orgPosX + myWidth)) && (mouseY >= (orgPosY-20))&& (mouseY <= (orgPosY+myHeight)))
		{
			showMenu(selObj);			
		}
		else
		{
			myObj.visibility = 'hide';
			showLayer = null;
		}				
	}	
	if(document.getElementById)
	{
		myObj = eval(document.getElementById(selObj).style);
		orgPosX = parseInt(myObj.left);
		orgPosY = parseInt(myObj.top);
		myHeight = parseInt(document.getElementById(selObj).offsetHeight);	
		myWidth = parseInt(document.getElementById(selObj).offsetWidth);	
		if((mouseX >= (orgPosX)) && (mouseX <= (orgPosX + myWidth)) && (mouseY >= (orgPosY-20))&& (mouseY <= (orgPosY+myHeight+10)))
		{
			showMenu(selObj);			
		}
		else
		{
			myObj.visibility = 'hidden';
			showLayer = null;
		}
	}		
}

function hideMenu(myLayer)
{
	
	if(document.all)
	{
		myObj = eval(document.all[myLayer].style);
		orgPosX = parseInt(myObj.left);
		orgPosY = parseInt(myObj.top);
		myObj.visibility = 'hidden';				
	}
	if(document.layers)
	{
		myObj = eval(document.layers[myLayer]);
		orgPosX = parseInt(myObj.left);
		orgPosY = parseInt(myObj.top);
		myObj.visibility = 'hide';			
	}	
	if(document.getElementById)
	{
		myObj = eval(document.getElementById(myLayer).style);
		orgPosX = parseInt(myObj.left);
		orgPosY = parseInt(myObj.top);
		myObj.visibility = 'hidden';			
	}
}
