//ändringar genomförda i grevens tid 8/11 i nådens år 2000 ad
//principen är att sidor som använder nedanstående fejdar och slajdar
//sätter i sidan vilka layer-namn som ska användas. Dessa är...
//		fadeLayer
//		scrollLayer1
//		scrollLayer2
//	dessutom kan man sätta lagren som innehåller texterna, men dessa sätts default till "under"+[scrollLayer1] etc...
//alltså...

var fadeLayer="pendiv"
var scrollLayer1="divscrollruta",scrollLayer2="divscrollruta2"
//var underLayer1="under"+scrollLayer1,underLayer2="under"+scrollLayer2
var underLayer1="divtext",underLayer2="divtext2"

//i mallsidor som har underkapitel används följande variabler... addText=true ifall det ska läggas till "nextChapter" efter kamboxarna
var addText=false,nextChapter="",prevChapter="",nextLink="",prevLink="",prevId=null,nextId=null

var penh=0,t,interval=10,fadeInterval=50,isRun=false
var increment=2

var doLayer;
var doFader;
var range1;
var range2;
var IE = false;
var NS4 = false;
var NS6 = false;
//------------------- NS6 - NS4 - IE4 - IE5 -------------------------
	if(navigator.appName.indexOf("Netscape")!= -1){
		doFader = false;
		if(navigator.userAgent.indexOf("Netscape6")!= -1){
			// Netscape version 6
			range1 	 = "getElementById(";
			range2 	 = ")";
			styleObj = ".style";
			doLayer = false;
			NS6 = true;
			increment=8 // "Ner-rullning av bilden" - Hastighet
			interval=20 // "Bläddring" - Hastighet
		} else {
			// Netscape - INTE version 6
			range1 	 = "layers.";
			range2 	 = "";
			styleObj = "";
			doLayer = true;
			NS4 = true;
			interval=5 // "Bläddring" - Hastighet
		}
		doFader = false;
	} else {
		// INTE Netscape - Förhoppningsvis Internet Explorer 5 ;-)
		range1 	 = "all.";
		range2 	 = "";
		styleObj = ".style";
		doLayer = false;
		doFader = true;
		IE = true;
	}

function getObj(obj,stil) {
	var tmpObj;
	if (typeof obj == "string" && obj != "") {
		if(range2==""){
			if(stil){
				tmpObj = eval("document." + range1 + obj + range2 + styleObj)
			} else {
				tmpObj = eval("document." + range1 + obj + range2)
			}
		} else {
			if(stil){
				tmpObj = eval("document." + range1 + "\"" + obj + "\"" + range2 + styleObj)
			} else {
				tmpObj = eval("document." + range1 + "\"" + obj + "\"" + range2)
			}
		}
	}
	else {
		tmpObj = obj;
	}
	
	if(tmpObj){
		var xp = tmpObj;
	} else {
		var xp = "Not An Object";
	}
	return xp;
}
//------------------- NS6 - NS4 - IE4 - IE5 -------------------------
var h=220 //ruthöjden sätts här och i stylesheetet 
var dy=20 //stegvis förflyttning
var current,pages=1,pos=0,pageNr=1,pageMax=1,spill,left,right,end=false,begin=true,loop=false,isInited=false,counter=0
var varY=0,varY2=0;
var scrollSize,boxHeight

var lineheight=15,pictureheight=47

var txt=""

var ms=0,timerOn=false
var isFading

function goForObj(){
	alert(typeof(QuarterPloppen))
}

function init(){
	//window.status="divvarna är: "+scrollLayer1+","+scrollLayer2+","+underLayer1+","+underLayer2+","+fadeLayer
	counter+=1

	if (isInited){
		//window.status=counter
		return
	} else {
		k=setTimeout("delayInit("+counter+")",1000)
	}
}

function pluttaIn(){
	var a=new Image()
	a.src="/img/nav/pg_mark_1.gif"
	var b=new Image()
	b.src="/img/nav/pg_mark_2.gif"
	var c=new Image()
	c.src="/img/nav/pg_mark_3.gif"
	document.all["mark1"].src="/img/nav/pg_mark_1.gif" //a.src
	if (pageMax>1) document.all["mark2"].src="/img/nav/pg_mark_2.gif" //b.src
	document.all["mark3"].src="/img/nav/pg_mark_3.gif" //c.src
}


