// THIS PAGE CREATE BY JIM ROBINSON ON June 28, 2007

/////////////////////////////////////////////////////////////////////////////////////////////
//       DO NOT ALTER CODE BELOW UNLESS YOU KNOW WHAT YOU ARE DOING!!!                     //
/////////////////////////////////////////////////////////////////////////////////////////////

currentGroupNum = null;
currentImageNum = null;

// PAGE LOAD FUNCTION
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

addLoadEvent(init); // Load init() when page is done loading.

function init() {
  useSmallThumbs = (useSmallThumbs == null) ? false : useSmallThumbs; // Default value - JSv1
  
  if(useSmallThumbs == true)
    prefix = 'ths_';
  else
    prefix = 'th_';
  
  // Set DOM objects
  imageDisplay_DOMObj = document.getElementById(imageDisplay_DOMObj);
  if(showGroupDescription)
    imageDescription_DOMObj = document.getElementById(imageDescription_DOMObj);
  
  // Preload Images
  preloadImages();
  
  // Set initial values
  currentImageNum = 0;
  currentGroupNum = 0;
  
  // Start
  startSlideshow();
}

// Preload Images
function preloadImages() {
  var fileNumber = null;
  
  for(i=0;i<groupArray.length;i++) {
    groupArray[i][3] = new Array(groupArray[i][2]);
	fileNumber = 1;
	for(x=0;x<groupArray[i][2];x++) {
	  groupArray[i][3][x] = new Image();
	  groupArray[i][3][x].src = galleryLocation + groupArray[i][1] + prefix + fileNumber + '.jpg';
	  fileNumber++;
	}
  }
  
  delete fileNumber;
}

function startSlideshow() {
  initialTimer = window.setInterval("alterImage(initialTimer,true)",500);
  regularTimer = window.setInterval("alterImage(regularTimer,false)",pauseTime);
}

// Change displayed image
function alterImage(usedTimer,autoClearTimer) {
  // clear timer
  if(autoClearTimer)
    window.clearInterval(usedTimer);
	
  // If image number greater than total, increment group
  if(currentImageNum > (groupArray[currentGroupNum][3].length-1)) {
    currentGroupNum++;
	currentImageNum = 0;
  }
  // If group number greater than total, reset to beginning
  if(currentGroupNum > (groupArray.length-1)) {
    currentGroupNum = 0;
	currentImageNum = 0;
  }
  
  if(groupArray[currentGroupNum][3][currentImageNum].complete) {
    // Alter Image displayed
    if(showGroupDescription)
      imageDescription_DOMObj.innerHTML = '<div>' + groupArray[currentGroupNum][0] + '</div>';
    imageDisplay_DOMObj.src    = groupArray[currentGroupNum][3][currentImageNum].src;
    imageDisplay_DOMObj.height = groupArray[currentGroupNum][3][currentImageNum].height;
    imageDisplay_DOMObj.width  = groupArray[currentGroupNum][3][currentImageNum].width;
  
    // Set margin (to center vertically)
    imageDisplay_DOMObj.style.marginTop = ((containerHeight - groupArray[currentGroupNum][3][currentImageNum].height) / 2) + 'px';
  }
  
  // Increment Image Number
  currentImageNum++;
}