(function() {
	YTimer = {
		add : addToSdheduler,
		clear : clear
	}
	function clear() {
		target = [];
		time_id = [];
	}
	function addToSdheduler(container_id, date) {
			
		target[target.length] = date.getTime();
		time_id[time_id.length] = container_id;
		
		/*
		setTimeout(function() {
			show_date_time_0();
		}, 100);*/
	}

	var target = [];
	var time_id = [];

	var nowtime = new Date();
	var time_inited = false;
	var base_time_milli;
	var base_time_watcher = null;

	function show_date_time_0() {
		if (!time_inited) {
			setTimeout(function() {
				show_date_time_0();
			}, 100);
			return;
		}	
		if (time_id.length < 1) {
			setTimeout(function() {
				show_date_time_0();
			}, 100);
			return;
		}
		setTimeout(function() {
			show_date_time_0();
		}, 1000);
		for ( var i = 0, j = target.length; i < j; i++) {
			
			// var today = new Date();
			// var timeold = target[i] - today.getTime();
			var timeold = target[i] - base_time_milli;
			//jQuery.('#abc').html(timeold);
			var sectimeold = timeold / 1000;
			var secondsold = Math.floor(sectimeold);
			var msPerDay = 24 * 60 * 60 * 1000;
			var e_daysold = timeold / msPerDay;
			var daysold = Math.floor(e_daysold);
			var e_hrsold = (e_daysold - daysold) * 24;
			var hrsold = Math.floor(e_hrsold);
			var e_minsold = (e_hrsold - hrsold) * 60;
			var minsold = Math.floor((e_hrsold - hrsold) * 60);
			var seconds = Math.floor((e_minsold - minsold) * 60);
			
			if (daysold < 0) {
				// document.getElementById(time_id[i]).innerHTML="逾期,倒计时已经失效";
			} else {
				if (document.getElementById(time_id[i]) != null)
					document.getElementById(time_id[i]).innerHTML = daysold
							+ "天" + hrsold + "小时" + minsold + "分" + seconds
							+ "秒";
				else if (document.getElementById(time_id[i] + "_h") != null) {
					if(document.getElementById(time_id[i] + "_d") != null)
						document.getElementById(time_id[i] + "_d").innerHTML = daysold;
					else
						hrsold = hrsold+daysold*24;
					document.getElementById(time_id[i] + "_h").innerHTML = hrsold;
					document.getElementById(time_id[i] + "_m").innerHTML = minsold;
					document.getElementById(time_id[i] + "_s").innerHTML = seconds;
				}
			}
		}
	}

	function maintain() {
		base_time_milli += 1000;
	}

	function after_init() {
		time_inited = true;
		base_time_milli = nowtime.getTime();
		base_time_watcher = setInterval(function() {
			maintain();
		}, 1000);
	}

	(function now($) {
		jQuery.ajax( {
			dataType : "json",
			type : "GET",
			timeout : 3000,
			cache : false,
			url : "/index.php/apilist/getNowJson",
			success : function(result) {
				nowtime = new Date(parseInt(result.year),
						parseInt(result.month)-1, parseInt(result.day),
						parseInt(result.hour), parseInt(result.minute),
						parseInt(result.second));
				after_init();show_date_time_0();
			},
			error : function(xhr, errormsg, e) {
				if (errormsg && errormsg == 'timeout') {
					after_init();
				}
			}
		});
	})(jQuery);

})();
