buildRotator = function() {

	window.rotator = $('-banner-rotator');
        rotator.dd = rotator.getElementsByTagName('DD')[0];
        rotator.dt = rotator.getElementsByTagName('DT')[0];
        rotator.interval = 1500;
        rotator.items = [];
        rotator.curr  = 0;

        rotator.load = function(items) {
            var a, img;

            for (var i = 0; i < items.length; i++) {
                a = document.createElement('A');
                a.href = items[i].URI;

                img = a.appendChild(document.createElement('IMG'));
                img.src = items[i].src;

                this.items.push({ e: a, src: items[i].src });
                a.style.display = i ? 'none' : 'block';
                this.dd.appendChild(a);

                var button = this.dt.appendChild(document.createElement('BUTTON'));
                button.className = i ? '' : 'selected';
                button.i = i;
                button.onclick = function() {
                    if (rotator.c) {
                        window.clearTimeout(rotator.c);
                        rotator.c = null;
                    }

                    if (rotator.items[rotator.curr].e.fadin) {
                        window.clearInterval(rotator.items[rotator.curr].e.fadin);
                        rotator.items[rotator.curr].e.fadin = null;
                    }

                    rotator.items[rotator.curr].e.style.display = 'none';
                    rotator.dt.getElementsByTagName('BUTTON')[rotator.curr].className = '';
                    setOpacity(rotator.items[rotator.curr].e, 1);
                    rotator.dd.style.background = 'none';

                    rotator.items[this.i].e.style.display = 'block';
                    this.className = 'selected';
                    rotator.curr = this.i;

                    rotator.c = window.setTimeout(rotator.change, rotator.interval);
                }
            }

            if (i)
                rotator.c = window.setTimeout(rotator.change, rotator.interval);
        }

        rotator.change = function() {
            var k = rotator.curr;
            var c = rotator.items[rotator.curr];
            var m = !rotator.items[rotator.curr + 1] ? 0 : (rotator.curr + 1);
            var n = rotator.items[m];

            rotator.dd.style.background = 'url(' + n.src + ') 0 0 no-repeat';
            fade(
                c.e, 1, 0, 100, 70,
                function() {
                    setOpacity(c.e, 1);
                    c.e.style.display = 'none';
                    rotator.dd.style.background = 'none';
                    n.e.style.display = 'block';
                    rotator.curr = m;

                    rotator.dt.getElementsByTagName('BUTTON')[k].className = '';
                    rotator.dt.getElementsByTagName('BUTTON')[m].className = 'selected';

                    rotator.c = window.setTimeout(rotator.change, rotator.interval);
                });
        }

}