function isEmailValid(str) {
  //  regular expressions work?
  var worky = 0;
  if (window.RegExp) {
    var tmpStr = "abc";
    var tmpReg = new RegExp(tmpStr);
    if (tmpReg.test(tmpStr)) {
       worky = 1;
    }
  }
  if (!worky) {
    // simple case for no regular expression support
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  }
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}