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()},addKit:function(id,kit_id,units_ids){var i=this._catalog.push(new this._class(id,this._id_preff+id,kit_id,units_ids))-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,_flagAddToCart:false,_popupAddToCart:null,options:{open_popup:false,popup_tpl:'',popup_content_tpl:'',overlayON:false,popup_floatingY:true},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));if(typeof Wishlists!='undefined')Wishlists.addEvent('actionCompleteForGoods',this.onActionComplete.bind(this))},addToComparison:function(){Comparison.addGoods(this.id)},addToWaitlist:function(){Waitlist.addGoods(this.id)},addToWishlist:function(){Wishlists.addGoods(this.id)},deleteFromComparison:function(){Comparison.deleteGoods(this.id)},addToCart:function(){this._flagAddToCart=true;Cart.addGoods(this.id)},deleteFromCart:function(){Cart.deleteGoods(this.id)},inCart:function(){return Cart.inPurchases(this.id)},inWaitlist:function(){return Waitlist.inWaitlist(this.id)},inWishlist:function(){return Wishlists.inWishlist(this.id)},deleteFromWishlist:function(){Wishlists.deleteGoods(this.id)},deleteFromWaitlist:function(){Waitlist.deleteGoods(this.id)},inComparison:function(){return Comparison.goods[this.id]},isPossibilityToCompare:function(){return Comparison.isPossibilityToCompare(this.id)},onActionComplete:function(e){this.parent();if(this.options.open_popup&&this._flagAddToCart){this._popupAddToCart=new Popup_class(this.options.popup_tpl);this._popupAddToCart.setContent(this.options.popup_content_tpl,{newGoods:Cart.goods[this.id][0],cart:Cart});if(this.options.overlayON){this._popupAddToCart.overlayON()}this._popupAddToCart.setOptions({floatingY:this.options.popup_floatingY});this._popupAddToCart.open()}this._flagAddToCart=false}});var FoundСheaperPopup;var GoodsXshop_class=Goods_class.extend({options:{tplFoundСheaperPopup:'<div class=\"popup popup-found-cheaper\">\r\n\t<div class=\"close\"><a href=\"#\" name=\"close\"><\/a><\/div>\r\n\t<div class=\"container border\" name=\"content\"><\/div>\r\n<\/div>',tplFoundСheaperPopupContent:'<form name=\"submit-by-ajax\">\r\n\t<h2>\u041d\u0430\u0448\u043b\u0438 \u044d\u0442\u043e\u0442 \u0442\u043e\u0432\u0430\u0440 \u0434\u0435\u0448\u0435\u0432\u043b\u0435?<\/h2>\r\n\t<div name=\"app-message\"><\/div>\r\n\t<p>\u0417\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u0434\u0430\u043d\u043d\u0443\u044e \u0444\u043e\u0440\u043c\u0443, \u0438&nbsp;\u043c\u044b \u043f\u043e\u043f\u044b\u0442\u0430\u0435\u043c\u0441\u044f \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u0430\u043c \u0441\u043a\u0438\u0434\u043a\u0443, \u043f\u0440\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0438, \u0447\u0442\u043e \u0446\u0435\u043d\u0430 \u0432&nbsp;\u0434\u0440\u0443\u0433\u043e\u043c \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u043c\u0430\u0433\u0430\u0437\u0438\u043d\u0435 \u0432\u0435\u0440\u043d\u0430\u044f \u0438&nbsp;\u0442\u043e\u0432\u0430\u0440 \u0435\u0441\u0442\u044c \u0442\u0430\u043c \u0432&nbsp;\u043d\u0430\u043b\u0438\u0447\u0438\u0438.<\/p>\r\n\t<div class=\"item large\">\r\n\t\t<div class=\"title\">\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0442\u043e\u0432\u0430\u0440 \u0441&nbsp;\u043c\u0435\u043d\u044c\u0448\u0435\u0439 \u0446\u0435\u043d\u043e\u0439 \u0432&nbsp;\u0434\u0440\u0443\u0433\u043e\u043c \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u043c\u0430\u0433\u0430\u0437\u0438\u043d\u0435:<\/div>\r\n\t\t<div class=\"field\">\r\n\t\t\t<input type=\"text\" class=\"text\" name=\"url\" required=\"required\" hint=\"http:\/\/\" pattern=\"^(http|https):\/\/([-a-zA-Z0-9.]+)(\/[-a-zA-Z0-9+&@#\/%=~_|!:,.;]*)?(\\?[-a-zA-Z0-9+&@#\/%=~_|!:,.;]*)?$\" \/>\r\n\t\t<\/div>\r\n\t<\/div>\r\n\t<div class=\"item\">\r\n\t\t<div class=\"title\">\u0412\u0430\u0448\u0435 \u0438\u043c\u044f:<\/div>\r\n\t\t<div class=\"field\">\r\n\t\t\t<input type=\"text\" class=\"text\" name=\"first_name\" required=\"required\" pattern=\"^[a-z\u0410-\u042f\u0430-\u044f\u0456\u0457\u0451\u0454\u0406\u0407\u0401\u0404\\d\\.\\s_-]{2,50}$\" \/>\r\n\t\t<\/div>\r\n\t<\/div>\r\n\t<div class=\"item\">\r\n\t\t<div class=\"title\">\u0422\u0435\u043b\u0435\u0444\u043e\u043d:<\/div>\r\n\t\t<div class=\"field\">\r\n\t\t\t<input type=\"text\" class=\"text\" name=\"phone\" required=\"required\" pattern=\"^[0-9-\\(\\) \\+\\.]{6,30}$\" \/>\r\n\t\t<\/div>\r\n\t<\/div>\r\n\t<div class=\"item\">\r\n\t\t<div class=\"title\">\u042d\u043b. \u043f\u043e\u0447\u0442\u0430:<\/div>\r\n\t\t<div class=\"field\">\r\n\t\t\t<input type=\"text\" class=\"text\" name=\"email\" required=\"required\" pattern=\"^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z0-9]{2,4})$\" \/>\r\n\t\t<\/div>\r\n\t<\/div>\r\n\t\r\n\t<div class=\"item submit\">\r\n\t\t<div class=\"field\"><input type=\"submit\" value=\"\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435\" \/><\/div>\r\n\t<\/div>\r\n<\/form>',tplFoundСheaperSuccessSend:'<div class=\"success\">\r\n\t<h3>\u0421\u043f\u0430\u0441\u0438\u0431\u043e, \u0432\u0430\u0448\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043e<\/h3>\r\n\t<p>\u041d\u0430\u0448\u0438 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u044b \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u044f\u0442 \u0435\u0433\u043e<br>\u0438&nbsp;\u0441\u0432\u044f\u0436\u0443\u0442\u0441\u044f \u0441 \u0432\u0430\u043c\u0438.<\/p>\r\n\t<div class=\"submit\"><input type=\"button\" value=\"\u041e\u043a\" onclick=\"Found\u0421heaperPopup.close()\"><\/div>\r\n<\/div>'},foundCheaper:function(){if($defined(this.popup)&&this.popup.isOpened()){this.popup.close();FoundСheaperPopup=null}else{this.popup=new Popup_class(this.options.tplFoundСheaperPopup);this.popup.setContent(App.getHTML(this.options.tplFoundСheaperPopupContent,{id:this.id}),{});this.popup.overlayON();this.popup.open();this.popup.elem.showHints();this.popup.elem.checkForms();this.popup.form.removeEvents('submit');this.popup.form.addEvent('submit',function(e){new Event(e).stop();this.popup.form.trySend({headers:{'ajaxAction':'http://www.xshop.ua/found-cheaper#Feedback'},onComplete:function(){this.popup.form.processStop();var Response=new Response_class(arguments[0]);if(Response.isDone())this.popup.form.tryUrchinTracker('_udone');Response.doAction();if(!Response.isError()){if(this.options.tplFoundСheaperSuccessSend){FoundСheaperPopup=this.popup;this.popup.setContent(Response.Message.getContentTpl(this.options.tplFoundСheaperSuccessSend),{})}}if($defined(Response.Message))App.showMessage(Response.Message)}.bind(this)})}.bind(this))}this.onActionComplete()}});var GoodsCatalog=new Catalog_class(GoodsXshop_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.xshop.ua\/cart\/\" class=\"sprite\"><i><\/i>\u0432&nbsp;\u043a\u043e\u0440\u0437\u0438\u043d\u0443<\/a><\/div> <noindex><a href=\"http:\/\/my.xshop.ua\/checkout\/\" rel=\"nofollow\" class=\"make-order\"><div><div><div class=\"container bg\">\u0417\u0430\u043a\u0430\u0437\u0430\u0442\u044c&hellip;<\/div><\/div><\/div><\/a><\/noindex> <\/div> {else} <div class=\"cell buy\"> <form method=\"POST\" action=\"http:\/\/my.xshop.ua\/cgi-bin\/form.php?r=http:\/\/my.xshop.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> {\/if}',comparison_catalog:'{if inComparison()}\r\n<div class=\"added\"><input type=\"checkbox\" checked name=\"fromcomparison\"\/>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d&nbsp;{if inComparison().section.count>1}<a class=\"to-comparison\" href=\"${inComparison().section.href}\">\u043a&nbsp;\u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e<\/a>{else}\u043a&nbsp;\u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e{\/if}<\/div>\r\n{else}\r\n<label name=\"tocomparison\"><input type=\"checkbox\"><a href=\"#\" rel=\"nofollow\" class=\"xhr\"><i><\/i>\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c<\/a> \u043a&nbsp;\u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e<\/label>\r\n{\/if}\r',comparison_details:'{if inComparison()}\r\n\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d&nbsp;{if inComparison().section.count>1}<noindex><a class=\"to-comparison\" rel=\"nofollow\" href=\"${inComparison().section.href}\">\u043a&nbsp;\u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e<\/a><\/noindex>{else}\u043a&nbsp;\u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e{\/if}\r\n{else}\r\n<\/a><noindex><a href=\"#\" rel=\"nofollow\" class=\"xhr\" name=\"tocomparison\"><i><\/i>\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c&nbsp;<\/a><\/noindex>\u043a&nbsp;\u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e\r\n{\/if}\r\n\r',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> <noindex><a href=\"http:\/\/my.xshop.ua\/cart\/\" rel=\"nofollow\">\u0432&nbsp;\u043a\u043e\u0440\u0437\u0438\u043d\u0443<\/a><\/noindex><\/div><\/div><\/div><\/div> {else} <div class=\"tocart\"><div><div><div><noindex><a href=\"http:\/\/my.xshop.ua\/cart\/?action=buy&amp;data[goods_id]=${id}\" rel=\"nofollow\" class=\"sprite xhr\" name=\"topurchases\"><i><\/i>\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c<\/a><\/noindex> \u0432&nbsp;\u043a\u043e\u0440\u0437\u0438\u043d\u0443<\/div><\/div><\/div><\/div> {\/if}','found-cheaper':'<p><strong><a href=\"#\" name=\"found-cheaper\" class=\"xhr\">\u041d\u0430\u0448\u043b\u0438 \u0434\u0435\u0448\u0435\u0432\u043b\u0435?<\/a><\/strong> \u041c\u044b \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u0446\u0435\u043d\u0443 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0435\u0435!<\/p>'},activeElements:{topurchases:{action:'addToCart'},tocomparison:{action:'addToComparison'},fromcomparison:{action:'deleteFromComparison'},'found-cheaper':{action:'foundCheaper'}},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));this._setActivePreview(img)}this._active=img},_setActivePreview:function(img){img.preview.el.setStyles({cursor:'default',opacity:'0.5'});if($defined(img.preview.el.getParent())&&$defined(img.preview.el.getParent().getParent())&&$defined(img.preview.el.getParent().getParent().getParent())){img.preview.el.getParent().getParent().getParent().addClass('active')}},_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>');