function layerWrite(lyr,strTxt){
	if (!doLayer){
		getObj(lyr,false).innerHTML = strTxt
	} else {
		//document.layers[lyr].document.open()
		getObj(lyr,false).document.write(strTxt)
		getObj(lyr,false).document.close()
	}
}

function delayInit(lastcounter){     
	clearTimeout(k)         
	if (lastcounter==counter){
		//sidan är förmodligen färdigladdad...
		//alert("färdigladdat vid counter="+counter)
		clearTimeout(k)
		isInited=true
		if (typeof(getObj(scrollLayer1,false))=='object') scrollinit()
		fadeInit()
	} else {
		k=setTimeout("delayInit("+counter+")",1000)
	}
}

function fadeInit(){
	if(fadeLayer!=""){
		//if (isRun) return
		isRun=true
		// if (ns?!document.layers[fadeLayer]:!document.all[fadeLayer)) return
		if (!doFader){
			setTimeout("penstretch(\""+fadeLayer+"\")",interval)
		} else {
			getObj(fadeLayer,true).visibility='visible'
			penfade(fadeLayer);
		}
	}
}

function ieInit(){
	if (!doLayers) fadeInit()
}

function penstretch(thisDiv){
	//clip:rect(top,right,bottom,left)

	if(!doLayer){
		getObj(fadeLayer,true).visibility='visible';
		getObj(fadeLayer,true).clip="rect(0px 410px "+penh+"px 0px)";
	} else {
		getObj(thisDiv,false).visibility='visible';
		// getObj(thisDiv,false).clip.bottom=penh;
	}
	penh+=increment
	if (penh<=283){
		t=setTimeout("penstretch(\""+thisDiv+"\")",interval)
	} else {
		clearTimeout(t)
		done()
	}
}

function penfade(){
	if(fadeLayer!=""){
		high(document.fadeimg)
	}
}

function high(which2){
	theobject=which2
	highlighting=setInterval("highlightit(theobject)",fadeInterval)
}
function low(which2){
	clearInterval(highlighting)
	which2.filters.alpha.opacity=20
}

function highlightit(cur2){
	isFading=true
	if (cur2.filters.alpha.opacity<100){
		cur2.filters.alpha.opacity+=5 // fade hastighet
	} else if (window.highlighting) {
		clearInterval(highlighting)
		isFading=false
		done()
	}
}


//nya 'slajd'-rutiner

var lineheight=15

function scrollinit(){
  if(scrollLayer1!=""){
		if(typeof(initNews)=='function'){
			initNews();
		}
	left=((!doLayer)?getObj(scrollLayer1,false).offsetLeft:getObj(scrollLayer1,false).left)-1;
	right=left+282

	scrollSize = (!doLayer)?getObj(underLayer1,false).offsetHeight:document.layers[scrollLayer1].document.layers[underLayer1].document.height;

	var tmp
	if (scrollSize>h){
		tmp=h%lineheight
		boxHeight=h-tmp
		dy=boxHeight
		h=boxHeight
		tmp=boxHeight //-2
	} else {
		dy=h
		tmp=h
	}	
	
	writePages()
	setLimits(200,pageMax)
	
	//korrigera så att inte text klipps
	if (!doLayer){
		getObj(scrollLayer1,true).clip = "rect(0px 300px "+tmp+"px 0px)"
		getObj(scrollLayer2,true).clip = "rect(0px 300px "+tmp+"px 0px)"
	} else {
		getObj(scrollLayer1,true).clip.bottom=tmp
		getObj(scrollLayer2,true).clip.bottom=tmp
	}
	getObj(scrollLayer1,true).visibility='visible'

	//alert("right"+right+"left="+left)
  }
}

