(function($){var calcFloat={get:function(num){var num=num.toString();if(num.indexOf(".")==-1){return[0,eval(num)]}var nn=num.split(".");var po=nn[1].length;var st=nn.join("");var sign="";if(st.charAt(0)=="-"){st=st.substr(1);sign="-"}for(var i=0;i<st.length;++i){if(st.charAt(0)=="0"){st=st.substr(1,st.length)}}st=sign+st;return[po,eval(st)]},getInt:function(num,figure){var d=Math.pow(10,figure);var n=this.get(num);var v1=eval("num * d");var v2=eval("n[1] * d");if(this.get(v1)[1]==v2){return v1}return(n[0]==0?v1:eval(v2+"/Math.pow(10, n[0])"))},sum:function(v1,v2){var n1=this.get(v1);var n2=this.get(v2);var figure=(n1[0]>n2[0]?n1[0]:n2[0]);v1=this.getInt(v1,figure);v2=this.getInt(v2,figure);return eval("v1 + v2")/Math.pow(10,figure)}};$.extend({spin:{imageBasePath:"/img/spin/",spinBtnImage:"spin-button.png",spinUpImage:"spin-up.png",spinDownImage:"spin-down.png",interval:1,max:null,min:null,timeInterval:500,timeBlink:200,btnClass:null,btnCss:{cursor:"pointer",padding:0,margin:0,verticalAlign:"middle"},txtCss:{marginRight:0,paddingRight:0},lock:false,decimal:null,beforeChange:null,changed:null,buttonUp:null,buttonDown:null}});$.fn.extend({spin:function(o){return this.each(function(){o=o||{};var opt={};$.each($.spin,function(k,v){opt[k]=(typeof o[k]!="undefined"?o[k]:v)});var txt=$(this);var spinBtnImage=opt.imageBasePath+opt.spinBtnImage;var btnSpin=new Image();btnSpin.src=spinBtnImage;var spinUpImage=opt.imageBasePath+opt.spinUpImage;var btnSpinUp=new Image();btnSpinUp.src=spinUpImage;var spinDownImage=opt.imageBasePath+opt.spinDownImage;var btnSpinDown=new Image();btnSpinDown.src=spinDownImage;var btn=$(document.createElement("img"));btn.attr("src",spinBtnImage);if(opt.btnClass){btn.addClass(opt.btnClass)}if(opt.btnCss){btn.css(opt.btnCss)}if(opt.txtCss){txt.css(opt.txtCss)}txt.after(btn);if(opt.lock){txt.focus(function(){txt.blur()})}function spin(vector){var val=txt.val();var org_val=val;if(opt.decimal){val=val.replace(opt.decimal,".")}if(!isNaN(val)){val=calcFloat.sum(val,vector*opt.interval);if(opt.min!==null&&val<opt.min){val=opt.min}if(opt.max!==null&&val>opt.max){val=opt.max}if(val!=txt.val()){if(opt.decimal){val=val.toString().replace(".",opt.decimal)}var ret=($.isFunction(opt.beforeChange)?opt.beforeChange.apply(txt,[val,org_val]):true);if(ret!==false){txt.val(val);if($.isFunction(opt.changed)){opt.changed.apply(txt,[val])}txt.change();src=(vector>0?spinUpImage:spinDownImage);btn.attr("src",src);if(opt.timeBlink<opt.timeInterval){setTimeout(function(){btn.attr("src",spinBtnImage)},opt.timeBlink)}}}}if(vector>0){if($.isFunction(opt.buttonUp)){opt.buttonUp.apply(txt,[val])}}else{if($.isFunction(opt.buttonDown)){opt.buttonDown.apply(txt,[val])}}}btn.mousedown(function(e){var pos=e.pageY-btn.offset().top;var vector=(btn.height()/2>pos?1:-1);(function(){spin(vector);var tk=setTimeout(arguments.callee,opt.timeInterval);$(document).one("mouseup",function(){clearTimeout(tk);btn.attr("src",spinBtnImage)})})();return false})})}})})(jQuery);