// Scroll Step  (08-June-2006)
// by Vic Phillips (03-June-2006) http://www.vicsjavascripts.org.uk

// **** Functional Code - NO NEED to Change
var zxcObj;
var zxcOOPCnt=0;
var zxcCursor=document.all?'hand':'pointer';

function zxcScrollStop(zxcid,zxcary,zxcw,zxcsep,zxcspd,zxcmimg,zxcmtxt,zxcifr){
 var zxcp=document.getElementById(zxcid)
 if (!zxcp){ return; }
 var zxcmimg=document.getElementById(zxcmimg);
 var zxcmimgsrc=zxcmimg.src;
 for (var zxc0=0;zxc0<zxcary.length;zxc0++){ for (var zxc1=0;zxc1<zxcary[zxc0].length;zxc1++){ if (zxcary[zxc0][zxc1]==''){ zxcary[zxc0][zxc1]=null; } } }
 var zxch=zxcp.offsetHeight;
 var zxcd=document.createElement('DIV');
 zxcSSStyle(zxcd,{position:'absolute',left:'0px',top:'0px',height:zxch+'px'});
 zxcp.appendChild(zxcd);
 zxcp.ary=[zxcd,zxcd.cloneNode(true),zxcd.cloneNode(true),zxcd.cloneNode(true)];
 for (var zxc2=1;zxc2<zxcp.ary.length;zxc2++){ zxcp.appendChild(zxcp.ary[zxc2]); }
 var zxcobj;
 var zxcwidth=0;
 var zxcimagewidth=0;
 var zxcimagewidthsep=0;
 for (var zxc3=0;zxc3<zxcp.ary.length;zxc3++){
  var zxccnt=1; var zxclft=0; var zxcobj;
  for (var zxc4=1;zxc4<Math.max(zxcary.length,Math.ceil(zxcp.offsetWidth/zxcary[zxccnt][3]/*zxcw*/)+1);zxc4++){
   zxcobj=document.createElement('DIV');	// zxcw
   zxcobj.par=zxcp;
   if (zxcary[zxccnt][0]&&zxcmimg){ zxcSSStyle(zxcobj,{ cursor:zxcCursor}); zxcobj.onclick=function(){ zxcMainImage(this); } }
   zxcSSStyle(zxcobj,{position:'absolute',left:(zxclft)+'px',top:'0px',width:(zxcary[zxccnt][3]/*zxcw*/)+'px',height:(zxch)+'px',backgroundColor:(zxcBGColor),color:(zxcTxtColor),textAlign:(zxcTxtAlign),fontSize:(zxcFontSize)});
   zxcp.ary[zxc3].appendChild(zxcobj);
   
   zxcobj.img=document.createElement('IMG');
   var zxctxtanch=document.getElementById(zxcmtxt);
   var zxcobjtxt=document.getElementById(zxcary[zxccnt][1]);
   //if (zxctxtanch&&zxcobjtxt){ zxcSSStyle(zxcobjtxt,{left:(zxcPos(zxctxtanch)[0]-(zxcobjtxt.offsetWidth-zxctxtanch.offsetWidth)/2)+'px',top:(zxcPos(zxctxtanch)[1])+'px'}); }
   zxcobj.main=[zxcmimg,zxcmimgsrc,zxcary[0][0]+zxcary[zxccnt][0],zxctxtanch,zxcobjtxt,document.getElementById(zxcifr),zxcary[0][2],zxcary[zxccnt][7]];
//              0       1          2                              3                    4                   5                               6            7
//                                                                                     pop size            IFRAME obj                      Min Text     IFRAME URL
   zxcobj.main=[zxcmimg,zxcmimgsrc,zxcary[0][0]+zxcary[zxccnt][0],zxctxtanch,zxcobjtxt,zxcary[zxccnt][5]||1,document.getElementById(zxcifr),zxcary[0][2],zxcary[zxccnt][8]];

   zxcimagewidth=parseInt(zxcary[zxccnt][3]);
   zxcimagewidthsep=parseInt(zxcimagewidth)+parseInt(zxcsep);
   zxcwidth+=parseInt(zxcimagewidthsep);
   
   zxcobj.img.src=zxcary[0][1]+zxcary[zxccnt][2];
   zxcSSStyle(zxcobj.img,{position:'absolute',left:/*((zxcw-zxcary[zxccnt][3])/2)+*/'0px',top:'0px',width:(zxcary[zxccnt][3])+'px',height:(zxcary[zxccnt][4])+'px'});	// zxcw
   zxcobj.appendChild(zxcobj.img);
   zxcobj.txt=document.createElement('DIV');
   zxcobj.appendChild(zxcobj.txt);
   zxcobj.txt.innerHTML=zxcary[zxccnt][6]||'';
   if (zxcary[zxccnt][7]){ zxcobj.txt.className=zxcary[zxccnt][7]; }
   else { zxcSSStyle(zxcobj.txt,{backgroundColor:(zxcBGColor),color:(zxcTxtColor),textAlign:(zxcTxtAlign),fontSize:(zxcFontSize)}); }
   zxcSSStyle(zxcobj.txt,{position:'absolute',left:(0)+'px',top:(zxch-zxcobj.txt.offsetHeight-2)+'px',width:'100%'});
   zxclft+=parseInt(zxcobj.style.width)+zxcsep;
   zxccnt=++zxccnt%zxcary.length;
  }
 }
 //var zxcpw=(zxcary.length-1)*(zxcw+zxcsep);
 var zxcpw=(zxcwidth/4);	// (zxcwidth/4)-parseInt(zxcimagewidthsep)
 for (var zxc4=0;zxc4<zxcp.ary.length;zxc4++){ zxcSSStyle(zxcp.ary[zxc4],{width:(zxcpw)+'px',left:(zxcpw*zxc4-zxcpw)+'px'}); }	// ((zxcwidth/4)*zxc4-(zxcwidth/4)+parseInt(zxcimagewidthsep))
 if (!zxcp.oopss){ zxcp.oopss=new zxcOOPScrollStop(zxcp.ary,zxcspd,zxcpw,zxcw,zxcsep); }
}

