location.parseHash=function(hash){hash=hash||this.hash;if(!hash)return null;return App.parseGET(hash,'#',';')};location.getHashParam=function(name){var params=this.parseHash();if(params&&$defined(params[name]))return params[name];return null};location.createHash=function(obj){var hash=[];for(name in obj){hash.push(name+'='+obj[name])}return'#'+hash.join(';')};var Replacer_class=new Class({Class:'Replacer_class',options:{activeElements:'a[name=replacement]',idPrefix:'replace',idContainer:'popup-solution-detail'},_activeElements:null,run:function(){this._getActiveElements();this._setReplacementActions()},_getActiveElements:function(){this._activeElements=$(this.options.idContainer).getElements(this.options.activeElements);return this._activeElements},_setReplacementActions:function(){this._activeElements.each(function(el){var id=parseInt(el.id.replace(this.options.idPrefix,''),10);if(id){el.addEvent('click',function(e){new Event(e).stop();this.fireEvent('replace',{obj:el})}.bind(this))}}.bind(this))}});Replacer_class.implement(new Options,new Events);var GoodsInPopup_class=new Class({Class:'GoodsInPopup_class',options:{activeElements:'a[name=GIPActiveElement]',tpl_popup:'<div class=\"popup mega-popup product-detail popup-solution-detail\" id=\"popup-solution-detail\"> <div class=\"close\" name=\"close\"><a title=\"Esc\" href=\"close\"><\/a><\/div> <div class=\"container\" name=\"content\"><\/div> <\/div>'},_activeElements:null,_cacheContent:{},_popup:null,_popupContent:null,_activeElement:null,_cleanRedEyes:function(){var elems=this._activeElements;elems.each(function(elem){elem.addEvent('focus',function(){elem.blur()})})},_setActiveElement:function(activeElement){this._activeElement=activeElement},_getActiveElement:function(){return this._activeElement},_loadContent:function(url,key){new Ajax(url,{method:'get',onRequest:function(){this._processStart(document.body,process_tpl)}.bind(this),onComplete:function(resp){document.body.processStop();this._popupContent=this._cacheContent[key]=resp;this._openPopup()}.bind(this)}).request()},_getKeyActiveElement:function(){var href=this._getActiveElement().getProperty('href').replace('.html','');var search=href.search(/(\d+)$/i);var result=href.slice(search,href.length);var id=this._getActiveElement().getProperty('id');if(id){result+=id}return result},_getWindowSize:function(){var wSize=window.getSize();if(window.opera&&document.documentElement.clientHeight<document.body.clientHeight)wSize.size.y=document.documentElement.clientHeight;return wSize},_openPopup:function(activeElement){this._popup=new Popup_class(this.options.tpl_popup);this._popup.setContent(this._popupContent,{});this._popup.overlayON();this._popup.open();var scripts=this._popup.getElements('script');if(scripts.length)scripts.each(this._execute);this.fireEvent('open')},_execute:function(script){eval(script.innerHTML)},_processStart:function(elem,tpl){elem.processStop();var h=elem.offsetHeight;elem.process=new Element('div').setStyles({height:h,width:elem.offsetWidth,'text-align':'center',position:'relative','z-index':100,'margin-bottom':-h});new Element('div').setStyles({width:'100%',height:'100%','background-color':elem.getStyleRec('background-color'),opacity:'0.6'}).injectInside(elem.process);var proc=new Element('div').setHTML(App.getHTML(tpl,{})).setStyles({margin:'0 auto','text-align':'center',position:'relative'}).injectInside(elem.process.injectTop(elem));proc.setStyle('margin-top',-(((this._getWindowSize().size.y+proc.offsetHeight)/2).toInt())-(h-(window.getScrollTop()+this._getWindowSize().size.y)))},doElementAction:function(activeElement){this._setActiveElement(activeElement);var key=this._getKeyActiveElement();if($defined(this._cacheContent[key])){this._popupContent=this._cacheContent[key];this._openPopup()}else{var href=this._getActiveElement().getProperty('href').replace('.html','')+'lightbox/';this._loadContent(href,key)}},run:function(){this._activeElements=$$(this.options.activeElements);if(this._activeElements){this._cleanRedEyes();this._activeElements.each(function(activeElement){activeElement.addEvent('click',function(e){new Event(e).stop();this.doElementAction(activeElement)}.bind(this))}.bind(this))}}});GoodsInPopup_class.implement(new Options,new Events);var goodsInPopup=new GoodsInPopup_class();App.addOnDomReady(function(){goodsInPopup.addEvent('open',function(){Cart_popup.addAction()});goodsInPopup.run();var replacer=new Replacer_class();replacer.addEvent('replace',function(e){goodsInPopup.doElementAction(e.obj)});goodsInPopup.addEvent('open',function(e){replacer.run()})});var global_current_tab=null;var Tabs_class=new Class({_url:'',_current:null,_cont:null,_tabs:[],_tabConts:{},initialize:function(tabs,cont,url){this._tabConts={};this._tabs=$(tabs).getElements('li');this._cont=$(cont);this._url=url;var _tab=location.getHashParam('tab');this._tabs.each(function(tab){tab.name=tab.getProperty('name');if(tab.hasClass('active'))this._current=tab;if(_tab&&_tab==tab.name)_tab=tab;tab.addEvent('click',this.onTabClick.bindWithEvent(this,tab))}.bind(this));if(!this._current){if(global_current_tab){this._tabs.each(function(el){if(el.name==global_current_tab.name){this._loadTabCont(el)}}.bind(this))}else{this._loadTabCont(this._tabs[0])}}if($type(_tab)=='element'&&_tab!==this._current)this._loadTabCont(_tab)},onTabClick:function(e,tab){e=new Event(e).target.blur();if(tab==this._current)return;if($defined(this._tabConts[tab.name])){this._setActive(tab)}else{this._loadTabCont(tab)}},onLoadTabCont:function(html,tab){this._cont.processStop();this._tabConts[tab.name]=new Element('div').setHTML(html);this._setActive(tab)},_setActive:function(tab){if(this._current){this._saveTabCont();this._current.removeClass('active')}this._current=tab.addClass('active');this._showTabCont();global_current_tab=tab},_loadTabCont:function(tab){this._cont.processStart('<img src="http://i.mebelini.ua/ajax.gif" width="128" height="15"/>');new Ajax(this._url+'tab='+tab.name,{method:'get',onComplete:this.onLoadTabCont.bindAsEventListener(this,tab)}).request()},_saveTabCont:function(){this._tabConts[this._current.name]=new Element('div').adopt(this._cont.getChildren())},_showTabCont:function(){this._cont.adopt(this._tabConts[this._current.name].getChildren());if(!$defined(window.gecko)){var scripts=this._cont.getElements('script');if(scripts.length)scripts.each(this._execute)}},_execute:function(script){eval(script.innerHTML)}});var MebeliniTabs_class=Tabs_class.extend({onTabClick:function(e,tab){if(!$defined(window.ie)){new Event(e).target.getParent().getParent().getParent().getParent().blur()}if(tab==this._current)return;if($defined(this._tabConts[tab.name])){this._setActive(tab)}else{this._loadTabCont(tab)}}});CatalogItem_class.prototype.update=function(){this.collectionElements(this.options.dynamicElements,'setDynamic');this.collectionElements(this.options.activeElements,'setActive');var buyElement=this.elem.getElement('[name^=buy_]');var quantityFromElement=$E('[id^=quantity_from]');var quantityToElement;var min_quantity=this.quantity;var buyForm;if(buyElement){quantityToElement=buyElement.getElement('[name=quantity]');buyForm=buyElement.getElement('form')};if(buyElement&&quantityFromElement&&quantityToElement){quantityFromElement.old_value=quantityFromElement.value;quantityFromElement.addEvent('keydown',function(){quantityFromElement.old_value=quantityFromElement.value});quantityFromElement.addEvent('keydown',function(e){if(e.keyCode==13&&buyForm)buyForm.getElement('[name=topurchases]').click()});if(!$defined(window.ie)){quantityFromElement.addEvent('focus',function(){quantityFromElement.selectRange(0,quantityFromElement.value.length)})}quantityFromElement.addEvent('keyup',function(){if(/^(0|[1-9][0-9]{0,}|[1-9]*)$/.exec(quantityFromElement.value)!=null&&quantityFromElement.old_value!=quantityFromElement.value&&quantityFromElement.value!=''&&quantityFromElement.value>=min_quantity){quantityToElement.value=quantityFromElement.value}});quantityFromElement.addEvent('blur',function(){if(/^(0|[1-9][0-9]{0,}|[1-9]*)$/.exec(quantityFromElement.value)==null||quantityFromElement.old_value==quantityFromElement.value||quantityFromElement.value==''||quantityFromElement.value<min_quantity){quantityFromElement.value=min_quantity}})}};
