var alertMessage;

function formValidation(formId){
    alertMessage = "";
    $("[class*='required'], [class*='validate']").each(function(){
        var input       = $(this);
        input.removeAttr('style');
        var attrClass   = input.attr('class');
        
        //var   indexOf
        var arrRules    = attrClass.split(';');
       
        for(var i=0;i<arrRules.length;i++){           
            if(arrRules[i].indexOf('required')>=0) required(arrRules[i],input);
            if(arrRules[i].indexOf('validate')>=0) validation(arrRules[i],input);
        }
        
    });
    
    //alert();
 
    if(alertMessage == ""){
        $("#"+formId).submit();
    }else{
        $('.errorMessage').html(alertMessage);
        $('.errorMessage').css({'display':'block'});
    }
       /**/
    
}

function required(rule, obj){
    if(obj.attr('value') == ""){
        //alert(rule.split("::")[1]+" - " + obj);
        alertMessage += rule.split("::")[1] + "<br />\n";
        changeInputStyle(obj);
        
    }
}

function validation(rule, obj){
    var message = rule.split("::")[1];
    var validationType = rule.split("::")[2];
    
    if(validationType == "email"){
        if(!validateEmail(obj.attr('value'))){
            alertMessage += message + "<br />\n";
            changeInputStyle(obj);
        }
    }
    
}
function changeInputStyle(obj){
    obj.css({"border":"1px solid red"});
}

function validateEmail(elementValue){  
    var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;  
    return emailPattern.test(elementValue);  
}  
