﻿//本插件结构<tag><subtag rel="hour"></subtag><subtag rel="minute"></subtag><subtag rel="second"></subtag></tag>

$(function(){
    $.fn.extend({
	    count_down:function(mill_second){
		    mill_second=parseInt(mill_second);
			var pelem=$(this);
			pelem.data("left_second",parseInt(mill_second));
			pelem.data("tid",0);
			
			//函数定义
			this.init=function(){    //初始化
			    if(pelem.children("[@rel=hour]").size()<=0 || pelem.children("[@rel=minute]").size()<=0 || pelem.children("[@rel=second]").size()<=0)
				{
					alert("倒计时插件：HTML结构出错");
					return false;
				}
			};
			this.format=function(num){    //格式化函数
			    if(num<=0) return "00";
				if(num>0 && num<10) return "0"+num;
				else return num;
			}
			this.DoCount=function(){    //开始计时
			    //计算小时
				var left_second=parseInt(pelem.data("left_second"));
				if(left_second<=0)
				{
					var tid=pelem.data("tid");
					clearInterval(tid);
				}
				left_second--;
				pelem.data("left_second",left_second);
				
				var tmp_second=left_second;
				var hour=parseInt(tmp_second/3600);
				if(hour>99) hour=99;    //小时
				tmp_second%=3600;
				var minute=parseInt(tmp_second/60);    //分
				tmp_second%=60;
				var second=tmp_second;    //秒
				
				var fun_format=pelem.data("format");
				hour=fun_format(hour);
				minute=fun_format(minute);
				second=fun_format(second);
				
				pelem.children("[@rel=hour]").html(hour);
				pelem.children("[@rel=minute]").html(minute);
				pelem.children("[@rel=second]").html(second);
				
			};
			
			//函数列表
			pelem.data("init",this.init);
			pelem.data("format",this.format);
			pelem.data("DoCount",this.DoCount);
			
			//功能实现
			this.init();
			var tid=setInterval(this.DoCount,1000);
			pelem.data("tid",tid);
		}
	});
});
