Saucy = {
	
	init: function() {
		Saucy.initPrintLinks();
		Saucy.initRecipe();
		Saucy.initShare();
		Saucy.initHovers();
	},

	initHovers: function() {
		$$('#content ul#recipes li').each(function(el) {
			el.observe('mouseover', function(e) { el.addClassName('hover'); });
			el.observe('mouseout', function(e) { el.removeClassName('hover'); });
		});
	},

	initPrintLinks: function() {
		$$('a.print').each(function(el) {
			el.observe('click', function(e) {
				window.print();
				Event.stop(e);
			});
			el.setStyle({visibility:'visible'});
		});
	},

	initRecipe: function() {
		if ($('RecipeCookbooks') != null) {
			new Ajax.Autocompleter('RecipeCookbooks', 'RecipeCookbooks_autocomplete', '/cookbooks/autocomplete', {
				paramName: 'search',
				updateElement: function(li) {
					var cookbook = li.innerHTML.stripTags();
					var list = $F('RecipeCookbooks');
					if (list.include(',')) list = list.replace(/^(.*),[^,]+/, "$1, ");
					else list = '';
					$('RecipeCookbooks').value = list + cookbook;
				}
			});
		}
	},

	initShare: function() {
		$$('fieldset.share-address.hide').each(function(el) {
			el.hide();
			el.previous().insert('<div class="add-container"><a class="add" href="#">Share with another friend or family member</a></div>').down('a.add').observe('click', function(e) {
				el.previous().down('a.add').hide();
				el.show();
				Event.stop(e);
			});
		});

		$$('input.share').each(function(el) {
			var nameEl = el.up('fieldset').down('input.share.name');
			var emailEl = el.up('fieldset').down('input.share.email');
			new Ajax.Autocompleter(el, el.id+'_autocomplete', '/addresses/autocomplete', {
				updateElement: function(li) {
					nameEl.value = li.down('span.name').innerHTML.stripTags().unescapeHTML();
					emailEl.value = li.down('span.email').innerHTML.stripTags().unescapeHTML();
				}
			});
		});
	}

};

document.observe('dom:loaded', Saucy.init);
