/**
 * Redakční systém JSR
 * chyba.js
 * Funkce pro obsluhu javascriptové chyby.
 *
 * @author Josef Šmíd <mail@jsmid.net>
 * @copyright (c) 2007-2011 Josef Šmíd
 * @version 1.2
 */

if ( document.getElementById )
{
  window.alert = function( txt )
  {
    createCustomAlert( txt );
  }
}

function createCustomAlert( txt )
{

  if ( document.getElementById( "chybovaHlaska" ) ) return;

  zpravy = txt.split( ";" );

  pozadi = document.getElementsByTagName( "body" )[0].appendChild( document.createElement( "div" ) );
  pozadi.id = "pruhlednePozadi";
  pozadi.style.height = document.documentElement.scrollHeight + "px";

  pozadiOkna = document.getElementsByTagName( "body" )[0].appendChild( document.createElement( "div" ) );
  pozadiOkna.id = "chybovaHlaska";
  pozadiOkna.style.height = document.documentElement.scrollHeight + "px";

  okno = pozadiOkna.appendChild( document.createElement( "div" ) );
  if ( zpravy[0].length > 0 )
  {
    okno.id = "chyboveOknoOK";
  }
  else
  {
    okno.id = "chyboveOkno";
  }
  if ( document.all && !window.opera ) okno.style.top = document.documentElement.scrollTop + "px";
  okno.style.left = ( document.documentElement.scrollWidth - okno.offsetWidth ) / 2 + "px";
  okno.style.visiblity = "visible";

  h1 = okno.appendChild( document.createElement( "h1" ) );
  h1.appendChild( document.createTextNode( "Zpráva" ) );

  if ( zpravy[0].length > 0 )
  {
    msg = okno.appendChild( document.createElement( "p" ) );
    msg.id = "ok";
    msg.appendChild( document.createTextNode( zpravy[0] ) );
  }

  for ( var i = 1; i < zpravy.length; i++ )
  {
    if ( zpravy[i].length > 0 )
    {
      msg = okno.appendChild( document.createElement( "p" ) );
      msg.id = "chyba";
      msg.appendChild( document.createTextNode( zpravy[i] ) );
    }
  }

  btn = okno.appendChild( document.createElement( "a" ) );
  btn.id = "tlacitko";
  btn.appendChild( document.createTextNode( "OK" ) );
  btn.href = "#";
  btn.focus();
  btn.onclick = function() { removeCustomAlert(); return false; }

  okno.style.display = "block";

  return false;

}

function removeCustomAlert()
{
  document.getElementsByTagName( "body" )[0].removeChild( document.getElementById( "chybovaHlaska" ) );
  document.getElementsByTagName( "body" )[0].removeChild( document.getElementById( "pruhlednePozadi" ) );
}
