var popupTimer = 4000;
var thumbsWidth = 0;
var times = 0;
var isScrolling = false;

function setPopupImage(uuid,img,number,max,total)
{
  if(document.getElementById('img' + uuid))
  {
    blendimage('scroll', 'img' + uuid, img, 500)
  }

  setCurrentNav(number);

  updateNavBar(number);
}

function getNavigationItemsWidth()
{
  thumbsWidth = 0;

  if (nav = document.getElementById('thumbs').childNodes)
  {
    for(i=0;i<nav.length;i++)
    {
      if(nav[i].className=='navigation')
      {
        thumbsWidth += nav[i].offsetWidth;
      }
    }
  }

  if(document.getElementById('thumbs'))
    document.getElementById('thumbs').style.width = thumbsWidth + 'px';
}

function setCurrentNav(number)
{
  var divs = document.getElementById('thumbs');
  divs = divs.getElementsByTagName('div');

  for (var i=0;i<divs.length;i++)
  {
    if(divs[i].className=='item current')
    {
      divs[i].className = 'item';
    }
  }

  if(document.getElementById('nav' + number))
  {
    document.getElementById('nav' + number).className = 'item current';
  }
}

function slideNavigation(pos,oldpos)
{
  var elem1 = null;

  if (elem1 = document.getElementById('thumbsHolder'))
  {
    var currentScroll = elem1.scrollLeft;

    if(times==0)
    {
      if(currentScroll < pos)
      {
        times = Math.floor((pos - currentScroll) / 2);
      }
      else if(currentScroll > pos)
      {
        times = Math.floor((currentScroll - pos) / 2);
      }
      else
      {
        return;
      }
    }

    if(currentScroll == pos || (currentScroll-1)==pos || (currentScroll+1)==pos)
    {
      times = 0;
      return;
    }
    else if(currentScroll < pos)
    {
      if(!(document.getElementById('thumbsHolder').scrollLeft += 2))
      {
        times = 0;
        return;
      }
    }
    else if(currentScroll > pos)
    {
      if(!(document.getElementById('thumbsHolder').scrollLeft -= 2))
      {
        times = 0;
        return;
      }
    }
    else
    {
      times = 0;
      return;
    }
    times--;
    if(times>0)
      setTimeout( "slideNavigation(" + pos + "," + currentScroll + ")", 1);
  }
}

function updateNavBar(number)
{
  var thumbsHolderWidth = 0;

  if (document.getElementById('thumbsHolder'))
  {
    thumbsHolderWidth = document.getElementById('thumbsHolder').offsetWidth;
  }

  if (thumbsWidth == 0) {
    thumbsWidth = parseInt(document.getElementById('thumbs').style.width);
  }

  if (thumbsWidth > thumbsHolderWidth)
  {
    var currentPos = 0;
    var currentItemWidth = 0;

    node = document.getElementById('thumbs');

    if (node.hasChildNodes())
    {
      for (i = 0; i < node.childNodes.length; i++)
      {
        if (node.childNodes[i].className == 'navigation')
        {

          var subNav = node.childNodes[i].childNodes;
          for (j = 0; j < subNav.length; j++) {
            if (subNav[j].id == 'nav'+number) {
              currentItemWidth = node.childNodes[i].offsetWidth;
              break;
            }
          }

          if (currentItemWidth > 0) {
            break;
          }

          /*
          if(node.childNodes[i].firstChild.id == 'nav'+number)
          {
            currentItemWidth = node.childNodes[i].offsetWidth;
            break;
          }
          */
          currentPos += node.childNodes[i].offsetWidth;

        }
      }
    }

    slideNavigation(currentPos - ((thumbsHolderWidth - currentItemWidth) / 2));
  }
}

function dowloadImage(uuid)
{
  var divs = document.getElementById('thumbs');
  divs = divs.getElementsByTagName('div');

  for (var i=0;i<divs.length;i++)
  {
    if(divs[i].className=='item current' && divs[i].id)
    {
      var number = divs[i].id.replace("nav","");
      var url = 'image_save.php?uuid=' + uuid + '&number=' + number + '&uri=' + obtainURI();
      document.location = url;
      break;
    }
  }
}

