function validateGeneral() {
  errorObjs.each( removeErrors );
  errorObjs = errorObjs.compact();
  if ( ! $( "area_interest_rotterdam" ).checked   &&
       ! $( "area_interest_methuen" ).checked    &&
       ! $( "area_interest_louisiana" ).checked  &&
       ! $( "area_interest_syracuse" ).checked   &&
       ! $( "area_interest_rochester" ).checked  &&
       ! $( "area_interest_geneva" ).checked ) {
    var errslider = new ErrorSlider( "top", "areasInterest", false, "Please select your area of interest.", "errorMsg" );
    errslider.displayError();
    errorObjs.push( errslider );
    return false;
  } else if ( ! $( "legal_yes" ).checked && ! $( "legal_no" ).checked ) {
    var errslider = new ErrorSlider( "top", "legalRight", false, "Please select whether you have the legal right to work in the United States.", "errorMsg" );
    errslider.displayError();
    errorObjs.push( errslider );
    return false;
  } else if ( ! $( "worked_before_yes" ).checked && ! $( "worked_before_no" ).checked ) {
    var errslider = new ErrorSlider( "top", "workedBefore", false, "Please select whether you have worked for this company before.", "errorMsg" );
    errslider.displayError();
    errorObjs.push( errslider );
    return false;
  } else if ( $( "worked_before_yes" ).checked && $F( "worked_where" ).blank() ) {
    var errslider = new ErrorSlider( "top", "worked_where", true, "Please enter where you worked before.", "errorMsg" );
    errslider.displayError();
    errorObjs.push( errslider );
    return false;
  } else if ( $( "worked_before_yes" ).checked &&
            ( $F( "from_date" ).blank() ||
              ! dateRegex.test( $F( "from_date" ) ) ) ) {
    var errslider = new ErrorSlider( "top", "from_date", true, "Please enter your start date, in the format MM/DD/YYYY.", "errorMsg" );
    errslider.displayError();
    errorObjs.push( errslider );
    return false;
  } else if ( $( "worked_before_yes" ).checked &&
            ( $F( "to_date" ).blank() ||
              ! dateRegex.test( $F( "to_date" ) ) ) ) {
    var errslider = new ErrorSlider( "top", "to_date", true, "Please enter your end date, in the format MM/DD/YYYY.", "errorMsg" );
    errslider.displayError();
    errorObjs.push( errslider );
    return false;
  } else if ( $( "worked_before_yes" ).checked && $F( "pay" ).blank() ) {
    var errslider = new ErrorSlider( "top", "pay", true, "Please enter your pay rate.", "errorMsg" );
    errslider.displayError();
    errorObjs.push( errslider );
    return false;
  } else if ( $( "worked_before_yes" ).checked && $F( "position" ).blank() ) {
    var errslider = new ErrorSlider( "top", "position", true, "Please enter your position", "errorMsg" );
    errslider.displayError();
    errorObjs.push( errslider );
    return false;
  } else if ( $( "worked_before_yes" ).checked && 
            ( $F( "leaving" ).blank() || $F( "leaving" ).length > 1000 ) ) {
    var errslider = new ErrorSlider( "top", "leaving", true, "Please enter your reason for leaving in 1,000 characters or less.", "errorMsg" );
    errslider.displayError();
    errorObjs.push( errslider );
    return false;
  } else if ( ! $( "now_employed_yes" ).checked && ! $( "now_employed_no" ).checked ) {
    var errslider = new ErrorSlider( "top", "nowEmployed", false, "Please select whether you are currently employed.", "errorMsg" );
    errslider.displayError();
    errorObjs.push( errslider );
    return false;
  } else if ( $( "now_employed_no" ).checked && $F( "unemploy_length" ).blank() ) {
    var errslider = new ErrorSlider( "top", "unemploy_length", true, "Please enter how long you've been unemployed.", "errorMsg" );
    errslider.displayError();
    errorObjs.push( errslider );
    return false;
  } else if ( $F( "fname" ).blank() ) {
    var errslider = new ErrorSlider( "top", "fname", true, "Please enter your first name.", "errorMsg" );
    errslider.displayError();
    errorObjs.push( errslider );
    return false;
  } else if ( $F( "lname" ).blank() ) {
    var errslider = new ErrorSlider( "top", "lname", true, "Please enter your last name.", "errorMsg" );
    errslider.displayError();
    errorObjs.push( errslider );
    return false;
  } else if ( $F( "email" ).blank() || ! emailRegex.test( $F( "email" ) ) ) {
    var errslider = new ErrorSlider( "top", "email", true, "Please enter a valid email address.", "errorMsg" );
    errslider.displayError();
    errorObjs.push( errslider );
    return false;
  } else if ( $F( "dob" ).blank() || ! dateRegex.test( $F( "dob" ) ) ) {
    var errslider = new ErrorSlider( "top", "dob", true, "Please enter your date of birth in the format MM/DD/YYYY.", "errorMsg" );
    errslider.displayError();
    errorObjs.push( errslider );
    return false;
  } else if ( $F( "ssn" ).blank() ||
            ( ! ssnRegex1.test( $F( "ssn" ) ) && ! ssnRegex2.test( $F( "ssn" ) ) ) ) {
    var errslider = new ErrorSlider( "top", "ssn", true, "Please enter your social security number in the format ###-##-####.", "errorMsg" );
    errslider.displayError();
    errorObjs.push( errslider );
    return false;
  } else if ( $F( "street" ).blank() ) {
    var errslider = new ErrorSlider( "top", "street", true, "Please enter your street address.", "errorMsg" );
    errslider.displayError();
    errorObjs.push( errslider );
    return false;
  } else if ( $F( "city" ).blank() ) {
    var errslider = new ErrorSlider( "top", "city", true, "Please enter your city.", "errorMsg" );
    errslider.displayError();
    errorObjs.push( errslider );
    return false;
  } else if ( $F( "state" ).blank() ) {
    var errslider = new ErrorSlider( "top", "state", true, "Please select your state from the drop-down box.", "errorMsg" );
    errslider.displayError();
    errorObjs.push( errslider );
    return false;
  } else if ( $F( "zip" ).blank() ||
            ( ! zipRegex1.test( $F( "zip" ) ) &&
              ! zipRegex2.test( $F( "zip" ) ) &&
              ! zipRegex3.test( $F( "zip" ) ) ) ) {
    var errslider = new ErrorSlider( "top", "zip", true, "Please enter your zip code in the format ##### or #####-####.", "errorMsg" );
    errslider.displayError();
    errorObjs.push( errslider );
    return false;
  } else if ( $F( "phone" ).blank() ||
            ( ! phoneRegex1.test( $F( "phone" ) ) &&
              ! phoneRegex2.test( $F( "phone" ) ) &&
              ! phoneRegex3.test( $F( "phone" ) ) &&
              ! phoneRegex4.test( $F( "phone" ) ) ) ) {
    var errslider = new ErrorSlider( "top", "phone", true, "Please enter your phone number, with area code, in the format (###)###-####, or ###-###-####.", "errorMsg" );
    errslider.displayError();
    errorObjs.push( errslider );
    return false;
  }
  return true;
}

window.onload = function() {
  var leavingObj = new CharacterCounter( "leaving", "leaving-count" );
  
  $( "worked_before_yes" ).onclick = function() { $( 'workedPrevDetail' ).show();   }
  $( "worked_before_no" ).onclick  = function() { $( 'workedPrevDetail' ).hide();   }
  $( "now_employed_yes" ).onclick  = function() { $( "currEmployedDetail" ).hide(); }
  $( "now_employed_no" ).onclick   = function() { $( "currEmployedDetail" ).show(); }
  
  $( "nextBtn" ).onclick = validateGeneral;
}
