var _isie = null;
var isie = (function(){
	    if(_isie == null)
	    {
	        var d=document.doctype 
            strict=(document.compatMode=="CSS1Compat") 
            strict=(d&&d.systemId?(d.systemId.indexOf("strict")>-1?true:(d.publicId.indexOf("transitional")>-1?true:false)):(d&&d.publicId.indexOf("transitional")==-1?true:strict)) 
            strict=(d&&d.name.indexOf(".dtd")>-1)?true:strict 
            _isie = !strict  && navigator.userAgent.indexOf('MSIE') >= 0;
        }
        return _isie;
	}());

var menuTopOffset = isie ? -3 : 0; 
var menuLeftOffset = isie ? -3 : 0; 
var linkOffset = isie ? 0 : -15;
var menuOutTime = 250;
var timerOut = null;
var currentItemId = null;
var framer = null;

function position(o)
	{
	    var fixBrowserQuirks = true;				
	    var left = 0,top = 0, parentNode = null,offsetParent = null;
	    offsetParent = o.offsetParent;
	    var originalObject = o;
	    var el = o;
	    while (el.parentNode != null) 
	    {
	        el = el.parentNode;
	        if (el.offsetParent != null) 
	        {
	            var considerScroll = true;
	            if (fixBrowserQuirks && window.opera) 
	            {
	                if (el == originalObject.parentNode || el.nodeName == "TR"){considerScroll = false;}
	            }
	            if (considerScroll) 
	            {
	                if (el.scrollTop && el.scrollTop > 0){top -= el.scrollTop;}
	                if (el.scrollLeft && el.scrollLeft > 0){left -= el.scrollLeft;}
	            }
	        }
	        if (el == offsetParent) 
	        {
	            left += o.offsetLeft;
	            if (el.clientLeft && el.nodeName != "TABLE"){left += el.clientLeft;}
	            top += o.offsetTop;
	            if (el.clientTop && el.nodeName != "TABLE"){top += el.clientTop;}
	            o = el;
	            if (o.offsetParent == null) 
	            {
	                if (o.offsetLeft){left += o.offsetLeft;}
	                if (o.offsetTop){top += o.offsetTop;}
	            }
	            offsetParent = o.offsetParent;
	        }
	    }
	    return {'top': top, 'left': left};
	}

function getItems(id){
		return {
			'child': document.getElementById('subNav' + id),
		 	'parent': document.getElementById('nav' + id)};
	}
	
function fixedSub(sub,parent)	{
        var d = document.getElementById('userdisplay');
	    var uhpOffset = 0;
	    if (d && d.className === 'module' && d.tagName === 'DIV') {uhpOffset = 1;}

		var items = sub.getElementsByTagName('LI');
		var max = 140;
		for(var i = 0; i < items.length; i++)
		{
			if(max < items[i].offsetWidth){ max = items[i].offsetWidth;}
		}
		if(max < parent.offsetWidth) max = parent.offsetWidth;

		sub.style.width = max + 'px';
		for (var i = 0; i < items.length; i++) 
		{
			items[i].style.width = max + 'px';
			items[i].getElementsByTagName('A')[0].style.width = (max + linkOffset + uhpOffset) + 'px';
			
		}
	}	

function hideDropDown(id)
	{
		var subNavDropDown = getItems(id);
		subNavDropDown.parent.className = '';
		framer.style.left = '-100000px';
		framer.style.display = 'none';
		subNavDropDown.child.style.left = '-100000px';
		timerOut = null;
		currentItemId = null;	
	}
	function getSubNav(id)
	{
		var  items = getItems(id);
		var subNavDropDown = {};
        subNavDropDown.parent = items.parent;
        subNavDropDown.child = items.child;
		fixedSub(subNavDropDown.child, subNavDropDown.parent)
        var pos = position(items.parent);
        
        subNavDropDown.childLeft = (pos.left + menuLeftOffset) + 'px';
        subNavDropDown.childTop = (pos.top + items.parent.offsetHeight + menuTopOffset) + 'px';
		return subNavDropDown;
	}

function toggle(id,show)	{
   if(show) {
   var subNavDropDown = getSubNav(id);
			if (timerOut) 
			{
				clearTimeout(timerOut);
				timerOut = null;
			}	
			if (currentItemId != null) 
			{
				var current = getItems(currentItemId);
				current.parent.className = '';
				framer.style.left = '-100000px';
				current.child.style.left = '-100000px';
				currentItemId = null;
			}						
         subNavDropDown.child.style.left = subNavDropDown.childLeft
         subNavDropDown.child.style.top = subNavDropDown.childTop
         subNavDropDown.parent.className = 'open';

			if(framer == null){framer = document.getElementById('framer');}
            framer.style.left = subNavDropDown.childLeft
            framer.style.top = subNavDropDown.childTop
            framer.style.width = subNavDropDown.child.offsetWidth + 'px';;
            framer.style.height = subNavDropDown.child.offsetHeight + 'px';
            framer.style.zIndex = subNavDropDown.child.style.zIndex + 1;
            framer.style.display = 'block';
			currentItemId = id;			
		}
		else
		{
           timerOut = setTimeout(function(){hideDropDown(id);},menuOutTime);
		}
	};

	
subToggle = function(id, show)
	{
 
		if(show)
		{
			if (timerOut) 
			{
				clearTimeout(timerOut);
				timerOut = null
			}
		}
		else
		{
           timerOut = setTimeout(function(){hideDropDown(id);},menuOutTime);                         						
		}
	};