/********************************************************************************
Copyright (C) 1999 Thomas Brattli
This script is made by and copyrighted to Thomas Brattli at www.bratta.com
Visit for more great scripts. This may be used freely as long as this msg is intact!
I will also appriciate any links you could give me.
********************************************************************************/
/*********************************************************
The folloing function are for News Scroll....
*********************************************************/

//Default browsercheck, added to all scripts!
function lib_bwcheck(){ //Browsercheck (needed)
this.ver=navigator.appVersion
	this.dom=document.getElementById?1:0
	this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0;
	this.ie4=(document.all && !this.dom)?1:0;
	this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;
	this.ns4=(document.layers && !this.dom)?1:0;
	this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5)
	return this
}
var bw=new lib_bwcheck()
/*****************

You set the width and height of the divs inside the style tag, you only have to
change the divCont, Remeber to set the clip the same as the width and height.
You can remove the divUp and divDown layers if you want. 
This script should also work if you make the divCont position:relative.
Then you should be able to place this inside a table or something. Just remember
that Netscape crash very easily with relative positioned divs and tables.

Updated with a fix for error if moving over layer before pageload.

****************/

//Sets Gap pixels when text scroll out
var gap=35

//If you want it to move faster you can set this lower:
var speed=20

//Set pause time:
var pause=5000

//Set this to false if you just want it to go one time
var loop=true

//Set the widht
var lastIndex = 0;

//Sets variables to keep track of what's happening
var timer, last_dir

var stop = new Array();

//Object constructor
function makeObj(obj,nest){
    nest=(!nest) ? '':'document.'+nest+'.'
	this.el=bw.dom?document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):0;
  	this.css=bw.dom?document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+'document.'+obj):0;
	this.scrollHeight=bw.ns4?this.css.document.height:this.el.offsetHeight
	this.clipHeight=bw.ns4?this.css.clip.height:this.el.offsetHeight
	this.up=goUp;this.down=goDown;
	this.moveIt=moveIt; this.x; this.y;
    this.obj = obj + "Object"
    eval(this.obj + "=this")
    return this
}
function moveIt(x,y){
	this.x=x;this.y=y
	this.css.left=this.x
	this.css.top=this.y
}

//Makes the object go up
function goDown(){
	if(timer) {

		clearTimeout(timer);
		this.moveIt(0,this.y-1);
	}
	//if(this.y % contentWidth == 0) {
	if(stopRequired(this.y)) {
		timer = setTimeout(this.obj+".down()",pause)
	} else if(this.y>-this.scrollHeight){
		//this.moveIt(0,this.y-1)
		timer = setTimeout(this.obj+".down()",speed)
	} else if(loop) {
		this.moveIt(0,gap)
		eval(this.obj+".down()")
	}
}
//Makes the object go down
function goUp(){
	if(timer) {
		clearTimeout(timer)
		this.moveIt(0,this.y+1)
	}
	//if(this.y % contentWidth ==0) {
	if(stopRequired(this.y)) {
		timer = setTimeout(this.obj+".up()",pause)
	} else if(this.y<oCont.clipHeight){
		//this.moveIt(0,this.y+1)
		timer = setTimeout(this.obj+".up()",speed)
	} else if(loop) {
		this.moveIt(0,-lastIndex)
		eval(this.obj+".up()")
	}
}

//Calls the scrolling functions. Also checks whether the page is loaded or not.
// 0=Scroll last dirction
// >1=Scroll down
// <1=Scroll up
function scroll(dir){
	if(loaded){
		if(timer) clearTimeout(timer);
		if(dir>0) {
		 	last_dir=dir
			oScroll.down()
		} else if(dir<0) {
			last_dir=dir
			oScroll.up()
		} else {
			scroll(last_dir)
		}
	}
}

//Stops the scrolling (called on mouseout)
function noScroll(){
	if(timer) clearTimeout(timer)
}

