var dx=0,dy=0,hx=0,hy=0,i_info=-1
var info=new Array()
var voorladen=new Array()

function initScroll(){
	document.write('<div id="achtergrond" class="scroll">&nbsp;</div>')
	document.write('<div id="voorgrond" class="scroll">&nbsp;</div>')
}

function add_txt(tit,txt,voetnoot,beweging,parameter){
	info[info.length]={type:"txt",titel:tit,tekst:txt,voetnoot:voetnoot,beweging:beweging.substring(0,1),parameter:parameter}
}

function add_img(bron,beweging,parameter){
	voorladen[voorladen.length]=new Image()
	voorladen[voorladen.length-1].src=bron
	info[info.length]={type:"img",bron:bron,beweging:beweging.substring(0,1),parameter:parameter}
}

function table_txt(tit,txt,voetnoot){
return("<table cellspacing=0 width="+scrollerzone.breedte+" height="+scrollerzone.hoogte+"><tr><td class=scrollTitle>"+tit+"</td></tr><tr><td class=scrollBody width=100% height=100%>"+txt+"</td></tr><tr><td class=scrollFoot>"+voetnoot+"</td></tr></table>")}

function table_img(bron){return("<img src=\""+bron+"\" width="+scrollerzone.breedte+" height="+scrollerzone.hoogte+" />")}

function startScroll(){
	initImage()
	i_old=i_info
	i_info++
	i_new=i_info
	if(i_new>=info.length){i_info=0;i_new=0}
	if(i_old==-1){
		ObjPlaatsen("achtergrond",scrollerzone.x,scrollerzone.y)
		ObjPlaatsen("voorgrond",scrollerzone.x,scrollerzone.y)
	}
	else{
	ObjMaken=(info[i_old].type=="txt")?(table_txt(info[i_old].titel,info[i_old].tekst,info[i_old].voetnoot)):(table_img(info[i_old].bron))
		ObjVernieuwen((info[i_new].parameter!=-1)?"achtergrond":"voorgrond",ObjMaken)
		ObjPlaatsen("achtergrond",scrollerzone.x,scrollerzone.y)
		ObjTonen("achtergrond",0,0,scrollerzone.breedte,scrollerzone.hoogte)
	}
	ObjMaken=(info[i_new].type=="txt")?(table_txt(info[i_new].titel,info[i_new].tekst,info[i_new].voetnoot)):(table_img(info[i_new].bron))
	ObjVernieuwen((info[i_new].parameter!=-1)?"voorgrond":"achtergrond",ObjMaken)
	switch(info[i_info].beweging){
		case("g"): case("l"): hx=-scrollerzone.breedte;hy=0;dx=2;dy=0;break //naarLinks,left
		case("d"): case("r"): hx=scrollerzone.breedte;hy=0;dx=-2;dy=0;break //naarRechts,right
		case("h"): case("t"): hx=0;hy=-scrollerzone.hoogte;dx=0;dy=2;break //naarBoven,top
		case("b"): //voetnoot,bottom,default waarde
		default  : hx=0;hy=scrollerzone.hoogte;dx=0;dy=-2;break
	}
	ObjWisselen(info[i_info].beweging,info[i_info].parameter)
}
function ObjWisselen(cas,parameter){
	hx+=dx
	hy+=dy
	switch(cas){
		case("g"): case("l"): 
			if (hx<=0){
				if(parameter==0){
					ObjPlaatsen("achtergrond",scrollerzone.x+scrollerzone.breedte+hx,scrollerzone.y)
					ObjTonen("achtergrond",0,0,-hx,scrollerzone.hoogte)
				}
				if(parameter!=-1){
					ObjPlaatsen("voorgrond",scrollerzone.x+hx,scrollerzone.y)
					ObjTonen("voorgrond",-hx,0,scrollerzone.breedte,scrollerzone.hoogte)
				}
				if(parameter==-1){
					ObjPlaatsen("voorgrond",scrollerzone.x-scrollerzone.breedte-hx,scrollerzone.y)
					ObjTonen("voorgrond",scrollerzone.breedte+hx,0,scrollerzone.breedte,scrollerzone.hoogte)
				}
				timerScroll=setTimeout("ObjWisselen('"+cas+"',"+parameter+")",horizontaal)
			}
			else{timerScroll=setTimeout("startScroll()",pauze)}
			break
		case("d"): case("r"): 
			if (hx>=0){
				if(parameter==0){
					ObjPlaatsen("achtergrond",scrollerzone.x-scrollerzone.breedte+hx,scrollerzone.y)
					ObjTonen("achtergrond",scrollerzone.breedte-hx,0,scrollerzone.breedte,scrollerzone.hoogte)
				}
				if(parameter!=-1){
					ObjPlaatsen("voorgrond",scrollerzone.x+hx,scrollerzone.y)
					ObjTonen("voorgrond",0,0,scrollerzone.breedte-hx,scrollerzone.hoogte)
				}
				if(parameter==-1){
					ObjPlaatsen("voorgrond",scrollerzone.x+scrollerzone.breedte-hx,scrollerzone.y)
					ObjTonen("voorgrond",0,0,hx,scrollerzone.hoogte)
				}
				timerScroll=setTimeout("ObjWisselen('"+cas+"',"+parameter+")",horizontaal)
			}
			else{timerScroll=setTimeout("startScroll()",pauze)}
			break
		case("h"): case("t"): 
			if (hy<=0){
				if(parameter==0){
					ObjPlaatsen("achtergrond",scrollerzone.x,scrollerzone.y+scrollerzone.hoogte+hy)
					ObjTonen("achtergrond",0,0,scrollerzone.breedte,-hy)
				}
				if(parameter!=-1){
					ObjPlaatsen("voorgrond",scrollerzone.x,scrollerzone.y+hy)
					ObjTonen("voorgrond",0,-hy,scrollerzone.breedte,scrollerzone.hoogte)
				}
				if(parameter==-1){
					ObjPlaatsen("voorgrond",scrollerzone.x,scrollerzone.y-scrollerzone.hoogte-hy)
					ObjTonen("voorgrond",0,scrollerzone.hoogte+hy,scrollerzone.breedte,scrollerzone.hoogte)
				}
				timerScroll=setTimeout("ObjWisselen('"+cas+"',"+parameter+")",verticaal)
			}
			else{timerScroll=setTimeout("startScroll()",pauze)}
			break
		case("b"): 
		default  : 
			if (hy>=0){
				if(parameter==0){
					ObjPlaatsen("achtergrond",scrollerzone.x,scrollerzone.y-scrollerzone.hoogte+hy)
					ObjTonen("achtergrond",0,scrollerzone.hoogte-hy,scrollerzone.breedte,scrollerzone.hoogte)
				}
				if(parameter!=-1){
					ObjPlaatsen("voorgrond",scrollerzone.x,scrollerzone.y+hy)
					ObjTonen("voorgrond",0,0,scrollerzone.breedte,scrollerzone.hoogte-hy)
				}
				if(parameter==-1){
					ObjPlaatsen("voorgrond",scrollerzone.x,scrollerzone.y+scrollerzone.hoogte-hy)
					ObjTonen("voorgrond",0,0,scrollerzone.breedte,hy)
				}
				timerScroll=setTimeout("ObjWisselen('"+cas+"',"+parameter+")",verticaal)
			}
			else{timerScroll=setTimeout("startScroll()",pauze)}
			break
	}
}

