var mainNames = new Array('button-home', 'button-industry', 'button-products', 'button-forums', 'button-blog', 'button-testimonials', 'button-pricing', 'button-project', 'button-support', 'button-links', 'button-employment', 'button-contact');
var productNames = new Array('button-pos', 'button-groups', 'button-bday', 'button-red', 'button-cardb', 'button-turnstiles', 'button-internetticketing', 'button-rentals', 'button-mgmt', 'button-other');
var industryNames = new Array('button-amusement', 'button-fec', 'button-inflatables', 'button-museums', 'button-restaurants', 'button-retail', 'button-skate', 'button-theatres', 'button-waterparks', 'button-zoos');
var iNames = new Array(mainNames, productNames, industryNames);

var currentSection = -1;
var currentPage = -1;

var revert;
var flipped;

function over(sectionNum, pageNum) {
  if(document.images && flipped && ((sectionNum != currentSection) || (pageNum != currentPage)))
  {
    var src = document.images[iNames[sectionNum][pageNum]].src;
    if (src)
    {
        revert[sectionNum][pageNum] = document.images[iNames[sectionNum][pageNum]].src;
        document.images[iNames[sectionNum][pageNum]].src = flipped[sectionNum][pageNum].src;
    }
  }
}

function out(sectionNum, pageNum) {
  if(document.images && revert && ((sectionNum != currentSection) || (pageNum != currentPage)))
    if (revert[sectionNum][pageNum])
      document.images[iNames[sectionNum][pageNum]].src = revert[sectionNum][pageNum];
}

function hover_init(sectionNum, pageNum, showSectionNum)
{

  function hover_init_onload()
  {
    for (i=0; i<iNames.length; i++)
    {
      if ((i == 0) || (i == sectionNum) || (i == showSectionNum))
      {
        for (j=0; j<iNames[i].length; j++)
        {
          flipped[i][j] = new Image();
          if ((sectionNum == 0) && (showSectionNum == 0))
          {
            flipped[i][j].src = "images/" + iNames[i][j]+"2.jpg";
          }
          else
          {
            flipped[i][j].src = "../images/" + iNames[i][j]+"2.jpg";
          }
        }
      }
    }

    over(sectionNum, pageNum);
    currentSection = sectionNum;
    currentPage = pageNum;
  }

  if (document.images)
  {
    revert = new Array();
    flipped = new Array();
    for (i=0; i<iNames.length; i++)
    {
      revert[i] = new Array();
      flipped[i] = new Array();
    }
    
    window.onload = new function() {hover_init_onload()};
  }
}

