// JavaScript Document
//自动刷新
var tx_noRefresh = {};
$.extend(tx_noRefresh, {
    pageSize: 20,
	maxPageSize:100,
	stepSize:10,
    TimeStamp: null,
    thisTimer: 30000,
    max_time: null,
    min_time: null,
    tx_page_Timer: null,
    init: function(url){
        var self = this;
        self.loader(url);
        self.bindMore(url);
    },
	bindMore:function(url){
		var self = this;
		$('#tx_home_more').bind('click', function(){
			if(self.pageSize>=self.maxPageSize){
				alert('抱歉，消息数目已经到达最大值'+self.maxPageSize);
				return false;
			}									  
			self.loading();
            self.onMore(url);
            return false;
        }).bind('focus',function(){
		    $(this).blur();
		})
	},
	unbindMore:function(){
		$('#tx_home_more').unbind('click');
	},
	loading:function(type){
		var type = type || 1;
		if(type == 1){
		    $('#tx_home_more').hide();
			$('.filter-loading').show();
		}
		if(type == 2){
		    $('#tx_home_more').show();
			$('.filter-loading').hide();
		}
	},
    bindZoom: function(ids, url){
        var self = this;
        for (var i = 0; i < ids.length; i++) {
            $('#status_' + ids[i]).find('a.zoomimg').zoomimage({
                hideSource: true,
                Opacity: 0,
                border: 0,
                controls: false,
                caption: false,
                beforeZoomIn: function(){
                    if (self.tx_page_Timer) {
                        clearTimeout(self.tx_page_Timer);
                    }
                },
                onZoomOut: function(){
                    self.pageTimer(url);
                }
            });
            $('#status_' + ids[i]).find('a.zoomimg').bind('focus', function(){
                $(this).blur();
            }).bind('click', function(){
                $('a.zoomimg').zoomimageClear();
            })
        }
    },
    loader: function(url){
        var self = this;
        $.ajax({
            url: url,
            data: 'up=0&time=' + self.TimeStamp + '&page_size=' + self.pageSize,
            dataType: 'json',
            success: function(data){
                $('.tx_StatusList ul').html(data.data);
				self.loading(2);
                self.bindZoom(data.ids, url);
                self.max_time = data.max_time;
                self.min_time = data.min_time;
                self.pageTimer(url);
            }
        });
    },
    timeDis: true,
    onTimer: function(url){
        var self = this;
        self.timeDis = false;
        $.ajax({
            url: url,
            data: 'up=1&time=' + self.max_time,
            dataType: 'json',
            success: function(data){
                self.timeDis = true;
                $('.tx_StatusList ul').prepend(data.data);
                self.bindZoom(data.ids, url);
                self.max_time = data.max_time;
				self.delNew();
                self.onFull();
                self.pageTimer(url);
            }
        });
    },
    pageTimer: function(url){
        var self = this;
        self.tx_page_Timer = window.setTimeout(function(){
            if (self.timeDis) {
                self.onTimer(url);
            }
        }, self.thisTimer);
    },
    pageClear: function(){
        var self = this;
        clearTimeout(self.tx_page_Timer);
    },
    onMore: function(url){
        var self = this;
        $.ajax({
            url: url,
            dataType: 'json',
            data: 'up=0&time=' + self.min_time + '&page_size=' + self.stepSize,
            success: function(data){
				if(data.data == '' || typeof(data.data) == 'undefind' ){
				   self.loading(2);
				   return false;
				}
                $('.tx_StatusList ul').append(data.data);
                self.bindZoom(data.ids, url);
                self.min_time = data.min_time;
                self.pageSize += self.stepSize;
				self.loading(2);
                self.onFull();
            }
        })
    },
    onFull: function(){
        var self = this;
        var lis = $('.tx_StatusList ul').find('li').length;
        if (lis > self.pageSize) {
            var diff = lis - self.pageSize;
            for (var i = self.pageSize; i < lis; i++) {
                $('.tx_StatusList ul').find('li').eq(i).remove();
            }
        }
    },
    
    delNew: function(){
        $('.tx_StatusList ul').find('.perNewStatus').remove();
    }
    
});

