var Catalog_class=new Class({_class:null,_catalog:null,_queueAdd:null,_id_preff:'',checkup:false,is_updated:false,options:{},initialize:function(item_class,id_preff){this._catalog=[];this._queueAdd=[];this._class=item_class;if(id_preff)this._id_preff=id_preff},add:function(id){var i=this._catalog.push(new this._class(id,this._id_preff+id))-1;this._catalog[i].addEvent('delete',this['delete'].bind(this,id));this._catalog[i].setOptions(this.options);if(this.is_updated)this._catalog[i].update()},update:function(){this._catalog.each(function(item){item.update()});this.is_updated=1},clean:function(){this._catalog=[]},'delete':function(id){var i=0;var len=this._catalog.length;while(i<len){if(this._catalog[i].id===id){this._catalog.splice(i,1);len--}else{i++}}},toQueueAdd:function(id){this._queueAdd.push(id)},delayedAdd:function(){this.is_updated=1;while(this._queueAdd.length>0)this.add(this._queueAdd.shift())},updateBind:function(obj){this.is_updated=obj.is_updated;obj.addEvent('update',this.update.bind(this));return this}});Catalog_class.implement(new Options);var CatalogItem_class=new Class({options:{dynamicElements:{},activeElements:{},onActionStart:Class.empty,onActionComplete:Class.empty},initialize:function(id,elem){this.id=id;if($type(elem)=='string')elem=$(elem).removeProperty('id');this.elem=$(elem)},onActionComplete:function(e){this.process=0;this.fireEvent('onActionComplete')},'delete':function(){this.elem.remove();this.fireEvent('delete')},update:function(){this.collectionElements(this.options.dynamicElements,'setDynamic');this.collectionElements(this.options.activeElements,'setActive')},collectionElements:function(collection,fnName){for(var name in collection){this.elem[name]=this.elem.getElement('[name='+name+']');if($type(this.elem[name])==='element'){if(fnName==='setActive')this.elem[name].removeEvents();this[fnName](this.elem[name],collection[name])}}},setDynamic:function(elem,tpl){elem.setHTML(App.getHTML(tpl,this))},setActive:function(elem,param){elem.addEvent(param.event?param.event:'click',function(e){e=new Event(e);if(e.type==='click')e.stop();if(!this.process&&(!$defined(param.confirm_tpl)||confirm(App.getHTML(param.confirm_tpl,this)))){this.process=1;this.fireEvent('onActionStart',{action:param.action,initiator:elem});this[param.action](elem)}}.bind(this))}});CatalogItem_class.implement(new Options,new Events);var Goods_class=CatalogItem_class.extend({Class:'Goods_class',id:null,initialize:function(id,elem){this.parent(id,elem);if(typeof Cart!='undefined')Cart.addEvent('actionCompleteForGoods'+this.id,this.onActionComplete.bind(this));if(typeof Comparison!='undefined')Comparison.addEvent('actionCompleteForGoods'+this.id,this.onActionComplete.bind(this));if(typeof Waitlist!='undefined')Waitlist.addEvent('actionCompleteForGoods',this.onActionComplete.bind(this))},addToComparison:function(){Comparison.addGoods(this.id)},addToWaitlist:function(){Waitlist.addGoods(this.id)},deleteFromComparison:function(){Comparison.deleteGoods(this.id)},addToCart:function(){Cart.addGoods(this.id)},deleteFromCart:function(){Cart.deleteGoods(this.id)},inCart:function(){return Cart.inPurchases(this.id)},inWaitlist:function(){return Waitlist.inWaitlist(this.id)},deleteFromWaitlist:function(){Waitlist.deleteGoods(this.id)},inComparison:function(){return Comparison.goods[this.id]},isPossibilityToCompare:function(){return Comparison.isPossibilityToCompare(this.id)}});var GoodsCatalog=new Catalog_class(Goods_class,'catalog_item');GoodsCatalog.setOptions({dynamicElements:{buy_details:'{if inCart()} <span class=\"in-cart\">\u0423\u0436\u0435 <a href=\"http:\/\/my.tehnoshop.ua\/cart\/\">\u0432 \u043a\u043e\u0440\u0437\u0438\u043d\u0435<\/a><\/span> {else} <form method=\"POST\" action=\"http:\/\/my.tehnoshop.ua\/cgi-bin\/form.php?r=http%3A%2F%2Fmy.tehnoshop.ua%2Fcart%2F&action=buy\"> <input type=\"hidden\" value=\"${id}\" name=\"goods_id\" \/> <input type=\"submit\" value=\"\u041a\u0443\u043f\u0438\u0442\u044c\"\/> <\/form> {\/if}',comparison_catalog:'<div class=\"comparison\"> {if inComparison()} \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d&nbsp;{if inComparison().section.count>1}<a href=\"${inComparison().section.href}\" class=\"sprite\"><i><\/i>\u043a&nbsp;\u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e<\/a>{else}<span class=\"sprite\"><i><\/i>\u043a&nbsp;\u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e<\/span>{\/if} {else} \u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c&nbsp;<a href=\"#\" name=\"tocomparison\" class=\"sprite xhr\"><i><\/i>\u043a&nbsp;\u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e<\/a> {\/if} <\/div> ',comparison_details:'<div> <div> {if inComparison()} \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d&nbsp;{if inComparison().section.count>1}<a href=\"${inComparison().section.href}\" class=\"sprite\"><i><\/i>\u0432&nbsp;\u0441\u043f\u0438\u0441\u043e\u043a&nbsp;\u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f<\/a>{else}\u0432&nbsp;\u0441\u043f\u0438\u0441\u043e\u043a&nbsp;\u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f{\/if} {else} \u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c&nbsp;<a href=\"#\" name=\"tocomparison\" class=\"sprite xhr\"><i><\/i>\u0432&nbsp;\u0441\u043f\u0438\u0441\u043e\u043a&nbsp;\u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f<\/a> {\/if} <\/div> <\/div>'},activeElements:{tocomparison:{action:'addToComparison'}}});GoodsCatalog.updateBind(Cart);