var delay = 1000;
var seltab = null;
var prevtab = null;
function tabs_init(id)
{
	seltab = document.getElementById(id);
	showTab(seltab, false);
}
function hideMenu(menu)
{
	if (menu != null)
		menu.style.display = 'none';
}
function showMenu(menu, tab)
{
	if (menu != null)
	{
		
		menu.style.display = 'inline';
		
		if (!menu.style.marginLeft)
		{
			var TextIndent = 0;
			var TabTable = document.getElementById("TabTable");
			var TotalWidth = TabTable.offsetWidth;
			var TabLeft = findPosX(tab)-findPosX(TabTable);
			var TabCenter = TabLeft+(tab.offsetWidth/2);
			var TextWidth = menu.offsetWidth;
			var TextCenter = TextWidth/2;
			
			if (TextCenter > (TotalWidth - TabCenter)) 
				TextIndent = (TotalWidth-TextWidth-20); //Right justify
			else if (TextCenter < TabCenter)
				TextIndent= (TabCenter - TextCenter-5);	//center
		
			menu.style.marginLeft = TextIndent;	
		}
	}
}
//function findPosX(obj)
//{
//	var curleft = 0;
//	if (obj.offsetParent)
//	{
//		while (obj.offsetParent)
//		{
//			curleft += obj.offsetLeft
//			obj = obj.offsetParent;
//		}
//	}
//	else if (obj.x)
//		curleft += obj.x;
//	return curleft;
//}


function tab_onMouseOver(tab)
{
	showTab(tab, true);
}
function tab_onMouseOut(tab)
{
	hideTab(tab);
}
function showTab(tab, displayMenu)
{
	if (tab != null)
	{
		if (typeof(tab) == 'string')
			tab = document.getElementById(tab);

		tab.state = 'A';
		tab.className = (tab == seltab) ? 'seltab' : 'hovtab';
		
		if (prevtab != tab)
			doHideTab(prevtab);
			
		if (displayMenu)
		{
			var menu = document.getElementById(tab.id + 'Menu');	
			showMenu(menu, tab);			
		}
		prevtab = tab;
	}
}
function hideTab(tab)
{
	if (tab != null)
	{
		if (typeof(tab) == 'string')
			tab = document.getElementById(tab);
			
		if (tab.state == 'A')
		{
			tab.state = 'H';
			setTimeout(function() {
				if (tab.state == 'H')
				{
					doHideTab(tab);
					prevtab = null;
				}
			}, delay);
		}
	}
}
function doHideTab(tab)
{
	if (tab != null)
	{
		tab.state = null;
		tab.className = (tab == seltab) ? 'seltab' : 'tab';
		var menu = document.getElementById(tab.id + 'Menu');
		hideMenu(menu);
	}
}

/* used for the global menu */
function CanHaveClass__CssFriendlyAdapters(element)
{
    return ((element != null) && (element.className != null));
}

function HasAnyClass__CssFriendlyAdapters(element)
{
    return (CanHaveClass__CssFriendlyAdapters(element) && (element.className.length > 0));
}

function HasClass__CssFriendlyAdapters(element, specificClass)
{
    return (HasAnyClass__CssFriendlyAdapters(element) && (element.className.indexOf(specificClass) > -1));
}

function AddClass__CssFriendlyAdapters(element, classToAdd)
{
    if (HasAnyClass__CssFriendlyAdapters(element))
    {
        if (!HasClass__CssFriendlyAdapters(element, classToAdd))
        {
            element.className = element.className + " " + classToAdd;
        }
    }
    else if (CanHaveClass__CssFriendlyAdapters(element))
    {
        element.className = classToAdd;
    }
}

function AddClassUpward__CssFriendlyAdapters(startElement, stopParentClass, classToAdd)
{
    var elementOrParent = startElement;
    while ((elementOrParent != null) && (!HasClass__CssFriendlyAdapters(elementOrParent, topmostClass)))
    {
        AddClass__CssFriendlyAdapters(elementOrParent, classToAdd);
        elementOrParent = elementOrParent.parentNode;
    }    
}

function SwapClass__CssFriendlyAdapters(element, oldClass, newClass)
{
    if (HasAnyClass__CssFriendlyAdapters(element))
    {
        element.className = element.className.replace(new RegExp(oldClass, "gi"), newClass);
    }
}

