code: function(elements, types, fn) {
      //if (!elements || !types || !fn || typeof types != "string")
      //  return;
      
      //var  elements = (!elation.utils.isNull(elements.nodeName) || elements == window) ? [ elements ] : elements;
      if (!elation.utils.isArray(elements)) {
        elements = [elements];
      }
      var types = types.split(',');
      
      for (var e=0; e<elements.length; e++) {
        var element = elements[e];
        
        if (typeof element != 'object')
          continue;
        
        for (var i=0; i<types.length; i++) {
          var type = types[i];
          
          elation.events._unregister(element, type, fn);
  
          if (element) {
            if (element.removeEventListener) {
              if (typeof fn == "object" && fn.handleEvent) {
                element.removeEventListener(type, element[type+fn], false);
                delete element[type + fn];
              } else {
                element.removeEventListener(type, fn, false);
              }
            } else if (element.detachEvent) {
              if (typeof element[type + fn] == "function")
                element.detachEvent("on" + type, element[type + fn]);
              
              element[type + fn] = null;
              element["e" + type + fn] = null;
            }
          }
        }
      }
      
      return this;
    }
docs: syntax: remove(element || [ elements ], "type1,type2,type3", reference);