/* * jQuery Mobile Framework : plugin to provide a number spinner. * Copyright (c) JTSage * CC 3.0 Attribution. May be relicensed without permission/notification. * https://github.com/jtsage/jquery-mobile-spinbox */ (function(a){a.widget("mobile.spinbox",{options:{dmin:false,dmax:false,step:false,theme:false,mini:null,repButton:true,version:"1.4.4-2015092400",initSelector:"input[data-role='spinbox']",clickEvent:"vclick",type:"horizontal",},_decimalPlaces:function(c){var b=(""+c).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);if(!b){return 0}return Math.max(0,(b[1]?b[1].length:0)-(b[2]?+b[2]:0))},_sbox_run:function(){var b=this,c=150;if(b.g.cnt>10){c=100}if(b.g.cnt>30){c=50}if(b.g.cnt>60){c=20}b.g.didRun=true;b._offset(this,b.g.delta);b.g.cnt++;b.runButton=setTimeout(function(){b._sbox_run()},c)},_offset:function(e,d){var c,b=this,f=this.options;if(!b.disabled){if(d<1){c=(parseFloat(b.d.input.val())-f.step).toFixed(b.places);if(c>=f.dmin){b.d.input.val(c).trigger("change")}}else{c=(parseFloat(b.d.input.val())+f.step).toFixed(b.places);if(c<=f.dmax){b.d.input.val(c).trigger("change")}}}},_create:function(){var b=this,f=a.extend(this.options,this.element.data("options")),e={input:this.element,inputWrap:this.element.parent()},g=(typeof window.ontouchstart!=="undefined"),c={eStart:(g?"touchstart":"mousedown")+".spinbox",eMove:(g?"touchmove":"mousemove")+".spinbox",eEnd:(g?"touchend":"mouseup")+".spinbox",eEndA:(g?"mouseup.spinbox touchend.spinbox touchcancel.spinbox touchmove.spinbox":"mouseup.spinbox"),move:false,start:false,end:false,pos:false,target:false,delta:false,tmp:false,cnt:0};b.d=e;b.g=c;f.theme=((f.theme===false)?a.mobile.getInheritedTheme(this.element,"a"):f.theme);if(b.d.input.prop("disabled")){f.disabled=true}if(f.dmin===false){f.dmin=(typeof b.d.input.attr("min")!=="undefined")?parseInt(b.d.input.attr("min"),10):Number.MAX_VALUE*-1}if(f.dmax===false){f.dmax=(typeof b.d.input.attr("max")!=="undefined")?parseInt(b.d.input.attr("max"),10):Number.MAX_VALUE}if(f.step===false){f.step=(typeof b.d.input.attr("step")!=="undefined")?parseFloat(b.d.input.attr("step")):1;b.places=b._decimalPlaces(f.step)}f.mini=(f.mini===null?(b.d.input.data("mini")?true:false):f.mini);b.d.wrap=a("