var onskebokRader = new Array();
var prodstate = 0;
var prodanim = 0;
var obdebug = 1;
var currentpage = 0;
var currentliste = 0;
var expectedHash = "";
var hashArray = new Array();
var historyEnable = 1;
var isIE=(navigator.appName.indexOf("Microsoft") != -1 ) ? 1 : 0 ;
var isSafari = (navigator.appName.indexOf("Safari") != -1) ? 1 : 0 ;

function onskebokLastLister( id , mine ) {

	currentpage = id;
	onskebokShowLaster();

	makeHistory( "lister_" + id + "_" + mine );
	
	var url = '/index.php';		
	var pars = 'action=onskebok&stopscript=lister&id=' + id + '&mine=' + mine;
	var myAjax = new Ajax.Request( url, { method: 'get', parameters: pars, onComplete: showOnskebokListeResponse, onFailure: reportOnskebokListeError });

	return 1;
}

function onskebokLastListe( id ) {

	onskebokShowLaster();

	makeHistory("liste_" + id);

	var url = '/index.php';		
	var pars = 'action=onskebok&stopscript=vis&id=' + id;
	var myAjax = new Ajax.Request( url, { method: 'get', parameters: pars, onComplete: showOnskebokListeResponse, onFailure: reportOnskebokListeError });

	return 1;
}

function showOnskebokListeResponse( txt ) {

	/*
		Viser loginskjema hvis bruker ikke har tilgang
	*/
	if( txt.responseText.indexOf("force_listelogin") > 0 ) {
		onskebokListeLogin( txt.responseText.substring(0,txt.responseText.indexOf(" ")) , 0 );
		txt.responseText = 'disable';
	}
	

	/*
		Viser svar
	*/
	if(txt.responseText != 'disable') {
		document.getElementById("onskebokListeContainer").innerHTML = txt.responseText;
	}

	/*
		Skjuler meldingsContainer
	*/
	if(txt.responseText.indexOf("onskebokRedigerProdukterMelding") > 0) {
		
		Element.hide( document.getElementById("onskebokRedigerProdukterMelding") );
		
	}
	
	/*
		Laster produkter for liste (rediger)
	*/
	if( txt.responseText.indexOf("onskebokRedigerProdukterContainer") > 0 ) {

		if( currentliste == 0 ) {
			
			currentliste = document.getElementById("frmOnskebokId").value;
			
		}

		onskebokProduktListeRediger( currentliste );

	}
	
	/*
		Forklarer hvorfor listen tvangsvises
	*/
	if( txt.responseText.indexOf("onskebokTvangsvis") > 0 ) {
	
		try {
			onskebokShowTilbakemelding( document.getElementById("onskebokTvangsvis").value , 0 );
		} catch(Error) {}
		
	}
	/*
		Laster liste hvis logget ut
	*/
	if( txt.responseText.indexOf("Du er nå logget ut") > 0 ) {
		onskebokLastLister( currentpage , 0 );
	}

	

}

function reportOnskebokListeError( txt ) {

}

function onskebokListeLogin(id) {
	
	var url = '/index.php';		
	var pars = 'action=onskebok&stopscript=loginform&id=' + id + '&menuid=' + currentpage;
	var myAjax = new Ajax.Request( url, { method: 'get', parameters: pars, onComplete: showOnskebokListeResponse, onFailure: showOnskebokListeResponse });
	
}

function showOnskebokListeLogin(txt) {

}

function onskebokLogin(id) {

	makeHistory("listelogin_" + id);
	
	var passord = document.getElementById("frmOnskePassord").value;

	var url = '/index.php';		
	var pars = 'action=onskebok&stopscript=login&passord=' + Url.encode( passord ) + '&liste=' + id;
	var myAjax = new Ajax.Request( url, { method: 'post', parameters: pars, onComplete: showOnskebokLogin, onFailure: showOnskebokLogin });

	return false;

}

