function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

function insertAfter(newElement,targetElement) {
  var parent = targetElement.parentNode;
  if (parent.lastChild == targetElement) {
    parent.appendChild(newElement);
  } else {
    parent.insertBefore(newElement,targetElement.nextSibling);
  }
}

function addClass(element,value) {
  if (!element.className) {
    element.className = value;
  } else {
    newClassName = element.className;
    newClassName+= " ";
    newClassName+= value;
    element.className = newClassName;
  }
}

function highlightPage() {
  if (!document.getElementsByTagName) return false;
  if (!document.getElementById) return false;
  if (!document.getElementById("navigation")) return false;
  var nav = document.getElementById("navigation");
  var links = nav.getElementsByTagName("a");
  for (var i=0; i<links.length; i++) {
    var linkurl = links[i].getAttribute("href");
    var currenturl = window.location.href;
    if (currenturl.indexOf(linkurl) != -1) {
      links[i].className = "here";
      var linktext = links[i].lastChild.nodeValue.toLowerCase();
      document.body.setAttribute("id",linktext);
    }
  }
}


// this function is needed to work around 
// a bug in IE related to element attributes
function hasClass(obj) {
    var result = false;
    if (obj.getAttributeNode("class") != null) {
         result = obj.getAttributeNode("class").value;
    }
    return result;
}   

function stripe(id) {

    var even = false;
    var evenColor = arguments[1] ? arguments[1] : "#fff";
    var oddColor = arguments[2] ? arguments[2] : "#eee";

    var table = document.getElementById(id);
    if (! table) { return; }

    var tbodies = table.getElementsByTagName("tbody");

    for (var h = 0; h < tbodies.length; h++) {

        var trs = tbodies[h].getElementsByTagName("tr");
      
        for (var i = 0; i < trs.length; i++) {

            if (! hasClass(trs[i]) &&
                ! trs[i].style.backgroundColor) {
              
                var tds = trs[i].getElementsByTagName("td");

                for (var j = 0; j < tds.length; j++) {

                    var mytd = tds[j];

                    if (! hasClass(mytd) &&
                        ! mytd.style.backgroundColor) {

                      mytd.style.backgroundColor =
                        even ? evenColor : oddColor;
                    
                    }
                }
            }
            even =  ! even;
        }
    }
}

function loadCorners() {
    //Nifty("div.resultsGroup");
    Nifty("DIV.StartAnRfq", "transparent");
    Nifty("DIV.DoubleFeature");
    Nifty("DIV.HowToSearch", "transparent");
    Nifty("DIV.FeatureBlock", "transparent");
    // for IE Nifty('div.resultsGroup caption', 'top');
}

//addLoadEvent(focusLabels);
//addLoadEvent(prepareForms);
addLoadEvent(highlightPage);
addLoadEvent(loadCorners);
