if (!Array.prototype.forEach)
{
    Array.prototype.forEach = function(fun /*, thisp*/)
    {
        var len = this.length;
        if (typeof fun != "function")
            throw new TypeError();

        var thisp = arguments[1];
        for (var i = 0; i < len; i++)
        {
            if (i in this)
                fun.call(thisp, this[i], i, this);
        }
    };
}

$(function() {
    $('#submitStep1').click(function(){
        $('tr').removeClass('validError');
        $('#errorText').hide();
        var errorField = formValidator();
        //alert(errorField);
        if(errorField.length>0){
            errorField.forEach(function(element, index, array){
                $(element).parent('td').parent('tr').addClass('validError');
            });

            $('#errorText').slideDown(200);
            return false;
        }
        return true;
    });
});

function formValidator(){

    var email_reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
    var int_reg = /^[0-9*]+$/;

    var textReq = Array(
        "#prFs_nazwa",
        "#prFs_adr_city",
        "#prFs_adr_street",
        "#prFs_nip",
        "#prFs_phone",
        "#prFs_kontakt1_fname",
        "#prFs_kontakt1_lname",
        "#prFs_kontakt1_tel",
        "#prFs_oferta"
        );

    var numReq = Array(
        "#prFs_adr_pcode1",
        "#prFs_adr_pcode2"
        );

    var emailReq = Array(
        "#prFs_email",
        "#prFs_kontakt1_email"
        );

    var notZeroReq = Array(
        "#prFs_category1"
        );

    var errorField = Array();

    numReq.forEach(function(element, index, array){
        var temp = $(element).val();
        if(int_reg.test(temp)==false){
            errorField.push(element);
        }
    });

    textReq.forEach(function(element, index, array){
        if($(element).val().length < 1){
            errorField.push(element);
        }
    });

    emailReq.forEach(function(element, index, array){
        var temp = $(element).val();
        if(email_reg.test(temp)==false){
            errorField.push(element);
        }
    });

    notZeroReq.forEach(function(element, index, array){
        if($(element).val() == 0){
            errorField.push(element);
        }
    });

    return errorField;

}
