//**************************************************************

// VALIDATE FORM ELEMENTS

function isEmail(field, showAlert) {
  var str = field.value;
  if (isEmailString(str)) {
    return true;
  } else {
    if (showAlert) {
      alert("\"" + str + "\" is an invalid e-mail!");
    }
    field.focus();
    field.select();
    return false;
  }
}

function trim(str)
{
  return str.replace(/^\s*|\s*$/g,"");
}

function isEmailString(str) {
  // are regular expressions supported?
  var supported = 0;
  emailStr = trim(str);
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported) {
    return (emailStr.indexOf(".") > 2) && (emailStr.indexOf("@") > 0) && (emailStr.indexOf(" ") == -1);
  }
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,5}|[0-9]{1,5})(\\]?)$");
  return (!r1.test(emailStr) && r2.test(emailStr) && emailStr.indexOf(" ") == -1);
}

function checkExtended(thisbox) {
  var value = thisbox.value;
  var newvalue = new String();
  var update = false;
  for (var i = 0; i < value.length; i++) {
    var c = value.charCodeAt(i);
    switch (c) {
      case 8211:
        newvalue += "-";
        update = true;
        break;
      case 8212:
        newvalue += "--";
        update = true;
        break;
      case 8216:
        newvalue += "'";
        update = true;
        break;
      case 8217:
        newvalue += "'";
        update = true;
        break;
      case 8220:
        newvalue += "\"";
        update = true;
        break;
      case 8221:
        newvalue += "\"";
        update = true;
        break;
      case 8230:
        newvalue += "...";
        update = true;
        break;
      case 8194:
        newvalue += " ";
        update = true;
        break;
      case 8195:
        newvalue += "  ";
        update = true;
        break;
      default :
        newvalue += value.charAt(i);
    }
  }
  if (update) {
    thisbox.value = newvalue;
  }
}

// END VALIDATE FORM ELEMENTS

//**************************************************************

