
var tooltip = null;
var once = false;
var document_body = (document.compatMode && document.compatMode != 'BackCompat')? document.documentElement : document.body? document.body : null;

var tooltip_width = 220;
var fontsize = 100.01;
// var max_width = 880;

document.onmousemove = updateTooltip;

function setCookie(name, wert, domain, expires, path, secure){
   var cook = name+'='+unescape(wert);
   cook += (domain) ? "; domain="+ domain : "";
   cook += (expires) ? "; expires="+expires : "";
   cook += (path) ? "; path="+path : "";
   cook += (secure) ? "; secure" : "";
   document.cookie = cook;
}

function setFontsize(size) {

  if (navigator.cookieEnabled) {

    var cookie, pair;
    var cookies = document.cookie.split(';');
    var len = cookies.length;
    var set_cookie = true;

    for(var i=0; i < len; i++) {
      cookie = cookies[i];
      while (cookie.charAt(0)==' ') cookie = cookie.substring(1, cookie.length);
      pair = cookie.split('=');

      if ((pair[0] == 'fontsizeR') || (pair[0] == 'fontsize')) {
        fontsize = pair[1];
        break;
      }
    }

    if (size == 'reset') {
      fontsize = 101;
    } else if (size == '') {
      set_cookie = false;
    } else {
      fontsize = (fontsize*1.0 + size*1.0);
    }
    
    var html = document.getElementsByTagName('html')[0];

    html.style.fontSize = (fontsize + '%');

    if (set_cookie) {
      setCookie('fontsize', fontsize, null, null, '/', null);
        expires = new Date();
        next_year = expires.getTime() + (60*60*24*365);
        expires.setTime(next_year);
      setCookie('fontsizeR', fontsize, null, expires.toGMTString(), '/', null);
    }

//    alert(document.cookie);
  }

}

function updateTooltip(e) {

  if (tooltip != null) {

    if (!e) e = window.event;
		
		if (tooltip.clientWidth) {
			tooltip_width = tooltip.clientWidth + 5;
		} else {
			tooltip_width = 265;
		}
    
    if (window.opera || (navigator.appName == 'Konqueror')) {
      x = e.x+document.body.scrollLeft;
      y = e.y+document.body.scrollTop-5;
      max_width = document.body.clientWidth;
    } else if (document.all) {
      x = e.clientX + document_body.scrollLeft;
      y = e.clientY + document_body.scrollTop-5;
      max_width = document.body.clientWidth;
    } else {
      x = e.pageX;
      y = e.pageY;
      max_width = window.innerWidth;
    }

    if ((x + tooltip_width) > max_width) {
      x = max_width - tooltip_width;
    }

    tooltip.style.left = (x - 20) + "px";
    tooltip.style.top = y + "px";

    if (once) { hideTooltip(); }

    // window.status = 'max: ' + screen.availWidth + ' ' + window.innerWidth;
  // window.status = x+':'+y + ' ('+tooltip.clientWidth+')';
  }
}
function showTooltip(id) {
  tooltip = document.getElementById(id);
  tooltip.style.visibility = 'visible';
	//tooltip.style.width = '220px';
  once = false;
}
function showTooltipOnce(id) {
  tooltip = document.getElementById(id);
  tooltip.style.visibility = 'visible';
  once = true;
}
function hideTooltip() {
  tooltip.style.visibility = 'hidden';
  tooltip = null;
}

function addEngine(name,ext,cat) {
  if ((typeof window.sidebar == "object") && (typeof window.sidebar.addSearchEngine == "function")) {
    //cat="Web";
    //cat=prompt("In what category should this engine be installed?","Web")
    window.sidebar.addSearchEngine(
      //"http://mycroft.mozdev.org/plugins/"+name+".src",
      //"http://mycroft.mozdev.org/plugins/"+name+"."+ext,
      "http://www.ego4u.de/scripts/ego4u.src",
      "http://www.ego4u.de/scripts/ego4u.png",
      name,
      cat);
  } else {
    errorMsg(name,ext,cat);
  }
}


function pastText(text, id) {

  if (document.all && document.getElementById(id).createTextRange) {

    document.getElementById(id).focus(document.getElementById(id).caretPos);
    document.getElementById(id).caretPos = document.selection.createRange().duplicate();

    if(document.getElementById(id).caretPos.text.length>0) {
      document.getElementById(id).caretPos.text=document.getElementById(text).caretPos.text;
    } else {
      document.getElementById(id).caretPos.text=text;
    }

  } else if (element = document.getElementById(id)) {

    var selEnd = element.selectionEnd;
    var txtLen = element.value.length;
    var txtbefore = element.value.substring(0, selEnd);
    var txtafter =  element.value.substring(selEnd, txtLen);

    element.value = txtbefore + text + txtafter;
    element.selectionEnd = selEnd+1;
    
    element.focus();

  } else {

    document.query_form.query.text.value += text;
    document.query_form.query.focus();

  }

}