﻿
var FormValidators = function () { var LastResult = false; };


FormValidators.prototype =
{

    IsEmail: function (element, result, warning) {       // matches: at least x@y.zz
        
        var reg = new RegExp("^([0-9a-zA-Z]+([_.-]?[0-9a-zA-Z]+)*@[0-9a-zA-Z]+[0-9,a-z,A-Z,.,-]*(.){1}[a-zA-Z]{2,4})+$");

        if (!reg.test($(element).val())) {

            $(element).css("color", "red");
            $(result).text(warning);
            LastResult = false;
        }
        else {

            $(element).css("color", "black");
            $(result).text("");
            LastResult = true;
        }
    },



    IsName: function (element, result, warning) {     // matches: at least one letter, digits are not allowed

        var reg = new RegExp("^[a-zA-ZěščřžňťýáíéůúĚŠČŘŽÝÁÍÉŮÚŇŤ. ]+$");

        if (!reg.test($(element).val())) {

            $(element).css("color", "red");
            $(result).text(warning);
            LastResult = false;
        }
        else {

            $(element).css("color", "black");
            $(result).text("");
            LastResult = true;
        }
    },



    IsStreet: function (element, result, warning) {     // matches: at least one letter, digits are not allowed

        //   var reg = new RegExp("^[a-zA-ZěščřžňťýáíéůúĚŠČŘŽÝÁÍÉŮÚŇŤ. ]+$");
        var reg = new RegExp("^[0-9a-zA-ZěščřžňťýáíéůúĚŠČŘŽÝÁÍÉŮÚŇŤ. ]+ *.*$");

        if (!reg.test($(element).val())) {

            $(element).css("color", "red");
            $(result).text(warning);
            LastResult = false;
        }
        else {

            $(element).css("color", "black");
            $(result).text("");
            LastResult = true;
        }
    },



    IsCity: function (element, result, warning) {     // matches: at least one letter, digits are not allowed

        var reg = new RegExp("^[0-9a-zA-ZěščřžňťýáíéůúĚŠČŘŽÝÁÍÉŮÚŇŤ. ]+$");

        if (!reg.test($(element).val())) {

            $(element).css("color", "red");
            $(result).text(warning);
            LastResult = false;
        }
        else {

            $(element).css("color", "black");
            $(result).text("");
            LastResult = true;
        }
    },



    IsZIP: function (element, result, warning) {     // matches: "XXXXX" or "XXX XX", where X are digits

        var reg = new RegExp("^(([0-9]{5})|([0-9]{3} [0-9]{2}))$");

        if ($(element).val().length > 0 && $(element).val() != "formát XXX XX") {
            if (!reg.test($(element).val())) {

                $(element).css("color", "red");
                $(result).text(warning);
                LastResult = false;
            }
            else {

                $(element).css("color", "black");
                $(result).text("");
                LastResult = true;
            }
        }
        else {
            $(element).css("color", "#bbb");
            $(result).text("");
        }
    },



    IsPhone: function (element, result, warning) {     // matches: could be (+420) with "XXXXXXXXX" or "XXX XXX XXX", just digits

        var reg = new RegExp("^([\(]?[\+](420)[\)]?)? ?([0-9]{3} ?/? ?[0-9]{3} ?[0-9]{3})$");

        if (!reg.test($(element).val())) {

            $(element).css("color", "red");
            $(result).text(warning);
            LastResult = false;
        }
        else {

            $(element).css("color", "black");
            $(result).text("");
            LastResult = true;
        }
    },



    IsICO: function (element, result, warning) {       // matches: at least 5 digits

        var reg = new RegExp("^[0-9]{5,}$");

        if ($(element).val().length > 0 && $(element).val() != "min 5 znaků") {
            if (!reg.test($(element).val())) {

                $(element).css("color", "red");
                $(result).text(warning);
                LastResult = false;
            }
            else {

                $(element).css("color", "black");
                $(result).text("");
                LastResult = true;
            }
        }
        else {
            $(element).css("color", "#bbb");
            $(result).text("");
        }
    },



    IsDIC: function (element, result, warning) {        // matches: CZ followed at least with 5 digits

        var reg = new RegExp("^(CZ)[0-9]{5,}$");

        if ($(element).val().length > 0 && $(element).val() != "CZ a min 5 znaků") {
            if (!reg.test($(element).val())) {

                $(element).css("color", "red");
                $(result).text(warning);
                LastResult = false;
            }
            else {

                $(element).css("color", "black");
                $(result).text("");
                LastResult = true;
            }
        }
        else {
            $(element).css("color", "#bbb");
            $(result).text("");
        }
    }
}


    /*
    IsEmail: function (TestedString) {         //   fernety@seznam.cz (min: x@y.zz)
    var reg = new RegExp("^([0-9a-zA-Z]+([_.-]?[0-9a-zA-Z]+)*@[0-9a-zA-Z]+[0-9,a-z,A-Z,.,-]*(.){1}[a-zA-Z]{2,4})+$");
    return (reg.test(TestedString));
    },

    IsNumber: function (TestedString) {        //   234.342
    var reg = new RegExp("^\d*[0-9](\.\d*[0-9])?$");
    return (reg.test(TestedString));
    },

    IsDateSlash: function (TestedString) {     //   12/21/2005
    var reg = new RegExp("^([\d]|1[0,1,2])/([0-9]|[0,1,2][0-9]|3[0,1])/\d{4}$");
    return (reg.test(TestedString));
    },

    IsDateMySQL: function (TestedString) {     //   2005-09-02
    var reg = new RegExp("^\d{4}-(0[0-9]|1[0,1,2])-([0,1,2][0-9]|3[0,1])$");
    return (reg.test(TestedString));
    },

    IsDateClasic: function (TestedString) {     //   13.5.2010
    var reg = new RegExp("");
    return (reg.test(TestedString));
    },

    IsTime: function (TestedString) {           //   12:23  
    var reg = new RegExp("^([0-1][0-9]|[2][0-3])(:([0-5][0-9])){1,2}$");
    return (reg.test(TestedString));
    },

    IsPhoneUS: function (TestedString) {        //   250-555-454
    var reg = new RegExp("^[2-9]\d{2}-\d{3}-\d{3}$");
    return (reg.test(TestedString));
    }
    */

 	
