/*


Dynamic Application of Functions to DOM
*/
var _debugMode = false;
document.observe('dom:loaded', init);
Event.observe(window, 'load', initAfterImages);


function init () {
  $('navPrimary').observe('mouseover', highlightTab).observe('mouseout', unlightTab);
  // var subnav = $$('#navPrimary li ul li.sub-nav-bg');
  // var hasSubNav = subnav.invoke('up', 'li').flatten();
  // for (var i = hasSubNav.length - 1; i >= 0; i--){
  //   hasSubNav[i].observe('mouseout', hideSubnav).observe('mouseover', highlightParent.bindAsEventListener(hasSubNav[i]));
  // }
  
  // var pageHeader = $('pageHeader');
  // if (pageHeader) {
  //   var text = pageHeader.innerHTML.split(' ');
  //   if (text.length > 1) {
  //     text[0] = '<span style="font-weight: bold">' + text[0] + '</span>';
  //     pageHeader.innerHTML = text.join(' ');
  //   }
  // }
  
  var slideshow = $('pictureSlides');
  if (slideshow) {
    var pictureHeight = $$('#pictureSlides img')[0].getHeight();
    var paragraphHeight = 50;
    var totalHeight = pictureHeight + paragraphHeight;
    var main = $('main');
    if (main.getHeight() < totalHeight) main.setStyle({height: (totalHeight + 50) + 'px'});
    // if ($('main').getHeight() < $$('#pictureSlides img')[0].getHeight()) $('main').setStyle({height: $('sub').getHeight() + 'px'});
    new SlideShow(slideshow);
    new SlideShow($('client-title'));
  }
  // else if ($('main').getHeight() < 200) $('main').setStyle({height: 290 + 'px'});
  
  //ie is a bitch with hiding and showing block level elements in an a tag
  if (Prototype.Browser.IE && $('triptych')) {
    var listElements = $$('ul#triptych li a');
    $$('ul#triptych li a div').invoke('setStyle', {opacity: '.8'});
    for (var i = listElements.length - 1; i >= 0; i--){
      listElements[i].observe('mouseover', function(event) {
        this.childElements().invoke('setStyle', {display: 'block'});
      }.bindAsEventListener(listElements[i])).observe('mouseout', function(event) {
        this.childElements().invoke('setStyle', {display: 'none'})
      }.bindAsEventListener(listElements[i]));
    }; 
  }
  
  
}

function initAfterImages () {
  if (Prototype.Browser.IE) {
     //collect all subnav ul heights into an array
     var subnavHeights = $$('#navPrimary li ul');
     var subnavBGs = $$('.sub-nav-bg')
     for (var i=0;i<subnavHeights.length;i++) {
       subnavBGs[i].setStyle({height: subnavHeights[i].getHeight() + 'px'}).setOpacity(.8);
     } 
   }
   
   $('client-title').show();
}

function highlightParent(event) {
  var target = $(this);
  target.addClassName('hover').down('a').addClassName('hover');
}

function highlightTab(event) {
  var target = $(event.target);
  if (!target.hasClassName('root')) return;
  if (target.match('a.root')) target = target.up();
  // if (event.clientY < 80) target.addClassName('hover').down('a').addClassName('hover');
   target.addClassName('hover').down('a').addClassName('hover');
  // if (target.down('ul')) target.down('ul').show(); 
}

function unlightTab(event) {
  var target = $(event.target);
  if (!target.hasClassName('root')) return;
  if (target.match('a.root')) target = target.up();
  target.removeClassName('hover').down('a').removeClassName('hover');
  // if (!(event.clientY > 80) && target.down('ul')) target.down('ul').hide();
}

function hideSubnav(event) {
  var target = $(event.target);
  if (target.match('li.root')) target = target.down('ul');
  else if (target.match('a.root')) target = target.up().down('ul');
  else if (target.match('li')) target = target.up('ul');
  else if (target.match('a')) target = target.up().up('ul');
    
  if (event.target.hasClassName('sub-nav-bg')) {
    if (event.clientY == 84) return; //stops ie from flickering
    target.hide();
    target.previous('a').removeClassName('hover').up('li').removeClassName('hover');
  }
}









