/*
Skrevet av: Tom Espen Pedersen
23. Mar 2007

Basert på kode skrevet av Netlobo.com : http://www.netlobo.com/div_hiding.html

document.getElementById = Standard metode, FireFox, Opera, IE7 og nyere browsere.
document.all = Eldre versjoner av IE
document.layers = Eldre versjoner av Netscape

Bugs / muligheter for forbedring:
Bug - Dersom man merker "Flere felter" og holder enter inne virker det som om den kaller more() fler ganger enn 9 og less() funksjonen virker ikke korrekt.
	Dette bør kunne løses ved bedre sjekking av maks antall felter

Forbedring - Skriptet er litt stort og kan optimaliseres bedre bed å bruke en funksjon som tar seg av browser kompatibelitet på en bedre måte.
	Har ikke hatt tid til å gjøre dette enda.
Forbedring - Skriptet er litt statisk enda, kan/bør løses med loops.
	Har ikke hatt tid til å gjøre dette enda.
*/

// variabler
var fields = 9; // Maks antall felter
var curr = 1; // Dette feltet

function chk() {
	// Gjemme "Færre felter" dersom bare 1 felt vises - default
	if (curr == 1) {
	var divless = 'less';
	var divmore = 'more';
		if (document.getElementById) {
			document.getElementById(divless).style.display = "none";
			document.getElementById(divmore).style.display = "inline";
		}
		else if (document.all) {
			document.all[divless].style.display = "none";
			document.all[divmore].style.display = "inline";
		}
		else if (document.layers) {
			document.layers[divless].style.display = "none";
			document.layers[divmore].style.display = "inline";
		}
	}
	
	// Gjemme "Flere felter" dersom 9 felt vises
	else if (curr == 9) {
	var divless = 'less';
	var divmore = 'more';
		if (document.getElementById) {
			document.getElementById(divless).style.display = "inline";
			document.getElementById(divmore).style.display = "none";
		}
		else if (document.all) {
			document.all[divless].style.display = "inline";
			document.all[divmore].style.display = "none";
		}
		else if (document.layers) {
			document.layers[divless].style.display = "inline";
			document.layers[divmore].style.display = "none";
		}
	}
	// Vise "Flere felter" og "Færre felter" om vi ikke viser 1 eller 9 felter
	else {
	var divless = 'less';
	var divmore = 'more';
		if (document.getElementById) {
			document.getElementById(divless).style.display = "inline";
			document.getElementById(divmore).style.display = "inline";
		}
		else if (document.all) {
			document.all[divless].style.display = "inline";
			document.all[divmore].style.display = "inline";
		}
		else if (document.layers) {
			document.layers[divless].style.display = "inline";
			document.layers[divmore].style.display = "inline";
		}
	}
}

// Initialisere visningen, gjemme alle felter bortsett fra første - denne kalles aldrig dersom brukeren ikke har JavaScript aktivert og alle felter vises, "Flere felter" og "Færre felter" vises ikke.
function init() {
	var venn2 = 'venn2';
	var venn3 = 'venn3';
	var venn4 = 'venn4';
	var venn5 = 'venn5';
	var venn6 = 'venn6';
	var venn7 = 'venn7';
	var venn8 = 'venn8';
	var venn9 = 'venn9';
	var morediv = 'more';
	
	if (document.getElementById) {
		document.getElementById(venn2).style.display = "none";
		document.getElementById(venn3).style.display = "none";
		document.getElementById(venn4).style.display = "none";
		document.getElementById(venn5).style.display = "none";
		document.getElementById(venn6).style.display = "none";
		document.getElementById(venn7).style.display = "none";
		document.getElementById(venn8).style.display = "none";
		document.getElementById(venn9).style.display = "none";
		document.getElementById(morediv).style.display = "inline";
	}
	else if (document.all) {
		document.all[venn2].style.display = "none";
		document.all[venn3].style.display = "none";
		document.all[venn4].style.display = "none";
		document.all[venn5].style.display = "none";
		document.all[venn6].style.display = "none";
		document.all[venn7].style.display = "none";
		document.all[venn8].style.display = "none";
		document.all[venn9].style.display = "none";
		document.all[morediv].style.display = "inline";
	}
	else if (document.layers) {
		document.layers[venn2].style.display = "none";
		document.layers[venn3].style.display = "none";
		document.layers[venn4].style.display = "none";
		document.layers[venn5].style.display = "none";
		document.layers[venn6].style.display = "none";
		document.layers[venn7].style.display = "none";
		document.layers[venn8].style.display = "none";
		document.layers[venn9].style.display = "none";
		document.layers[morediv].style.display = "inline";
	}
}

chk();


// Vis et felt til
function more() {
curr++;
var whichLayer = 'venn' + curr;

	if (document.getElementById)
	{
	// this is the way the standards work
	var style2 = document.getElementById(whichLayer).style;
	style2.display = "block";
	}
	else if (document.all)
	{
	// this is the way old msie versions work
	var style2 = document.all[whichLayer].style;
	style2.display = "block";
	}
	else if (document.layers)
	{
	// this is the way nn4 works
	var style2 = document.layers[whichLayer].style;
	style2.display = "block";
	}
	chk(); // sjekk om vi er ved første eller siste
}

// Gjem siste felt
function less() {
var whichLayer = 'venn' + curr;

	if (document.getElementById)
	{
	// this is the way the standards work
	var style2 = document.getElementById(whichLayer).style;
	style2.display = "none";
	}
	else if (document.all)
	{
	// this is the way old msie versions work
	var style2 = document.all[whichLayer].style;
	style2.display = "none";
	}
	else if (document.layers)
	{
	// this is the way nn4 works
	var style2 = document.layers[whichLayer].style;
	style2.display = "none";
	}
	curr--;
	chk(); // sjekk om vi er ved første eller siste
}
