var scrollSpeed=10;
var scrollEaseIn=6;
var autoScrollDelay=6000;
if(!currentBanner) var currentBanner=new Array();
if(!bannerCount) var bannerCount=new Array();
if(!timeout) var timeout=new Array();
if(!autoint) var autoint=new Array();
var pathToVariWidthBanners='/j/6c/images/scrollingbanner/backgrounds/';

function bannerImage(a,b,c,d,e) {
  this.center=a;
  this.image=a;
  this.text=d;
  if(b!='') {
    this.type=b;
    this.left=pathToVariWidthBanners+b+'/left.png';
    this.right=pathToVariWidthBanners+b+'/right.png';
    this.back=pathToVariWidthBanners+b+'/back.png'
  }
  this.link=c;
  this.lightbox=e;
}

function variWidthBanner(a,b) {
  this.id=a;
  this.type='variWidthBanner';
  this.banners=new Array();
  this.height=b;
  this.add=addBanner;
  this.render=renderVariWidthBanner;
  currentBanner[a]=0
}

function photoBanner(a,b,c) {
  this.id=a;
  this.type='photoBanner';
  this.height=c;
  this.width=b;
  this.banners=new Array();
  this.add=addBanner;
  this.render=renderPhotoBanner;
  currentBanner[a]=0
}

function addBanner(a,b,c,d,e) {
  this.banners.push(new bannerImage(a,b,c,d,e));
  bannerCount[this.id]=this.banners.length
}

function renderVariWidthBanner() {
  if(this.banners.length>0) {
    document.write('<div class="scrollBanner" id="'+this.id+'" style="height:'+this.height+'px;">');
    document.write('<div id="slider" style="height:'+this.height+'px;">');
    var a=this.banners.length-1;
    writeVariWidthBanner (this.banners[a].link, -100, this.height, this.banners[a].back, this.banners[a].left, this.banners[a].right, this.banners[a].center);
    for (x in this.banners) writeVariWidthBanner (this.banners[x].link, ((x)*100), this.height, this.banners[x].back, this.banners[x].left, this.banners[x].right, this.banners[x].center);
    writeVariWidthBanner (this.banners[0].link, (a+1)*100, this.height, this.banners[0].back, this.banners[0].left, this.banners[0].right, this.banners[0].center);
    document.write('</div>');
    if (this.banners.length>1) renderNextPrevLinks(this.id);
    document.write('</div>');
    if(this.banners.length>1) {
      document.write('<p class="scrollBannerNav" id="'+this.id+'Nav">');
      for(x=this.banners.length-1;x>=0;x--) { 
        var b=parseInt(x)+1;
        document.write('<a ');
        if (b==1) document.write('class="current" ');
        document.write('id="'+this.id+'NavLink'+x+'" href="javascript:resetScrollInterval(\''+this.id+'\');switchBanners(\''+this.id+'\','+x+');">'+b+'</a> ')
      }
      document.write('</p>')
    }
    var c=document.getElementById(this.id);
    c.firstChild.style.left='0%'
  }
}

function renderNextPrevLinks(a) {
  document.write('<a class="prevLink" href="javascript:resetScrollInterval(\''+a+'\');prevBanner(\''+a+'\');">&lt;</a>');
  document.write('<a class="nextLink" href="javascript:resetScrollInterval(\''+a+'\');nextBanner(\''+a+'\');">&gt;</a>')
}

function renderPhotoBanner() {
  if(this.banners.length>0) {
    document.write('<div id="photoBannerContainer" style="height:'+this.height+'px;width:'+this.width+'px">');
    document.write('<div class="photoBanner" id="'+this.id+'" style="height:'+this.height+'px;width:'+this.width+'px">');
    document.write('<div id="slider" style="height:'+this.height+'px;width:'+this.width+'px">');
    var a=this.banners.length-1;
    writePhotoBanner(this.banners[a].link,-100,this.width,this.height,this.banners[a].image,this.banners[a].text,this.banners[a].lightbox);
    for(x in this.banners)writePhotoBanner(this.banners[x].link,(x)*100,this.width,this.height,this.banners[x].image,this.banners[x].text,this.banners[x].lightbox);
    writePhotoBanner(this.banners[0].link,(a+1)*100,this.width,this.height,this.banners[0].image,this.banners[0].text,this.banners[0].lightbox);
    document.write('</div>');
    if(this.banners.length>1)renderNextPrevLinks(this.id);
    document.write('</div>');
    document.write('</div>');
    var b=document.getElementById(this.id);
    b.firstChild.style.left='0%'
  }
}