//收藏——取消——删除——回复
var tx_operate = {};
$.extend(tx_operate, {
    tx_StatusList_on: function(obj){
        var obj = $(obj);
        obj.addClass('tx_StatusList_on');
        obj.find('.icon_star').hide();
    },
    tx_StatusList_out: function(obj){
        var obj = $(obj);
        obj.removeClass('tx_StatusList_on');
        obj.find('.icon_star').show();
    },
    tx_StatusListFav_Un: function(obj){
        var obj = $(obj);
        if (obj.hasClass('tx_StatusListFav')) {
            obj.html('');
            obj.removeClass('tx_StatusListFav').addClass('icon_throbber');
            $.ajax({
                url: '/status/ajax/favorite_status.php',
                data: 'favorite_id=' + obj.attr('favorite_id') + '&status_id=' + obj.attr('status_id') + '&t=save',
                success: function(){
                    obj.removeClass('icon_throbber').addClass('tx_StatusListUnFav').attr('title', '取消分享');
                    obj.parent().prepend('<a href="#" class="icon_star" onfocus="this.blur()">星星</a>');
                    obj.parents('li').removeClass('tx_StatusList_on');
                    obj.html('取消');
                }
            });
        };
        if (obj.hasClass('tx_StatusListUnFav')) {
            obj.html('');
            obj.removeClass('tx_StatusListUnFav').addClass('icon_throbber');
            $.ajax({
                url: '/status/ajax/favorite_status.php',
                data: 'favorite_id=' + obj.attr('favorite_id') + '&status_id=' + obj.attr('status_id') + '&dest_stauts_id=' + obj.attr('dest_stauts_id') + '&t=del',
                success: function(){
                    obj.removeClass('icon_throbber').addClass('tx_StatusListFav').attr('title', '分享这条状态');
                    obj.parent().find('.icon_star').remove();
                    obj.html('分享');
                }
            });
        }
    },
    tx_StatusListDel: function(status_id, uid){
        if (confirm('您确定删除此条消息？')) {
            var obj = $('#status_' + status_id);
            $.ajax({
                url: '/status/ajax/del_status.php',
                type: 'post',
                data: 'status_id=' + status_id + '&reply_user_id=' + uid,
                success: function(data){
                    obj.fadeOut('slow', function(){
                        obj.remove();
                        $('#tx_UserPannalStatusMsgNum').html(parseInt($('#tx_UserPannalStatusMsgNum').html()) - 1);
                    });
                }
            })
        }
    }
});
var upNum = function(){
    var surplus = 140 - parseInt($('#tx_StatusFormMsg').val().length);
    $('#msgNum').html(surplus);
};
//zoomImg绑定
var zoomBind = {};
$.extend(zoomBind, {
    init: function(){
        $('a.zoomimg').zoomimage({
            hideSource: true,
            Opacity: 0,
            border: 0,
            controls: false,
            caption: false
        });
        $('a.zoomimg').bind('focus', function(){
            $(this).blur();
        }).bind('click', function(){
            $('a.zoomimg').zoomimageClear();
        })
    }
})
//tx_StatusReplay
var tx_StatusReplay = {};
$.extend(tx_StatusReplay, {
    upNum: function(msg, targ){
        var num = 140 - parseInt($('#' + msg + '').val().length);
        $('#' + targ + '').html(num);
        if (num <= 0) {
            $('#' + msg + '').val($('#' + msg + '').val().substring(0, 140));
            $('#' + targ + '').html('0');
        }
    },
    onsub: function(txt, content){
        if ($('#' + txt).val() == '' || $('#' + txt).val().replace(/\s+/gi, '') == '' || $('#' + txt).val().replace(/\s+/gi, '') == '@'+$('input[@name=user_nick]').val()) {
            alert('请输入回复内容！');
            return false;
        }
        return true;
    },
    ajaxReply: function(elm){
        var self = this;
        tx.dialog(elm, {
            success: function(ui){
                if (ui && ui.data && ui.data.data) {
                    eval("var data=" + ui.data.data + ";");
                    if (typeof(onReplyResponse) == "function") {
                        onReplyResponse(data);
                    }
                }
            }
        })
    }
});
