/**
 * Système de gestion de panier.
 * 
 * 
 */
var Cart={};

Cart.HTML = new Class({
	
	Implements: [Options, Events],
	
	options: {
		addItemUrl: '',
		removeItemUrl: ''
	},
	
	initialize: function(options) {
		this.setOptions(options);
		
		this.lightbox = new Lightbox.AJAX ({
			hideOnClick: false,
			url: this.options.addItemUrl,
			onShowComplete: function(box) {
				box.getElements('.quantity').each(function(element) {
					var options = JSON.decode(element.get('rel'));
					new Input.Quantity(element, options);
				});
			}
		});
	},
	
	addProduct: function(prod_id) {
		this.lightbox.show({
			prod_id: prod_id
		});
	},
	
	closeAddProduct: function() {
		this.lightbox.hide();
		this.fireEvent('close');
	},
	
	validateAddProduct: function(form) {
		var request = new Request.HTML({
			method: 'post',
			url: this.options.addItemUrl,
			update: this.lightbox.getFrame(),
			onSuccess: function(frame) {
				frame.getElements('.quantity').each(function(element) {
					new Input.Quantity(element);
				});
			}.pass(this.lightbox.getFrame())
		});
		request.send({data: $(form)});
	},
	
	removeProduct: function(form) {
		var request = new Request.HTML({
			url: this.options.removeItemUrl,
			update: this.lightbox.getFrame()
		});
		request.post($(form));
	}
});
