(function(n){n.fn.countDown=function(t){return config={},n.extend(config,t),diffSecs=this.setCountDown(config),config.onComplete&&n.data(n(this)[0],"callback",config.onComplete),config.omitWeeks&&n.data(n(this)[0],"omitWeeks",config.omitWeeks),n("#"+n(this).attr("id")+" .digit").html('<div class="top"><\/div><div class="bottom"><\/div>'),n(this).doCountDown(n(this).attr("id"),diffSecs,500),this};n.fn.stopCountDown=function(){clearTimeout(n.data(this[0],"timer"))};n.fn.startCountDown=function(){this.doCountDown(n(this).attr("id"),n.data(this[0],"diffSecs"),500)};n.fn.setCountDown=function(t){var i=new Date,r;return t.targetDate?i=new Date(t.targetDate.month+"/"+t.targetDate.day+"/"+t.targetDate.year+" "+t.targetDate.hour+":"+t.targetDate.min+":"+t.targetDate.sec+(t.targetDate.utc?" UTC":"")):t.targetOffset&&(i.setFullYear(t.targetOffset.year+i.getFullYear()),i.setMonth(t.targetOffset.month+i.getMonth()),i.setDate(t.targetOffset.day+i.getDate()),i.setHours(t.targetOffset.hour+i.getHours()),i.setMinutes(t.targetOffset.min+i.getMinutes()),i.setSeconds(t.targetOffset.sec+i.getSeconds())),r=new Date,diffSecs=Math.floor((i.valueOf()-r.valueOf())/1e3),n.data(this[0],"diffSecs",diffSecs),diffSecs};n.fn.doCountDown=function(i,r,u){$this=n("#"+i);r<=0&&(r=0,n.data($this[0],"timer")&&clearTimeout(n.data($this[0],"timer")));secs=r%60;mins=Math.floor(r/60)%60;hours=Math.floor(r/3600)%24;n.data($this[0],"omitWeeks")==!0?(days=Math.floor(r/86400),weeks=Math.floor(r/604800)):(days=Math.floor(r/86400)%7,weeks=Math.floor(r/604800));$this.dashChangeTo(i,"seconds_dash",secs,u?u:800);$this.dashChangeTo(i,"minutes_dash",mins,u?u:1200);$this.dashChangeTo(i,"hours_dash",hours,u?u:1200);$this.dashChangeTo(i,"days_dash",days,u?u:1200);$this.dashChangeTo(i,"weeks_dash",weeks,u?u:1200);n.data($this[0],"diffSecs",r);r>0?(e=$this,t=setTimeout(function(){e.doCountDown(i,r-1)},1e3),n.data(e[0],"timer",t)):(cb=n.data($this[0],"callback"))&&n.data($this[0],"callback")()};n.fn.dashChangeTo=function(t,i,r,u){var f,e;for($this=n("#"+t),f=$this.find("."+i+" .digit").length-1;f>=0;f--)e=r%10,r=(r-e)/10,$this.digitChangeTo("#"+$this.attr("id")+" ."+i+" .digit:eq("+f+")",e,u)};n.fn.digitChangeTo=function(t,i,r){r||(r=800);n(t+" div.top").html()!=i+""&&(n(t+" div.top").css({display:"none"}),n(t+" div.top").html(i?i:"0").slideDown(r),n(t+" div.bottom").animate({height:""},r,function(){n(t+" div.bottom").html(n(t+" div.top").html());n(t+" div.bottom").css({display:"block",height:""});n(t+" div.top").hide().slideUp(10)}))}})(jQuery)