         var counters = new Array();
         var files = new Array();
         var images = new Array();
         var imagect = 24;
         var imagesets = 5;
         var slidect = 3;
         
         // set the slides to blank, for now
         tempSlide = new Image();
         tempSlide.src = 'common/images/index/slidea.gif';
         for (i = 0; i < imagect; i++) {
            images[images.length] = tempSlide;
         }
         
         // define all possible slide sets
         for (i = 1; i <= imagect;) {
            filesi = new Array();
            files[files.length] = filesi;
            for (j = 0; j < slidect; j++, i++)
               filesi[j] = 'common/images/index/slides/slide' + i + '.gif';
         }
         
         // Select random slide sets, ensure that they are not repeated
         selected = new Array();
         while (selected.length < imagesets) {
            r = Math.floor(Math.random() * files.length);
            has = false;
            for (i = 0; i < selected.length; i++)
               if (selected[i] == r)
                  has = true;
            if (!has)
               selected[selected.length] = r;
         }
         
         function preloadSlides() {
            // Preload the images
            var x = 0;
            for (i = 0; i < imagesets; i++) {
               for (j = 0; j < slidect; j++) {
                  image = new Image();
                  file = files[selected[i]][j];
                  images[x++] = image;
                  image.src = file;
               }
            }
         }
         
         var panelct = 7;
         var panels = 5;
         var panelFiles = new Array();
         var panelImages = new Array();
         
         // set the panels to blank, for now
         tempPanel = new Image();
         tempPanel.src = 'common/images/index/panel.gif';
         for (i = 0; i < panelct; i++) {
            panelImages[panelImages.length] = tempPanel;
         }
         
         // Define all possible panels
         for (i = 0; i < panelct; i++)
            panelFiles[i] = 'common/images/index/panels/panel' + (i + 1) + '.gif';         
         
         selectedPanels = new Array();
         while (selectedPanels.length < imagesets) {
            r = Math.floor(Math.random() * panelFiles.length);
            has = false;
            for (i = 0; i < selectedPanels.length; i++)
               if (selectedPanels[i] == r)
                  has = true;
            if (!has)
               selectedPanels[selectedPanels.length] = r;
         }
         
         function preloadPanels() {
            for (i = 0; i < panels; i++) {
               panelImages[i] = new Image();
               panelImages[i].src = panelFiles[selectedPanels[i]];
            }
         }
         
         var p = -1;
         function panelshow(speed, duration) {
            _fadeImage(panel, panelImages[++p % panels], duration);
            setTimeout('panelshow(' + speed + ',' + duration + ')', speed);
         }
         
         // Do the slideshow
         var s = 0;
         var f = 0;
         function slideshow(speed, stop, fade) {
            _fadeImage(slides[f], images[s + f++], fade);
            wait = speed;
            if (f >= slidect) {
               f = 0;
               wait = stop;
               s += slidect;
               if (s >= imagesets * slidect)
                  s = 0;
            }
            setTimeout('slideshow(' + speed + ',' + stop + ',' + fade + ')', wait);
         }
         
         // Find the slide place holders
         var slides = new Array();
         var panel = null;
         function initSlides() {
            for (i = 0; i < slidect; i++) {
               slides[i] = document.getElementById('slide' + (i + 1));
               counters[i] = i;
            }
         }
         
         function initPanel() {
            panel = document.getElementById('panel');
         }
