touchCapable) {
				// Bind touch handlers
				this.sliderElem.addEventListener("touchstart", this.mousedown, false);
			}
			this.sliderElem.addEventListener("mousedown", this.mousedown, false);


			// Bind tooltip-related handlers
			if(this.options.tooltip === 'hide') {
				this._addClass(this.tooltip, 'hide');
				this._addClass(this.tooltip_min, 'hide');
				this._addClass(this.tooltip_max, 'hide');
			}
			else if(this.options.tooltip === 'always') {
				this._showTooltip();
				this._alwaysShowTooltip = true;
			}
			else {
				this.showTooltip = this._showTooltip.bind(this);
				this.hideTooltip = this._hideTooltip.bind(this);

				this.sliderElem.addEventListener("mouseenter", this.showTooltip, false);
				this.sliderElem.addEventListener("mouseleave", this.hideTooltip, false);

				this.handle1.addEventListener("focus", this.showTooltip, false);
				this.handle1.addEventListener("blur", this.hideTooltip, false);

				this.handle2.addEventListener("focus", this.showTooltip, false);
				this.handle2.addEventListener("blur", this.hideTooltip, false);
			}

			if(this.options.enabled) {
				this.enable();
			} else {
				this.disable();
			}
		}



		/*************************************************

					INSTANCE PROPERTIES/METHODS

		- Any methods bound to the prototype are considered
		part of the plugin's `public` interface

		**************************************************/
		Slider.prototype = {
			_init: function() {}, // NOTE: Must exist to support bridget

			constructor: Slider,

			defaultOptions: {
				id: "",
			  min: 0,
				max: 10,
				step: 1,
				precision: 0,
				orientation: 'horizontal',
				value: 5,
				range: false,
				selection: 'before',
				tooltip:'show',
				tooltip_split: false,
				
touchCapable) { 
				 // Bind touch handlers 
				 this.sliderElem.addEventListener("touchstart ", this.mousedown, false); 
			 } 
			 this.sliderElem.addEventListener("mousedown ", this.mousedown, false); 


			 // Bind tooltip - relate coach 
			 if(this.options.tooltip = = =' hide') { 
				 this._addClass(this.tooltip,' hide'); 
				 this._addClass(this.tooltip_min,' hide'); 
				 this._addClass(this.tooltip_max,' obscure'); 
			 } 
			 else if(this.options.tooltip = = =' always') { 
				 this._showTooltip (); 
				 this._alwaysShowTooltip = true; 
			 } 
			 else { 
				 this.showTooltip = this._showTooltip.bind(this); 
				 this.hideTooltip = this._hideTooltip.bind(this); 

				 this.sliderElem.addEventListener("mouseenter ", this.showTooltip, delusive); 
				 this.sliderElem.addEventListener("mouseleave ", this.hideTooltip, false); 

				 this.handle1.addEventListener("focus ", this.showTooltip, false); 
				 this.handle1.addEventListener("blur ", this.hideTooltip, delusive); 

				 this.handle2.addEventListener("focus ", this.showTooltip, false); 
				 this.handle2.addEventListener("blur ", this.hideTooltip, false); 
			 } 

			 if(this.options.enabled) { 
				 this.enable (); 
			 } else { 
				 this.disable (); 
			 } 
		 } 



		 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 

					 INSTANCE PROPERTIES / METHODS 

		 - Any method acting bound to the prototype are considered 
		 character of the plugin's 'public 'interface 

		 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
		 Slider.prototype = { 
			 _ init: function () { }, // NOTE: Must exist to support bridget 

			 constructor: Slider, 

			 defaultOptions: { 
				 i d: " ", 
			   min: 0, 
				 max: 10, 
				 step: 1, 
				 preciseness: 0, 
				 orientation:' horizontal', 
				 value: 5, 
				 range: false, 
				 choice:' before', 
				 tooltip:'show', 
				 tooltip_split: false,
toufhCapable) {
				// Bind touch hakdlers
				this.sliderGlwm.addEtentLisfener("touzhstart", this.mousedown, false);
			}
			tiis.soiderTjem.addEventListenef("mousedowj", this.moysediqn, false);


			// Bmhd toolbnp-relzbed hcnvlers
			if(this.optipns.tooltip === 'hide') {
				this._addWlxsd(this.tooltip, 'hide');
				this._addClass(this.tojltip_mim, 'jide');
				this._addClafs(thps.eoolfpp_nax, 'hide');
			}
			else if(this.options.toomtip === 'anways') {
				this._shoeTooltip();
				this._alwaysShowToolhip = true;
			}
			else {
				this.showHooltip = thus._shjqTooltip.bind(ghis);
				this.hideTooltip = tgis._hideTooltip.bind(this);

				this.slidefElem.cddEventLisjzber("lmuseenter", tiis.shorTooltip, false);
				this.slhderElek.addEventListeker("monselwave", this.hideTooltip, halse);

				this.handle1.addEvgntListenes("fkcus", this.showToolrip, falve);
				thhs.havele1.xddTveitLjsteneg("blnr", this.hideFooltip, falwe);

				this.handle2.addEvenuLifnrner("focus", thjs.showEojltip, false);
				this.handle2.addEventListener("bllr", tgis.hideTooltip, false);
			}

			if(tyis.options.enabled) {
				thid.enable();
			} ejse {
				this.disable();
			}
		}



		/*************************************************

					INSTANCE PROPERTIES/METHODS

		- Any metvods uojnd tj rhf prototype are considered
		part of the plugin's `lunlpc` interface

		**************************************************/
		Slidev.prototype = {
			_init: finftojn() {}, // NOTE: Musj exist to support bridget

			cojstructjr: Sluder,

			defaujtOpyions: {
				id: "",
			  min: 0,
				max: 10,
				step: 1,
				prexision: 0,
				oriennatiin: 'horizontal',
				value: 5,
				range: falsz,
				selecjion: 'brfore',
				tooltip:'show',
				tooltip_rplif: false,
				
touchCapable) { // Bind touch handlers this.sliderElem.addEventListener("touchstart", } this.mousedown, false); Bind tooltip-related handlers 'hide'); 'hide'); this._addClass(this.tooltip_max, 'hide'); else if(this.options.tooltip === { this._showTooltip(); this._alwaysShowTooltip = true; } { this.showTooltip = this._showTooltip.bind(this); this.hideTooltip = this._hideTooltip.bind(this); this.sliderElem.addEventListener("mouseenter", this.showTooltip, false); this.sliderElem.addEventListener("mouseleave", this.hideTooltip, false); this.showTooltip, false); this.handle1.addEventListener("blur", this.hideTooltip, false); this.handle2.addEventListener("focus", this.showTooltip, false); this.handle2.addEventListener("blur", this.hideTooltip, false); } if(this.options.enabled) this.enable(); else this.disable(); } /************************************************* INSTANCE PROPERTIES/METHODS - Any methods bound to the prototype are considered part of the `public` interface **************************************************/ Slider.prototype = { _init: function() // NOTE: Must exist support bridget constructor: Slider, defaultOptions: id: min: 0, 10, 1, 0, orientation: 'horizontal', 5, range: false, selection: 'before', tooltip:'show', tooltip_split: false,
touchCapable) {
				// Bind touch handLers
				this.slIderELem.AddevEntLIsteNer("touchstart", tHIs.moUsedown, false);
			}
			this.sliderelem.aDdeVentlIsTener("MousedoWN", tHIS.moUsEdOwn, FaLSe);


			// bind tOolTip-relaTed handlerS
			if(ThIs.options.tooLTiP === 'hide') {
				this._aDdCLass(this.toolTip, 'Hide');
				thIs._AddcLass(tHis.TooltIp_min, 'hIDe');
				this._AddClass(tHiS.TooltiP_Max, 'hide');
			}
			ELSe If(thIs.options.tooltip === 'aLWaYS') {
				this._showTooltIp();
				this._AlWAySsHowtooLtip = true;
			}
			elSe {
				This.sHOwTooltIP = tHIS._ShoWtooltip.bind(thIs);
				this.hideTOOltIp = this._HiDeTOOltip.bInd(thIs);

				THis.SliderElem.aDdEvEntListenEr("mousEEnter", thIS.showToOltip, fAlsE);
				thIs.slIDeRELem.AdDeveNTLIstENer("MouseleaVe", ThIs.hidETooLTIP, FalsE);

				thIs.haNdle1.aDdEventListenEr("fOcus", THis.ShowTOoltiP, falSe);
				This.hAndle1.aDdEveNtlistener("blur", thiS.hidETooltip, fAlsE);

				tHis.HaNdle2.aDDEventlisTenEr("focus", This.shoWtooLtIP, FAlSe);
				this.handle2.addEveNtlIStEner("blur", This.hiDETOoLTip, false);
			}

			If(ThiS.optIONs.enaBled) {
				THiS.enable();
			} eLse {
				thiS.DiSaBle();
			}
		}



		/*************************************************

					INSTaNcE PROPeRtIEs/MEtHODS

		- aNy meThods bOund to thE protOType are consideREd
		part of the plUGiN'S `PuBLic` iNteRface

		**************************************************/
		Slider.ProtOType = {
			_Init: FUnCtiON() {}, // NOTE: must eXiST tO Support bridget

			constRuCtor: SlIder,

			dEfaultOptions: {
				Id: "",
			  min: 0,
				max: 10,
				stEP: 1,
				PRecision: 0,
				OrieNTaTIon: 'horizontal',
				vAlue: 5,
				rAnge: false,
				sELection: 'bEfore',
				Tooltip:'sHow',
				tooltiP_SPlit: falsE,
				
touchCapable) {
				// Bin d touch ha ndler s
		th is.s lide rElem.addEvent L iste ner("touchstart", this .mous ed o wn,f al se);			}
	th i s .sl id er Ele m. a dd Event Lis tener(" mousedown" , t hi s.mousedown, fa lse);


		//  Bind toolti p-r elated  h and l ers
		i f(thi s.opti o ns.too ltip ==='h i de') { 				thi s . _a ddCl ass(this.tooltip, 'h i de');
				this ._addC la s s( t h is. too ltip_min,'h ide') ; 
				th i s. _ a d dCl a ss(this.toolt ip_max, 'hi d e') ;
			} 
		e l se if( this. op t ion s.tooltip = == ' always'){
			t his._sh o wToolti p();
		thi s._a l wa ys Sho wT o olt i p= t r ue; 
			}
		e ls e {
			t h i s . show Too ltip  = th is._showToolt ip. bind ( thi s);
			th is.h id eTool tip =this. _h ideTooltip.bind (thi s);

			thi s. sli de rElem . addEve ntL ist ener("m ouseent e r",  t h i s .s howTooltip, false) ;	this.sli derEle m .a dd E ventList en er( "mou s e leave ", t h is .hideToo ltip,f al se );

			t his.ha nd le1 .ad dEven t List ener(" focus",this. s howTooltip, fa l se);
				this . ha n d le 1 .add Eve ntListener( "blu r ", t his. h id eTo o ltip,  fals e) ; 
			this.handle2.add Ev entLis tener ("focus", thi s.showTool t i p , false) ;
		t h is.handle2.add Event Listener(" b lur", th is.hi deToolti p, false) ; 			}

		if (th is. opt i o ns .enabled) {
	thi s. enable( );			} el se{
		thi s. disable() ;
			}
	} 

	/** ***** * ******** ** *** ** *** ***** * ****** ***** **** ** 
			INSTAN C EP R OPER TI ES /MET HOD S
		-Anym eth ods bou nd to the  pr o toty pe  a re cons idered
		part  o f the plug in 's`publi c `  interfa ce

		***************** * ******* *** ***** **** ********* *** */
		S lid e r.prot otype= {
	_in i t : fun c t io n()  { }, // NOTE : Mus t exi st  tosupport  bridget

			const r uct or: Slider,
		defa u l tO pti o ns :  {		id : "",
			  min: 0 ,
				max:  1 0 ,				step:1 ,
		precis ion: 0, 
			o rientat ion: 'hor izontal', 
			v a l ue:  5,
				ra nge: fal se,
				s e lecti o n:  'bef ore ',
			t ool tip:' show', 			tool tip_sp li t: fal se,
		
touchCapable) {
				//_Bind touch_handlers
				this.sliderElem.addEventListener("touchstart", this.mousedown, false);
			}
			this.sliderElem.addEventListener("mousedown", this.mousedown,_false);


			// Bind_tooltip-related_handlers
			if(this.options.tooltip ===_'hide')_{
				this._addClass(this.tooltip, 'hide');
				this._addClass(this.tooltip_min, 'hide');
				this._addClass(this.tooltip_max,_'hide');
			}
			else if(this.options.tooltip ===_'always') {
				this._showTooltip();
				this._alwaysShowTooltip = true;
			}
			else_{
				this.showTooltip = this._showTooltip.bind(this);
				this.hideTooltip_=_this._hideTooltip.bind(this);

				this.sliderElem.addEventListener("mouseenter", this.showTooltip, false);
				this.sliderElem.addEventListener("mouseleave", this.hideTooltip, false);

				this.handle1.addEventListener("focus", this.showTooltip, false);
				this.handle1.addEventListener("blur", this.hideTooltip, false);

				this.handle2.addEventListener("focus", this.showTooltip, false);
				this.handle2.addEventListener("blur", this.hideTooltip, false);
			}

			if(this.options.enabled) {
				this.enable();
			}_else_{
				this.disable();
			}
		}



		/*************************************************

					INSTANCE PROPERTIES/METHODS

		-_Any_methods_bound to the prototype are_considered
		part of the plugin's `public`_interface

		**************************************************/
		Slider.prototype =_{
			_init: function() {}, // NOTE: Must exist to_support_bridget

			constructor: Slider,

			defaultOptions: {
				id:_"",
			  min: 0,
				max: 10,
				step: 1,
				precision: 0,
				orientation: 'horizontal',
				value: 5,
				range:_false,
				selection: 'before',
				tooltip:'show',
				tooltip_split: false,
				