    function Left(str, n)
    /***
            IN: str - the string we are LEFTing
                n - the number of characters we want to return

            RETVAL: n characters from the left side of the string
    ***/
    {
            if (n <= 0)     // Invalid bound, return blank string
                    return "";
            else if (n > String(str).length)   // Invalid bound, return
                    return str;                // entire string
            else // Valid bound, return appropriate substring
                    return String(str).substring(0,n);
    }
    function Right(str, n)
    /***
            IN: str - the string we are RIGHTing
                n - the number of characters we want to return

            RETVAL: n characters from the right side of the string
    ***/
    {
            if (n <= 0)     // Invalid bound, return blank string
               return "";
            else if (n > String(str).length)   // Invalid bound, return
               return str;                     // entire string
            else { // Valid bound, return appropriate substring
               var iLen = String(str).length;
               return String(str).substring(iLen, iLen - n);
            }
    }
    function Len(str)
    /***
            IN: str - the string whose length we are interested in

            RETVAL: The number of characters in the string
    ***/
    {  
            return String(str).length;  
    }
    function Mid(str, start, len)
    /***
            IN: str - the string we are LEFTing
                start - our string's starting position (0 based!!)
                len - how many characters from start we want to get

            RETVAL: The substring from start to start+len
    ***/
    {
            // Make sure start and len are within proper bounds
            if (start < 0 || len < 0) return "";

            var iEnd, iLen = String(str).length;
            if (start + len > iLen)
                    iEnd = iLen;
            else
                    iEnd = start + len;

            return String(str).substring(start,iEnd);
    }
    function InStr(strSearch, charSearchFor)
    /*
    InStr(strSearch, charSearchFor) : Returns the first location a substring (SearchForStr)
                               was found in the string str.  (If the character is not
                               found, -1 is returned.)
                               
    Requires use of:
        Mid function
        Len function
    */
    {
        for (i=0; i < Len(strSearch); i++)
        {
            if (charSearchFor == Mid(strSearch, i, 1))
            {
                return i;
            }
        }
        return -1;
    }    

    function showmenu(mennam,lftpad) {
        var hl1=document.getElementById('mnu_team')
         hl1.style.visibility="hidden";
        var hl2=document.getElementById('mnu_flag')
         hl2.style.visibility="hidden";
        var hl3=document.getElementById('mnu_news')
         hl3.style.visibility="hidden";
        var hl4=document.getElementById('mnu_fanz')
         hl4.style.visibility="hidden";
        var hl5=document.getElementById('mnu_comm')
         hl5.style.visibility="hidden";
        var hl6=document.getElementById('mnu_gall')
         hl6.style.visibility="hidden";
        if (mennam != '') {
            var hl0=document.getElementById(mennam)
             if (document.body.clientWidth > 950) {
                 hl0.style.left=lftpad+(document.body.clientWidth-950)/2;
            } else {
                 hl0.style.left=lftpad;
            }
             hl0.style.visibility="visible";
        }
        //document.layers[mennam].left=document.layers[mennam].left+document.tags.Body.marginLeft;
    }

