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);var LightBox_class=new Class({data:[],initialize:function(data){this.elem=$('LightBox');this.data=data;this.image=this.elem.getElement('[name=image]');this.data.each(this._getOriginators.bind(this));this._fx=[];this._active=this.data[0];var max=this.elem.getElement('[name=controls]').getSize().size.y;this.data.each(function(i){if(max<parseInt(i.original.h))max=parseInt(i.original.h)});this.image.setStyle('height',max).getFirst().setStyle('margin-top',parseInt((this.image.getSize().size.y-this._active.original.h)/2))},_dataPreload:function(size){for(var i=0,l=this.data.length;i<l;i++)$(this.data[i][size].el=new Image(this.data[i][size].w,this.data[i][size].h)).src=this.data[i][size].src},_getOriginators:function(img){if(img.original.src!==''){$$('[href='+img.original.src+']').each(function(a){img.preview={el:a.getFirst(),h:a.getFirst().getSize().size.y,w:a.getFirst().getSize().size.x};a.addEvent('mouseenter',function(e){new Event(e).stop();this._showImage(img,a)}.bind(this)).addEvent('click',function(e){new Event(e).stop()})},this)}},_showImage:function(img,a){if(this._active===img)return;if(!img.original.el)this._dataPreload('original');if(this._fx[0])this._fx[0].stop();if(this._fx[1])this._fx[1].stop();this._fx[0]=new Fx.Styles(this.image.getFirst().setStyles({width:this._active.original.w+'px',height:this._active.original.h+'px','margin-left':0,'margin-top':parseInt((this.image.getSize().size.y-this._active.original.h)/2),opacity:1}),{duration:200,transition:Fx.Transitions.Circ.easeOut,onComplete:function(){this._fx[0]=new Fx.Styles(img.original.el.clone().injectTop(this.image.empty()).setStyles({width:img.preview.w+'px',height:img.preview.h+'px','margin-left':this.image.getPosition().x,'margin-top':img.preview.el.getPosition().y-this.image.getPosition().y,opacity:0}),{duration:400,transition:Fx.Transitions.Circ.easeOut}).start({width:img.original.w+'px',height:img.original.h+'px','margin-left':0,'margin-top':parseInt((this.image.getSize().size.y-img.original.h)/2),opacity:1})}.bind(this)}).start({width:this._active.preview.w+'px',height:this._active.preview.h+'px','margin-left':this.image.getPosition().x,'margin-top':this._active.preview.el.getPosition().y-this.image.getPosition().y,opacity:0});this._active.preview.el.getParent().removeClass('active');this._active=img;this._active.preview.el.getParent().addClass('active')}});