// JavaScript Document

	
function lib_bwcheck(){ //Browsercheck (needed)
	this.ver=navigator.appVersion
	this.agent=navigator.userAgent
	this.dom=document.getElementById?1:0
	this.opera5=this.agent.indexOf("Opera 5")>-1
	this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0; 
	this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;

// extra test for MSIE 7 added MWW 10 June 2008
	this.ie7=(this.ver.indexOf("MSIE 7")>-1 && this.dom && !this.opera5)?1:0;
	
	this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
	
//	extra test for MSIE 7 added MWW 10 June 2008
	this.ie=( this.ie4 || this.ie5 || this.ie6 || this.ie7 )
	
	this.mac=this.agent.indexOf("Mac")>-1
	this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0; 
	this.ns4=(document.layers && !this.dom)?1:0;
	this.bw=( this.ie7 || this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5)
	return this
}

var bw=new lib_bwcheck()

/* this is a new check to see it the Browser can support layers */
/* by Matt Walker-Wilson matt@advance-training.co.uk  */
/* 
if ((obj=MM_findObj(args[i]))!=null)


*/


/*****************


You set the width and height of the divs inside the style tag, you only have to
change the product_scroller, Remember 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 product_scroller 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.


****************/

var searchString = window.location.search
var catString 

if (searchString.charAt(0) =="?" ) {
	searchString = searchString.substring(1,searchString.length)
}

var searchArray = searchString.split("&")

for (i=0 ; i< searchArray.length ; i++ ) {		
	if ( searchArray[i].split("=")[0]  == "cat" ) {
		catString = searchArray[i].split("=")[1] ;
		break  ;
	}
	
}

//If you want it to move faster you can set this lower, it's the timeout:
var speed = 30


//Sets variables to keep track of what's happening
var loop, timer


//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.scrollWidth=bw.ns4?this.css.document.width:this.el.offsetWidth;
	this.clipWidth=bw.ns4?this.css.clip.width:this.el.offsetWidth;
	this.scrollHeight=bw.ns4?this.css.document.height:this.el.offsetHeight;
	this.clipHeight=bw.ns4?this.css.clip.height:this.el.offsetHeight;
	this.left=goLeft;this.right=goRight;this.up=goUp;this.down=goDown;
	this.moveIt=moveIt; this.x=0; this.y=0;
    this.obj = obj + "Object";
    eval(this.obj + "=this");
    return this
}


// A unit of measure that will be added when setting the position of a layer.
var px = bw.ns4||window.opera?"":"px";




function moveIt(x,y){
	this.x = x
	this.y = y
	
//	alert("x is " + x + "\ny is " + y );
	this.css.left = this.x+px
	this.css.top = this.y+px
}


//Makes the object go up
function goDown(move){
	if (this.y>-this.scrollHeight+oCont.clipHeight){
		this.moveIt(0,this.y-move)
			if (loop) setTimeout(this.obj+".down("+move+")",speed)
	}
}
//Makes the object go down
function goUp(move){
	if (this.y<0){
		this.moveIt(0,this.y-move)
		if (loop) setTimeout(this.obj+".up("+move+")",speed)
	}
}

//Makes the object go right
function goRight(move){
//	alert(this.x + "\n" + this.scrollWidth + "\n" + oCont.clipWidth);
	if (this.x>-this.scrollWidth+oCont.clipWidth){
		this.moveIt(this.x-move,0)
			if (loop) setTimeout(this.obj+".left("+move+")",speed)
	}
}
//Makes the object go left
function goLeft(move){
	if (this.x<0){
		this.moveIt(this.x-move,0)
		
		writeCookie(catString,this.x,180)
		
		if (loop) setTimeout(this.obj+".right("+move+")",speed)
	}
}

//Calls the scrolling functions. Also checks whether the page is loaded or not.
function scrollVert(speed){
	if (scrolltextLoaded){
		loop = true;
		if (speed>0) oScroll.down(speed)
		else oScroll.up(speed)
	}
}


//Calls the scrolling functions. Also checks whether the page is loaded or not.
function scrollHoriz(speed){	
	if (scrolltextLoaded){
		loop = true;
		if (speed>0) oScroll.right(speed)
		else 
		oScroll.left(speed)
	}
}

//Stops the scrolling (called on mouseout)
function noScroll(){
	loop = false
	if (timer) clearTimeout(timer)
}
//Makes the object

var scrolltextLoaded = false


function scrolltextInit(){	
/* take two arguments , the scroller and the scroller_content */

	var args = scrolltextInit.arguments ;
	
/* make sure the DIV object exists before tring to create a Javascript object from it, and making it visible  */

	if (MM_findObj(args[0]) ) { 
		oCont = new makeObj(args[0]);
		oCont.css.visibility = "visible";
	}
	
/* make sure both DIV objects exists before tring to create a Javascript object from it, and positioning it */
		
	if (MM_findObj(args[1])  && MM_findObj(args[0]) ) { 
		oScroll = new makeObj(args[1],args[0]);
//			oScroll.moveIt(0,0);
		
		var l_xpos = 0 ;
		var l_ypos  = 0 ;
		
		if ( readCookie(catString) != "" && readCookie(catString) != 'undefined' ) {
			l_xpos = readCookie(catString) ;
		}
//			if ( readCookie("ypos") != "" ) {
//				l_ypos = readCookie("ypos") ;
//			}

//			alert("readCookie(catString)='" + readCookie(catString) + "'" );
		oScroll.moveIt(l_xpos,l_ypos);				
	}
	scrolltextLoaded = true;
}

//Call the init on page load if the browser is ok...
/*
if (bw.bw == 1 ) {
	onload = scrolltextInit;
}
*/

