var rememberCursor = 0;
var rememberFocus = 0;
  
function init() {
  if (document.all) {
    menu_ie();
  }
  firstSlash = document.URL.indexOf('/', 'http://'.length) + 1;
  secondSlash = document.URL.indexOf('/', firstSlash);
  next = document.URL.substring(firstSlash, secondSlash);
  if (next != null) {
    show(next);
  }
  var clickLetters = document.getElementById('clickLetters').getElementsByTagName('a');
  for (i=0; i < clickLetters.length; i++) {
  	clickLetters[i].onmousedown = insertClickLetter;
  	clickLetters[i].onmouseup = resetFocus;
    clickLetters[i].onmouseover = function(event) { this.style.background='white'; this.style.border='1px solid #f60'; }
    clickLetters[i].onmouseout = function(event) { this.style.background=''; this.style.border='1px solid white'; }
  }
  if (document.uitmuntend && document.uitmuntend.search) {
    rememberFocus = document.uitmuntend.search;
  } else {
    with (document) {
      if (document.edit) {
        with (edit) {
          VIEW_NL.onfocus = function(event) { rememberFocus = document.edit.VIEW_NL; }
          VIEW_DE.onfocus = function(event) { rememberFocus = this; }
          SEARCH_NL.onfocus = function(event) { rememberFocus = this; }
          SEARCH_DE.onfocus = function(event) { rememberFocus = this; }
        }
      }
      with (search) {
        search.onfocus = function(event) { rememberFocus = this;  }
      }
      with (search_kw) {
        search_kw.onfocus = function(event) { rememberFocus = this;  }
      }
      if (search_kw && search_kw.search_kw) {
        rememberFocus = search_kw.search_kw;
      }
    }
  }
  if (rememberFocus) {
    rememberFocus.focus();
  }
}


function menu_ie() {
  var uls = document.getElementsByTagName('UL');
  for (i=0; i < uls.length; i++) {
    if (uls[i].className == 'dropdown') {
      var lis = uls[i].getElementsByTagName('li');
      for (j = 0; j < lis.length; j++) {
        if (lis[j].lastChild.tagName == 'UL') {
          lis[j].onmouseover = function() { this.lastChild.style.display = 'block'; }
          lis[j].onmouseout = function() { this.lastChild.style.display = 'none'; }
        }
      }
    }
  }
}

var prev = null;

function show(next) {
   //Ausschalten des aktuellen Inhalts
   if (prev != null) {
     found = document.getElementById(prev);
     if (found != null) {
       found.style.display = 'none';
     }
   }
   if (next != prev) {
     //Anschalten des gewaehlten Inhalts
     found = document.getElementById(next);
     if (found != null) {
       found.style.display = 'block';
       prev = next;
     }
   } else {
     prev = null;
   }
}


function insert(node, part) {
  found = document.getElementById(node);
  if (found != null) {
    found.value = found.value + part;
  }
}

function insertClickLetter() {
    // var field = document.uitmuntend.search;
    field = rememberFocus;
    var letter = this.firstChild.nodeValue;
    field.focus();
    var start = field.selectionStart;
    if (document.selection) {
        var range = document.selection.createRange();
        range.text = letter;
        // var isCollapsed = range.compareEndPoints('StartToEnd', range) == 0;
	    // if (!isCollapsed) range.collapse(true);
	    var b = range.getBookmark();
	    rememberCursor = b.charCodeAt(2)-2;
    } else {
        newValue = field.value.substr(0, start);
        newValue += letter;
        newValue += field.value.substr(field.selectionEnd, field.value.length);
        field.value = newValue;
        field.focus();
        pos = start + 1;
        field.setSelectionRange(pos, pos);
    }
}

function resetFocus() {
    // document.uitmuntend.search.focus();
    rememberFocus.focus();
    if (rememberCursor > 0 && document.selection) {
      var range = document.selection.createRange();
      range.move("character", rememberCursor); 
      range.select();
      rememberCursor = 0;
    }
}
