/* This module handles banner scrolling */
// Basic inits
var imgP = "/img/"
// Prepare list
var img = Array();
img[0]="banner1_1.jpg"
img[1]="banner1_2.jpg"
img[2]="banner1_3.jpg"
img[3]="banner1_4.jpg"

// Images cache
var imgC  = new Array(img.length);  // Image cache
var imgCf = new Array(img.length);  // Image chache flags: 1=>already loaded

for (i=0; i<imgC.length; i++)
   {
   imgC[i]=new Image();
   imgCf[i]=0;
   }

var ovs = 0;      // Overflow to scroll
var cbl = 0;      // Current banner length
var fib = 0;      // First image (index) in banner
var fil = 0;      // First image length
var mScrollI = 0; // micro Scroll index
var tmr = 0;

// Fill banner for the very first time
FillBanner(0);

tmr=setTimeout("ScrollBanner()",5000);  // Start scrolling

function FillBanner(layerN)
// Appends images to current banner till it has enought length to fill the whole area
{
  // First guess real length of area
  tl=document.getElementById("banner-story").clientWidth;
  // Generate HTML content for current banner
  il="";
  cl=0;
  fi=fib
  i=0;
  while (cl<tl+fil)
    {
    i++;
    if (i>12)
       break;
    if (imgCf[fi]==0)
       {
       imgC[fi].src=imgP+img[fi];
       imgCf[fi]=1;
       }
    document.images["banner"+layerN+"_img"+i].src=imgC[fi].src;
    if (!cl)
       fil=imgC[fi].width;
    cl+=imgC[fi].width;
    fi++;
    if (fi>=img.length)
       fi=0;
    }
  cbl=cl;
}

function mScrollBanner()
// Does the smooth scroll
{
  // Move layer
  document.getElementById("banner-scroll0").style.left="-"+fil*(1+Math.sin(mScrollI))/2+"px";
  mScrollI+=Math.PI/50;
  if (mScrollI<Math.PI/2)
     tmr=setTimeout("mScrollBanner()",40);  // Schedule next smooth scroll
  else  // Finished
     {
     clearTimeout(tmr);
     // Once finished, refill layer with second image as first, and so on, then move it again to zero
     fib++;
     if (fib>=img.length)
        fib=0;
     FillBanner(1); // Temporary layer to hide flicker
     //mo1.style.zIndex=mo.style.zIndex+1;
     document.getElementById("banner-scroll1").style.visibility="visible";
     document.getElementById("banner-scroll0").style.left="0px";
     FillBanner(0);
     document.getElementById("banner-scroll1").style.visibility="hidden";      // Can hide temporal layer once the real one is updated
     tmr=setTimeout("ScrollBanner()",5000); // Schedule next scroll
     }
}

function ScrollBanner()
// Scrolls first image in banner
{
  mScrollI=-(Math.PI/2);
  clearTimeout(tmr);
  tmr=setTimeout("mScrollBanner()",40);  // Schedule next smooth scroll
}


/* This module handles banner scrolling */
// Basic inits
var imgP2 = "/img/"
// Prepare list
var img2 = Array();
img2[0]="banner2_1.jpg"
img2[1]="banner2_3.jpg"
img2[2]="banner2_4.jpg"
img2[3]="banner2_2.jpg"
img2[4]="banner2_5.jpg"
img2[5]="banner2_6.jpg"
img2[6]="banner2_7.jpg"

// Images cache
var imgC2  = new Array(img2.length);  // Image cache
var imgCf2 = new Array(img2.length);  // Image chache flags: 1=>already loaded

for (i=0; i<imgC2.length; i++)
   {
   imgC2[i]=new Image();
   imgCf2[i]=0;
   }

var ovs2 = 0;      // Overflow to scroll
var cbl2 = 0;      // Current banner length
var fib2 = 0;      // First image (index) in banner
var fil2 = 0;      // First image length
var mScrollI2 = 0; // micro Scroll index
var tmr2 = 0;

function InitBanner2()
{
  // Fill banner for the very first time
  FillBanner2(0);
  tmr2=setTimeout("ScrollBanner2()",6000);  // Start scrolling
  mScrollI2=0;
  fib2=0;
}

function FillBanner2(layerN)
// Appends images to current banner till it has enought length to fill the whole area
{
  // First guess real length of area
  tl=document.getElementById("banner-story2").clientWidth;
  // Generate HTML content for current banner
  il="";
  cl=0;
  fi=fib2
  i=0;
  while (cl<tl+fil2)
    {
    i++;
    if (i>12)
       break;
    if (imgCf2[fi]==0)
       {
       imgC2[fi].src=imgP2+img2[fi];
       imgCf2[fi]=1;
       }
    document.images["banner2"+layerN+"_img"+i].src=imgC2[fi].src;
    if (!cl)
       fil2=imgC2[fi].width;
    cl+=imgC2[fi].width;
    fi++;
    if (fi>=img2.length)
       fi=0;
    }
  cbl2=cl;
}

function mScrollBanner2()
// Does the smooth scroll
{
  // Move layer
  document.getElementById("banner-scroll20").style.left="-"+fil2*(1+Math.sin(mScrollI2))/2+"px";
  mScrollI2+=Math.PI/50;
  if (mScrollI2<Math.PI/2)
     tmr2=setTimeout("mScrollBanner2()",40);  // Schedule next smooth scroll
  else  // Finished
     {
     if (tmr2)
        clearTimeout(tmr2);
     // Once finished, refill layer with second image as first, and so on, then move it again to zero
     fib2++;
     if (fib2>=img2.length)
        fib2=0;
     FillBanner2(1); // Temporary layer to hide flicker
     //mo1.style.zIndex=mo.style.zIndex+1;
     document.getElementById("banner-scroll21").style.visibility="visible";
     document.getElementById("banner-scroll20").style.left="0px";
     FillBanner2(0);
     document.getElementById("banner-scroll21").style.visibility="hidden";      // Can hide temporal layer once the real one is updated
     tmr2=setTimeout("ScrollBanner2()",6000); // Schedule next scroll
     }
}

function ScrollBanner2()
// Scrolls first image in banner
{
  mScrollI2=-(Math.PI/2);
  if (tmr2)
     clearTimeout(tmr2);
  tmr2=setTimeout("mScrollBanner2()",40);  // Schedule next smooth scroll
}

function DoneBanner2()
{
  clearTimeout(tmr2);
  tmr2=0;
}

