/*
 jQuery UI Spinner 1.11

 Copyright 2009-2010 Brant Burnett
 Dual licensed under the MIT or GPL Version 2 licenses.
*/
(function(k){var r="ui-state-active",m=k.ui.keyCode,B=m.UP,C=m.DOWN,s=m.RIGHT,D=m.LEFT,t=m.PAGE_UP,u=m.PAGE_DOWN,J=m.HOME,K=m.END,L=k.browser.msie,M=k.browser.mozilla?"DOMMouseScroll":"mousewheel",N=[B,C,s,D,t,u,J,K,m.BACKSPACE,m.DELETE,m.TAB],O;k.widget("ui.spinner",{_init:function(){var b=this,a=b.element,c=a.attr("type");if(!a.is("input")||c!="text"&&c!="number")console.error("Invalid target for ui.spinner");else{b._procOptions(true);b._createButtons(a);a.is(":enabled")||b.disable()}},_createButtons:function(b){function a(d){return d==
"auto"?0:parseInt(d)}function c(d){for(var i=0;i<N.length;i++)if(N[i]==d)return true;return false}function f(d,i){if(E)return false;d=String.fromCharCode(i||d);i=e.options;if(d>="0"&&d<="9"||d=="-")return false;if(e.places>0&&d==i.point||d==i.group)return false;return true}function h(d){function i(){v=0;d()}if(v){if(d===P)return;clearTimeout(v)}P=d;v=setTimeout(i,100)}function n(){if(!j.disabled){var d=e.element[0],i=this===w?1:-1;d.focus();d.select();k(this).addClass(r);F=true;e._startSpin(i)}return false}
function o(){if(F){k(this).removeClass(r);e._stopSpin();F=false}return false}var e=this,j=e.options,g=j.className,x=j.width,p=j.showOn,G=k.support.boxModel,Q=b.outerHeight(),R=e.oMargin=a(b.css("margin-right")),H=e.wrapper=b.css({width:(e.oWidth=G?b.width():b.outerWidth())-x,marginRight:R+x,textAlign:"right"}).after('<span class="ui-spinner ui-widget"></span>').next(),y=e.btnContainer=k('<div class="ui-spinner-buttons"><div class="ui-spinner-up ui-spinner-button ui-state-default ui-corner-tr"><span class="ui-icon '+
j.upIconClass+'">&nbsp;</span></div><div class="ui-spinner-down ui-spinner-button ui-state-default ui-corner-br"><span class="ui-icon '+j.downIconClass+'">&nbsp;</span></div></div>'),w,S,l,v,P,z,A,E,F,T=b[0].dir=="rtl";g&&H.addClass(g);H.append(y.css({height:Q,left:-x-R,top:b.offset().top-H.offset().top+"px"}));l=e.buttons=y.find(".ui-spinner-button");l.css({width:x-(G?l.outerWidth()-l.width():0),height:Q/2-(G?l.outerHeight()-l.height():0)});w=l[0];S=l[1];g=l.find(".ui-icon");g.css({marginLeft:(l.innerWidth()-
g.width())/2,marginTop:(l.innerHeight()-g.height())/2});y.width(l.outerWidth());p!="always"&&y.css("opacity",0);if(p=="hover"||p=="both")l.add(b).bind("mouseenter.uispinner",function(){h(function(){z=true;if(!e.focused||p=="hover")e.showButtons()})}).bind("mouseleave.uispinner",function(){h(function(){z=false;if(!e.focused||p=="hover")e.hideButtons()})});l.hover(function(){e.buttons.removeClass("ui-state-hover");j.disabled||k(this).addClass("ui-state-hover")},function(){k(this).removeClass("ui-state-hover")}).mousedown(n).mouseup(o).mouseout(o);
L&&l.dblclick(function(){if(!j.disabled){e._change();e._doSpin((this===w?1:-1)*j.step)}return false}).bind("selectstart",function(){return false});b.bind("keydown.uispinner",function(d){var i,I,q=d.keyCode;if(d.ctrl||d.alt)return true;if(c(q))E=true;if(A)return false;switch(q){case B:case t:i=1;I=q==t;break;case C:case u:i=-1;I=q==u;break;case s:case D:i=q==s^T?1:-1;break;case J:d=e.options.min;d!=null&&e._setValue(d);return false;case K:d=e.options.max;d!=null&&e._setValue(d);return false}if(i){if(!A&&
!j.disabled){keyDir=i;k(i>0?w:S).addClass(r);A=true;e._startSpin(i,I)}return false}}).bind("keyup.uispinner",function(d){if(d.ctrl||d.alt)return true;if(c(m))E=false;switch(d.keyCode){case B:case s:case t:case C:case D:case u:l.removeClass(r);e._stopSpin();return A=false}}).bind("keypress.uispinner",function(d){if(f(d.keyCode,d.charCode))return false}).bind("change.uispinner",function(){e._change()}).bind("focus.uispinner",function(){function d(){e.element.select()}L?d():setTimeout(d,0);e.focused=
true;O=e;if(!z&&(p=="focus"||p=="both"))e.showButtons()}).bind("blur.uispinner",function(){e.focused=false;if(!z&&(p=="focus"||p=="both"))e.hideButtons()})},_procOptions:function(b){var a=this,c=a.element,f=a.options,h=f.min,n=f.max,o=f.step,e=f.places,j=-1,g;if(f.increment=="slow")f.increment=[{count:1,mult:1,delay:250},{count:3,mult:1,delay:100},{count:0,mult:1,delay:50}];else if(f.increment=="fast")f.increment=[{count:1,mult:1,delay:250},{count:19,mult:1,delay:100},{count:80,mult:1,delay:20},{count:100,
mult:10,delay:20},{count:0,mult:100,delay:20}];if(h==null&&(g=c.attr("min"))!=null)h=parseFloat(g);if(n==null&&(g=c.attr("max"))!=null)n=parseFloat(g);if(!o&&(g=c.attr("step"))!=null)if(g!="any"){o=parseFloat(g);f.largeStep*=o}f.step=o=o||f.defaultStep;if(e==null&&(g=o+"").indexOf(".")!=-1)e=g.length-g.indexOf(".")-1;a.places=e;if(n!=null&&h!=null){if(h>n)h=n;j=Math.max(Math.max(j,f.format(n,e,c).length),f.format(h,e,c).length)}if(b)a.inputMaxLength=c[0].maxLength;g=a.inputMaxLength;if(g>0){j=j>0?
Math.min(g,j):g;g=Math.pow(10,j)-1;if(n==null||n>g)n=g;g=-(g+1)/10+1;if(h==null||h<g)h=g}j>0&&c.attr("maxlength",j);f.min=h;f.max=n;a._change();c.unbind(M+".uispinner");f.mouseWheel&&c.bind(M+".uispinner",a._mouseWheel)},_mouseWheel:function(b){var a=k.data(this,"spinner");if(!a.options.disabled&&a.focused&&O===a){a._change();a._doSpin(((b.wheelDelta||-b.detail)>0?1:-1)*a.options.step);return false}},_setTimer:function(b,a,c){function f(){h._spin(a,c)}var h=this;h._stopSpin();h.timer=setInterval(f,
b)},_stopSpin:function(){if(this.timer){clearInterval(this.timer);this.timer=0}},_startSpin:function(b,a){var c=this,f=c.options.increment;c._change();c._doSpin(b*(a?c.options.largeStep:c.options.step));if(f&&f.length>0){c.counter=0;c.incCounter=0;c._setTimer(f[0].delay,b,a)}},_spin:function(b,a){var c=this,f=c.options.increment,h=f[c.incCounter];c._doSpin(b*h.mult*(a?c.options.largeStep:c.options.step));c.counter++;if(c.counter>h.count&&c.incCounter<f.length-1){c.counter=0;h=f[++c.incCounter];c._setTimer(h.delay,
b,a)}},_doSpin:function(b){var a=this,c=a.curvalue;if(c==null)c=(b>0?a.options.min:a.options.max)||0;a._setValue(c+b)},_parseValue:function(){var b=this.element.val();return b?this.options.parse(b,this.element):null},_validate:function(b){var a=this.options,c=a.min,f=a.max;if(b==null&&!a.allowNull)b=this.curvalue!=null?this.curvalue:c||f||0;return f!=null&&b>f?f:c!=null&&b<c?c:b},_change:function(){var b=this,a=b._parseValue();if(!b.selfChange){if(isNaN(a))a=b.curvalue;b._setValue(a)}},_setData:function(b,
a){k.widget.prototype._setData.call(this,b,a);this._procOptions()},increment:function(){this._doSpin(this.options.step)},decrement:function(){this._doSpin(-this.options.step)},showButtons:function(b){var a=this.btnContainer.stop();b?a.css("opacity",1):a.fadeTo("fast",1)},hideButtons:function(b){var a=this.btnContainer.stop();b?a.css("opacity",0):a.fadeTo("fast",0);this.buttons.removeClass("ui-state-hover")},_setValue:function(b){var a=this;a.curvalue=b=a._validate(b);a.selfChange=true;a.element.val(b!=
null?a.options.format(b,a.places,a.element):"").change();a.selfChange=false},value:function(b){if(arguments.length){this._setValue(b);return this.element}return this.curvalue},enable:function(){this.buttons.removeClass("ui-state-disabled");this.element[0].disabled=false;k.widget.prototype.enable.call(this)},disable:function(){this.buttons.addClass("ui-state-disabled").removeClass("ui-state-hover");this.element[0].disabled=true;k.widget.prototype.disable.call(this)},destroy:function(){this.wrapper.remove();
this.element.unbind(".uispinner").css({width:this.oWidth,marginRight:this.oMargin});k.widget.prototype.destroy.call(this)}});k.extend(k.ui.spinner,{version:"1.11",getter:"value",defaults:{min:null,max:null,allowNull:false,group:"",point:".",prefix:"",suffix:"",places:null,defaultStep:1,largeStep:10,mouseWheel:true,increment:"slow",className:null,showOn:"always",width:16,upIconClass:"ui-icon-triangle-1-n",downIconClass:"ui-icon-triangle-1-s",format:function(b,a){var c=this,f=/(\d+)(\d{3})/;a=(isNaN(b)?
0:Math.abs(b)).toFixed(a)+"";for(a=a.replace(".",c.point);f.test(a)&&c.group;a=a.replace(f,"$1"+c.group+"$2"));return(b<0?"-":"")+c.prefix+a+c.suffix},parse:function(b){var a=this;if(a.group==".")b=b.replace(".","");if(a.point!=".")b=b.replace(a.point,".");return parseFloat(b.replace(/[^0-9\-\.]/g,""))}}})})(jQuery);
