// Configurable items --------------------------

// Here is where you control the content of the slideshow

slideshow.addSlide('slideshow/slides/summer_camp_2010.jpg');
//slideshow.addSlide('slideshow/slides/scholarship.jpg');
slideshow.addSlide('slideshow/slides/activtrax.jpg');
slideshow.addSlide('slideshow/slides/birthday_party.jpg');
slideshow.addSlide('slideshow/slides/3for75.jpg');
slideshow.addSlide('slideshow/slides/massage.jpg');





// how long to show each slide in milliseconds
// example: 4000 = 4 seconds
var timerInterval = 5000;

// End of configurable items --------------------------




















var timerid = null; 

 
function ssButtonClicked(whichButton)
{
  debug("whichButton = " +  whichButton)
  var btn = document.getElementById("btn_" + whichButton);
  debug("img = " + btn.outerHTML);
  
  if (btn != null)
  {
    var status = btn.getAttribute("status");
    debug("status = " + status);
    
    if (status != "0")
    {
      switch (whichButton)
      {
        case "first" :
          loadNextImage(0);
          break;   
        case "prev" :
          loadNextImage(currImgIdx -1); 
          break;   
        case "play" :
          ssRunning = true;
          loadNextImage();          
          break;   
        case "stop" :
          ssRunning = false;
          clearTimeout(timerid);
          break;   
        case "next" :
          loadNextImage(currImgIdx +1);
        
          break;   
        case "last" :
          loadNextImage(slideshow.imgArr.length -1);        
          break;   
      }
      
      setSsButtons();  
    }
  }
  else
  {
     debug("btn is null");
  }
}

function setSsButtons()
{
 
  if (ssRunning == true)
  {
    disableButton("btn_first");
    disableButton("btn_prev");
    disableButton("btn_play");
    //enableButton("btn_stop");
    disableButton("btn_next");
    disableButton("btn_last");                
  }
  else
  {
    if (currImgIdx == 0)
    {
      disableButton("btn_first");
      disableButton("btn_prev");     
    }
    else
    { 
      enableButton("btn_first"); 
      enableButton("btn_prev");
    }
    enableButton("btn_play");
    //disableButton("btn_stop");
    
    if (currImgIdx == slideshow.imgArr.length -1)    
    {
      disableButton("btn_next");
      disableButton("btn_last");            
    }
    else
    {
      enableButton("btn_next");
      enableButton("btn_last");       
    }
  }
}

function enableButton(id)
{
  var btn = document.getElementById(id);
  var newSrc = "";
  if (btn)
  {
    switch (id)
    {
      case "btn_first" :
        newSrc = ssFirst.src;
        break;   
      case "btn_prev" :
        newSrc = ssPrevious.src;      
        break;   
      case "btn_play" :
        newSrc = ssPlay.src;
        break;   
      case "btn_stop" :
        newSrc = ssStop.src;
        break;   
      case "btn_next" :
        newSrc = ssNext.src;
        break;   
      case "btn_last" :
        newSrc = ssLast.src;
        break;   
    }    
    
    btn.src = newSrc;
    btn.setAttribute("status", "1");
  }  
}

function disableButton(id)
{
  var btn = document.getElementById(id);
  var newSrc = "";
  if (btn)
  {
    switch (id)
    {
      case "btn_first" :
        newSrc = ssFirstNo.src;
        break;   
      case "btn_prev" :
        newSrc = ssPreviousNo.src;      
        break;   
      case "btn_play" :
        newSrc = ssPlayNo.src;
        break;   
      case "btn_stop" :
        newSrc = ssStopNo.src;
        break;   
      case "btn_next" :
        newSrc = ssNextNo.src;
        break;   
      case "btn_last" :
        newSrc = ssLastNo.src;
        break;   
    }    
    
    btn.src = newSrc;
    btn.setAttribute("status", "0");
  }  
}

var ssFirst = new Image();
ssFirst.src = "slideshow/controls/first.gif";

var ssFirstNo = new Image();
ssFirstNo.src = "slideshow/controls/firstno.gif";

var ssPrevious = new Image();
ssPrevious.src = "slideshow/controls/prev.gif";

var ssPreviousNo = new Image();
ssPreviousNo.src = "slideshow/controls/prevno.gif";

var ssPlay = new Image();
ssPlay.src = "slideshow/controls/play.gif";

var ssPlayNo = new Image();
ssPlayNo.src = "slideshow/controls/playno.gif";

var ssStop = new Image();
ssStop.src = "slideshow/controls/stop.gif";

var ssStopNo = new Image();
ssStopNo.src = "slideshow/controls/stopno.gif";

var ssNext = new Image();
ssNext.src = "slideshow/controls/next.gif";

var ssNextNo = new Image();
ssNextNo.src = "slideshow/controls/nextno.gif";

var ssLast = new Image();
ssLast.src = "slideshow/controls/last.gif";

var ssLastNo = new Image();
ssLastNo.src = "slideshow/controls/lastno.gif";

var ssRunning = true; 
var currImgIdx = 0;
var scrollerImg = null;


var dimages=new Array();
var curImage=0;
var numImages=slideshow.imgArr.length;

