// Get :hover support in MSIE now!
var msie = (navigator.userAgent.indexOf("MSIE") != -1);

function cssHelper() {
	if (msie) {
		setIEMenuHover();
	}
	setImageCaptionWidth();
	documentLengthAdjust();
	//accessKeyUnderline();
}

function setIEMenuHover() {
   if (msie) {
     var menuitems = document.getElementById("menu").getElementsByTagName("li");
     for (var i = 0; i < menuitems.length; i++) {
       var menuitem = menuitems[i];
       if (menuitem.className.indexOf("menuitem") != -1) {
         menuitem.attachEvent("onmouseover", setHoverStyle);
         menuitem.attachEvent("onmouseleave", removeHoverStyle);
       }
     }
   }
 }

 function setHoverStyle(el) {
   var el = window.event.srcElement;
   if (el.className.indexOf(' hover') != -1) return;
   el.className = el.className += " hover";
 }

 function removeHoverStyle(el) {
   var el = window.event.srcElement;
   if (el.className.indexOf(' hover') == -1) return;
   el.className = el.className.substring(0, el.className.indexOf(" hover"));
 }

  function setFirstPageSummaryHeight() {
	 if (!msie) return;
	 var bodyClass = document.body.className;
	 if (bodyClass != "first-page") {
		 //window.status = "Not first-page";
		 return;
	 }
	 //window.status = "First-page";
	 var contentArea = document.getElementById("content");
	 var allDivs = contentArea.getElementsByTagName("div");
	 var summaries = new Array();
	 for (var i = 0; i < allDivs.length; i++) {
		 if (allDivs[i].className.indexOf("summary") != -1) {
			 summaries[summaries.length] = allDivs[i];
		 }
	 }
	 var firstSummary = summaries[0];
	 if (!firstSummary) {
		 //window.status = "No first summary";
		 return;
	 }
	 var summaryImage = firstSummary.getElementsByTagName("img")[1];
	 if (!summaryImage) {
		 //window.status = "No summaryimage";
		 return;
	 }
	 //window.status = "Summary height: "+firstSummary.offsetHeight+" Summary image height: "+summaryImage.offsetHeight;
	 if (firstSummary.offsetHeight < summaryImage.offsetHeight + 30) {
		 firstSummary.style.height = (summaryImage.offsetHeight + 30) + "px";
	 }
  }
  
  function getElementsByClass(clazzName, parent, tagName) {
	  var allElements = (parent ? parent : document).getElementsByTagName(tagName ? tagName : "*");
	  var matches = new Array();
	  for (var i = 0; i < allElements.length; i++) {
		  if (allElements[i].className == clazzName 
		     || allElements[i].className.indexOf(clazzName+" ") != -1 
		     || allElements[i].className.indexOf(" "+clazzName) != -1) {
			     matches[matches.length] = allElements[i];
		  }
	  }
	  return matches;
  }
  
  function setImageCaptionWidth() {
	  var bildebokser = getElementsByClass("image-box", document.getElementById("content"), "div") 
	  for (var i = 0; i < bildebokser.length; i++) {
         var box = bildebokser[i];
         var imgElement = box.getElementsByTagName("img")[0];
         var captionElement = box.getElementsByTagName("p")[0];
         var width = imgElement.width + "px";
         captionElement.style.width = width;
  	  }
  }
  
  function getDocumentLength() {
	  var contentLength = document.getElementById("content").offsetHeight + 10;
	  var rightMarginLength = document.getElementById("rightMargin").offsetHeight;
	  return (contentLength> rightMarginLength ? contentLength : rightMarginLength);
  }
  
  function documentLengthAdjust() {
	  var leftMargin = document.getElementById("leftMargin");
	  var footer = document.getElementById("footer");
	  var header = document.getElementById("header");
      var availableHeight = getDocumentLength();
	  leftMargin.style.height = availableHeight + "px";
	  footer.style.top = (header.offsetHeight + availableHeight) + "px";
  }
  
/*  function accessKeyUnderline() {
	  var inputs = document.getElementsByTagName("input");
	  var textAreas = document.getElementsByTagName("textarea");
	  var selects = document.getElementsByTagName("select");
	  
	  window.status = "inputs: "+inputs.length+" textAreas: "+textAreas.length+" selects: "+selects.length;
	  
	  var processTextInputList = function(list) {
		  for (var i = 0; i < list.length; i++) {
			  var el = list[i];
			  var accessKey = el.getAttribute("accesskey");
			  
			  if (accessKey) {
  			    var labels = el.parentNode.getElementsByTagName("label");
			    var label = null;
			    for (var j = 0; j < labels.length && label == null; j++) {
				    if (labels[j].htmlFor == el.id) {
					    label = labels[j];
				    }
			    }
			    if (label) {
  			      var value = label.removeChild(label.childNodes[0]).nodeValue;
  			      if (value.indexOf(accessKey) != -1) {
	  			      label.appendChild(document.createTextNode(value.substring(0, value.indexOf(accessKey))));
	  			      var emElement = document.createElement("u");
	  			      emElement.appendChild(document.createTextNode(accessKey));
	  			      label.appendChild(emElement);
	  			      label.appendChild(document.createTextNode(value.substring(value.indexOf(accessKey) + 1)));
  			      }
 		        }
		     }
		  }
	  }
	  
	  processTextInputList(inputs);
	  processTextInputList(textAreas);
	  processTextInputList(selects);
	  
	  
  }
  */
