
window.addEvent('domready', function() {
	MINMUSLI.editBasketSlide = new Fx.Slide($('editBasket'), {link: 'chain'}).hide();
	$('editBasket').setStyle('display', 'block');
	$$('.editArticle').addEvent('click', MINMUSLI.articleManager.articleEditPane);
	
	// add mouseover effect
	$$('#basket tbody tr').addEvent('mouseenter', function() { this.addClass('hover'); }).addEvent('mouseleave', function() { this.removeClass('hover') });

	// switch to the right category when the user clicks the article name link
	$$('#basket td.article a').addEvent('click', function(e) {
		if ($('selectToppings')) {
			$$('.categorySheet').removeClass('selected'); // hide others
			$$('#selectToppingsCategories li').removeClass('selected');
			$('categorySheet' + this.retrieve('catId')).addClass('selected'); // show new category
			$('category' + this.retrieve('catId')).addClass('selected');
			$(this.hash.substr(1)).highlight();
		}
	});
	
	// change mix name
	var changeToForm = function() {
		var setNameForm = new Element('form', {
			'action': '', 
			'method': 'post', 
			'id': 'basketSetMixNameForm'
		}).addEvent('submit', function(e) { e.stop(); setNameinput.blur(); });
		var setNameinput = new Element('input', {
			'type': 'text', 
			'value': this.get('text'), 
			'id': 'basketSetMixNameInput',
			'name': 'basketSetMixNameInput',
			'maxlength': 20
		}).inject(setNameForm).addEvent('blur', updateMixName);
		setNameForm.replaces(this);
		$('basketSetMixNameInput').select();
	};
	
	var updateMixName = function(e) {
		e.stop();
		// update name and change back to h2
		var name = $('basketSetMixNameInput').value;
		if (name) {
			if (name.length > 20) {
				alert('Namnet på din müsliblandning kan inte vara längre än 20 tecken.');
				return;
			}
			var basketRequest = new Request({ url: 'index.php' }).get({
				'eID': 'tx_mycereal_basket',
				'action': 'setMixName',
				'name': name,
				'timestamp': new Date().getTime()
			});
		} 
		var mixName = name ? name : defaultMixName;
		new Element('h2', {
			'html': name,
			'id': 'basketMixName'
		}).replaces($('basketSetMixNameForm')).addEvent('click', changeToForm);
	};
	
	$('basketMixName').addEvent('click', changeToForm);
});
