Event.observe(
	document, 
	'dom:loaded', 
	function(e) {
		var feedback_box = $('feedback-box');
		if(feedback_box) {
			var feedback_form = $('feedback-form');
			var disabled_title = 'You must enter a valid email address before you can submit feedback.';
			if(feedback_form) {
				var feedback_submit = new Element('input', { 
					'type': "submit", 
					'name': "feedback-submit", 
					'id': "feedback-submit", 
					'value': "submit", 
					'disabled': 'disabled', 
					'class': 'disabled', 
					'title': disabled_title
				}); 
				feedback_form.insert(feedback_submit);

				var feedback_comments = $('feedback-comments'); 
				var feedback_comments_changed = false;
				var comments_never_cleared = true;
				if(feedback_comments) {
					feedback_comments.observe('focus', function(ee) {
						if(comments_never_cleared) {
							feedback_comments.innerHTML = '';
							feedback_comments.value = '';
							feedback_submit.disabled = false;
							comments_never_cleared = false;
						} 
					});
				}

				var feedback_email = $('feedback-email'); 
				if(feedback_email) {
					var validate_email = function(address) { 
						return /^[\._a-z0-9-]+@[_a-z0-9-]+(\.[_a-z0-9-]+)+$/i.test(address); 
					}
	
					var email_never_cleared = true;
					feedback_email.observe('focus', function(ee) {
						if(email_never_cleared) {
							feedback_email.value = '';
							email_never_cleared = false;
						}
					});

					feedback_email.observe('keypress', function(ee) {
						if(validate_email(feedback_email.value.strip())) {
							feedback_submit.disabled = false;
							feedback_submit.removeClassName('disabled');
							feedback_submit.title = 'Click here to submit your feedback.';
						} else {
							feedback_submit.disabled = true;
							feedback_submit.addClassName('disabled');
							feedback_submit.title = disabled_title;
						}
					});
				}
			}
			feedback_box.show();
		}
	}
);

