var Form = {
	length : "2"
	,
	check : function(target, fields) {
		var check = Array();
		var f = document.forms[target];
		for(i=0; i<fields.length; i++) {
			var field = fields[i];
			var elem = f.elements[field];
			var value = elem.value;
			var defaultValue = elem.defaultValue;
			
		if(field.toLowerCase().indexOf("email") != -1) {
				if(!this.email(target, field)) {
					check.push(field);	
					continue;
				}
			}
		if( (value.length < this.length) || (value == defaultValue) ) {
				check.push(field);	
			}
		
		}
		
		if(check.length == 0) {
			return true;	
		}
		else {
			var out = "Please amend the following before submitting:\n";
			for(i=0; i<check.length; i++) {
				out +=  check[i]+" \n";
			}
			alert(out);
			f.elements[check[0]].focus();
			return false;	
		}
	}	
	,
	email : function(target, field) {
		var email = document.forms[target].elements[field].value;
		var atSym = email.indexOf('@');
		var dot = email.lastIndexOf('.');
		var space = email.indexOf(' ');
		var len = email.length;
		if (atSym < 1 || dot < atSym || len - dot <= 2 || space != -1) {
			return false;
		}
		else { 
			return true; 
		}
	}
	,
	values : function(target) {
		var f = document.forms[$form];
		var out = "";
		for(i=0; i<f.elements.length; i++) {
			var elem = f.elements[i].name;
			var value = f.elements[i].value;
			out += "&"+elem+"="+value;
		}
		return out;	
	}
	,
	prep : function(target) {
		var f = document.forms[target];
		for (var i=0; i<f.elements.length; i++) {
			var element = f.elements[i];
			if (element.type == "reset"||element.type == "submit"||element.type == "radio"||element.type == "checkbox") { continue };
			if (!element.defaultValue) { continue };
			element.onfocus = function() {
				if (this.value == this.defaultValue) {
					this.value = "";
				}
			}
			element.onblur = function() {
				if (this.value == "") {
					this.value = this.defaultValue;
				}
			}
		}
	}
}