function showOnskebokLogin(txt) {

	var i = txt.responseText.substring(0,txt.responseText.indexOf(" "));
	var s = txt.responseText.substring(txt.responseText.indexOf(" "),txt.responseText.length);

	if( i > 0 ) {
	
		onskebokLastListe(i);
		
	}
	
	mwLogg("Logger inn for liste: " + i + " - " + s);

}

function onskelisteSok(str) {
	var display = "table-row";

	if (isIE == 1)
		display = "block";

		
		for( var i = 0; i <= onskebokRader.length; i++ ) {
	
			if(onskebokRader[i] != null) {
				
				try {
				var id = onskebokRader[i].substring( 0 , onskebokRader[i].indexOf(" ") );
			
			
				if( onskebokRader[i].toLowerCase().indexOf(str.toLowerCase()) > 0 || str == '' ) {
					
					document.getElementById("ob" + id).style.display = display;

				} else {
					
					document.getElementById("ob" + id).style.display = 'none';
		
				}
				} catch(Error) {}
			}
		}
}

function onskebokReserver(id) {
	
	if(id > 0) {
		document.getElementById("frmOnskebokReserverId").value = id;
		document.getElementById("onskebokReserverContainer").style.display = "block";
	}
	
}

function onskebokReserverHide() {
	document.getElementById("onskebokReserverContainer").style.display = "none";
}

function onskebokReserverSubmit() {

	var id = document.getElementById("frmOnskebokReserverId").value;
	var kunde = document.getElementById("frmOnskebokReserverEpost").value;

	if(kunde != null && id > 0) {
	
		var url = '/index.php';
		var pars = 'action=onskebok&stopscript=reserver&id=' + id + '&kunde=' + Url.encode( kunde );
		var myAjax = new Ajax.Request( url, { method: 'get', parameters: pars, onComplete: updateListe, onFailure: updateListe });

	}

	onskebokReserverHide()
	
	return false;
}

function onskebokUnReserver(id) {
	
	if(id > 0) {
		document.getElementById("frmOnskebokUnReserverId").value = id;
		document.getElementById("onskebokUnReserverContainer").style.display = "block";
	}
}	

function onskebokUnReserverHide() {
	document.getElementById("onskebokUnReserverContainer").style.display = "none";
}

function onskebokUnReserverSubmit() {

	var id = document.getElementById("frmOnskebokUnReserverId").value;
	var kunde = document.getElementById("frmOnskebokUnReserverEpost").value;

	if(kunde != null && id > 0) {
		
		var url = '/index.php';		
		var pars = 'action=onskebok&stopscript=reserver&id=' + id + '&kunde=' + Url.encode( kunde ) + '&fjern=1';
		var myAjax = new Ajax.Request( url, { method: 'get', parameters: pars, onComplete: updateListe, onFailure: updateListe });
		
	}

	onskebokUnReserverHide();

	return false;
}

function updateListe(txt) {
	if( txt.responseText != '' ) {

		var t = txt.responseText;
	
		var id = t.substring( 0 , t.indexOf(" ") );
		var melding = t.substring( t.indexOf(" ") + 1 , t.length );

		if( melding != '') {
			alert(melding);
		}

		onskebokLastListe(id);
	}
}

function onskebokRediger(id) {
	
	makeHistory("rediger_" + id);
	onskebokShowLaster();
	
	var url = '/index.php';		
	var pars = 'action=onskebok&stopscript=rediger&id=' + id + '&parent=' + currentpage;
	var myAjax = new Ajax.Request( url, { method: 'get', parameters: pars, onComplete: showOnskebokListeResponse, onFailure: showOnskebokListeResponse });

	currentliste = id;
	
	return 1;
}

