var validate;
var errmsg;
var namere = /^[A-Za-z ]+$/;
var namexpre = /^[A-Za-z0-9\.\- \'&,]+$/;
var testre = /'/;
var numre = /^\d{1,2}$/;
var phonere = /^\(?[2-9]\d{2}[\)\.-]?\s?\d{3}[\s\.-]?\d{4}$/;
var datere = /^(\d{1,2})[\s\.\/-](\d{1,2})[\s\.\/-](\d{4})$/;

datere =  /^(?=\d)(?:(?:(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})|(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))|(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2}))($|\ (?=\d)))?(((0?[1-9]|1[012])(:[0-5]\d){0,2}(\ [AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2})?$/;

var phone2re = /^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,5})|(\(?\d{2,6}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$/;

var statere = /^AL|AK|AZ|AR|CA|CO|CT|DE|DC|FL|GA|HI|ID|IL|IN|IA|KS|KY|LA|ME|MD|MA|MI|MN|MS|MO|MT|NE|NV|NH|NJ|NM|NY|NC|ND|OH|OK|OR|PA|RI|SC|SD|TN|TX|UT|VT|VA|WA|WV|WI|WY$/;

var zipre = /^[0-9]{5}$/;

function validate_form(thisform)
		
{
		validate = true;
		errmsg = "";		
		
	
		
		validate_required(false, 'firstname', namere, 'Your first name is required information.'); 
		validate_required(false, 'lastname', namere, 'Your last name is required information.'); 
		validate_required(false, 'companyname', namexpre, 'Your business name is required information.'); 
		validate_required(false, 'address', namexpre, 'Your street address is required information.'); 
		validate_required(false, 'city', namere, 'Your city is required information.'); 
		validate_required(false, 'state', statere, 'Your state is required information.'); 
		validate_required(false, 'country', namere, 'Your country is required information.'); 
		validate_required(false, 'zip', namexpre, 'Your postal code is required information.'); 
		validate_Email('emailaddress');

	if (errmsg != "") {
		alert(errmsg);
	} 

		return validate;

}		


function validate_contact(thisform)
		
{
		validate = true;
		errmsg = "";		
		
	
		
		validate_required(false, 'firstname', namere, 'Your first name is required information.'); 
		validate_required(false, 'lastname', namere, 'Your last name is required information.'); 
		validate_required(false, 'companyname', namexpre, 'Your business name is required information.'); 
		validate_required(true, 'address', namexpre, 'Your seems to contain invalid characters.'); 
		validate_required(true, 'city', namere, 'Your city seems to contain invalid characters.'); 
		validate_required(true, 'state', statere, 'Your state seems to contain invalid characters.'); 
		validate_required(true, 'country', namere, 'Your country seems to contain invalid characters.'); 
		validate_required(true, 'zip', namexpre, 'Your postal code seems to contain invalid characters.'); 
		validate_required(true, 'phone', phonere, 'Your phone seems to contain invalid characters.'); 
		validate_Email('emailaddress');
		/*validate_required(true, 'text1', namexpre, 'The other details seems to contain invalid characters.');*/ 

	if (errmsg != "") {
		alert(errmsg);
	} 

		return validate;

}		




function validate_quote(thisform)
		
{
		validate = true;
		errmsg = "";		
		
	
		
		validate_required(false, 'firstname', namere, 'Your first name is required information.'); 
		validate_required(false, 'lastname', namere, 'Your last name is required information.'); 
		validate_required(false, 'companyname', namexpre, 'Your business name is required information.'); 
		validate_required(true, 'address', namexpre, 'Your street address is required information.'); 
		validate_required(true, 'city', namere, 'Your city is required information.'); 
		validate_required(true, 'state', statere, 'Your state is required information.'); 
		validate_required(true, 'country', namere, 'Your country is required information.'); 
		validate_required(true, 'zip', namexpre, 'Your postal code is required information.'); 
		validate_Email('emailaddress');
		validate_required(false, 'phone', phonere, 'Your phone seems to contain invalid characters.'); 
		validate_required(true, 'itemno', namexpre, 'The item number seems to contain invalid characters.'); 
		validate_required(false, 'inside_dimension', namexpre, 'The inside dimension is required information.'); 
		validate_required(false, 'outside_dimension', namexpre, 'The outside dimension is required information.');
		validate_required(false, 'length', namexpre, 'The length seems is required information.');
		
		validate_required(true, 'flange_od', namexpre, 'The flange outside dimension seems to contain invalid characters.');
		validate_required(true, 'flange_thickness', namexpre, 'The flange thickness seems to contain invalid characters.'); 

		validate_required(false, 'material', namexpre, 'The material is required information.'); 
		validate_required(false, 'quantity', namexpre, 'The quantity is required information.'); 
		/* validate_required(true, 'text1', namexpre, 'The other details seems to contain invalid characters.'); */ 
	if (errmsg != "") {
		alert(errmsg);
	} 

		return validate;

}		


function validate_Email(email)
{
	var re = /^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.(?:[A-Za-z]{2}|com|org|net|gov|biz|info|name|aero|biz|info|jobs|museum)$/;
		var email_addr = document.getElementsByName(email);

		var rgxp = new RegExp(re);
		var val = re.test(email_addr[0].value);

		if (!val) {
			validate = validate && val;
			errmsg = errmsg + "Please enter a valid email address\n";
		}	else {
			var emaddr = document.getElementById('emailaddress');
			emaddr.value = email_addr[0].value;
		}
}

function validate_Phone(nullok, field)
{
	var theField;
	theField = document.getElementsByName(field);


		if (nullok) {
			if (theField[0].value == "" || theField[0].value == null ) {
				return true;
			}
		
		}
		

	
	var val = phonere.test(theField[0].value);
	
		if (!val) {
			validate = validate && val;
			errmsg = errmsg + "please enter a valid phone number\n";
		}		

}

function validate_required(nullok, field, re_in, alerttxt)
{
		var theField;
		var ret_val = false;

		theField = document.getElementsByName(field);
		if (nullok) {
			if (theField[0].value == "" || theField[0].value == null ) {
				return true;
			}
		
		}
		
		

/*		var re = new RegExp(re_in); 
		ret_val = 	theField[0].value.match(re);
*/

		ret_val = re_in.test(theField[0].value);

		if (!ret_val) 
		  {
		  	errmsg = errmsg + alerttxt + "\n"; 
			validate = validate && false;
			return false;

		  }
		
		return true;
}