//navigateurs
var da	=document.all
var dom	=document.getElementById
var dl	=document.layers

//position image
var scrollerzone
function initImage() {
	var img;
	if (dl){
		img = findImage("scroll",document)
		scrollerzone = getPosImage(img)
		scrollerzone.breedte = img.width
		scrollerzone.hoogte = img.height
	}
	else if (da){
		img = document.all["scroll"]
		scrollerzone = elementXYOffset(img)
		scrollerzone.breedte = img.width
		scrollerzone.hoogte = img.height
	}
	else if (dom){
		img = document.getElementById("scroll")
		scrollerzone = elementXYOffset(img)
		scrollerzone.breedte = img.width
		scrollerzone.hoogte = img.height
	}
//	status=("[ x , y , l , h ] = [ " + scrollerzone.x + " , " + scrollerzone.y + " , " + scrollerzone.breedte + " , " + scrollerzone.hoogte + " ]")
}
function findImage(name,doc){
	var i,img;
	for (i=0; i < doc.images.length; i++)
		if(doc.images[i].name==name)
		return doc.images[i];
	for (i=0; i < doc.layers.length; i++)
		if((img=findImage(name,doc.layers[i].document))!=null){
			img.container=doc.layers[i];
			return img;
		}
		return null;
}
function getPosImage(obj){
	if(obj.container!=null) return {x:obj.container.pageX+obj.x,y:obj.container.pageY+obj.y}
	else return {x:obj.x,y:obj.y}
}
function elementXYOffset(obj){
	var xOffset, yOffset, elParent;
	if(typeof obj.offsetTop == 'number'){
		yOffset = obj.offsetTop||0;
		xOffset = obj.offsetLeft||0;
		elParent = obj.offsetParent;
		while(elParent){
			yOffset += elParent.offsetTop||0;
			xOffset += elParent.offsetLeft||0;
			elParent = elParent.offsetParent;
		}
	}
	else if(typeof obj.top == 'number'){//some Net 4 DIVs
		yOffset = obj.top;
		xOffset = obj.left;
	}
	else if(typeof obj.y == 'number'){//Net 4 IMG & A
		yOffset = obj.y;
		xOffset = obj.x;
	}
	else{//information is not available
		yOffset = 0; //maybe use NaN instead.
		xOffset = 0;
	}
	return {x:xOffset,y:yOffset};
}

//objets
function ObjVernieuwen(nom,ObjMaken){
	if(da){document.all(nom).innerHTML=ObjMaken}
	else if(dom){document.getElementById(nom).innerHTML=ObjMaken}
	else if(dl){doc=document.layers[nom];doc.document.write(ObjMaken);doc.document.close()}
}
function ObjPlaatsen(nom,naarLinks,naarBoven){
	if(da){document.all(nom).style.left=naarLinks;document.all(nom).style.top=naarBoven}
	else if(dom){document.getElementById(nom).style.left=naarLinks+"px";document.getElementById(nom).style.top=naarBoven+"px"}
	else if(dl){document.layers[nom].left=naarLinks;document.layers[nom].top=naarBoven}
}
function ObjTonen(nom,naarLinks,naarBoven,naarRechts,voetnoot){
	if(da){document.all(nom).style.clip="rect("+naarBoven+"px "+naarRechts+"px "+voetnoot+"px "+naarLinks+"px)"}
	else if(dom){document.getElementById(nom).style.clip="rect("+naarBoven+"px "+naarRechts+"px "+voetnoot+"px "+naarLinks+"px)"}
	else if(dl){document.layers[nom].clip.left=naarLinks;document.layers[nom].clip.top=naarBoven;document.layers[nom].clip.right=naarRechts;document.layers[nom].clip.bottom=voetnoot}
}