function zxcScrollStepCng(zxcid,zxcdir,zxccont){
 var zxcobj=document.getElementById(zxcid);
 clearTimeout(zxcobj.oopss.to);
 if (zxcdir>0){ zxcobj.oopss.dir=1; }
 else { zxcobj.oopss.dir=-1; }
 if (zxcobj.oopss.imgsz){
  var zxcsz=zxcobj.oopss.imgsz;
  zxcSSStyle(zxcsz[0],{top:zxcsz[3],width:zxcsz[1]+'px',height:zxcsz[2]+'px'});
  zxcSSStyle(zxcsz[0],{left:((zxcsz[0].parentNode.offsetWidth-zxcsz[0].width)/2)+'px'});
 }
 zxcobj.oopss.cont=zxccont;
 zxcobj.oopss.rotate();
}

function zxcScrollStepStop(zxcid){
 clearTimeout(document.getElementById(zxcid).oopss.to);
}

function zxcScrollStepStart(zxcid,zxcdir){
 var zxcobj=document.getElementById(zxcid);
 clearTimeout(zxcobj.oopss.to);
 zxcobj.oopss.dir=zxcdir||zxcobj.oopss.dir;
 zxcobj.oopss.rotate();
}

function zxcMainImage(zxcobj){
 zxcobj.par.oopss.main(zxcobj);
}

function zxcOOPScrollStop(zxcary,zxcspd,zxcpw,zxcw,zxcsep){
 this.ref='zxcoopss'+zxcOOPCnt++;
 window[this.ref]=this;
 this.ary=zxcary;
 this.spd=zxcspd||100;
 this.stop=zxcw+zxcsep;
 this.to=null;
 this.dir=1;
 this.pw=zxcpw;
 this.analyse();
}

