Ext.ns("Ext.ux.ui");Ext.ux.ui.BasketTableItem=Ext.extend(Ext.util.Observable,{constructor:function(c,a){a=a||{};Ext.apply(this,a);Ext.ux.ui.BasketTableItem.superclass.constructor.call(this);this.addEvents("apply");var d,b;this.el=Ext.get(c);this.dirty=false;this.valid=false;this.count=this.el.child(".ui-basket-clmn-count input");this.summ=this.el.child(".ui-basket-clmn-summ .value");this.countValue=this.count.getValue();this.priceValue=this.count.dom.getAttribute("price");this.nameIdValue=this.count.dom.getAttribute("nid");this.calcSumm(true);this.el.addClass("ui-basket-table-row-applied");this.initEvents();this.onApply()},setDisabled:function(b,a){if(b===true){this.el.addClass("ui-button-basket-disabled");this.el.dom.setAttribute("disabled","disabled")}else{this.el.removeClass("ui-button-basket-disabled");this.el.dom.removeAttribute("disabled")}if(a===true){this.el.addClass("ui-button-basket-spiner")}else{if(a===false){this.el.removeClass("ui-button-basket-spiner")}}return this},setDirty:function(a){this.dirty=a;if(a){this.el.addClass("ui-basket-table-row-dirty")}else{this.el.removeClass("ui-basket-table-row-dirty")}return this},isDirty:function(){return this.dirty},isValid:function(){return this.valid},validate:function(){if(this.getCountValue()>0&&/[0-9]+/.test(this.getCountValue())){this.valid=true}else{this.valid=false}return this.valid},markInvalid:function(a){if(a){this.el.addClass("ui-basket-table-row-invalid")}else{this.el.removeClass("ui-basket-table-row-invalid")}return this},getCountValue:function(){return this.countValue},getNameIdValue:function(){return this.nameIdValue},calcSumm:function(a){this.summValue=this.priceValue*this.countValue;if(!a){this.summ.update(this.numberFormat(this.summValue))}return this},getSumm:function(){return this.summValue},numberFormat:function(a){return Ys.number_format(a,2,","," ")},initEvents:function(){this.on("apply",this.onApply,this);this.count.on({keyup:{fn:this.onCountChange,scope:this},click:{fn:this.onCountChange,scope:this}})},onApply:function(a){this.validate()},onCountChange:function(a){this.countValueOld=this.countValue;this.countValue=this.count.getValue();if(this.countValue==this.countValueOld){return false}if(this.validate()){this.markInvalid(false);this.setDirty(true);this.calcSumm();this.fireEvent("valid",this);this.fireEvent("changed",this,this.countValue,this.priceValue)}else{this.markInvalid(true);this.fireEvent("invalid",this)}}});
