/* Javascript News Scroller version 1.2
A vertical html news scroller for W3C compliant browsers; IE5+, Firefox, Opera, etc.

Copyright Stephen Cox <source@stephencox.net> 2005-06 

Usage:
Include news_scroller.js and news_scroller.css in the header of the html file
e.g. <style type="text/css">@import url(news_scroller.css);</style>
     <script language="JavaScript" src="news_scroller.js"></script>
		 
Where you want to position the news scroller call the function draw()
e.g. <script>draw();</script>

If using cookies to remember the state of the scroller the file Cookie.js must be included
in the html file before the news_scroller.js file.
e.g. <script language="JavaScript" src="Cookie.js"></script>
     <script language="JavaScript" src="news_scroller.js"></script>

The speed and size can be adjusted by changing the variables below and 
the content is changed by altering the strings in the messages array.
*/

// Configure the variables to change the speed
var scrollSpeed = 18;
var scrollDecrement = 1;
var pause = 2500;

// Configure the variables to change the appearance
var scrollerWidth = 600; 
var scrollerHeight = 220;
var scrollerbgcolor = '#FFFFFF';

// Set to switch on/off the pause when mouse over
var mouseEvents = true;

// Use cookies to keep state of scroller when returning to page?
var useCookies = false;

// Configure the variable below to change the contents

