/*
Smart Cache Slide Show
Copyright Jason Moon
To add more shock to your site, visit www.DHTML Shock.com
*/
// PUT THE URL'S OF YOUR IMAGES INTO THIS ARRAY...
var Slides = new Array('casestudies/images/wd.jpg','casestudies/images/tms.gif','casestudies/images/tg.jpg','casestudies/images/sorbican.jpg','casestudies/images/siracom.jpg','casestudies/images/pos.jpg','casestudies/images/odb.jpg','casestudies/images/ocf.gif','casestudies/images/ma.jpg','casestudies/images/k9.gif','casestudies/images/in.jpg','casestudies/images/handb.gif','casestudies/images/gcp.jpg','casestudies/images/fw.jpg','casestudies/images/fdc.jpg','casestudies/images/eq.jpg','casestudies/images/das.gif','casestudies/images/ch.jpg','casestudies/images/ccl.gif','casestudies/images/bof.jpg','casestudies/images/bk.jpg','casestudies/images/a4u.jpg','casestudies/images/wef.jpg','casestudies/images/ab.jpg','casestudies/images/qmarine.jpg','casestudies/images/adr.jpg','casestudies/images/house.jpg','casestudies/images/css.jpg','casestudies/images/art.jpg','casestudies/images/quantum.jpg','casestudies/images/tgbatv.jpg','casestudies/images/fg2.jpg','casestudies/images/wd.gif','casestudies/images/ucpc.jpg','casestudies/images/cma.jpg','casestudies/images/lrt.jpg','images/qmi.jpg');


// DO NOT EDIT BELOW THIS LINE!

function CacheImage(ImageSource) { // TURNS THE STRING INTO AN IMAGE OBJECT
   var ImageObject = new Image();
   ImageObject.src = ImageSource;
   return ImageObject;
}

function ShowSlide(Direction) {
if (SlideReady) {
      NextSlide = CurrentSlide + Direction;

 
 	if ((NextSlide >= 0) && (NextSlide < Slides.length)) {
            document.images['Screen'].src = Slides[NextSlide].src;
	    initImage();// fade in image
            CurrentSlide = NextSlide++;
            Message = 'Picture ' + (CurrentSlide+1) + ' of ' + Slides.length;
	    self.defaultStatus = Message;
            if (Direction == 1) CacheNextSlide();
      	}
	else{
	    CurrentSlide = 0; //end of images, start again with first slide
	    NextSlide = CurrentSlide
            document.images['Screen'].src = Slides[NextSlide].src;
	    initImage();// fade in image
            CurrentSlide = NextSlide++;
            Message = 'Picture ' + (CurrentSlide+1) + ' of ' + Slides.length;
	    self.defaultStatus = Message;
            if (Direction == 1) CacheNextSlide();
	}
      return true;
   }
}

function Download() {
   if (Slides[NextSlide].complete) {
      SlideReady = true;
      self.defaultStatus = Message;
   }
   else setTimeout("Download()", 10); // CHECKS DOWNLOAD STATUS EVERY 10 MS
   return true;
}

function CacheNextSlide() {
   if ((NextSlide < Slides.length) && (typeof Slides[NextSlide] == 'string'))
{ // ONLY CACHES THE IMAGES ONCE
      SlideReady = false;
      self.defaultStatus = 'Downloading next picture...';
      Slides[NextSlide] = CacheImage(Slides[NextSlide]);
      Download();
   }
   return true;
}

function StartSlideShow() {
   CurrentSlide = -1;
   Slides[0] = CacheImage(Slides[0]);
   SlideReady = true;
   ShowSlide(1);
}
//*******************************************************

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) {
  if (document.getElementById) {
    obj = document.getElementById(objId);
    if (opacity <= 100) {
      setOpacity(obj, opacity);
      opacity += 10;
      window.setTimeout("fadeIn('"+objId+"',"+opacity+")", 20);
    }
    else{
      setTimeout("ShowSlide(1)", 1500); //now faded in, select next slide upon timeout
    }
  }
}


function initImage() {
  imageId = 'thephoto';
  image = document.getElementById(imageId);
  setOpacity(image, 0);
  image.style.visibility = 'visible';
  fadeIn(imageId,0);
}