//array of rotator items
    var rotatorItems = [];    
    
    //number of milliseconds between each rotation (1000=1 second)
    var rotationDelayMilliseconds = 4500;
    
    function GetRotatorItems()  
    {    
    
        //get root node to search within
        var rootNode = document.getElementById("RotatorItems"); 
    
        //class name that should be applied to all rotator items
        var classname = "RotatorItem"
            
        //regular expression to match class name
        //Q*** '\\b' Word boundary. Get a match at the beginning or end of a word in the string?
        var re = new RegExp('\\b' + classname + '\\b');    
        
        //get all elements under our root node
        var childElements = rootNode.getElementsByTagName("*");    
        
        //for each item, check for a match using the test method and add to our array
        for(var i=0,j=childElements.length; i<j; i++)        
        {
            if(re.test(childElements[i].className))
            {
                // push() method adds elements to the end of an array and returns the new length
                rotatorItems.push(childElements[i]);    
            }
        }
            
    }
    
    function ShowNews(newsItemNumber)
    {
    
        //will be 1 on initialisation, so no previous element to hide
        if(newsItemNumber > 1)
        {
            //hide previous item (-2 because array is 0 indexed)    
            rotatorItems[newsItemNumber - 2 ].style.display = "none";
        }
        
        //reset to 1 if we're over the number of rotator items
        if (newsItemNumber > rotatorItems.length)
        {
            newsItemNumber = 1
        }
        
        //show the current item
        rotatorItems[newsItemNumber - 1].style.display  = "block";
    
        //increment & schedule next rotate
        newsItemNumber = newsItemNumber + 1
        setTimeout('ShowNews(' + newsItemNumber + ')', rotationDelayMilliseconds)
    
    }
    
    function InitialiseRotator()
    {
        GetRotatorItems();
        
        ShowNews(1);
    }
