var Configurator = Class.create (
{
	initialize: function()
	{
		this.refreshComponents();
	},
	
	addComponent: function(params)
	{
		ajax("/catalog/index/add-component", params, "get", this.onSuccessUpdate.bind(this));
		this.refreshComponents();
	},
	
	onSuccessUpdate:function(transport)
	{
		var data = transport.responseJSON; 
		$('configuratorSummaryTop').update(data['summary']);
		$('configuratorSummaryBottom').update(data['summary']);
		$('productFinalPriceTop').update(data['price']);
		$('productFinalPriceBottom').update(data['price']);
		this.stopProcessing();		
		runAutoFunctions();
	},
	
	refreshComponents: function()
	{
		$$('.component.selected').each(function(element) {element.removeClassName('selected')});
		$$('.component input').each(function(element)
		{
			if(element.checked)
			{
				var holder = $((element.parentNode).parentNode);
				if(!holder.hasClassName('selected'))
				{
					holder.addClassName('selected');
				}
			}
		}
		);
	}
});

var configurator;
Event.observe(window, 'load', function() 
	{
		configurator = new Configurator();
	}
);
