/**
 * Fx.ProgressBar
 *
 * @version		1.1
 *
 * @license		MIT License
 *
 * @author		Harald Kirschner <mail [at] digitarald [dot] de>
 * @copyright	Authors
 */

Fx.SimpleProgressBar = new Class({

	Extends: Fx,

	options: {
		transition: Fx.Transitions.Circ.easeOut,
		link: 'cancel',
		opacity: 0.4
	},

	initialize: function(element, options) {
		var el = document.id(element);
		this.element = el;
		this.parentElement = el.getParent();
		this.parent(options);
		this.element.setStyle('width', 0);
		this.parentElement.setStyle('opacity', this.options.opacity.stringValue);
		this.set(0);
	},

	start: function(to, total) {
		return this.parent(this.now, (arguments.length == 1) ? to.limit(0, 100) : to / total * 100);
	},

	set: function(to) {
		this.now = to;
		this.element.setStyle('width', to + 'px').title = Math.round(to) + '%';
		var css = this.options.opacity + (Math.max(to / 100, this.options.opacity) - this.options.opacity);
		this.parentElement.setStyle('opacity', css);
		
		return this;
	}

});