var messages = new Array();
messages[0]="<hr class='news'><span class='headline'>01-02-2012 Programma nacompetitie</span><hr class='news'><br><span class='news'>Op de site is onder de menukeuze Promotie/degradatie het programma voor de nacompetitie te vinden. Zoals wel bekend zal zijn tellen de in de nacompetitie behaalde persoonlijke resultaten niet mee voor deelname aan het Best of Five toernooi aan het eind van het seizoen. Voor deelname aan de nacompetitie verwijs ik nog naar datgene wat onder Over ABTB, Mededelingen competitie hierover staat vermeld. </span>";
messages[1]="<hr class='news'><span class='headline'>01-02-12 ABTB-Bondskampioenschappen</span><hr class='news'><br><span class='news'>Denken jullie nog aan de ABTB-Bondskampioenschappen van vrijdag 10 februari a.s.?</span>";
// messages[0]="<hr class='news'><span class='headline'>18-01-12 Renata Nederlands Kampioen Bedrijfstafeltennis</span><hr class='news'><br><span class='news'>De ttv Renata uit Eindhoven is zaterdag 14 januari Nederlands kampioen Bedrijfstafeltennis geworden. Voor de volledige uitslagen en een fotoverslag, zie elders op deze site.</span>";
// messages[1]="<hr class='news'><span class='headline'>04-01-12 LTC-toernooi</span><hr class='news'><br><span class='news'>Op zaterdag 28 januari is in het LTC-gebouw weer het jaarlijkse LTC-toernooi. Voor meer informatie, zie Wedstrijddata, Toernooien</span>";
// messages[0]="<hr class='news'><span class='headline'>23-12-11 Beste wensen</span><hr class='news'><br><span class='news'>Het bestuur van de ABTB wenst iedereen prettige Kerstdagen en een gelukkig en sportief 2012</span>";
messages[2]="<hr class='news'><span class='headline'>16-12-11 Terugtrekken LTC 7</span><hr class='news'><br><span class='news'>Door personele problemen heeft het team van LTC 7 zich helaas moeten terugtrekkken uit de competitie. Dit betekent, dat de resultaten van alle gespeelde wedstrijden van LTC 7 ongeldig worden verklaard en uit de standen worden verwijderd. Ook de persoonlijke resultaten behaald tegen spelers van LTC 7 worden uit de lijsten verwijderd. Dit betekent, dat zowel de competitiestand als de lijst met persoonlijke resultaten is gewijzigd. Alle teams uitkomend in de vierde klasse worden verzocht rekening te houden met het gewijzigde programma.</span>";
// messages[0]="<hr class='news'><span class='headline'>30-11-11 ABTB-Dubbeltoernooi</span><hr class='news'><br><span class='news'>Denken jullie nog aan ons ABTB-dubbeltoernooi van 9 december? De inschrijving sluit maandag 5 december. Voor meer informatie, zie Wedstrijddata, Toernooien</span>";
// messages[0]="<hr class='news'><span class='headline'>17-10-11 Bob Eldering en Thirza Hazeveld kampioen van Assen</span><hr class='news'><br><span class='news'>De nieuwe kampioen tafeltennis van Assen in klasse A heet Bob Eldering. Bij de jeugd ging de beker voor de tweede achtereenvolgende keer naar Thirza Hazeveld. Voor een verslagje zie elders op deze site.</span>";
// messages[0]="<hr class='news'><span class='headline'>09-09-2011 - Een nieuw seizoen</span><hr class='news'><br><span class='news'>De Algemene Ledenvergadering is weer geweest en de voorbereidende werkzaamheden voor de nieuwe competitie zijn in volle gang. Op de site zullen de komende tijd regelmatig nieuwe pagina's gepubliceerd worden. De competitie begint dit seizoen in de week van maandag 26 september en een week daaraan voorafgaand worden de eerste poulewedstrijden voor de beker gespeeld.Het bestuur wenst iedereen een prettig en succesvol seizoen toe.</span>";
// messages[0]="<hr class='news'><span class='headline'>28-05-2011 - Prettige vakantie</span><hr class='news'><br><span class='news'>Het bestuur van de ABTB wenst iedereen een prettige vakantie en graag tot in september.</span>";
// messages[1]="<hr class='news'><span class='headline'>28-05-2011 - Shirley en Dick winnaars ABTB-Slottoernooi</span><hr class='news'><br><span class='news'>Het traditionele ABTB-Slottoernooi is dit jaar gewonnen door Shirley Geertsema en Dick Hummel. Voor de volledige uitslag, zie Wedstrijddata, Toernooien.</span>";
// messages[1]="<hr class='news'><span class='headline'>20-04-2011 - Resultaten Best of Five-toernooi</span><hr class='news'><br><span class='news'>Richard Hagedoorn, Elle Trip, Fokke Jan Fokkema en Wilbert Antonissen zijn de winnaars geworden van het Best of Five-toernooi. Voor de volledige stand, zie elders op de site.</span>";
// messages[2]="<hr class='news'><span class='headline'>13-04-2011 - Uitslagen promotie/degradatie</span><hr class='news'><br><span class='news'>De zittende teams hebben zich gehandhaafd in hun huidige klasse. Dat is het resultaat van de promotie/degradatiewedstrijden die 12 april in de Spreng zijn gespeeld. Voor de uitslagen zie de promotie/degradatiepagina.</span>";
// messages[3]="<hr class='news'><span class='headline'>06-04-2011 - Marsmeppers 1 bekerwinnaar</span><hr class='news'><br><span class='news'>Het team van Marsmeppers 1 is de bekerwinnaar van het seizoen 2010 - 2011 geworden. In een spannende finale werd uiteindelijk met 6 -3 van Lariks 1 gewonnen. Voor foto's zie de bekerpagina.</span>";
// messages[2]="<hr class='news'><span class='headline'>01-04-2011 - Best of Five en Promotie/Degradatie</span><hr class='news'><br><span class='news'>Op de site de deelnemers voor het Best of Five toernooi op 19 april en het programma voor de promotie/degradatiewedstrijden op 12 april.</span>";
// messages[2]="<hr class='news'><span class='headline'>30-03-2011 - Beslissingen in 1e klasse gevallen</span><hr class='news'><br><span class='news'>Het team van TOG 1 is de nieuwe vaandeldrager van de ABTB. Door een 8 - 2 overwinning werden zij kampioen van de 1e klasse. Ook de overige beslissingen in de eerste klasse zijn gevallen. Voor foto's van de kampioenen, zie de standenpagina.</span>";
// messages[3]="<hr class='news'><span class='headline'>18-03-2011 - Kampioenen 2e en 3e klasse</span><hr class='news'><br><span class='news'>De teams van Oost 1 en Drenthe 1 zijn in de voorlaatste week van de nacompetitie kampioen geworden in resp. de tweede en derde klasse. Voor foto's van de kampioenen, zie de standenpagina.</span>";
// messages[3]="<hr class='news'><span class='headline'>04-02-2011 - Samenstelling teams nacompetitie</span><hr class='news'><br><span class='news'>Voor alle duidelijkheid nog even de melding dat de samenstelling van de teams in de nacompetitie in het algemeen dezelfde moet zijn als in het eerste gedeelte van de competitie, zoals ook in het programmaboekje en het Competitiereglement vermeld staat.</span>";
// messages[2]="<hr class='news'><span class='headline'>02-02-2011 - Programma nacompetitie</span><hr class='news'><br><span class='news'>Maandag 7 februari start het tweede gedeelte van onze competitie voor de eerste, tweede en derde klasse met de promotie- en degradatiepoules. Het programma is te vinden in het menu onder Promotie/degradatie. Op verzoek worden ook de persoonlijke resultaten gepubliceerd die in de nacompetitie worden behaald. Deze resultaten tellen echter niet mee voor het Best-of-Five klassement.</span>";
// messages[2]="<hr class='news'><span class='headline'>02-02-2011 - ABTB - Bondskampioenschappen</span><hr class='news'><br><span class='news'>Denken jullie nog aan de ABTB-Bondskampioenschappen op vrijdag 11 februari? De aanmelding sluit maandag 7 februari om 20.00 uur. Voor meer informatie zie Wedstrijddata, Toernooien.</span>";
// messages[2]="<hr class='news'><span class='headline'>17-12-2010 - Loting achtste finales ABTB-beker</span><hr class='news'><br><span class='news'>De loting voor de achtste finales van de ABTB-beker is verricht. Voor het resultaat zie onder Beker</span>";
// messages[1]="<hr class='news'><span class='headline'>05-03-2010 - Datum Bekerfinale</span><hr class='news'><br><span class='news'>De finale van de ABTB-beker wordt dit jaar gespeeld op dinsdag 30 maart in het LTC-gebouw. Dit in afwijking van het programmaboekje en hetgeen eerder op de site vermeld stond. Zie ook Wedstrijddata, Competitie/Beker</span>";
// messages[3]="<hr class='news'><span class='headline'>05-03-2010 - Halve finales ABTB-beker</span><hr class='news'><br><span class='news'>De halve finales voor de ABTB-beker worden op dinsdag 16 maart in het LTC-gebouw gespeeld. Het resultaat van de loting is te vinden op onze site.</span>";
// messages[0]="<hr class='news'><span class='headline'>30-11-2009 - Persoonlijke resultaten</span><hr class='news'><br><span class='news'>Voor de Persoonlijke resultatenlijst tellen alleen mee de wedstrijden in de reguliere competitie, dus niet de resultaten behaald in de play-off wedstrijden (promotie/degradatiepoules).</span>";
// messages[3]="<hr class='news'><span class='headline'>16-10-2009 - Promotie/degradatie-poules</span><hr class='news'><br><span class='news'>N.a.v. vragen m.b.t. de promotie/degradatiepoule het volgende: De in de competitie behaalde resultaten tellen in de promotie/degradatiepoules niet mee. De samenstelling van de teams dient in de poules dezelfde te zijn als in de reguliere competitie. Zie ook: Over ABTB, Mededelingen competitie</span>";
// messages[0]="<hr class='news'><span class='headline'>12-09-2009 - Competitie 2009 - 2010</span><hr class='news'><br><span class='news'>Het programma voor de komende competitie staat weer op onze site. Dit jaar spelen we i.v.m. de afnemende klassengrootte na afloop van de reguliere competitie voor het eerst play-off wedstrijden, die bepalend zijn voor het kampioenschap, promotie en degradatie. Meer hierover kun je vinden op: Over ABTB, Mededelingen competitie</span>";
// messages[1]="<hr class='news'><span class='headline'>12-09-2009 - Kampioenschap van Assen</span><hr class='news'><br><span class='news'>Niet vergeten, zondag 11 oktober Algemeen kampioenschap van Assen. Meer informatie en opgave elders op deze site</span>";

