var success = true;

function SubmitRegistration() {
	var doc = document;
	var docFrm = doc.forms[0];
	
	var valid = ValidateForm();
	
	if(!valid) return;
		docFrm.action = "Registration.aspx"
		docFrm.submit();
}

function SubmitEnquiry(validate, pathAbove)
{

	//var success = true;
	var doc = document;
	var docFrm = doc.forms[0];
	
	if(typeof validate != "undefined" && validate == true)
		var valid = ValidateForm();
	
	if(!valid) return;

	//if(typeof pathAbove != "undefined" && pathAbove == true)
	//	docFrm.action = "../EmailPage.aspx";
	//else
	//	docFrm.action = "EmailPage.aspx";
	
	docFrm.submit();
}



function InvalidateElement(elem)
{
	var ErrMessage = document.getElementById(elem.name + "ErrorMessage");
	
	if(typeof elem.errormessage != "undefined" && elem.errormessage != "")
	{
		if(typeof ErrMessage != "undefined" && ErrMessage != "")
		{
			ErrMessage.innerHTML = elem.errormessage;
		}
	}
	
	success = false;
	//elem.style.backgroundColor = "yellow";
	//elem.style.color = "black";
	elem.style.fontWeight = "";
}

function ValidateElement(elem)
{
	var ErrMessage = document.getElementById(elem.name + "ErrorMessage");
	
	if(typeof elem.errormessage != "undefined" && elem.errormessage != "")
	{
		if(typeof ErrMessage != "undefined" && ErrMessage != "")
		{
			ErrMessage.innerHTML = " ";
		}
	}
	//success = true;
	elem.style.backgroundColor = "";
	elem.style.color = "";
	elem.style.fontWeight = "";
}

function ValidateForm()
{
var doc = document;
var docFrm = doc.forms[0];
	success = true;
	for(var i=0; i < docFrm.length; i++)
	{
		if(docFrm[i].name.substring(0, 1) != "z")continue;
		
		if(typeof docFrm[i].validate != "undefined" && docFrm[i].validate != "")
		{
			
			switch(docFrm[i].validate)
			{
				case "Required":
					if(docFrm[i].value.length < 1)
						InvalidateElement(docFrm[i]);
					else if(docFrm[i].value == "-1")
						InvalidateElement(docFrm[i]);
					else
						ValidateElement(docFrm[i]);
				break;
				case "Required,Number":
					if(docFrm[i].value.length < 1)
						InvalidateElement(docFrm[i]);
					else if(isNaN(docFrm[i].value))
						InvalidateElement(docFrm[i]);
					else
						ValidateElement(docFrm[i]);
				break;
				case "Required,Email":
					if(docFrm[i].value.length < 1)
						InvalidateElement(docFrm[i]);
					else if(!IsEmail(docFrm[i].value))
						InvalidateElement(docFrm[i]);
					else
						ValidateElement(docFrm[i]);
				break;
				case "Number":
					if(isNaN(docFrm[i].value) && docFrm[i].value.length > 0)
						InvalidateElement(docFrm[i]);
					else
						ValidateElement(docFrm[i]);
				break;
				case "Email":
					if(!IsEmail(docFrm[i].value) && docFrm[i].value.length > 0)
						InvalidateElement(docFrm[i]);
					else
						ValidateElement(docFrm[i]);
				break;
			}
			
		}
	}

	return success;
}

function SortColumn(field, column)
{
	docFrm = document.forms[0];
	var order = docFrm.Order.value;

	if(field == docFrm.Sort.value)
	{
		if(order != "Desc")
			order = "Desc";
		else
			order = "";
	}
	else
		order = "";
	
	docFrm.Sort.value = field;
	docFrm.Order.value = order;
	docFrm.OrderColumn.value = column;
	docFrm.submit();
}

// Validates an email and returns true/false.
function IsEmail(email)
{
	var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/

	return re.test(email)
}
