<!--
// Author: Anedix Technologies, Inc.
// Web Author: http://www.anedix.com/
// Date: June 12, 2006
// Description: Slide show w/ fade effect without using Flash.
// Compatability: IE 5.5+, IE6/7, Mozilla Firefox, Opera 9, Safari 1.3
// Copyright (c) 2006 all rights reserved.
//

// global image array
var imageArray = new Array();
var imageCount = 0;
var imageMax = 0;
var timeoutID = 0;
var timeFadeInID = 0;
var timeFadeOutID = 0;
var timeFadeWaitID = 0;
var slideCount = 0;
var slideCurrent = -1;
var slideLast = 0;
var slideWait = 0;
var slideShowReady = 0;

// slideshow add data
function cwjs_add_slide(slidedata) {
  imageArray[imageCount++] = ''+slidedata+'';
}

// function show slide controls
function cwjs_show_slide_controls(boolPaused) {
  var slideControls = "";
  var slideMsg = "";

  slideControls = slideControls + "<input type=\"button\" value=\"Previous\" onClick=\"javascript:cwjs_present_picture("+(slideCurrent-1)+");\">&nbsp;";
  slideControls = slideControls + "<input type=\"button\" value=\"Next\" onClick=\"javascript:cwjs_present_picture("+slideCount+");\">&nbsp;";

  
  if (boolPaused) {
    slideControls = slideControls + "<input type=\"button\" value=\"Continue\" onClick=\"javascript:cwjs_continue_slide();\">&nbsp;";
    slideMsg = "[ paused ]";
  } else {
    slideControls = slideControls + "<input type=\"button\" value=\"Pause\" onClick=\"javascript:cwjs_pause_slide();\">&nbsp;";
    slideMsg = "&nbsp;";
  }

  slideControls = slideControls + "<input type=\"button\" value=\"Close\" onClick=\"javascript:window.close();return true\">&nbsp;";
  slideControls = "";

  //document.getElementById('progress-bar').innerHTML = "<br/>"+slideControls+"<br/><br/>"+slideMsg+"<br/>";
}

// function pause slideshow
function cwjs_pause_slide() {
  clearTimeout(timeoutID);
  cwjs_show_slide_controls(true);
}

// function continue slideshow
function cwjs_continue_slide() {
  cwjs_present_picture(slideCount);
}

// function free up progress-bar div
function cwjs_progress_bar_action() {
  cwjs_show_slide_controls(false);
  if (imageMax > 1) {
    timeoutID = setTimeout('cwjs_present_picture('+slideCount+')',6000); // 6 sec delay
  }
}

// slideshow present picture
function cwjs_present_picture(slidePosition) {
  // width,height,imagesrc,imagecaption,description
  var lstrOut='';
  var img_width=0;
  var img_height=1;
  var img_src=2;
  var img_caption=3;
  var img_description=4;


  if (imageMax == 0) {
    return;
  }

  if (slidePosition < 0) {
    slidePosition = 0;
  }

  var imageData = imageArray[slidePosition];
  var imageProperty = imageData.split("|");

  clearTimeout(timeoutID);

  //document.getElementById('progress-bar').innerHTML = "<br/><br/>loading slide "+(slidePosition+1)+" of "+imageMax+"...please wait.<br/><br/>";

  if (slideCurrent != slideCount) {
     slideWait = 1;
     cwjs_DisplayEffectFade('out');
     cwjs_WaitForFade(slidePosition);
     slideCurrent = slideCount;
  }
  if (!slideWait) {
    document.slide.width=imageProperty[img_width];
    document.slide.height=imageProperty[img_height];
    document.slide.onload=cwjs_DisplayEffectFadeInit; //cwjs_start_timer;
    document.slide.src=imageProperty[img_src];

    // update url
    document.getElementById('slideurl').href=imageProperty[img_description];
    document.getElementById('slideurl').title=imageProperty[img_caption];
    document.getElementById('slideurl').alt=imageProperty[img_caption];

    slideCount = slidePosition+1;
    if (slideCount > imageMax-1) {
      slideCount = 0;
    }
  }
}

function cwjs_start_timer() {
  timeoutID = setTimeout('cwjs_progress_bar_action()',2000);
}

// wait around routine
function cwjs_WaitForFade(slidePosition) {
   if (!slideWait){
     clearTimeout(timeFadeWaitID);
      cwjs_present_picture(slidePosition);
   } else {
      timeFadeWaitID = setTimeout('cwjs_WaitForFade('+slidePosition+')', 10);
   }
}

// special effects

function cwjs_DisplayEffectFadeInit() {
   cwjs_DisplayEffectFade('in');
   cwjs_start_timer();
}
function cwjs_DisplayEffectFade(fadedir) {
   imageId = 'slide';
   image = document.getElementById(imageId);
   if (fadedir == 'in') {
     cwjs_DisplayEffectSetOpacity(image, 0);
     image.style.visibility = "visible";
     cwjs_DisplayEffectFadeIn(imageId,0);
   } else {
     cwjs_DisplayEffectSetOpacity(image, 100);
     image.style.visibility = "visible";
     cwjs_DisplayEffectFadeOut(imageId,100);
   }
}
function cwjs_DisplayEffectFadeIn(objId,opacity) {
        if (document.getElementById) {
                obj = document.getElementById(objId);
                if (opacity <= 100) {
                        cwjs_DisplayEffectSetOpacity(obj, opacity);
                        opacity += 10;
                        timerFadeInID = window.setTimeout("cwjs_DisplayEffectFadeIn('"+objId+"',"+opacity+")", 100);
                } else {
                  clearTimeout(timerFadeInID);
                  slideWait = 0;
                }
        }
}
function cwjs_DisplayEffectFadeOut(objId,opacity) {
        if (document.getElementById) {
                obj = document.getElementById(objId);
                if (opacity >= -10) {
                        cwjs_DisplayEffectSetOpacity(obj, opacity);
                        opacity -= 10;
                        timerFadeOutID = window.setTimeout("cwjs_DisplayEffectFadeOut('"+objId+"',"+opacity+")", 100);
                } else {
                  clearTimeout(timerFadeOutID);
                  slideWait = 0;
                }
        }
}

function cwjs_DisplayEffectSetOpacity(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;
}

-->