function onskebokLagreListe() {
	
	var id 			= document.getElementById("frmOnskebokId").value;
	var parent 		= currentpage;
	var tittel 		= document.getElementById("frmTittel").value;
	var innhold 	= document.getElementById("frmInnhold").value;
	var dato 		= document.getElementById("frmDato").value;
	var passord 	= document.getElementById("frmPassord").value;
	var datook = 0;
	
	if( dato.substring(4,5) == "-" && dato.substring(7,8) == "-" && dato.length == 10) {
		
		datook = 1;
		
	}
	
	if(tittel && datook && parent) {
		
		var url = '/index.php';		
		var pars = 'action=onskebok&stopscript=lagreliste&id=' + id + '&tittel=' + Url.encode( tittel ) + '&innhold=' + Url.encode( innhold ) + '&dato=' + Url.encode( dato ) + '&passord=' + Url.encode( passord ) + '&parent=' + parent;
		var myAjax = new Ajax.Request( url, { method: 'post', parameters: pars, onComplete: showOnskebokLagreListe, onFailure: showOnskebokLagreListe });
	
		mwLogg("Lagrer liste: " + tittel + " - dato: " + dato);
	
	} else if(datook == 0) {
		alert("Feil: dato er ikke riktig formatert.");
	} else if(parent != 0) {
		alert("Venligst fyll ut ønskebokens navn");
	} else {
		alert("Feil: mangler parent.");
	}
	return true;
	
}

function showOnskebokLagreListe(txt) {
	
	var id = txt.responseText.substring( 0 , txt.responseText.indexOf(" ") );
	var melding = txt.responseText.substring( txt.responseText.indexOf(" ") + 1 , txt.responseText.length );

	currentliste = id;
	
	if(melding) {
		onskebokRedigerProduktShowMelding(melding);
	}
	
	document.getElementById("frmparent").value = id;
	
	if(document.getElementById("frmOnskebokId").value > 0) {
		onskebokShowNyBruker();
	} else {
		onskebokHideNyBruker();
	}
	
	mwLogg("Redigerer onskebok: " + id);
	
	onskebokRediger(id);
}

function onskebokSlettListe() {
	
	var id = document.getElementById("frmparent").value;
	if(id > 0) {
	
		var url = '/index.php';		
		var pars = 'action=onskebok&stopscript=slettliste&id=' + id;
		var myAjax = new Ajax.Request( url, { method: 'post', parameters: pars, onComplete: showOnskebokSlettListe, onFailure: showOnskebokSlettListe });
	
		mwLogg("Sletter liste: " + id);
	
	} else {
		onskebokLastLister(currentpage,0);
	}
	
}

function showOnskebokSlettListe(txt) {
	
	onskebokLastLister(currentpage,0);
	
}

function onskebokRedigerProdukt( liste , id ) {
	var url = '/index.php';		
	var pars = 'action=onskebok&stopscript=produkt&task=rediger&id=' + id + '&liste=' + liste;
	var myAjax = new Ajax.Request( url, { method: 'get', parameters: pars, onComplete: onskebokLoadValues, onFailure: onskebokLoadValues });
}

function onskebokLoadValues(txt) {
	
	try {
		
		if(prodstate==0) {
			onskebokShowAddProduct();
		}
		
		var keys = new Array();
		var values = new Array();
		
		var t = txt.responseText;
		
		t = t.substring(t.indexOf("(") + 2,t.length);
		
		var k = null;
		var v = null;
		
		for(var i = 0; i <= t.length; i++) {
			
			k = t.substring( 0 , t.indexOf(' => ') ).replace("[","").replace("]","");
			 
			t = t.substring( k.length + 4 , t.length );
			 
			v = t.substring( t.indexOf(">")+1 , t.indexOf("\n") );
			 
			t = t.substring( t.indexOf('[') , t.length);
			//mwLogg("Key = ." + trim(k) + ". - Value = ." + trim(v) + ".");
			 
			if(k.length > 0) {
				 try {
				 	document.getElementById('frm' + trim(k) ).value = trim(v);
				 } catch(Error) {}
			}
			
		}		
		
		onskebokShowAddProduct();
		
		mwLogg(keys);
		
	} catch(Error) {}
	
}

function onskebokSlettProdukt(liste,id) {
	if(confirm("Vil du virkelig fjerne dette produktet fra ønskeboken?")) {

		var url = '/index.php';		
		var pars = 'action=onskebok&stopscript=produkt&task=slett&id=' + id + '&liste=' + liste;
		var myAjax = new Ajax.Request( url, { method: 'get', parameters: pars, onComplete: showOnskebokSlettResponse, onFailure: showOnskebokSlettResponse });
	
		return 1;

	}
	return false;
}

