(function($){$.baseClass=function(obj){obj=$(obj);return obj.get(0).className.match(/([^ ]+)/)[1];};$.fn.addDependClass=function(className,delimiter){var options={delimiter:delimiter?delimiter:'-'} return this.each(function(){var baseClass=$.baseClass(this);if(baseClass) $(this).addClass(baseClass+options.delimiter+className);});};$.fn.removeDependClass=function(className,delimiter){var options={delimiter:delimiter?delimiter:'-'} return this.each(function(){var baseClass=$.baseClass(this);if(baseClass) $(this).removeClass(baseClass+options.delimiter+className);});};$.fn.toggleDependClass=function(className,delimiter){var options={delimiter:delimiter?delimiter:'-'} return this.each(function(){var baseClass=$.baseClass(this);if(baseClass) if($(this).is("."+baseClass+options.delimiter+className)) $(this).removeClass(baseClass+options.delimiter+className);else $(this).addClass(baseClass+options.delimiter+className);});};})(jQuery);;(function(){Function.prototype.inheritFrom=function(BaseClass,oOverride){var Inheritance=function(){};Inheritance.prototype=BaseClass.prototype;this.prototype=new Inheritance();this.prototype.constructor=this;this.prototype.baseConstructor=BaseClass;this.prototype.superClass=BaseClass.prototype;if(oOverride){for(var i in oOverride){this.prototype[i]=oOverride[i];}}};Number.prototype.jSliderNice=function(iRoundBase){var re=/^(-)?(\d+)([\.,](\d+))?$/;var iNum=Number(this);var sNum=String(iNum);var aMatches;var sDecPart='';var sTSeparator=' ';if((aMatches=sNum.match(re))){var sIntPart=aMatches[2];var iDecPart=(aMatches[4])?Number('0.'+aMatches[4]):0;if(iDecPart){var iRF=Math.pow(10,(iRoundBase)?iRoundBase:2);iDecPart=Math.round(iDecPart*iRF);sNewDecPart=String(iDecPart);sDecPart=sNewDecPart;if(sNewDecPart.length)[^\t]*)'/g,"$1\r").replace(/\t=(.*?)%>/g,"',$1,'").split("\t").join("');").split("%>").join("p.push('").split("\r").join("\\'") +"');}return p.join('');");return data?fn(data):fn;};})();(function($){this.Draggable=function(){this._init.apply(this,arguments);};Draggable.prototype={oninit:function(){},events:function(){},onmousedown:function(){this.ptr.css({position:"absolute"});},onmousemove:function(evt,x,y){this.ptr.css({left:x,top:y});},onmouseup:function(){},isDefault:{drag:false,clicked:false,toclick:true,mouseup:false},_init:function(){if(arguments.length>0){this.ptr=$(arguments[0]);this.outer=$(".draggable-outer");this.is={};$.extend(this.is,this.isDefault);var _offset=this.ptr.offset();this.d={left:_offset.left,top:_offset.top,width:this.ptr.width(),height:this.ptr.height()};this.oninit.apply(this,arguments);this._events();}},_getPageCoords:function(event){if(event.targetTouches&&event.targetTouches[0]){return{x:event.targetTouches[0].pageX,y:event.targetTouches[0].pageY};}else return{x:event.pageX,y:event.pageY};},_bindEvent:function(ptr,eventType,handler){var self=this;if(this.supportTouches_) ptr.get(0).addEventListener(this.events_[eventType],handler,false);else ptr.bind(this.events_[eventType],handler);},_events:function(){var self=this;this.supportTouches_=($.browser.webkit&&navigator.userAgent.indexOf("Mobile")!=-1);this.events_={"click":this.supportTouches_?"touchstart":"click","down":this.supportTouches_?"touchstart":"mousedown","move":this.supportTouches_?"touchmove":"mousemove","up":this.supportTouches_?"touchend":"mouseup"};this._bindEvent($(document),"move",function(event){if(self.is.drag){event.stopPropagation();event.preventDefault();self._mousemove(event);}});this._bindEvent($(document),"down",function(event){if(self.is.drag){event.stopPropagation();event.preventDefault();}});this._bindEvent($(document),"up",function(event){self._mouseup(event);});this._bindEvent(this.ptr,"down",function(event){self._mousedown(event);return false;});this._bindEvent(this.ptr,"up",function(event){self._mouseup(event);});this.ptr.find("a").click(function(){self.is.clicked=true;if(!self.is.toclick){self.is.toclick=true;return false;}}).mousedown(function(event){self._mousedown(event);return false;});this.events();},_mousedown:function(evt){this.is.drag=true;this.is.clicked=false;this.is.mouseup=false;var _offset=this.ptr.offset();var coords=this._getPageCoords(evt);this.cx=coords.x-_offset.left;this.cy=coords.y-_offset.top;$.extend(this.d,{left:_offset.left,top:_offset.top,width:this.ptr.width(),height:this.ptr.height()});if(this.outer&&this.outer.get(0)){this.outer.css({height:Math.max(this.outer.height(),$(document.body).height()),overflow:"hidden"});} this.onmousedown(evt);},_mousemove:function(evt){this.is.toclick=false;var coords=this._getPageCoords(evt);this.onmousemove(evt,coords.x-this.cx,coords.y-this.cy);},_mouseup:function(evt){var oThis=this;if(this.is.drag){this.is.drag=false;if(this.outer&&this.outer.get(0)){if($.browser.mozilla){this.outer.css({overflow:"hidden"});}else{this.outer.css({overflow:"visible"});} if($.browser.msie&&$.browser.version=='6.0'){this.outer.css({height:"100%"});}else{this.outer.css({height:"auto"});}} this.onmouseup(evt);}}};})(jQuery);(function($){$.slider=function(node,settings){var jNode=$(node);if(!jNode.data("jslider")) jNode.data("jslider",new jSlider(node,settings));return jNode.data("jslider");};$.fn.slider=function(action,opt_value){var returnValue,args=arguments;function isDef(val){return val!==undefined;};function isDefAndNotNull(val){return val!=null;};this.each(function(){var self=$.slider(this,action);if(typeof action=="string"){switch(action){case"value":if(isDef(args[1])&&isDef(args[2])){var pointers=self.getPointers();if(isDefAndNotNull(pointers[0])&&isDefAndNotNull(args[1])){pointers[0].set(args[1]);pointers[0].setIndexOver();} if(isDefAndNotNull(pointers[1])&&isDefAndNotNull(args[2])){pointers[1].set(args[2]);pointers[1].setIndexOver();}} else if(isDef(args[1])){var pointers=self.getPointers();if(isDefAndNotNull(pointers[0])&&isDefAndNotNull(args[1])){pointers[0].set(args[1]);pointers[0].setIndexOver();}} else returnValue=self.getValue();break;case"prc":if(isDef(args[1])&&isDef(args[2])){var pointers=self.getPointers();if(isDefAndNotNull(pointers[0])&&isDefAndNotNull(args[1])){pointers[0]._set(args[1]);pointers[0].setIndexOver();} if(isDefAndNotNull(pointers[1])&&isDefAndNotNull(args[2])){pointers[1]._set(args[2]);pointers[1].setIndexOver();}} else if(isDef(args[1])){var pointers=self.getPointers();if(isDefAndNotNull(pointers[0])&&isDefAndNotNull(args[1])){pointers[0]._set(args[1]);pointers[0].setIndexOver();}} else returnValue=self.getPrcValue();break;case"calculatedValue":var value=self.getValue().split(";");returnValue="";for(var i=0;i0?";":"")+self.nice(value[i]);};break;case"skin":self.setSkin(args[1]);break;};} else if(!action&&!opt_value){if(!jSliderIsArray(returnValue)) returnValue=[];returnValue.push(slider);}});if(jSliderIsArray(returnValue)&&returnValue.length==1) returnValue=returnValue[0];return returnValue||this;};var OPTIONS={settings:{from:1,to:10,step:1,smooth:true,limits:true,round:0,value:"5;7",dimension:""},className:"jslider",selector:".jslider-",template:jSliderTmpl(''+'
'+'
'+''+''+'
'+'
'+'
'+'
'+'
'+'
'+'
'+'
'+'
'+'
')};this.jSlider=function(){return this.init.apply(this,arguments);};jSlider.prototype={init:function(node,settings){this.settings=$.extend(true,{},OPTIONS.settings,settings?settings:{});this.inputNode=$(node).hide();this.settings.interval=this.settings.to-this.settings.from;this.settings.value=this.inputNode.attr("value");if(this.settings.calculate&&$.isFunction(this.settings.calculate)) this.nice=this.settings.calculate;if(this.settings.onstatechange&&$.isFunction(this.settings.onstatechange)) this.onstatechange=this.settings.onstatechange;this.is={init:false};this.o={};this.create();},onstatechange:function(){},create:function(){var $this=this;this.domNode=$(OPTIONS.template({className:OPTIONS.className,settings:{from:this.nice(this.settings.from),to:this.nice(this.settings.to),dimension:this.settings.dimension},scale:this.generateScale()}));this.inputNode.after(this.domNode);this.drawScale();if(this.settings.skin&&this.settings.skin.length>0) this.setSkin(this.settings.skin);this.sizes={domWidth:this.domNode.width(),domOffset:this.domNode.offset()};$.extend(this.o,{pointers:{},labels:{0:{o:this.domNode.find(OPTIONS.selector+"value").not(OPTIONS.selector+"value-to")},1:{o:this.domNode.find(OPTIONS.selector+"value").filter(OPTIONS.selector+"value-to")}},limits:{0:this.domNode.find(OPTIONS.selector+"label").not(OPTIONS.selector+"label-to"),1:this.domNode.find(OPTIONS.selector+"label").filter(OPTIONS.selector+"label-to")}});$.extend(this.o.labels[0],{value:this.o.labels[0].o.find("span")});$.extend(this.o.labels[1],{value:this.o.labels[1].o.find("span")});if(!$this.settings.value.split(";")[1]){this.settings.single=true;this.domNode.addDependClass("single");} if(!$this.settings.limits) this.domNode.addDependClass("limitless");this.domNode.find(OPTIONS.selector+"pointer").each(function(i){var value=$this.settings.value.split(";")[i];if(value){$this.o.pointers[i]=new jSliderPointer(this,i,$this);var prev=$this.settings.value.split(";")[i-1];if(prev&&new Number(value)$this.settings.to?$this.settings.to:value;$this.o.pointers[i].set(value,true);}});this.o.value=this.domNode.find(".v");this.is.init=true;$.each(this.o.pointers,function(i){$this.redraw(this);});(function(self){$(window).resize(function(){self.onresize();});})(this);},setSkin:function(skin){if(this.skin_) this.domNode.removeDependClass(this.skin_,"_");this.domNode.addDependClass(this.skin_=skin,"_");},setPointersIndex:function(i){$.each(this.getPointers(),function(i){this.index(i);});},getPointers:function(){return this.o.pointers;},generateScale:function(){if(this.settings.scale&&this.settings.scale.length>0){var str="";var s=this.settings.scale;var prc=Math.round((100/(s.length-1))*10)/10;for(var i=0;i'+(s[i]!='|'?''+s[i]+'':'')+'';};return str;}else return"";return"";},drawScale:function(){this.domNode.find(OPTIONS.selector+"scale span ins").each(function(){$(this).css({marginLeft:-$(this).outerWidth()/2});});},onresize:function(){var self=this;this.sizes={domWidth:this.domNode.width(),domOffset:this.domNode.offset()};$.each(this.o.pointers,function(i){self.redraw(this);});},limits:function(x,pointer){if(!this.settings.smooth){var step=this.settings.step*100/(this.settings.interval);x=Math.round(x/step)*step;} var another=this.o.pointers[1-pointer.uid];if(another&&pointer.uid&&xanother.value.prc)x=another.value.prc;if(x<0)x=0;if(x>100)x=100;return Math.round(x*10)/10;},redraw:function(pointer){if(!this.is.init)return false;this.setValue();if(this.o.pointers[0]&&this.o.pointers[1]) this.o.value.css({left:this.o.pointers[0].value.prc+"%",width:(this.o.pointers[1].value.prc-this.o.pointers[0].value.prc)+"%"});this.o.labels[pointer.uid].value.html(this.nice(pointer.value.origin));this.redrawLabels(pointer);},redrawLabels:function(pointer){function setPosition(label,sizes,prc){sizes.margin=-sizes.label/2;label_left=sizes.border+sizes.margin;if(label_left<0) sizes.margin-=label_left;if(sizes.border+sizes.label/2>self.sizes.domWidth){sizes.margin=0;sizes.right=true;}else sizes.right=false;label.o.css({left:prc+"%",marginLeft:sizes.margin,right:"auto"});if(sizes.right)label.o.css({left:"auto",right:0});return sizes;} var self=this;var label=this.o.labels[pointer.uid];var prc=pointer.value.prc;var sizes={label:label.o.outerWidth(),right:false,border:(prc*this.sizes.domWidth)/100};if(!this.settings.single){var another=this.o.pointers[1-pointer.uid];var another_label=this.o.labels[another.uid];switch(pointer.uid){case 0:if(sizes.border+sizes.label/2>another_label.o.offset().left-this.sizes.domOffset.left){another_label.o.css({visibility:"hidden"});another_label.value.html(this.nice(another.value.origin));label.o.css({visibility:"visible"});prc=(another.value.prc-prc)/2+prc;if(another.value.prc!=pointer.value.prc){label.value.html(this.nice(pointer.value.origin)+" – "+this.nice(another.value.origin));sizes.label=label.o.outerWidth();sizes.border=(prc*this.sizes.domWidth)/100;}}else{another_label.o.css({visibility:"visible"});} break;case 1:if(sizes.border-sizes.label/2this.sizes.domWidth-limit.outerWidth()) limits[1]=false;}};for(var i=0;i0?";":"")+$this.prcToValue(this.value.prc);});return value;},getPrcValue:function(){if(!this.is.init)return false;var $this=this;var value="";$.each(this.o.pointers,function(i){if(this.value.prc!=undefined&&!isNaN(this.value.prc))value+=(i>0?";":"")+this.value.prc;});return value;},prcToValue:function(prc){if(this.settings.heterogeneity&&this.settings.heterogeneity.length>0){var h=this.settings.heterogeneity;var _start=0;var _from=this.settings.from;for(var i=0;i<=h.length;i++){if(h[i])var v=h[i].split("/");else var v=[100,this.settings.to];v[0]=new Number(v[0]);v[1]=new Number(v[1]);if(prc>=_start&&prc<=v[0]){var value=_from+((prc-_start)*(v[1]-_from))/(v[0]-_start);} _start=v[0];_from=v[1];};}else{var value=this.settings.from+(prc*this.settings.interval)/100;} return this.round(value);},valueToPrc:function(value,pointer){if(this.settings.heterogeneity&&this.settings.heterogeneity.length>0){var h=this.settings.heterogeneity;var _start=0;var _from=this.settings.from;for(var i=0;i<=h.length;i++){if(h[i])var v=h[i].split("/");else var v=[100,this.settings.to];v[0]=new Number(v[0]);v[1]=new Number(v[1]);if(value>=_from&&value<=v[1]){var prc=pointer.limits(_start+(value-_from)*(v[0]-_start)/(v[1]-_from));} _start=v[0];_from=v[1];};}else{var prc=pointer.limits((value-this.settings.from)*100/this.settings.interval);} return prc;},round:function(value){value=Math.round(value/this.settings.step)*this.settings.step;if(this.settings.round)value=Math.round(value*Math.pow(10,this.settings.round))/Math.pow(10,this.settings.round);else value=Math.round(value);return value;},nice:function(value){value=value.toString().replace(/,/gi,".");value=value.toString().replace(/ /gi,"");if(Number.prototype.jSliderNice) return(new Number(value)).jSliderNice(this.settings.round).replace(/-/gi,"−");else return new Number(value);}};function jSliderPointer(){this.baseConstructor.apply(this,arguments);} jSliderPointer.inheritFrom(Draggable,{oninit:function(ptr,id,_constructor){this.uid=id;this.parent=_constructor;this.value={};this.settings=this.parent.settings;},onmousedown:function(evt){this._parent={offset:this.parent.domNode.offset(),width:this.parent.domNode.width()};this.ptr.addDependClass("hover");this.setIndexOver();},onmousemove:function(evt,x){var coords=this._getPageCoords(evt);this._set(this.calc(coords.x));},onmouseup:function(evt){if(this.parent.settings.callback&&$.isFunction(this.parent.settings.callback)) this.parent.settings.callback.call(this.parent,this.parent.getValue());this.ptr.removeDependClass("hover");},setIndexOver:function(){this.parent.setPointersIndex(1);this.index(2);},index:function(i){this.ptr.css({zIndex:i});},limits:function(x){return this.parent.limits(x,this);},calc:function(coords){var x=this.limits(((coords-this._parent.offset.left)*100)/this._parent.width);var stepPercent=(this.parent.settings.step/this.parent.settings.to)*100;var leftLimit=Math.ceil(this.parent.settings.min/this.parent.settings.step)*stepPercent;var rightLimit=Math.floor(this.parent.settings.max/this.parent.settings.step)*stepPercent;if(this.uid==1&&xrightLimit){return rightLimit;} return x;},set:function(value,opt_origin){this.value.origin=this.parent.round(value);this._set(this.parent.valueToPrc(value,this),opt_origin);},_set:function(prc,opt_origin){if(!opt_origin) this.value.origin=this.parent.prcToValue(prc);this.value.prc=prc;this.ptr.css({left:prc+"%"});this.parent.redraw(this);}});})(jQuery);