/*var effect_delay = 3000;*/
var effect_delay = 0;
var fade_step = 10;
var effect_counter = 0;
var effect_image_list = "";
var effect_image_count = 0;
var active_photo_id = "";
var killeventBubble = false;

function getElementsByStyleClass (className)
{
  var all = document.getElementsByTagName('*');
  var elements = new Array();
  for (var i = 0; i < all.length; i++)
  {
    if (all[i].className == className)
    {
      elements[elements.length] = all[i];
      effect_image_count++;
    }
  }
  return elements;
}

function initRotateImages(parm_effect_delay)
{
  effect_delay = parm_effect_delay;
  effect_image_list = getElementsByStyleClass ('rotate');
  if(effect_image_count<1)
    return;
  effect_counter = 0;
  rotateImages();
}

function rotateImages()
{
  var obj = effect_image_list[effect_counter];
  setOpacity(obj, 0);
  obj.style.display='block';
  fadeIn(obj.id,0,obj);

  effect_counter++;
  if(effect_counter > effect_image_count-1)
    effect_counter = 0;

  setTimeout('rotateImages()',effect_delay);
}
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,image)
{
  if (document.getElementById)
  {
    obj = document.getElementById(objId);
    obj.style.display='block';
    if (opacity <= 100)
    {
      setOpacity(obj, opacity);
      opacity += fade_step;
      window.setTimeout("fadeIn('"+objId+"',"+opacity+",'"+image+"')", 100);
    }
    else
    {
      active_photo_id = objId;
      window.setTimeout("fadeOut('"+objId+"',100,'"+image+"')", effect_delay-1000);
    }
  }
}

function fadeOut(objId,opacity,image)
{
  if (document.getElementById)
  {
    obj = document.getElementById(objId);
    obj.style.display='block';
    if (opacity >= 0)
    {
      setOpacity(obj, opacity);
      opacity -= 10;
      window.setTimeout("fadeOut('"+objId+"',"+opacity+",'"+image+"')", 100);
    }
  }
}

function linkto()
{
  if(killeventBubble)
  {
    killeventBubble=false;
    return false;
  }
  var obj = document.getElementById(active_photo_id);
  window.location.href=getLink();
}

function setDirection(d)
{
  if(d<0)
  {
    shift_images_right(effect_image_list);
    shift_array_right(links);
  }
  else
  {
    shift_images_left(effect_image_list);
    shift_array_left(links);
  }

  killeventBubble=true;
}

function shift_array_right(a)
{
  var v = a[a.length-1];
  for(i=(a.length-1);i>0;i--)
  {
    a[i] = a[i-1];
  }
  a[0] = v;
  return a;
}

function shift_array_left(a)
{
  var v = a[0];
  for(i=0;i<=(a.length-1);i++)
  {
    a[i] = a[i+1];
  }
  a[a.length-1] = v;
  return a;
}

function shift_images_left(a)
{
  var v = a[0].src;
  for(i=0;i<(a.length-1);i++)
  {
    a[i].src = a[i+1].src;
  }
  a[a.length-1].src = v;
}

function shift_images_right(a)
{
  var v = a[a.length-1].src;
  for(i=(a.length-1);i>0;i--)
  {
    a[i].src = a[i-1].src;
  }
  a[0].src = v;
}