function TwitterHotShow(cfg){

    jQuery.extend(this,cfg);
    this.init();
}
TwitterHotShow.prototype = {
    dataProperty:'data',
    htmlArray:[],
    showNum:6,
    counter:0,
    speed:10,
    init:function(){
        this.initTemplate();
        this.loadData();
        this.initDom();
        this.initEvent();
        this.start();
    },
    initEvent:function(){
        var that = this;
        this.container.bind({
            'mouseover':function(){
                clearInterval(that.timer);
            },
            'mouseout':function(){
                that.start();
            }
        });
    },
    slideUp:function(){
        var that = this;
        this.container.children('li:first-child').slideUp(function(){
            ++that.counter;
            that.counter = that.counter % that.htmlArray.length;
            that.container.append(that.htmlArray[that.counter]);
            jQuery(this).remove();            
        })
    },
    start: function(){
        var that = this;
        this.timer = setInterval(function(){
            that.slideUp.call(that);
        },this.speed*1000);
    },
    initDom:function(){
        var h = 90 * this.showNum + 10;
        this.container.css({
            height: h,
            overflow:'hidden'
        });
        
        var _html = '',
            len=Math.min(this.showNum,this.htmlArray.length);
        for(var i=0;i< len;i++){
            _html += this.htmlArray[i];
        }
        this.counter = len - 1;
        this.container = this.container.html(_html);
    },
    loadData:function(){
        var items = null;
        var rnt = window[this.dataProperty];
        if(rnt && rnt.success && rnt.data){
            items = rnt.data.items;
            
            var util = window.HW.ui.twitterUtil;
	        for(var i=0,len=items.length; i < len;i++){
	//            items[i].dateStr = util.Date.toString(items[i].createTime);
	            items[i]._userLink = util.getUserLink(items[i]);
	            items[i].content = util.handleFaces(items[i].content);
	            if(items[i].userV == '1'){
	                items._vIconHtml = '<span class="i-auth i-auth-v"></span>';
	            }
	            this.htmlArray.push(util.applyTpl(this.twitterTpl,items[i]));
	        }
	
	        window[this.itemProperty] = null;
        }

    },
    initTemplate:function(){
       var from = HW_LanguageUtil.plugins.TwitterList.From,
           forward = HW_LanguageUtil.plugins.TwitterList.Forward1,
           comment = HW_LanguageUtil.plugins.TwitterList.Comment1;
        
        this.twitterTpl = [
                '<li class="twitter_list clearfix">',
                    '<div class="head_pic fl">',
                        '<a href="{_userLink}" target="_blank" title="{userNickName}"><img alt="{userNickName}" src="http://photo.nublogs.com/logo/m/{userId}"/></a>',
                    '</div>',
                    '<div class="fn_doc">',
                        '<div class="information">',
                            '<h3 class="fl"><a href="{_userLink}" target="_blank">{userNickName}</a>{_vIconHtml}:</h3>',
                            '<div class="source fr"><a href="{sourceLink}" class="sourceName">'+from+' {sourceName}</a></div>',
                        '</div>',
                        '<div class="tw_text">',
                            '<p>{content}</p>',
                        '</div>',
                        '<div class="actions_box">',
                            '<div class="actions fr">',
                                '<a target="_blank" href="/{userId}/{id}#action=forward" class="forward">'+forward+' {shareCount}</a>',
                                '<a target="_blank" href="/{userId}/{id}" class="comment">'+comment+' {replyCount}</a>',
                            '</div>',
                        '</div>',
                    '</div>',
                '</li>'
            ].join('');
    }
};
