// Hover 4 IE - a reimplementation of the :hover pseudo-class for elements other than <a>
// re-uses the :hover declaration of the original style sheet

function hover(layer) {
	if (document.all)
	  hover4IE(layer,true);
	else if (document.getElementById)
	  hover4DOM(layer,true);
}

function unHover(layer) {
  if (document.all)
    hover4IE(layer,false);
  else if (document.getElementById)
    hover4DOM(layer,false);
}

function highlight(layer) {
  hover(layer);
  layer.onmouseout = "";
}

function hover4IE(layer,hover) {
  var styleSheetRules = document.styleSheets[0].rules;
  
  var selectorTextToFind = "." + layer.className;
  if (hover)
   selectorTextToFind += ":hover";
  var rule = null;
   
  for (var i = 0, len = styleSheetRules.length; i < len; i++) {
    if (styleSheetRules[i].selectorText.indexOf(selectorTextToFind) >= 0) {
	  rule = styleSheetRules[i];
	  break;
	}
  }
   
  if (rule != null) {
    layer.style.color = rule.style.color;
	layer.style.backgroundColor = rule.style.backgroundColor;
	// color the links too.  This is essentially implementing the 'inherit' property value.
	var links = layer.getElementsByTagName("a");
	for (var j = 0 ; j < links.length; j++) {
	  var l = links.item(j);
	  l.style.color = rule.style.color;
	  l.style.backgroundColor = rule.style.backgroundColor;
	}
  } else {
    //alert("Rule was not found!");
    return false;
  }

}

function hover4DOM(layer,hover) {
  var styleSheetRules = document.styleSheets[0].cssRules;
  
  var selectorTextToFind = "." + layer.className;
  if (hover)
   selectorTextToFind += ":hover";
  var rule = null;
   
  for (var i = 0, len = styleSheetRules.length; i < len; i++) {
    if (styleSheetRules[i].selectorText.indexOf(selectorTextToFind) >= 0) {
	  rule = styleSheetRules[i];
	  break;
	}
  }
   
  if (rule != null) {
    layer.style.color = rule.style.color;
	layer.style.backgroundColor = rule.style.backgroundColor;
	// color the links too.  This is essentially implementing the 'inherit' property value.
	var links = layer.getElementsByTagName("a");
	for (var j = 0 ; j < links.length; j++) {
	  var l = links.item(j);
	  l.style.color = rule.style.color;
	  l.style.backgroundColor = rule.style.backgroundColor;
	}
  } else {
    //alert("Rule was not found!");
    return false;
  }

}