window.onload = function() {
  var objOverlay = document.getElementById('alarmi');
  if ( objOverlay==null ) {
    init_alarmi();
  }
};

function alarmi( texti, pos )
{
  var objOverlay = document.getElementById('alarmi');
  if ( objOverlay==null ) init_alarmi();
	var objLightbox = document.getElementById('alarmiLightbox');
  objLightbox.style.display = 'none';
  alarmi_setwaiting();
  var container = document.getElementById( 'alarmiLightboxContainer' );
  container.innerHTML = texti;
  alarmi_showfull(pos);
  window.setTimeout( function() { focusInputRoot( container ) }, 1 );
  objLightbox.style.visibility = 'block';
  window.setTimeout( function()
  {
    container.style.display = 'block';
  }, 1200 );
  window.setTimeout( function() { alarmi_close() }, 3000 );
  return false;
}



function alarmi_setwaiting()
{
  var objOverlay = document.getElementById('alarmi');
  var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();
  objOverlay.style.height = (arrayPageSize[1] + 'px');
  objOverlay.style.display = 'block';
}

function alarmi_showfull(pos)
{
  var objOverlay = document.getElementById('alarmi');
	var objLightbox = document.getElementById('alarmiLightbox');
  if ( pos==null ) pos = '200';
  var arrayPageSize = getPageSize();

  objLightbox.style.display = 'block';
  objOverlay.style.height = (arrayPageSize[1] + 'px');
  objOverlay.style.display = 'block';

  var arrayPageSize = getPageSize();
  var arrayPageScroll = getPageScroll();
  document.body.onkeypress = function(event)
  {
    if ( event.keyCode == 27 ) alarmi_close();
  };
  /* Box als hidden markieren, um flickern zu vermeiden */

  window.setTimeout( function()
  {
    if ( arrayPageSize[3] - objLightbox.offsetHeight < 35 )
      objLightbox.style.top =  '35px';
    else
      objLightbox.style.top =  ( arrayPageScroll[1] + ( arrayPageSize[3] - objLightbox.offsetHeight )/3 )+ 'px';
    objLightbox.style.left = pos+'px';
  }, 1 );
}

function alarmi_close()
{
	var objLightbox = document.getElementById('alarmiLightbox');
  var objOverlay = document.getElementById('alarmi');
  document.body.onkeypress = null;
  new Effect.Fade(objLightbox,
    { duration: 2.1, 
      from: 1.0, to: 0.0});
  objOverlay.style.display = 'none';
  return false;
}

function init_alarmi()
{
  var objBody = document.getElementsByTagName("body").item(0);
  
  // create overlay div and hardcode some functional styles (aesthetic styles are in CSS file)
  var objOverlay = document.createElement('div');
  objOverlay.setAttribute('id','alarmi');
  //objOverlay.onclick = function () {hideLightbox(); return false;}
  objOverlay.style.display = 'none';
  objOverlay.style.position = 'absolute';
  objOverlay.style.top = '0';
  objOverlay.style.left = '0';
  objOverlay.style.zIndex = '191000';
  objOverlay.style.width = '100%';
  objOverlay.onclick = function() { alarmi_close(); };
  objBody.insertBefore(objOverlay, objBody.firstChild);

  var objLightbox = document.createElement('div');
  objLightbox.setAttribute('id','alarmiLightbox');
  objLightbox.style.display = 'none';
  objLightbox.style.position = 'absolute';
  objLightbox.style.zIndex = '1110000';
  objBody.insertBefore( objLightbox, objBody.firstChild );
  
  var last = objLightbox;
  var div = document.createElement( 'div' );
  last.appendChild( div );
  last = div;
  objLightbox = last;
  objLightbox.style.display = 'none';
  objLightbox.setAttribute( 'id', 'alarmiLightboxContainer' );
}