function showOnskebokSlettResponse(txt) {

	var id = txt.responseText.substring( 0 , txt.responseText.indexOf(" ") );
	var melding = txt.responseText.substring( txt.responseText.indexOf(" ") + 1 , txt.responseText.length );

	onskebokProduktListeRediger(id);
	
	if(melding != '') {
		onskebokShowTilbakemelding(melding , 1);
	}

}

function onskebokShowLaster() {
	document.getElementById("onskebokListeContainer").innerHTML = '<div style="padding: 50px 50px;text-align: center;"><h2>Laster innhold</h2></div>';
}

function onskebokProduktListeRediger(id) {

	if(id > 0) {
		var url = '/index.php';		
		var pars = 'action=onskebok&stopscript=listerediger&id=' + id;
		var myAjax = new Ajax.Request( url, { method: 'get', parameters: pars, onComplete: onskebokOppdaterProduktRediger, onFailure: onskebokOppdaterProduktRediger });
	
		return 1;
	}
}

function onskebokOppdaterProduktRediger(txt) {

	try {
		document.getElementById("onskebokRedigerProdukterContainer").innerHTML = txt.responseText;
		
		try {
			if( document.getElementById("onskebokAntallProdukter").value > 0 && document.getElementById("onskebokNyBrukerContainer").style.display=='none') {
				onskebokShowTips();
			} else {
				onskebokHideTips();
			}
			
			if( document.getElementById("onskebokAntallProdukter").value == 0 ) {
				onskebokShowAddProduct();
			}
		} catch(E) {}
	} catch(Error) {}

}

function onskebokLagreProdukt() {

	var id 			= document.getElementById("frmid").value;
	var parent 		= document.getElementById("frmparent").value;
	var vare 		= document.getElementById("frmvare").value;
	var merke 		= document.getElementById("frmmerke").value;
	var beskrivelse = document.getElementById("frmbeskrivelse").value;
	var antall 		= document.getElementById("frmantall").value;
	var pris 		= document.getElementById("frmpris").value;
	var butikk 		= document.getElementById("frmbutikk").value;

	var ok = 1;

	if( ! parent > 0 ) {
		ok = 0;
	}
	else if( trim(vare) == '' ) {
		ok = 0;
	}
	else if( trim(merke) == '' ) {
		ok = 0;
	}
	else if( trim(beskrivelse) == '' ) {
		ok = 0;
	}
	else if( trim(antall) == '' ) {
		ok = 0;
	}
	else if( trim(pris) == '' ) {
		ok = 0;
	}
	else if( trim(butikk) == '' ) {
		ok = 0;
	}
	
	if(ok == 1) {
	
		var url = '/index.php';		
		var pars = 'action=onskebok&stopscript=lagreprodukt&id=' + id + '&parent=' + parent + '&vare=' + Url.encode( vare ) + '&merke=' + Url.encode( merke ) + '&beskrivelse=' + Url.encode( beskrivelse ) + '&antall=' + Url.encode( antall ) + '&pris=' + Url.encode( pris ) + '&butikk=' + Url.encode( butikk );
		var myAjax = new Ajax.Request( url, { method: 'post', parameters: pars, onComplete: onskebokProduktLagret, onFailure: onskebokProduktLagret });
	
		mwLogg("Lagrer produkt: " + id + ' - ' + parent + ' - ' + vare + ' - ' + merke + ' - ' + beskrivelse + ' - ' + antall + ' - ' + pris + ' - ' + butikk);

	} else {

		alert("Feil: produkt mangler informasjon som kreves for å lagre");

	}

	onskebokHideAddProduct();

	return 1;

}

function onskebokProduktLagret(txt) {
	
	if(txt.responseText) {
	
		var id = txt.responseText.substring(0,txt.responseText.indexOf(" "));
		var melding = txt.responseText.substring( txt.responseText.indexOf(" ") , txt.responseText.length);
	

		onskebokResetProdukt();
		onskebokProduktListeRediger(id);
		
		if(melding != '') {
			onskebokShowTilbakemelding(melding,1);
		}

	}

}

