// Functions.js
//

var secOrig = 30;  //original seconds value for resetting the counter
var sec = secOrig;   // set the seconds
var picOrig = 0;
var currentPic = 0;
var g_imgArray;
var g_imgArraySize;
var g_delayArray;
var g_captionArray;
var nextDelay = 30;
var viewCaptionNum= 0;
var captionShown = false;
var changingImage = false;

function setCookie(c_name,value,expiredays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function getCookie(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1)
    {
    c_start=c_start + c_name.length+1;
    c_end=document.cookie.indexOf(";",c_start);
    if (c_end==-1) c_end=document.cookie.length;
    return unescape(document.cookie.substring(c_start,c_end));
    }
  }
return "";
}

function countDownInit(imgArray, delayArray, imgArraySize)
{
   g_imgArray = imgArray;
   g_delayArray = delayArray;
   g_imgArraySize = imgArraySize;
   currentPic = getCookie("currentPic");
   if(currentPic == "")
   {
      currentPic = 0;
   }
   else if(currentPic > g_imgArraySize)
   {
      currentPic = g_imgArraySize;
   }
   viewCaptionNum = currentPic;
   sec = delayArray[currentPic];
   replaceWithPic(currentPic)
   viewCaption();
   setInterval("countDown();", 500);
}
function countDown() 
{
  sec--;
  if(sec == 3)
  {
      changingImage = true;
      viewCaption();
      effectAppearFade('top_graphic', 500, 100, 0, false)
  }
  else if(sec == 2)
  {
      hideCaption();
      if(currentPic >= g_imgArraySize)
      {
         currentPic = 0;
      }
      else 
      {
         currentPic++;
      }
      setCookie("currentPic", currentPic, 1);
      viewCaptionNum = currentPic;
      nextDelay = g_delayArray[currentPic];
      replaceWithPic(currentPic);
      effectAppearFade('top_graphic', 500, 0, 100, false);
      viewCaption();
  }
  
  else if(sec == 1)
  {
      viewCaption();
      sec = nextDelay;
      changingImage = false;
  }
  else if(sec > 3)
  {
      viewCaption();
      changingImage = false;
  }



}

function replaceWithPic(pic)
{
   document.getElementById('top_graphic').src = g_imgArray[pic];
}

function changePicUp()
{
   hideCaption();
   if(currentPic >= g_imgArraySize)
   {
      currentPic = 0;
   }
   else 
   {
      currentPic++;
   }
   replaceWithPic(currentPic);
   
   viewCaptionNum = currentPic;
   setCookie("currentPic", currentPic, 1);
   nextDelay = g_delayArray[currentPic];
   viewCaption();
}

function changePicDown()
{
   hideCaption();
   if(currentPic > 0)
   {
      currentPic--;
   }
   else 
   {
      currentPic = g_imgArraySize;
   }
   replaceWithPic(currentPic);
   
   viewCaptionNum = currentPic;
   setCookie("currentPic", currentPic, 1);
   nextDelay = g_delayArray[currentPic];
   viewCaption();
}

function effectAppearFade(targetElement, duration, from, to, toggle)
{
   Spry.Effect.DoFade(targetElement, {duration: duration, from: from, to: to, toggle: toggle});
}

function viewCaption()
{
   var pos = findPos(document.getElementById("top_graphic"));

   document.getElementById("topCaption" + viewCaptionNum).className="caption";
   document.getElementById("topCaption" + viewCaptionNum).style.left=pos[0] + "px";
   document.getElementById("topCaption" + viewCaptionNum).style.top=pos[1] + "px";
   captionShown = true;
}

function hideCaption()
{
   captionShown = false;
   document.getElementById("topCaption" + viewCaptionNum).className="caption-hidden";
}

function viewSubMenu(buttonNum)
{
   var pos = findPos(document.getElementById("button"+buttonNum));

   document.getElementById("buttonMenu"+buttonNum).className="submenu";
   document.getElementById("buttonMenu"+buttonNum).style.left=pos[0] + "px";
   document.getElementById("buttonMenu"+buttonNum).style.top=pos[1] + 3 + "px";
}

function hideSubMenu(buttonNum)
{
   document.getElementById("buttonMenu"+buttonNum).className="submenu-hidden";
}

function findPos(obj) {
   return [findPosX(obj), findPosY(obj)];
}

 function findPosX(obj)
  {
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
  }

  function findPosY(obj)
  {
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
  }

<!--
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
 
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
 
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
 
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
