 function ShowHideDiv(MyAnchor, intShowDIV, intParentDIV, blnSelected)
{
    debug('');
    //alert(document.getElementById(MyAnchor).parentNode.id + ' ' + document.getElementById(MyAnchor).parentNode.style.visibility + ' ' + document.getElementById(MyAnchor).parentNode.style.display);
    //alert(document.getElementById(MyAnchor).parentNode.getAttribute('myparent'));
    //alert(document.getElementById('anch' + document.getElementById(MyAnchor).parentNode.getAttribute('myparent')).id);
    // + ' ' + document.getElementById(MyAnchor).parentNode.style.visibility + ' ' + document.getElementById(MyAnchor).parentNode.style.display);
    debug('MyAnchor: ' + MyAnchor + '\nintShowDIV: ' +  intShowDIV + '\n intParentDIV: ' +  intParentDIV+ '\nblnSelected: ' +  blnSelected);
    if ((intParentDIV == '') || (intParentDIV == 'Menu'))
    {
        try
        {
            var divMe = document.getElementById(MyAnchor);
            //alert(intParentDIV);
            debug('NO CHILDNODES for Node: ' + divMe.id + ' with parentNode: ' + divMe.parentNode.id + '\n');
            document.getElementById(divMe.parentNode.id).style.visibility='visible';
            document.getElementById(divMe.parentNode.id).style.display='block';
            
            //intParentDIV = MyAnchor.parentNode.id;
            debug('intParentDIV was blank so I changed it to: ' + intParentDIV);
         }
         catch(e)
         {
          debug ('I tried, I caughtqq...');
         }
    }
    
    // ChildNodes? - yes - show them and unhighlight everyone else on my level except me ;-D
    try
    {
        // Hide everything... :-D
        var divAllNodes = document.getElementsByTagName('DIV');
        for (var dan=0; dan<=divAllNodes.length; dan++)
        {   
            try
            {
                if ((divAllNodes[dan].id.match(/Menu[0-9]*/) != null) 
                    && (divAllNodes[dan].id != 'DIVMenu') 
                    && (divAllNodes[dan].id != 'Menu1')
                    && (divAllNodes[dan].id != intParentDIV))
                {
                    
                    debug('HIDE item number: ' + dan + ' is Node: ' + divAllNodes[dan].id + ' and its is parentNode: ' + divAllNodes[dan].parentNode.id + '\n');
                    divAllNodes[dan].style.visibility='hidden';
                    divAllNodes[dan].style.display='None';
                }
            }
            catch(e)
            {
                debug('Catching after try of match 0-9\n ' + e);
            }
        }
        
        
        try
        {
            // show this DIV's Parents etc.
            var intGoUpDiv = 'Menu' + document.getElementById(intParentDIV).getAttribute('myparent');
            debug('SHOW My Parent - ' + intGoUpDiv + '\n');
            document.getElementById(intGoUpDiv).style.visibility='visible';
            document.getElementById(intGoUpDiv).style.display='block';
            debug('Now do other Parents...\n');
            var intii;
            var intGoUpDivValue = document.getElementById(intGoUpDiv).getAttribute('myparent');
            while (!isNaN(intGoUpDivValue))
            {
                debug('FIRST: ' + intGoUpDivValue);
                intii++;
                intGoUpDiv = 'Menu' + intGoUpDivValue;
                debug('SHOW a Parent - ' + intGoUpDiv + '\n');
                document.getElementById(intGoUpDiv).style.visibility='visible';
                document.getElementById(intGoUpDiv).style.display='block';
                if (intii = 3) {intGoUpDivValue = NaN};
            }
            //alert(document.getElementById(intGoUpDiv).getAttribute("Daffy"));
       }
        catch(e)
        {
            debug('I originally tryed, and I originally caught');
        }
        
        
        //@@ show this DIV
        debug('SHOW ME - ' + intShowDIV + '\n');
        document.getElementById(intShowDIV).style.visibility='visible';
        document.getElementById(intShowDIV).style.display='block';
        debug('intShowDIV: ' + document.getElementById(intShowDIV).style.visibility + ' ' + document.getElementById(intShowDIV).style.display)
        
        var MyChildren = document.getElementById(MyAnchor).childNodes;
         for (var mc=0; mc<= MyChildren.length ; mc++)
        {   try
            {   debug ('MyChildren[mc]: ' + MyChildren[mc].id + ' MyAnchor: ' + MyAnchor);
                MyChildren[mc].style.color = 'Maroon';
                MyChildren[mc].style.backgroundColor='White';}
            catch(e){}
         }
        //@@ Unhighlight all my siblings and highlight me :-D
        var ParentChildNodes = document.getElementById(MyAnchor.parentNode.id).childNodes;
        for (var pcn=0; pcn<= ParentChildNodes.length ; pcn++)
        {   try
            {   debug ('ParentChildNodes[pcn]: ' + ParentChildNodes[pcn].id + ' MyAnchor: ' + MyAnchor);
                if (ParentChildNodes[pcn].id==MyAnchor){
                    ParentChildNodes[pcn].style.color = '#26438a';
                    ParentChildNodes[pcn].style.backgroundColor='Silver';}
                else
                {   ParentChildNodes[pcn].style.color = 'Maroon';
                    ParentChildNodes[pcn].style.backgroundColor='White';}}
            catch(e){}
         }
        
        //@@  Highlight this anchor
        document.getElementById(MyAnchor).style.color = '#26438a';
        document.getElementById(MyAnchor).style.backgroundColor='Silver';
       
    }
    catch(e)
    {
        // ChildNodes? - NO - just show the parents and highlight only me :-D
        try
        {
        
            var divMe = document.getElementById(MyAnchor);
            debug('NO CHILDNODES for Node: ' + divMe.id + ' with parentNode: ' + divMe.parentNode.id + '\n');
            document.getElementById(divMe.parentNode.id).style.visibility='visible';
            document.getElementById(divMe.parentNode.id).style.display='block';
            
            var ParentChildNodes = document.getElementById(divMe.parentNode.id).childNodes;
            for (var m=0; m<= ParentChildNodes.length ; m++)
            {   try
                {   debug ('ParentChildNodes[m]: ' + ParentChildNodes[m].id + ' MyAnchor: ' + MyAnchor);
                    if (ParentChildNodes[m].id==MyAnchor){
                        ParentChildNodes[m].style.color = '#26438a';
                        ParentChildNodes[m].style.backgroundColor='Silver';}
                    else
                    {   ParentChildNodes[m].style.color = 'Maroon';
                        ParentChildNodes[m].style.backgroundColor='White';}}
                catch(e){}
             }
           
            // show this DIV's Parents etc.
            var intGoUpDiv = 'Menu' + document.getElementById(intParentDIV).getAttribute("myparent");
            debug('SHOW (catch) My Parent - ' + intGoUpDiv + '\n');
            document.getElementById(intGoUpDiv).style.visibility='visible';
            document.getElementById(intGoUpDiv).style.display='block';
            try
            {
                var intii 
                while (document.getElementById(intGoUpDiv).getAttribute("myparent") != 'undefined')
                {
                    intii++;
                    debug('SECOND: ' + document.getElementById(intGoUpDiv).getAttribute("myparent"));
                    document.getElementById(intGoUpDiv).style.visibility='visible';
                    document.getElementById(intGoUpDiv).style.display='block';
                    intGoUpDiv = 'Menu' + document.getElementById(intGoUpDiv).getAttribute("myparent");
                    debug('SHOW (catch) a Parent - ' + intGoUpDiv + '\n');
                    if (intii>10) {break};
                   
                }
            }
            catch(e)
            {
                debug ('I tried, I caught...');
            }
         }
         catch(e)
         {
            debug ('I tried, I caught2...');
         }
    }
}