<!--
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 (form.elements[i].disabled==false) {
{
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 == "d_")
{
more_message = d_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"
}
}
}
}
//This code will prevent a submit if data is incoorect
if (showmsg == "yes")
{
alert(prealert + message + postalert)
}
else
{
//	if (form.onSubmit) {
//		if (form.onSubmit())
//		form.submit();
//	} else {
		if (form.cc_number && form.cc_number_visible) {
			tempcc=form.cc_number_visible.value;
			form.cc_number_visible.value="Encrypting Card Info";
			form.cc_number_visible.disabled=true;
			form.cc_number.value=encrypt(tempcc);
						
		}
		// alert("about to submit!");
		form.submit();
//	}
}
//This code will just warn and then submit if OK is selected.
//if (showmsg == "yes")
//{
//if (confirm("The following form field(s) were incomplete or incorrect:\n\n" + message + "\n\n Please complete or correct the form and submit again."))
//form.submit()
//}
//else
//{
//form.submit()
//}
}
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")
}
}
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)
}
//Email validation added 6/20/98
function e_check(form,x,fieldname,i)
{
for (var y = 0; y <= x; y++)
{
if (form.elements[y].name == fieldname)
break
}
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;
}
}
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;
}
return(msg_addition)
}
function d_check(form,x,fieldname,i)
//date must be in MM/DD/YY format OR M/D/YY or a MIX of the two
// date must be in DD/MM/YYYY format
 {
for (var y = 0; y <= x; y++)
{
if (form.elements[y].name == fieldname)
break
}
var msg_addition = ""
var sDate = form.elements[y].value

// insert legit date validation on form.elements[y].value
// return blank OR form.elements[i].value if date is invalid
if (!isDate(form.elements[y].value)) {
	return(form.elements[i].value);	
} else {
	return "";
}

}
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 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
}
return (code)
}
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
}
}
return i + 32
}
function charSetStr()
{
var str
 str = ' !"#$%&' + "'" + '()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~'
return str
}

// added by rich
function isDate(dtStr){
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strDay=dtStr.substring(0,pos1)
	var strMonth=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	if (pos1==-1 || pos2==-1){
//		alert("The date format should be : dd/mm/yyyy")
		return false
	}
	if (strMonth.length<1 || month<1 || month>12){
//		alert("Please enter a valid month")
		return false
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
//		alert("Please enter a valid day")
		return false
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
//		alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
		return false
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger2(stripCharsInBag(dtStr, dtCh))==false){
//		alert("Please enter a valid date")
		return false
	}
return true
}

var dtCh= "/";
var minYear=1900;
var maxYear=2100;

function isInteger2(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

//-->
