/*
* 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",a.mobile.widget,{options:{dmin:false,dmax:false,theme:false,initSelector:"input[data-role='spinbox']",clickEvent:"vclick",type:"horizontal",},_create:function(){var b=this,c,f=a.extend(this.options,this.element.jqmData("options")),e={input:this.element,wrap:this.element.parent()};b.d=e;if(b.d.input.jqmData("mini")===true){b.d.input.addClass("ui-mini")}b.d.wrap.removeClass("ui-input-text ui-shadow-inset ui-btn-shadow").addClass("ui-controlgroup ui-controlgroup-"+f.type);if(f.type==="horizontal"){b.d.wrap.css({display:"inline",whiteSpace:"nowrap",border:"none"});if(b.d.input.jqmData("mini")===true){b.d.input.css({width:"30px"})}else{b.d.input.css({width:"40px"})}}else{b.d.input.css({width:"auto"});b.d.wrap.css({width:"auto",display:"inline-block"})}b.d.input.css({textAlign:"center"});if(f.theme===false){f.theme=a(this).closest("[data-theme]").attr("data-theme");if(typeof f.theme==="undefined"){f.theme="c"}}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}b.d.up=a("
").buttonMarkup({icon:"plus",theme:f.theme,iconpos:"notext",corners:true,shadow:true,inline:f.type==="horizontal"}).css({marginLeft:"0px",marginBottom:"0px",marginTop:"0px",paddingLeft:f.type==="horizontal"});b.d.down=a("
").buttonMarkup({icon:"minus",theme:f.theme,iconpos:"notext",corners:true,shadow:true,inline:f.type==="horizontal"}).css({marginRight:"0px",marginBottom:"0px",marginTop:"0px",paddingRight:f.type==="horizontal"?".4em":"0px"});if(f.type==="horizontal"){b.d.down.prependTo(b.d.wrap);b.d.up.appendTo(b.d.wrap)}else{b.d.up.prependTo(b.d.wrap);b.d.down.appendTo(b.d.wrap)}a.mobile.behaviors.addFirstLastClasses._addFirstLastClasses(b.d.wrap.find(".ui-btn"),b.d.wrap.find(".ui-btn"),true);b.d.up.on(f.clickEvent,function(d){d.preventDefault();if(!b.disabled){c=parseInt(b.d.input.val(),10)+1;if(c<=f.dmax){b.d.input.val(c);b.d.input.trigger("change")}}});b.d.down.on(f.clickEvent,function(d){d.preventDefault();if(!b.disabled){c=parseInt(b.d.input.val(),10)-1;if(c>=f.dmin){b.d.input.val(c);b.d.input.trigger("change")}}});if(typeof a.event.special.mousewheel!=="undefined"){b.d.input.on("mousewheel",function(g,h){g.preventDefault();if(!b.disabled){c=parseInt(b.d.input.val(),10)+((h<0)?-1:1);if(c>=f.dmin&&c<=f.dmax){b.d.input.val(c);b.d.input.trigger("change")}}})}},disable:function(){this.d.input.attr("disabled",true);this.d.input.addClass("ui-disabled").blur();this.disabled=true},enable:function(){this.d.input.attr("disabled",false);this.d.input.removeClass("ui-disabled");this.disabled=false}});a(document).bind("pagecreate create",function(b){a.mobile.spinbox.prototype.enhanceWithin(b.target,true)})})(jQuery);