function basketSlide(){

    var $ = document.id;
    
    var slideArea = 'basketContent';
    var contentArea = 'utilsContainer';
    var buttonsArea = 'utilsViewCheckout';
    
    if ($(slideArea) && $(contentArea)) {
    
        // create buttons
        if ($(buttonsArea)) {
            var buttonNames = Array("close", "expand");
            // var buttonImageNames = Array (staticRoot +
            // 'img/btn_close_basket.gif', staticRoot +
            // 'img/btn_view_basket.gif');
            for (var i = 0; i < buttonNames.length; i++) {
                // var listItem = document.createElement("li");
                var listItem = new Element('li', {
                    id: buttonNames[i]
                });
                // var listLink = document.createElement("a");
                var listLink = new Element('a', {
                    href: '#'
                });
                // $(listLink).setAttribute("href", "#");
                // $(listItem).setAttribute("id", buttonNames[i]);
                // $(listLink).setHTML(buttonNames[i]+ ' Basket');
                $(listLink).set('html', buttonNames[i]);
                listItem.appendChild(listLink);
                $(buttonsArea).appendChild($(listItem));
                
                /*
                 * var listImage = document.createElement('img');
                 * $(listImage).setAttribute('src', buttonImageNames[i]);
                 * $(listImage).setAttribute('alt', buttonNames[i]+' basket');
                 * $(listLink).appendChild($(listImage));
                 */
            }
        }
        
        // instantiate
        var mySlide = new Fx.Slide(slideArea, {
            duration: 600,
            transition: Fx.Transitions.linear,
            onComplete: function(){
                if (state == 'opening') {
                    $(contentArea).addClass('slideExpanded');
                    $(contentArea).removeClass('slideExpanding');
                }
                else 
                    if (state == 'closing') {
                        $(contentArea).removeClass('slideExpanding');
                        $(contentArea).removeClass('slideCollapsing');
                        state = 'ready';
                    }
            }
        });
        
        // initalise
        mySlide.hide();
        $(contentArea).addClass('slideReady');
        var state = 'ready';
        // expand
        this.expand = function(e){
            $(contentArea).addClass('slideExpanding');
            state = 'opening';
            mySlide.slideIn();
        };
        
        // close
        this.close = function(e){
            $(contentArea).removeClass('slideAuto');
            $(contentArea).removeClass('slideExpanded');
            $(contentArea).addClass('slideCollapsing');
            state = 'closing';
            mySlide.slideOut();
        };
        
        // show
        this.show = function(ms){
            var _self = this;
            _self.expand();
            $(contentArea).addClass('slideAuto');
            setTimeout(function(ms){
                _self.close();
            }, ms);
        };
        
        // event handlers
        if ($('expand') && $('close')) {
            $('expand').onclick = function(e){
                e = new Event(e);
                e.preventDefault();
                basket.expand(e);
            }
            $('close').onclick = function(e){
                e = new Event(e);
                e.preventDefault();
                basket.close(e);
            }
        }
    }
}

/*
 * function loadGIFOrPNG(){ if( (window.location.protocol == "https:") &&
 * (navigator.appName.indexOf("Microsoft") != -1) &&
 * (navigator.appName.indexOf('Opera') == -1) &&
 * (parseFloat(navigator.appVersion.charAt(navigator.appVersion.indexOf('MSIE')+5)) ==
 * 6) ){ if(!document.getElementById("utilsBg")){ return; } else { var
 * targetElement = document.getElementById("utilsBg");
 * targetElement.style.cssText = 'behavior: none; background: url("' +
 * staticRoot + 'img/bag_closed.gif") no-repeat;"'; } } }
 */
var minicart = {
    init: function(){
        var addProductBtnId = "addProduct";
        if (!document.getElementById(addProductBtnId)) 
            return;
        var addToCartButton = $(addProductBtnId);
        var url = document.getElementById("hiddenURL").value;
        addToCartButton.click(function(){
            //e = new Event(e);
            //e.preventDefault();
            minicart.addProduct(document.forms.cartaddproduct, url);
            return false;
        });
    },
    addProduct: function(form, url){
        /*var ajax = new Ajax(url, {
         method : 'post',
         data : form,
         onComplete : minicart.showBasketWhenComplete
         }).request();*/
        var ajax = new Request({
            method: 'post',
            data: form,
            onComplete: minicart.showBasketWhenComplete
        }).send();
    },
    showBasketWhenComplete: function(result){
        var basketId = "basketContent";
        var totalsId = "utilsItemPrice";
        var basketObj = $(basketId);
        var totalsObj = $(totalsId);
        if (basketObj != null && totalsObj != null && result != null) {
            var strResult = result.split('<ul id="basketContent" class="clearfix">');
            var basketResult = strResult[1].split('</ul>');
            basketResult = basketResult[0];
            strResult = result.split('<ul id="utilsItemPrice">');
            
            var totalsResult = strResult[1].split('</ul>');
            totalsResult = totalsResult[0];
            
            basketObj.setHTML(basketResult);
            totalsObj.setHTML(totalsResult);
            
            basket.show('3000');
        }
    }
}

window.addEvent('domready', function(){
    minicart.init();
});
// window.addEvent('load', function(){ loadGIFOrPNG(); });