function onskebokResetProdukt() {
	document.getElementById("frmid").value		 	= '';
	document.getElementById("frmvare").value	 	= '';
	document.getElementById("frmmerke").value	 	= '';
	document.getElementById("frmbeskrivelse").value = '';
	document.getElementById("frmantall").value	 	= '';
	document.getElementById("frmpris").value	 	= '';
	document.getElementById("frmbutikk").value	 	= '';
	
	return true;
}

function onskebokRedigerProduktShowMelding(txt) {

	try {	
		document.getElementById("onskebokRedigerProdukterMelding").innerHTML = txt;
		new Effect.Appear(document.getElementById("onskebokRedigerProdukterMelding"));
	
		window.setTimeout('onskebokRedigerProduktHideMelding()',5000);
	}catch(Error) {}
}

function onskebokRedigerProduktHideMelding() {

	try {
		new Effect.Fade(document.getElementById("onskebokRedigerProdukterMelding"));
	}catch(Error) {}

}

function onskebokTips(id) {

	onskebokShowLaster();
	
	var url = '/index.php';		
	var pars = 'action=onskebok&stopscript=tips&id=' + id;
	var myAjax = new Ajax.Request( url, { method: 'get', parameters: pars, onComplete: showOnskebokListeResponse, onFailure: showOnskebokListeResponse });
	
	return 1;
}

function onskebokTipsSend() {

	var id = document.getElementById("onskebokTipsId").value;
	var mottakere = document.getElementById("onskebokTipsListe").value;
	
	if( id > 0 && trim( mottakere ) != '' ) {
	
		var url = '/index.php';		
		var pars = 'action=onskebok&stopscript=sendtips&id=' + id + '&mottakere=' + Url.encode( mottakere );
		var myAjax = new Ajax.Request( url, { method: 'post', parameters: pars, onComplete: showOnskebokSendTipsResponse, onFailure: showOnskebokSendTipsResponse });
		

	}
	return false;

}

function showOnskebokSendTipsResponse(txt) {
	
	if( txt.responseText != '' ) {
	
		onskebokShowTilbakemelding(txt.responseText,0);
	
		document.getElementById("onskebokTipsListe").value = '';
	}
	
}

function onskebokShowAddProduct() {

	if( prodanim == 0 && prodstate == 0) {
		prodanim = 1;
		try {
			new Effect.SlideDown("redigerprodukt");
		}catch(Error) {}
		prodstate = 1;
		window.setTimeout("onskebokResetProdAnim()",1000);
	}

}

function onskebokHideAddProduct() {

	if(prodanim == 0 && prodstate == 1) {
		prodanim = 1;
		try {
			new Effect.SlideUp("redigerprodukt");
		}catch(Error) {}
		prodstate = 0;
		window.setTimeout("onskebokResetProdAnim()",1000);
	}
}

function onskebokToggleAddProduct() {
	
	if( prodstate == 0 ) {
		
		onskebokShowAddProduct();
	
	} else {
	
		onskebokHideAddProduct();
	
	}
	
}

function onskebokResetProdAnim() {

	prodanim = 0;

}

function onskebokShowNyBruker() {
	try {
		new Effect.Appear("onskebokNyBrukerContainer");
	}catch(Error) {}
}
function onskebokHideNyBruker() {
	try {
		new Effect.Fade("onskebokNyBrukerContainer");
	}catch(Error) {}
}
/*
############################
Bruker
############################
*/
function onskebokUserLoginForm() {
	
	makeHistory("userlogin_" + currentpage);

	var url = '/index.php';		
	var pars = 'action=onskebok&stopscript=loginuserform&id=' + currentpage;
	var myAjax = new Ajax.Request( url, { method: 'get', parameters: pars, onComplete: showOnskebokListeResponse, onFailure: showOnskebokListeResponse });	
	
}

function onskebokCreateUserForm() {

	var url = '/index.php';		
	var pars = 'action=onskebok&stopscript=nybrukerform&id=' + currentpage;
	var myAjax = new Ajax.Request( url, { method: 'get', parameters: pars, onComplete: showOnskebokListeResponse, onFailure: showOnskebokListeResponse });	

}