function stopRequired(input){
	for(var i = 0; i < stop.length; i++){
		if(stop[i] == input)
			return true;
	}
	return false;
}

function createStop(){
	var count = 1;
	var runningHeight = 0;
	stop[stop.length] = 0;
	while(document.getElementById("n" + count) != null){
		runningHeight += document.getElementById("n" + count).clientHeight + 20;
		lastIndex = runningHeight;
		stop[stop.length] = runningHeight / -1;
		count++;
	}
}
//Makes the object
var loaded;
function scrollInit(){
	oCont=new makeObj('divCont')
	oScroll=new makeObj('divText','divCont')
	oScroll.moveIt(0,gap)
	oCont.css.visibility='visible'
	oCont1=new makeObj1('divCont1')
	oScroll1=new makeObj1('divText1','divCont1')
	oScroll1.moveIt(0,0)
	oCont1.css.visibility='visible'
	if ((navigator.platform=='MacPPC') && (navigator.appVersion.indexOf("MSIE 5")>-1 && document.getElementById != 0)) {
	  oCont.css.top=0;
	  oCont1.css.top=0;
	}
	createStop();
	loaded=true;
	scroll(1);
	//scroll1(1);
//	MM_preloadImages('/img/english_o.gif','/img/home_o.gif','/img/menu/dots_o.gif','/img/menu/prd_o.gif','/img/menu/prm_o.gif','/img/menu/act_o.gif','/img/menu/mag_o.gif','/img/menu/bas_o.gif','/img/menu/gam_o.gif','/img/menu/com_o.gif','/img/menu/enq_o.gif','/img/menu/usr_o.gif','/img/menu/adr_o.gif','/img/backtop_o.gif');
}
//Call the init on page load



/*********************************************************
The folloing function are for Event Scroll....
*********************************************************/

//Sets gap1 pixels when text scroll out
var gap1=140

//If you want it to move faster you can set this lower:
var speed1=15

//Set this to false if you just want it to go one time
var loop1=false

//Sets variables to keep track of what's happening
var timer1, last_dir1

function makeObj1(obj,nest){
    nest=(!nest) ? '':'document.'+nest+'.'
	this.el=bw.dom?document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):0;
  	this.css=bw.dom?document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+'document.'+obj):0;
	this.scrollHeight=bw.ns4?this.css.document.height:this.el.offsetHeight
	this.clipHeight=bw.ns4?this.css.clip.height:this.el.offsetHeight
	this.up=goUp1;this.down=goDown1;
	this.moveIt=moveIt; this.x; this.y;
    this.obj = obj + "Object"
    eval(this.obj + "=this")
    return this
}

//Makes the object go up
function goDown1(){
	if(this.y>-this.scrollHeight+gap1){
		this.moveIt(0,this.y-1)
		timer1 = setTimeout(this.obj+".down()",speed1)
	} else if(loop1) {
		this.moveIt(0,gap1)
		eval(this.obj+".down()")
	}
}
//Makes the object go down
function goUp1(){
	if  (this.y<oCont1.clipHeight-gap1){
		this.moveIt(0,this.y+1)
		timer1 = setTimeout(this.obj+".up()",speed1)
	} else if(loop1) {
		this.moveIt(0,gap1)
		eval(this.obj+".up()")
	}
}

//Calls the scrolling functions. Also checks whether the page is loaded or not.
// 0=Scroll last dirction
// >1=Scroll down
// <1=Scroll up
function scroll1(dir){
	if(loaded){
		if(timer1) clearTimeout(timer1);
		if(dir>0) {
		 	last_dir1=dir
			oScroll1.down()
		} else if(dir<0) {
			last_dir1=dir
			oScroll1.up()
		} else {
			scroll1(last_dir1)
		}
	}
}

//Stops the scrolling (called on mouseout)
function noScroll1(){
	if(timer1) clearTimeout(timer1)
}

