function filterPanel(f,s){var k=this;if(typeof f=="object"){if(typeof f.length!="undefined"){var s=f;var f=new Object()}else{var f=f;var s=(typeof s!="object"||!s)?new Array():(typeof s.length=="undfined")?new Array():s}}else{var f=new Object();var s=(typeof s!="object"||!s)?new Array():(typeof s.length=="undfined")?new Array():s}var h=Math.ceil(Math.random()*10000000);var i=(typeof f.id!="string"||!f.id)?"filter"+h:f.id;k.id=i;var o=(typeof f.filterClass!="string"||!f.filterClass)?"filter":f.filterClass;k.filterClass=o;var n=(typeof f.prefix!="string"||!f.prefix)?"f_":f.prefix;k.prefix=n;var t=(typeof f.img!="string"||!f.img)?"images/blank.gif":f.img;k.img=t;var j=(typeof f.width!="number"||!f.width)?253:f.width;k.width=j;var g=(typeof f.minWidth!="number"||!f.minWidth)?44:f.minWidth;k.minWidth=g;k.ErrorLog=new Array();k.ErrorLogCounter=0;function c(u){return document.getElementById(u)}function q(z,u,y){u=" "+u+" ";var w=[];for(var v=0;z[v];v++){var x=(" "+z[v].className+" ").indexOf(u)>=0;if(y^x){w.push(z[v])}}return w}var d=true;var m=new Array();var r=document.createElement("DIV");var l=document.createElement("IMG");var a;var b=false;function p(){var v='<div class="'+n+'wrap"><div class="'+n+'wrap-cont" id="f_wrap-cont'+h+'"><table class="'+n+'wrap-table" cellpadding="0" cellspacing="0" border="0"><tr><td class="'+n+'wrap-top-left">&nbsp;</td><td class="'+n+'wrap-top-right">&nbsp;</td></tr><tr><td class="'+n+'wrap-left" id="f_wrap-left'+h+'"><img src="'+t+'" alt="Фильтр" /></td><td class="'+n+'wrap-center"><div class="'+n+'cont"><div class="'+n+'cont-center"><div id="f_slider'+h+'"></div><form class="'+n+'form" id="f_form'+h+'" onsubmit="return false" action="#" method="post" enctype="application/x-www-form-urlencoded"></form></div></div></td></tr><tr><td class="'+n+'wrap-bottom-left">&nbsp;</td><td class="'+n+'wrap-bottom-right">&nbsp;</td></tr></table></div></div>';var u=r.cloneNode(true);document.getElementsByTagName("body")[0].appendChild(u);u.id=i;u.className=o;u.innerHTML=v;c("f_wrap-left"+h).onclick=function(){if(a||typeof a!="undefined"){clearInterval(a)}var w=c("f_wrap-cont"+h);if(!w.style.width){var x=g}else{x=parseInt(w.style.width)}var y=1;b=!b;a=setInterval(function(){if(b){if(x+y<j){x+=y;y+=10;w.style.width=x+"px"}else{w.style.width=j+"px";clearInterval(a)}}else{if(x-y>g){x-=y;y+=10;w.style.width=x+"px"}else{w.style.width=g+"px";clearInterval(a)}}},35)}}k.create=function(){if(s.length!=0){for(var A=0;A<s.length;A++){var H=0;if((typeof s[A].slider=="object")&&(typeof s[A].name=="string")){if(typeof s[A].slider.step=="number"){if((typeof s[A].slider.obj=="object")&&(typeof s[A].slider.obj.length!="undefined")){for(var y=0;y<s[A].slider.obj.length;y++){if((typeof s[A].slider.obj[y].id=="string")&&(typeof s[A].slider.obj[y].value=="number")){if(c(s[A].slider.obj[y].id)){H++}}}}}}if(H){if(H==s[A].slider.obj.length){if(d){p();d=false}var F=s[A].slider.obj[0].value;var C=s[A].slider.obj[0].value;for(var x=1;x<s[A].slider.obj.length;x++){if(s[A].slider.obj[x].value<F){F=s[A].slider.obj[x].value}if(s[A].slider.obj[x].value>C){C=s[A].slider.obj[x].value}}var E=r.cloneNode(true);var D=m.length;E.innerHTML='<div class="'+n+'lider-name">'+s[A].name+'</div><div id="DoubleTrack-'+D+h+'" class="'+n+'slider-body"><div id="DoubleTrack-'+D+h+'-Tracker" class="'+n+'slider-tracker"><img src="'+t+'" alt="<=" class="'+n+'stl" /><img src="'+t+'" alt="=>" class="'+n+'str" /><span class="'+n+'st-text-l" id="DoubleTrack-'+D+h+'-LeftText"></span><span class="'+n+'st-text-r" id="DoubleTrack-'+D+h+'-RightText"></span></div></div>';"";c("f_slider"+h).appendChild(E);for(var w=0;w<s[A].slider.obj.length;w++){if(typeof c(s[A].slider.obj[w].id).sliderFlag=="undefined"){c(s[A].slider.obj[w].id).sliderFlag=new Array();c(s[A].slider.obj[w].id).sliderFlag[0]=true}else{c(s[A].slider.obj[w].id).sliderFlag[D]=true}}m[D]=new cDoubleTrackBar("DoubleTrack-"+D+h,"DoubleTrack-"+D+h+"-Tracker",{OnUpdate:function(){if(!(this.MinPos%this.step)||this.MinPos==this.Min||this.MinPos==this.Max){this.PanelMinPos=this.MinPos}if(!(this.MaxPos%this.step)||this.MaxPos==this.Min||this.MaxPos==this.Max){this.PanelMaxPos=this.MaxPos}if(this.DoubleTrackLeftText&&this.DoubleTrackRightText){c(this.DoubleTrackLeftText).innerHTML=this.PanelMinPos;c(this.DoubleTrackRightText).innerHTML=this.PanelMaxPos}for(var J in this.fix){this.fix[J].style.left=(this.TrackerRight-this.TrackerLeft)+"px"}for(var I=0;I<this.dataArray.slider.obj.length;I++){if(c(this.dataArray.slider.obj[I].id)){var K=c(this.dataArray.slider.obj[I].id);K.sliderFlag[this.sliderIndex]=true;if(this.dataArray.slider.obj[I].value<this.PanelMinPos){K.sliderFlag[this.sliderIndex]=false}else{if(this.dataArray.slider.obj[I].value>this.PanelMaxPos){K.sliderFlag[this.sliderIndex]=false}}}}e(this.dataArray.slider.obj)},Min:F,Max:C,FingerOffset:0,MinSpace:0,RoundTo:1,Margins:10,DoubleTrackLeftText:"DoubleTrack-"+D+h+"-LeftText",DoubleTrackRightText:"DoubleTrack-"+D+h+"-RightText",dataArray:s[A],sliderIndex:D,prefix:n});m[D].AutoHairline(6);m[D].fix=new Array();m[D].fix[0]=q(m[D].Tracker.getElementsByTagName("*"),n+"str")[0];m[D].fix[1]=q(m[D].Tracker.getElementsByTagName("*"),n+"st-text-r")[0];m[D].step=s[A].slider.step}else{k.ErrorLog[k.ErrorLogCounter]="Ошибка в вводе данных по слайдеру";k.ErrorLogCounter++}}else{k.ErrorLog[k.ErrorLogCounter]="Слайдера не имеется";k.ErrorLogCounter++}var G=0;if((typeof s[A].checkbox=="object")&&(typeof s[A].name=="string")){if(typeof s[A].checkbox.checked=="boolean"){if((typeof s[A].checkbox.obj=="object")&&(typeof s[A].checkbox.obj.length!="undefined")){for(var y=0;y<s[A].checkbox.obj.length;y++){if((typeof s[A].checkbox.obj[y].id=="string")&&(typeof s[A].checkbox.obj[y].value=="boolean")){if(c(s[A].checkbox.obj[y].id)){G++;c(s[A].checkbox.obj[y].id).checkboxFlag=0}}}}}}if(G){if(G==s[A].checkbox.obj.length){if(d){p();d=false}var z=r.cloneNode(true);if(s[A].checkbox.checked){z.innerHTML='<label for="checkBox"><input type="checkbox" name="checkBox'+Math.ceil(Math.random()*100000)+'" value="'+A+'" checked="checked" /><span>'+s[A].name+"</span></label>"}else{z.innerHTML='<label for="checkBox"><input type="checkbox" name="checkBox'+Math.ceil(Math.random()*100000)+'" value="'+A+'" /><span>'+s[A].name+"</span></label>"}c("f_form"+h).appendChild(z);var B=z.getElementsByTagName("input")[0];B.style.display="none";B.id="checkbox"+A+h;B.value=A;var v=l.cloneNode(true);B.parentNode.insertBefore(v,B.nextSibling);v.setAttribute("src",t);if(s[A].checkbox.checked){v.className=n+"checkbox-on";v.id=B.id+"_img";for(var u=0;u<s[A].checkbox.obj.length;u++){if(!s[A].checkbox.obj[u].value){c(s[A].checkbox.obj[u].id).checkboxFlag++}}e(s[A].checkbox.obj)}else{v.className=n+"checkbox-off";v.id=B.id+"_img"}v.onclick=function(){var J=this.id.substring(0,this.id.indexOf("_img"));var I=parseInt(c(J).value);if(c(J).checked){c(J).checked=false;this.className=n+"checkbox-off";for(var K=0;K<s[I].checkbox.obj.length;K++){if(!s[I].checkbox.obj[K].value){if(c(s[I].checkbox.obj[K].id).checkboxFlag){c(s[I].checkbox.obj[K].id).checkboxFlag--}}}}else{c(J).checked=true;this.className=n+"checkbox-on";for(var K=0;K<s[I].checkbox.obj.length;K++){if(!s[I].checkbox.obj[K].value){c(s[I].checkbox.obj[K].id).checkboxFlag++}}}e(s[I].checkbox.obj)}}else{k.ErrorLog[k.ErrorLogCounter]="Ошибка в вводе данных по checkbox";k.ErrorLogCounter++}}else{k.ErrorLog[k.ErrorLogCounter]="Checkbox не имеется";k.ErrorLogCounter++}}}else{k.ErrorLog[k.ErrorLogCounter]="Не введено никаких данных, поэтому панель не будет создана.";k.ErrorLogCounter++}};function e(x){for(var w=0;w<x.length;w++){var v=c(x[w].id);if(v.checkboxFlag){v.style.display="none"}else{v.style.display="block";for(var u=0;u<v.sliderFlag.length;u++){if(!v.sliderFlag[u]){v.style.display="none";break}}}}}}function cDoubleTrackBar(c,a,b){switch(typeof c){case"string":this.Track=document.getElementById(c);break;case"object":this.Track=c;break}switch(typeof a){case"string":this.Tracker=document.getElementById(a);break;case"object":this.Tracker=a;break}if(!c||!a){return false}this.OnUpdate=b.OnUpdate;this.OnComplete=b.OnComplete;this.FingerOffset=b.FingerOffset||0;this.FormatNumbers=b.FormatNumbers||false;this.Min=b.Min||0;this.Max=b.Max||100;this.MinSpace=b.MinSpace||0;this.RoundTo=b.RoundTo||1;this.Margins=b.Margins||0;this.AllowedValues=b.AllowedValues||false;this.Disabled=(typeof b.Disabled!="undefined")?b.Disabled:false;this.DoubleTrackLeftText=b.DoubleTrackLeftText;this.DoubleTrackRightText=b.DoubleTrackRightText;this.dataArray=b.dataArray;this.sliderIndex=b.sliderIndex;this.prefix=b.prefix;if(this.Min>=this.Max){this.Max=this.Min+1}this.MinPos=this.Min;this.MaxPos=this.Max;if(this.Max-this.Min<this.MinSpace){this.MinSpace=this.Max-this.Min}if(this.Max-this.Min<this.RoundTo){this.RoundTo=this.Max-this.Min}this.MinSpace=Math.ceil(this.MinSpace/this.RoundTo)*this.RoundTo;this.Track.style.width=(this.Track.clientWidth||this.Track.offsetWidth)+"px";this.OnTrackMouseDown=this.bindAsEventListener(this.TrackMouseDown);this.OnDocumentMouseMove=this.bindAsEventListener(this.DocumentMouseMove);this.OnDocumentMouseUp=this.bindAsEventListener(this.DocumentMouseUp);this.bindEvent(this.Track,"mousedown",this.OnTrackMouseDown);this.TrackerLeft=0;this.UpdateTracker(this.Track.offsetWidth+this.FingerOffset);if(typeof this.OnUpdate=="function"){this.OnUpdate.call(this)}}cDoubleTrackBar.prototype={TrackMouseDown:function(a){this.TrackerLeft=this.Tracker.offsetLeft-this.Margins;this.TrackerRight=this.TrackerLeft+this.Tracker.offsetWidth;this.TrackerOffsets=this.getOffsets(this.Track);var b=a.clientX+document.documentElement.scrollLeft;b-=this.TrackerOffsets[0];this.Left=Math.abs(this.TrackerLeft-b+this.Margins)<=Math.abs(this.TrackerRight-b+this.Margins);if(typeof this.Disabled=="function"){if(this.Disabled.call(this)){return true}}else{if(this.Disabled){return true}}this.UpdateTracker(b);this.bindEvent(document,"mousemove",this.OnDocumentMouseMove);this.bindEvent(document,"mouseup",this.OnDocumentMouseUp);return this.stopEvent(a)},DocumentMouseMove:function(a){this.UpdateTracker(a.clientX+document.documentElement.scrollLeft-this.TrackerOffsets[0]);return this.stopEvent(a)},DocumentMouseUp:function(a){this.unbindEvent(document,"mousemove",this.OnDocumentMouseMove);this.unbindEvent(document,"mouseup",this.OnDocumentMouseUp);if(typeof this.OnComplete=="function"){this.OnComplete.call(this)}return this.stopEvent(a)},UpdateTracker:function(e){var b=this.Track.offsetWidth-this.Margins*2-1;var d=Math.floor(b*this.MinSpace/(this.Max-this.Min));var a=this.MinPos;this._oldMin=a;var c=this.MaxPos;this._oldMax=c;e-=this.Margins;if(this.Left){e+=this.FingerOffset;this.TrackerLeft=Math.max(0,Math.min(this.TrackerRight-d-1,e));this.MinPos=Math.round((this.Min+this.TrackerLeft*(this.Max-this.Min)/b)/this.RoundTo)*this.RoundTo;if(this.MinSpace>=this.MaxPos-this.MinPos){this.MinPos=this.MaxPos-this.MinSpace}if(this.AllowedValues){this.TrackerLeft=Math.round(b*(this.MinPos-this.Min)/(this.Max-this.Min))}}else{e-=this.FingerOffset;this.TrackerRight=Math.max(this.TrackerLeft+d+1,Math.min(b+1,e));this.MaxPos=Math.round((this.Min+(this.TrackerRight-1)*(this.Max-this.Min)/b)/this.RoundTo)*this.RoundTo;if(this.MinSpace>=this.MaxPos-this.MinPos){this.MaxPos=this.MinPos+this.MinSpace}if(this.AllowedValues){this.TrackerRight=Math.round(b*(this.MaxPos-this.Min)/(this.Max-this.Min))+1}}this.Tracker.style.width=(this.TrackerRight-this.TrackerLeft)+"px";this.Tracker.style.left=(this.Margins+this.TrackerLeft)+"px";if(typeof this.OnUpdate=="function"){if(!this.AllowedValues||(this.AllowedValues&&(c!=this.MaxPos||a!=this.MinPos))){this.OnUpdate.call(this)}}},AddHairline:function(c){var a=this.Track.appendChild(document.createElement("div"));var b=this.Track.offsetWidth-this.Margins*2-1;a.style.left=this.Margins+b/(this.Max-this.Min)*(c-this.Min)+"px";a.className=this.prefix+"s-touch";a.innerHTML="<span>"+(this.FormatNumbers?this.leadSpaces(c):c)+"</span>"},AutoHairline:function(b){if(b>=1){this.AddHairline(this.Min)}if(b>=2){this.AddHairline(this.Max)}if(b>=3){b--;var d=this.Max-this.Min;var f=[10,20,50,100,250,500,1000,2000,5000,10000,20000,50000,100000,250000,500000,1000000];var a=1;for(var c=0;f[c];c++){a=f[c]/10;if(f[c]>d){break}}for(var c=1;c<b;c++){var e=this.Min+d/b*c;e=Math.round(e/a)*a;this.AddHairline(e)}}},getOffsets:function(b){var a=0,c=0;do{a+=b.offsetTop||0;c+=b.offsetLeft||0;b=b.offsetParent}while(b);return[c,a]},leadSpaces:function(b){var d="";b=b.toString();var a=b.length;for(var c=a;c>0;c--){if((a-c)%3==2){d="&nbsp;"+b.charAt(c-1)+d}else{d=b.charAt(c-1)+d}}return d},bindEvent:function(a,b,c){if(a.addEventListener){a.addEventListener(b,c,false)}else{a.attachEvent("on"+b,c)}},unbindEvent:function(a,b,c){if(a.removeEventListener){a.removeEventListener(b,c,false)}else{if(a.detachEvent){a.detachEvent("on"+b,c)}}},bindAsEventListener:function(b){var a=this;return function(c){return b.call(a,c||window.event)}},stopEvent:function(a){if(a.preventDefault){a.preventDefault();a.stopPropagation()}else{a.returnValue=false;a.cancelBubble=true}return false}};