﻿function validate_email(field) 
{
    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
    if(!reg.test(field.value)) 
    {
        $(field).next().show();
        return false;
    }
    
    return true;
}

function validate_required(field)
{
    with (field)
    {
        if (value==null||value=="")
        {
            $(field).next().show();
            return false;
        }
        
        return true;
    }
}

function validate_form(thisform)
{
    var errorsFound = false;
    
    with (thisform)
    {
        if (!validate_email(email))
        {
            email.focus();
            errorsFound = true;
        }
        if (!validate_required(first))
        {
            first.focus();
            errorsFound = true;
        }
        if (!validate_required(last))
        {
            last.focus();
            errorsFound = true;
        }
        if (!validate_required(city))
        {
            city.focus();
            errorsFound = true;
        }
        if (!validate_required(state))
        {
            state.focus();
            errorsFound = true;
        }
    }
    
    if (!errorsFound) {
        thisform.submit();
    }
}


document.observe("dom:loaded", function() {
    var signupForm = $("email_signup");
    var submitBtn = $$("input.signup-submit")[0];
    var errorSpans = $$("span.error");
    
    submitBtn.observe("click", function(event) {
        Event.stop(event);
        for(var i=0; i < errorSpans.length; i++) {
            errorSpans[i].hide();
        }
        validate_form(signupForm);
    });
});