function remove_dot(InString) {
  OutString = "";
  prevDot = false;
  for (Count = 0; Count < InString.length; Count++) {
    TempChar = InString.substring(Count, Count+1);
    if (TempChar == " " || TempChar == "\n" || TempChar == "\t") {
      // ignore
    } else if (TempChar == "," || TempChar == ".") {
      if (! prevDot)
        OutString = OutString + ".";
      prevDot = true;
    } else {
      prevDot = false;
      OutString = OutString + TempChar;
    }
  }

  if (OutString.charAt(0) == '.')
    OutString = OutString.substring(1, OutString.length-1);
  if (OutString.charAt(OutString.length-1) == '.')
    OutString = OutString.substring(0, OutString.length-1);

  return (OutString);
}

function check_email(arg)
{
  var address = arg.value;
  
  //nullÀÎ °æ¿ì´Â Çã¿ëÇÔ 
  if (address == null) return true;
  
  // ºÒÇÊ¿ä ¹®ÀÚ Á¦°Å
  address = remove_dot(address);
  if (address == "") return false;
  
  //@¸¦ ±âÁØÀ¸·Î ¹®ÀÚ¿­À» ³ª´®
  pos = address.indexOf('@');
  if (pos == -1) return false;
  
  id = address.substring(0, pos);
  host = address.substring(pos+1, address.length).toLowerCase();

  if (id == "" || host == "") return false;
  // Æ¯¼ö¹®ÀÚ È®ÀÎ 
  loc_x = find_badchar(host, ":;?/|\\=+{}[]<>()\"'~`!#$%^&*");
  if (loc_x != -1) return false;

  loc_x = find_badchar(id, ":;?/|\\=+{}[]<>()\"'~`!#$%^&*");
  if (loc_x != -1) return false;

  pos = host.indexOf('.');
  if (pos == -1) return false;
  
  return true;
}


function check_email2(arg)  //## º¹±Ç¿¡¼­ »ç¿ë
{
  var address = arg;
  //nullÀÎ °æ¿ì´Â Çã¿ëÇÔ 
  if (address == null) return true;
  
  // ºÒÇÊ¿ä ¹®ÀÚ Á¦°Å
  address = remove_dot(address);
  if (address == "") return false;
  
  //@¸¦ ±âÁØÀ¸·Î ¹®ÀÚ¿­À» ³ª´®
  pos = address.indexOf('@');
  if (pos == -1) return false;
  
  id = address.substring(0, pos);
  host = address.substring(pos+1, address.length).toLowerCase();

  if (id == "" || host == "") return false;
  // Æ¯¼ö¹®ÀÚ È®ÀÎ 
  loc_x = find_badchar(host, ":;?/|\\=+{}[]<>()\"'~`!#$%^&*");
  if (loc_x != -1) return false;

  loc_x = find_badchar(id, ":;?/|\\=+{}[]<>()\"'~`!#$%^&*");
  if (loc_x != -1) return false;

  pos = host.indexOf('.');
  if (pos == -1) return false;
  
  return true;
}


function find_badchar(str, chars) {
  if (str == null || chars == null) return -1;
  if (str == "" || chars == "") return -1;

  for (i = 0; i < str.length; i++) {
    cur_str = str.substring(i, i+1);
    for (j = 0; j < chars.length; j++) {
      cur_chars = chars.substring(j, j+1);
      if (cur_str == cur_chars) {
        return i;
      }
    }
  }

  return -1;
}

