function MultiSlider()
{
	this.sliders = [];
}

MultiSlider.sliderChange = function(slider, value, oldValue)
{
	var sliders = slider.list.sliders;
	
	var total = 0;
	for (var a=0; a<sliders.length; a++)
	{
		total += sliders[a].value;
	}
	var remainder = 100 - total;
	
	
	for (var i=(slider.index+1)%sliders.length; i != slider.index; i=(i+1)%sliders.length)
	{
		var nextSlider = sliders[i]
		if (!nextSlider.locked)
		{
			var last = nextSlider.value;
			nextSlider.setValue(nextSlider.value + remainder, true);
			remainder = remainder - nextSlider.value + last;
		}
	}
	
	if (remainder != 0)
	{
		slider.setValue(value + remainder, true);
	}
	
	if (slider.list.onChange)
	{
//alert("asdf");	
		slider.list.onChange(this);
	}
}

MultiSlider.prototype.add = function(slider)
{
	slider.index = this.sliders.length;
	slider.list = this;
	slider.onChange = MultiSlider.sliderChange;
	this.sliders.push(slider);
}

MultiSlider.prototype.toggleLock = function(index)
{
	this.sliders[index].toggleLock();
}

MultiSlider.prototype.lock = function(index)
{
	this.sliders[index].lock();
}

MultiSlider.prototype.unlock = function(index)
{
	this.sliders[index].unlock();
}

MultiSlider.prototype.getLocked = function(index)
{
	return this.sliders[index].locked;
}

MultiSlider.prototype.getValues = function()
{
	var values = [];
	for (var a=0; a<this.sliders.length; a++)
	{
		values.push(this.sliders[a].value)
	}
	return values;
}

