    var xFadeCounter = 0;
    var xFadeFlipper = 0;
    var xFadeFG;
    var xFadeBG;
    var imageList = new Array();
    var imageTitle = new Array();
    var imageSubtitle = new Array();
    var imageDescription = new Array();
    
    function xFadeInit() {
        
        $('xFadeList').style.display = 'none';
        
        var rows = $('xFadeList').getElementsByTagName('img');
        for (i=0; i<rows.length; i++) {
            imageList[i] = rows[i].src;
            imageTitle[i] = rows[i].title;
            imageSubtitle[i] = rows[i].alt;
        }
        
        xFadeSetFG();
        xFadeSetBG();
        
        window.setInterval('xFadeImages()', 8000);
    }
    
    function xFadeSetFG() {
        
        var xFadeFG = $('xFadeFG');
        
        xFadeFG.style.backgroundImage = 'url(' + imageList[xFadeCounter] + ')';
        
        var heading = xFadeFG.getElementsByTagName('h1');
        var headingLength = heading[0].firstChild.nodeValue.length;
        heading[0].firstChild.replaceData(0, headingLength, imageTitle[xFadeCounter]);
        
        var heading = xFadeFG.getElementsByTagName('span');
        var headingLength = heading[0].firstChild.nodeValue.length;
        heading[0].firstChild.replaceData(0, headingLength, imageSubtitle[xFadeCounter]);
        
        xFadeCounter++;
        xFadeFlipper = 0;
    }
    
    function xFadeSetBG() {
        
        var xFadeBG = $('xFadeBG');
        
        xFadeBG.style.backgroundImage = 'url(' + imageList[xFadeCounter] + ')';
        
        var heading = xFadeBG.getElementsByTagName('h1');
        var headingLength = heading[0].firstChild.nodeValue.length;
        heading[0].firstChild.replaceData(0, headingLength, imageTitle[xFadeCounter]);
        
        var heading = xFadeBG.getElementsByTagName('span');
        var headingLength = heading[0].firstChild.nodeValue.length;
        heading[0].firstChild.replaceData(0, headingLength, imageSubtitle[xFadeCounter]);
        
        xFadeCounter++;
        xFadeFlipper = 1;
    }
    
    function xFadeImages() {
        
        if (xFadeCounter >= imageList.length) xFadeCounter = 0;
        
        if (xFadeFlipper == 1) {
            
            $('xFadeFG').fade(
                {
                    duration: 2,
                    afterFinish: function() {
                        xFadeSetFG();
                    }
                }
            );
            
        } else {
            
            $('xFadeFG').appear(
                {
                    duration: 2,
                    afterFinish: function() {
                        xFadeSetBG();
                    }
                }
            );
        }
    }
