/*requires prototype.js*/
var Cart = Class.create();
Cart.prototype = {
    initialize : function(callback) {
        this.callback = callback;
    },

    addToCart : function(v_t) {
        var HW = new ShopAjaxProvider(this.callback);
        return HW.addToCart(v_t);
    },

    emptyCart : function() {
        var HW = new ShopAjaxProvider(this.callback);
        return HW.emptyCart();
    },

    getNumItems : function() {
        var HW = new ShopAjaxProvider(this.callback);
        return HW.getNumItems();
    },

    getTotal : function() {
        var HW = new ShopAjaxProvider(this.callback);
        return HW.getTotal();
    },

    getCartItems : function() {
        var HW = new ShopAjaxProvider(this.callback);
        return HW.getCartItems();
    },

    getNumCartItems : function() {
        var HW = new ShopAjaxProvider(this.callback);
        return HW.getNumCartItems();
    },

    deleteItems : function(v_t) {
        var HW = new ShopAjaxProvider(this.callback);
        return HW.deleteItems(v_t);
    },

    updateQuantity : function(v_ids, v_qty) {
        var HW = new ShopAjaxProvider(this.callback);
        return HW.updateQuantity(v_ids, v_qty);
    },

    getAffiliateDiscount : function() {
        var HW = new ShopAjaxProvider(this.callback);
        return HW.getAffiliateDiscount();
    }
}

var AjaxHandler = Class.create();
AjaxHandler.prototype = {
    initialize : function(v_butobj, v_retobj) {
        //constructor
        if (typeof v_butobj == 'string') {
            this.butobj = $(v_butobj);
        } else {
            this.butobj = v_butobj;
        }

        if (typeof v_retobj == 'string') {
            this.retobj = $(v_retobj);
        } else {
            this.retobj = v_retobj;
        }

        if (this.butobj) {
            this.butobj_code = this.butobj.innerHTML;

            this.butobj.innerHTML = 'Please wait...';
        }
    },

    callBack : function() {
        this.butobj.innerHTML = this.butobj_code;
    }
}