function moveNext()
{
  var divs = null;
  if (divs = document.getElementById('thumbs')) {
    divs = divs.getElementsByTagName('div');
    var done = false;
    var next = false;

    for (var i=0;i<divs.length;i++)
    {
      if((divs[i].className=='item current' || divs[i].className=='item') && divs[i].id != '')
      {
        if(next==true)
        {
          divs[i].onclick();
          done = true;
          break;
        }
        if(divs[i].className=='item current')
        {
          next = true;
        }
      }
    }
  }

  return done;
}

function movePrev()
{
  var divs = document.getElementById('thumbs');
  divs = divs.getElementsByTagName('div');
  for (var i=0;i<divs.length;i++)
  {
    if((divs[i].className=='item current' || divs[i].className=='item') && divs[i].id!='')
    {
      if(divs[i].className=='item current')
      {
        last.onclick();
        break;
      }
      var last = divs[i];
    }
  }
}

function startSlideShow(time)
{
  if(time>1000)
  {
    popupTimer = time;
  }

  if(document.getElementById('slideshowBarOn') && document.getElementById('slideshowBarOff') && popupTimer>0)
  {
    document.getElementById('slideshowBarOn').style.display = 'none';
    document.getElementById('slideshowBarOff').style.display = 'inline';
    if(moveNext())
    {
      setTimeout( "startSlideShow()", popupTimer);
    }
    else
    {
      document.getElementById('slideshowBarOff').style.display = 'none';
      document.getElementById('slideshowBarOn').style.display = 'inline';
    }
  }
}

function stopSlideShow()
{
  document.getElementById('slideshowBarOff').style.display = 'none';
  document.getElementById('slideshowBarOn').style.display = 'inline';
  popupTimer = 0;
}

function getRefToDivMod( divID, oDoc ) {
  if(!oDoc) {
    oDoc = document;
  }

  if(document.layers) {
    if(oDoc.layers[divID]) {
      return oDoc.layers[divID];
    }
    else {
      for( var x = 0, y; !y && x < oDoc.layers.length; x++ ) {
        y = getRefToDivNest(divID,oDoc.layers[x].document);
      }
      return y;
    }
  }

  if(document.getElementById ) {
    return oDoc.getElementById(divID);
  }

  if(document.all) {
    return oDoc.all[divID];
  }

  return oDoc[divID];
}

function resize()
{
  if(document.getElementById('popup'))
  {
    idOfDiv = 'popup';
    var oH = getRefToDivMod( idOfDiv ); if( !oH ) { return false; }
    var x = window; x.resizeTo( screen.availWidth, screen.availWidth );
    var oW = oH.clip ? oH.clip.width : oH.offsetWidth;
    var oH = oH.clip ? oH.clip.height : oH.offsetHeight; if( !oH ) { return false; }
    x.resizeTo( oW + 200, oH + 200 );
    var myW = 0, myH = 0, d = x.document.documentElement, b = x.document.body;
    if( x.innerWidth ) { myW = x.innerWidth; myH = x.innerHeight; }
    else if( d && d.clientWidth ) { myW = d.clientWidth; myH = d.clientHeight; }
    else if( b && b.clientWidth ) { myW = b.clientWidth; myH = b.clientHeight; }
    if( window.opera && !document.childNodes ) { myW += 16; }
    //second sample, as the table may have resized
    var oH2 = getRefToDivMod( idOfDiv );
    var oW2 = oH2.clip ? oH2.clip.width : oH2.offsetWidth;
    var oH2 = oH2.clip ? oH2.clip.height : oH2.offsetHeight;
    x.resizeTo( oW2 + ( ( oW + 200 ) - myW ), oH2 + ( (oH + 200 ) - myH ) );
  }
}

//window.onload = resize;