// Copyright 2008 Infoglobe Communications, all right reserved and no screwing around!

var cdiv = 1;
var swapid;
// lower = faster
var speed = 10;
var viewDelay = 7000;
var initialDelay = 4000;

var playing = 0;

function setOpacity(obj, opacity) {
  opacity = (opacity == 100)?99.999:opacity;
  // IE/Win
  obj.style.filter = "alpha(opacity:"+opacity+")";
  // Safari<1.2, Konqueror
  obj.style.KHTMLOpacity = opacity/100;
  // Older Mozilla and Firefox
  obj.style.MozOpacity = opacity/100;
  // Safari 1.2, newer Firefox and Mozilla, CSS3
  obj.style.opacity = opacity/100;
}

function fadeIn(objId,opacity) {
      setOpacity(obj, 100);
//  if (document.getElementById) {
//    obj = document.getElementById(objId);
//    if (opacity <= 100) {
//      setOpacity(obj, opacity);
//      opacity += 5;
//      window.setTimeout("fadeIn('"+objId+"',"+opacity+")", 30);
//    }
//  }
}

function fadeOut(objId,opacity,next) {
  if (document.getElementById) {
    obj = document.getElementById(objId);
//    if (opacity > 0) {
      setOpacity(obj, 0);
//      opacity -= 5;
//      window.setTimeout("fadeOut('"+objId+"',"+opacity+",'" + next + "')", 30);
//    }
//    else {
      obj.style.visibility = 'hidden';
      //opacity is 0, finished fading out, time to fade the next one in
      image = document.getElementById(next);
      image.style.visibility = 'visible';
      image.style.display = 'block';
      fadeIn(next, 0);
//    }
  }
}


function swapImage() {
  //fades out current, fades in next

  nextnum = getnext(cdiv)
  fadeOut(cdiv, 100, nextnum);
  cdiv = nextnum;
  swapid = window.setTimeout("swapImage()", viewDelay);

  var top = findTop(document.getElementById('1'));
  var left = findLeft(document.getElementById('1'));
  var d = document.getElementById(nextnum);
  d.style.top = top;
  d.style.pixelTop = top;
  d.style.left = left;
  d.style.pixelLeft = left;

}

function getnext(num) {
  var next = num + 1;
  if (!document.getElementById(next)) { return(1); }
  else { return(++num); }
}

function getprev(num) {
  if (num == 1) { return(numSlides); }
  else { return(--num); }
}

function swapnext() {
  window.clearTimeout(swapid);
  
  nextnum = getnext(cdiv);
  
  // hide cdiv, show nextnum.
  c = document.getElementById(cdiv);
  c.style.visibility = 'hidden';
  setOpacity(c, 0);
  n = document.getElementById(nextnum);

  var top = findTop(document.getElementById('1'));
  var left = findLeft(document.getElementById('1'));
  n.style.top = top;
  n.style.pixelTop = top;
  n.style.left = left;
  n.style.pixelLeft = left;
  n.style.visibility = 'visible';
  n.style.display = 'block';
  setOpacity(n, 100);
  cdiv = nextnum;

  nextnum = getnext(cdiv);
  if (playing == 1) {
    swapid = window.setTimeout("swapImage()", viewDelay);
  }

}

function swapprev() {
  window.clearTimeout(swapid);
  
  nextnum = getprev(cdiv);
  
  // hide cdiv, show nextnum.
  c = document.getElementById(cdiv);
  c.style.visibility = 'hidden';

  setOpacity(c, 0);
  n = document.getElementById(nextnum);

  var top = findTop(document.getElementById('1'));
  var left = findLeft(document.getElementById('1'));
  n.style.top = top;
  n.style.pixelTop = top;
  n.style.left = left;
  n.style.pixelLeft = left;
  n.style.visibility = 'visible';
  n.style.display = 'block';
  setOpacity(n, 100);
  cdiv = nextnum;

  
  nextnum = getnext(cdiv);
  if (playing == 1) {
    swapid = window.setTimeout("swapImage()", viewDelay);
  }
}

function init() {
  // position the play menu div
  var firstSlide = document.getElementById('1');
  var top = findTop(firstSlide);
  var left = findLeft(firstSlide);
  var d = document.getElementById('playmenu');
  d.style.top = top + 50;
  d.style.pixelTop = top + 50;
  d.style.left = left + 0;
  d.style.pixelLeft = left + 0;
  setOpacity(d, 50);
  d.style.display = 'block';

  setOpacity(firstSlide, 100);
  firstSlide.style.visiblity = "visible";

  swapid = window.setTimeout("swapImage()", initialDelay);
  playing = 1;
}

function pause() {
  if (playing == 1) {
    window.clearTimeout(swapid);
    document.getElementById('playpause').src='/images/slide-play.png';
    playing = 0;
  }
  else {
    window.clearTimeout(swapid);
    swapid = window.setTimeout("swapImage()", 500);
    document.getElementById('playpause').src='/images/slide-pause.png';
    playing = 1;
  }

}


function findLeft(obj) {
  var curleft = curtop = 0;
  if (obj.offsetParent) {
    curleft = obj.offsetLeft
    while (obj = obj.offsetParent) {
      curleft += obj.offsetLeft
    }
  }
  return (curleft);
}

function findTop(obj) {
  var curleft = curtop = 0;
  if (obj.offsetParent) {
    curtop = obj.offsetTop
    while (obj = obj.offsetParent) {
      curtop += obj.offsetTop
    }
  }
  return (curtop);
}