var onlyBlend = true;
var transIdx = 0;
var transArr = new Array();
transArr[0] = "blendTrans(duration=1)";
transArr[1] = "revealTrans(duration=1, transition=0)";
transArr[2] = "revealTrans(duration=1, transition=1)";
//transArr[3] = "progid:DXImageTransform.Microsoft.Pixelate(duration=3)";
transArr[3] = "revealTrans(duration=1, transition=2)";
transArr[4] = "revealTrans(duration=1, transition=3)";
transArr[5] = "revealTrans(duration=1, transition=10)";
transArr[6] = "revealTrans(duration=1, transition=11)";
transArr[7] = "revealTrans(duration=1, transition=12)";
transArr[8] = "revealTrans(duration=1, transition=4)";
transArr[9] = "progid:DXImageTransform.Microsoft.gradientWipe(duration=1)";
transArr[10] = "progid:DXImageTransform.Microsoft.Spiral(duration=3, GridSizeX=205, GridSizeY=205)";
transArr[11] = "progid:DXImageTransform.Microsoft.Wheel((duration=3, spokes=10)";
transArr[12] = "progid:DXImageTransform.Microsoft.RadialWipe(duration=3)";
transArr[13] = "progid:DXImageTransform.Microsoft.Iris((duration=3)";
transArr[14] = "revealTrans(duration=3, transition=20)";
transArr[15] = "revealTrans(duration=3, transition=14)";
 
function init()
{
  document.getElementById("sp_img_count").innerHTML = slideshow.imgArr.length;
  
  var imgContainer = document.getElementById("myimg");
  imgContainer.src = slideshow.imgArr[0];
  
  preload();
  //loadNextImage();
  timerid = window.setTimeout("loadNextImage();", timerInterval);      
}

function preload()
{
  for (i=0; i<numImages; i++)
  {
    dimages[i]=new Image();
    //dimages[i].src = "paintings/thumbs/" + imgArr[i];
    dimages[i].src = slideshow.imgArr[i];    
  }
}

function transformPicture(filterFunction)
{
 debug("in transformPicture, currImgIdx = " + currImgIdx);		
  if (document.images)
  {
    //currImgIdx++;
    if (currImgIdx>=numImages)
    {
      currImgIdx=0;
    }  
    
    debug("Setting image to " + dimages[currImgIdx].src);
    document.images.myimg.src = dimages[currImgIdx].src;    
  }    	
}

function transformPictureSave(filterFunction)
{
	//filterFunction = null;
	
  if (document.images)
  {
    curImage++;
    if (curImage>=numImages)
      curImage=0;
	
    if (filterFunction==null)
      filterFunction="blendTrans(duration=2.0)"

    var canBeFiltered=false;
    if (document.images.myimg && document.images.myimg.style && 
      document.images.myimg.style.filters)
    {
      canBeFiltered=true;
      target=document.images.myimg;
    }
    if (document.getElementById("myimg"))
    {
      target= document.getElementById("myimg");
      canBeFiltered=true;
    }
			
    //if (dimages[curImage].complete)
   // {
      // SET, APPLY, PLAY FILTER
      if (canBeFiltered)
      {
        target.style.filter=filterFunction;
	      if (target.filters && target.filters[0])
        {
          //target.filters[0].Apply();
          //target.filters[0].Play();
        }
     // } 
      // SWAP IMAGE
      document.images.myimg.src = dimages[curImage].src;
      //document.getElementById("myanchor").href = "paintings/details/" + imgArr[curImage];
      //document.getElementById("myanchor").href = "paintingDetails.php?id=" + imgIdArr[curImage];      
    }	
    else
    {
      debug("not complete");        
    }
  }
}

function swapPicture(newImage)
{
 debug("in swapPicture, currImgIdx = " + currImgIdx);	
 var filterStr = getFilterString();
 transformPicture(filterStr);
 document.getElementById("sp_curr_idx").innerHTML = currImgIdx + 1;
}

function loadNextImage(forceIndex)
{
  if (forceIndex == null)
  {
    debug("in loadNextImage if");
    if (currImgIdx == slideshow.imgArr.length -1)
    {
      currImgIdx = 0;
    }
    else
    {
      currImgIdx++;
    }

    var img = new Image();
    img.src = slideshow.imgArr[currImgIdx];
    swapPicture(img);  
  
    timerid = window.setTimeout("loadNextImage();", timerInterval);    
  }
  else
  {
    debug("in loadNextImage else 1, forceIndex = " + forceIndex);   
    currImgIdx = forceIndex;
    debug("in loadNextImage else 2");       
    var img = new Image();
    debug("in loadNextImage else 3");       
    img.src = slideshow.imgArr[currImgIdx];
    debug("in loadNextImage else 4");       
    debug("currImgIdx = " + currImgIdx);
    debug("should set image to: " + slideshow.imgArr[currImgIdx]);
    swapPicture(img);      
  }
  debug("leaving loadNextImage, currImgIdx = " + currImgIdx);
}

function getFilterString()
{
  if (onlyBlend == true)
  {
    return transArr[0];   
  }
 
  if (transIdx == transArr.length -1)
  {
    transIdx = 0;
  }
  else
  {
    transIdx++;
  }
  return transArr[transIdx];
}

function debug(str)
{
   var debugElem = document.getElementById("debugTa");
   if (debugElem)
   {
     var val = debugElem.value;
     if (val == "")
     {
      debugElem.value = str;
     }
     else
     {
      debugElem.value = val + "\n" + str;      
     }
   }
}
