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)
}
else if (messenger == "c_")
{
more_message = c_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)
}

