﻿document.getElementsByClassName = function(cl) {
var retnode = [];
var myclass = new RegExp('\\b'+cl+'\\b');
var elem = this.getElementsByTagName('*');
for (var i = 0; i < elem.length; i++) {
var classes = elem[i].className;
if (myclass.test(classes)) retnode.push(elem[i]);
}
return retnode;
};       
       
       function RodneyAccordianMenu ( MenuElement, Level )
       {
            RodneyAccordianMenuRecursive ( MenuElement, Level );
            ExpandMenuToBreadCrumbs ();                        
       }
        function RodneyAccordianMenuRecursive ( MenuElement, Level )
            {
                try {
                     MenuElement.childNodes;
                     } 
                catch (e)     
                    {
                        return;
                    }
                for ( var j = 0; j < MenuElement.childNodes.length; j++ )
                    {
                        if ( MenuElement.childNodes[j].tagName == "UL" )
                            { 
                                for ( var i = 0; i < MenuElement.childNodes[j].childNodes.length; i ++ )
                                    {
                                        if ( MenuElement.childNodes[j].childNodes [i].tagName == "LI" )
                                            {
                                               if ( Level > 1 )
                                                    {
                                                        MenuElement.childNodes[j].childNodes [i].style.display = "none";
                                                    }
                                                var foundflag = false;
                                                for ( k = 0; k < MenuElement.childNodes[j].childNodes [i].childNodes.length && !foundflag; k ++ )
                                                    {
                                                        if ( MenuElement.childNodes[j].childNodes [i].childNodes [k].tagName == "UL" )
                                                            {
                                                                foundflag = true;
                                                            }
                                                    }
                                                if ( foundflag )
                                                    {
                                                        RodneyAccordianMenuRecursive ( MenuElement.childNodes[j].childNodes [i], Level + 1 );
                                                        var Expander = document.createElement('div');
                                                        Expander.className = "Expander";
                                                        Expander.innerHTML = "<a onclick='ExpandMenuItem (this)' class='MenuExpander' id='ExpanderMenuItem" + MenuElement.childNodes[j].childNodes [i].childNodes [0].innerHTML + "'>+</a>";
                                                        MenuElement.childNodes[j].childNodes[i].insertBefore(Expander, MenuElement.childNodes[j].childNodes [i].childNodes [0]);


                                                    }
                                                else
                                                    {
                                                        var ExpanderSpacer = document.createElement('div');
                                                        ExpanderSpacer.className = "ExpanderSpacer";
                                                        MenuElement.childNodes[j].childNodes[i].insertBefore(ExpanderSpacer, MenuElement.childNodes[j].childNodes [i].childNodes [0]);
                                                    }
                                                
                                            }
                                    }
                             }
                    }
            }
             
        
        var FadingArray;  

        
        function ExpandMenuItem ( thisElement, quickly, OnlyOn )
            {
                var display;
                if ( thisElement.innerHTML == "-" )
                    {
                        thisElement.innerHTML = "+";
                        display = "none";
                    }
                else
                    {
                        thisElement.innerHTML = "-";
                        display = "block";
                    }
                if ( OnlyOn )
                    {
                        thisElement.innerHTML = "-";
                        display = "block";
                    }    
                var MenuElement = thisElement.parentNode.parentNode;
                 for ( var j = 0; j < MenuElement.childNodes.length; j++ )
                    {
                        if ( MenuElement.childNodes[j].tagName == "UL" )
                            { 

                                if ( quickly )
                                {
                                     for ( var i = 0; i < MenuElement.childNodes[j].childNodes.length; i ++ )
                                    {
                                       
                                        if ( MenuElement.childNodes[j].childNodes [i].tagName == "LI" )
                                            {
                                               MenuElement.childNodes[j].childNodes [i].style.display = display;   
                                            }
                                    }
                                }
                                else
                                {    
                                    var ElementArray = new Array ();
                                    for ( var i = 0; i < MenuElement.childNodes[j].childNodes.length; i ++ )
                                    {
                                       
                                        if ( MenuElement.childNodes[j].childNodes [i].tagName == "LI" )
                                            {
                                               ElementArray.push ( MenuElement.childNodes[j].childNodes [i]);   
                                            }
                                    }
                                    FadingArray = ElementArray;
                                    FadeElementsOnandOff ( display, 0 );
                                }
                                
                             }
                    }
                    
            }
            function FadeElementsOnandOff (  display, Index )
            {
                if (Index < FadingArray.length )
                    { 
                        FadingArray[Index].style.display = display;
                        setTimeout ( "FadeElementsOnandOff ( '" +  display + "', " + ( Index + 1) + ")", 50 )
                    }
                
            }
            function ExpandMenuToBreadCrumbs ()
            {
                for ( var  i=0; i < document.getElementsByClassName ("breadcrumbs")[0].childNodes.length; i++ )
                    {
                        var TextItem = "";
                        if ( document.getElementsByClassName ("breadcrumbs")[0].childNodes[i].data )
                            {
                              if ( document.getElementsByClassName ("breadcrumbs")[0].childNodes[i].data != " > ")
                                {
                                    TextItem = document.getElementsByClassName ("breadcrumbs")[0].childNodes[i].data.replace(/ > /gi, "");
                                }
                            }
                        else if ( document.getElementsByClassName ("breadcrumbs")[0].childNodes[i].tagName == "A" )
                            {
                               TextItem = document.getElementsByClassName ("breadcrumbs")[0].childNodes[i].innerHTML;
                            }
                        if (  TextItem != "" )
                            {   
                                try
                                    {

                                        if ( document.getElementById ( "ExpanderMenuItem" + TextItem ))
                                            {
                                               ExpandMenuItem ( document.getElementById ( "ExpanderMenuItem" + TextItem ), true, true );
                                            }
                                    }
                                 catch ( e)
                                    {
                                       
                                    }
                            }
                    }
            }

 
