rem: var offsets = Position.cumulativeOffset(this.handle);  offsets[0] -= this.currentLeft(); offsets[1] -= this.currentTop();   pointer[0] -= this.offsetX; pointer[1] -= this.offsetY; var style = this.handle.style;  if(this.isVertical()){ if(pointer[1] > this.maximumOffset()) pointer[1] = this.maximumOffset(); if(pointer[1] < this.minimumOffset()) pointer[1] =  this.minimumOffset();   if(this.values){ this.value = this.getNearestValue(Math.round((pointer[1] - this.minimumOffset()) / this.increment) + this.minimum); pointer[1] = this.trackTop() + this.alignY + (this.value - this.minimum) * this.increment; } else { this.value = Math.round((pointer[1] - this.minimumOffset()) / this.increment) + this.minimum; } style.top  = pointer[1] - offsets[1] + "px"; } else { if(pointer[0] > this.maximumOffset()) pointer[0] = this.maximumOffset(); if(pointer[0] < this.minimumOffset())	pointer[0] =  this.minimumOffset();  if(this.values){ this.value = this.getNearestValue(Math.round((pointer[0] - this.minimumOffset()) / this.increment) + this.minimum); pointer[0] = this.trackLeft() + this.alignX + (this.value - this.minimum) * this.increment; } else { this.value = Math.round((pointer[0] - this.minimumOffset()) / this.increment) + this.minimum; } style.left = (pointer[0] - offsets[0]) + "px"; } if(this.options.onSlide) this.options.onSlide(this.value); 
add: var offsets = Position.cumulativeOffset(this.track); pointer[0] -= this.offsetX + offsets[0]; pointer[1] -= this.offsetY + offsets[1]; this.event = event; this.setValue(this.translateToValue( this.isVertical() ? pointer[1] : pointer[0] )); if(this.initialized && this.options.onSlide) this.options.onSlide(this.values.length>1 ? this.values : this.value, this); 
context:   draw: function(event) {    var pointer = [Event.pointerX(event), Event.pointerY(event)];    var offsets = Position.cumulativeOffset(this.handle);    offsets[0] -= this.currentLeft();    offsets[1] -= this.currentTop();            // Adjust for the pointer's position on the handle    pointer[0] -= this.offsetX;    pointer[1] -= this.offsetY;    var style = this.handle.style;    if(this.isVertical()){      if(pointer[1] > this.maximumOffset())        pointer[1] = this.maximumOffset();      if(pointer[1] < this.minimumOffset())        pointer[1] =  this.minimumOffset();    // Increment by values    if(this.values){      this.value = this.getNearestValue(Math.round((pointer[1] - this.minimumOffset()) / this.increment) + this.minimum);      pointer[1] = this.trackTop() + this.alignY + (this.value - this.minimum) * this.increment;    } else {      this.value = Math.round((pointer[1] - this.minimumOffset()) / this.increment) + this.minimum;    }    style.top  = pointer[1] - offsets[1] + "px";    } else {      if(pointer[0] > this.maximumOffset()) pointer[0] = this.maximumOffset();      if(pointer[0] < this.minimumOffset())	pointer[0] =  this.minimumOffset();      // Increment by values      if(this.values){        this.value = this.getNearestValue(Math.round((pointer[0] - this.minimumOffset()) / this.increment) + this.minimum);        pointer[0] = this.trackLeft() + this.alignX + (this.value - this.minimum) * this.increment;      } else {        this.value = Math.round((pointer[0] - this.minimumOffset()) / this.increment) + this.minimum;      }      style.left = (pointer[0] - offsets[0]) + "px";    }    if(this.options.onSlide) this.options.onSlide(this.value);  },
meta: 3974	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/3974/af9adbf17404d887f31369756326b0109da7ae2b/slider.js/buggy/root/static/js/slider.js