function addStylesheet(url) {
  var h = document.getElementsByTagName('head')[0];
  var css = document.createElement('link');
  css.rel = 'stylesheet';
  css.type = 'text/css';
  css.href = url;
  h.appendChild(css);
}

function ProductTypesHandler() {
  var self = this;
  this.items = null;
  this.lists = null;
  this.showDetail = function(e) {
    // called from .content-main .header (DIV)
    this.relatedElement.style.display = 'block';
    writeDebug('ProductTypesHandler.showDetail()');
  }
  this.hideDetail = function(e) {
    (this.relatedElement||this).style.display = 'none';
    writeDebug('ProductTypesHandler.hideDetail()');
  }
  this.init = function() {
    writeDebug('ProductTypeshandler.init()');
    var i=0, j=0, div = null;
    self.lists = getElementsByClassName('product-types','ul');
    for (i=0; i<self.lists.length; i++) {
      listItems = self.lists[i].getElementsByTagName('li');
      for (j=0; j<listItems.length; j++) {
        divHeader = (document.all?getElementsByClassName('content-main','div',listItems[j])[0]:getElementsByClassName('more','a',listItems[j])[0]);
        divContent = getElementsByClassName('content-hover','div',listItems[j])[0];
        divHeader.relatedElement = divContent;
        divHeader.onmouseover = self.showDetail;
        divContent.relatedElement = divContent;
        divContent.onmouseout = self.hideDetail;
        divHeader.onmouseout = self.hideDetail;
      }
    }
  }
}

// Check for and apply absolute positioning fix if applicable
var ua = navigator.userAgent.toLowerCase();
if (ua.indexOf('netscape6/6.2')+1 || ua.indexOf('netscape/7')+1 || ua.indexOf('safari/85')+1) {
  writeDebug('adding absolute corrective stylesheet');
  addStylesheet('/styles/common/unique3_abs_fix.css');
}
if (ua.indexOf('netscape6/6.2')+1) {
  addStylesheet('/styles/common/unique3_nn6_fix.css');
}

var productTypesHandler = new ProductTypesHandler();

addOnloadHandler(productTypesHandler.init);
