var ajaxProtect = {
	count:0,
	startTime:null,
	timer:[],
	start: function(title){
		ajaxProtect.title = title || '数据加载中，请稍候';
		if (!ajaxProtect.initialized) {
			ajaxProtect.create();
		}
		if (ajaxProtect.count == 0) {
			ajaxProtect.startTime = new Date();
		};
		ajaxProtect.count++;
		
		ajaxProtect.timer.push(setTimeout(function(){
			ajaxProtect.show();
			ajaxProtect.ele.css({
				left:($(window).width() - ajaxProtect.ele.width())/2+'px',
				top:($(window).height() - ajaxProtect.ele.height())/3 + 'px'
			});
		},500));
		return ajaxProtect.timer.length - 1;
	},
	create: function(){
		ajaxProtect.masker = $('<div style="z-index:100" class="mask"></div>').appendTo(document.body);
		ajaxProtect.ele = $('<div class="ajax-protect"><span class="loading"></span><span>'+ajaxProtect.title+'</span></div>').appendTo(document.body);
		ajaxProtect.ele.css({
			left:($(window).width() - ajaxProtect.ele.width())/2+'px',
			top:($(window).height() - ajaxProtect.ele.height())/3 + 'px'
		});
		ajaxProtect.masker.add(ajaxProtect.ele).hide();
		ajaxProtect.initialized = true;
	},
	stop: function(index){
		for (var i=0; i < ajaxProtect.timer.length; i++) {
			clearTimeout(ajaxProtect.timer[i]);
		};
		// clearTimeout(ajaxProtect.timer[index]);
		if (ajaxProtect.count >= 1) {
			setTimeout(function(){
				ajaxProtect.hide();
				//ajaxProtect.count--;
			},Math.max(0,500 - (new Date() - ajaxProtect.startTime)));
		};
	},
	show: function(){
		ajaxProtect.masker.show();
		ajaxProtect.ele.show();
	},
	hide: function(){
		ajaxProtect.masker.hide();
		ajaxProtect.ele.hide();
	}
};