function short_validate(retval)
{
	//first name
	if(!isString(document.forms['theform'].first_name.value))
	{
		if(retval)document.forms['theform'].first_name.focus();
		document.getElementById("first_name_title").className = "form-err";
		retval = false;
	}
	else
	{
		document.getElementById("first_name_title").className = "form-element-title";
	}
	
	//last name
	if(!isString(document.forms['theform'].last_name.value))
	{
		if(retval)document.forms['theform'].last_name.focus();
		document.getElementById("last_name_title").className = "form-err";
		retval = false;
	}
	else
	{
		document.getElementById("last_name_title").className = "form-element-title";
	}

	//email
	if(!isEmail(document.forms['theform'].e_mail.value))
	{
		if(retval)document.forms['theform'].e_mail.focus();
		document.getElementById("email_title").className = "form-err";
		retval = false;
	}
	else
	{
		document.getElementById("email_title").className = "form-element-title";
	}

	//con email
	if(document.forms['theform'].con_e_mail.value != document.forms['theform'].e_mail.value)
	{
		if(retval)document.forms['theform'].e_mail.focus();
		document.getElementById("email_title").className = "form-err";
		document.getElementById("con_email_title").className = "form-err";
		retval = false;
	}
	else
	{
		document.getElementById("con_email_title").className = "form-element-title";
	}

	//password
	if(document.forms['theform'].password.value.length < 3)
	{
		if(retval)document.forms['theform'].password.focus();
		document.getElementById("password_title").className = "form-err";
		retval = false;
	}
	else
	{
		document.getElementById("password_title").className = "form-element-title";
	}

	//con password
	if(document.forms['theform'].con_password.value != document.forms['theform'].password.value)
	{
		if(retval)document.forms['theform'].password.focus();
		document.getElementById("password_title").className = "form-err";
		document.getElementById("con_password_title").className = "form-err";
		retval = false;
	}
	else
	{
		document.getElementById("con_password_title").className = "form-element-title";
	}
	return retval;
}

function validate_char_count()
{
	var retval = true;
	if((document.forms['theform'].pro_duty1.value.length +
		document.forms['theform'].pro_duty2.value.length +
		document.forms['theform'].pro_duty3.value.length +
		document.forms['theform'].educational_experiences1.value.length +
		document.forms['theform'].other_info1.value.length) < 500)
	{
		var err = document.getElementById("error-field");
		err.innerHTML = "Please add more information to your job decription, educational experiences, or other experiences.";
		scroll(0,0);
		retval = false;
	}
	return retval;
}