function onskebokUserLogin() {
	
	var epost = document.getElementById("frmOnskebokBruker").value
	var passord = document.getElementById("frmOnskebokPassord").value
	
	if(epost != '' && passord != '') {
		var url = '/index.php';		
		var pars = 'action=onskebok&stopscript=loginuser&bruker=' + Url.encode( epost ) + '&passord=' + Url.encode( passord ) + '&id=' + currentpage;
		var myAjax = new Ajax.Request( url, { method: 'post', parameters: pars, onComplete: showOnskebokListeResponse, onFailure: showOnskebokListeResponse });	
	} else {
		alert("Feil: mangler informasjon.");
	}
	return false;
}

function showOnskebokUserLogin(txt) {

}

function onskebokUserLogout() {
	var url = '/index.php';		
	var pars = 'action=onskebok&stopscript=logout';
	var myAjax = new Ajax.Request( url, { method: 'post', parameters: pars, onComplete: showOnskebokListeResponse, onFailure: showOnskebokListeResponse });	
}

function onskebokCreateUser() {

	try {
		var navn = document.getElementById("frmNyNavn").value;
		var epost = document.getElementById("frmNyEpost").value;
		var passord = document.getElementById("frmNyPassord").value;
		//	var curliste = document.getElementById("frmparent").value;
	
		if(document.getElementById("frmNyNyhetsbrev").checked == true) {
			
			var nyhetsbrev = document.getElementById("frmNyNyhetsbrev").value;
			
		} else {
			
			var nyhetsbrev = 0;
			
		}
	
		if(navn == '') {
			alert("Venligst fyll inn ditt navn.");
		} 
		
		else if(epost == '') {
			alert("Venligst fyll inn din e-post.");
		}
		
		else if( passord.length < 4 ) {
			alert("Venligst fyll inn ditt passord (minst 5 tegn).");
		}
		
		else {
	
			var url = '/index.php';		
			var pars = 'action=onskebok&stopscript=lagrebruker&navn=' + Url.encode(navn) + '&passord=' + Url.encode(passord) + '&epost=' + Url.encode(epost) + '&nb=' + nyhetsbrev;
			var myAjax = new Ajax.Request( url, { method: 'post', parameters: pars, onComplete: showOnskebokCreateUser, onFailure: showOnskebokCreateUser });	
			
			mwLogg("Oppretter bruker: " + navn + " - " + epost + " - " + passord + ' - ' + nyhetsbrev);
	
		}
	} catch(Error) {
		alert("Feil: kunne ikke sende skjema.");
	}
	
	return false;
}

function showOnskebokCreateUser(txt) {
	
	var id = txt.responseText.substring( 0 , txt.responseText.indexOf(" ") );
	var melding = txt.responseText.substring( txt.responseText.indexOf(" ") + 1 , txt.responseText.length );
	var ret = document.getElementById("frmReturn").value;
	
	if(melding != '') {
		alert(melding);
	}

	if(id > 0) {
		
		if( ret == "rediger" ) {
			
			onskebokHideNyBruker();
			onskebokShowTips();
			
		} else {
		
			onskebokLastLister(currentpage,0);
		
		}
		
	} else {
		onskebokLastLister(currentpage,0);
	}

	
}

function onskebokUserPassword() {

	var epost = document.getElementById("frmOnskebokBruker").value;

	if(epost != '') {
	
		var url = '/index.php';		
		var pars = 'action=onskebok&stopscript=brukerpassord&epost=' + Url.encode( epost ) + '&id=' + currentpage;
		var myAjax = new Ajax.Request( url, { method: 'post', parameters: pars, onComplete: showOnskebokUserPassword, onFailure: showOnskebokUserPassword });	
		
		mwLogg("Sender passord til: " + epost);
	
	} else {
		alert("Venligst skriv inn din e-post adresse.");
	}
}