// messages[2]="<hr class='news'><span class='headline'>30-12-2008 - Wijziging datum bekerfinale</span><hr class='news'><br><span class='news'>De datum, waarop de bekerfinale wordt gespeeld, is gewijzigd. Noteer even in je agenda: 1 april 2009 ABTB-Bekerfinale (geen grap)</span>";
// messages[2]="<hr class='news'><span class='headline'>30-12-2008 - Wijziging datum extra ABTB-toernooi</span><hr class='news'><br><span class='news'>De datum van het extra ABTB-toernooi is gewijzigd van 24 april in 8 mei. Meer informatie over dit toernooi volgt te zijner tijd.</span>";
// messages[1]="<hr class='news'><span class='headline'>05-09-2008 Vleesprijzentoernooi Marsmeppers</span><hr class='news'><img class='news' src='http://www.stephencox.net/images/news_scroller_demo/2.jpg'><br><br><span class='news'>Javascript News Scroller is copyright Stephen Cox (c) 2005-06, it is released free of charge with no restrictions on its use. The only request is that the headers are left in the files.</span>";
// messages[2]="<hr class='news'><span class='headline'>Contact</span><hr class='news'><img class='news' src='http://www.stephencox.net/images/news_scroller_demo/3.jpg'><br><br><span class='news'>Visit the Javascript News Scroller webpage at<br><a href='http://www.stephencox.net/programming/news_scroller.html' TARGET='_blank'>www.stephencox.net</a><br>or contact the author at<br><a href='mailto:source@stephencox.net'>source@stephencox.net</a></span>";


