$(document).ready(function() {

    children = $("#children").val();
    adultspag = $("#adultspag").val();
    childspag = $("#childspag").val();
    adultlunch = $("#adultlunch").val();
    childlunch = $("#childlunch").val();
    babysitees = $("#babysitees").val();
    babysitters = $("#babysitters").val();

    name = $("#name").val();
    familyname = $("#familyname").val();
    address = $("#address").val();
    phone = $("#phone").val();
    email = $("#email").val();
    total = 0;
    errorcount = 0;

    adults = $("#adults").val();
    
        if ((adults + children) > 0) {
            $("#adults").removeClass('bad good').addClass('good');
            $("#children").removeClass('bad').addClass('good');
        }
        else {
            errorcount++;
            $("#adults").removeClass('good bad').addClass('bad');
            $("#children").removeClass('good').addClass('bad');
        }
        if ((adults + children) > 0) {
            $("#children").removeClass('bad good').addClass('good');
            $("#adults").removeClass('bad').addClass('good');
        }
        else {
            errorcount++;
            $("#children").removeClass('good bad').addClass('bad');
            $("#adults").removeClass('good').addClass('bad');
        }        
        checkClass(adultspag, "#adultspag");
        checkClass(childspag, "#childspag");
        checkClass(adultlunch, "#adultlunch");
        checkClass(childlunch, "#childlunch");
        checkClass(babysitees, "#babysitees");
        checkClass(babysitters, "#babysitters");
        if (name === '') {
             $("#name").removeClass('good bad').addClass('bad');
        }
        else {
             $("#name").removeClass('bad good').addClass('good');
        }
        if (familyname === '') {
             $("#familyname").removeClass('good bad').addClass('bad');
        }
        else {
             $("#familyname").removeClass('bad good').addClass('good');
        }
        if (address === '') {
             $("#address").removeClass('good bad').addClass('bad');
        }
        else {
             $("#address").removeClass('bad good').addClass('good');
        }
        if (email === '' || isValidEmailAddress(email) === false) {
             $("#email").removeClass('good bad').addClass('bad');
        }
        else {
             $("#email").removeClass('bad good').addClass('good');
        }
        checkClass(phone, this);
    doMath();


    ////////////////////////////////


    $("#adults").numeric().keyup((function() {
        adults = $(this).val();
        if ((adults + children) > 0) {
            $(this).removeClass('bad good').addClass('good');
            $("#children").removeClass('bad').addClass('good');
        }
        else {
            $(this).removeClass('good bad').addClass('bad');
            $("#children").removeClass('good').addClass('bad');
        }
        doMath();
    }));
    $("#children").numeric().keyup((function() {
        children = $(this).val();
        if ((adults + children) > 0) {
            $(this).removeClass('bad good').addClass('good');
            $("#adults").removeClass('bad').addClass('good');
        }
        else {
            $(this).removeClass('good bad').addClass('bad');
            $("#adults").removeClass('good').addClass('bad');
        }
        doMath();
    }));

    $("#adultspag").numeric().keyup((function() {
        adultspag = $(this).val();
        checkClass(adultspag, this);
        doMath();
    }));
    $("#childspag").numeric().keyup((function() {
        childspag = $(this).val();
        checkClass(childspag, this);
        doMath();
    }));
    $("#adultlunch").numeric().keyup((function() {
        adultlunch = $(this).val();
        checkClass(adultlunch, this);
        doMath();
    }));
    $("#childlunch").numeric().keyup((function() {
        childlunch = $(this).val();
        checkClass(childlunch, this);
        doMath();
    }));
    $("#babysitees").numeric().keyup((function() {
        babysitees = $(this).val();
        checkClass(babysitees, this);
        doMath();
    }));
    $("#babysitters").numeric().keyup((function() {
        babysitters = $(this).val();
        checkClass(babysitters, this);
        doMath();
    }));
    $("#name").keyup((function() {
        name = $(this).val();
        if (name === '') {
             $(this).removeClass('good bad').addClass('bad');
        }
        else {
             $(this).removeClass('bad good').addClass('good');
        }
        doMath();
    }));
    $("#familyname").keyup((function() {
        familyname = $(this).val();
        if (familyname === '') {
             $(this).removeClass('good bad').addClass('bad');
        }
        else {
             $(this).removeClass('bad good').addClass('good');
        }
        doMath();
    }));
    $("#address").keyup((function() {
        address = $(this).val();
        if (address === '') {
             $(this).removeClass('good bad').addClass('bad');
        }
        else {
             $(this).removeClass('bad good').addClass('good');
        }
        doMath();
    }));
    $("#phone").numeric().keyup((function() {
        phone = $(this).val();
        checkClass(phone, this);
        doMath();
    }));
    $("#email").keyup((function() {
        email = $(this).val();
        if (email === '' || isValidEmailAddress(email) === false) {
             $(this).removeClass('good bad').addClass('bad');
        }
        else {
             $(this).removeClass('bad good').addClass('good');
        }
        doMath();
    }));

});

function checkClass(num, element) {
    if (num > 0) {
            $(element).addClass('good');
        }
        else {
            $(element).removeClass('good');
        }
}

function doMath() {
    total = 0;
    if (adults + children > 0) {
        total = 15;
    }
    if (adultspag > 0 && adultspag != '') {
        total = total + (adultspag * 12);
    }
    if (childspag > 0 && childspag != '') {
        total = total + (childspag * 8);
    }
    if (adultlunch > 0 && adultlunch != '') {
        total = total + (adultlunch * 10);
    }
    if (childlunch > 0 && childlunch != '') {
        total = total + (childlunch * 8);
    }

    $('#total').text('$' + total + '.00');
}

//^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$

function isValidEmailAddress(emailAddress) {
var pattern = new RegExp(/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i);
return pattern.test(emailAddress);
}
