var Minicart = Class.create();
Minicart.prototype = {
    initialize: function(form, minicartUrl){
        this.form = form;
        this.minicartUrl = minicartUrl;
        this.onUpdate = this.fillForm.bindAsEventListener(this);
		this.onComplete = this.resetLoadWaiting.bindAsEventListener(this);
    },
    update: function(){
		var request = new Ajax.Request(
			this.minicartUrl,
			{
				method: 'post',
				onComplete: this.onComplete,
				onSuccess: this.onUpdate,
				onFailure: this.onComplete,
				parameters: Form.serialize(this.form)
			}
		);
    },
    fillForm: function(transport){
        var elementValues = {};
        if (transport && transport.responseText){
            try{
                elementValues = eval('(' + transport.responseText + ')');
            }
            catch (e) {
                elementValues = {};
            }
        }		
		$('minicart').innerHTML =  ' '+ elementValues.cart.items + ' items';
		$('minicart_price').innerHTML = elementValues.cart.price;
		$('minicart').focus();
		// hide the popup after 5 second
		setTimeout("addToCart.closePopup()",5000);
    },
   	startLoadWaiting: function(transport) {
	},
	resetLoadWaiting: function(transport) {
	}
}
