(function () {
	var RCH = {
		cancelForms: function () {
			var cancel_buttons = $$('form a.cancel');
			var resetForm = function(event) {
				event.stop();
				this.up('form').reset();
			};
			
			cancel_buttons.invoke('observe', 'click', resetForm);
		},
	
		submitForms: function () {
			var forms = $$('form');
			var writePleaseWait = function() {
				var submit_button = arguments[0];
				
				if ( submit_button ) { return submit_button.writeAttribute({ value: 'Please wait...' }).disable(); }
			};
			
			forms.invoke('observe', 'submit', function() { this.select('input[type=submit]').map(writePleaseWait); });
		},
		
		positionMenu: function () {
			$$('#header #main_menu > ol > li').each(function (li, i) {
				if (i === 0) { return; }
				if (li.down('ul') && li.down('ul').down('li') && li.down('ul').down('li').down('a')) {
					li.down('ul').down('li').down('a').setStyle({
						paddingLeft: (li.positionedOffset().left - 20) + 'px'
					});
				}
			});
		}
	};
	
	// now call these functions
	document.observe('dom:loaded', function() {
		RCH.cancelForms();
		RCH.positionMenu();
	});
})();
