$(document).ready(function() {
    form_handler();
});

function form_handler(){
    //required
    var required_js = $('.required_js');
    var span_required = $('#'+required_js.attr("span"));
    var fill_required = false;
    var required_js_length = required_js.length;
    var required_js_count = 0;

    span_required.css({
        visibility:"hidden"
    });

    required_js.change(function(event) {
        var text = $(this).attr('value');
        (required_js_count >= required_js_length && text != "")? fill_required = true : fill_required = false;
    }).one("keyup", function(){
        required_js_count++;
    });

    //email
    var email_js = $('.email_js');
    var form = email_js.closest('form');
    var span_email = $('#'+email_js.attr("span"));
    var fill_e_mail = false;
    span_email.css({
        visibility:"hidden"
    });

    email_js.change(function(event) {
        var text = $(this).attr('value');
        var at = text.indexOf('@');
        var dot = text.lastIndexOf('.');
        if(at != -1 && dot != -1 && (at<dot) ){
            var temp = new Array();
            temp = text.split('@');
            if( (temp.length < 3) && (temp[0].length >= 1) ) {
                var temp2 = new Array();
                temp2 = temp[1].split('.');
                if( temp2[0] != "" && temp2[1] != "" && (temp2[1].length > 1) ) {
                    span_email.css({
                        visibility:"hidden"
                    });
                    fill_e_mail = true;
                }else {
                    fill_e_mail = false;
                }
            }else {
                fill_e_mail = false;
            }
        } else {
            fill_e_mail = false;
        }
    });

    form.submit(function() {
        if (fill_e_mail && fill_required) {
            return true;
        }else {
            if(fill_e_mail == false){
                span_email.css({
                    visibility:"visible"
                });
            }else {
                span_email.css({
                    visibility:"hidden"
                });
            }
            if(fill_required == false){
                span_required.css({
                    visibility:"visible"
                });
            }else {
                span_required.css({
                    visibility:"hidden"
                });
            }
        }
        return false;
    });

}




