﻿//this script holds email checking functions


// this is just a wrapper to provide the right signiture for Validator controls
function CheckEmail(sender, args) {
    return isEmail(args);
}

function isEmail(str) {
    var supported = false;

    // check if regular expressions are supported (v4 browsers)

    if (window.RegExp) {
        var tempStr = "a";
        var tempReg = new RegExp(tempStr);
        if (tempReg.test(tempStr))
            supported = true;
    }

    var ok = "1234567890qwertyuiop[]asdfghjklzxcvbnm.@-_QWERTYUIOPASDFGHJKLZXCVBNM";

    for (var i = 0; i < str.length; i++) {
        if (ok.indexOf(str.charAt(i)) < 0) {
            return (false);
        }
    }

    // if we're running an old browser, do a simple check

    if (!supported)
        return (str.indexOf(".") > 2) && (str.indexOf("@") > 0 && str.indexOf("'") == -1);
    else {
        // we're running a v4+ browser so do a more sophisticated check

        var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
        var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$");

        return (!r1.test(str) && r2.test(str) && str.indexOf("'") == -1);
    }
}

