window.addEvent('domready', function () {
	var welcome = $('welcome');
	var basketcontents = $('BasketSummary');
	if(welcome && !basketcontents) {
		var basketLink = $('welcome').getElement('a.basket');
		if(basketLink && basketLink.getElement('span.qty')) {
			basketLink.addEvent('mouseover', function () {
				if(!$('BasketSummary')) {
					var basketSummary = new Element('div', {
						'id': 'BasketSummary',
						'html': '<div id="BasketMessage"><p class="loading"><span>loading...</span></p></div><div id="BasketContents"></div>'
					});
					$('wrapper').grab(basketSummary);
					var basketFx = new Fx.Morph('BasketSummary').set({'opacity': 0.5, 'height': $('BasketSummary').getSize().y});
					var req = new Request.HTML({
						method: 'get',
						url: basketLink.get('href')+'xhtml.basket.php',
						data: {},
						onRequest: function() { 
						},
						update: $('BasketContents'),
						onComplete: function(response) {
							basketFx.start({
								'opacity': 1,
								'height': $('BasketMessage').getSize().y+$('BasketContents').getSize().y
							});
							$('welcome').getElement('div.inner').addClass('previewing');
							$('BasketMessage').getElement('p').removeClass('loading');
							$('BasketMessage').getElement('p').set('html', '');
							if(response.length==0) {
								basketLink.getElement('span.qty').destroy();
								basketLink.getElement('span.cost').destroy();
								basketLink.getElement('span.view').set('html', basketLink.getElement('span.view').get('html')+': Empty');
								basketLink.removeEvents('mouseover');
							}
							$('BasketMessage').getElement('p').grab(basketLink.clone());
							var closeLink = new Element('a', {
								'class': 'close',
								'href': '#',
								'html': '<span>&times;</span>'
							});
							closeLink.addEvent('click', function (ev) {
								if(ev) ev.stop();
								basketFx.start({'opacity': 0}).chain(function () {
									$('BasketSummary').destroy();
									$('welcome').getElement('div.inner').removeClass('previewing');
								});
							});
							$('BasketContents').grab(closeLink);
							$('BasketSummary').addEvent('mouseleave', function () {
								this.getElement('a.close').fireEvent('click');
							});
						}
					}).send();
				}
			});
		}
	}
});

