// script.aculo.us slider.js v1.7.0, Fri Jan 19 19:16:36 CET 2007// Copyright (c) 2005, 2006 Marty Haught, Thomas Fuchs //// script.aculo.us is freely distributable under the terms of an MIT-style license.// For details, see the script.aculo.us web site: http://script.aculo.us/function K2Slider(handle, track, options) {	var self = this;	this.handle  = jQuery(handle);    this.track   = jQuery(track);    this.options = options || {};    this.value     = this.options.value || 0;    this.maximum   = this.options.maximum || 1;    this.minimum   = this.options.minimum || 0;    this.trackLength  = this.track.width();    this.handleLength = this.handle.width();	this.handle.css('position', 'absolute');    this.active   = false;    this.dragging = false;    this.setValue(this.value);       this.handle.mousedown(function(event) {		self.active = true;        var pointer	= self.pointerX(event);		var offset	= self.track.offset();		self.setValue(			self.translateToValue(				pointer-offset.left-(self.handleLength/2)          	)		);		var offset = self.handle.offset();		self.offsetX = (pointer - offset.left);	});	this.track.mousedown(function(event) {		var offset	= self.track.offset();        var pointer	= self.pointerX(event);		self.setValue(			self.translateToValue(				pointer-offset.left-(self.handleLength/2)          	)		);	});	jQuery(document).mouseup(function(event){		if (self.active && self.dragging) {			self.active = false;			self.dragging = false;			self.updateFinished(self);		}		self.active = false;		self.dragging = false;	});	jQuery(document).mousemove(function(event){		if (self.active) {			if (!self.dragging) self.dragging = true;			self.draw(event);			// fix AppleWebKit rendering			if (navigator.appVersion.indexOf('AppleWebKit')>0) window.scrollBy(0,0);		}	});	this.initialized = true;};K2Slider.prototype.getNearestValue = function(value) {	if (value > this.maximum) return this.maximum;	if (value < this.minimum) return this.minimum;	return value;};K2Slider.prototype.setValue = function(value) {	this.value = this.getNearestValue(value);	this.handle.css('left', this.translateToPx(this.value));   	if (!this.dragging || !this.event) this.updateFinished(this);};K2Slider.prototype.setValueBy = function(delta) {	this.setValue(this.value + delta);};K2Slider.prototype.translateToPx = function(value) {	return Math.round(		((this.trackLength-this.handleLength)/(this.maximum-this.minimum)) * 		(value - this.minimum)) + "px";};K2Slider.prototype.translateToValue = function(offset) {	return Math.round(		((offset/(this.trackLength-this.handleLength) * 		(this.maximum-this.minimum)) + this.minimum));};K2Slider.prototype.draw = function(event) {	var pointer = this.pointerX(event);	var offset	= this.track.offset();	pointer		-= this.offsetX + offset.left;    this.event = event;	this.setValue( this.translateToValue(pointer) );	if (this.initialized && this.options.onSlide)		this.options.onSlide(this.value);};K2Slider.prototype.updateFinished = function(self) {	if (self.initialized && self.options.onChange) 		self.options.onChange(self.value);	self.event = null;};K2Slider.prototype.pointerX = function(event) {	return event.pageX || (event.clientX +		(document.documentElement.scrollLeft || document.body.scrollLeft));};K2Slider.prototype.isLeftClick = function(event) {	return (((event.which) && (event.which == 1)) ||		((event.button) && (event.button == 1)));};