function clearContent(O,content) {
  if (O.value==content) 
    O.value = "";
}

function restoreContent(O,content) {
  if (O.value=="")
    O.value=content;
}

function openPage(url) {
  window.location.href = url;
  return false;
}

function CheckForReturn(evt, execute) {
  evt = (evt)?evt:event;
  if (!evt) return true;

  var charPressed = evt.keyCode 
    ?evt.keyCode :
    evt.charCode 
      ?evt.charCode 
      :evt.which;
  if (!charPressed) return true;

  if(charPressed != 13) return true;
  eval(execute);
  return false;
}

function ClearDefault(textBox, defaultText) {
	if (!textBox) return;
	if (textBox.value == defaultText) textBox.value = '';
}


/**
 * UL DropDown Script
 */

function showList(e) {
  ddList.className = showListClass;

  // events
  addEventS(document.body, 'click', hideList);
  removeEventS(ddTrig, 'click', showList);
  addEventS(ddTrig, 'click', hideList);
  
  if (!e) {var e = window.event;}
  e.cancelBubble = true;
  if (e.stopPropagation) e.stopPropagation();
}

function hideList(e) {
  ddList.className = hideListClass;

  // events
  removeEventS(document.body, 'click', hideList);
  removeEventS(ddTrig, 'click', hideList);
  addEventS(ddTrig, 'click', showList);

  if (!e) {var e = window.event;}
  e.cancelBubble = true;
  if (e.stopPropagation) e.stopPropagation();
}


// Utility function to add an event listener
function addEventS(o,e,f){
  if (o.addEventListener){ o.addEventListener(e,f,false); return true; }
  else if (o.attachEvent){ return o.attachEvent("on"+e,f,false); }
  else { return false; }
}
function removeEventS(o,e,f) {
  if (o.removeEventListener){ o.removeEventListener(e,f,false); return true; }
  else if (o.detachEvent){ o.detachEvent("on"+e,f); return true; }
  else { return false; }
} 

/**
 * Adds initial eventhandlers to all list elements to 
 * support keyboard navigation.
 * Adds mouse support for the trigger of the menu
 */
function ulDD() {
  // if DOM is not available stop right here.
  if (!document.getElementById && !document.createTextNode) {
    return;
  }
  
  // show trigger and add show-event
  if (ddTrig) {
    ddTrig.className = showTriggerClass;
    addEventS(ddTrig, 'click', showList);
  }
  
  if (ddList) {
    // set events to all the list items
    var items = ddList.getElementsByTagName("li");
    var nrOfItems = items.length;
    for (var i = 0; i < nrOfItems; i++) {
      addEventS(items[i].firstChild, 'focus', showList);
      addEventS(items[i].firstChild, 'blur', hideList);
      addEventS(items[i].firstChild, 'click', hideList);
    }
  }
}

window.onload=function() {
  // find used objects
  ddCont = document.getElementById('fachinhalteSelector');  // Container DIV
  ddTrig = document.getElementById('fachinhalteTrigger');   // Trigger that opens the DD
  ddList = document.getElementById('fachinhalteListe');     // List of items to show

  // define css class names
  hideListClass = "dropdownClosed";
  showListClass = "dropdownOpened";
  showTriggerClass = "dropdownTriggerVisible";

  // initialize the eventhandlers
  ulDD();
}

