(function(n){n.LabelClogObject=function(t,i){this.$el=n(i);this.$opts=n.extend(!0,{},n.LabelClogObject.defaults,t);this._init()};n.LabelClogObject.defaults={datas:{code:"IXFXXAU",data:null,date:null,isclog:!1},api:"",interval:100,labelinterval:500,labelckinterval:0,iscalculate:!0,ondraw:function(){return!1},onclog:function(){return!1}};n.LabelClogObject.prototype={_init:function(){this._ergodicity();this._clogbg()},_ergodicity:function(){var n=this;n._drawdata();setInterval(function(){n._drawdata()},n.$opts.interval)},_drawdata:function(){var t=this;n.ajax({type:"POST",url:t.$opts.api+t.$opts.datas.code,data:{},dataType:"json",crossDomain:!0==!document.all,async:!1,success:function(n){var i,r;if(n.Status==200)if(t.$opts.iscalculate){if(n.List.length>0){i=n.List[0];i.NewPrice=parseFloat(i.NewPrice,10);i.LastClose=parseFloat(i.LastClose,10);i.Floatprice=parseFloat(i.NewPrice-i.LastClose);i.Percentage=parseFloat(i.PriceChangeRatio);i.Floatprice=t._formatdata(i.Floatprice,3,!1);i.Percentage=t._formatdata(i.Percentage,3,!1);t.$opts.ondraw(t.$el,t.$opts.datas.data,i);t.$opts.datas.data!=null&&i.Date!=t.$opts.datas.data.Date&&(t.$opts.datas.isclog=!0,r=new Date,t.$opts.datas.date=r);t.$opts.datas.data=i}}else t.$opts.ondraw(t.$el,null,n)}})},_clogbg:function(){var n=this;typeof n.$opts.onclog=="function"&&setInterval(function(){if(n.$opts.datas.isclog){var t=new Date,i=n._gettimespan(t,n.$opts.datas.date,"fff");if(i>=n.$opts.labelinterval){n.$opts.onclog(n.$el);n.$opts.datas.isclog=!1}}},n.$opts.labelckinterval)},_formatdata:function(n,t,i){var u=String(n),o,f,r,e;if(u.indexOf(".")==-1)return parseFloat(n).toFixed(2);for(o=!1,u.indexOf("-")!=-1&&(u=u.substring(1,u.length),o=!0),f=u.split(".")[0],r=u.split(".")[1],i||(r=r.substring(0,t)),e=r.length-1;e>0;e--)if(r[e]=="0")r=r.substring(0,e);else break;return r=r.length<2?r+"0":r,r.length>t?o?parseFloat("-"+f+"."+r).toFixed(t):parseFloat(f+"."+r).toFixed(t):o?parseFloat("-"+f+"."+r).toFixed(r.length):parseFloat(f+"."+r).toFixed(r.length)},_gettimespan:function(n,t,i){var r=n.getTime()-t.getTime();return i=="fff"?r:r}};n.fn.labelclog=function(t){return this.each(function(){var i=n.data(this,"labelclog");i||n.data(this,"labelclog",new n.LabelClogObject(t,this))}),this}})(jQuery)