function basketSlide(){

	var slideArea = 'basketSummary';
	var contentArea = 'utilsContainer';
	var buttonsArea = 'utilsContainer';
	
	if ($(slideArea) && $(contentArea)){
	
	// create buttons
		if ($(buttonsArea)) {
			var buttonNames = Array ("close", "expand");
			for (var i=0; i<buttonNames.length; i++) {
				var listItem = document.createElement("p");
				var listLink = document.createElement("a");
				$(listLink).setAttribute("href", "#");
				$(listItem).setAttribute("id", buttonNames[i]);
				$(listLink).setHTML(buttonNames[i]);
				listItem.appendChild(listLink);
				$(buttonsArea).appendChild($(listItem));
			}
		}
	
		// instantiate
		var mySlide = new Fx.Slide(slideArea,{
				duration: 600,
				transition: Fx.Transitions.linear,
				onComplete: function(){
/*					$(slideArea).setStyle('overflow','auto');*/
					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(){
/*			$(slideArea).setStyle('overflow','hidden');*/
			$(contentArea).addClass('slideExpanding');
			state = 'opening';
			mySlide.slideIn();
		};

		// close
		this.close = function(){
/*			$(slideArea).setStyle('overflow','hidden');*/
			$(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);
			}
		}
	}
}

var minicart = {
	init: function() {
		if(!document.getElementById("addProduct")) return;
		var addToCartButton = document.getElementById("addProduct");
		var url = document.getElementById("hiddenURL").value;
		addToCartButton.onclick = function(e) {
			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();
	},
	showBasketWhenComplete: function(result) {
		var basketId = "basketSummary";
		var totalsId = "utilsItemPrice";
		var basketObj = $(basketId);
		var totalsObj = $(totalsId);
		if( basketObj != null && totalsObj != null && result != null ) {
			var strResult = result.split('<ul id="basketSummary" 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(); });