// // SliderWidget // // Abstracts the behaviour of the Slider // Copyright 2007 Area 17. All rights reserved. // // // Constructor: takes a reference to the element that contains the fields that represent the slider // var SliderWidget = new Class( { initialize: function(slider) { this.widget_set = $(slider); this.hidden_input = $E('input.slider_value', this.widget_set); container_id = slider.id + '_slider_container'; handle_id = slider.id + '_slider_handle'; value_id = slider.id + '_slider_value'; this.value_element = $(value_id); this.slider = new Slider($(container_id), $(handle_id), { onChange: function(pos) { // This will select the FIRST input, so it's important the order of them. this.element.parentNode.getElement('input.slider_value').value = pos; this.element.parentNode.getElement('span').setHTML(pos * 10 + ' %'); }, steps: 10 }).set(this.hidden_input.value); } });