var VoicesClass = Class.create();
VoicesClass.prototype = {
	initialize: function(options) {
		this.rooturl = '/voices/';
		this.setoptions(options);
		Event.observe(window,'load',this.attachAjaxEvents.bind(this));
	},
	
	setoptions: function(options) {
		this.options = {
			ajaxurl: this.rooturl+'ajax/ajaxcalls.cfm',
			quotediv: 'quotes',
			reloaddiv: 'reloadquotes',
			loading: 'loadingindicator'
		}
		Object.extend(this.options, options || {});
	},
	
	attachAjaxEvents: function(){
		Event.observe(this.options.reloaddiv, 'click', this.getQuotes.bind(this));
	},
	
	getQuotes: function(){
		new Effect.toggle(this.options.quotediv,'appear',{afterFinish:this.loadQuote.bind(this)});
	},
	
	loadQuote: function(){
		this.toggleLoading();
		new Ajax.Updater(this.options.quotediv, this.options.ajaxurl, {method:'post', parameters:'action=getQuotes', onSuccess: this.getQuotesHandler.bind(this)});
	},
	
	getQuotesHandler: function(){
		this.toggleLoading();
		new Effect.toggle(this.options.quotediv,'appear');
	},
	
	toggleLoading: function(){
		$(this.options.loading).toggle();
	}
}
Voices = new VoicesClass();