/**********************************   Main Code    **********************************/

var i = 0;
var firstTop = '1px', secondTop = scrollerHeight + 'px';
var firstDiv, secondDiv;
var intervalId;

if (mouseEvents)
    var eventString = ', onMouseOver="stop()", onMouseOut="start()"';
else
    var eventString = '';

if (useCookies) {
    var scrollerCookie = Cookie.read('ScrollerCookie');
    if (scrollerCookie) {
        var values = scrollerCookie.value.split("::");
        i = parseInt(values[0]);
        firstTop= values[1];
        secondTop = values[2];
    }
    else {
        scrollerCookie = new Cookie('ScrollerCookie', '');
    }
}

function draw() {
	document.writeln('<span id="main" style="position:relative;width:'+scrollerWidth+';height:'+scrollerHeight+';overflow:hidden;background-color:'+scrollerbgcolor+'">');
	document.writeln('<div class="newsdiv" style="width:'+scrollerWidth+';height:'+scrollerHeight+';clip:rect(0 '+scrollerWidth+' '+scrollerHeight+' 0);top:0"'+eventString+'>');
	document.writeln('<div id="first" class="newsdiv" style="width:'+scrollerWidth+'; top:'+firstTop+';">');
	document.write(messages[i]);
	document.writeln('</div>');
	document.writeln('<div id="second" class="newsdiv" style="width:'+scrollerWidth+'; top:'+secondTop+';">');
	document.write(messages[++i % messages.length]);
	document.writeln('</div>');
	document.writeln('</div>');
	document.writeln('</span>');
}

function step() {
    if (parseInt(firstDiv.style.top) >= scrollerHeight * -1) {
        firstDiv.style.top = parseInt(firstDiv.style.top) - scrollDecrement;
        secondDiv.style.top = parseInt(secondDiv.style.top) - scrollDecrement;
    } else {
        i = ++i % messages.length;
        clearInterval(intervalId);
        temp = firstDiv;
        firstDiv = secondDiv;
        secondDiv = temp;
        secondDiv.style.top = scrollerHeight;
        secondDiv.innerHTML = messages[i];
        intervalId = setInterval(restart, pause);
    }
}

function init() {
	if (document.getElementById && messages.length > 0) {
		firstDiv = document.getElementById("first");
        secondDiv = document.getElementById("second");
        if (firstDiv.style.top == '1px')
            intervalId = setInterval(restart, pause);
        else
            intervalId = setInterval(restart, scrollSpeed);
	}
} 

function start() {
    intervalId = setInterval(step, scrollSpeed);
}

function restart() {
    clearInterval(intervalId);
    intervalId = setInterval(step, scrollSpeed);
}

function stop() {
    clearInterval(intervalId);
}

window.onload = init;

if (useCookies) {
    window.onunload = function() {
        var j = i - 1;
        if (j < 0) j = messages.length - 1;
        scrollerCookie.value = j + '::' + firstDiv.style.top + '::' + secondDiv.style.top;
        scrollerCookie.store();
    }
}

    
