diff -r 711c8dcab67e -r 718744a10daa app/jquery/jquery-spin-1.0.2.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app/jquery/jquery-spin-1.0.2.js Sat Mar 07 20:26:58 2009 +0000 @@ -0,0 +1,75 @@ +/** + * jquery.spin-button + * (c) 2008 Semooh (http://semooh.jp/) + * + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + **/ +(function($){ + $.fn.extend({ + spin: function(opt){ + return this.each(function(){ + opt = $.extend({ + imageBasePath: '/soc/content/images/', + spinBtnImage: 'spin-button.png', + spinUpImage: 'spin-up.png', + spinDownImage: 'spin-down.png', + interval: 1, + max: null, + min: null, + timeInterval: 500, + timeBlink: 200 + }, opt || {}); + + 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); + btn.css({cursor: 'pointer', verticalAlign: 'bottom', padding: 0, margin: 0}); + txt.after(btn); + txt.css({marginRight:0, paddingRight:0}); + + function spin(vector){ + var val = txt.val(); + if(!isNaN(val)){ + val = parseFloat(val) + (vector*opt.interval); + if(opt.min!=null && valopt.max) val=opt.max; + if(val != txt.val()){ + txt.val(val); + txt.change(); + src = (vector > 0 ? spinUpImage : spinDownImage); + btn.attr('src', src); + if(opt.timeBlink 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);