function klok() {

	// bevat alle tijdzones
	this.tijdzones = new Array();

	// start de klok
  this.startKlok = function() {
    this.vernieuwKlok()
  }

	// voeg een tijdzone toe
	this.voegTijdzoneToe = function(naam, lokaleDatumTijd) {
		this.tijdzones[this.tijdzones.length] = new tijdzone(naam);
		this.tijdzones[(this.tijdzones.length -1)].setLokaleDatumTijd(lokaleDatumTijd);
	}

	// haalt voor elke tijdzone de actuele tijd op en toont die in de webpagina
  this.vernieuwKlok = function() {
		for (i = 0; i < this.tijdzones.length; i++) {
			stringActueleTijd = this.tijdzones[i].getLokaleTijd();
			if (document.all) { 
				//This is IE or Opera 
				document.all["tijd" + this.tijdzones[i].getNaam()].innerHTML = stringActueleTijd;
			} else { 
				//This is Mozilla 
				document.getElementById("tijd" + this.tijdzones[i].getNaam()).innerHTML = stringActueleTijd; 
			} 
		}
    zelluf = this;
    timeID = window.setTimeout("zelluf.vernieuwKlok();",1000) 
  }
}

function tijdzone(naam) {
	this.naam = naam;

	// geeft de naam van de tijdzone
	this.getNaam = function() {
		return this.naam;
	}

	// set de actuele tijd
	this.setLokaleDatumTijd = function(lokaleDatumTijd) {
		this.lokaleDatumTijd = new Date(lokaleDatumTijd);
		computerDatumTijd = new Date();
		this.verschil = (computerDatumTijd - this.lokaleDatumTijd);
	}

	// geeft de actuele tijd
	this.getLokaleTijd = function() {
		computerDatumTijd = new Date();
		lokaleTijd = computerDatumTijd.getTime();
		lokaleTijd -= this.verschil;
		this.lokaleDatumTijd.setTime(lokaleTijd);

		uren = this.lokaleDatumTijd.getHours();
		if (uren < 10) {
		  uren = "0" + uren
		}
		minuten = this.lokaleDatumTijd.getMinutes();
		if (minuten < 10) {
		  minuten = "0" + minuten
		}
		stringLokaleTijd = uren+ ":" + minuten;
		return stringLokaleTijd;
	}
}

