Sys.Mvc.ValidatorRegistry.validators["australcommercerequired"] = function (rule) {
    return function (value, context) {
        if (value) {
            return true;
        }

        return rule.ErrorMessage;
    };
};


Sys.Mvc.ValidatorRegistry.validators["australcommercestringlength"] = function (rule) {
    return function (value, context) {
        var minCharacters = rule.ValidationParameters.mincharacters;
        var maxCharacters = rule.ValidationParameters.maxcharacters;

        if (!value || (value.length >= minCharacters && value.length <= maxCharacters)) {
            return true;
        }

        return rule.ErrorMessage;
    };
};


Sys.Mvc.ValidatorRegistry.validators["australcommercerange"] = function (rule) {
    return function (value, context) {

        var minCharacters = rule.ValidationParameters.minimum;
        var maxCharacters = rule.ValidationParameters.maximum;

        if (!value || (Number.parseLocale(value) >= minCharacters && Number.parseLocale(value) <= maxCharacters)) {
            return true;
        }

        return rule.ErrorMessage;
    };
};


Sys.Mvc.ValidatorRegistry.validators["australcommercepasswordlength"] = function (rule) {
    return function (value, context) {
        var minCharacters = rule.ValidationParameters.mincharacters;

        if (!value || (value.length >= minCharacters)) {
            return true;
        }

        return rule.ErrorMessage;
    };
};


Sys.Mvc.ValidatorRegistry.validators["australcommerceregexp"] = function (rule) {
    return function (value, context) {

        if (!value) {
            return true;
        }

        var pattern = rule.ValidationParameters.pattern;
        var re = new RegExp(pattern);
        var valid = re.test(value.toString());

        if (valid) {
            return true;
        }

        return rule.ErrorMessage;
    };
};


//Sys.Mvc.ValidatorRegistry.validators["australcommercebooleanrequiredtobetrue"] = function (rule) {
//    return function (value, context) {
//        if (value && Boolean.parse(value) == true) {
//            return true;
//        }

//        return rule.ErrorMessage;
//    };
//};

