var new_fieldname = ""

function check(form,x)
{
	//If you would like to use this script please do not remove the next 4 lines
	script_name = "Form Validator ver 2.0"
	action =  "Checks Required, Integer and Date"
	copyright = "(c) 1998 - Art Lubin / Artswork"
	email = "perflunk@aol.com"
	var set_up_var = doall(script_name, copyright, email)
	var message = ""
	var more_message = ""
	var showmsg = "no"
	if (set_up_var == 5872)
	{
		x = x - 1
		for (var i = 0; i <= x; i++)
		{
 			var messenger = form.elements[i].name
			messenger = messenger.substring(0, 2)
			var fieldname = form.elements[i].name
			fieldname = fieldname.substring(2)
			{
				if (messenger == "r_")
				{
					more_message = r_check(form,x,fieldname,i)
				}
				else if (messenger == "i_")
				{
					more_message = i_check(form,x,fieldname,i)
				}
				else if (messenger == "e_")
				{
					more_message = e_check(form,x,fieldname,i)
				}//end messenger check

				if (more_message != "")
		        {
					if (message == "")
					{
						message = more_message
						more_message=""
					}
					else
					{
				        message = message + "\n" + more_message
						more_message=""
					}
		        }//end more_message check

				if (message > "")
				{
					showmsg = "yes"
				}//end message check
			}//end code block
		}//end for loop

		//This code will prevent a submit if data is incoorect
		if (showmsg == "yes")
			{
				alert("The following form field(s) were incomplete or incorrect:\n\n" + message + "\n\n Please complete or correct the form and submit again.")
			}
		else
			{
				//form.submit()
				return true
			}
	}
	else
	{
		alert ("The copyright information has been changed. \n In order to use this javascript please keep the copyright information intact. \n\n Script Name: Form Validator ver 2.0 \n Copyright: (c) 1998 - Art Lubin / Artswork \n Email: perflunk@aol.com")
	}//end set_up_var check
}//end check()

function r_check(form,x,fieldname,i)
{
	var msg_addition = ""
	new_fieldname = fieldname
	for (var y = 0; y <= x; y++)
	{
		if ((form.elements[y].type == "radio" || form.elements[y].type == "checkbox") && form.elements[y].name == new_fieldname && form.elements[y].checked == true)
		{
			msg_addition = ""
			break
		}
		else if ((form.elements[y].type == "radio" || form.elements[y].type == "checkbox") && form.elements[y].name == new_fieldname && form.elements[y].checked == false)
		{
			msg_addition = form.elements[i].value
		}
		else if (form.elements[y].type == "select-one")
		{
			var l = form.elements[y].selectedIndex
			if (form.elements[y].name == fieldname && form.elements[y].options[l].value != "")
			{
				msg_addition = ""
				break
			}
			else if (form.elements[y].name == fieldname && form.elements[y].options[l].value == "")
			{
				msg_addition = form.elements[i].value
			}//end if
		}
		else if (form.elements[y].name == fieldname && form.elements[y].value == "" && form.elements[y].type != "radio" && form.elements[y].type != "checkbox" && form.elements[y].type != "select-one")
		{
			msg_addition = form.elements[i].value
			break
		}
		else if (form.elements[y].name == fieldname && form.elements[y].value != "" && form.elements[y].type != "radio" && form.elements[y].type != "checkbox" && form.elements[y].type != "select-one")
		{
			msg_addition = ""
		}//end if
	}//end for loop
	return(msg_addition)
}//end r_check()

function i_check(form,x,fieldname,i)
{
	for (var y = 0; y <= x; y++)
	{
		if (form.elements[y].name == fieldname)
			break
	}//end for loop

	var msg_addition = ""
	var decimal = ""
	inputStr = form.elements[y].value.toString()

	if (inputStr == "")
	{
		//msg_addition = form.elements[i].value
	}
	else
	{
		for (var c = 0; c < inputStr.length; c++)
		{
			var oneChar = inputStr.charAt(c)
			if (c == 0 && oneChar == "-" || oneChar == "."  && decimal == "")
			{
				if (oneChar == ".")
				{
					decimal = "yes"
				}//end if
				continue
			}//end if
			if (oneChar < "0" || oneChar > "9")
			{
				msg_addition = form.elements[i].value
			}//end if
		}//end for loop
	}//end if
	return(msg_addition)
}//end i_check()

function e_check(form,x,fieldname,i)
{
	for (var y = 0; y <= x; y++)
	{
		if (form.elements[y].name == fieldname)
			break
	}//end for loop

	var msg_addition = ""
	period = ".";

	if (form.elements[y].value == "" || form.elements[y].value.indexOf ('@', 0) < 3)
		error = 1;
	else
	{
		test = form.elements[y].value.indexOf('.', form.elements[y].value.indexOf ('@', 0))
		if (test != -1)
		{
			error = 0;
		}
		else
		{
			error=1;
		}//end if
	}//end if

	if (error == 1)
	{
		msg_addition = form.elements[i].value
	}
	else
	{
		new_length = form.elements[y].value.length - test
		if (new_length == 4 || new_length == 3 || (new_length >= 5 && form.elements[y].value.indexOf ('.', (test+1)) != -1))
		{
			msg_addition = ""
		}
		else
			msg_addition = form.elements[i].value;
	}//end if
	return(msg_addition)
}//end e_check

function isInteger(sDate)
{
	var new_msg = "true"
	inputStr = sDate.toString()
	for (var i = 0; i < inputStr.length; i++)
	{
		var oneChar = inputStr.charAt(i)
		if ((oneChar < "0" || oneChar > "9") && oneChar != "/")
		{
			new_msg = "false"
		}//end if
	}//end for loop
	return (new_msg)
}//end isInteger

function doall(script_name, copyright, email)
{
	var code = 0
	var test = script_name + copyright + email
	for (var a = 0; a < test.length; a++)
	{
		var each_char = test.charAt(a)
		var x = asc(each_char)
		code += x
	}//end for
	return (code)
}//end doall

function asc(each_char)
{
	var n = 0
	var char_str = charSetStr()
	for (i = 0; i < char_str.length; i++)
	{
		if (each_char == char_str.substring(i, i+1))
		{
			break
		}//end if
	}//end for
	return i + 32
}//end asc()

function charSetStr()
{
	var str
	str = ' !"#$%&' + "'" + '()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~'
	return str
}//end charSetStr()
