document.observe('dom:loaded', function(e) {
	$$('input[type="text"]').invoke('observe', 'focus', function(e) {
		this.activate();
	});
	if ($('txtSearchTerm')) {
		var searchTerm = $('txtSearchTerm').observe('focus', function(e) {
			if (this.hasClassName('default')) {
				this.removeClassName('default').clear();
			}
		}).observe('blur', function(e) {
			if (!$F(this)) {
				this.addClassName('default').value = 'Product Name';
			}
		});
		$('frmSearch').observe('submit', function(e) {
			if (searchTerm.hasClassName('default')) {
				searchTerm.clear();
			}
		});
	}
	$$('#frmPageSize,#frmSort').each(function(form) {
		new Form.Element.EventObserver(form.down('select'), function(e) {
			form.submit();
		});
		form.down('button').addClassName('hidden');
	});
	if ($('productDetail')) {
		var link = $('createReviewLink'), regex = /\#(.*)$/, form = $(regex.exec(link.href)[1]).hide(), urlMatch = regex.exec(window.location);
		if (urlMatch) {
			var urlObj = $(urlMatch[1]);
			if (urlObj && (urlObj == form || urlObj.descendantOf(form))) {
				form.show();
				new Magic.Rating('rating');
			}
		}
		link.observe('click', function(e) {
			e.preventDefault();
			if (!form.visible()) {
				form.show().down('form').highlight();
				new Magic.Rating('rating');
			}
		});
	}

	if ($('shoppingCart')) {
		$$('#shipCountry,#shipService').each(function(s) {
			new Field.EventObserver(s, function(e) {
				this.element.up('form').submit();
			});
		});
	}
});