//
// scripts.js
//

// -- Constants --

var numThumbs = 8;

// -- State variables --

var imgNum = 0;
var thumbOffset = 0;

// -- Methods --

function preload() {
  if (!document.images || document.preload) return;
  document.preload = new Array();

  // preload arrow buttons
  document.preload[0] = new Image;
  document.preload[0].src = 'left.gif';
  document.preload[1] = new Image;
  document.preload[1].src = 'right.gif';
  document.preload[2] = new Image;
  document.preload[2].src = 'left-small.gif';
  document.preload[3] = new Image;
  document.preload[3].src = 'right-small.gif';

  // preload first image
  document.preload[4] = new Image;
  document.preload[4].src = dir + '/' + pics[0];

  // preload thumbnails
  for (i=0; i<pics.length; i++) {
    document.preload[i+5] = new Image;
    document.preload[i+5].src = dir + '/thumbs/' + pics[i];
  }

  // preload other images
  for (i=1; i<pics.length; i++) {
    document.preload[pics.length+i+5] = new Image;
    document.preload[pics.length+i+5].src = dir + '/' + pics[i];
  }
}

function categories() {
  document.write('<div id="categories">');
  row = 0;
  col = 0;
  for (i=0; i<pics.length; i++) {
    if (col == 0) document.write('<table><tr>'); // first column
    document.write('<td class="category">');
    img = dir + '/' + pics[i];
    if (refs[i] == '') refs[i] = '#';
    document.write('<a href="'+refs[i]+'" ' +
      'onMouseOut="MM_swapImgRestore();' +
      'document.getElementById(\'title'+i+'\').innerHTML=\'&nbsp;\'" ' +
      'onMouseOver="MM_swapImage(\'category'+i+'\',\'\',\''+img+'\',1);' +
      'document.getElementById(\'title'+i+'\').innerHTML=\''+names[i]+'\'">');
    document.write('<img name="category'+i+'" ' +
      'src="'+img.substring(0, img.length - 4)+'2.jpg" ' +
      'width="'+width+'" height="'+height+'">');
    document.write('</a><div id="title'+i+'">&nbsp;</div>');
    document.write('</td>');
    if (col == cols[row] - 1) document.write('</tr></table>'); // last column
    col++;
    if (col >= cols[row]) {
      col = 0;
      row++;
    }
  }
  document.write('</div>');
}

function thumbs() {
  document.write('<div id="thumbs">');
  document.write('<img name="thumb_left" onClick="chgThumb(-2)"> ');
  len = pics.length;
  if (len > numThumbs) len = numThumbs;
  for (i=0; i<len; i++) {
    document.write('<img id="thumb'+i+'" class="thumb" ' +
      '" onClick="setImg('+i+')" width="60" height="60"></a>');
  }
  document.write('<img name="thumb_right" onClick="chgThumb(2)">');
  document.write('</div>');
  chgThumb(0);
}

function gallery() {
  document.write('<table id="gallery"><tr>');
  document.write('<td><img name="img_left" ' +
    'src="left.gif" onClick="chgImg(-1)"></td>');
  document.write('<td class="gallery">');
  document.write('<div id="desc"></div>');
  document.write('<img name="gallery" id="gallery-image">');
  document.write('</td>');
  document.write('<td><img name="img_right" ' +
    'src="right.gif" onClick="chgImg(1)"></td>');
  document.write('</tr></table>');
  updateImg();
}

function chgThumb(direction) {
  if (!document.images) return;
  len = pics.length;
  if (len > numThumbs) len = numThumbs;
  thumbOffset += direction;
  if (thumbOffset < 0) thumbOffset = 0;
  if (thumbOffset > pics.length - len) thumbOffset = pics.length - len;
  for (i=0; i<len; i++) {
    thumb = document.getElementById('thumb' + i);
    thumb.src = dir + '/thumbs/' + pics[thumbOffset + i];
    if (!window.nodescribe) {
      thumb.title = (thumbOffset + i + 1) + ': ' + pics[thumbOffset + i];
    }
  }
  if (thumbOffset == 0) document.thumb_left.src = 'blank.gif';
  else document.thumb_left.src = 'left-small.gif';
  if (thumbOffset == pics.length - len) document.thumb_right.src = 'blank.gif';
  else document.thumb_right.src = 'right-small.gif';
}

function chgImg(direction) {
  if (!document.images) return;
  imgNum = imgNum + direction;
  updateImg();
}

function setImg(n) {
  if (!document.images) return;
  imgNum = n + thumbOffset;
  updateImg();
}

function updateImg() {
  if (imgNum >= pics.length) imgNum = 0;
  if (imgNum < 0) imgNum = pics.length - 1;
  document.gallery.src = dir + '/' + pics[imgNum];
  if (!window.nodescribe) {
    document.gallery.title = (imgNum + 1) + ': ' + pics[imgNum];
    document.getElementById('desc').innerHTML =
      pics[imgNum].substring(0, pics[imgNum].length - 4);
  }
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr;
  for (i=0; a && i<a.length && (x=a[i]) && x.oSrc; i++) x.src = x.oSrc;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments;
  document.MM_sr=new Array;
  for(i=0;i<(a.length-2);i+=3) {
    if ((x=MM_findObj(a[i]))!=null) {
      document.MM_sr[j++]=x;
      if (!x.oSrc) x.oSrc=x.src;
      x.src=a[i+2];
    }
  }
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;
  if (!d) d=document;
  if ((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document;
    n=n.substring(0,p);
  }
  if (!(x=d[n])&&d.all) x=d.all[n];
  for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for (i=0;!x&&d.layers&&i<d.layers.length;i++) {
    x=MM_findObj(n,d.layers[i].document);
  }
  if (!x && d.getElementById) x=d.getElementById(n);
  return x;
}
