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,'goods');GoodsCatalog.setOptions({dynamicElements:{buy_details:'{if inCart()} <div class=\"cell incart\"> <div class=\"text\">\u0422\u043e\u0432\u0430\u0440 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d <a href=\"http:\/\/my.lapushka.com.ua\/cart\/\" class=\"sprite\"><i><\/i>\u0432&nbsp;\u043a\u043e\u0440\u0437\u0438\u043d\u0443<\/a><\/div> <a href=\"http:\/\/my.lapushka.com.ua\/checkout\/\" class=\"make-order\"><div><div><div class=\"container bg\">\u041e\u0444\u043e\u0440\u043c\u0438\u0442\u044c \u0437\u0430\u043a\u0430\u0437&hellip;<\/div><\/div><\/div><\/a> <\/div> {else} <div class=\"cell buy\"> <form method=\"POST\" action=\"http:\/\/my.lapushka.com.ua\/cgi-bin\/form.php?r=http:\/\/my.lapushka.com.ua\/cart\/&action=buy\"> <input type=\"hidden\" value=\"${id}\" name=\"goods_id\" \/> <div><input type=\"submit\" value=\"\u041a\u0443\u043f\u0438\u0442\u044c\" \/><\/div> <\/form> <\/div> <div class=\"cell credit\"><div class=\"container border-decorative\"> <b>\u0414\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0431\u044b\u0441\u0442\u0440\u043e!<\/b><br \/><a href=\"http:\/\/www.lapushka.com.ua\/payments-and-deliveries\/\">\u0421\u043f\u043e\u0441\u043e\u0431\u044b \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0438 \u043e\u043f\u043b\u0430\u0442\u044b<\/a> <\/div><\/div> {\/if}',topurchases_details:'{if inCart()} <div class=\"incart\"><div><div><div><span class=\"sprite\"><i><\/i>\u0423\u0436\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d<\/span> <a href=\"http:\/\/my.lapushka.com.ua\/cart\/\">\u0432&nbsp;\u043a\u043e\u0440\u0437\u0438\u043d\u0443<\/a><\/div><\/div><\/div><\/div> {else} <div class=\"tocart\"><div><div><div><a href=\"http:\/\/my.lapushka.com.ua\/cart\/?action=buy&amp;data[goods_id]=${id}\" class=\"sprite xhr\" name=\"topurchases\"><i><\/i>\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c<\/a> \u0432&nbsp;\u043a\u043e\u0440\u0437\u0438\u043d\u0443<\/div><\/div><\/div><\/div> {\/if}'},activeElements:{topurchases:{action:'addToCart'}},onActionStart:function(){if($defined(this.elem.topurchases_details))this.elem.topurchases_details.addClass('process')},onActionComplete:function(){if($defined(this.elem.topurchases_details))this.elem.topurchases_details.removeClass('process')}});GoodsCatalog.updateBind(Cart);var LightBox_class=Popup_class.extend({data:[],options:{align:'center',valign:'middle',fixheight:true,fixwidth:true,cutcontent:true},setData:function(data,title){this.data=data;this._dataPreload('preview');this._updateBody();if(title)this.getElement('[name=title]').setText(title);this.image=this.getElement('[name=image]');this.controls=this.getElement('[name=controls]');this.data.each(this._getOriginators.bind(this));var max={w:0,h:0};this.data.each(function(item){if(max.w<parseInt(item.original.w))max.w=parseInt(item.original.w);if(max.h<parseInt(item.original.h))max.h=parseInt(item.original.h)});if(this.options.fixheight)this.image.setStyle('height',max.h+'px');if(this.options.fixwidth)this.image.setStyle('width',max.w+'px');if(this.options.cutcontent)this.image.setStyle('overflow','hidden');this._fx=[];this._active=null},_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){a.addEvent('click',function(e){new Event(e).stop();this._showImage(img)}.bind(this))},this);this.controls.getElements('[href='+img.original.src+']').each(function(a){img.preview.el.inject(a);a.addEvent('click',function(e){new Event(e).stop();this._showImage(img,1)}.bind(this))},this)}},_showImage:function(img,soft){this.overlayON();if(this._isOpened&&this._active===img)return;if(!img.original.el)this._dataPreload('original');if(!this._isOpened)this.open();if(this._fx[0])this._fx[0].stop();if(this._fx[1])this._fx[1].stop();if(this._active&&soft){this._fx[0]=new Fx.Styles(this.image.getFirst().setStyles({width:this._active.original.w,height:this._active.original.h,'margin-left':this._marginLeft(this._active),'margin-top':this._marginTop(this._active),position:"relative",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':img.preview.el.getPosition().x-this.image.getPosition().x,'margin-top':img.preview.el.getPosition().y-this.image.getPosition().y,position:"relative",opacity:0}),{duration:400,transition:Fx.Transitions.Circ.easeOut,onComplete:function(el){el.addEvent('click',this.close.bind(this))}.bind(this)}).start({width:img.original.w,height:img.original.h,'margin-left':this._marginLeft(img),'margin-top':this._marginTop(img),opacity:1})}.bind(this)}).start({width:this._active.preview.w+'px',height:this._active.preview.h+'px','margin-left':this._active.preview.el.getPosition().x-this.image.getPosition().x,'margin-top':this._active.preview.el.getPosition().y-this.image.getPosition().y,opacity:0});this._fx[1]=new Fx.Styles(this._active.preview.el,{duration:200,onComplete:function(){this._fx[1]=new Fx.Styles(img.preview.el,{duration:400,onComplete:function(el){el.setStyle('cursor','default')}}).start({opacity:.5})}.bind(this)}).start({opacity:1});this._active.preview.el.setStyle('cursor','pointer')}else{if(this._active)this._active.preview.el.setOpacity(1);img.original.el.clone().setStyles({'margin-left':this._marginLeft(img),'margin-top':this._marginTop(img),position:"relative"}).inject(this.image.empty()).addEvent('click',this.close.bind(this));img.preview.el.setStyles({cursor:'default',opacity:'0.5'})}this._active=img},_marginTop:function(image){switch(this.options.valign){case'top':return 0;case'bottom':return this.image.getSize().size.y-image.original.h;default:return parseInt((this.image.getSize().size.y-image.original.h)/2)}},_marginLeft:function(image){switch(this.options.align){case'left':return 0;case'right':return this.image.getSize().size.x-image.original.w;default:return parseInt((this.image.getSize().size.x-image.original.w)/2)}}});var LightBox=new LightBox_class('<table class=\"popup\"> <tr><td class=\"lt\"><div><\/div><\/td><td class=\"t\" colspan=\"2\"><div><\/div><\/td><td class=\"rt\"><div><\/div><\/td><\/tr> <tr> <td class=\"l\"><\/td> <td class=\"container bg\" name=\"content\"> <h2 name=\"title\">\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0442\u043e\u0432\u0430\u0440\u0430<\/h2> <ul class=\"menu-images\" name=\"controls\"> {if data.length>1} {for img in data}<li><a href=\"${img.original.src}\" target=\"_blank\"><\/a><\/li>{\/for} {\/if} <\/ul> <div class=\"image\" name=\"image\"><\/div> <\/td> <td class=\"close bg\"><a title=\"\u0417\u0430\u043a\u0440\u044b\u0442\u044c\" name=\"close\" href=\"close\"><\/a><\/td> <td class=\"r\"><\/td> <\/tr> <tr><td class=\"lb\"><div><\/div><\/td><td class=\"b\" colspan=\"2\"><div><\/div><\/td><td class=\"rb\"><div><\/div><\/td><\/tr> <\/table>');