        ZONTIK.Class.create("ZONTIK.Controls.Cart", ZONTIK.Controls.Overlay, 
                function() {
                    ZONTIK.Controls.Overlay.call(this);
                }, 
                {

                    addAndCheckout: function(params) {
                        this.hide();
                        var thisContext = this;
                        var url = "/?add_item=1&redirect=1&variant_id="+ params;
                        url = url.replace( '&variant_id=9999', '' );
                        $('html, body').animate({scrollTop:0}, 'fast'); 
                        $.ajax({ url: url, cache: false, success: function(html){
                            document.location = "/checkout";
                        }});
                    },


                    addToCart: function(params) {
                        this.hide();
                        var thisContext = this;
                        var url = "/?add_item=1&variant_id="+ params;
url = url.replace( '&variant_id=9999', '' );
                        $('html, body').animate({scrollTop:0}, 'fast'); 
                        $.ajax({ url: url, cache: false, success: function(html){
                            thisContext.show();
                            $("#CartLink").html(html);
                            $("#CartOverlayTitleItems").html($("#CartLink a").html());
                            $("#CartOverlayBodyWrapper").load("/?action=cart_overlay");
                            pageTracker._trackPageview("/cart_added_item" );
                        }});
                    },
                    
                    getOverlayHtml: function() {
                        var html = '<div id="CartOverlayWrapper">';
                        html +=     '<div id="CartShadow">';
                        html +=     '<div id="CartOverlay">';
                        html +=         '<div id="CartOverlayContents">';
                        html +=             '<div id="CartOverlayTitle">';
                        html +=                 '<div id="CartOverlayClose"><a onClick="' + ZONTIK.Delegate.createAsString(this, this.hide) + '"><img src="/images/overlay.close.gif"></a></div>';
                        html +=                 '<div id="CartOverlayTitleItems"></div>';
                        html +=             '</div>';
                        html +=             '<div id="CartOverlayBodyWrapper"></div>';
                        html +=             '<div id="CartOverlayCheckout"><a href="/checkout"><img src="/images/cart.checkout.gif"></a></div>';
                        html +=         '</div>';
                        html +=         '<div class="Clear"></div>';
                        html +=     '</div>';
                        html +=     '</div>';
                        html += '</div>';
                        return html;
                    },
                    
                    hide: function() {
                        $("#OverlayMatte").remove();
                        $("#CartOverlayWrapper").remove();
                    },

                    remove: function(item) {
                        var thisContext = this;
                        $.ajax({ url: "/?delete_item=" + item, cache: false, success: function(html){
                            if (html) {
                                $("#CartLink").html(html);
                                $("#CartOverlayTitleItems").html($("#CartLink a").html());
                                $("#CartOverlayBodyWrapper").load("/?action=cart_overlay");
                            } else {
                                thisContext.hide();
                                $("#CartLink").html("<p>Your cart is empty.</p>");
                            }
                        }});
                    },

                    show: function() {
                        if(document.magnifyOpen) {
                            magnify.close();
                        }
                        $("body").prepend(this.getOverlayHtml());
                        $("#CartOverlayWrapper").show();
                        $("#CartOverlayTitleItems").html($("#CartLink a").html());
                        $("#CartOverlayBodyWrapper").load("/?action=cart_overlay");
                        pageTracker._trackPageview("/cart_show" );
                    }
                }
            );