if(typeof Category=='undefined'){var Category={};}
Category.Filter=Class.create();Category.Filter.prototype={initialize:function(config){this.config=config;this.currentFilter={};this.currentFilter=this.config.filter;this.optionElements=$$('.option-value');this.initEvent();this.currentAttributeClick='';},initEvent:function(){this.optionElements.each(function(element){Event.observe(element,'click',this.optionClick.bind(this));}.bind(this));},optionClick:function(event){var element=event.currentTarget;var option=element.getAttribute('rel');option=option.evalJSON();this.currentAttributeClick=option['optCode'];if(element.hasClassName('selected')){element.removeClassName('selected');option['state']='unselected';}
else{element.addClassName('selected');option['state']='selected';}
this.filter(option);},filter:function(option){if(typeof(this.currentFilter[option.optCode+'['+option.optValue+']'])=='undefined'){this.currentFilter[option.optCode+'['+option.optValue+']']=[];}
if(option['state']=='unselected'){delete(this.currentFilter[option.optCode+'['+option.optValue+']']);}
else{this.currentFilter[option.optCode+'['+option.optValue+']']=option.optValue;}
this.fireAjax();},fireAjax:function(){var This=this;var filterPost=this.currentFilter;var filterUrl=this.config.filterUrl;var targetUpdate=this.config.targetUpdate;new Ajax.Request(filterUrl,{method:'post',parameters:filterPost,onSuccess:function(response){var data=response.responseText.evalJSON();$(targetUpdate).update(data['list']);This.updateFilter(data['available_attributes']);}});},updateFilter:function(availableAttribute){var This=this;var elementAvailabe=[];for(var i in availableAttribute){var attribute=availableAttribute[i];for(var k in attribute){var optionSelector='option-'+i+'-'+attribute[k]['value'];elementAvailabe.push(optionSelector);}}
this.optionElements.each(function(element){var elementId=element.id;if(in_array(elementId,elementAvailabe)){element.parentNode.show();console.log(elementId);}
else{var elementOption=element.getAttribute('rel');elementOption=elementOption.evalJSON();if(elementOption['optCode']!=This.currentAttributeClick){element.parentNode.hide();}
else{element.parentNode.show();}}});},changePage:function(page){this.currentFilter['p']=page;this.fireAjax();}}
function in_array(needle,haystack,argStrict){var key='',strict=!!argStrict;if(strict){for(key in haystack){if(haystack[key]===needle){return true;}}}
else{for(key in haystack){if(haystack[key]==needle){return true;}}}
return false;};function wpShowMenuPopup(objMenu,popupId)
{objMenu=$(objMenu.id);var popup=$(popupId);if(!popup)return;popup.style.display='block';objMenu.addClassName('active');var popupWidth=CUSTOMMENU_POPUP_WIDTH;if(!popupWidth)popupWidth=popup.getWidth();var pos=wpPopupPos(objMenu,popupWidth);popup.style.top=pos.top+'px';popup.style.left=pos.left+'px';console.log(popup.style.left);if(CUSTOMMENU_POPUP_WIDTH)popup.style.width=CUSTOMMENU_POPUP_WIDTH+'px';}
function wpPopupPos(objMenu,w)
{var pos=objMenu.cumulativeOffset();var wraper=$('custommenu');var posWraper=wraper.cumulativeOffset();var wWraper=wraper.getWidth()-CUSTOMMENU_POPUP_RIGHT_OFFSET_MIN;var xTop=pos.top-posWraper.top+CUSTOMMENU_POPUP_TOP_OFFSET;var xLeft=pos.left-posWraper.left;if((xLeft+w)>wWraper)xLeft=wWraper-w;if(xLeft<0)xLeft=0;return{'top':xTop,'left':xLeft};}
function wpHideMenuPopup(element,event,popupId,menuId)
{element=$(element.id);var popup=$(popupId);if(!popup)return;var current_mouse_target=null;if(event.toElement)
{current_mouse_target=event.toElement;}
else if(event.relatedTarget)
{current_mouse_target=event.relatedTarget;}
if(!wpIsChildOf(element,current_mouse_target)&&element!=current_mouse_target)
{if(!wpIsChildOf(popup,current_mouse_target)&&popup!=current_mouse_target)
{popup.style.display='none';$(menuId).removeClassName('active');}}}
function wpIsChildOf(parent,child)
{if(child!=null)
{while(child.parentNode)
{if((child=child.parentNode)==parent)
{return true;}}}
return false;}