function writePages(){
	if(getObj("ploppar",false)) actualWrite();
}
function actualWrite(){
		pages=((scrollSize-5)/h)+1
	
		var imgs=makeImg(1)
		for (var i=2;i<=pages;i++){
			imgs+=makeImg(i)
		}
		imgs=imgs+makeImg(0)
		pageMax=i-1
		spill=scrollSize-(pageMax-1)*h
		var spacer="<img src='/img/common/1x1_trans.gif' width=26 height=10 alt='' border='0'>"
		var nxt=""
		var prv=""
		if (nextId){
			nxt="<a href='"+nextLink+"' class='cal'><img align='absmiddle' alt='"+nextChapter+"' height='16' width='12' src='/img/nav/kam_arrow_nxt.gif' border='0'></a>"
			prv="<font size='1' face='Verdana' color='666666'>Chapter "+ noThisChapter +" of "+ noOfChapters +"&nbsp;&nbsp;</font><img align='absmiddle' height='16' width='13' src='/img/nav/kam_empty_prv.gif' border='0'>"
		}
		if (prevId){
			prv="<font size='1' face='Verdana' color='666666'>Chapter "+ noThisChapter +" of "+ noOfChapters +"&nbsp;&nbsp;</font><a href='"+prevLink+"' class='cal'><img align='absmiddle' alt='"+prevChapter+"' height='16' width='13' src='/img/nav/kam_arrow_prv.gif' border='0'></a>"
			if (!nextId) nxt="<img align='absmiddle' src='/img/nav/kam_empty_nxt.gif' height='16' width='12' border='0'>"
		}
		if (pageMax>1){
			//alert(fadeLayer)
			layerWrite("ploppar",imgs)
			if (nextId||prevId) layerWrite("chapters",prv+nxt)
			pageOf(1)
				getObj("QuarterPloppen",true).visibility='visible'
			//if (!doLayer) pluttaIn()
		} else if (nextId||prevId){
			layerWrite("chapters",prv+nxt+"<br>")
		}
}

function visaPloppen(){
	getObj("QuarterPloppen",true).visibility='visible'
}

function pageOf(nr){
	layerWrite("divpages","<font size='1' face='Verdana' color='666666'>Page "+nr+" of "+pageMax+"</font>")
}

function makeImg(nr){

	switch (nr){
		case 1:
			return "<a href='javascript:gotoPage("+nr+")'><img name='mark1' src='/img/nav/pg_mark_1.gif' width=12 height=16 alt='' border='0'></a>"
		case 0:
			return "<img name='mark3' src='/img/nav/pg_mark_3.gif' width=1 height=16 alt='' border='0'>"
		default:
			return "<a name='mark2' href='javascript:gotoPage("+nr+")'><img src='/img/nav/pg_mark_2.gif' width=12 height=16 alt='' border='0'></a>"
	}
}

function timerStart(){
	if (timerOn) return
	timerOn=true
	ms=0
	timer=setTimeout("timerRun()",1000)
}

function timerRun(){
	ms+=1000
	if (timerOn){
		timer=setTimeout("timerRun()",1000)
	} else {
		clearTimeout(timer)
	}
}

function timerStop(){
	timerOn=false
}

function slide(interval){
	//if (ms!=0){
	//	interval*=2
	//	ms=0
	//}
	//timerStart()
	var posx=(!doLayer)?getObj(scrollLayer1,false).offsetLeft:getObj(scrollLayer1,false).left;
	//alert("posx="+posx+":right="+right+":left="+left)
	posx+=interval
	if ((posx<right||end)&&(posx>left)){
		getObj(scrollLayer1,true).left=posx
		setTimeout("slide("+interval+")",10)
	} else {
		//timerStop()
		//alert(interval)
			if (interval>0){
				end=true
 				getObj(scrollLayer1,true).zIndex=50
 			slide(-interval)
			} else {
				end=false
				//scrolla första lagret
				gotoPosition(current,"")
				//visa första lagret
					getObj(scrollLayer1,true).left=left+1
					getObj(scrollLayer1,true).zIndex=200
					getObj(scrollLayer2,true).visibility='hidden'
				loop=false
			}			
	}
}

