﻿

    function ChangeTab(pStrNewTab, pStrNewContent, pStrOldTab, pStrOldContent)
    {
        // Continue if the active tab changed
        if(pStrOldTab.toLowerCase() != pStrNewTab.toLowerCase())
        {
            var lOldTab = document.getElementById(pStrOldTab);
            var lNewTab = document.getElementById(pStrNewTab);
            var lOldContent = document.getElementById(pStrOldContent);
            var lNewContent = document.getElementById(pStrNewContent);
            
            // Take care of the tabs
            if(lOldTab != null && lNewTab != null)
            {
                var lStrOldTabClass = lOldTab.className.toLowerCase();
                var lStrNewTabClass = lNewTab.className.toLowerCase();
                
                // Remove the active class from the old tab
                if(lStrOldTabClass.indexOf("activetableft") >= 0)
                    lOldTab.className = lOldTab.className.replace(/activeTabLeft/gi, "");
                else if(lStrOldTabClass.indexOf("activetabright") >= 0)
                    lOldTab.className = lOldTab.className.replace(/activeTabRight/gi, "");
                else
                    lOldTab.className = lOldTab.className.replace(/activeTab/gi, "");
                    
                // Add the active class to the new tab
                if(lStrNewTabClass.indexOf("left") >= 0)
                    lNewTab.className += " activeTabLeft";
                else if(lStrNewTabClass.indexOf("right") >= 0)
                    lNewTab.className += " activeTabRight";
                else
                    lNewTab.className += " activeTab";
            }
            
            // Swap out the content
            if(lOldContent != null && lNewContent != null)
            {
                // Hide the old content and show the new content
                lOldContent.className = "displayNone";
                lNewContent.className = "";
            }
        }
    }

    function SearchHelper(pBlnShow, pTxtSearch, pLblSearch)
    {
        var lObjSearchTxt;
        var lObjSearchLbl;
        var lBlnShowLabel = false;
        
        // Get the objects
        lObjSearchTxt = document.getElementById(pTxtSearch);
        lObjSearchLbl = document.getElementById(pLblSearch);

        if(lObjSearchTxt != null && lObjSearchLbl != null)
        {
            if(pBlnShow && lObjSearchTxt.value == "")
            {
                // Show the label
                lBlnShowLabel = true;
            }
        }
        
        if(lObjSearchLbl != null)
        {
            // Show or Hide the label
            if(lBlnShowLabel)
            {
                lObjSearchLbl.className = "searchInsideLabel";
            }
            else
            {
                lObjSearchLbl.className = "hideLabel";
            }
        }
    }


    function AdjustNavigation(navLink, subMenuItem, topMenuItem)
    {
	    var objTopNavLink = document.getElementById(navLink);
	    var objSubMenu = document.getElementById(subMenuItem);
	    var objTopNavItem = document.getElementById(topMenuItem);

        if(objTopNavLink != null && objSubMenu != null && objTopNavItem != null)
        {
	        var subPadding = 0;
	        var leftTopMenu = findPosX(objTopNavItem);
	        var widthSubMenu = objSubMenu.offsetWidth;
	        var rightTopMenu = findPosX(objTopNavItem) + objTopNavItem.offsetWidth;
	        var widthWindow = document.body.clientWidth;
	        var rightSubMenu = findPosX(objTopNavLink) + objSubMenu.offsetWidth;
	        var rightSubDiff = widthWindow - rightSubMenu;
	        var rightMarginSub = objSubMenu.offsetWidth - objTopNavItem.offsetWidth;
	        var middleMarginSub = rightMarginSub / 2;
	        var leftMiddleSubMenu = leftTopMenu + (middleMarginSub * -1);
	        var rightMidleSubMenu = rightTopMenu + middleMarginSub;

	        // Check if the sub menu is off the right side
	        if(rightSubDiff < 0)
	        {
		        // Check if the item can be centered
		        if(leftMiddleSubMenu > 0 && rightMidleSubMenu < widthWindow)
		        {
			        subPadding = middleMarginSub * -1;
		        }
		        else if(leftTopMenu > rightMarginSub)
		        {
			        subPadding = rightMarginSub * -1;
		        }
		        else if(widthSubMenu < widthWindow)
		        {
			        // Check if the alignment should come the left side
			        if(widthWindow - leftTopMenu > leftTopMenu)
			        {
				        var leftFudgeSubMenu = leftTopMenu;
				        leftFudgeSubMenu -= 1;

				        subPadding = leftFudgeSubMenu * -1;
			        }
			        else
			        {
				        var leftFudgeSubMenu = widthSubMenu - (widthWindow - leftTopMenu);
				        leftFudgeSubMenu += 1;

				        subPadding = leftFudgeSubMenu * -1;
			        }
		        }
	        }

	        if(objSubMenu.style.marginLeft == "")
		        objSubMenu.style.marginLeft == "0px"

	        if(parseInt(objSubMenu.style.marginLeft) != parseInt(subPadding))
		        objSubMenu.style.marginLeft = subPadding + "px";
        }
    }


    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;
    }