function writeVariWidthBanner(a,b,c,d,e,f,g) {
  document.write('<div class="banner" onmouseover="window.status=\''+a+'\';" onmouseout="window.status=\'\';" style="background:Url(\''+d+'\') top repeat-x;left:'+b+'%;height:'+c+'px;" onclick="location.href=\''+a+'\';" >');
  document.write('<div class="inner" style="height:'+c+'px;">');
  document.write('<img src="'+e+'" class="left" />');
  document.write('<img src="'+f+'" class="right" />');
  document.write('<img src="'+g+'" class="center" />');
  document.write('</div>');
  document.write('</div>')
}

function writePhotoBanner(a,b,c,d,e,f,g) {
  document.write('<div class="banner" onmouseover="window.status=\''+a+'\';" onmouseout="window.status=\'\';" style="left:'+b+'%;height:'+d+'px;width:'+c+'px" onclick="location.href=\''+a+'\';" >');
  document.write('<div class="inner" style="height:'+d+'px;width:'+c+'px">');
  document.write('<img src="'+e+'" alt="'+f+'"/>');
  document.write('<div class="bannerText" style="width:'+c+'px;">');
  if (g == 'true') {
    document.write('<a href="'+a+'" class="thickbox">'+f+'</a>');document.write('</div>');
  } else {
    document.write('<a href="'+a+'">'+f+'</a>');document.write('</div>');
  }
  document.write('</div>');
  document.write('</div>')
}

function resetScrollInterval(a) {
  if(autoint[a]!=null) {
    window.clearInterval(autoint[a]);autoint[a]=window.setInterval(function(){nextBanner(a)},autoScrollDelay)
  }
}

function setPos(a,b) {
  a.style.left=b+'%'
}

function getPos(a) {
  return parseInt(a.style.left)
}

function switchBanners(a,b) {
  var c=document.getElementById(a);
  idealpos=(b)*-100;
  currentpos=getPos(c.firstChild);
  window.clearTimeout(timeout[a]);
  timeout[a]=window.setTimeout(function(){slideBanners(a,idealpos)},scrollSpeed);
  setCurrentNav(a,b);
  currentBanner[a]=b
}

function slideBanners(a,b) {
  var c=document.getElementById(a);
  currentpos=parseInt(c.firstChild.style.left);
  var d;
  newpos=(((parseFloat(currentpos)*(scrollEaseIn-1))+parseFloat(b))/scrollEaseIn);
  if (currentpos<newpos) d=1;
  if (currentpos>newpos) d=-1;
  newpos = parseInt(newpos);
  if (newpos==currentpos) newpos+=d;
  if (currentpos!=b) {
    setPos(c.firstChild,newpos);
    window.clearTimeout(timeout[a]);
    timeout[a] = window.setTimeout(
      function() { slideBanners(a,b) },
      scrollSpeed
    )
  } else {
    setPos(c.firstChild,b);
    if(b==100) {
      setPos(c.firstChild,((bannerCount[a]-1)*-100));
      currentBanner[a]=bannerCount[a]-1
    }
    if(b==((bannerCount[a])*-100)) {
      setPos(c.firstChild,0);
      currentBanner[a]=0
    }
  }
}

function setCurrentNav(a,b) {
  if (b<0) b=bannerCount[a]-1;
  if (b>=bannerCount[a]) b=0;
  if (document.getElementById(a+'NavLink'+currentBanner[a])) document.getElementById(a+'NavLink'+currentBanner[a]).className='';
  if (document.getElementById(a+'NavLink'+b)) document.getElementById(a+'NavLink'+b).className='current'
}

function nextBanner(a) {
  var b=currentBanner[a]+1;
  if (b<(bannerCount[a]+1)) switchBanners(a,b);
  else switchBanners(a,0)
}

function prevBanner(a) {
  var b=currentBanner[a]-1;
  if (b>=-1) switchBanners(a,b);
  else switchBanners(a,bannerCount[a]-1)
}

function startAutoScroll(a) {
  autoint[a]=window.setInterval(
    function() {nextBanner(a)},
    autoScrollDelay
  )
}
