// zavesi udalost 'eventType' na 'elementHTML' (nepovinne aj na ktorom objekte ju ma volat)
// eventType - moze byt aj pole stringov (viac typov eventov spracuje jeden handler)

$E = new Object();

$E.addHandler = function( elementHTML, eventType, eventHandlerFn)
{
  
 if (elementHTML)
 {
  var fn = eventHandlerFn;

  var pole = eventType.isArray ? eventType : [ eventType ];
  
  for (var i=0; i<pole.length; i++)
  {
   // standard
   if (elementHTML.addEventListener)
    // odstranim "on" na zaciatku eventType
    elementHTML.addEventListener( pole[i].replace(this.onAtBeginRegExp, ''), fn, false );
   // pre IE
   else if (elementHTML.attachEvent)
    elementHTML.attachEvent( pole[i], fn );
  }
 }
}

$E.removeHandler = function( elementHTML, eventType, eventHandlerFn)
{
 
 if (elementHTML && document.body)
 {
  var fn = eventHandlerFn;
  
  var pole = eventType.isArray ? eventType : [ eventType ];
  
  for (var i=0; i<pole.length; i++)
  {
   // standard
   if (elementHTML.addEventListener)
    // odstranim "on" na zaciatku eventType
    elementHTML.removeEventListener( pole[i].replace(this.onAtBeginRegExp, ''), fn, false );
   // pre IE
   else if (elementHTML.attachEvent)
    elementHTML.detachEvent( pole[i], fn );
  }
 }
}

$E.onAtBeginRegExp = new RegExp('^on','i');

