
function submitThis(form){
	//alert(form.action);
	form.submit();
}

function tcrcJUMPER(form){
	//alert(form.tcrcJump.value);
	//window.location = form.tcrcJump.value;
	for (var i=0; i<form.tcrcJump.length; i++){
		if(form.tcrcJump.options[i].selected)
			window.location = form.tcrcJump.options[i].value
	}
}

function validateEMAIL_PHONE(emailField, phoneField){
		
	//check to see if phone or email field exceeds maximum length
	if (emailField.value.length > 100){
		alert("Email input is too long.  Input must have fewer than 100 characters.");
		emailField.focus();
		emailField.select();
		return false;
	}
	if (phoneField.value.length > 15){
		alert("Phone input is too long.  Input must have fewer than 15 characters.");
		phoneField.focus();
		phoneField.select();
		return false;
	}
	
	
	//check and see if the phone and email fields are blank
	var bEmail = true;
	var bPhone = true;
	
	if (emailField.value.length == 0){
		bEmail = false;
	}
	if (phoneField.value.length == 0){
		bPhone = false;
	}
	
	if (!bEmail && !bPhone){
		alert("Phone number or email is required is a required field.  Please fill one of them in before continuing.");
		return false;
	}
	
	//check to see if valid characters have been entered into the boxes
	var valid;
	var ok = "yes";
	var temp;
	
	if (bEmail){
		valid = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789@ -.";
		for (var i=0; i<emailField.value.length; i++) {
			temp = "" + emailField.value.substring(i, i+1);
			if (valid.indexOf(temp) == "-1") ok = "no";
		}
		if (ok == "no") {
			alert("Invalid format for E-mail.");
			emailField.focus();
			emailField.select();
			return false;
		}
	}
   if (bPhone){
		valid = "0123456789-() ";
		ok = "yes"
		for (var i=0; i<phoneField.value.length; i++) {
			temp = "" + phoneField.value.substring(i, i+1);
			if (valid.indexOf(temp) == "-1") ok = "no";
		}
		if (ok == "no") {
			alert("Invalid format for Phone Number.");
			phoneField.focus();
			phoneField.select();
			return false;
		}
	}
	
	return true;
	
	
	
	
}

function validateEMAIL(field, area, required) {
	var valid = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789@ -.";
	var ok = "yes";
	var temp;
	//alert(field.name);
	if (field.value.length > 60){
		alert(area + " input too long.  Input must have fewer than 60 characters.");
		field.focus();
		field.select();
		return false;
	}
	if (required){
		if (field.value.length == 0){
			alert(area + " is a required field.  Please fill it in before continuing.");
			field.focus();
			field.select();
			return false;
		}
	}
	for (var i=0; i<field.value.length; i++) {
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}
	if (ok == "no") {
		alert("Invalid format for " + area + ".");
		field.focus();
		field.select();
		return false;
   }
   return true;
}

function validateNUMBER(field, area, max, required) {
	var valid = "0123456789 ";
	var ok = "yes";
	var temp;
	//alert(field.name);
	if (field.value.length > max){
		alert(area + " input too long.  Input must have fewer than " + max + " numbers.");
		field.focus();
		field.select();
		return false;
	}
	if (required){
		if (field.value.length == 0){
			alert(area + " is a required field.  Please fill it in before continuing.");
			field.focus();
			field.select();
			return false;
		}
	}	
	for (var i=0; i<field.value.length; i++) {
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}
	if (ok == "no") {
		alert("Invalid format for " + area + ".");
		field.focus();
		field.select();
		return false;
   }
   return true;
}
function validateCC_NUMBER(field, area, max, required) {
	var valid = "0123456789";
	var ok = "yes";
	var temp;
	//alert(field.name);
	if (required){
		if (field.value.length == 0){
			alert(area + " is a required field.  Please fill it in before continuing.");
			field.focus();
			field.select();
			return false;
		}
	}	
	if (field.value.length != max){
		alert("Invalid length for " + area + ". Please enter the 16 digit Credit Card Number.");
		field.focus();
		field.select();
		return false;
	}
	for (var i=0; i<field.value.length; i++) {
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}
	if (ok == "no") {
		alert("Invalid format for " + area + ".  Please enter 16 numbers.");
		field.focus();
		field.select();
		return false;
   }
   return true;
}

function validatePHONE(field, area, required) {
	var valid = "0123456789-() ";
	var ok = "yes";
	var temp;
	for (var i=0; i<field.value.length; i++) {
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}
	if (ok == "no") {
		alert("Invalid format for " + area + ".");
		field.focus();
		field.select();
		return false;
   }
   if (required){
		if (field.value.length == 0){
			alert("E-mail address or Phone number are required.  Please fill one of them in before continuing.");
			field.focus();
			field.select();
			return false;
		}
	}
   return true;
}

function validateTEXT(field, area, max, required) {
	var valid = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 ,'-.?\r\n()!";
	var ok = "yes";
	var temp;
	//alert(field.name);
	if (field.value.length > max){
		alert(area + " input too long.  Input must have fewer than " + max + " characters.");
		field.focus();
		field.select();
		return false;
	}
	if (required){
		if (field.value.length == 0){
			alert(area + " is a required field.  Please fill it in before continuing.");
			field.focus();
			field.select();
			return false;
		}
	}
	for (var i=0; i<field.value.length; i++) {
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}
	if (ok == "no") {
		alert("Invalid character(s) in " + area + ".");
		field.focus();
		field.select();
		return false;
   }
   return true;
}

function validateZIP(field, area, required) {
	var valid = "0123456789-";
	var hyphencount = 0;

	if (field.length!=5 && field.length!=10) {
		
		if (field.length !=0){
			alert("Please enter your 5 digit or 5 digit + 4 zip code for " + area + ".");
			return false;
		}
	}
	if (required){
		if (field.length == 0){
			alert(area + " is a required field.  Please fill it in before continuing.");
			return false;
		}
	}
	for (var i=0; i < field.length; i++) {
		temp = "" + field.substring(i, i+1);
		if (temp == "-") hyphencount++;
		if (valid.indexOf(temp) == "-1") {
			alert("Invalid characters in your zip code for " + area +".  Please try again.");
			return false;
		}
		if ((hyphencount > 1) || ((field.length==10) && ""+field.charAt(5)!="-")) {
			alert("The hyphen character should be used with a properly formatted 5 digit+four zip code, like '12345-6789' for " + area + ".   Please try again.");
			return false;
		}
	}
	return true;
}

function validateCurrentDate(dMonth, dDay, dYear){
	
	formDate = new Date(dYear, dMonth, dDay);
	today = new Date();
	
	formTime = formDate.getTime();
	todayTime = today.getTime();
	
	if(formTime < todayTime)
	{
		alert("Please enter a valid Expiration Date.");
		return false;
	}

}


function validateContactForm(form){
	if(!validateEMAIL_PHONE(form.Email, form.Phone))
		return false;
	if(!validateZIP(form.Zip.value, "Zip Code", false))
		return false;
	if(!validateTEXT(form.First_Name, "First Name", 32, true))
		return false;
	if(!validateTEXT(form.Last_Name, "Last Name", 32, true))
		return false;
	if(!validateTEXT(form.Address, "Address", 32, false))
		return false;
	if(!validateTEXT(form.City, "City", 32, false))
		return false;
	if(!validateTEXT(form.State, "State", 32, false))
		return false;
	if(!validateTEXT(form.Question, "Question/Comments", 2000, false))
		return false;
	form.submit();
}