function makeLink(nr){
	return "<a href='javascript:gotoPage("+nr+")'>"+nr+"</a>"
}

function gotoPage(nr){
	if (nr>pageMax) nr=pageMax
	if (loop) return
	var dpage=nr-pageNr
	
	//write constant "quarterplopp"
	layerWrite("QuarterPloppen","<img src='/img/common/page_sqr_constant.gif' width='11' height='14' alt='' border='0'>")

	if (dpage==0) return
	loop=true
	//if (nr==pageMax||pageNr==pageMax){
	//	if (dpage<0){
	//		current=h*(dpage+1)-spill
	//	} else {
	//		current=h*(dpage-1)+spill
	//	}
	//} else {
		current=h*dpage
	//}
	pageNr=nr
		getObj(scrollLayer2,true).visibility='visible'
	pageOf(nr)
	gotoPosition(current,"2")
	slide(interval)
	movePlopp(nr)
}

function sublayerWrite(lyr1,lyr2,txt){
	if (!doLayer){
		getObj(lyr2,false).innerHTML = txt
	} else {
		var lyrdoc=getObj(lyr1,false).document.layers[lyr2].document
		//lyrdoc.open()
		lyrdoc.write(txt)
		lyrdoc.close()
	}
}

function moveIt(y){
	varY=y
	if (!doLayer){
		getObj(underLayer1,true).top = varY;
	} else {
		getObj(scrollLayer1,false).document.layers[underLayer1].top = varY;
	}
}

function moveItLyr(y,lyrnr){
	//alert("flytta lager "+lyrnr+" "+y+" positioner")
	var tmpLyr,tmpUnd
	if (lyrnr==""){
		varY=y
		tmpLyr=scrollLayer1
		tmpUnd=underLayer1
	} else {
		varY2=y
		tmpLyr=scrollLayer2
		tmpUnd=underLayer2
	}
	if (!doLayer){
		getObj(tmpUnd,true).top = y;
	} else {
		getObj(tmpLyr,false).document.layers[tmpUnd].top=y
	}
}

function gotoPosition(move,nr){
	var refy
	if (nr==''){
		refy=varY
	} else {
		refy=varY2
	}
	if (move<0){
		moveItLyr(refy-move,nr)
		//moveIt(varY-move)
	} else {
		moveItLyr(refy-move,nr)
		//moveIt(varY-move)
	}
}

function done(){
	var showhelp=false
	if (!getCookie("help")) showhelp=true
	if (pageMax>=8&&showhelp){
		winHelp = window.open("/long_text.asp" , "winhelp", "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=500,height=110");
		winHelp.focus()
	}
}

function getCookie (name) {
	var dcookie = document.cookie; 
	var cname = name + "=";
	var clen = dcookie.length;
	var cbegin = 0;
	        while (cbegin < clen) {
	        var vbegin = cbegin + cname.length;
	                if (dcookie.substring(cbegin, vbegin) == cname) { 
	                var vend = dcookie.indexOf (";", vbegin);
	                        if (vend == -1) vend = clen;
	                return unescape(dcookie.substring(vbegin, vend));
	                }
	        cbegin = dcookie.indexOf(" ", cbegin) + 1;
	                if (cbegin == 0) break;
	        }
	return null;
}

function setCookie (name, value, expires) {
		var yr=(new Date()).getFullYear()
		yr++
		yr+=""
		yr=yr.substr(2,2)
        if (!expires) expires = "Thu, 01-Jan-"+yr+" 00:00:01 GMT";
			document.cookie = name + "=" + escape (value) + "; expires=" + expires +  "; path=/";
}

function delCookie (name) {
	var expireNow = new Date();
	document.cookie = name + "=" + "; expires=Thu, 01-Jan-70 00:00:01 GMT; path=/";
}

function dayAdd(theDate){
	var oneMinute=60*1000
	var oneHour=oneMinute*60
	var oneDay=oneHour*24
	
	var targetDate=theDate
	var dateInMs=targetDate.getTime()
	dateInMs+=oneDay
	targetDate.setTime(dateInMs)
	return targetDate
}
