Event.observe(window, 'load', page_load);

var aryLinks = null;
var imgBigBall = null;
var spanBallHeading = null;

function page_load()
{
    imgBigBall = $('bigBall');
    spanBallHeading = $('ballHeading');
    aryLinks = $$('#portfolioDots ul > li > a');
    
    // setup events for Portfolio pages
    setupMainImageClickEvent();
    setupInitialBallState();
    setBallClickEvents();
    setBallHoverEvents();  
    
    // setup events for By Photographer page
    setPhotographerSwitchARoos();
}

function setupInitialBallState()
{
    var imgFirst = null;
    
    aryLinks.each
    (
        function(a)
        {
            var img = null;
            
            if(a.hasClassName("selected") && (img = a.select('img')[0]))
            {
                spanBallHeading.innerHTML = a.title.escapeHTML();
                imgBigBall.src = img.src;
                imgBigBall.alt = a.title;
            }
        }
    );
}

function setBallClickEvents()
{
    //set up all ball links with a click event
    aryLinks.each
    (
      function(a)
      {
        a.observe
        (
          'click',
          function()
          {
            ballEvent(a, aryLinks);
          }
        );
      }
    );
}

function setBallHoverEvents()
{
    //set up all ball links with a click event
    aryLinks.each
    (
      function(a)
      {
        a.observe
        (
          'mouseover',
          function()
          {
             imgBigBall.src = a.select('img')[0].src;
             imgBigBall.alt = a.title;
             spanBallHeading.innerHTML = a.title.escapeHTML();
          }
        );
        
        a.observe
        (
          'mouseout',
          function()
          {
              var selected = $$('#portfolioDots ul > li > a.selected')[0];
            
              if(selected)
              {
                spanBallHeading.innerHTML =selected.title.escapeHTML();
                imgBigBall.src = selected.select('img')[0].src;
              }
          }
        );
      }
    );
}

function ballEvent(linkClicked, aryLnks)
{
    // remove selected class for any link that have it
    aryLnks.each
    (
      function(link)
      {
        if(link.hasClassName("selected"))
          link.removeClassName("selected");
      }
    );
    
    spanBallHeading.innerHTML =linkClicked.title;
    var img = linkClicked.select('img')[0];
    
    if(img)
      imgBigBall.src = img.src;

    // this guy was clicked, so he should be selected
    linkClicked.addClassName("selected");
    linkClicked.blur();
}

function setPhotographerSwitchARoos()
{
  var imgHangGlide = $('hangglide');
  
  var aryPhotographerHighlight = $$('.photographerHighlight');
  
  aryPhotographerHighlight.each
  (
    function(div)
    {
      var img = div.select('img.hideMe')[0];
    
      div.observe
      (
        'mouseover',
        function()
        {
          if(img)
          {
            imgHangGlide.src = img.src;
            imgHangGlide.removeClassName('hideMe');
          }
          else
            imgHangGlide.addClassName('hideMe');
        }
      );
        
      div.observe
      (
        'mouseout',
        function()
        {
          imgHangGlide.src = "";
          imgHangGlide.addClassName('hideMe');
        }
      );
      
      var divInner = div.select('div')[0];
      
      divInner.observe
      (
        'click',
        function()
        {
          var lnkLightWindow = div.select('a.lightwindow')[0];
          
          if(lnkLightWindow)
          {
            var hashOptions = lightWinParmasAttributesToHash(lnkLightWindow);
            myLightWindow.activateWindow
            (
                {
                    href: hashOptions.get("href"), 
                    width: hashOptions.get("width"), 
                    height: hashOptions.get("height"), 
                    iframeEmbed: hashOptions.get("iframeEmbed"),
                    title: ""
                } 
            );
          }
        }
      );
    }
  );
  
  if(aryPhotographerHighlight.length > 0)
  {
    var img = aryPhotographerHighlight[0].select('img.hideMe')[0];
    
    if(img)
      imgHangGlide.src = img.src;
  }
}

function setupMainImageClickEvent()
{
    var pnlImgOrSwf = $('pnlImgOrSwf');
    var lnkLightWindow = null;
    
    if(pnlImgOrSwf && (lnkLightWindow = $$('p.viewSlideShow > a.lightwindow')[0]))
    {
        pnlImgOrSwf.observe
        (
            'click',
            function()
            {
                var hashOptions = lightWinParmasAttributesToHash(lnkLightWindow);
                
                myLightWindow.activateWindow
                (
                    {
                        href: hashOptions.get("href"), 
                        width: hashOptions.get("width"), 
                        height: hashOptions.get("height"), 
                        iframeEmbed: hashOptions.get("iframeEmbed"),
                        title: ""
                    } 
                );
            }
        );
        
        pnlImgOrSwf.setStyle({cursor: 'pointer'});
    }
}