function showOnskebokUserPassword(txt) {
	
	var id = txt.responseText.substring(0,txt.responseText.indexOf(" "));
	var melding = txt.responseText.substring(txt.responseText.indexOf(" ") + 1 , txt.responseText.length );
	
	if(id > 0) {
		
		if(melding != '') {
			alert(melding);
		}
		
		onskebokLastLister(id,0);
		
	}
}

function onskebokShowTips() {
	try {
		new Effect.Appear("onskebokTipsContainer");
	}catch(Error) {}
}

function onskebokHideTips() {
	try {
		new Effect.Fade("onskebokTipsContainer");
	}catch(Error) {}
}

function onskebokShowTilbakemelding(txt,autohide) {
	try {
		
		document.getElementById("onskebokTilbakemeldingInsideContainer").innerHTML = txt;
		
		new Effect.Appear("onskeboktTilbakemeldingContainer");
		
		if(autohide == 1) {
			window.setTimeout("onskebokHideTilbakemelding()",5000);
		}
		
	}catch(Error) {}
}

function onskebokHideTilbakemelding() {
	try {
		new Effect.Fade("onskeboktTilbakemeldingContainer");
	}catch(Error) {}
}

// #####################################################################
// Nytte funksjoner
// #####################################################################
function onskebokPing(id) {

	var url = '/index.php';		
	var pars = 'action=ajax&stopscript=ping&id=' + id;
	var myAjax = new Ajax.Request( url, { method: 'post', parameters: pars, onComplete: showOnskebokPing, onFailure: showOnskebokPing });	

	window.setTimeout( 'onskebokPing()' , 100000 );
}

function showOnskebokPing(txt) {}

function mwLogg(txt) {
	try {
		if(obdebug==1) {
			console.log(txt);
		}
	} catch(Error) {}
}

function trim(str, chars) {
    return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

function rtrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}
// #####################################################################
// History handler
// #####################################################################
function onskebokHandleHistory(txt) {
	
	var tid = 0;
	
	var p = 0;
	
	if(txt.length) {
	
		var cmd = txt.substring(0,txt.indexOf("_"));
		var param = txt.substring(txt.indexOf("_") + 1 , txt.length);
		
		historyEnable = 0;
	
		if( cmd == "liste") {
		
			if(param > 0) {
				onskebokLastListe( param );
			}
			mwLogg("Back: laster liste: " + param);
		
			p = hashArray.pop();
		
		}
		
		else if( cmd == "lister" || cmd=='') {

			var m = param.substring( param.indexOf("_") +1 , param.length);
	
			if(currentpage> 0) {
				onskebokLastLister(currentpage , m);
			}
		
			p = hashArray.pop();
	
		}
	
		else if( cmd == "rediger") {
		
			onskebokRediger(param);
		
			p = hashArray.pop();
	
		}
		
		historyEnable = 1;
	
		backHistory();	
	
		mwLogg( "Action: " + cmd + " - Param: " + param);
	}
	
}

function makeHistory2(newHash){

	if(historyEnable == 1) {
		mwLogg("makeHistory(" + newHash + ")");
		window.location.hash = '#' + newHash;
		expectedHash = window.location.hash;
		
		try {
			//document.all.getElementById("onskebokIF").src = window.location.href + newHash;
		}catch(Error) {}
		
		hashArray.push(newHash);
	}
	return true;
}

function backHistory() {

	if(hashArray.length > 0) {
		window.location.hash = hashArray.pop();
		expectedHash = window.location.hash;
		mwLogg("New hash = " + expectedHash);
	}

}

function handleHistory(){

	if ( window.location.hash != expectedHash )  {
		expectedHash = window.location.hash;
		onskebokHandleHistory( expectedHash );
	}
	
	if(isIE) {
		
		var t = window.location.href;
		var cmd = t.substring(0,t.indexOf("#") - 1);
		var param = t.substring(t.indexOf("#") , t.length);
		
		if(param != expectedHash) {
			expectedHash = param;
			onskebokHandleHistory( param );
		}		
	}
	return true;
}

function pollHash() {
	handleHistory();
	window.setInterval("handleHistory()", 1000);
	return true;
}