	var o_de_spreuk = new spreuk();
// *****************************************************************************
// DEFINITIE VAN HET SPREUKEN OBJECT
// OO- in javascript
// *****************************************************************************
function spreuk()
{
	this.aantal = 0;
	this.getoond_nummer = 0;
	this.spreuken = new Array();
	this.auteur = new Array();
	this.tijd_tussen_spreuken = 20000;	// * default waarde
	this.oploopfactor = determine_oploopfactor();
	this.laat_spreuk_zien = function () { laat_spreuk_zien(); }
	this.voeg_spreuk_toe = function( i_spreuk , i_auteur){
		this.aantal = this.aantal + 1;
		this.spreuken[this.aantal] = i_spreuk;
		this.auteur[this.aantal] = i_auteur;
	}
}

// *****************************************************************************
// METHODEN VAN HET SPREUKEN OBJECT
// *****************************************************************************
function laat_spreuk_zien()
{
	var l_index = 0;
	if (document.getElementById) {
		l_spreuk = document.getElementById("spreuken");
		l_auteur = document.getElementById("auteur");
		if (spreuk) {
			o_de_spreuk.getoond_nummer = determine_spreuk_index();
			l_spreuk.innerHTML = '' ; 
			l_auteur.innerHTML = '' ; 
			l_spreuk.innerHTML = o_de_spreuk.spreuken[o_de_spreuk.getoond_nummer]; 
			l_auteur.innerHTML = o_de_spreuk.auteur[o_de_spreuk.getoond_nummer]; 
		}
	}
	timerID  = setTimeout("o_de_spreuk.laat_spreuk_zien()", o_de_spreuk.tijd_tussen_spreuken);
}

// *****************************************************************************
// EXTERNE FUNCTIES
// *****************************************************************************

function on_load_spreuken(i_tijd_tussen_spreuken)
{
// * Deze functie wordt 1 keer aangeroepen vanuit het aanroepende process.
	// * Function in spreuken js -> deze bevat alle spreuken.
	laad_spreuken();
	// * Bepaal random het start nummertje
	o_de_spreuk.getoond_nummer = determine_start_values();
	// * de tijd kan meegegeven worden. Zo niet, dan de default tijd.
	if (i_tijd_tussen_spreuken) {
		o_de_spreuk.tijd_tussen_spreuken = i_tijd_tussen_spreuken;
	}
	// * Voer methode uit van de spreuk. (Laat maar zien)
	o_de_spreuk.laat_spreuk_zien();
}

function NS(spreuk, auteur)
{
// * NS = Nieuwe Spreuk.
// * Deze functie wordt gebruikt in spreuken js, om de spreuken toe te voegen 
// * aan het object. Dit is geen fraaie constructie. A roept B aan en B roept weer A aan...
	o_de_spreuk.voeg_spreuk_toe(spreuk, auteur);
}

// *****************************************************************************
// INTERNE FUNCTIES
// *****************************************************************************
function determine_spreuk_index()
{
	// * Laat de spreuk in op/aflopende volgorde zien.
	if (o_de_spreuk.oploopfactor == 1) {
		if (o_de_spreuk.getoond_nummer >= o_de_spreuk.aantal) {
			o_de_spreuk.getoond_nummer = 1;
		} else {
			o_de_spreuk.getoond_nummer = o_de_spreuk.getoond_nummer + 1;
		}
	} else {
		if (o_de_spreuk.getoond_nummer <= 1) {
			o_de_spreuk.getoond_nummer = o_de_spreuk.aantal;
		} else {
			o_de_spreuk.getoond_nummer = o_de_spreuk.getoond_nummer - 1;
		}
	}
	return(o_de_spreuk.getoond_nummer);
}

function determine_start_values()
{
	// Bepaal met welke spreuk er moet worden begonnen. (random)
	var l_start_nummer = 0;

	l_start_nummer = Math.round(Math.random() * (o_de_spreuk.aantal - 1));
	l_start_nummer = l_start_nummer + 1;		// Spreuken starten met 1.
	return(l_start_nummer);
}

function determine_oploopfactor()
{
	// * Bepaal factor 1 or -1 om te bepalen of er aflopend of oplopend
	// * door de spreuken gelopen wordt. (random)
	var l_oploopfactor = 1;

	l_oploopfactor = Math.round(Math.random() * 1);
	if (l_oploopfactor != 1) {
		l_oploopfactor = -1;
	}
	return(l_oploopfactor);
}


