$(document).ready(function() {

    $('#mainnav>ul>li').hover( function () {
        $(this).find('ul').stop(true,true).fadeIn(200);


    }, function () {
        $(this).find('ul').stop(true,true).fadeOut(200);
    });

    $('.validateform').submit( function(e) {

        if(!validate_form(this)) {

            return false;

        } else {

            if( $(this).hasClass('ajax') ) {

                e.preventDefault();
                ajaxSubmit(this);

            }

            return true;

        }

    });

});

function ajaxSubmit (passed) {

    var data = $(passed).serialize();

    var action = $(passed).attr('action');

    $.ajax({
        type: "POST",
        url: action,
        data: data,
        error: function(jqXHR, textStatus, errorThrown) {
            alert('Something broke, please try again.')
        },
        success: function (data, textStatus, jqXHR) {
			$('form').fadeOut( 300, function () {
			
				 $('#contentpadding').append('<div class="formsuccess">We received your submission. Thank You!</div>').hide().fadeIn(300);
				 
			});
           
        }
    });

    

}


function validate_form(passed) {

    var valid = 1;

    $(passed).find('.formerror').remove();

    $(passed).find("input.required, textarea.required").each(function() {



        if($(this).val() == '' || $(this).val() == $(this).parent().find('label').text()) {

            valid = 0;
            add_error(this,'This field may not be left blank');

        } 

    });

    $(passed).find("input.required.emailcheck").each(function() {

        if($(this).val() != $(this).parent().find('label').text()) {

            if(!validate_email($(this).val())) {

                valid = 0;
                add_error(this,'Please Enter A Valid Email');

            }

        } 

    });

    $(passed).find("input.required.robot").each(function() {

        if($(this).val() != $(this).parent().find('label').text()) {

            if($(this).val() != 'robot') {

                valid = 0;
                add_error(this,'Please type "robot" in the box below to prove you are a real person.');

            }

        } 

    });

    return valid;
}

function validate_email(email) {
    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
    if(reg.test(email) == false) {
        return false;
    } else {
        return true;
    }
}

function add_error(passed,error) {

    var invalid_id = $(passed).attr('id');
    //$('#' + invalid_id).css({color:'red'});
    $(passed).parent().append('<div class="formerror">' + error + '</div>');

}
