var curNum = 0;
var curX = 0;
var endX = 0;
var bodyW = 850;
var ssTimeout = false;

var loadedCount = 2;
var ssImageArr = new Array();


function initIt() {
 loadNext();
 if (window.innerWidth)
  bodyW = window.innerWidth;
 else if (document.body.offsetWidth)
  bodyW = document.body.offsetWidth
 bodyC = Math.round(bodyW / 2);
 newC = Math.round(bodyC - ssWidths[0]/2);
 newC -= startOffset;
 o = document.getElementById('ssTable');
 o.style.left = newC + 'px';
 o.style.visibility = 'visible';
 curX = newC;
 endX = newC;

 ssTimeout = setTimeout('showNext()', 2000);
}

function showNext() {
 curNum++;
 if (curNum >= ssWidths.length)
  curNum = 0;

 if (window.innerWidth)
  bodyW = window.innerWidth;
 else if (document.body.offsetWidth)
  bodyW = document.body.offsetWidth;
//----- BODY CENTER
 bodyC = Math.round(bodyW / 2);
//----- ABSOLUTE POSITION OF CURRENT IMAGE TO CENTER IT
 newX = Math.round(bodyC - ssWidths[curNum]/2);
//----- SUBTRACT ORIGINAL OFFSET
 newX -= startOffset;
//----- SUBTRACT ALL PREVIOUS IMAGE WIDTHS
 for (i=0;i<curNum;i++) {
  newX -= ssWidths[i];
 }

 endX = newX;

 if (curX - endX > ssTotalW)
  endX += ssTotalW;

 ssTimeout = setTimeout('moveIt()', 50);
}

function moveIt() {
 newX = Math.floor((curX * 4 + endX)/5);

 if (newX < -1 * ssTotalW && endX < -1 * ssTotalW) {
  newX += ssTotalW;
  endX += ssTotalW;
 }

 document.getElementById('ssTable').style.left = newX + 'px';
 curX = newX;

 if (Math.abs(curX - endX) > 1) {
  clearTimeout(ssTimeout);
  ssTimeout = setTimeout('moveIt()', 50);
 } else {
  clearTimeout(ssTimeout);
  ssTimeout = setTimeout('showNext()', 2000);
 }
}

function loadNext() {
 if (loadedCount > 2)
  document.getElementById('ss'+loadedCount).src = ssSources[loadedCount];

 loadedCount++;
 if (loadedCount < ssSources.length) {
  ssImageArr[loadedCount] = new Image();
  ssImageArr[loadedCount].src = ssSources[loadedCount];
  ssImageArr[loadedCount].onload = function() { loadNext(); };
 }
}