function SwapOrAddClass__CssFriendlyAdapters(element, oldClass, newClass)
{
    if (HasClass__CssFriendlyAdapters(element, oldClass))
    {
        SwapClass__CssFriendlyAdapters(element, oldClass, newClass);
    }
    else
    {
        AddClass__CssFriendlyAdapters(element, newClass);
    }
}

function RemoveClass__CssFriendlyAdapters(element, classToRemove)
{
    SwapClass__CssFriendlyAdapters(element, classToRemove, "");
}

function RemoveClassUpward__CssFriendlyAdapters(startElement, stopParentClass, classToRemove)
{
    var elementOrParent = startElement;
    while ((elementOrParent != null) && (!HasClass__CssFriendlyAdapters(elementOrParent, topmostClass)))
    {
        RemoveClass__CssFriendlyAdapters(elementOrParent, classToRemove);
        elementOrParent = elementOrParent.parentNode;
    }    
}

function IsEnterKey()
{
    var retVal = false;
    var keycode = 0;
    if ((typeof(window.event) != "undefined") && (window.event != null))
    {
        keycode = window.event.keyCode;
    }
    else if ((typeof(e) != "undefined") && (e != null))
    {
        keycode = e.which;
    }
    if (keycode == 13)
    {
        retVal = true;
    }
    return retVal;
}




var hoverClass = "ANM-Hover";
var topmostClass = "ANM";
var userAgent = navigator.userAgent;
var versionOffset = userAgent.indexOf("MSIE");
var isIE = (versionOffset >= 0);
var isPreIE7 = false;
var fullVersionIE = "";
var majorVersionIE = "";
var clientWidth = 0;

if (isIE)
{
    fullVersionIE = parseFloat(userAgent.substring(versionOffset+5, userAgent.length));
    majorVersionIE = parseInt('' + fullVersionIE);
    isPreIE7 = majorVersionIE < 7;
    isPreIE7 = true;
 }

function Hover__AspNetMenu(element)
{
    AddClass__CssFriendlyAdapters(element, hoverClass);
    setMenuPositionOnHover(element);
    
    if (isPreIE7)
    {
        var child = element.firstChild;
        while (child)
        {
            if (child.tagName == "UL")
            {
            
                var grandchild = child.firstChild;
                while (grandchild)
                {
                    if (grandchild.tagName == "LI")
                    {
            
                        
                        if ((typeof(grandchild.iFrameFormElementMask) != "undefined") && (grandchild.iFrameFormElementMask != null))
                        {
                            grandchild.iFrameFormElementMask.style.display = "block";
                            
                            var w = grandchild.offsetWidth;
                            if ((grandchild.offsetWidth == 0) && (typeof(element.iFrameFormElementMask) != "undefined") && (element.iFrameFormElementMask != null) && (element.iFrameFormElementMask.style.width.length > 0))
                            {
                                w = element.iFrameFormElementMask.style.width;
                            }
                            grandchild.iFrameFormElementMask.style.width = w;
                            
                            var h = grandchild.offsetHeight + 5 /* fudge to cover margins between menu items */;
                            if ((grandchild.offsetHeight == 0) && (typeof(element.iFrameFormElementMask) != "undefined") && (element.iFrameFormElementMask != null) && (element.iFrameFormElementMask.style.height.length > 0))
                            {
                                h = element.iFrameFormElementMask.style.height;
                            }
                            grandchild.iFrameFormElementMask.style.height = h;
                            
                        }
                    }
                    
                    grandchild = grandchild.nextSibling;
                }
            }

            child = child.nextSibling;
        }
    }
}

function Unhover__AspNetMenu(element)
{
    RemoveClass__CssFriendlyAdapters(element, hoverClass);
    RemoveClass__CssFriendlyAdapters(element, "DisplayMenuOnLeft");
    RemoveClass__CssFriendlyAdapters(element, "DisplayMenuOnRight");         
    
    if (isPreIE7)
    {
        var child = element.firstChild;
        while (child)
        {
            if (child.tagName == "UL")
            {
                var grandchild = child.firstChild;
                while (grandchild)
                {
                    if (grandchild.tagName == "LI")
                    {
                        if ((typeof(grandchild.iFrameFormElementMask) != "undefined") && (grandchild.iFrameFormElementMask != null))
                        {
                            grandchild.iFrameFormElementMask.style.display = "none";
                        }
                    }

                    grandchild = grandchild.nextSibling;
                }
            }

            child = child.nextSibling;
        }
    }
}

