/**
 * CMS JavaScript Class
 * We handle image rollovers and other such 'niceties' here!
 * Uses the Prototype JavaScript Framework v1.4.0 (http://prototype.conio.net/)
 * Author: Steve Winton
 * Author URI: http://stevewinton.com
 * $Revision: 14 $
 */
cms=
{
  preLoads : [],
  init:function(e){
    // Ensure DOM-compatibility
    if(!document.getElementById || !document.createTextNode){return;}

    // Get the current header image
    cms.header = document.getElementById('header');
    if(!cms.header){return;}
    cms.headerImg = cms.header.getElementsByTagName('img')[0];
    if(!cms.headerImg){return;}

    // Get the base path of the current header image
    cms.headerImgBase = cms.headerImg.getAttribute('src').substr(0,cms.headerImg.getAttribute('src').lastIndexOf('/'));
    // Get the original header image
    cms.headerImgOrig = cms.headerImg.getAttribute('src').substr(cms.headerImg.getAttribute('src').lastIndexOf('/') + 1);

    // Get the navlinks
    cms.navLinks = document.getElementsByClassName('navlink');
    if (!cms.navLinks){return;}

    // Loop through all the navlinks, preload associated images and setup
    // events
    for(var i=0;i<cms.navLinks.length;i++){
      // The associated image is stored in the rel attribute of each link
      cms.relAttr = cms.navLinks[i].getAttribute('rel');
      if (!cms.relAttr){continue;}
      cms.src = cms.headerImgBase + '/' + cms.relAttr;
      // Preload the image
      cms.preLoads[i] = new Image();
      cms.preLoads[i].src = cms.src;
      // Add mouseover and mouseout events
      Event.observe(cms.navLinks[i],'mouseover',cms.swapHeaderImg);
      Event.observe(cms.navLinks[i],'mouseout',cms.swapHeaderImg);
    }
  },
  swapHeaderImg:function(e){
    if (e.type == 'mouseover'){
      cms.navLink = Event.element(e);
      if (cms.navLink.nodeName.toLowerCase() == 'img'){
        // We want the parent 'a' node
        cms.navLink = cms.navLink.parentNode;
      }
      cms.src = cms.navLink.getAttribute('rel');
      if (!cms.src){return;}
    }
    else{
      cms.src = cms.headerImgOrig;
    }
    cms.headerImg.setAttribute('src',cms.headerImgBase + '/' + cms.src);
  },
  helloWorld:function(){
    alert("Hello World!");
  }
}
Event.observe(window,'load',cms.init);
