//-----------------------------------------------------------------------------------------
//THE FRIDGE
//  created by Dave Coleman 10/06/2007
//	of Bottlecap Development, Inc.
//	for Fizz Corp.
//-----------------------------------------------------------------------------------------

/*
Modified for multiple scroll areas by Dave Coleman
Horizontal scroll added by BrownBear (www.devsoftware.com)
Extension developed by David G. Miles (www.z3roadster.net/dreamweaver)
Original Scrollable Area code developed by Thomas Brattli
*/

var objContainer = new Array(4);
var objScroller = new Array(4);


function loadThreeScrollAreas() {	//custom for fizz
	for (var i = 0; i < 3; i++) {	
		loadScrollArea(i);
	}
}
function loadScrollArea(i) {
	InitialiseScrollableArea(i);
	if(objContainer[i].clipWidth <= objScroller[i].clipWidth) {
		document.getElementById('rightSArrow'+i).style.display = "block";	//show other arrow
	} else {
		document.getElementById('rightSArrow'+i).style.display = "none";	//show other arrow
	}
}
function verifyCompatibleBrowser(){
    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
}
bw=new verifyCompatibleBrowser()
 
var speed=50
 
var loop, timer
 
function ConstructObject(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=MoveAreaUp;this.down=MoveAreaDown;	

    this.scrollWidth=bw.ns4?this.css.document.width:this.el.offsetWidth
    this.clipWidth=bw.ns4?this.css.clip.width:this.el.offsetWidth
    this.left=MoveAreaLeft;this.right=MoveAreaRight;

    this.MoveArea=MoveArea; this.x=0; this.y=0;
    this.obj = obj + "Object"
    eval(this.obj + "=this")
	
    return this
}
function MoveArea(x,y){
    this.x=x;this.y=y
    this.css.left=this.x
    this.css.top=this.y
}
function MoveAreaDown(move){
   if(this.y>-this.scrollHeight+objContainer[3].clipHeight){
    this.MoveArea(this.x,this.y-move)
    if(loop) timer=setTimeout(this.obj+".down("+move+")",speed)
   }
}
function MoveAreaUp(move){
   if(this.y<0){
    this.MoveArea(this.x,this.y-move)
    if(loop) timer=setTimeout(this.obj+".up("+move+")",speed)
   }
}
function MoveAreaRight(move, scrollIndex){
	if(-this.x + objContainer[0].clipWidth < this.scrollWidth){
		dstatus(scrollIndex+" Move Right "+this.x);
		this.MoveArea(this.x-move,this.y)
		if(loop) {
			setTimeout(this.obj+".right("+move+","+scrollIndex+")",speed);
		}
		document.getElementById('leftSArrow'+scrollIndex).style.display = "block";	//show other arrow		
	} else {
		dstatus("No Move Right"+this.x);		
		document.getElementById('rightSArrow'+scrollIndex).style.display = "none";	//hide arrow	
	}
}
function MoveAreaLeft(move, scrollIndex){
	if(this.x<0){
		dstatus(scrollIndex+" Move Left "+this.x);
		this.MoveArea(this.x-move,this.y)
		if(loop) {
			setTimeout(this.obj+".left("+move+","+scrollIndex+")",speed);
		}
		document.getElementById('rightSArrow'+scrollIndex).style.display = "block";	//show other arrow
	} else {
		document.getElementById('leftSArrow'+scrollIndex).style.display = "none";	//hide arrow
	}
}
function PerformScroll(direction, speed, scrollIndex){
   if(initialised){
      loop=true;
	  if(direction == 0) //verticle 
	  {
		  	//alert("perform scroll"+speed+"-"+scrollIndex);
	        if(speed>0) objScroller[scrollIndex].down(speed)
            else objScroller[scrollIndex].up(speed)
	  }
	  else	//horizontal
	  {
	        if(speed>0) objScroller[scrollIndex].right(speed, scrollIndex)
            else objScroller[scrollIndex].left(speed, scrollIndex)
	  }
   }
   return true;
}

function CeaseScroll(){
    loop=false
    if(timer) clearTimeout(timer)
}
var initialised;
function InitialiseScrollableArea(scrollIndex){
	objContainer[scrollIndex]= new ConstructObject('divContainer'+scrollIndex)
    objScroller[scrollIndex]= new ConstructObject('divContent'+scrollIndex,'divContainer'+scrollIndex)
    objScroller[scrollIndex].MoveArea(0,0)
    objContainer[scrollIndex].css.visibility='visible'
    initialised=true;
}
// end absolutely positioned scrollable area object scripts