

function sEvent(element){
  
  this._element = element;
  this._events = new Array();
  
  this.addEvent = function(action, onEvent){

    if ( !this._events[action] )
      this._events[action] = new Array();
    this._events[action][this._events[action].length] = onEvent;

    if (this._element.addEventListener)
      this._element.addEventListener(action, onEvent, false);
    else if (this._element.attachEvent)
      this._element.attachEvent( "on"+action, onEvent );
  
  }
  
  this.addEventListener = this.addEvent;
  
  this.removeEvent = function(action, onEvent){
    if (this._element.addEventListener)
      this._element.removeEventListener(action, onEvent, false);
    else if (this._element.attachEvent)
      this._element.detachEvent ( "on"+action, onEvent );
    
    if (this._element.addEventListener)
      this._element.removeEventListener(action, onEvent, false);
    else if (this._element.attachEvent)
      this._element.detachEvent ( "on"+action, onEvent );
  }
  
  this.removeEventListener = this.removeEvent;
  
  this.doEvent = function(action){
    if (this._events[action])
      for (var i in this._events[action]){
        new this._events[action][i];
      }
  }
  
  this.clearEvent = function(action){
    for (var i in this._events[action]);
      this.removeEvent(action, this._events[action][i]);
  }

}
