
// rolator class
function Rolator(container) {
    this.elements = new Object;
    //this.elements.bluemonday2009 = '/pdf/bluemonday2010.pdf';
    //this.elements.lemans = '/pdf/10hlemans.pdf';
    //this.elements.lemans3h = '/pdf/3hlemans2009.pdf';
    //this.elements.lemans3h2010 = '/pdf/3hlemans2010_september.pdf';
    //this.elements.polterabend = '/pdf/menu_polterabend.pdf';
    //this.elements.julefrokost = '/pdf/menu_jul.pdf';
    //this.elements.frokost = '/pdf/menu_frokost.pdf';
    //this.elements.bremerjagtenmoelle = '/pdf/bremerjagt2008.pdf';
    //this.elements.rotaxmaxmoelle = '/pdf/bremerjagt2008.pdf';
    //this.elements.training = '/pdf/training2009.pdf';
    this.elements.facebook = 'http://www.facebook.com/home.php?#/pages/Viby-Denmark/Racehall/144777131474?ref=ts';
    this.elements.cheapsunday = '/pdf/2cheapsundayweb.pdf';
    this.elements.season2010 = '/pdf/kalender2010.pdf';
    this.elements.f1race = '/pdf/f1racesweb.pdf';
    //this.elements.jollymoelle = '/pdf/jollykonkurrence.pdf';
    this.elements.vinderceremoni = '/pdf/vinderceremoni.pdf';
    //this.elements.racehallofchampions = 'http://www.racehallofchampions.dk/';
    //this.elements.f1menu = '/pdf/F1menuweb.pdf';
    //this.elements.sponsorbanner = '/pdf/sponsora4web.pdf';
    //this.elements.racemarshalls = '/pdf/ansoegningsskema11.pdf';
    //this.elements.wildwednesday = '/pdf/wildwednesday.pdf';
    //this.elements.tjekresultat = '/pdf/bluemondayresultat2009.pdf';
    
    var i = this.elementcount = 0;
    for (i in this.elements) this.elementcount++;
    this.pictureheight = 114;
    this.maxscroll = ((this.elementcount)*this.pictureheight); //-(5*this.pictureheight);
    this.pos = 0;
    this.timer = null;
    this.started = true;
    this.scrolldelay = 36; // miliseconds scroll delay
    this.container = document.getElementById(container);
    if (this.container) {
        this.create_items();
        this.start();
    }
}

Rolator.prototype.create_items = function() {
    var innerHTML = '<div id="rolator" style="width: 215px; overflow: hidden; height: 570px; background-color: silver;">';
    for (image in this.elements) {
        if (typeof this.elements[image] == 'string') {
            var id = 'r'+Math.round(Math.random()*54256434523);
            var string = new String('<a href="'+this.elements[image]+'" target="_blank"><img id="'+id+'" onmouseover="window.rolator.pause(\''+id+'\')" src="/grafik/rolator/'+image+'.jpg" /></a>');
            innerHTML += string;
        }
    }
    var count = 1;
    for (image in this.elements) {
        if (typeof this.elements[image] == 'string') {
            var id = 'r'+Math.round(Math.random()*54256434523);
            var string = new String('<a href="'+this.elements[image]+'" target="_blank"><img id="'+id+'" onmouseover="window.rolator.pause(\''+id+'\')" src="/grafik/rolator/'+image+'.jpg" /></a>');
            innerHTML += string;
            if (count == 5) break;
            else count++;
        }
    }
    
    innerHTML += '</div>';
    var inside = document.createElement('div');
    inside.setAttribute('style', 'background: url(\'grafik/eventsboxweb.png\') no-repeat; width: 225px; height: 608px; padding: 35px 5px 5px 5px;');
    inside.innerHTML = innerHTML;
    this.container.appendChild(inside);
    var tags = inside.getElementsByTagName('a');
    for (i=0; i<tags.length; i++) {
        tags[i].onmouseout = this.resume;
    }
}

Rolator.prototype.highlight = function(current) {
    var tags = this.container.getElementsByTagName('img');
    for (i=0; i<tags.length; i++) {
        if (tags[i].id != current) {
            setOpacity(tags[i], 0.5);
        } else {
            setOpacity(tags[i], 1);
        }
    }
}

Rolator.prototype.pause = function(current) {
    this.started = false;
    window.rolator.highlight(current);
    clearTimeout(window.rolator.timer);
}

Rolator.prototype.resume = function() {
    var tags = window.rolator.container.getElementsByTagName('img');
    for (i=0; i<tags.length; i++) {
        setOpacity(tags[i], 1);
    }
    window.rolator.scroll(window.rolator.pos, true);
}

Rolator.prototype.start = function() {
    this.started = true;
    this.scroll(0, true);
}

Rolator.prototype.stop = function() {
    this.started = false;
    this.pos = 0;
}

Rolator.prototype.scroll = function(pos, recursive) {
    if (pos == this.maxscroll) pos = 0;
    this.pos = pos;
    document.getElementById('rolator').scrollTop = pos;
    if (recursive) {
        var command = 'window.rolator.scroll('+(pos+1)+',true);';
        this.timer = setTimeout(command, this.scrolldelay);
    }
}