function SetHover__AspNetMenu()
{
    var menus = document.getElementsByTagName("ul");
    for (var i=0; i<menus.length; i++)
    {
        if(menus[i].className == topmostClass)
        {
            var items = menus[i].getElementsByTagName("li");
            for (var k=0; k<items.length; k++)
            {
                
                items[k].onmouseover = function() { Hover__AspNetMenu(this); }
                items[k].onmouseout = function() { Unhover__AspNetMenu(this); }
                
                if (isPreIE7 && ((typeof(items[k].iFrameFormElementMask) == "undefined") || (items[k].iFrameFormElementMask == null)))
                {
                    var iFrameFormElementMask = document.createElement("IFRAME");
                    iFrameFormElementMask.scrolling= "no";
                    iFrameFormElementMask.src = "javascript:false;";
                    iFrameFormElementMask.frameBorder = 0;
                    iFrameFormElementMask.style.display = "none";
                    iFrameFormElementMask.style.position = "absolute";
                    iFrameFormElementMask.style.filter = "progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)";

                    iFrameFormElementMask.style.zIndex = -1;
                    items[k].insertBefore(iFrameFormElementMask, items[k].firstChild);
                    items[k].iFrameFormElementMask = iFrameFormElementMask;
                }                
            }
        }
    }

}

function getClientWidth()
{
    if (window.innerWidth) {
        clientWidth = (window.innerWidth - 16);
    }
    else if (document.documentElement && document.documentElement.clientWidth) {
        clientWidth = (document.documentElement.clientWidth - 16);
    }
    else if (document.body && document.body.clientWidth) {
        clientWidth = document.body.clientWidth;
    }    
    return clientWidth;
}


function setMenuPositionOnHover(element)
{
	if(HasClass__CssFriendlyAdapters(element, "ANM-Root")){		
		
		var child = element.firstChild;
        while (child)
        {
            if (child.tagName == "UL" && HasClass__CssFriendlyAdapters(child, "ANM-Sub"))
            {
				//reset the left position to that of it's parent
				child.style.left = element.style.left;
				if(child.offsetLeft < getClientWidth()){
					//move the item to the left until it shows the entire contents of the list
					var pStartX = findPosX(child);
					var cWidth = getClientWidth();
					
					if( (pStartX + 180) > cWidth){
						var leftAdjust = (pStartX + 180) - cWidth;
						child.style.left -= leftAdjust;
						break;
					}
				}
            }
            child = child.nextSibling;
        }
	}
	else{
		if(HasClass__CssFriendlyAdapters(element, "ANM-Leaf") 
			&& element.parentNode!=null && element.parentNode.className =="ANM-Sub" 
			&& element.parentNode.parentNode!=null)
		{
			var elementOffset = element.parentNode.parentNode.offsetLeft;

			if(elementOffset >= (getClientWidth() - 360))
			{
				AddClass__CssFriendlyAdapters(element, "DisplayMenuOnLeft");
			}
			else
			{
				AddClass__CssFriendlyAdapters(element, "DisplayMenuOnRight");
			}
		}
	}
}

function findPosX(obj)
{
	var curleft = 0;
	if(obj.offsetParent)
		while(1) 
		{
		  curleft += obj.offsetLeft;
		  if(!obj.offsetParent)
			break;
		  obj = obj.offsetParent;
		}
	else if(obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if(obj.offsetParent)
		while(1)
		{
		  curtop += obj.offsetTop;
		  if(!obj.offsetParent)
			break;
		  obj = obj.offsetParent;
		}
	else if(obj.y)
		curtop += obj.y;
	return curtop;
}

var _onloadEvents = new Array();
function AddOnloadEvent(func){
	_onloadEvents[_onloadEvents.length] = func;
}
function ExecuteOnloadEvents(){
	for(var i = 0; i < _onloadEvents.length; i++){
		eval(_onloadEvents[i]);
	}
}

AddOnloadEvent('SetHover__AspNetMenu()');

window.onload = ExecuteOnloadEvents;


function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function uncheckall(name){ 
  var els=document.forms[0].elements; 
  for ( i=els.length; i--; ) 
    if( els[i].type.toLowerCase() == 'radio' ) 
	  if (els[i].name != name )
		els[i].checked = false; 
} 
