AddToCartRequest = Class.create();

AddToCartRequest.prototype = {
    initialize: function(url, errorMsgDiv) {
        this.url = url;
        this.errorMsgDiv = errorMsgDiv;
        this.onSuccess = this.processResponse.bindAsEventListener(this);        
    },
    submit : function(frmName)
    {
        var request = new Ajax.Request(
            this.url,
            {
                method: 'post',
                onSuccess: this.onSuccess,
                parameters: Form.serialize(frmName)
            }
        );
    },
    processResponse: function(transport)
    {
        $(this.errorMsgDiv).innerHTML = '';
    	if (transport && transport.responseText)
    	{
            try
            {
                response = eval('(' + transport.responseText + ')');
                if (response.redirectUrl)
                {
                    document.location.href = response.redirectUrl;
                }
                else if (response.failed)
                {
                    $(this.errorMsgDiv).innerHTML = response.errorMessage;
                    Element.show(this.errorMsgDiv);
                }
                else if (response.pageRegions)
                {
                    for(i = 0; i < response.pageRegions.length; i++)
                    {
                        if (response.pageRegions[i].innerHtml)
                        {
                            $(response.pageRegions[i].id).innerHTML = response.pageRegions[i].innerHtml;
                            Modalbox.show($(response.pageRegions[i].id), {width: 600}, {height: 300});                
                        }
                    }
                }
            }
            catch (e) 
            {
                response = {};
            }
        }
    }
}