function ImgSpinner(spinner, width, height, delay, baseurl)
{
    // Collect current images
    var controls = new Array();
    var images = new Array();
    var imageCount = 0;
    for (var i=0; i<spinner.childNodes.length; i++)
    {
        controls[i] = spinner.childNodes[i];
        if (spinner.childNodes[i].tagName == "IMG")
        {
            images[imageCount] = spinner.childNodes[i];
            imageCount++;   
        }
    }
    
    // Remove current images
    for (var i=0; i<controls.length; i++)
        spinner.removeChild(controls[i]);

    // Create new divs
    var wrapper = document.createElement("div");
    wrapper.className = "wrapper";
    wrapper.style.width = (width + 65) + "px";
    spinner.appendChild(wrapper);
    
    var left = document.createElement("div");
    left.className = "left";
    left.style.height = height + "px";
    wrapper.appendChild(left);
   
    var leftarrow = new Image();
    leftarrow.className = "arrow";
    leftarrow.src = baseurl + "leftarrow.gif";
    leftarrow.style.marginTop = ((height - 40) / 2) + "px";
    left.appendChild(leftarrow);
    
    var leftarrowhover = new Image();
    leftarrowhover.src = baseurl + "leftarrowhover.gif";

    var right = document.createElement("div");
    right.className = "right";
    right.style.height = height + "px";
    wrapper.appendChild(right);
    
    var rightarrow = new Image();
    rightarrow.className = "arrow";
    rightarrow.src = baseurl + "rightarrow.gif";
    rightarrow.style.marginTop = ((height - 40) / 2) + "px";
    right.appendChild(rightarrow);
    
    var rightarrowhover = new Image();
    rightarrowhover.src = baseurl + "rightarrowhover.gif";
    
    var body = document.createElement("div")
    body.className = "body";
    body.style.height = height + "px";
    //body.style.width = width + "px";
    wrapper.appendChild(body)
    
    // Add images to body div
    for (var i=0; i<images.length; i++)
    {
        var img = images[i];
        body.appendChild(img);
        img.style.height = body.style.height;
        img.style.width = body.style.width;
        img.style.display = "none";
    }
     
    var currentIndex = 0;
    var newIndex = 0;
    
    var fading = false;
    var fadeInterval = -1;
    var timeout = -1;
    var fadePoint = 1.0;
    var fadeOut = true;
    
    function StartTimer()
    {
        timeout = setTimeout(RightClick, delay)
    }
    
    function StopTimer()
    {
        clearTimeout(timeout);
        timeout = -1;
    }
    
    function StartFade()
    {
        fading = true;
        fadeOut = true;
        fadeInterval = setInterval(DoFade, 5);
    }
    
    function StopFade()
    {
        fading = false;
        clearInterval(fadeInterval);
    }
    
    function DoFade()
    {
        if (fadeOut)
        {
            fadePoint -= 0.05;
            if (fadePoint <= 0)
            {
                images[currentIndex].style.display = "none";
                currentIndex = newIndex;
                images[currentIndex].style.opacity = 0;
                images[currentIndex].style.filter = "alpha(opacity = 0)";
                images[currentIndex].style.display = "inline";
                fadeOut = false;
            }
            else
            {
                images[currentIndex].style.opacity = fadePoint;
                images[currentIndex].style.filter = "alpha(opacity = " + (fadePoint*100) + ")";
            }
        }
        else
        {
            fadePoint += 0.05;
            if (fadePoint >= 1)
            {
                images[currentIndex].style.opacity = 1;
                images[currentIndex].style.filter = "";
                StopFade();
                StartTimer();
            }
            else
            {
                images[currentIndex].style.opacity = fadePoint;
                images[currentIndex].style.filter = "alpha(opacity = " + (fadePoint*100) + ")";
            }
        }
    }

    function LeftClick()
    {
        StopTimer();
        if (!fading)
            fadePoint = 1.0;            
        
        newIndex = currentIndex - 1;
        if (newIndex < 0)
            newIndex = imageCount - 1;

        if (!fading)            
            StartFade();
    }
    
    function LeftEnter()
    {
        leftarrow.src = baseurl + "leftarrowhover.gif";
    }
    
    function LeftLeave()
    {
        leftarrow.src = baseurl + "leftarrow.gif";
    }
    
    function RightClick()
    {
        StopTimer();
        if (!fading)
            fadePoint = 1.0;
    
        newIndex = currentIndex + 1;
        if (newIndex >= imageCount)
            newIndex = 0;

        if (!fading)                                
            StartFade();
    }
    
    function RightEnter()
    {
        rightarrow.src = baseurl + "rightarrowhover.gif";
    }
    
    function RightLeave()
    {
        rightarrow.src = baseurl + "rightarrow.gif";
    }
    
    // Attach left/right event listeners
    if (left.addEventListener)
        left.addEventListener("click", LeftClick, false)
    else
        left.attachEvent("onclick", LeftClick);
    if (leftarrow.addEventListener)
    {
        leftarrow.addEventListener("mouseover", LeftEnter, false);
        leftarrow.addEventListener("mouseout", LeftLeave, false);
    }
    else
    {
        leftarrow.attachEvent("onmouseover", LeftEnter);
        leftarrow.attachEvent("onmouseout", LeftLeave);
    }
        
    if (right.addEventListener)
        right.addEventListener("click", RightClick, false)
    else
        right.attachEvent("onclick", RightClick);
    if (rightarrow.addEventListener)
    {
        rightarrow.addEventListener("mouseover", RightEnter, false);
        rightarrow.addEventListener("mouseout", RightLeave, false);
    }
    else
    {
        rightarrow.attachEvent("onmouseover", RightEnter);
        rightarrow.attachEvent("onmouseout", RightLeave);
    }
        
    // Show first image
    if (imageCount > 0)
    {
        var img = images[0];
        img.style.display = "inline";
    }

    // Start timer
    if (imageCount > 1)
        StartTimer();
}