var maks_antall_favorittspill = 10;
var maks_antall_sist_spilte_spill = 10;
var favorittspill_array = new Array();
var spilte_spill_array = new Array();

function hent_kake(kakenavn){
	// Returnerer navngitt kakestreng eller false
	var alle_kaker = document.cookie;
	if (alle_kaker == "") return false;
	var start = alle_kaker.indexOf(kakenavn + '=');
	if (start == -1) return false;
	start += kakenavn.length + 1;
	var end = alle_kaker.indexOf(';', start);
	if (end == -1) end = alle_kaker.length;
	var cookieval = alle_kaker.substring(start, end);
	if (cookieval)	{
		return(cookieval);
	} else {
		return false;
	}
}
function lag_liste(streng){
	if (streng)	return streng.split('|');
	return [];
}

favorittspill_array = lag_liste(hent_kake('favoritter'));
spilte_spill_array = lag_liste(hent_kake('spilte_spill'));

function oppdater_antall_favoritter(){	
	document.getElementById('antall_favoritter').innerHTML = "Favoritter: " + favorittspill_array.length;
}
function oppdater_favorittkake(){
	var theDate = new Date();
	var oneYearLater = new Date( theDate.getTime() + 31536000000 );
	var expiryDate = oneYearLater.toGMTString();
	document.cookie = 'favoritter' + "=" + favorittspill_array.join('|') + "; expires=" + expiryDate + "; path=/;";	
}
function oppdater_spilte_spillkake(){
	var theDate = new Date();
	var oneYearLater = new Date( theDate.getTime() + 31536000000 );
	var expiryDate = oneYearLater.toGMTString();
	document.cookie = 'spilte_spill' + "=" + spilte_spill_array.join('|') + "; expires=" + expiryDate + "; path=/;";
}
function legg_til_favoritt(id){
	if (favorittspill_array && favorittspill_array.length >= maks_antall_favorittspill){
		alert('Favorittlisten din er full.');
		return false;
	}
	if (isNaN(id)){
		alert('Ukjent format på id "' + id + '".');
		return false;
	}
    for(var i=0; i < favorittspill_array.length; i++){
		if (favorittspill_array[i] == id){
			alert("Dette spillet er allerede blant favorittene dine.");
			return false;
		}		
	}
	var lagt_til = favorittspill_array.unshift(id);
	oppdater_favorittkake();
	//alert("La til spill med id " + id + " i favorittlista.");
}
function spilt(id){
	if (isNaN(id)){
		return false;
	}
	// Finnes spillet i lista fra før? I så fall legger vi det bare på topp av lista igjen.
    if (spilte_spill_array){    
		for(var i=0; i < spilte_spill_array.length; i++){
			if (spilte_spill_array[i] == id){	
				var lagt_til = spilte_spill_array.unshift(spilte_spill_array.splice(i,1));
				oppdater_spilte_spillkake();
				//alert("Flyttet spill med id " + id + " øverst i lista over spilte spill.");
				return id;
			}		
		}
	}
	var lagt_til = spilte_spill_array.unshift(id);
	while (spilte_spill_array.length > maks_antall_sist_spilte_spill){
		var fjernet = spilte_spill_array.pop();
		oppdater_spilte_spillkake();
		//alert("Fjernet spill med id " + fjernet + " fra bunn av lista over spilte spill.");
	}
	oppdater_spilte_spillkake();
	//alert("La til spill med id " + id + " i lista over spilte spill.");
}

function fjern_favoritt(id){
    for(var i=0; i < favorittspill_array.length; i++){
		if (favorittspill_array[i] == id){
			fjernet = favorittspill_array.splice(i,1);
			oppdater_favorittkake();
			//alert("Fjernet spill med id " + fjernet + " fra favorittlista.");
		}		
	}
}
function fjern_spilt(id){
    for(var i=0; i < spilte_spill_array.length; i++){
		if (spilte_spill_array[i] == id){
			fjernet = spilte_spill_array.splice(i,1);
			oppdater_spilte_spillkake();
			//alert("Fjernet spill med id " + fjernet + " fra lista over spilte spill.");
		}		
	}
}
function traverser(node_id) {
	if (document.getElementById(node_id).nodeType == 1){
		var barn = document.getElementById(node_id).childNodes;
		var verdier = "";
		for (var i=0; i < barn.length; i++){
			var spill_id =  barn[i].id.replace(/\D/g, "");
			verdier += spill_id + '|';
		}
		verdier = verdier.substring(0, verdier.length-1);
		document.cookie = kakenavn + "=" + verdier;	
		oppdater_favoritter();
	}
}
function kakeinnhold(){
	if (cookieval){
		document.getElementById('kakeinnhold').innerHTML = cookieval;
	} else {
		document.getElementById('kakeinnhold').innerHTML = "";
	}
}
