// begin absolutely positioned scrollable area object scripts
/*
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
To add more shock to your site, visit www.DHTML Shock.com
*/

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);
    this.ie = (this.ie5 || this.ie4);
    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 +"px";
    this.css.top = this.y +"px";
}

function MoveAreaDown(move) {
   if(this.y>-this.scrollHeight+objContainer.clipHeight){
    this.MoveArea(this.x,this.y-move);
    if(loop) setTimeout(this.obj+".down("+move+")",speed);
   }
}
function MoveAreaUp(move) {
   if(this.y<0){
    this.MoveArea(this.x,this.y-move);
    if(loop) setTimeout(this.obj+".up("+move+")",speed);
   }
}
function MoveAreaRight(move) {
  if(-this.x + objContainer.clipWidth < this.scrollWidth) {
    this.MoveArea(this.x-move, this.y);
    if(loop) {
      setTimeout(this.obj + ".right(" + move + ")", speed);
    }
  } else {
      setTimeout('startOpacity()', 400);
  }
  //window.status = "right no action " + this.x;
}
function MoveAreaLeft(move) {
   if(this.x < 0) {
    this.MoveArea(this.x-move, this.y)
    if(loop) {
      setTimeout(this.obj + ".left(" + move + ")", speed)
    }
   }
   //window.status = "left no action " + this.x;
}

function PerformScroll(direction,speed) {
   if(initialised){
      loop=true;
    if(direction == 0)
    {
          if(speed>0) objScroller.down(speed);
            else objScroller.up(speed);
    }
    else
    {
          if(speed>0) objScroller.right(speed);
            else objScroller.left(speed);
    }
   }
}

function CeaseScroll(){
    loop=false;
    if(timer) clearTimeout(timer);
}
var initialised;

function InitialiseScrollableArea() {

    objContainer = new ConstructObject('MotivBanner');
    objScroller = new ConstructObject('MotivInnerBanner','MotivBanner');
    objScroller.MoveArea(-30,0);
    objContainer.css.visibility='visible';
    initialised=true;

    setTimeout('PerformScroll(1,7)', 50);
}
// end absolutely positioned scrollable area object scripts


function startOpacity() {
  new Effect.Opacity('defaultMotiv', { duration: 1.0, from: 1.0, to: 0.0 });
}
