Event.observe(window, 'load', function()
{

  // Allow the dropdown navigation to work in IE6 and earlier.

  $$('#navigation ul > li').each(function(e)
  {
    e.observe('mouseover', function()
    {
      e.addClassName('over');
    });
    
    e.observe('mouseout', function()
    {
      new PeriodicalExecuter(function(pe)
      {
        e.removeClassName('over');
        pe.stop();
      }, 1);
    });
  });
  
  // Bios.

  $$('#bio-thumbnails img').each(function(e)
  {
    e.observe('mousedown', function()
    {
      new Ajax.Updater('bio-photo', '/ajax/bio.php', {
       parameters: { id: e.identify(), update: 'photo' }
      });
      
      new Ajax.Updater('bio-copy', '/ajax/bio.php', {
       parameters: { id: e.identify(), update: 'copy'}
      });
              
    });
  });

});

Object.extend(Position, {

    //
    // getPageScroll()
    // Returns array with x,y page scroll values.
    // Core code from - quirksmode.org
    //
    pageScroll: function (){

        var yScroll;

        if (self.pageYOffset) {
            yScroll = self.pageYOffset;
        } else if (document.documentElement && document.documentElement.scrollTop){  // Explorer 6 Strict
            yScroll = document.documentElement.scrollTop;
        } else if (document.body) {// all other Explorers
            yScroll = document.body.scrollTop;
        }

        arrayPageScroll = new Array('',yScroll)
        return arrayPageScroll;
    },

    //
    // getPageSize()
    // Returns array with page width, height and window width, height
    // Core code from - quirksmode.org
    // Edit for Firefox by pHaez
    //
    pageSize: function (){

        var xScroll, yScroll;

        if (window.innerHeight && window.scrollMaxY) {
            xScroll = document.body.scrollWidth;
            yScroll = window.innerHeight + window.scrollMaxY;
        } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
            xScroll = document.body.scrollWidth;
            yScroll = document.body.scrollHeight;
        } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
            xScroll = document.body.offsetWidth;
            yScroll = document.body.offsetHeight;
        }

        var windowWidth, windowHeight;
        if (self.innerHeight) { // all except Explorer
            windowWidth = self.innerWidth;
            windowHeight = self.innerHeight;
        } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
            windowWidth = document.documentElement.clientWidth;
            windowHeight = document.documentElement.clientHeight;
        } else if (document.body) { // other Explorers
            windowWidth = document.body.clientWidth;
            windowHeight = document.body.clientHeight;
        }

        // for small pages with total height less then height of the viewport
        if(yScroll < windowHeight){
            pageHeight = windowHeight;
        } else {
            pageHeight = yScroll;
        }

        // for small pages with total width less then width of the viewport
        if(xScroll < windowWidth){
            pageWidth = windowWidth;
        } else {
            pageWidth = xScroll;
        }

        return {"pageWidth": pageWidth,
                "pageHeight": pageHeight,
                "windowWidth": windowWidth,
                "windowHeight": windowHeight};
    }

});
