/**
	@base Panagora.Class
	@constructor
	@author Niklas Bergius
*/
Panagora.CartComponent = new (Panagora.Class.create(
/** @lends Panagora.CartComponent */
function CartComponent() {
	var self = this;
	var gui = {};

	function init() {
	}
	
	function checkForRedirectPayment(data) {
		if (Panagora.Site.updateCartSubmitButton)
			Panagora.Site.updateCartSubmitButton(data.Cart.WillRedirect);
	}
	
	this.refresh = function refresh(data, callback) {
		if (!data) {
			Panagora.post({
				url: '/cart/view',
				data: 'partial=',
				success: function (json) { refresh(json.Response); }
			});
			
			return;
		}
		if (typeof data == 'object') {
			if (data.Cart.Items.length > 0) {
				checkForRedirectPayment(data);
			}
		} else if (typeof data == 'string') {
			if (callback instanceof Function)
				callback();
		}
	}

	Panagora.ready(init);
}))();
