(function(a){a.fn.slider=function(b){return this.each(function(){var c=a(this);if(!b.width){b.width=c.width(); if(!b.width){b.width = parseInt(c.css('width'));}}new a.slider(c,b)})};a.slider=function(c,b){this.options=b;this.element=null;this.slider=null;this.sliderBallRadius=8;this.maxTicks=6;this.min=0;this.max=0;this.step=0;this.valueMin=0;this.valueMax=0;this.initialized=false;this.drag=false;this.cx=0;this.sx=0;this.x=0;this.maxX=0;this.init();a(c).append(this.element)};a.slider.prototype.init=function(){if(this.options){this.element=document.createElement("div");this.element.className="slider";this.element.onselectstart=function(){return false};this.sliderArea=document.createElement("div");this.sliderArea.className="sliderArea";this.element.appendChild(this.sliderArea);if("width" in this.options){this.width=this.options.width-2*this.sliderBallRadius;this.element.style.width=this.options.width+"px"}if(this.options.minSelect||this.options.maxSelect){if(this.options.minSelect&&this.options.minSelect.tagName.toLowerCase()=="select"){this.minSelect=this.options.minSelect;if(this.minSelect.options.length){this.min=(this.minSelect.options[0].value==""?1:0);this.max=this.minSelect.options.length-1}this.options.valueMin=Math.max(this.minSelect.selectedIndex,this.min)}if(this.options.maxSelect&&this.options.maxSelect.tagName.toLowerCase()=="select"){this.maxSelect=this.options.maxSelect;if(this.maxSelect.options.length){this.max=this.maxSelect.options.length-1;if(!this.minSelect){this.min=this.maxSelect.options[0].value==""?1:0}}this.options.valueMax=this.maxSelect.selectedIndex?this.maxSelect.selectedIndex:this.max}this.options.step=1}if("step" in this.options){this.step=parseInt(this.options.step,10)}else{this.step=Math.ceil((this.max-this.min)/10)}this.sliderBar=document.createElement("div");this.sliderBar.className="sliderBar";this.sliderArea.appendChild(this.sliderBar);var c=document.createElement("div");c.className="sliderStart";var h=document.createElement("div");h.className="sliderEnd";var f="valueMin" in this.options,d="valueMax" in this.options;this.maxX=this.width;if(f&&!d){h.className+=" sliderEndSelected"}if(d&&!f){c.className+=" sliderStartSelected"}this.sliderBar.appendChild(c);this.sliderBar.appendChild(h);var g=Math.ceil((this.max-this.min)/this.step);this.tickwidth=this.width/g;this.sliderSelected=document.createElement("div");this.sliderSelected.className="sliderSelected";this.sliderBar.appendChild(this.sliderSelected);if(f){this.valueMin=parseInt(this.options.valueMin,10);this.sliderMin=document.createElement("div");this.sliderMin.className="sliderBall";this.sliderBar.appendChild(this.sliderMin);if(!this.options.noLabels){this.sliderMinLabel=document.createElement("div");this.sliderMinLabel.className="sliderLabel";this.sliderMinLabel.appendChild(document.createTextNode(""));this.sliderBar.appendChild(this.sliderMinLabel)}this.sliderSnap(this.sliderMin);a(this.sliderMin).mousedown(a.proxy(this.sliderStart,this));this.sliderMin.ondragstart=function(){return false}}if(d){this.valueMax=parseInt(this.options.valueMax,10);this.sliderMax=document.createElement("div");this.sliderMax.className="sliderBall";this.sliderBar.appendChild(this.sliderMax);if(!this.options.noLabels){this.sliderMaxLabel=document.createElement("div");if(this.sliderMinLabel){this.sliderMaxLabel.className="sliderSecondLabel";this.element.className+=" doubleLabel"}else{this.sliderMaxLabel.className="sliderLabel"}this.sliderMaxLabel.appendChild(document.createTextNode(""));this.sliderBar.appendChild(this.sliderMaxLabel)}this.sliderSnap(this.sliderMax);a(this.sliderMax).mousedown(a.proxy(this.sliderStart,this));this.sliderMax.ondragstart=function(){return false}}if(this.options.rangeLabels){this.createLabels()}else{this.createTicks(g)}var b=document.createElement("div");b.style.clear="both";this.element.appendChild(b);a(this.sliderArea).click(a.proxy(this.sliderClick,this));a(this.element).mousemove(a.proxy(this.sliderMove,this));var e=this;a(document).mouseup(function(){if(e.drag){e.drag=false;e.sliderSnap(e.sliderMin,e.sliderMax)}});this.initialized=true}};a.slider.prototype.update=function(){this.initialized=false;if(this.minSelect){this.valueMin=Math.max(this.minSelect.selectedIndex,this.min)}if(this.maxSelect){this.valueMax=this.maxSelect.selectedIndex?this.maxSelect.selectedIndex:this.max}this.sliderSnap(this.sliderMin,this.sliderMax);this.initialized=true};a.slider.prototype.createTicks=function(d){var m=1;if(d>this.maxTicks){var h=0,c=[2,3,5,7,11,13,17,19,23],f=d;while(f>this.maxTicks&&c[h]<=this.maxTicks){if(f%c[h]){h++}else{f/=c[h];m*=c[h]}}}if(d>this.maxTicks&&m==1){m=Math.ceil(d/(this.maxTicks-1))}var g=this.tickwidth*m,n=this.minSelect||this.maxSelect,p,e,k=0,j,o,q,b=this.sliderBallRadius-2;for(var h=0;h<=d;h+=m){j=document.createElement("div");j.className="sliderTick";if(h==0){j.style.marginLeft=b+"px"}if(h==d){e=this.sliderBallRadius}else{e=Math.round(h*this.tickwidth+g)-k;if(k+e>this.width){e=k+e-this.width}}k+=e;j.style.width=e+"px";p=this.min+h*this.step;if(n){if(n.options[p]){p=n.options[p].text}else{continue}}e=p.length;if(e>8){q=p.split(/\s+/);if(q.length>1){e=0;q.forEach(function(i){e=Math.max(e,i.length)});p=q.join("\n");j.style.height=(q.length*18)+"px"}}o=document.createElement("span");var r=this;var l=h;a(o).bind("click",{index:h},function(i){r.sliderSet(2+b+i.data.index*r.tickwidth)});o.style.left=-3*e+"px";o.appendChild(document.createTextNode(p));j.appendChild(o);this.element.appendChild(j)}};a.slider.prototype.sliderStart=function(c){var b=c.currentTarget;this.cx=parseInt(b.style.left);this.sx=c.clientX;this.drag=b;c.stopPropagation()};a.slider.prototype.sliderMove=function(c){if(this.drag){var b=this.cx-this.sx+c.clientX;if(b<0){b=0}if(b>this.maxX){b=this.maxX}this.drag.style.left=b+"px";if(this.drag==this.sliderMin){if(this.sliderMax&&b>parseInt(this.sliderMax.style.left)){this.sliderMax.style.left=b+"px";this.sliderOnChange(this.sliderMax)}}else{if(this.sliderMin&&b<parseInt(this.sliderMin.style.left)){this.sliderMin.style.left=b+"px";this.sliderOnChange(this.sliderMin)}}this.sliderOnChange(this.drag)}};a.slider.prototype.sliderClick=function(d){var c=d.target||d.srcElement;if(this.drag||c==this.sliderMin||c==this.sliderMax){d.preventDefault();return false}var b=d.layerX||d.offsetX||0;while(c!=this.sliderArea){b+=c.offsetLeft;c=c.parentNode}this.sliderSet(b)};a.slider.prototype.sliderSet=function(c){c-=this.sliderBallRadius;if(c<0){c=0}if(c>this.maxX){c=this.maxX}var d=this.sliderMin||this.sliderMax;if(this.sliderMin&&this.sliderMax){var b=parseInt(this.sliderMin.style.left);if(b<c){var e=parseInt(this.sliderMax.style.left);if(e<c||e-c<c-b){d=this.sliderMax}}}d.style.left=c+"px";this.sliderOnChange(d,true)};a.slider.prototype.labelClick=function(c,b){if(this.sliderMin){this.valueMin=c}if(this.sliderMax){this.valueMax=b}this.sliderSnap(this.sliderMin,this.sliderMax)};a.slider.prototype.sliderSnap=function(){var c,d,e;for(var b=0;b<arguments.length;b++){if((c=arguments[b])){d=c==this.sliderMin?this.valueMin:this.valueMax;if(d<this.min){e=0}else{if(d>this.max){e=this.maxX}else{e=Math.round(((d-this.min)/this.step)*this.tickwidth)}}c.style.left=e+"px"}}this.setSelection();if(this.initialized){c=null;if(this.minSelect){c=this.minSelect;this.minSelect.selectedIndex=this.valueMin}if(this.maxSelect){c=this.maxSelect;this.maxSelect.selectedIndex=this.valueMax}if(c){a(c).trigger("change")}}};a.slider.prototype.setSelection=function(){var e=this.sliderBallRadius,d,c,b;if(this.sliderMin){if(this.sliderMin){e+=parseInt(this.sliderMin.style.left)}if(this.sliderMinLabel){c=this.minSelect?this.minSelect.options[this.valueMin].text:this.valueMin;this.sliderMinLabel.firstChild.nodeValue=c;b=e-3*c.length-2;if(b<-8){b=-8}this.sliderMinLabel.style.left=b+"px"}}if(this.sliderSelected){this.sliderSelected.style.left=e+"px"}if(this.sliderMax){if(this.sliderMax){d=parseInt(this.sliderMax.style.left)+this.sliderBallRadius}else{d=this.maxX+this.sliderBallRadius}if(this.sliderSelected){this.sliderSelected.style.width=Math.max(0,d-e)+"px"}if(this.sliderMaxLabel){c=this.maxSelect?this.maxSelect.options[this.valueMax].text:this.valueMax;this.sliderMaxLabel.firstChild.nodeValue=c;b=d-3*c.length-2;if(b>this.width){b=this.width}this.sliderMaxLabel.style.left=b+"px"}}else{if(this.sliderSelected){d=Math.max(0,this.maxX-e+this.sliderBallRadius);this.sliderSelected.style.width=d+"px"}}if("onmove" in this.options){this.options.onmove(e,d)}};a.slider.prototype.sliderOnChange=function(c,b){var d=this.min+(parseInt(c.style.left)/this.tickwidth)*this.step;if(c==this.sliderMin){if(d<this.min){d=this.min-this.step}else{d=Math.round(d)}if(this.sliderMax&&d>this.max){d=this.max;b=true}this.valueMin=d}else{if(d>this.max){d=this.max+this.step}else{d=Math.round(d)}if(this.sliderMin&&d<this.min){d=this.min;b=true}this.valueMax=d}if(b){this.sliderSnap(c)}else{this.setSelection()}}})(jqClix);
