var autoSetFocus;
function setFocus(form) {
    try {
      for (var i = 0; i < document.forms[form].elements.length; i++)
      {
        var focusControl = document.forms[form].elements[i];
        if (focusControl.type != "hidden" && !focusControl.disabled && focusControl.name != "back")
        {
          autoSetFocus = focusControl;
          focusControl.focus();
          if(focusControl.type != "submit")
          {
            focusControl.select();
          }
          return;
         }
      }
    } catch (e) {
      // set searchcriteria (search field) in focus instead
    }
    var focusControl = document.getElementsByName("searchcriteria");
    if (focusControl) {
      try {
        focusControl[0].focus();
      } catch (e) {
        // the search field is disabled
      }
    }
  }

function hideWorkingScreen()
{
  document.getElementById("workingscreen").style.visibility = "hidden";
  if (undefined == this._lon_disabled_arr)
    return true;

  for (; _lon_disabled_arr.length > 0;)
  {
    var select = _lon_disabled_arr.push();
    select.disabled = false;

    var clones_arr = thid.document.getElementsByName(select.name);
    for (var n = 0; n < clones_arr.length; n++)
    {
      if ("hidden" == clones_arr[n].type)
        clones_arr[n].parent.removeChild(clones_arr[n]);
    }
  }
  return true;

}

function resizeWorkingScreen()
{
   var i = 0;
     if (document.documentElement && document.documentElement.scrollTop)
       i = document.documentElement.scrollTop;
     else if (document.body)
       i = document.body.scrollTop;

  var marginTop = 0.30;
   var scroll = 0;
  if (navigator.appName.indexOf("Microsoft")!=-1) {
    scroll = 20;
  }

  document.getElementById("workingscreen").style.height = (document.body.offsetHeight-scroll) + "px";
   document.getElementById("workingscreen").style.width = (document.body.offsetWidth-scroll) + "px";
   document.getElementById("popup").style.top = document.body.clientHeight  * marginTop + i + "px";
   document.getElementById("popup").style.left = (document.body.clientWidth / 2 - 100) + "px";
   document.getElementById("if").style.top = document.body.clientHeight * marginTop + i  + "px";
   document.getElementById("if").style.left = (document.body.clientWidth / 2 - 100) + "px";
}

function showWorkingScreenWait(delay) {
    setTimeout('showWorkingScreen()', delay * 1000);
  }

function showWorkingScreen(message)
{
  if (undefined == this._lon_disabled_arr)
    _lon_disabled_arr = new Array();
  else if (_lon_disabled_arr.length > 0)
    return true;

  if (message != null)
  {
    document.getElementById("workingscreenMessage").innerHTML = message;
  }

  var marginTop = 0.30;
  var scroll = 0;
  if (navigator.appName.indexOf("Microsoft")!=-1) {
    scroll = 20;
  }
  //document.getElementById("footer").style.top=document.body.clientHeight-14+getDocumentScrollTop()+"px";
  document.getElementById("workingscreen").style.height = (document.body.offsetHeight-scroll) + "px";
  document.getElementById("workingscreen").style.width = (document.body.offsetWidth-scroll) + "px";
  document.getElementById("popup").style.top = document.body.clientHeight * marginTop + "px";
  document.getElementById("popup").style.left = (document.body.clientWidth / 2 - 100) + "px";
  document.getElementById("if").style.top = document.body.clientHeight * marginTop + "px";
  document.getElementById("if").style.left = (document.body.clientWidth / 2 - 100) + "px";

  // Ondt hack
  //setTimeout('document.images["workingscreenGif"].src = document.images["workingscreenGif"].src', 200);

  document.getElementById("workingscreen").style.visibility = "visible";
  var select_arr = document.getElementsByTagName("select");

  for (var i = 0; i < select_arr.length; i++)
  {
    select_arr[i].disabled = true;
    _lon_disabled_arr.pop(select_arr[i]);
    var clone = this.document.createElement("input");
    clone.type = "hidden";
    clone.name = select_arr[i].name;
    var values = new Array();
    for (var n = 0; n < select_arr[i].length; n++)
    {
      if (select_arr[i][n].selected)
      {
        values[values.length] = select_arr[i][n].value;
      }
    }
    clone.value = values.join(",");
    select_arr[i].parentNode.insertBefore(clone, select_arr[i]);
  }
  return true;


}


function setCookie(name, value, expires, path, domain, secure) {
  var curCookie = name + "=" + escape(value) +
    ((expires) ? "; expires=" + expires.toGMTString() : "") +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    ((secure) ? "; secure" : "");
  document.cookie = curCookie;
}

function getCookie(name) {
  var dc = document.cookie;
  var prefix = name + "=";
  var begin = dc.indexOf("; " + prefix);
  if (begin == -1) {
    begin = dc.indexOf(prefix);
    if (begin != 0) return null;
  } else {
    begin += 2;
  }
  var end = document.cookie.indexOf(";", begin);
  if (end == -1) end = dc.length;
  return unescape(dc.substring(begin + prefix.length, end));
}

function saveScroll() {
  var element = document.getElementById('divheight');
  if (element!=null)
  {
    var now = new Date();
    now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
    var x = document.getElementById('divheight').scrollLeft ;
    var y = document.getElementById('divheight').scrollTop;
    setCookie("xy", x + "_" + y, now,"/");
  }
}

function loadScroll() {

  var xy = getCookie("xy");
  if (!xy) return;
  var ar = xy.split("_");
  var element = document.getElementById('divheight');
  if (element!=null && ar.length == 2)
  {
    element.scrollLeft=parseInt(ar[0]);
    // leftmenu scroll automatically to selected node!
    //element.scrollTop=parseInt(ar[1]);
  }
}

var db = (document.body) ? 1 : 0;
var scroll = (window.scrollTo) ? 1 : 0;
var ie = (navigator.appName.indexOf("Microsoft")!=-1) ? 1 : 0;

function saveScrollMain() {
  if (!scroll) return;
  var now = new Date();
  now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
  var x = (ie) ? document.body.scrollLeft : pageXOffset;
  var y = (ie) ? document.body.scrollTop : pageYOffset;
  var xy = x + "_" + y;
  setCookie("xymain", xy, now);
}

function loadScrollMain() {
  if (!scroll) return;
  var xy = getCookie("xymain");
  if (!xy) return;
  var ar = xy.split("_");
  if (ar.length == 2) scrollTo(parseInt(ar[0]), parseInt(ar[1]));
}


var browserIsIE = false;
try{
  document.onmousedown=mouseClick;
  document.onmouseup=mouseUnclick;
  document.onkeydown=keyDown;
  document.onkeyup=keyUp;
  browserIsIE = true;
} catch (e)
{
  //  mozilla firefox
}
var mouseClicked = false;
function mouseClick()
{
  mouseClicked = true;
}
function mouseUnclick()
{
  mouseClicked = false;
}
var tabPressedDown = false;
function keyDown()
{
  tabPressedDown = window.event.keyCode==9;
}

function keyUp()
{
  tabPressedDown = false;
}
function clickAccessKey(link)
{
  // ie: alt+letter
  // mozilla: alt+shift+letter (means sub-menues does not work!)
  /*
  on mouse click
  - focus
  - this method
  - click
  */

  if (browserIsIE && !mouseClicked && !tabPressedDown && !link==autoSetFocus)
  {
    link.click();
  }
  autoSetFocus=null; // reset
}

 var sessionWarningTime = 20*60*1000;
 var sessionAutologout = 9*60*1000;
 var showSessionWarning = true;

 function hideSessionWarning()
 {
     showSessionWarning = false; 
 }