zxcOOPScrollStop.prototype.rotate=function(){
 this.ary[1].style.left=(parseInt(this.ary[1].style.left)+this.dir)+'px';
 this.ary[0].style.left=(parseInt(this.ary[1].style.left)-this.pw)+'px';
 this.ary[2].style.left=(parseInt(this.ary[2].style.left)+this.dir)+'px';
 this.ary[3].style.left=(parseInt(this.ary[2].style.left)+this.pw*2)+'px';
 if (this.dir<0&&parseInt(this.ary[1].style.left)+this.pw<0){
  this.ary[1].style.left=(parseInt(this.ary[2].style.left)+this.pw)+'px';
  this.ary.reverse();
 }
 if (this.dir>0&&parseInt(this.ary[1].style.left)>this.pw){
  this.ary[1].style.left=(parseInt(this.ary[2].style.left)-this.pw)+'px';
  this.ary.reverse();
 }
 if (parseInt(this.ary[1].style.left)%this.stop!=0||this.cont){ this.setTimeOut('rotate();',this.spd); }
 else { this.analyse(); }
}

zxcOOPScrollStop.prototype.analyse=function(){
 var zxccen=this.ary[1].parentNode.offsetWidth/2;
 for (var zxc0=0;zxc0<this.ary.length;zxc0++){
  var zxcobjs=this.ary[zxc0].childNodes;
  for (var zxc1=0;zxc1<zxcobjs.length;zxc1++){
   if (zxcobjs[zxc1].offsetLeft+this.ary[zxc0].offsetLeft<zxccen&&zxcobjs[zxc1].offsetLeft+zxcobjs[zxc1].offsetWidth+this.ary[zxc0].offsetLeft>zxccen){
    this.imgsz=[zxcobjs[zxc1].img,zxcobjs[zxc1].img.width,zxcobjs[zxc1].img.height,zxcobjs[zxc1].img.style.top];
	zxcSSStyle(zxcobjs[zxc1].img,{top:(zxcobjs[zxc1].img.offsetTop/(zxcobjs[zxc1].main[5]*1.5))+'px',width:(this.imgsz[1]*zxcobjs[zxc1].main[5])+'px',height:(this.imgsz[2]*1.0)+'px'});	// Zoom center(third) image off!! value was: this.imgsz[2]*1.1
    zxcSSStyle(zxcobjs[zxc1].img,{left:((zxcobjs[zxc1].offsetWidth-zxcobjs[zxc1].img.width)/2)+'px'});
    break;
   }
  }
 }
}
zxcOOPScrollStop.prototype.main=function(zxcobj){
 if (zxcobj.main[0]){
  if (zxcobj.main[2]){ zxcobj.main[0].src=zxcobj.main[2]; }
  else if (zxcobj.main[1]){ zxcobj.main[0].src=zxcobj.main[1]; }
 }
 if (zxcobj.main[3]){
  if (this.lsttxt){ zxcSSStyle(this.lsttxt,{visibility:'hidden'}); }
  if (zxcobj.main[4]){ zxcSSStyle(zxcobj.main[4],{visibility:'visible'}); this.lsttxt=zxcobj.main[4]; }
 }
 if (zxcobj.main[6]){
  if (zxcobj.main[6].tagName.toUpperCase()=='IFRAME'){
   zxcobj.main[6].style.visibility='hidden';
   if (zxcobj.main[7]&&zxcobj.main[8]){
    zxcobj.main[6].style.visibility='visible';
    zxcobj.main[6].src=zxcobj.main[7]+zxcobj.main[8];
   }
  }
 }
}

zxcOOPScrollStop.prototype.setTimeOut=function(zxcf,zxcd){
 this.to=setTimeout('window.'+this.ref+'.'+zxcf,zxcd);
}

function zxcSSStyle(zxcele,zxcstyle){
 for (key in zxcstyle){ zxcele.style[key]=zxcstyle[key]; }
}

function zxcPos(zxcobj){
 zxclft=zxcobj.offsetLeft;
 zxctop=zxcobj.offsetTop;
 while(zxcobj.offsetParent!=null){
  zxcpar=zxcobj.offsetParent;
  zxclft+=zxcpar.offsetLeft;
  zxctop+=zxcpar.offsetTop;
  zxcobj=zxcpar;
 }
 return [zxclft,zxctop];
}