//Generic Events for type
Type.prototype.createEvent = function(eventName)  {
    var addHandler = function(handler) {
        this.get_events().addHandler(eventName, handler);
    }
    var removeHandler = function(handler) {
        this.get_events().removeHandler(eventName, handler);
    }
    this.prototype['add_' + eventName] = addHandler;
    this.prototype['remove_' + eventName] = removeHandler;
    addHandler = removeHandler = null;
    if(!this.__regEvents) {
        if(!this.inheritsFrom(Sys.Component)) {
            this.prototype.get_events = function() {
                if (!this._events) {
                    this._events = new Sys.EventHandlerList();
                }
                return this._events;
            }
        }
        this.prototype._raiseEvent = function(eventName, eventArgs) {
            var handler = this.get_events().getHandler(eventName);
            if (handler) {
                if (eventArgs == null || eventArgs == 'undefined') {
                    eventArgs = Sys.EventArgs.Empty;
                }
                handler(this, eventArgs);
            }
        }
        this.__regEvents = true;
    }
}

Type.registerNamespace('ctv.ca');


