var template='
789+456-123xC0=÷
';!function(t){t.fn.calculator=function(s){function a(a){var i=this;a.wrap(""),a.after(template),this.display=a,this.element=a.next(),s&&this.element.addClass(s),this.value=this.load(),this.stack=null,this.stackOp=null,this.clearStack=!0,t("span",this.element).on("click",function(){var s=t(this).text().trim();isNaN(s)?"C"==s?i.digit:i.op=247==s.charCodeAt(0)?"/":s:i.digit=s})}a.prototype={load:function(){return this.display.val()||this.display.text()},save:function(){this.display.is("input")?this.display.val(this.value):this.display.text(this.value)},get v(){return this.value},set v(t){this.clearStack=!1,this.value=t,this.save()},get op(){return this.stackOp},set op(t){switch(this.stackOp){case"+":this.v=this.stack+this.v;break;case"-":this.v=this.stack-this.v;break;case"x":this.v=this.stack*this.v;break;case"/":this.v=this.stack/this.v}this.stack=this.v,this.stackOp=t,this.clearStack=!0},set digit(t){return t=parseInt(t),this.v=this.clearStack?t:10*this.v+t},get digit(){return this.v=this.clearStack?0:Math.floor(this.v/10)}};var i;return this.each(function(){i=new a(t(this)),t(this).on("focus",function(){t(".jcalculator").show()}),t("body").click(function(){t(".jcalculator").hide()}),t(".jcalculator_wrap").click(function(t){t.stopPropagation()}),t(document).keyup(function(s){27==s.keyCode&&t(".jcalculator").hide()})}),i}}(jQuery);