// Varify Class

function Varify(frm) {

	this.frm = frm;
	this.fields = Array();
	this.errors = Array();
	this.messages = Array();
	this.color = "red";
	this.message = "Please amend ";
	
	this.check = check_f;
	this.clear = clear_f;
	this.values = values_f;
	this.check_email = check_email_f;
	
	function check_f()
	{
		this.clear("errors");
		var allow = 0;
		for(i=0; i<this.fields.length; i++) {
			var tf = document.forms[this.frm][this.fields[i]].value;
			if(document.forms[this.frm][this.fields[i]].name == "email") {
				if(!this.check_email(i)) {
					allow--;
				}
			}
			if(tf.length < 2) {
				document.getElementById(this.errors[i]).innerHTML = '<font color="'+this.color+'"> '+this.message+this.messages[i]+'</font>';
			}
			else {
				allow++;
			}
		}
		if(allow == this.fields.length) { return true; } else { return false; }
	}
	
	function check_email_f(target) {
		var email = document.forms[this.frm].elements[target].value;
		var eAtSymbolAt = email.indexOf('@');
		var eLastDotAt = email.lastIndexOf('.');
		var eSpaceAt = email.indexOf(' ');
		var eLength = email.length;
		if (eAtSymbolAt < 1 || eLastDotAt < eAtSymbolAt || eLength - eLastDotAt <= 2 || eSpaceAt != -1) {
			document.getElementById(this.errors[target]).innerHTML = '<font color="'+this.color+'">'+this.message+this.messages[i]+'</font>';
			document.forms[this.frm].elements[target].focus();
			return false;
		}else{ return true; }

	}
	
	function clear_f(type)
	{
		if(type) {
		if(type == "frm") {
			for(i=0; i<document.forms[this.frm].elements.length; i++) {
				document.forms[this.frm].elements[i].value = "";
			}
		}
		if(type == "errors") {
			for(i=0; i<this.errors.length; i++) {
				document.getElementById(this.errors[i]).innerHTML = "";
			}
		}
		}
		else {
			this.clear("frm");
			this.clear("errors");
		}
	}
	
	function values_f() {
		var rtn = "";
		for(i=0; i<document.forms[this.frm].elements.length; i++) {
			rtn += "&"+document.forms[this.frm].elements[i].name+"="+document.forms[this.frm].elements[i].value;
		}
		return rtn;
	}

}

