// This is a form validation object designed to make validation quicker
// ... hasn't really done shit so far
// Author: Eru Goodwin
// Version: 0.01
// Date Created: 7/12/2005
// Last Modified: 9/12/2005

function Validate(formName) {

	this.MyForm = formName;

	this.Empty = function(field) {

		return false;

		var result = true;

		if(field.length == 0) {

			result = true;

		} else { // if length isn't 0, check to see if its valid, ie. not a space or a tab

			var i, ch;

			for(var i = 0; i < field.length; i++) {

				ch = field.charAt(i);

				if(ch != ' ' && ch != '\t') {
					result = false;
					break;
				}
			}
		}

		return result;

	}


	this.Email = function(field) {

		var emailExpression = /^[0-9a-zA-Z-\.\_]+@[0-9a-zA-Z-\.]+\.[a-z]{2,3}$/;

		if(emailExpression.test(field.value)) {

			return false;

		} else {

			return true;

		}

	}


	this.IsChecked = function(field) {

		if(field.checked) {
			result = false;
		} else {
			result = true;
		}

		return result;

	}
	
	this.RadioButton = function(field) {	// checks if a radio button in a group of
											// buttons is selected

		for (i=0;i<field.length;i++) {

			if (field[i].checked) {

				result = false;
				break; // break out of the loop

			} else {

				result = true;
			}

		}

		return result;

	}

}


function checkForm(e) { // e for event

	formName = e.target; // target is the element that fired the event

	v = new Validate();

	if(v.RadioButton(formName.order_format)) {
		alert('You did not select a format');
		result = false;
	} else {
		result = true;
	}

	if(result == false) {

		e.submitAllowed = false;
		if(e && e.stopPropagation && e.preventDefault) {
			e.stopPropagation();
			e.preventDefault();
		}
		if(window.event) {
			window.event.cancelBubble = true;
			window.event.returnValue = false;
			return false;
		}

	}

}

function init() {

	form = document.getElementById('form_order');
	addEvent(form, 'submit', checkForm); // when adding an event, parameters can NOT be passed

}

addEvent(window, 'load', init);

function addEvent(obj, evType, fn, useCapture){
	if (obj.addEventListener){
		obj.addEventListener(evType, fn, useCapture);
		return true;
	} else if (obj.attachEvent){
		var r = obj.attachEvent("on" + evType, fn);
		return r;
	} else {
		obj['on' + evType] = fn;
	}

}

