ExpanderProduct=function(b,a){this.jPtr=b;this.oExpander=a;this.init()};ExpanderProduct.prototype={init:function(){this.initDom();this.id=this.jPtr.find("input[name = id]").val();this.bOpened=this.jCategory.hasClass("opened");this.attachEvents()},initDom:function(){this.jCategory=this.jPtr.find(".category");this.jOpener=this.jCategory.find(".siblings_expander .pseudo-href")},attachEvents:function(){var a=this;this.jOpener.click(function(){if(a.isOpened()){a.close()}else{if(!a.isLoading()){a.open()}}})},open:function(){var a=this;if(this.jSiblings){this.showSiblings()}else{this.loading();this.oExpander.loadSiblings(this,function(b){a.jSiblings=b;a.siblingsLoaded()})}},close:function(){this.hideSiblings()},siblingsLoaded:function(){this.jPtr.after(this.jSiblings);this.showSiblings();pricePopup.findAndAddOpeners(this.jSiblings);this.loaded()},showSiblings:function(){this.jSiblings.tehShow();this.jCategory.addClass("opened");this.bOpened=true},hideSiblings:function(){this.jSiblings.tehHide();this.jCategory.removeClass("opened");this.bOpened=false},showLoader:function(){this.jCategory.append(Tehnosila.getFloatLoader())},getId:function(){return this.id},isOpened:function(){return this.bOpened},loading:function(){this.bLoading=true},loaded:function(){this.bLoading=false},isLoading:function(){return this.bLoading},abort:function(){this.loaded()}};Expander=function(){this.jPtr=$("#products");this.init()};Expander.prototype={init:function(){this.initDom();this.initProducts()},initDom:function(){this.jBuffer=$("<div />")},initProducts:function(){var a=this;this.aProducts=[];this.jPtr.find(".product").each(function(){a.aProducts.push(new ExpanderProduct($(this),a))})},loadSiblings:function(b,c){var a=this;this.abort();this.oLoadingProduct=b;this.startLoader(b);this.oAjax=$.get(".",{productId:b.getId()},function(d){c(a.getProductsFromHtml(d));a.oLoadingProduct=null;a.hideLoader()})},abort:function(){clearTimeout(this.intLoader);this.hideLoader();if(this.oLoadingProduct){this.oLoadingProduct.abort()}if(this.oAjax){this.oAjax.abort()}},startLoader:function(b){var a=this;this.intLoader=setTimeout(function(){b.showLoader()},300)},hideLoader:function(){clearTimeout(this.intLoader);Tehnosila.hideFloatLoader()},getProductsFromHtml:function(a){this.jBuffer.append(Tehnosila.cleanFromDoctype(a));return this.jBuffer.find(">.product")}};$(document).ready(function(){new Expander()});
