
// =====================================================
// Kris Klimaszewski for Signum Systems Corp.
// All contents copyright. All rights reserved.
// =====================================================
// slides.js


// Fade effect only in IE; degrades gracefully everywhere else.
// Also, cf. permadi.

// Defaults in case they are not set individually for local pages.
if (typeof slideShowSpeed    == 'undefined') var slideShowSpeed    = 3000;
if (typeof crossFadeDuration == 'undefined') var crossFadeDuration = 3;
if (typeof transitionType    == 'undefined') var transitionType    = "blend"; 

var timeoutID;
var j = 0

// Main func
function runSlideShow(){
  if (document.all){
    switch(transitionType) {					
      case "boxin":	//box in
        filterFunc = "revealTrans(transition=0, duration=)" + crossFadeDuration + ")";
        break;
      case "boxout":	// box out
        filterFunc = "revealTrans(transition=1, duration=)" + crossFadeDuration + ")";
        break;
      case "circlein":	// circle in
        filterFunc = "revealTrans(transition=2, duration=)" + crossFadeDuration + ")";
        break;
      case "circleout":	// circle out
        filterFunc = "revealTrans(transition=3, duration=)" + crossFadeDuration + ")";
        break;
      case "wipeup":	// wipe up
        filterFunc = "revealTrans(transition=4, duration=)" + crossFadeDuration + ")";
        break;
      case "wipedown":	// wipe down
        filterFunc = "revealTrans(transition=5, duration=)" + crossFadeDuration + ")";
        break;
      case "wiperight":	// wipe L to R
        filterFunc = "revealTrans(transition=6, duration=)" + crossFadeDuration + ")";
        break;
      case "wipeleft":	// wipe R to L
        filterFunc = "revealTrans(transition=7, duration=)" + crossFadeDuration + ")";
        break;
      case "vblades":	// vertical blades
        filterFunc = "revealTrans(transition=8, duration=)" + crossFadeDuration + ")";
        break;
      case "hblades":	// horizontal blades
        filterFunc = "revealTrans(transition=9, duration=)" + crossFadeDuration + ")";
        break;
      case "hcheck":	// horizontal checkerboard
        filterFunc = "revealTrans(transition=10, duration=)" + crossFadeDuration + ")";
        break;
      case "vcheck":	// vertical checkerboard
        filterFunc = "revealTrans(transition=11, duration=)" + crossFadeDuration + ")";
        break;
      case "dissolve":	// dissolve
        filterFunc = "revealTrans(transition=12, duration=)" + crossFadeDuration + ")";
        break;
      case "hbarnclose":// barn doors close
        filterFunc = "revealTrans(transition=13, duration=)" + crossFadeDuration + ")";
        break;
      case "hbarnopen": // barn doors open
        filterFunc = "revealTrans(transition=14, duration=)" + crossFadeDuration + ")";
        break;
      case "vbarnclose":// barn doors close vertically
        filterFunc = "revealTrans(transition=15, duration=)" + crossFadeDuration + ")";
        break;
      case "vbarnopen":	// barn doors open vertically
        filterFunc = "revealTrans(transition=16, duration=)" + crossFadeDuration + ")";
        break;
      case "zig1":	//diagonal zigzag UR to LL
        filterFunc = "revealTrans(transition=17, duration=)" + crossFadeDuration + ")";
        break;
      case "zig2":	//diagonal zigzag LR to UL
        filterFunc = "revealTrans(transition=18, duration=)" + crossFadeDuration + ")";
        break;
      case "zig3":	// diagonal zigzag UL to LR
        filterFunc = "revealTrans(transition=19, duration=)" + crossFadeDuration + ")";
        break;
      case "zig4":	// diagonal zigzag LL to UR
        filterFunc = "revealTrans(transition=20, duration=)" + crossFadeDuration + ")";
        break;
      case "pixelate":
        filterFunc = "progid:DXImageTransform.Microsoft.Pixelate(duration=" + crossFadeDuration + ")";;
        break;
      case "gradwipe":
        filterFunc = "progid:DXImageTransform.Microsoft.gradientWipe(duration=" + crossFadeDuration + ")";
        break;
      case "spiral":
        filterFunc = "progid:DXImageTransform.Microsoft.Spiral(duration=" + crossFadeDuration + ")";
        break;
      case "wheel":
        filterFunc = "progid:DXImageTransform.Microsoft.Wheel(duration=" + crossFadeDuration + ")";
        break;
      case "radialwipe":
        filterFunc = "progid:DXImageTransform.Microsoft.RadialWipe(duration=" + crossFadeDuration + ")";
        break;
      case "iris":
        filterFunc = "progid:DXImageTransform.Microsoft.Iris(duration=" + crossFadeDuration + ")";
        break;
      case "gradwipe":	// gradient wipe
        filterFunc = "progid:DXImageTransform.Microsoft.gradientWipe(duration=" + crossFadeDuration + ")";
        break;
      case "blend":
    	default:
        filterFunc = "blendTrans(duration=" + crossFadeDuration + ")";
        break;
    } // switch

    document.images.SlideShow.style.filter=filterFunc;
    document.images.SlideShow.filters[0].Apply()    
  } // if document.all


  document.images.SlideShow.src = slides[j].src		// supply new img; "slides" array decl. earlier
  if (document.all){
    document.images.SlideShow.filters[0].Play()
  }
  j = j + 1
  if (j > (slides.length-1)) j=0			      // rewind at end of show
  timeoutID = setTimeout('runSlideShow(slides)', slideShowSpeed)
}

// eof