﻿function CheckEmploymentRows(personType, personTypeDesc, Errors, line)
{
    var isValid = true;
    var hasData = HasValue(personType + 'EmpName' + line, false) ||
        HasValue(personType + 'EmpPhone' + line + 'Web', false) ||
        HasValue(personType + 'EmpDesc' + line, false) ||
        HasValue(personType + 'EmpYears' + line, false) ||
        HasValue(personType + 'EmpMonths' + line, false);
    if (hasData)
    {
        if (!HasValue(personType + 'EmpYears' + line, false))
        {
            $(personType + 'EmpYears' + line).val('0');
        }
        if (!HasValue(personType + 'EmpMonths' + line, false))
        {
            $(personType + 'EmpMonths' + line).val('0');
        }
    }
    var isComplete = HasValue(personType + 'EmpName' + line, true) &&
        HasValue(personType + 'EmpDesc' + line, true) &&
        HasValue(personType + 'EmpYears' + line, true) &&
        HasValue(personType + 'EmpMonths' + line, true);
    if (hasData && !isComplete)
    {
        isValid = false;
        Errors[Errors.length] = 'Please Enter Entire ' + personTypeDesc + ' Line ' + line + ' Employment';
    }
    if (!hasData || isComplete)
    {
        $(personType + 'EmpName' + line).removeClass('input-validation-error');
        $(personType + 'EmpDesc' + line).removeClass('input-validation-error');
        $(personType + 'EmpYears' + line).removeClass('input-validation-error');
        $(personType + 'EmpMonths' + line).removeClass('input-validation-error');
    }
    return isValid;
}

function ValidateEmployment(personType, personTypeDesc, Errors, years, months)
{
    var isValid = true;
    if (!HasValue(personType + 'EmpName1', true))
    {
        isValid = false;
        Errors[Errors.length] = 'Please Enter ' + personTypeDesc + ' Employer Name';
    }
    if (HasValue(personType + 'EmpPhone1Web', false) && !ValidPhoneNumber(personType + 'EmpPhone1Web', true))
    {
        isValid = false;
        Errors[Errors.length] = 'Please Enter ' + personTypeDesc + ' Employer\'s Phone Number in the format "(555) 555-1212"';
    }
    if (!HasValue(personType + 'EmpDesc1', true))
    {
        isValid = false;
        Errors[Errors.length] = 'Please Enter ' + personTypeDesc + ' Job Description';
    }
    if (!CheckYearsAndMonths(personType, personTypeDesc, Errors, true, '1', 'Emp', 'Employment'))
    {
        isValid = false;
    }
    if (!CheckEmploymentRows(personType, personTypeDesc, Errors, '2'))
    {
        isValid = false;
    }
    if (!CheckYearsAndMonths(personType, personTypeDesc, Errors, false, '2', 'Emp', 'Employment'))
    {
        isValid = false;
    }
    if (HasValue(personType + 'EmpPhone2Web') && !ValidPhoneNumber(personType + 'EmpPhone2Web', true))
    {
        isValid = false;
        Errors[Errors.length] = 'Please Enter ' + personTypeDesc + ' Employer\'s Phone Number in the format "(555) 555-1212"';
    }
    if (!CheckEmploymentRows(personType, personTypeDesc, Errors, '3'))
    {
        isValid = false;
    }
    if (!CheckYearsAndMonths(personType, personTypeDesc, Errors, false, '3', 'Emp', 'Employment'))
    {
        isValid = false;
    }
    if (HasValue(personType + 'EmpPhone3Web', false) && !ValidPhoneNumber(personType + 'EmpPhone3Web', true))
    {
        isValid = false;
        Errors[Errors.length] = 'Please Enter ' + personTypeDesc + ' Line 3 Employer\'s Phone Number in the format "(555) 555-1212"';
    }
    if (!IsTotalAtLeastXMonths(personType + 'EmpYears1', personType + 'EmpMonths1', personType + 'EmpYears2', personType + 'EmpMonths2', personType + 'EmpYears3', personType + 'EmpMonths3', months))
    {
        isValid = false;
        Errors[Errors.length] = 'Please Enter ' + personTypeDesc + ' places of employment for the past ' + years + ' years';
        $(personType + 'EmpYears1').addClass('input-validation-error');
        $(personType + 'EmpMonths1').addClass('input-validation-error');
    }
    return isValid;
}
