// Validation Routines
var css_valid = "textbox";
var css_invalid = "textbox_invalid";

function validate_null(field)
{
	if(field.value == "")
	{
		field.className = css_invalid;
		
		if(field.nextSibling.id == "required")
			field.nextSibling.innerHTML = "* required";
		return true;
	}
	else
	{
		field.className = css_valid;
		if(field.nextSibling.id == "required")
			field.nextSibling.innerHTML = "*";

		return false;
	}
}

function validate_hash(field)
{
	var hash_img = document.getElementById("hash_img");
	var secure_hash = hash_img.getAttribute("content");

	if(field.value == "")
	{
		field.className = css_invalid;
		
		if(field.nextSibling.id == "required")
			field.nextSibling.innerHTML = "* required";
		return true;
	}
	else if (secure_hash != field.value)
	{
		field.className = css_invalid;

		if(field.nextSibling.id == "required")
			field.nextSibling.innerHTML = "* incorrect pattern";
		return true;
	}
	else
	{
		field.className = css_valid;
		if(field.nextSibling.id == "required")
			field.nextSibling.innerHTML = "*";

		return false;
	}
}

function validate_email(field)
{
	var email_re = /^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/g;
	if(!email_re.test(field.value))
	{
		field.className = css_invalid;
		if(field.nextSibling.id == "required")
			field.nextSibling.innerHTML = "* invalid";
		return true;
	}
	else
	{
		field.className = css_valid;
		if(field.nextSibling.id == "required")
			field.nextSibling.innerHTML = "*";
		return false;
	}
}

function validate_compare(field_one, field_two)
{
	if((field_one.value != "") && (field_two.value != ""))
		if(field_one.value != field_two.value)
		{
			field_one.className = css_invalid;
			if(field_one.nextSibling.id == "required")
				field_one.nextSibling.innerHTML = "* match not found";
			field_two.className = css_invalid;
			if(field_two.nextSibling.id == "required")
				field_two.nextSibling.innerHTML = "* match not found";
			return true;
		}
		else
		{
			field_one.className = css_valid;
			if(field_one.nextSibling.id == "required")
				field_one.nextSibling.innerHTML = "* ";
			field_two.className = css_valid;
			if(field_two.nextSibling.id == "required")
				field_two.nextSibling.innerHTML = "* ";
			return false;
		}
	else
	{
		field_one.className = css_invalid;
		if(field_one.nextSibling.id == "required")
			field_one.nextSibling.innerText = "* required";
		field_two.className = css_invalid;
		if(field_two.nextSibling.id == "required")
			field_two.nextSibling.innerText = "* required";
		
		return true;
	}
}