// Arrays som brukes til filtrering
var stillingerFilterElements = ['row']; // Array (of String)
var stillingerFilterIDs = []; // Array (of integer)
var stillingerFilterList = []; // Three-dimensional array (of Boolean)
var stillingerFilterSet = [[1,1,1,1,1,1],[1,1,1,1,1]]; // Two-dimensional array (of Boolean)
// -> Set 0.0: Fast stilling
// -> Set 0.1: Sommerjobb
// -> Set 0.2: Trainee
// -> Set 0.3: Diplomoppgave
// -> Set 0.4: Deltid
// -> Set 0.5: Annet

// -> Set 1.0: 1. klasse
// -> Set 1.1: 2. klasse
// -> Set 1.2: 3. klasse
// -> Set 1.3: 4. klasse
// -> Set 1.4: 5. klasse

var stillingstypeAntall = 6;
var klasseAntall = 5;

// Denne funksjonen initialiserer filter-arrays
function stillingerFilterInitialize(inFilterIDs, inFilterList) {
	stillingerFilterIDs = inFilterIDs;
	stillingerFilterList = inFilterList;
}

// Denne funksjonen viser stillingstyper
// index = {0,1,2,3,4,5}
function filtrerStillingstype(index) {

    if (index < -1 || index >= stillingstypeAntall) return;

	if (index == -1) {
		// "Alle"-knappen er valgt
		// Slå på "Alle"
		for (i = 0; i < stillingstypeAntall; i++) {
			stillingerFilterSet[0][i] = 1;
       		cssRemoveClass(document.getElementById("stillingstype" + i),"selected");
		}
		cssAddClass(document.getElementById("stillingstypeAlle"),"selected");
	} else {
		// En knapp er valgt
		
		// Er "Alle"-knappen valgt fra før?
		if (cssCheckClass(document.getElementById("stillingstypeAlle"),"selected")) {
             for (i = 0; i < stillingstypeAntall; i++) {
				stillingerFilterSet[0][i] = 0;
	            cssRemoveClass(document.getElementById("stillingstypeAlle"),"selected");
			}
		}

        // Oppdater filterlinjen
  		if (stillingerFilterSet[0][index]) {
			stillingerFilterSet[0][index] = 0;
			
			// Oppdater stilene
			cssRemoveClass(document.getElementById("stillingstype" + index),"selected");
		} else {
			stillingerFilterSet[0][index] = 1;
			
			// Oppdater stilene
			cssAddClass(document.getElementById("stillingstype" + index),"selected");
		}

		// Er alle (eller ingen av) elementene valgt, slå på "Alle"-knappen istedenfor?
		valgt = 0;
		for (i = 0; i < stillingstypeAntall; i++) {
			if (stillingerFilterSet[0][i] == 1) {
				valgt++;
			}
		}
		if (valgt == 0 || valgt == stillingstypeAntall) {
            cssAddClass(document.getElementById("stillingstypeAlle"),"selected");
            for (i = 0; i < stillingstypeAntall; i++) {
				stillingerFilterSet[0][i] = 1;
	            cssRemoveClass(document.getElementById("stillingstype" + i),"selected");
			}
		}
	}

	// Oppdaterer listen
	jsFilter(stillingerFilterElements, stillingerFilterIDs, stillingerFilterSet, stillingerFilterList);

	// Returner false så vi ikke følger etter linken
	return false;
}

// Denne funksjonen viser stillinger aktuelle for spesifikke klasser
// index = {0,1,2,3,4}
function filtrerStillingKlasse(index) {

    if (index < -1 || index >= klasseAntall) return;

	if (index == -1) {
		// "Alle"-knappen er valgt
		// Slå på "Alle"
		for (i = 0; i < klasseAntall; i++) {
			stillingerFilterSet[1][i] = 1;
       		cssRemoveClass(document.getElementById("klasse" + i),"selected");
		}
		cssAddClass(document.getElementById("klasseAlle"),"selected");
	} else {
		// En knapp er valgt
		
		// Er "Alle"-knappen valgt fra før?
		if (cssCheckClass(document.getElementById("klasseAlle"),"selected")) {
             for (i = 0; i < klasseAntall; i++) {
				stillingerFilterSet[1][i] = 0;
	            cssRemoveClass(document.getElementById("klasseAlle"),"selected");
			}
		}

        // Oppdater filterlinjen
  		if (stillingerFilterSet[1][index]) {
			stillingerFilterSet[1][index] = 0;
			
			// Oppdater stilene
			cssRemoveClass(document.getElementById("klasse" + index),"selected");
		} else {
			stillingerFilterSet[1][index] = 1;
			
			// Oppdater stilene
			cssAddClass(document.getElementById("klasse" + index),"selected");
		}

		// Er alle (eller ingen av) elementene valgt, slå på "Alle"-knappen istedenfor?
		valgt = 0;
		for (i = 0; i < klasseAntall; i++) {
			if (stillingerFilterSet[1][i] == 1) {
				valgt++;
			}
		}
		if (valgt == 0 || valgt == klasseAntall) {
            cssAddClass(document.getElementById("klasseAlle"),"selected");
            for (i = 0; i < klasseAntall; i++) {
				stillingerFilterSet[1][i] = 1;
	            cssRemoveClass(document.getElementById("klasse" + i),"selected");
			}
		}
	}

	// Oppdaterer listen
	jsFilter(stillingerFilterElements, stillingerFilterIDs, stillingerFilterSet, stillingerFilterList);

	// Returner false så vi ikke følger etter linken
	return false;
}
