function validate_contact(){
	document.getElementById('invalid_contact').innerHTML='';
	document.getElementById('invalid_needs').innerHTML='';
	document.getElementById('invalid_org').innerHTML='';
	document.getElementById('invalid_contact').style.display='none';
	document.getElementById('invalid_needs').style.display='none';
	document.getElementById('invalid_org').style.display='none';
	if(!validate_field('field_contact_name',/[^\d\s]{3}/,'You must enter your name.','invalid_contact'))
		return false;
	if(!validate_field('field_title',/[^\d\s]{3}/,'You must enter your title.','invalid_contact'))
		return false;
	if(!validate_field('field_company',/[^\d\s]{3}/,'You must enter your company..','invalid_contact'))
		return false;
	if(!validate_field('field_addr',/[^\d\s]{3}/,'You must enter your address.','invalid_contact'))
		return false;
	if(!validate_field('field_city',/[^\d\s]{3}/,'You must enter your city.','invalid_contact'))
		return false;
	if(!validate_field('field_state',/[^\d\s]{2}/,'You must select your state/province.','invalid_contact'))
		return false;
	if(!validate_field('field_zip',/[0-9A-Za-z]{5}/,'You must enter your zip/postal code.','invalid_contact'))
		return false;
	if(!validate_field('field_phone',/[\d]{3}/,'You must enter your phone number.','invalid_contact'))
		return false;
//	if(!validate_field('field_phone',/[(]{0,1}[0-9]{3}[)-]{0,1}[0-9]{3}[-]{0,1}[0-9]{4}/,'Phone number must be in xxx-xxx-xxxx format.','invalid_contact'))
//		return false;
//	if(!validate_field('field_fax',/[\d]{3}/,'You must enter your fax number.','invalid_contact'))
//		return false;
//	if(!validate_field('field_fax',/[(]{0,1}[0-9]{3}[)-]{0,1}[0-9]{3}[-]{0,1}[0-9]{4}/,'Fax number must be in xxx-xxx-xxxx format.','invalid_contact', true))
//		return false;
	if(!validate_field('field_email',/[^\d\s]{3}/,'You must enter your email address.','invalid_contact'))
		return false;
	if(!validate_field('field_email',/[^\s<>]+@[a-zA-Z0-9\._-]+\.[a-zA-Z]{2,4}/,'Invalid email address.','invalid_contact'))
		return false;
//	if(!validate_field('field_business_type',/[^\d\s]{3}/,'You must select your business type.','invalid_org'))
//		return false;
//	if(!validate_field('field_SIC',/[\d]{3}/,'You must select your industry.','invalid_org'))
//		return false;
//	if(!validate_field('field_employees',/[^\s]{3}/,'You must select your number of employees.','invalid_org'))
//		return false;
//	if(!validate_field('field_revenue',/[^\d\s]{3}/,'You must select your business revenue.','invalid_org'))
//		return false;
	if(document.getElementById('field_needother').checked){
		if(!validate_field('field_need_other',/[^\d\s]{3}/,'Please describe your &ldquo;Other&rdquo; need.','invalid_needs'))
			return false;
	}
	return true;
}

function validate_marketing_rx(){
	document.getElementById('invalid_contact').innerHTML='';
	document.getElementById('invalid_check').innerHTML='';
	document.getElementById('invalid_contact').style.display='none';
	document.getElementById('invalid_check').style.display='none';
	if(!validate_field('field_contact_name',/[^\d\s]{3}/,'You must enter your name.','invalid_contact'))
		return false;
//	if(!validate_field('field_title',/[^\d\s]{3}/,'You must enter your title.','invalid_contact'))
//		return false;
	if(!validate_field('field_company',/[^\d\s]{3}/,'You must enter your company..','invalid_contact'))
		return false;
	if(!validate_field('field_phone',/[\d]{3}/,'You must enter your phone number.','invalid_contact'))
		return false;
	if(!validate_field('field_phone',/[(]{0,1}[0-9]{3}[)-]{0,1}[0-9]{3}[-]{0,1}[0-9]{4}/,'Phone number must be in xxx-xxx-xxxx format.','invalid_contact'))
		return false;
	if(!validate_field('field_email',/[^\d\s]{3}/,'You must enter your email address.','invalid_contact'))
		return false;
	if(!validate_field('field_email',/[^\s<>]+@[a-zA-Z0-9\._-]+\.[a-zA-Z]{2,4}/,'Invalid email address.','invalid_contact'))
		return false;
	
	return true;
}


function validate_field(field_id, regex, err_msg, err_target, empty_ok){
	var field=document.getElementById(field_id);
	if(typeof(field)=='undefined' || field==null){
		alert('attempt to validate field "'+field+'" failed.  Unable to find field');
		return false;
	}
	if(!regex.test(field.value)){
		if(empty_ok && field.value=='')
			return true;
		var err_obj=document.getElementById(err_target);
		if(typeof(err_obj)=='undefined' || field==null){
			alert('attempt to validate field "'+field_id+'" failed.  Unable to find error target "'+err_msg+'"');
			return false;
		}
		err_obj.innerHTML=err_msg;
		err_obj.style.display='block'
		field.focus();
		scrollTo(0,err_obj.offsetTop-10);
		//if(field.offsetTop>err_obj.offsetTop){
		//	scrollBy(0,err_obj.offsetTop-field.offsetTop-25);
		//}else{
		//	scrollBy(0,field.offsetTop-err_obj.offsetTop-25);
		//}
		return false;
	}
	return true;
}