// JavaScript Document

// add class="rollover" to an image to invoke a rollover image name currnetimage_roll
var rollovers_aImages = [];
var rollovers_isIe = !!(window.attachEvent && navigator.userAgent.indexOf('Opera') === -1);
function initRollovers(sfHover)
{
  var aPreLoad = [];
  rollovers_aImages = document.getElementsByTagName('img');
  for(var i = 0; i < rollovers_aImages.length; i++)
  {
    if(rollovers_aImages[i].className.indexOf('rollover') != -1)
    {
      var src = rollovers_aImages[i].getAttribute('src');
      var ftype = src.substring(src.lastIndexOf('.'), src.length);
      var roll_src = src.replace(ftype, '_roll' + ftype);
      if(rollovers_aImages[i].className.indexOf('active') != -1) roll_src = src;
      rollovers_aImages[i].setAttribute('roll_src', roll_src);
      rollovers_aImages[i].setAttribute('normal_src', src);
      

      aPreLoad[i] = new Image();
      aPreLoad[i].src = roll_src;
      
      var what_to_roll_on = rollovers_aImages[i];
      if(what_to_roll_on.className.indexOf('nav') != -1)
      {
        while(what_to_roll_on.tagName.toLowerCase() != 'li') what_to_roll_on = what_to_roll_on.parentNode;

        what_to_roll_on.setAttribute('roll_for', i);
        if(rollovers_isIe) what_to_roll_on.setAttribute('sf_hover', 'true');

        what_to_roll_on.onmouseover = function(event)
        {
          var cur = rollovers_aImages[parseInt(this.getAttribute('roll_for'))];
          cur.setAttribute('src', cur.getAttribute('roll_src'));
          if(rollovers_isIe)
          {
            for(var j = 0; j < rollovers_aImages.length; j++)
            {
              var x = rollovers_aImages[j];
              if(x.className.indexOf('nav') != -1) { while(x.tagName.toLowerCase() != 'li') x = x.parentNode; }
              x.className = x.className.replace(/ sfhover\b/, "");
            }
            this.className += " sfhover";
          }
        }
        what_to_roll_on.onmouseout = function(e)
        {
          if(!e) var e = window.event;
          var reltg = (e.relatedTarget) ? e.relatedTarget : e.toElement;
          if(reltg && typeof(reltg) != 'undefined')
          {
            while(reltg && typeof(reltg) != 'undefined' && reltg != this && reltg.tagName != 'BODY') { reltg = reltg.parentNode; }
            if(reltg == this) return true;
          }

          var cur = rollovers_aImages[parseInt(this.getAttribute('roll_for'))];
          cur.setAttribute('src', cur.getAttribute('normal_src'));
          if(rollovers_isIe) this.className = this.className.replace(/ sfhover\b/, "");
        }
      }
      else
      {
        what_to_roll_on.setAttribute('roll_for', i);

        what_to_roll_on.onmouseover = function(e)
        {
          if(!e) var e = window.event;
          e.cancelBubble = true;
          if(e.stopPropagation) e.stopPropagation();

          var cur = rollovers_aImages[parseInt(this.getAttribute('roll_for'))];
          window.status = cur.getAttribute('roll_src');
          cur.setAttribute('src', cur.getAttribute('roll_src'));
        }
        what_to_roll_on.onmouseout = function(e)
        {
          var cur = rollovers_aImages[parseInt(this.getAttribute('roll_for'))];
          cur.setAttribute('src', cur.getAttribute('normal_src'));
        }
      }
    }
  }
}

function fix_external_links()
{ 
    if (!document.getElementsByTagName) return; 
    var anchors = document.getElementsByTagName("a"); 
    for (var i = 0; i < anchors.length; i++) { 
        var anchor = anchors[i];
        if ((anchor.getAttribute("rel") && anchor.getAttribute("rel") == "external") || (anchor.getAttribute("href") && /\.pdf\s*$/i.test(anchor.getAttribute("href"))) || (anchor.getAttribute("href") && /\.doc\s*$/i.test(anchor.getAttribute("href"))))
        {
          anchor.target = "_blank";
        }  
    } 
}


var newWin = null;
function popUp(strURL, strType, strHeight, strWidth) {
 if (newWin != null && !newWin.closed)
   newWin.close();
 var strOptions="";
 if (strType=="console")
   strOptions="resizable,height="+strHeight+",width="+strWidth;
 if (strType=="fixed")
   strOptions="status,height="+strHeight+",width="+strWidth;
 if (strType=="elastic")
   strOptions="toolbar,menubar,scrollbars,"+"resizable,location,height="+strHeight+",width="+strWidth;
 newWin = window.open(strURL, 'newWin', strOptions);
 newWin.focus();
}

function main_load()
{
   if(arguments.callee.done) return;
   arguments.callee.done = true;

   if(typeof sIFR == "function")
   { 
     sIFR.replaceElement(named({sSelector:"h1", sFlashSrc: flash_path, sColor:"#646464", sBgColor:"#FFFFFF", sWmode: "transparent"}));
     sIFR.replaceElement(named({sSelector:"h2", sFlashSrc: flash_path, sColor:"#646464", sBgColor:"#FFFFFF", sWmode: "transparent"}));
     sIFR.replaceElement(named({sSelector:"table th span", sFlashSrc: flash_path, sColor:"#00b244", sBgColor:"#FFFFFF", sWmode: "transparent"}));
     sIFR.replaceElement(named({sSelector:"table tr td span", sFlashSrc: flash_path, sColor:"#646464", sBgColor:"#FFFFFF", sWmode: "transparent"}));
   };

   initRollovers(true);
   // initPopups(); 
   
   fix_external_links();
   
  // $$('#subnav li').each(function(li)
  // {
  //   var img_wrapped = (new Element('div', { 'class': 'roll_wrap' })).wraps(li.getChildren()[0].getChildren('.roll_img')[0]);
  // 
  //   var fx = new Fx.Slide(img_wrapped, { link: 'cancel' });
  //   fx.hide();
  //   li.addEvent('mouseover', function(event)
  //   {
  //     fx.slideIn();
  //   });
  //   li.addEvent('mouseout', function(event)
  //   {
  //     fx.slideOut();
  //   });
  // });
/*
  if(('home_buttons'))
  {
    $$('#home_buttons li').each(function(li)
    {
      var img_wrapped = (new Element('div', { 'class': 'roll_wrap' })).wraps(li.getChildren('img')[0]);
      var img_roll_wrapped = (new Element('div', { 'class': 'roll_wrap' })).wraps(li.getChildren('img')[1]);

      img_wrapped.fx = new Fx.Slide(img_wrapped, { link: 'cancel' });
      var fx = new Fx.Slide(img_roll_wrapped, { link: 'cancel' });
      fx.hide();
      li.addEvent('mouseover', function(event)
      {
        fx.slideIn();
      });
      li.addEvent('mouseout', function(event)
      {
        fx.slideOut();
      });
    });
  }*/
}

// for Internet Explorer (using conditional comments)
/*@cc_on @*/
/*@if (@_win32)
document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
var script = document.getElementById("__ie_onload");
script.onreadystatechange = function()
{
  if(this.readyState == "complete") main_load();
};
/*@end @*/

if(document.addEventListener) document.addEventListener("DOMContentLoaded", main_load, false);

if (/WebKit/i.test(navigator.userAgent)) { // sniff
  var _timer = setInterval(function() {
    if (/loaded|complete/.test(document.readyState)) {
      clearInterval(_timer);
      main_load(); // call the onload handler
    }
  }, 10);
}

window.onload = main_load;