var sliderValues=new Array();var slidedPointer=null;function Pointer(name,slider,startPositionName,additionalTipTextBefore,additionalTipTextAfter)
{this.calcPos=function(mousePos)
{var pos=mousePos-slidedPointer.slider.getMin()+
DGScreen.getScrollPos()[this.slider.vertical];var final_pos=pos-this.dragPoint;if(final_pos>this.moveRange[1]){final_pos=this.moveRange[1];}
if(final_pos<this.moveRange[0]){final_pos=this.moveRange[0];}
final_pos=this.slider.getSnapedPoint(this.pos,final_pos,this);return final_pos;}
this.setPos=function(pos)
{if(this.pos!=pos){this.pos=pos;pos-=(this.size[slider.vertical]-this.hotSpot);if(this.slider.vertical){this.pointerNode.style.top=pos+'px';}else{this.pointerNode.style.left=pos+'px';}
this.slider.recalculateSlider();}}
this.getLenUnderHS=function()
{var i=this.hotSpot-1;if(i<0){i=0;}
return i;}
this.getLenOverHS=function()
{return this.size[this.slider.vertical]-this.hotSpot;}
this.getPos=function()
{return this.pos;if(this.slider.vertical){return 100-Math.round(this.pos*100/this.slider.pixWidth);}else{return Math.round(this.pos*100/this.slider.pixWidth);}}
this.setMoveRange=function()
{if(this.overleap){this.moveRange=[0,this.slider.getMax()-slidedPointer.slider.getMin()-(this.size[slider.vertical])];}else{this.moveRange=this.slider.getMoveRange(this);}}
this.createDiv=function()
{this.pointerNode=document.createElement("DIV");this.pointerNode.className='pointer '+this.starPositionName;this.slider.sliderNode.appendChild(this.pointerNode);}
this.createTipDiv=function()
{if(this.slider.snap){this.tipDiv=document.createElement("DIV");this.tipDiv.innerHTML='';this.tipDiv.className='stopPointTip '+this.starPositionName;this.tipDiv.pointer=this;this.displayTip(false);this.pointerNode.appendChild(this.tipDiv);}}
this.setTip=function(text)
{if(this.tipDiv&&text){this.tipDiv.innerHTML=this.additionalTipTextBefore+text+this.additionalTipTextAfter;}}
this.switchTip=function(turnOn)
{if(turnOn&&this.tipDivDisplayed){this.tipDiv.style.display='block';}
else{this.tipDiv.style.display='none';}}
this.displayTip=function(turnOn)
{if(turnOn){this.tipDiv.style.display='block';this.tipDivDisplayed=true;}
else{this.tipDiv.style.display='none';this.tipDivDisplayed=false;}}
this.setStartPosition=function()
{var startPos=this.slider.getPosition(this.starPositionName,true);var oldPos=startPos;if(this.pos){oldPos=this.pos;}
startPos=this.slider.getSnapedPoint(oldPos,startPos,this);this.setPos(startPos);}
this.deselectAll=function(){if(document.selection){document.selection.empty();}
else{if(window.getSelection){window.getSelection().removeAllRanges();}}}
this.dragPoint=0;this.additionalTipTextBefore='';this.additionalTipTextAfter='';if(additionalTipTextBefore){this.additionalTipTextBefore=additionalTipTextBefore;}
if(additionalTipTextAfter){this.additionalTipTextAfter=additionalTipTextAfter;}
this.pointerNode=null;this.tipDiv=null;this.tipDivDisplayed=false;this.starPositionName=startPositionName;this.slider=slider;this.createDiv();this.size=DGScreen.getElementSize(this.pointerNode);this.hotSpot=Math.round(this.size[slider.vertical]/2);switch(this.starPositionName){case'min':this.hotSpot=1;break;case'max':this.hotSpot=9;break;}
this.moveRange=[0,0];this.overleap=false;this.setMoveRange();EventsController.addEventListener(this.pointerNode,'mousedown',Pointer.grab);this.pointerNode.pointer=this;}
Pointer.drag=function(e)
{if(slidedPointer==null){return;}
var pos;if(slidedPointer.slider.vertical){pos=slidedPointer.calcPos(e.clientY);}else{pos=slidedPointer.calcPos(e.clientX);}
slidedPointer.setPos(pos);slidedPointer.deselectAll();}
Pointer.grab=function(e)
{var pointerNode=EventsController.getTarg(e);if(!pointerNode||!pointerNode.pointer){return;}
slidedPointer=pointerNode.pointer;var mousePos;if(slidedPointer.slider.vertical){mousePos=e.clientY;}else{mousePos=e.clientX;}
var pos=mousePos-slidedPointer.slider.getMin()+
DGScreen.getScrollPos()[slidedPointer.slider.vertical];slidedPointer.dragPoint=pos-slidedPointer.pos;EventsController.addEventListener(window.document,'mousemove',Pointer.drag);slidedPointer.setMoveRange();slidedPointer.slider.sliderNode.className=slidedPointer.slider.sliderClass+' sliderM';slidedPointer.displayTip(true);}
Pointer.release=function(e){if(slidedPointer!=null){slidedPointer.slider.sliderNode.className=slidedPointer.slider.sliderClass;EventsController.removeEventListener(window.document,'mousemove',Pointer.drag);slidedPointer.slider.savePointersPosition();slidedPointer.dragPoint=0;}
slidedPointer=null;}
function Slider(node,pointers,sliderValues,filter){this.countPointers=function()
{return this.pointers.length;}
this.getMax=function()
{return this.pos[this.vertical]+this.size[this.vertical];}
this.getMin=function()
{return this.pos[this.vertical];}
this.evalAxisWidth=function()
{var pointer;for(var i=0;i<this.pointers.length;i++){pointer=this.pointers[i];if(pointer.getLenUnderHS()>this.borders[0]){this.borders[0]=pointer.getLenUnderHS();}
if(pointer.getLenOverHS()>this.borders[1]){this.borders[1]=pointer.getLenOverHS();}}
this.pixWidth=this.size[this.vertical]-this.borders[0]-this.borders[1];this.minPos=this.borders[0];this.maxPos=this.size[this.vertical]-this.borders[1];}
this.getMoveRange=function(pointer)
{var range=[this.minPos,this.maxPos];var x;for(var i=0;i<this.pointers.length;i++){tmpPtr=this.pointers[i];if(tmpPtr!=pointer&&!tmpPtr.overleap){if(tmpPtr.starPositionName=='max'){if(tmpPtr.pos<range[1]){range[1]=tmpPtr.pos;}}
else{if(tmpPtr.starPositionName=='min'){if(tmpPtr.pos>range[0]){range[0]=tmpPtr.pos;}}}}}
return range;}
this.displayValue=function(pos,pointer)
{if(this.values[pos]&&pointer){pointer.setTip(this.values[pos][0]);}}
this.setValues=function(sliderValues)
{var snapSize,currValue,x,i,pointBefore,pointAfter;if(sliderValues.length>1){snapSize=this.pixWidth/(sliderValues.length-1);for(x=0;x<sliderValues.length;x++){currValue=this.minPos+Math.round(snapSize*x);if(currValue>this.maxPos){currValue=this.maxPos;}
this.snapPoints[this.snapPoints.length]=currValue;this.values[currValue]=sliderValues[x];var oDiv=document.createElement("DIV");oDiv.className='stopPoint';oDiv.style.left=currValue+'px';this.sliderNode.appendChild(oDiv);this.snap=true;}
for(x=0;x<=this.maxPos;x++){pointBefore=this.snapPoints[0];pointAfter=this.snapPoints[this.snapPoints.length-1];for(i=0;i<this.snapPoints.length;i++){if((pointBefore<this.snapPoints[i])&&(this.snapPoints[i]<=x)){pointBefore=this.snapPoints[i];}
if((pointAfter>this.snapPoints[i])&&(this.snapPoints[i]>=x)){pointAfter=this.snapPoints[i];}}
this.snapPointMapping[x]=new Array(pointBefore,pointAfter);}}}
this.createLine=function()
{var oDiv=document.createElement("DIV");oDiv.className='line';this.sliderNode.appendChild(oDiv);}
this.getValueFromForm=function(posName,startPos)
{var result=null;if(posName&&(posName!='')&&this.formValues&&this.formValues[posName]&&(this.formValues[posName].nodeName.toLowerCase()=='input')){if(startPos){if(this.formValues[posName].originalValue){result=this.formValues[posName].originalValue;}}
else{if(this.formValues[posName].value){result=this.formValues[posName].value;}}}
return result;}
this.setValueToForm=function(posName,value)
{if(posName&&(posName!='')&&this.formValues&&this.formValues[posName]&&(this.formValues[posName].nodeName.toLowerCase()=='input')&&(this.formValues[posName].value!='undefined')){this.formValues[posName].value=value;if(this.formValues[posName].filter){this.formValues[posName].filter.valueChanged();}}}
this.getPosFromForm=function(posName,startPos)
{var result=null;var value=this.getValueFromForm(posName,startPos);if(value){if(this.snap&&this.snapPoints&&this.values){for(var i=0;i<this.snapPoints.length;i++){if(this.values[this.snapPoints[i]]&&this.values[this.snapPoints[i]][1]&&(parseFloat(value)==parseFloat(this.values[this.snapPoints[i]][1]))){result=this.snapPoints[i];}}
if(!result){var currDistance,distance=-1;for(var i=0;i<this.snapPoints.length;i++){if(this.values[this.snapPoints[i]]&&this.values[this.snapPoints[i]][1]){currDistance=Math.abs(parseFloat(value)-parseFloat(this.values[this.snapPoints[i]][1]));if((distance==-1)||(currDistance<distance)){distance=currDistance;result=this.snapPoints[i];}}}}}
else{result=value;}}
return result;}
this.setPosToForm=function(posName,pos)
{var value;if(pos){if(this.snap){if(this.values&&this.values[pos]&&this.values[pos][1]){value=this.values[pos][1];}}
else{value=pos;}
this.setValueToForm(posName,value);}}
this.getPosition=function(posName,startPos)
{var result=0;if(posName&&(posName!='')){var tmpVal=this.getPosFromForm(posName,startPos);if(tmpVal){result=tmpVal;}
else{switch(posName){case'min':result=this.minPos;break;case'max':result=this.maxPos;break;}}}
return result;}
this.getSnapedPoint=function(oldPos,newPos,pointer)
{var pointBefore,pointAfter,returnPos=newPos;if(this.snap&&this.snapPoints){returnPos=oldPos;if(this.snapPointMapping&&this.snapPointMapping[newPos]){if(pointer){if(newPos<pointer.moveRange[0]){newPos=pointer.moveRange[0];}
if(newPos>pointer.moveRange[1]){newPos=pointer.moveRange[1];}}
pointBefore=this.snapPointMapping[newPos][0];pointAfter=this.snapPointMapping[newPos][1];if(pointer){if(pointBefore<pointer.moveRange[0]){pointBefore=null;}
if(pointAfter>pointer.moveRange[1]){pointAfter=null;}}
if((pointBefore==null)&&(pointAfter!=null)){returnPos=pointAfter;}
if((pointBefore!=null)&&(pointAfter==null)){returnPos=pointBefore;}
if((pointBefore!=null)&&(pointAfter!=null)){if(Math.abs(newPos-pointBefore)<=Math.abs(newPos-pointAfter)){returnPos=pointBefore;}
else{returnPos=pointAfter;}}
if(pointer){this.displayValue(returnPos,pointer);}}}
return returnPos;}
this.setPointersStartPosition=function()
{for(var i=0;i<this.pointers.length;i++){this.pointers[i].setStartPosition();}}
this.savePointersPosition=function()
{for(var i=0;i<this.pointers.length;i++){this.setPosToForm(this.pointers[i].starPositionName,this.pointers[i].pos);}}
this.createTipDivs=function()
{var firstPoint,lastPoint;if(this.snap&&this.snapPoints){firstPoint=this.snapPoints[0];lastPoint=this.snapPoints[this.snapPoints.length-1];if(this.values&&this.values[firstPoint]&&this.values[firstPoint][1]){this.tipMin=document.createElement("DIV");this.tipMin.innerHTML=this.values[firstPoint][0];this.tipMin.className='rangeTip';this.tipMin.style.left='-5px';this.sliderNode.appendChild(this.tipMin);}
if(this.values&&this.values[lastPoint]&&this.values[lastPoint][1]){this.tipMax=document.createElement("DIV");this.tipMax.innerHTML=this.values[lastPoint][0];this.tipMax.className='rangeTip';this.tipMax.style.right='-10px';this.sliderNode.appendChild(this.tipMax);}}}
this.switchPointersTip=function(turnOn)
{for(var i=0;i<this.pointers.length;i++){this.pointers[i].switchTip(turnOn);}}
this.recalculateSlider=function()
{var sum=0;if(this.pointersByName&&this.pointersByName.min&&this.pointersByName.min.pos&&this.pointersByName.max&&this.pointersByName.max.pos){for(var i=0;i<this.snapPoints.length;i++){if((this.snapPoints[i]>=this.pointersByName.min.pos)&&(this.snapPoints[i]<=this.pointersByName.max.pos)&&this.values[this.snapPoints[i]]&&this.values[this.snapPoints[i]][2]){sum+=parseInt(this.values[this.snapPoints[i]][2]);}}}
this.filter.setResults(sum);}
this.sliderNode=node;this.sliderClass=this.sliderNode.className;this.filter=filter;this.createLine();this.formValues=new Array();this.values=new Array();this.snap=false;this.snapPoints=new Array();this.snapPointMapping=new Array();this.pointers=new Array();this.pointersByName=new Array();this.pos=DGScreen.getElementPos(node);this.size=DGScreen.getElementSize(node);this.pixWidth=this.size[0];this.minPos=0;this.maxPos=this.pixWidth;this.vertical=0;this.borders=[0,0];if(node.className.indexOf('vertical')>-1){this.vertical=1;}
for(var i=0;i<pointers.length;i++){var pointer=new Pointer(pointers[i][0],this,pointers[i][1],pointers[i][2],pointers[i][3]);this.pointers[this.pointers.length]=pointer;this.pointersByName[pointers[i][1]]=pointer;}
this.evalAxisWidth();this.setValues(sliderValues);this.createTipDivs();for(var i=0;i<this.pointers.length;i++){this.pointers[i].createTipDiv();}
this.setPointersStartPosition();}
EventsController.addEventListener(window.document,'mouseup',Pointer.release);function FilterValue(jsonV,filter,categoryproducts)
{this.setShowFolded=function()
{this.showFolded=true;DGStyles.addClassName(this.li,'sf');}
this.stateChanged=function()
{return(this.isChecked!=this.wasChecked);}
this.reset=function(masterFilter)
{this.isChecked=this.wasChecked;this.cb.checked=this.wasChecked;if(masterFilter!=this.filter.masterFilter){this.filter.masterFilter.close();}}
this.id=jsonV.productfiltervalueid;this.showFolded=false;this.filter=filter;var li=document.createElement('li');var label=document.createElement('label');var cb=document.createElement('input');cb.type='checkbox';cb.name='f_'+filter.id+'_'+jsonV.productfiltervalueid;cb.id='f_'+filter.id+'_'+jsonV.productfiltervalueid;cb.filterValue=this;this.cb=cb;EventsController.addEventListener(cb,'click',FilterValue.click);li.appendChild(cb);var text1=null;var text2=null;var it=null;if(jsonV._count>0){text1=document.createTextNode(' (');text2=document.createTextNode(')');if(categoryproducts&&(categoryproducts>0)){text2=document.createTextNode(' of '+categoryproducts+')');}
it=document.createElement('I');it.innerHTML=jsonV._count;this.count=jsonV._count;}else{this.count=0;}
if((typeof jsonV.image!='undefined')&&(jsonV.image!='')){var img=document.createElement('img');img.src=jsonV.image;img.alt=jsonV.displayvalue;img.title=jsonV.displayvalue;label.appendChild(img);if((text1!=null)&&(text2!=null)&&(it!=null)){label.appendChild(text1);label.appendChild(it);label.appendChild(text2);}}
else{var b=document.createElement('b');b.innerHTML=jsonV.displayvalue;if((text1!=null)&&(text2!=null)&&(it!=null)){b.appendChild(text1);b.appendChild(it);b.appendChild(text2);}
label.appendChild(b);}
label.htmlFor='f_'+filter.id+'_'+jsonV.productfiltervalueid;li.appendChild(label);filter.ul.appendChild(li);this.li=li;if(jsonV.isSelected){cb.checked=true;this.setShowFolded();this.isChecked=true;var a=document.createElement('A');a.innerHTML='[remove]';a.href="#";EventsController.addEventListener(a,'click',FilterValue.removeFilter);li.appendChild(a);a.filterValue=this;DGStyles.addClassName(this.li,'slc');}else{this.isChecked=false;}
this.wasChecked=this.isChecked;}
FilterValue.click=function(e)
{var cb=EventsController.getTarg(e);if(!cb){return;}
if(cb.checked){cb.filterValue.isChecked=true;DGStyles.addClassName(cb.filterValue.li,'slc');}else{cb.filterValue.isChecked=false;DGStyles.removeClassName(cb.filterValue.li,'slc');}
cb.filterValue.filter.valueClicked(cb.filterValue.isChecked);}
FilterValue.removeFilter=function(e)
{var a=EventsController.getTarg(e);if(!a){return;}
var fltrStr='f_'+a.filterValue.filter.id+'_'+a.filterValue.id;FilterValue.removeFilterValue(fltrStr);returnFalse(e);}
FilterValue.removeFilterValue=function(fltrStr)
{var locStr=String(window.location);locStr=locStr.replace(/#.*$/,'');var pos=locStr.indexOf(fltrStr);if(pos>-1){var i=pos+fltrStr.length;do{if(locStr.charAt(i)=='&'){break;}}while(++i<locStr.length);if(pos-1==locStr.indexOf('?')){i++;}else{pos--;}
var newLoc=locStr.substring(0,pos)+locStr.substring(i,locStr.length);window.location=newLoc;}}
FilterValue.removeSpecificFilterValue=function(fltrStr,value)
{var separator='|';if(fltrStr=='keywords'){separator='+';}
var locStr=String(window.location);locStr=locStr.replace(/%20/g,'+');var re=new RegExp(fltrStr+'=([^&]+)','i');var match=re.exec(locStr);var new_val=new Array();if(match){var splits=match[1].split(separator);for(var i=0;i<splits.length;i++){if(splits[i]!=value){new_val[new_val.length]=splits[i];}}}
var new_val_str=new_val.join(separator);locStr=locStr.replace(re,fltrStr+'='+new_val_str);window.location=locStr;}
FilterValue.removeKeywordFilter=function()
{var locStr=String(window.location.search);locStr=locStr.replace(/%20/g,'+');var re=/[\?&]keywords=(?:[^&#]*)/;var newstr=locStr.replace(re,'');if(newstr.substr(0,1)=='&')newstr='?'+newstr.substr(1);newloc='http://'+window.location.hostname+window.location.pathname+newstr;window.location=newloc;}
FilterValue.removeFilterSet=function(fltrStr)
{var locStr=String(window.location.search);locStr=locStr.replace(/%20/g,'+');var regexS="[\\?&]"+fltrStr+"_(?:[0-9]*|min|max)=(?:[^&#]*)";var regex=new RegExp(regexS,'g');var newstr=locStr.replace(regex,'');if(newstr.substr(0,1)=='&')newstr='?'+newstr.substr(1);newloc='http://'+window.location.hostname+window.location.pathname+newstr;window.location=newloc;}
function ShowAllLink(filter)
{this.toggle=function()
{this.filter.changeShowAll();if(this.a.innerHTML=='More filter choices'){this.a.innerHTML='Back to short list';}else{this.a.innerHTML='More filter choices';}}
this.filter=filter;this.a=document.createElement('A');this.a.className='sal';this.a.innerHTML='More filter choices';this.a.href='#';this.a.saLink=this;EventsController.addEventListener(this.a,'click',ShowAllLink.click)
filter.ul.parentNode.appendChild(this.a);}
ShowAllLink.click=function(e)
{var a=EventsController.getTarg(e);if(!a){return;}
a.saLink.toggle();returnFalse(e);}
function Filter(jsonF,masterFilter,initFilters)
{this.init=function()
{return;}
this.isInitialized=function()
{return true;}
this.reset=function(masterFilter)
{for(var i=0;i<this.values.length;i++){this.values[i].reset(masterFilter);}
this.valueClicked();}
this.changeShowAll=function()
{if(this.showAll){DGStyles.removeClassName(this.ul,'sa');this.showAll=false;this.ul.style.height='auto';}else{DGStyles.addClassName(this.ul,'sa');this.showAll=true;if(!('maxHeight'in this.ul.style)){var stop=false,i=1;this.ul.style.height=i+'em';while(!stop&&(this.ul.scrollHeight>this.ul.offsetHeight)){i++;this.ul.style.height=i+'em';if(i>=18){stop=true;}}}}}
this.valueClicked=function(clicked)
{if(this.stateChanged()){Filter.activeFilter=this;MasterFilter.disableFilters(this);this.button.style.display='block';if(this.modifyButton){this.modifyButton.style.display='none';}
if((typeof clicked!='undefined')&&clicked){this.buttonFlash();}
DGStyles.addClassName(this.mfdiv,'inuse');this.masterFilter.setInUse(true);}else{Filter.activeFilter=null;MasterFilter.enableFilters();this.button.style.display='none';if(this.modifyButton){this.modifyButton.style.display='block';}
DGStyles.removeClassName(this.mfdiv,'inuse');this.masterFilter.setInUse(false);}}
this.buttonTurnOn=function()
{DGStyles.addClassName(this.button,'blink');this.button.type='submit';}
this.buttonTurnOff=function()
{this.button.type='button';DGStyles.removeClassName(this.button,'blink');}
this.buttonFlash=function()
{if(!document.cookie||(document.cookie=='')||(document.cookie.indexOf('noblinks')==-1)){if(this.buttonFlashCounter>0){this.buttonFlashCounter--;this.buttonForceFlash();}}}
this.buttonForceFlash=function()
{DGStyles.removeClassName(this.button,'blink');var FilterObj=this;setTimeout(function(){FilterObj.buttonFlashOff();},500);}
this.buttonFlashOff=function()
{DGStyles.addClassName(this.button,'blink');var FilterObj=this;}
this.stateChanged=function()
{for(var i=0;i<this.values.length;i++){if(this.values[i].stateChanged()){return true;}}
return false;}
this.disable=function(activeFilterName)
{if(typeof activeFilterName=='undefined'){activeFilterName='';}
if(activeFilterName!=''){this.msgInactiveDiv.innerHTML='You are currently editing '+activeFilterName+'.';}
else{this.msgInactiveDiv.innerHTML='You are currently editing another filter.';}
this.divD.style.height=this.divC.offsetHeight+'px';this.divC.appendChild(this.divD);}
this.enable=function()
{if(this.divD.parentNode&&this.divD.parentNode==this.divC){this.divC.removeChild(this.divD);}}
this.adjustHeight=function()
{if(this.divD.offsetHeight<50&&this.divD.offsetHeight>this.ul.offsetHeight){this.divC.style.height=(this.divD.offsetHeight+20)+'px';this.divD.style.height=(this.divD.offsetHeight+20)+'px';}}
this.showOnlyOne=function()
{DGStyles.addClassName(this.mfdiv,'onlyOne');}
this.hideOnlyOne=function()
{DGStyles.removeClassName(this.mfdiv,'onlyOne');}
this.id=jsonF.attributeid;this.filterName=jsonF.newname;this.mfdiv=masterFilter.div;if(masterFilter.filterContainer[this.id]){this.mfdiv=masterFilter.filterContainer[this.id];}
var h6=document.createElement('H6');var b=document.createElement('B');b.innerHTML=this.filterName;var input=document.createElement('INPUT');input.type='submit';input.name='f_'+jsonF.attributeid+'_current';input.value='Search';DGStyles.addClassName(input,'bg');DGStyles.addClassName(input,'imgtxt');h6.appendChild(b);this.mfdiv.appendChild(h6);this.button=input;this.button.style.display='none';this.divC=document.createElement('DIV');this.divC.className='fvCon';this.divC.style.position='relative';this.divD=document.createElement('DIV');this.divD.className='fvDis';this.divD.filter=this;this.msgInactiveDiv=document.createElement('DIV');this.msgInactiveDiv.innerHTML='You are currently editing another filter.';this.divD.appendChild(this.msgInactiveDiv);var msgP=document.createElement('DIV');msgP.innerHTML='Apply those changes to access this filter.';this.divD.appendChild(msgP);EventsController.addEventListener(this.divD,'click',Filter.showMsg);this.ul=document.createElement('UL');this.selectedValues=new Array();this.values=new Array();var sortArray=new Array();var categoryproducts=null;if((typeof jsonF.categoryproducts!='undefined')&&jsonF.categoryproducts){categoryproducts=jsonF.categoryproducts;}
for(var i=0;i<jsonF.values.length;i++){this.values[i]=new FilterValue(jsonF.values[i],this,categoryproducts);if(this.values[i].isChecked){this.selectedValues.push(this.values[i]);this.values[i].setShowFolded();}
else{sortArray[i]=[i,this.values[i].count];}}
if(this.selectedValues.length<5){if(sortArray.length>0){sortArray.sort(function(a,b){return b[1]-a[1]});for(i=0;i<Math.min(sortArray.length-this.selectedValues.length,5-this.selectedValues.length);i++){this.values[sortArray[i][0]].setShowFolded();}}}
this.divC.appendChild(this.ul);this.mfdiv.appendChild(this.divC);if((this.values.length>5)&&(this.values.length>this.selectedValues.length)){this.saLink=new ShowAllLink(this);this.showAll=false;}else{DGStyles.addClassName(this.ul,'all');this.showAll=true;if(this.selectedValues.length>1){var clearLink=document.createElement('A');clearLink.className='sal';clearLink.innerHTML='Clear All';clearLink.href='#';clearLink.filterID=this.id;EventsController.addEventListener(clearLink,'click',Filter.clearFilter)
this.divC.appendChild(clearLink);}}
this.modifyButton=null;h6.appendChild(this.button);this.masterFilter=masterFilter;if(initFilters){this.init();}
this.buttonFlashCounter=0;if((typeof jsonF.current=='undefined')&&!jsonF.current){this.buttonFlashCounter=1;}
var locStr=String(window.location);var pos=locStr.indexOf('f_'+this.id+'_current=Modify');if((pos>-1)&&(typeof this.saLink!='undefined')&&this.saLink){this.saLink.toggle();}
this.isSelected=false;if(jsonF.isSelected){this.isSelected=true;}}
Filter.clickModify=function(e)
{var aObj=EventsController.getTarg(e);if(aObj&&(typeof aObj.filter!='undefined')&&aObj.filter){var locStr=String(window.location);locStr=locStr.replace(/#.*$/,'');locStr=locStr.replace(/f_[0-9]+_current=[^&]*&?/ig,'');locStr+='&f_'+aObj.filter.id+'_current=Modify';window.location=locStr;}
returnFalse(e);}
Filter.clickModifyCurrent=function(e)
{var aObj=EventsController.getTarg(e);if(aObj&&(typeof aObj.filter!='undefined')&&aObj.filter){if((typeof aObj.filter.saLink!='undefined')&&aObj.filter.saLink){aObj.filter.saLink.toggle();}
aObj.filter.modifyButton.style.display='none';}
returnFalse(e);}
Filter.applyActiveFilter=function(e)
{Filter.activeFilter.button.click();returnFalse(e);}
Filter.resetActiveFilter=function(e)
{var b=EventsController.getTarg(e);if(b){var masterFilter=b.filter.masterFilter;}else{var masterFilter=null;}
Filter.activeFilter.reset(masterFilter);returnFalse(e);}
Filter.showMsg=function(e)
{var div=EventsController.getTarg(e);while(div.parentNode&&(!div.className||div.className.indexOf('fvDis')==-1)){div=div.parentNode;}
if(div&&div.className&&div.className.indexOf('fvDis')>-1){DGStyles.addClassName(div,'msgVis');div.filter.adjustHeight();EventsController.removeEventListener(div.filter.divD,'click',Filter.showMsg);EventsController.addEventListener(div.filter.divD,'click',Filter.hideMsg);if(Filter.activeFilter){Filter.activeFilter.buttonForceFlash();}}}
Filter.hideMsg=function(e)
{var div=EventsController.getTarg(e);while(div.parentNode&&(!div.className||div.className.indexOf('fvDis')==-1)){div=div.parentNode;}
if(div&&div.className&&div.className.indexOf('fvDis')>-1){DGStyles.removeClassName(div,'msgVis');div.filter.divC.style.height=null;div.filter.divD.style.height=div.filter.divC.offsetHeight+'px';EventsController.removeEventListener(div.filter.divD,'click',Filter.hideMsg);EventsController.addEventListener(div.filter.divD,'click',Filter.showMsg);}}
Filter.clearFilter=function(e)
{var aObj=EventsController.getTarg(e),i;if(aObj&&aObj.filterID){FilterValue.removeFilterSet('f_'+aObj.filterID);}
returnFalse(e);}
function FilterSlider(jsonF,masterFilter,initFilters)
{this.init=function()
{if(!this.initialized){if(this.sliderDiv&&this.pointers&&this.values){this.slider=new Slider(this.sliderDiv,this.pointers,this.values,this);for(var i=0;i<this.pointers.length;i++){if(this.pointers[i][1]&&(this.pointers[i][1]!='')&&this.formValues[this.pointers[i][1]]){this.slider.formValues[this.pointers[i][1]]=this.formValues[this.pointers[i][1]];}}
this.slider.setPointersStartPosition();}
this.initialized=true;}}
this.isInitialized=function()
{return this.initialized;}
this.reset=function(masterFilter)
{if(this.slider){this.slider.setPointersStartPosition();this.slider.savePointersPosition();}
this.valueChanged();}
this.valueChanged=function()
{if(this.stateChanged()){Filter.activeFilter=this;MasterFilter.disableFilters(this);this.button.style.display='block';this.buttonFlash();DGStyles.addClassName(this.mfdiv,'inuse');this.masterFilter.setInUse(true);}else{Filter.activeFilter=null;MasterFilter.enableFilters();this.button.style.display='none';DGStyles.removeClassName(this.mfdiv,'inuse');this.masterFilter.setInUse(false);}}
this.buttonTurnOn=function()
{DGStyles.addClassName(this.button,'blink');this.button.type='submit';}
this.buttonTurnOff=function()
{this.button.type='button';DGStyles.removeClassName(this.button,'blink');}
this.buttonFlash=function()
{if(!document.cookie||(document.cookie=='')||(document.cookie.indexOf('noblinks')==-1)){if(this.buttonFlashCounter>0){this.buttonFlashCounter--;this.buttonForceFlash();}}}
this.buttonForceFlash=function()
{DGStyles.removeClassName(this.button,'blink');var FilterObj=this;setTimeout(function(){FilterObj.buttonFlashOff();},500);}
this.buttonFlashOff=function()
{DGStyles.addClassName(this.button,'blink');var FilterObj=this;}
this.stateChanged=function()
{if(this.slider){var currPos,startPos;for(var i in this.slider.formValues){currPos=this.slider.getPosition(i,false);startPos=this.slider.getPosition(i,true);currPos=this.slider.getSnapedPoint(currPos,currPos,null);startPos=this.slider.getSnapedPoint(startPos,startPos,null);if(currPos!=startPos){return true;}}}
return false;}
this.disable=function(activeFilterName)
{if(typeof activeFilterName=='undefined'){activeFilterName='';}
if(activeFilterName!=''){this.msgInactiveDiv.innerHTML='You are currently editing '+activeFilterName+'.';}
else{this.msgInactiveDiv.innerHTML='You are currently editing another filter.';}
this.divD.style.height=this.divC.offsetHeight+'px';this.divC.appendChild(this.divD);if(this.slider){this.slider.switchPointersTip(false);}}
this.enable=function()
{if(this.divD.parentNode&&this.divD.parentNode==this.divC){this.divC.removeChild(this.divD);if(this.slider){this.slider.switchPointersTip(true);}}}
this.adjustHeight=function()
{if(this.divD.offsetHeight<50&&this.divD.offsetHeight>this.sliderContainerDiv.offsetHeight){this.divC.style.height=(this.divD.offsetHeight+20)+'px';this.divD.style.height=(this.divD.offsetHeight+20)+'px';}}
this.setResults=function(value)
{if(this.info){this.info.innerHTML='Maximum Results: <b>'+value+'</b>';}}
this.showOnlyOne=function()
{DGStyles.addClassName(this.mfdiv,'onlyOne');}
this.hideOnlyOne=function()
{DGStyles.removeClassName(this.mfdiv,'onlyOne');}
this.initialized=false;this.id=jsonF.attributeid;this.filterName=jsonF.newname;this.mfdiv=masterFilter.div;if(masterFilter.filterContainer[this.id]){this.mfdiv=masterFilter.filterContainer[this.id];}
var h6=document.createElement('H6');var b=document.createElement('B');b.innerHTML=this.filterName;var input=document.createElement('INPUT');input.type='submit';input.name='f_'+jsonF.attributeid+'_current';input.value='Search';DGStyles.addClassName(input,'bg');DGStyles.addClassName(input,'imgtxt');h6.appendChild(b);h6.appendChild(input);this.mfdiv.appendChild(h6);this.button=input;this.button.style.display='none';this.divC=document.createElement('DIV');this.divC.className='fvCon';this.divC.style.position='relative';this.divD=document.createElement('DIV');this.divD.className='fvDis';this.divD.filter=this;this.msgInactiveDiv=document.createElement('DIV');this.msgInactiveDiv.innerHTML='You are currently editing another filter.';this.divD.appendChild(this.msgInactiveDiv);var msgP=document.createElement('DIV');msgP.innerHTML='Apply those changes to access this filter.';this.divD.appendChild(msgP);EventsController.addEventListener(this.divD,'click',FilterSlider.showMsg);this.sliderContainerDiv=document.createElement('DIV');this.sliderContainerDiv.className='fvSli';this.formValues=new Array();if(jsonF.values.length>1){var sliderImageDiv=document.createElement('DIV');sliderImageDiv.className='image';this.sliderContainerDiv.appendChild(sliderImageDiv);if(jsonF.image&&(jsonF.image!='')){var sliderImage=document.createElement('IMG');sliderImage.src=jsonF.image;sliderImage.alt='';sliderImageDiv.appendChild(sliderImage);}
else{sliderImageDiv.style.height='15px';}
this.sliderDiv=document.createElement('DIV');this.sliderDiv.className='slider';this.sliderDiv.id='f_'+jsonF.attributeid+'_slider';this.sliderContainerDiv.appendChild(this.sliderDiv);this.divC.appendChild(this.sliderContainerDiv);this.mfdiv.appendChild(this.divC);this.values=new Array();for(var i=0;i<jsonF.values.length;i++){this.values[i]=new Array();this.values[i][0]=jsonF.values[i].displayvalue;this.values[i][1]=jsonF.values[i].absolutevalue;if(jsonF.values[i]._count){this.values[i][2]=jsonF.values[i]._count;}
else{this.values[i][2]=0;}}
this.pointers=new Array(new Array('red','min','',''),new Array('green','max','',''));for(var i=0;i<this.pointers.length;i++){if(this.pointers[i][1]&&(this.pointers[i][1]!='')){var hiddenInput=document.createElement('INPUT');hiddenInput.type='hidden';hiddenInput.name='f_'+jsonF.attributeid+'_'+this.pointers[i][1];hiddenInput.value='';if(jsonF.selectedValues&&jsonF.selectedValues[this.pointers[i][1]]){hiddenInput.value=jsonF.selectedValues[this.pointers[i][1]];}
hiddenInput.originalValue=hiddenInput.value;hiddenInput.filter=this;this.sliderContainerDiv.appendChild(hiddenInput);this.formValues[this.pointers[i][1]]=hiddenInput;}}
this.info=document.createElement('SPAN');this.info.className='info';this.info.innerHTML='Maximum Results: <b>'+jsonF.productsnumber+'</b>';this.divC.appendChild(this.info);}
else{this.sliderContainerDiv.innerHTML='Not available';if(jsonF.selectedValues){var i,hiddenInput;for(i in jsonF.selectedValues){hiddenInput=document.createElement('INPUT');hiddenInput.type='hidden';hiddenInput.name='f_'+jsonF.attributeid+'_'+i;hiddenInput.value=jsonF.selectedValues[i];hiddenInput.originalValue=hiddenInput.value;hiddenInput.filter=this;this.sliderContainerDiv.appendChild(hiddenInput);this.formValues[i]=hiddenInput;}}
this.divC.appendChild(this.sliderContainerDiv);this.mfdiv.appendChild(this.divC);}
this.isSelected=false;if(jsonF.isSelected){this.isSelected=true;var inputClear=document.createElement('A');inputClear.innerHTML='[clear filter]';inputClear.href="#";inputClear.className='cfl';inputClear.filter=this;EventsController.addEventListener(inputClear,'click',FilterSlider.clearFilter);this.divC.appendChild(inputClear);}
this.masterFilter=masterFilter;if(initFilters){this.init();}
this.buttonFlashCounter=0;if((typeof jsonF.current=='undefined')&&!jsonF.current){this.buttonFlashCounter=1;}}
FilterSlider.showMsg=function(e)
{var div=EventsController.getTarg(e);while(div.parentNode&&(!div.className||div.className.indexOf('fvDis')==-1)){div=div.parentNode;}
if(div&&div.className&&div.className.indexOf('fvDis')>-1){DGStyles.addClassName(div,'msgVis');div.filter.adjustHeight();EventsController.removeEventListener(div.filter.divD,'click',FilterSlider.showMsg);EventsController.addEventListener(div.filter.divD,'click',FilterSlider.hideMsg);if(Filter.activeFilter){Filter.activeFilter.buttonForceFlash();}}}
FilterSlider.hideMsg=function(e)
{var div=EventsController.getTarg(e);while(div.parentNode&&(!div.className||div.className.indexOf('fvDis')==-1)){div=div.parentNode;}
if(div&&div.className&&div.className.indexOf('fvDis')>-1){DGStyles.removeClassName(div,'msgVis');div.filter.divC.style.height=null;div.filter.divD.style.height=div.filter.divC.offsetHeight+'px';EventsController.removeEventListener(div.filter.divD,'click',FilterSlider.hideMsg);EventsController.addEventListener(div.filter.divD,'click',FilterSlider.showMsg);}}
FilterSlider.clearFilter=function(e)
{var b=EventsController.getTarg(e),i;if(b){var currentFilter=b.filter;if(currentFilter.formValues){for(i in currentFilter.formValues){currentFilter.formValues[i].value='';}}
currentFilter.button.form.submit();}}
function MasterFilter(jsonMF,mfId,parentNode,containerNode)
{this.open=function(filterID,asSet)
{if(typeof filterID=='undefined'){filterID=0;}
if(typeof asSet=='undefined'){asSet=false;}
this.onlyOneFilter=filterID;this.initFilters=true;if(this.isVisible&&!asSet){return;}
if(!this.valuesLoaded){this.loadValuesSequentially();}
else{for(var i=0;i<this.filters.length;i++){if(this.filters[i].id==this.onlyOneFilter){this.filters[i].showOnlyOne();}
else{if(!asSet){this.filters[i].hideOnlyOne();}}}}
this.isVisible=true;if(this.onlyOneFilter==0){DGStyles.removeClassName(this.div,'oneFltr');DGStyles.removeClassName(this.div,'closed');DGStyles.addClassName(this.menuItem,'selected');DGStyles.addClassName(this.divAll,'closed');}
else{DGStyles.removeClassName(this.div,'closed');DGStyles.addClassName(this.div,'oneFltr');if(asSet){DGStyles.addClassName(this.divAll,'closed');}
else{DGStyles.removeClassName(this.divAll,'closed');}}
for(var i=0;i<this.filters.length;i++){if(((this.onlyOneFilter==0)||(this.filters[i].id==this.onlyOneFilter))&&!this.filters[i].isInitialized()){this.filters[i].init();}}
if(!asSet){this.closeOtherFilters();var pos=getItemsVPos(this.div);scrollPos=getScrollPos();if(pos<scrollPos[1]){window.scroll(scrollPos[0],pos);}}
if(this.valuesLoaded&&Filter.activeFilter){this.disableFilters(Filter.activeFilter);}}
this.isOpened=function()
{return this.isVisible;}
this.closeOtherFilters=function()
{for(var i=0;i<MasterFilter.masterFilters.length;i++){if(MasterFilter.masterFilters[i]!=this)
{MasterFilter.masterFilters[i].close();}}}
this.close=function()
{if(!this.isVisible){return;}
this.isVisible=false;DGStyles.removeClassName(this.div,'oneFltr');DGStyles.addClassName(this.div,'closed');DGStyles.removeClassName(this.menuItem,'selected');DGStyles.addClassName(this.divAll,'closed');for(var i=0;i<this.filters.length;i++){this.filters[i].hideOnlyOne();}}
this.loadValuesSequentially=function()
{var aObj;if(!this.valuesLoaded){this.valuesLoaded=true;for(var i=0;i<this.filterNames.length;i++){this.filterContainer[this.filterNames[i].id]=document.createElement('DIV');DGStyles.addClassName(this.filterContainer[this.filterNames[i].id],'filter');if(this.onlyOneFilter>0){if(this.filterNames[i].id==this.onlyOneFilter){DGStyles.addClassName(this.filterContainer[this.filterNames[i].id],'onlyOne');}}
aObj=document.createElement('A');aObj.name='fltranch'+this.filterNames[i].id;this.filterContainer[this.filterNames[i].id].appendChild(aObj);this.div.appendChild(this.filterContainer[this.filterNames[i].id]);this.loadValues(this.filterNames[i].id);}}}
this.loadValues=function(attributeID)
{if(typeof attributeID=="undefined"){attributeID=0;}
this.div.style.cursor='wait';DGStyles.addClassName(this.div,'loading');var httpReq=Ajax.getNewHttpRequest();if((typeof httpReq!='object')&&httpReq==false){return;}
var url=window.location+"";url=url.replace(/#.*$/,'');var appendUrl="";if(attributeID>0){if(url.indexOf('?')>-1){appendUrl='&attrId='+attributeID;}else{appendUrl='?attrId='+attributeID;}}else{if(url.indexOf('?')>-1){appendUrl='&mfId='+this.mfId;}else{appendUrl='?mfId='+this.mfId;}}
var masterFilter=this;httpReq.onreadystatechange=function(){var hr=httpReq;var mf=masterFilter;AjaxFilters.mfValuesStateChanged(hr,mf);};if(url.search(AjaxFilters.urlRegExp)!=-1){httpReq.open('GET',url.replace(AjaxFilters.urlRegExp,'AjaxFilters/getMFValues'+AjaxFilters.urlAdd)+appendUrl,true);httpReq.send(' ');}
if(url.search(AjaxFilters.urlRegExpSolr)!=-1){httpReq.open('GET',url.replace(AjaxFilters.urlRegExpSolr,'AjaxFilters/getMFValues')+appendUrl,true);httpReq.send(' ');}}
this.disableFilters=function(activeFilter,setNA)
{if(typeof setNA=='undefined'){setNA=false;}
if(setNA){this.setNA(true);}
var activeFilterName='';if((typeof activeFilter.filterName!='undefined')&&activeFilter.filterName){activeFilterName=activeFilter.filterName;}
for(var i=0;i<this.filters.length;i++)
{if(this.filters[i]!=activeFilter){this.filters[i].disable(activeFilter.filterName);}}}
this.enableFilters=function()
{this.setNA(false);for(var i=0;i<this.filters.length;i++)
{this.filters[i].enable();}}
this.setNA=function(setNA)
{if(setNA){DGStyles.addClassName(this.menuItem,'na');}else{DGStyles.removeClassName(this.menuItem,'na');}}
this.createValues=function(jsonF)
{var i,j,doInit;for(i=0;i<jsonF.length;i++){if(jsonF[i].values.length>0){j=this.filters.length;doInit=this.initFilters;if((this.onlyOneFilter>0)&&(jsonF[i].attributeid!=this.onlyOneFilter)){doInit=false;}
if(jsonF[i].slider&&(jsonF[i].slider==1)&&jsonF[i].values.length>2){this.filters[j]=new FilterSlider(jsonF[i],this,doInit);}
else{this.filters[j]=new Filter(jsonF[i],this,doInit);}}}
this.valuesLoaded=true;this.valuesCreated=true;this.div.style.cursor='default';DGStyles.removeClassName(this.div,'loading');if(Filter.activeFilter){this.disableFilters(Filter.activeFilter);}}
this.setInUse=function(inuse)
{if(inuse){DGStyles.addClassName(this.div,'inuse');}
else{DGStyles.removeClassName(this.div,'inuse');}}
this.initFilters=false;this.filterContainer=new Array();this.menuItem=document.createElement('DIV');DGStyles.addClassName(this.menuItem,'mi');this.div=document.createElement('DIV');DGStyles.addClassName(this.div,'mFltrC');this.div.masterFilter=this;var divLoader=document.createElement('DIV');DGStyles.addClassName(divLoader,'loader');this.div.appendChild(divLoader);this.isCurrent=false;this.isPopular=false;this.mfId=mfId;this.valuesLoaded=false;this.valuesCreated=false;this.stateChanged=false;this.isVisible=false;this.filters=new Array();this.filterNames=new Array();this.menuItem.masterFilter=this;if(navigator.appVersion.indexOf("MSIE")!=-1){this.menuItem.style.cursor='hand';}else{this.menuItem.style.cursor='pointer';}
EventsController.addEventListener(this.menuItem,'click',MasterFilter.toogleVisibility);this.title=jsonMF.name;this.menuItem.innerHTML=this.title;for(var i=0;i<jsonMF.filters.length;i++){var filterName=new Array();filterName.name=jsonMF.filters[i].newname;filterName.id=jsonMF.filters[i].attributeid;this.filterNames[this.filterNames.length]=filterName;}
var tipText='Subfilters: ',maxElem=3;if(jsonMF.filters.length<maxElem){maxElem=jsonMF.filters.length}
for(var i=0;i<maxElem;i++){if(i>0){tipText+=' \u2022 ';}
tipText+=jsonMF.filters[i].newname;}
if(jsonMF.filters.length>maxElem){tipText+=' ...';}
this.menuItem.title=tipText;if(this.title.indexOf('Most Popular Filters')>-1){this.isPopular=true;}
if(jsonMF.current){this.isCurrent=true;}
this.close();if(parentNode){parentNode.appendChild(this.menuItem);}
containerNode.appendChild(this.div);DGStyles.addClassName(this.div,'closed');this.divAll=document.createElement('DIV');DGStyles.addClassName(this.divAll,'oneFltrLink');DGStyles.addClassName(this.divAll,'closed');this.divAll.innerHTML='See all filters in the group: '+this.title;this.divAll.masterFilter=this;this.divAll.fltrhash='top';EventsController.addEventListener(this.divAll,'click',MasterFilter.toogleVisibility);containerNode.appendChild(this.divAll);if(jsonMF.isSelected){this.loadValuesSequentially();}
this.fltrhash='';this.onlyOneFilter=0;}
MasterFilter.toogleVisibility=function(e)
{var evTarg=EventsController.getTarg(e);if(!evTarg){return;}
var masterFilter=evTarg.masterFilter;if(masterFilter){if(masterFilter.isVisible){masterFilter.close();}
masterFilter.open();}}
MasterFilter.switchFilter=function(e)
{var evTarg=EventsController.getTarg(e);if(!evTarg){return;}
var masterFilter=evTarg.masterFilter;if(masterFilter){if((typeof evTarg.fltrhash!='undefined')&&evTarg.fltrhash){window.location.hash='#'+evTarg.fltrhash;}
if(masterFilter.isVisible){masterFilter.close();}
if((typeof evTarg.filterID!='undefined')&&evTarg.filterID){masterFilter.open(evTarg.filterID);}
else{masterFilter.open();}}}
MasterFilter.disableFilters=function(activeFilter)
{for(var i=0;i<MasterFilter.masterFilters.length;i++){MasterFilter.masterFilters[i].disableFilters(activeFilter,true);}
activeFilter.masterFilter.setNA(false);}
MasterFilter.enableFilters=function()
{for(var i=0;i<MasterFilter.masterFilters.length;i++){MasterFilter.masterFilters[i].enableFilters();}}
function MasterFilterPrice(parentNode,containerNode)
{this.open=function()
{if(this.isVisible){return;}
this.isVisible=true;DGStyles.removeClassName(this.div,'closed');DGStyles.addClassName(this.menuItem,'selected');this.closeOtherFilters();var pos=getItemsVPos(this.div);scrollPos=getScrollPos();if(pos<scrollPos[1]){window.scroll(scrollPos[0],pos);}
if(Filter.activeFilter){this.disableFilters(Filter.activeFilter);}}
this.isOpened=function()
{return this.isVisible;}
this.closeOtherFilters=function()
{for(var i=0;i<MasterFilter.masterFilters.length;i++){if(MasterFilter.masterFilters[i]!=this)
{MasterFilter.masterFilters[i].close();}}}
this.close=function()
{if(!this.isVisible){return;}
this.isVisible=false;DGStyles.addClassName(this.div,'closed');DGStyles.removeClassName(this.menuItem,'selected');}
this.disableFilters=function(activeFilter,setNA)
{if(typeof setNA=='undefined'){setNA=false;}
if(setNA){this.setNA(true);}}
this.enableFilters=function()
{this.setNA(false);}
this.setNA=function(setNA)
{if(setNA){DGStyles.addClassName(this.menuItem,'na');}else{DGStyles.removeClassName(this.menuItem,'na');}}
this.menuItem=document.createElement('DIV');DGStyles.addClassName(this.menuItem,'mi');this.div=document.getElementById('fPrice');this.div.masterFilter=this;this.isPopular=false;this.stateChanged=false;this.isVisible=false;this.menuItem.masterFilter=this;if(navigator.appVersion.indexOf("MSIE")!=-1){this.menuItem.style.cursor='hand';}else{this.menuItem.style.cursor='pointer';}
EventsController.addEventListener(this.menuItem,'click',MasterFilter.toogleVisibility);this.title='Price';this.menuItem.innerHTML=this.title;this.close();if(parentNode){parentNode.appendChild(this.menuItem);}
containerNode.appendChild(this.div);DGStyles.addClassName(this.div,'closed');}
function MasterFilterYour(parentNode,containerNode)
{this.open=function()
{if(this.isVisible){return;}
this.isVisible=true;DGStyles.addClassName(this.menuItem,'selected');this.closeOtherFilters();for(var i=0;i<MasterFilter.masterFilters.length;i++){if((typeof MasterFilter.masterFilters[i].filters!='undefined')&&MasterFilter.masterFilters[i].filters){if(MasterFilter.masterFilters[i].isVisible){MasterFilter.masterFilters[i].close();}
for(var j=0;j<MasterFilter.masterFilters[i].filters.length;j++){if(MasterFilter.masterFilters[i].filters[j].isSelected){MasterFilter.masterFilters[i].open(MasterFilter.masterFilters[i].filters[j].id,true);}}}}}
this.isOpened=function()
{return this.isVisible;}
this.closeOtherFilters=function()
{for(var i=0;i<MasterFilter.masterFilters.length;i++){if(MasterFilter.masterFilters[i]!=this)
{MasterFilter.masterFilters[i].close();}}}
this.close=function()
{if(!this.isVisible){return;}
this.isVisible=false;DGStyles.removeClassName(this.menuItem,'selected');}
this.disableFilters=function(activeFilter,setNA)
{if(typeof setNA=='undefined'){setNA=false;}
if(setNA){this.setNA(true);}}
this.enableFilters=function()
{this.setNA(false);}
this.setNA=function(setNA)
{if(setNA){DGStyles.addClassName(this.menuItem,'na');}else{DGStyles.removeClassName(this.menuItem,'na');}}
this.menuItem=document.createElement('DIV');DGStyles.addClassName(this.menuItem,'mi');this.isPopular=false;this.stateChanged=false;this.isVisible=false;this.menuItem.masterFilter=this;if(navigator.appVersion.indexOf("MSIE")!=-1){this.menuItem.style.cursor='hand';}else{this.menuItem.style.cursor='pointer';}
EventsController.addEventListener(this.menuItem,'click',MasterFilter.toogleVisibility);this.title='Your Filters';this.menuItem.innerHTML=this.title;this.close();if(parentNode){parentNode.appendChild(this.menuItem);}}
function AjaxFilters()
{}
AjaxFilters.urlRegExp=/catalog/i;AjaxFilters.urlRegExpSolr=/Index\/search-solr/i;AjaxFilters.urlAdd='/byID';AjaxFilters.loaded=false;AjaxFilters.noprice=false;AjaxFilters.clearTimeout=function()
{AjaxFilters.loaded=true;}
AjaxFilters.createMasterFilters=function(jsonMFs)
{MasterFilter.masterFilters=new Array();divFilters=document.getElementById('fc');if(!divFilters){if(!AjaxFilters.loaded){AjaxFilters.timeout=setTimeout(function(){AjaxFilters.createMasterFilters(jsonMFs);},50);}
return;}
DGStyles.addClassName(divFilters,'js');var ftabsObj=document.getElementById('mFilter');var mfcDivObj=document.getElementById('mfc');if(!mfcDivObj){mfcDivObj=document.createElement('DIV');mfcDivObj.id='mfc';divFilters.appendChild(mfcDivObj);}
var mfPriceAdded=false;var mfYourFilters=null;var mfYourFiltersAdded=false;for(jsonMfId in jsonMFs){if(jsonMFs[jsonMfId].isSelected){mfYourFiltersAdded=true;}}
if(mfYourFiltersAdded){var i=MasterFilter.masterFilters.length;MasterFilter.masterFilters[i]=new MasterFilterYour(ftabsObj,mfcDivObj);mfYourFilters=MasterFilter.masterFilters[i];}
for(jsonMfId in jsonMFs){MasterFilter.masterFilters[MasterFilter.masterFilters.length]=new MasterFilter(jsonMFs[jsonMfId],jsonMfId,ftabsObj,mfcDivObj);}
if(MasterFilter.masterFilters.length==1){MasterFilter.masterFilters[0].open();}
var i,opened=false;for(i=0;i<MasterFilter.masterFilters.length;i++){if(MasterFilter.masterFilters[i].isCurrent){MasterFilter.masterFilters[i].open();}
if(MasterFilter.masterFilters[i].isOpened()){opened=true;}}
if(!opened){for(i=0;i<MasterFilter.masterFilters.length;i++){if(MasterFilter.masterFilters[i].isPopular){MasterFilter.masterFilters[i].open();}
if(MasterFilter.masterFilters[i].isOpened()){opened=true;}}}
if(!opened&&MasterFilter.masterFilters.length>=1){MasterFilter.masterFilters[0].open();}
var j,filterElem,allFilterNames=new Array();for(i=0;i<MasterFilter.masterFilters.length;i++){if(MasterFilter.masterFilters[i].filterNames){for(j=0;j<MasterFilter.masterFilters[i].filterNames.length;j++){filterElem=MasterFilter.masterFilters[i].filterNames[j];filterElem.masterFilter=i;allFilterNames[allFilterNames.length]=filterElem;}}}
if(allFilterNames.length>0){allFilterNames.sort(arraySortByName);var divTitObj=document.createElement('DIV');divTitObj.innerHTML='LIST OF ALL FILTERS';DGStyles.addClassName(divTitObj,'tit');mfcDivObj.appendChild(divTitObj);var listFiltersObj=document.createElement('DIV');listFiltersObj.className='lstFltr';var divObj;for(i=0;i<allFilterNames.length;i++){divObj=document.createElement('DIV');divObj.innerHTML=allFilterNames[i].name;divObj.masterFilter=MasterFilter.masterFilters[allFilterNames[i].masterFilter];divObj.filterID=allFilterNames[i].id;divObj.fltrhash='top';listFiltersObj.appendChild(divObj);EventsController.addEventListener(divObj,'click',MasterFilter.switchFilter);}
mfcDivObj.appendChild(listFiltersObj);}
var bpF=document.getElementById('buttonpriceF');EventsController.addEventListener(bpF,'click',AjaxFilters.priceFilterClicked);}
AjaxFilters.priceFilterClicked=function(e)
{if(Filter.activeFilter&&Filter.activeFilter!=null){Filter.activeFilter.button.click();returnFalse(e);}}
AjaxFilters.reqStateChanged=function(httpRequest)
{if(httpRequest.readyState==4){if(httpRequest.status==200){var response=httpRequest.responseText.replace(/^\s+|\s+$/g,'');if(response.length>0){var jsonResponse=JSON.parse(response);if((typeof(jsonResponse.DGLogID)!='undefined')&&(typeof(jsonResponse.SID)!='undefined')){dglog(jsonResponse.DGLogID,jsonResponse.SID,true);}
if(jsonResponse.res){AjaxFilters.createMasterFilters(jsonResponse.res);}
else{}}else{}}else{}}}
AjaxFilters.mfValuesStateChanged=function(httpRequest,masterFilter)
{if(httpRequest.readyState==4){if(httpRequest.status==200){var response=httpRequest.responseText.replace(/^\s+|\s+$/g,'');if(response.length>0){var jsonResponse=JSON.parse(response);if((typeof(jsonResponse.DGLogID)!='undefined')&&(typeof(jsonResponse.SID)!='undefined')){dglog(jsonResponse.DGLogID,jsonResponse.SID,true);}
if(jsonResponse.res){masterFilter.createValues(jsonResponse.res);}
else{}}else{}}else{}}}
AjaxFilters.downloadMasterFilters=function()
{var httpReq=Ajax.getNewHttpRequest();if((typeof httpReq!='object')&&httpReq==false){return;}
httpReq.onreadystatechange=function(){AjaxFilters.reqStateChanged(httpReq);};var url=window.location+"";url=url.replace(/#.*$/,'');if(url.search(AjaxFilters.urlRegExp)!=-1){httpReq.open('GET',url.replace(AjaxFilters.urlRegExp,'AjaxFilters/getMasterFilters'+AjaxFilters.urlAdd),true);httpReq.send(' ');}
if(url.search(AjaxFilters.urlRegExpSolr)!=-1){httpReq.open('GET',url.replace(AjaxFilters.urlRegExpSolr,'AjaxFilters/getMasterFilters'),true);httpReq.send(' ');}}
AjaxFilters.submitWithSort=function(select)
{var locStr=String(window.location);locStr=locStr.replace(/#.*$/,'');locStr=locStr.replace(/change=sort&?/i,'');locStr=locStr.replace(/sortBy=[^&]+&?/i,'');locStr=locStr.replace(/(\?|&)$/,'');if(locStr.indexOf('?')>-1){window.location=locStr+'&change=sort&sortBy='+select.value;}else{window.location=locStr+'?change=sort&sortBy='+select.value;}}
AjaxFilters.submitWithPageSize=function(select)
{var locStr=String(window.location);locStr=locStr.replace(/#.*$/,'');locStr=locStr.replace(/change=sort&?/i,'');locStr=locStr.replace(/(\?|&)$/,'');if(locStr.indexOf('?')>-1){window.location=locStr+'&change=sort&pageSize='+select.value;}else{window.location=locStr+'?change=sort&pageSize='+select.value;}}
AjaxFilters.setGuide=function(catID,filterID)
{AjaxFilters.noprice=true;AjaxFilters.urlRegExp=/Index\/buyerGuide/i;AjaxFilters.urlAdd='/byID/'+catID+'/onefilter/'+filterID;}
EventsController.registerOnLoadEvent(AjaxFilters.clearTimeout);