function validate()
{
	var retval = validate_char_count();
	retval = short_validate(retval);

	//street
	if(!isString(document.forms['theform'].street.value))
	{
		if(retval)document.forms['theform'].street.focus();
		document.getElementById("street_title").className = "form-err";
		retval = false;
	}
	else
	{
		document.getElementById("street_title").className = "form-element-title";
	}

	//city
	if(!isString(document.forms['theform'].city.value))
	{
		if(retval)document.forms['theform'].city.focus();
		document.getElementById("city_title").className = "form-err";
		retval = false;
	}
	else
	{
		document.getElementById("city_title").className = "form-element-title";
	}

	//state
	if(document.forms['theform'].state.selectedIndex == 0)
	{
		if(retval)document.forms['theform'].state.focus();
		document.getElementById("state_title").className = "form-err";
		retval = false;
	}
	else
	{
		document.getElementById("state_title").className = "form-element-title";
	}

	//zip
	if(isString(document.forms['theform'].zip.value != ""))
	{
		if(retval)document.forms['theform'].zip.focus();
		document.getElementById("zip_title").className = "form-err";
		retval = false;
	}
	else
	{
		document.getElementById("zip_title").className = "form-element-title";
	}

	//country
	if(!isString(document.forms['theform'].country.value))
	{
		if(retval)document.forms['theform'].country.focus();
		document.getElementById("country_title").className = "form-err";
		retval = false;
	}
	else
	{
		document.getElementById("country_title").className = "form-element-title";
	}

	//phone
	/*if(!isString(document.forms['theform'].phone.value))
	{
		if(retval)document.forms['theform'].phone.focus();
		document.getElementById("phone_title").className = "form-err";
		retval = false;
	}
	else
	{
		document.getElementById("phone_title").className = "form-element-title";
	}*/

	//degree
	if(document.forms['theform'].degree.selectedIndex == 0)
	{
		if(retval)document.forms['theform'].degree.focus();
		document.getElementById("degree_title").className = "form-err";
		retval = false;
	}
	else
	{
		document.getElementById("degree_title").className = "form-element-title";
	}

	//major
	if(document.forms['theform'].major.selectedIndex == 0)
	{
		if(retval)document.forms['theform'].major.focus();
		document.getElementById("major_title").className = "form-err";
		retval = false;
	}
	else
	{
		document.getElementById("major_title").className = "form-element-title";
	}

	//college years
	/*if(document.theform.college_expr[0].checked && document.forms['theform'].institution_date.selectedIndex == 0)
	{
		if(retval)document.forms['theform'].institution_date.focus();
		document.getElementById("institution_date_title").className = "form-err";
		retval = false;
	}
	else
	{
		document.getElementById("institution_date_title").className = "form-element-title";
	}*/

	//college degree
	/*if(document.theform.college_expr[0].checked && !isString(document.forms['theform'].institution_degree.value))
	{
		if(retval)document.forms['theform'].institution_degree.focus();
		document.getElementById("institution_degree_title").className = "form-err";
		retval = false;
	}
	else
	{
		document.getElementById("institution_degree_title").className = "form-element-title";
	}*/
	//college grad
	/*if(document.theform.college_expr[0].checked && (document.theform.college_grad[0].checked == document.theform.college_grad[1].checked))
	{
		if(retval)document.forms['theform'].college_grad.focus();
		document.getElementById("college_grad_title").className = "form-err";
		retval = false;
	}
	else
	{
		document.getElementById("college_grad_title").className = "form-element-title";
	}*/

	//job1 from
	if(!isDate(document.forms['theform'].pro_from1.value))
	{
		if(retval)document.forms['theform'].pro_from1.focus();
		document.getElementById("job_from1_title").className = "form-err";
		retval = false;
	}
	else
	{
		document.getElementById("job_from1_title").className = "form-element-title";
	}

	//job1 to
	if(!isDate(document.forms['theform'].pro_to1.value))
	{
		if(retval)document.forms['theform'].pro_to1.focus();
		document.getElementById("job_to1_title").className = "form-err";
		retval = false;
	}
	else
	{
		document.getElementById("job_to1_title").className = "form-element-title";
	}
	
	//job1 company name
	if(!isString(document.forms['theform'].pro_name1.value))
	{
		if(retval)document.forms['theform'].pro_name1.focus();
		document.getElementById("job_company1_title").className = "form-err";
		retval = false;
	}
	else
	{
		document.getElementById("job_company1_title").className = "form-element-title";
	}

	//job1 title
	if(!isString(document.forms['theform'].pro_posit1.value))
	{
		if(retval)document.forms['theform'].pro_posit1.focus();
		document.getElementById("job_position1_title").className = "form-err";
		retval = false;
	}
	else
	{
		document.getElementById("job_position1_title").className = "form-element-title";
	}
	
	//job1 desc
	/*if(document.forms['theform'].pro_duty1.value.length < 500)
	{
		if(retval)document.forms['theform'].pro_duty1.focus();
		document.getElementById("job_description1_title").className = "form-err";
		document.getElementById("job_description1_title").innerHTML = "Specific Responsibilities and Applied Knowledge: <br>Please provide more information.";
		retval = false;
	}
	else
	{
		document.getElementById("job_description1_title").className = "form-element-title";
		document.getElementById("job_description1_title").InnerText = "Specific Responsibilities and Applied Knowledge:";
	}*/

	var checkj2 = (document.theform.pro_expr[1].checked||document.theform.pro_expr[2].checked);
	var checkj3 = document.theform.pro_expr[2].checked;

	//job2 from
	if(checkj2 && !isDate(document.forms['theform'].pro_from2.value))
	{
		if(retval)document.forms['theform'].pro_from2.focus();
		document.getElementById("job_from2_title").className = "form-err";
		retval = false;
	}
	else
	{
		document.getElementById("job_from2_title").className = "form-element-title";
	}

	//job2 to
	if(checkj2 && !isDate(document.forms['theform'].pro_to2.value))
	{
		if(retval)document.forms['theform'].pro_to2.focus();
		document.getElementById("job_to2_title").className = "form-err";
		retval = false;
	}
	else
	{
		document.getElementById("job_to2_title").className = "form-element-title";
	}
	
	//job2 company name
	if(checkj2 && !isString(document.forms['theform'].pro_name2.value))
	{
		if(retval)document.forms['theform'].pro_name2.focus();
		document.getElementById("job_company2_title").className = "form-err";
		retval = false;
	}
	else
	{
		document.getElementById("job_company2_title").className = "form-element-title";
	}

	//job2 title
	if(checkj2 && !isString(document.forms['theform'].pro_posit2.value))
	{
		if(retval)document.forms['theform'].pro_posit2.focus();
		document.getElementById("job_position2_title").className = "form-err";
		retval = false;
	}
	else
	{
		document.getElementById("job_position2_title").className = "form-element-title";
	}
	
	//job2 desc
	/*if(checkj2 && document.forms['theform'].pro_duty2.value.length < 500)
	{
		if(retval)document.forms['theform'].pro_duty2.focus();
		document.getElementById("job_description2_title").className = "form-err";
		document.getElementById("job_description2_title").innerHTML = "Specific Responsibilities and Applied Knowledge: <br>Please provide more information.";
		retval = false;
	}
	else
	{
		document.getElementById("job_description2_title").className = "form-element-title";
		document.getElementById("job_description2_title").innerHTML = "Specific Responsibilities and Applied Knowledge:";
	}*/

	
	//job3 from
	if(checkj3 && !isDate(document.forms['theform'].pro_from3.value))
	{
		if(retval)document.forms['theform'].pro_from3.focus();
		document.getElementById("job_from3_title").className = "form-err";
		retval = false;
	}
	else
	{
		document.getElementById("job_from3_title").className = "form-element-title";
	}

	//job3 to
	if(checkj3 && !isDate(document.forms['theform'].pro_to3.value))
	{
		if(retval)document.forms['theform'].pro_to3.focus();
		document.getElementById("job_to3_title").className = "form-err";
		retval = false;
	}
	else
	{
		document.getElementById("job_to3_title").className = "form-element-title";
	}
	
	//job3 company name
	if(checkj3 && !isString(document.forms['theform'].pro_name3.value))
	{
		if(retval)document.forms['theform'].pro_name3.focus();
		document.getElementById("job_company3_title").className = "form-err";
		retval = false;
	}
	else
	{
		document.getElementById("job_company3_title").className = "form-element-title";
	}

	//job3 title
	if(checkj3 && !isString(document.forms['theform'].pro_posit3.value))
	{
		if(retval)document.forms['theform'].pro_posit3.focus();
		document.getElementById("job_position3_title").className = "form-err";
		retval = false;
	}
	else
	{
		document.getElementById("job_position3_title").className = "form-element-title";
	}
	
	//job3 desc
	/*if(checkj3 && document.forms['theform'].pro_duty3.value.length < 500)
	{
		if(retval)document.forms['theform'].pro_duty3.focus();
		document.getElementById("job_description3_title").className = "form-err";
		document.getElementById("job_description1_title").innerHTML = "Specific Responsibilities and Applied Knowledge: <br>Please provide more information.";
		retval = false;
	}
	else
	{
		document.getElementById("job_description3_title").className = "form-element-title";
		document.getElementById("job_description3_title").innerHTML = "Specific Responsibilities and Applied Knowledge:";
	}*/

	// resume
	if(document.theform.resume_expr[0].checked && document.theform.resume_file_name.value == "")
	{
		if(retval)document.theform.resume_file_name.focus();
		document.getElementById("resume-error-div").className = "form-err";
		retval = false;
	}
	else
	{
		document.getElementById("job_description3_title").className = "form-element-title";
	}

	//terms
	if(document.theform.terms[1].checked)
	{
		if(retval)document.forms['theform'].terms[0].focus();
		document.getElementById("term_title").className = "form-err";
		retval = false;
	}
	else
	{
		document.getElementById("term_title").className = "form-element-title";
	}
	return retval;
}


function isString(strValue)
{
  return (typeof strValue == 'string' && strValue != '' && isNaN(strValue));
}

function isNumber(strValue)
{
  return (!isNaN(strValue) && strValue != '');
}

function isEmail(strValue)
{
  var objRE = /^[\w-\.\']{1,}\@([\da-zA-Z-]{1,}\.){1,}[\da-zA-Z-]{2,}$/;

  return (strValue != '' && objRE.test(strValue));
}

function isDate(strValue)
{
	var d=strValue.split("/");
	if(d.length != 3)
		return false;
	return isNumber(d[0]) && isNumber(d[1]) && isNumber(d[2]);
}
