function getClassNames(obj) {
  return (obj) ? obj.className.split(' ') : new Array();
}


function hasClassName(obj, class_name) {
  if (obj && obj.className) {
    var classes = getClassNames(obj);
    if ((class_name.substr(0, 1) == '/') && (class_name.substr(-1, 1) == '/')) {
      class_name = new RegExp(trimChar(class_name.toLowerCase(), '/'));
      for (var i = 0; i < classes.length; i++) {
        if (class_name.test(classes[i].toLowerCase()) === true) {
          return true;
        }
      }
    } else {
      for (var i = 0; i < classes.length; i++) {
        if (classes[i].toLowerCase() == class_name.toLowerCase()) {
          return true;
        }
      }
    }
  }
  return false;
}


function addClassName(obj, class_name) {
  if (obj && (hasClassName(obj, class_name) === false)) {
    if (obj.className) {
      var classes = getClassNames(obj);
      for (var i = 0; i < classes.length; i++) {
        if (classes[i].toLowerCase() == class_name.toLowerCase()) {
          classes.splice(i, 1);
          i--;
        }
      }
      classes[classes.length] = class_name;
      obj.className = classes.join(' ');
    } else {
      obj.className = class_name;
    }
  }
}


function remClassName(obj, class_name) {
  if (obj && (hasClassName(obj, class_name) === true)) {
    if (obj.className) {
      var classes = getClassNames(obj);
      for (var i = 0; i < classes.length; i++) {
        if (classes[i].toLowerCase() == class_name.toLowerCase()) {
          classes.splice(i, 1);
          i--;
        }
      }
      obj.className = classes.join(' ');
    }
  }
}


function navHover() {
  var tds = document.getElementById('nav').getElementsByTagName('td');
  for (var td = 0; td < tds.length; td++) {
    tds[td].onmouseover = function() {addClassName(this, 'hover');}
    tds[td].onmouseout  = function() {remClassName(this, 'hover');}
  }
}


function showOurBrands(show) {
  if (show === false) {
    addClassName(document.getElementById('brands_title'),   'hidden');
    //addClassName(document.getElementById('brands_greybar'), 'hidden');
    addClassName(document.getElementById('brands_brands'),  'hidden');
  } else {
    remClassName(document.getElementById('brands_title'),   'hidden');
    //remClassName(document.getElementById('brands_greybar'), 'hidden');
    remClassName(document.getElementById('brands_brands'),  'hidden');
  }
}


function coverage(state) {
  var divs = document.getElementById('content').getElementsByTagName('div');
  for (var div = 0; div < divs.length; div++) {
    if (!hasClassName(divs[div], 'coverageSelect')) {
      addClassName(divs[div], 'hidden');
    }
  }
  remClassName(document.getElementById('map-' + state.toUpperCase()), 'hidden');
  return false;
}


function coverageHover() {
  /*
  var areas = document.getElementById('content').getElementsByTagName('area');
  for (var area = 0; area < areas.length; area++) {
    areas[area].onmouseover = function() {addClassName(this, 'hover');}
    areas[area].onmouseout  = function() {remClassName(this, 'hover');}
  }
  */
  var divs = document.getElementById('content').getElementsByTagName('div');
  for (var div = 0; div < divs.length; div++) {
    if (hasClassName(divs[div], 'coverageSelect')) {
      var anchors = divs[div].getElementsByTagName('a');
      for (var anchor = 0; anchor < anchors.length; anchor++) {
        anchors[anchor].onmouseover = function() {addClassName(anchors[anchor], 'hover');}
        anchors[anchor].onmouseout  = function() {remClassName(anchors[anchor], 'hover');}
      }
    } else if (hasClassName(divs[div], 'coverageArea')) /*(divs[div].getAttribute('id').match(/^map-[A-Z]{2}$/)) */{
      /*var img = divs[div].getElementsByTagName('img')[0];
      img.onclick     = function() {return coverage('NATION');}
      addClassName(img, 'hover');*/
      divs[div].getElementsByTagName('img')[0].onclick = function() {return coverage('NATION');}
    }
  }
}