function validate_form() {
	var form = document.getElementById('sendstory');
	var inputs = validate_fields(form.getElementsByTagName('INPUT'));
	var textareas = validate_fields(form.getElementsByTagName('TEXTAREA'));
	
	if (inputs && textareas) {
		var checked = document.createElement('input');
		checked.type = 'hidden';
		checked.name = 'checked';
		checked.value = '1';
		form.appendChild(checked);
		
		form.action = 'sendstoryProcess.php';
		form.submit();
	}
}

function validate_fields(fields) {
	var valid = true;
	
	for (i in fields) {
		if ((fields[i].tagName == 'INPUT' || fields[i].tagName == 'TEXTAREA') && (fields[i].value == null || fields[i].value == '')) {
			fields[i].className += ' error';
			valid = false;
		} else {
			switch (fields[i].name) {
				case 'email':
					var email_pattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
					if (!email_pattern.test(fields[i].value)) {
						fields[i].className += ' error';
						valid = false;
					}
					break;
				case 'story':
					var words = fields[i].value.replace(/\s/g, ' ');
					words = words.split(' ').length;
					
					if (words > 500) {
						fields[i].className += ' error';
						valid = false;
					}
					break;
			}
		}
	}
	
	return valid;
}