var new_fieldname = ""

function formCheck(form,x)
{
	action =  "Checks Required, Integer and Date"
	var message = ""
	var more_message = ""
	var showmsg = "no"
	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)
		}
		if (more_message != "")
		{
			if (message == "")
			{
				message = more_message
				more_message=""
			}
			else
			{
				message = message + "\n" + more_message
				more_message=""
			}
		}
		if (message > "")
		{
			showmsg = "yes"
		}
	}

	//Prevent submission if data is incorrect
	if (showmsg == "yes")
	{
		alert("One or more form field(s) were incomplete or incorrect.\n\n" + message)
		return false
	}
	else
	{
		return true
	}
}

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
			}
		}
		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 = ""
		}
	}
	return(msg_addition)
}

function i_check(form,x,fieldname,i)
{
	for (var y = 0; y <= x; y++)
	{
		if (form.elements[y].name == fieldname)
			break
	}
	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"
				}
				continue
			}
			if (oneChar < "0" || oneChar > "9")
			{
					msg_addition = form.elements[i].value
			}
		}
	}
	return(msg_addition)
}

function e_check(form,x,fieldname,i)
{
	for (var y = 0; y <= x; y++)
	{
		if (form.elements[y].name == fieldname)
			break
	}
	var msg_addition = ""
	var Temp = form.elements[y]
	var AtSym = Temp.value.indexOf('@')
	var Period = Temp.value.lastIndexOf('.')
	var Space = Temp.value.indexOf(' ')
	var Length = Temp.value.length - 1
	if ((AtSym < 1) || (Period <= AtSym+1) || (Period == Length ) || (Space  != -1))
	{
		msg_addition = form.elements[i].value
	}
	else
	{
		msg_addition = ""
	}
	return(msg_addition)
}

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"
		}
	}
	return (new_msg)
}

function c_check(form,x,fieldname,i) {
	// LuhnCheck
	// Copyright 1998 DataCash Ltd (http://www.datacash.com)
	// Calculates the Luhn check didigit of the input.

	var msg_addition = "";

	//for (var y = 0; y <= x; y++)

	//alert('card=' + form.paynumber.value);
	var cardnumber = form.paynumber.value;
	var re = /[^0-9]/g;
	cardnumber = cardnumber.replace(re, '');
	if (cardnumber.length == 0) msg_addition = form.elements[i].value;
	var store_card = cardnumber;
	var total = 0;
	var d = 0;
	while (cardnumber.length != 0) {
		total += parseInt(cardnumber.substring(cardnumber.length - 1, cardnumber.length));
		cardnumber = cardnumber.substr(0, cardnumber.length - 1);
		d = parseInt(cardnumber.substring(cardnumber.length - 1, cardnumber.length));
		cardnumber = cardnumber.substr(0, cardnumber.length - 1);
		d = isNaN(d) ? 0 : d;
		if (d < 9)
			total += ((d * 2) % 9);
		else
			total += 9;
	}
	if (total % 10 == 0) {
		msg_addition = form.elements[i].value;
	} else {
		msg_addition = "";
	}
	return (msg_addition);
}

function co_check() {
	var credctype = document.join.business;
	if (credctype.options[credctype.selectedIndex].value=="" &&(isNaN(document.join.newbusiness.value) || document.join.newbusiness.value=="")) {
		return("Please Enter your Business Name");
		document.join.newbusiness.focus();
	}
}

