    var interval;
    
    jQuery.fn.contentchange = function(fn) {
        return this.bind('contentchange', fn);
    };

    jQuery.event.special.contentchange = {
        setup: function(data, namespaces) {
            var self = this,
                $jthis = $j(this),
                $joriginalContent = $jthis.text();
            interval = setInterval(function(){
                if($joriginalContent != $jthis.text()) {
                        $joriginalContent = $jthis.text();
                        jQuery.event.special.contentchange.handler.call(self);
                }
            },500);
        },
        teardown: function(namespaces){
            clearInterval(interval);
        },
        handler: function(event) {
            jQuery.event.handle.call(this, {type:'contentchange'})
        }
    };
