function basketSlide(){
	
	var slideArea = 'basketContent';
	var contentArea = 'utilsContainer';
	var buttonsArea = 'utilsViewCheckout';
	var toolsArea = 'utilsNav';
	
	var MSIE = /^ms_/.test(document.documentElement.uniqueID);
	var MSIEVersion = (MSIE) ? navigator.appVersion.match(/MSIE (\d\.\d)/)[1] : 0; 
	
	if (MSIE && MSIEVersion <= 6) {
		var iframe = document.createElement('iframe');
		iframe.setAttribute("src", "javascript:'';");
		var parentIframe = document.getElementById('utilsContainer');
		parentIframe.insertBefore(iframe, parentIframe.lastChild);
	}
	
	if ($(slideArea) && $(contentArea)){
	
		// create buttons
		if ($(buttonsArea)) {
			var buttonNames = Array ("Close", "View Bag");
			var buttonClasses = Array ("close", "expand");
			for (var i=0; i<buttonNames.length; i++) {
				var listItem = document.createElement("li");
				var listLink = document.createElement("a");
				$(listLink).setAttribute("href", "#");
				$(listLink).setAttribute("id", buttonClasses[i]);
				$(listLink).setHTML(buttonNames[i]);
				listItem.appendChild(listLink);
				$(listItem).injectTop(buttonsArea);
			}
		}
	
		// instantiate
		var mySlide = new Fx.Slide(slideArea,{
				duration: 600,
				transition: Fx.Transitions.linear,
				onComplete: function(){
					if (state == 'opening'){
						$(contentArea).addClass('slideExpanded');
					} else if (state == 'closing'){
						$(contentArea).removeClass('slideExpanding');
						$(contentArea).removeClass('slideCollapsing');
						state = 'ready';
					}
				}
		});
		
		var myEffects = new Fx.Styles(toolsArea, {
			duration: 600,
			transition: Fx.Transitions.linear
		});
		
		// initalise
		mySlide.hide();
		$(contentArea).addClass('slideReady');
		var state = 'ready';
	
		// expand
		var expand = function(){
			$(contentArea).addClass('slideExpanding');
			state = 'opening';
			mySlide.slideIn();
			if ($(toolsArea)) {
				myEffects.start({
					"margin-bottom": [30, 30]
				});
			}
		};
		this.expand = expand;
		
		// close
		var close = function(){
			$(contentArea).removeClass('slideAuto');
			$(contentArea).removeClass('slideExpanded');
			$(contentArea).addClass('slideCollapsing');
			state = 'closing';
			mySlide.slideOut();
			if ($(toolsArea)) {
				myEffects.start({
					"margin-bottom": [0, 0]
				});
			}
		};
		this.close = close;
		
		// 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').addEvent('click', function(e){e = new Event(e).stop(); expand()});
			$('close').addEvent('click', function(e){e = new Event(e).stop(); close()});
		}

	}
}

