var new_fieldname = ""

function check(form,x)
{
var message = ""
var more_message = ""
var reqfields = "frmuserfrmfirstnamefrmlastnamefrmemailfrmloguserfrmlogpasswordfrmlogemail"
var chkbutfields = ""
var intfields = ""
var emailfields = "frmemail"
var textfields = "frmuser"
var pwdfields = "frmpassword"
var aOk=true

x = x -2	
for (var i = 0; i <= x; i++)
	{
		var field = form.elements[i].name
		switch (field)
		{
			case "frmuser" : 
      		fieldname = "Username"
      		break;
			case "frmloguser" : 
      		fieldname = "Username"
      		break;
			case "frmlogpassword" : 
      		fieldname = "Password"
      		break;
			case "frmfirstname" : 
      		fieldname = "First Name"
      		break;
			case "frmlastname" : 
      		fieldname = "Last Name"
      		break;
			case "frmemail" : 
      		fieldname = "Email Address"
      		break;
			case "frmlogemail" : 
      		fieldname = "Email Address"
      		break;
			case "goback" :
			return aOk;

		}
		
		if (reqfields.indexOf(field) >= 0)
		{
			more_message = r_check(form,x,fieldname,i)
			message = message + more_message
		}
		if (chkbutfields.indexOf(field) >= 0)
		{
			more_message = s_check(form,field,fieldname,i)
			chkbutfields = chkbutfields.replace(field,"")
			message = message + more_message
		}
		if (intfields.indexOf(field) >= 0)
		{
			more_message = i_check(form,x,fieldname,i)
			message = message + more_message
		}
		if (emailfields.indexOf(field) >= 0)
		{
			more_message = e_check(form,x,fieldname,i)
			message = message + more_message
		}
		if (textfields.indexOf(field) >= 0)
		{
			more_message = t_check(form,x,fieldname,i)
			message = message + more_message
		}
		if (pwdfields.indexOf(field) >= 0)
		{
			more_message = validatePwd(form,x,fieldname,i)
			message = message + more_message
		}

	}


	//This code will prevent a submit if data is incoorect
	if (message > "")
	{
		alert("The following form field(s) were incomplete or incorrect:\n" + message + "\n\n Please complete or correct the form and submit again.")
		aOk=false
	}

return aOk;
}


function r_check(form,x,fieldname,i)
	{
		var msg_addition = ""

		if (form.elements[i].type == "select-one")
			{
				var l = form.elements[i].selectedIndex
				if (form.elements[i].options[l].value == "")
				{
					msg_addition = "\n" + "You must specify value for " + fieldname
				}
			}
		 else if (form.elements[i].value == "" && form.elements[i].type != "radio" && form.elements[i].type != "checkbox" && form.elements[i].type != "select-one")
			{
				msg_addition = "\n" + fieldname + " is required"
			}
		return(msg_addition)
		}

function s_check(form,field,fieldname,i)
	{
		var msg_addition = ""
		var y = i

		while (form.elements[y].name == field) 
		{
		if (form.elements[y].checked == true)
			{
				msg_addition = ""
				break;
			}
		else
			{
				msg_addition = "\n" + "Please select " + fieldname
			}
		y++;
		}
		return(msg_addition)
	}
		
function i_check(form,x,fieldname,i)
	{
	var msg_addition = ""
	var decimal = ""
	inputStr = form.elements[i].value.toString().replace(/\$|\,/g,'')
	

	
	if ((inputStr == "") || (inputStr < "1"))
		{
			msg_addition = "\n" + fieldname + " is required"
		}
	else
		{
			for (var c = 0; c < inputStr.length; c++)
				{
					var oneChar = inputStr.charAt(c)
					if (c == 0 && oneChar == "-" || oneChar == "."  && decimal == "")
							{
								if (oneChar == ".")
									{
										decimal = "yes"
									}
								continue
								
							}
								if (oneChar < "0" || oneChar > "9")
									{
										msg_addition = "\n" + fieldname + " must be a valid integer"
									}
				}
		}
		return(msg_addition)
	}	
	
	
function e_check(form,x,fieldname,i)
	{
	var msg_addition = ""
	period = ".";

                if (form.elements[i].value == "" || form.elements[i].value.indexOf ('@', 0) < 3)
                        error = 1;
				else
                {
	               test = form.elements[i].value.indexOf('.', form.elements[i].value.indexOf ('@', 0))
					if (test != -1)
					{
						error = 0;
					}
					else
					{
	                	error=1;
					}
                }
                if (error == 1)
				{
               		msg_addition = "\n" + fieldname + " format is incorrect"
				}
                else
                 {
					new_length = form.elements[i].value.length - test
             		if (new_length == 4 || new_length == 3 || (new_length >= 5 && form.elements[i].value.indexOf ('.', (test+1)) != -1))
					{
						msg_addition = ""
					}
					else
						msg_addition = "\n" + fieldname + " format is incorrect"
				}
	return(msg_addition)
	}	

function t_check(form,x,fieldname,i)
	{
		var msg_addition = ""
		var invalid = " "
		if (form.elements[i].value.length < 4 && form.elements[i].value.length > 0) 
		{
			msg_addition = "\n" + fieldname + " must be at least 4 characters long"
		} 
		// check for spaces
		else if (form.elements[i].value.indexOf(invalid) > -1) 
		{
		msg_addition = "\n" + "Spaces in " + fieldname + " are not allowed.";
		}
		return(msg_addition)
	}
	
function validatePwd(form,x,fieldname,i) {
var msg_addition = ""
var invalid = " "; // Invalid character is a space
var minLength = 4; // Minimum length
var x = i + 1;
var pw1 = form.elements[i].value;
var pw2 = form.elements[x].value;
// check for a value in both fields.
if ((pw1 == '' && form.name == "registerform") || (pw2 == '' && form.name == "registerform")) {
msg_addition = "\n" + "Please enter your password twice.";
}
// check for minimum length
else if (form.elements[i].value.length < minLength){
msg_addition = "\n" + "Your password must be at least " + minLength + " characters long. Try again.";
}
// check for spaces
else if (form.elements[i].value.indexOf(invalid) > -1) {
msg_addition = "\n" + "Spaces in password are not allowed.";
}

else if (pw1 != pw2 && form.name == "registerform") {
msg_addition = "\n" + "You did not enter the same new password twice. Please re-enter your password.";
}

return(msg_addition);
}
 



	

	

	
	
	
