var upDTime;
var shoutbox = {
            _init: function() {
                this._handleGetContent();
                $('.' + this.options.formClass).bind('submit',{sthat:this},this._handleSubmit);
            },
            _handleSubmit: function(event) {
                sthat = event.data.sthat;

                $(this).ajaxSubmit({
                    dataType: 'json',
                    success: function(data) {
                        $('#' + sthat.options.contentContainer).prepend(data.content);
                        //$('#' + sthat.options.contentContainer).attr({ scrollTop: ($('#' + sthat.options.contentContainer).attr("scrollHeight")) });
                        $('textarea').val('');

                        //bind event
                        $('#shout-' + data.id).find("." + sthat.options.removeClass).bind('click', {
                            sthat:sthat
                        }, sthat._handleRemove);
                    }
                });
            
                return false;
            },
            _handleGetContent: function() {
                sthat = this;
               $.ajax({
                     url: sthat.options.updateUrl,
                     data: 'limit=' + sthat.options.limit,
                    success: function(data) {
                        //put data
                        $('#' + sthat.options.contentContainer).html(data);
                        //$('#' + sthat.options.contentContainer).attr({ scrollTop: ($('#' + sthat.options.contentContainer).attr("scrollHeight")) });
                        //bind event
                        $('#' + sthat.options.contentContainer).find("." + sthat.options.removeClass).bind('click', {
                            sthat:sthat
                        }, sthat._handleRemove);

                       }
                });

                upDTime = setTimeout("sthat._handleGetContent()",sthat.options.updateTime);
            },
             _handleRemove: function(event) {
                sthat = event.data.sthat;
                $.ajax({
                    url: $(this).attr('href'),
                    success: function(data) {
                        $('#shout-' + data).remove();
                        //$('#' + sthat.options.contentContainer).attr({ scrollTop: ($('#' + sthat.options.contentContainer).attr("scrollHeight")) });
                    }
                });

                return false;
            }
};
$.widget("ui.shoutbox", shoutbox); // create the widget

$.ui.shoutbox.defaults = {
    formClass: 'shoutbox-form',
    removeClass: 'remove-shout',
    contentContainer: 'shoutbox-content',
    updateUrl: '/shoutbox/getContent',
    limit: null,
    updateTime: 20000
};


