	var objIds = new Array('your_name','email_address','web_site','comment','spam_control','your_name_error','email_address_error','web_site_error','comment_error','spam_control_error','comment_preview');
	var objs = new Array();
	
	function init() {
		for (var o = objIds.length-1; o > -1; o--) {
			objs[objIds[o]] = document.getElementById(objIds[o]);
		}
		
		inputs = document.commentsForm.getElementsByTagName('INPUT');
		for (var i = inputs.length-1; i > -1; i--) {
			inputs[i].onkeyup = updatePreview;
		}
		
		objs['comment'].onkeyup = updatePreview;
	}
	
	function updatePreview() {
		var html = objs['comment'].value;
		html += '<div class="tagline">';
		if (objs['email_address'].value.length > 0) {
			html += 'Posted by: <a href="mailto:'+objs["email_address"].value+'">'+objs["your_name"].value+'<\/a>';
		} else {
			html += 'Posted by: '+objs["your_name"].value;
		}
		if (objs['web_site'].value.length > 7) {
			html += ', <a href="'+objs["web_site"].value+'">'+objs["web_site"].value+'<\/a>';
		}
		html += '<\/div>';
		objs['comment_preview'].innerHTML = html;
	}
	
	function validateForm() {
		var valid = true;
		
		// there must be a name
		if (objs['your_name'].value.length < 1) {
			objs['your_name_error'].innerHTML = 'Enter a name. On the &#8217;net, no one knows you&#8217;re a dog.<br \/>';
			valid = false;
		}
		
		// there must be a comment
		if (objs['comment'].value.length < 1) {
			objs['comment_error'].innerHTML = 'Enter your comment. Otherwise, what&#8217;s the point?<br \/>';
			valid = false;
		}
		
		// the spam field must contain abc123
		if (objs['spam_control'].value !== 'abc123') {
			objs['spam_control_error'].innerHTML = 'Enter the super-secret spam control code!<br \/>';
			valid = false;
		}
		
		return valid;
	}

