Effect.Typewriter = Class.create();
Object.extend(Object.extend(Effect.Typewriter.prototype, 
	Effect.Base.prototype), {
		initialize: function(element, text) {
			var options = arguments[2] || {};
			elem = document.createElement("div");
			elem.id = element;
			Element.addClassName(elem,"typewriter");
			$('puzzles').appendChild(elem);
			this.element = $(element);
			this.textToBeDisplayed = text;
			this.numberOfCharacters = text.length;
			this.start(options);
		},
		update: function(position) {
			howFar = Math.floor(position * this.numberOfCharacters);
			contents = this.textToBeDisplayed.substring(0,howFar);
			contents += "<span class='current_char'>" + this.textToBeDisplayed.substring(howFar, howFar + 1) + "</span>";
			Element.update(this.element,contents);
			}
		});	

tekster = [
	"Frisk Bris.",
	"Frisk Pris.",
	"Flink Bisk.",
	"Flink Fisk.",
	"Frisk Fisk.",
	"Fiskepisk.",
	"Piskefisk.",
	"Frisk Bris."
]
function do_puzzle(number)
{
	if (number >= tekster.length) 
	{
		reveal_page();
		return;
	}
	text_to_display = tekster[number];
	new Effect.Typewriter('puzzle' + number, text_to_display,
	{duration:1, afterFinish: function(){do_puzzle(number + 1)}});
}
function reveal_page()
{
	new Effect.Appear('main_contents');
}
