/***********************************************************************************/
/* non-Liner Creations Inc.														   */	
/* Date: Oct. 12, 2006															   */
/* Aothor: Vitaliy Rabotnik (vitaliy@nonlinear.ca)								   */
/***********************************************************************************/


var bEditMode = false;
var arrDelays = new Array(); //period of time in seconds bofore the image is switched
var arrTransitionTimes = new Array(); //IE only: time for the effect transition in seconds
var arrSlideShows = new Array(); //Names of the slide shows
var arrPointers = new Array(); //array of the pointers to the slides currently displayed
var arrRandom = new Array; //whether or not to display slide show in random order
var arrSlideShowSizes = new Array(); //number of slides in each slide show 
var arrSlideDelays = new Array(); //Delays on the specific slides
var arrDisplayControls = new Array; //whether controll the slideshow with buttons or let it auto-scroll

window.onunload = finalize
function finalize()
{
}
window.onload=initialize
function initialize()
{
    var strSlideShowName;
    if(bEditMode)
        return;

    for(var i = 0; i < arrSlideShows.length; i++)
    {
       strSlideShowName = arrSlideShows[i];
       if(arrSlideShowSizes[strSlideShowName] > 1)
       { 
           runSlideShow(i);   
           getElement(strSlideShowName + "Count").innerHTML = "Page " + (arrPointers[strSlideShowName] + 1) + " of " + arrSlideShowSizes[strSlideShowName];
           getElement(strSlideShowName + "Back").style.visibility = "hidden";
           if(arrSlideShowSizes[strSlideShowName] <= 1)  
               getElement(strSlideShowName + "Next").style.visibility = "hidden";
        }
    }
}

function getIndex(strSlideShowName)
{
    for(var i = 0; i < arrSlideShows.length; i++)
    {
       if(arrSlideShows[i] == strSlideShowName)
           return i; 
    }
    return -1;
}

function hideAll(strSlideShowName)
{
   var elem; 
   for(var i = 0; elem = getElement(strSlideShowName+ "slide_" + i);i++) 
   {
        elem.style.display = "none";
   } 
}

function getElement(id)
{
    if(document.all) {return document.all[id];}
    
    if(document.getElementById) {return document.getElementById(id);}
    
    alert("Your browser is not supported.");
    return null;
}

function runSlideShow(nIndex)
{ 
  var strSlideShowName = arrSlideShows[nIndex];  
  var objSlide = getElement(strSlideShowName + "slide_" + arrPointers[strSlideShowName]);
  var nRandom = 0;
   if(arrRandom[strSlideShowName] == true && !arrDisplayControls[nIndex])
   {
       nRandom = Math.ceil(Math.random() * arrSlideShowSizes[strSlideShowName]) - 1; 
       objSlide = getElement(strSlideShowName + "slide_" + nRandom);
   }   
  if(objSlide == null)
  {
    arrPointers[strSlideShowName]= 0;
    objSlide = getElement(strSlideShowName + "slide_" + arrPointers[strSlideShowName]);
  }        
  hideAll(strSlideShowName);  
  objSlide.style.display = "block";
  if (arrTransitionTimes[strSlideShowName] > 0)
  { 
     fadeIn(objSlide.id, 0, arrTransitionTimes[strSlideShowName]);   
  } 

 if(!arrDisplayControls[nIndex])
 {
  //Switch slide 
  var nDelay = arrDelays[nIndex];
  var nTemp = 0;
  
  if(arrRandom[strSlideShowName] == true)
  {
  	nTemp = nRandom;
  }
  else
  {
  	nTemp = arrPointers[strSlideShowName];
  }
   
  if(arrSlideDelays[strSlideShowName][nTemp] > -1)
      nDelay = (arrSlideDelays[strSlideShowName][nTemp] * 1000);  
  
  setTimeout("runSlideShow('" + nIndex + "')", nDelay);

  if(arrRandom[strSlideShowName] == false)  
    arrPointers[strSlideShowName]++;  
 }
} 

 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,transitionTime) {
  if (document.getElementById) {
    obj = document.getElementById(objId);
    if (opacity <= 100) {
      setOpacity(obj, opacity);
      opacity += 5;
      window.setTimeout("fadeIn('"+objId+"',"+opacity+","+transitionTime+")", (50 * transitionTime));     
    }
  }
}

function doNext(strSlideShowName)
{
    var nIndex = getIndex(strSlideShowName);
    arrPointers[strSlideShowName]++;
    if(arrPointers[strSlideShowName] >= arrSlideShowSizes[strSlideShowName] - 1)
    {
      arrPointers[strSlideShowName] = arrSlideShowSizes[strSlideShowName] - 1;
      getElement(strSlideShowName + "Next").style.visibility = "hidden";  
    }
    else
        getElement(strSlideShowName + "Next").style.visibility = "visible";
    getElement(strSlideShowName + "Count").innerHTML = "Page " + (arrPointers[strSlideShowName] + 1) + " of " + arrSlideShowSizes[strSlideShowName];
    getElement(strSlideShowName + "Back").style.visibility = "visible";
    runSlideShow(nIndex);
}
function doBack(strSlideShowName)
{
    var nIndex = getIndex(strSlideShowName);  
    arrPointers[strSlideShowName]--;
    if(arrPointers[strSlideShowName] <= 0)
    {
      arrPointers[strSlideShowName] = 0;
      getElement(strSlideShowName + "Back").style.visibility = "hidden";    
    }
    else
        getElement(strSlideShowName + "Back").style.visibility = "visible";
    getElement(strSlideShowName + "Count").innerHTML = "Page " + (arrPointers[strSlideShowName] + 1) + " of " + arrSlideShowSizes[strSlideShowName];
    getElement(strSlideShowName + "Next").style.visibility = "visible";
    runSlideShow(nIndex);
}
 