//-------------------------------------------------------------------------------------------------------------------------
// ÀÛ¼ºÀÏ : 2001³â 12¿ù 20ÀÏ
// ÀÛ¼ºÀÚ : °íÅÂ¿õ
// ³»¿ë : ÀÌ¸ÞÀÏ ÆÐÅÏÀ» ºÐ¼®ÇÏ¿© ÇØ´ç ÆÐÅÏÀ¸·Î ÀÌ¸ÞÀÏÀ» ¼öÁ¤ÇÏµµ·Ï °íÃÄÁÜ
//-------------------------------------------------------------------------------------------------------------------------

//dava.kepco.co.kr = > kepco.co.kr??
//ewebmail.com => ??????
//hanimail.com => 2002³â 3¿ù31ÀÏ±îÁö¸¸ Çã¿ë

//-------------------------------------------------------------------------------------------------------------------------
// ¿¡·¯ÄÚµå
//-------------------------------------------------------------------------------------------------------------------------
var errCode = new Array("000","100","200","300","400","500");
//						Á¤»ó,  
//-------------------------------------------------------------------------------------------------------------------------

//-------------------------------------------------------------------------------------------------------------------------
// Áß´ÜµÈ ¸ÞÀÏ
//-------------------------------------------------------------------------------------------------------------------------
var arrStop = new Array("mailo.net");
//no domain
var arrNoDomain = new Array("","net","com","co.kr","co.net","co.com","com.kr","com.co.kr","ne.kr");
//-------------------------------------------------------------------------------------------------------------------------


//-------------------------------------------------------------------------------------------------------------------------
// ¸ÞÀÏ ¸®½ºÆ®
//-------------------------------------------------------------------------------------------------------------------------
//hanmail.net
var arrHanmail = new Array("hanmail.net","hanmail.com","hamail.net","hanmail.nat","hanmaill.co.kr",
						"hanmaill.com","hanmaill.nat","hanmaill.net","hanmaill.net","hanmaill.net",
						"hanmall.net","hanmil.cet","hanmil.com","hanmil.co.kr","hanmil.nat","hanmil.ncm",
						"hanmila.het","hanmila.net","hanmile.com","hanmile.nat","hanmile.net","hanmile.net",
						"hanmile.net","hanmill.co.kr","hanmill.nat","hanmill.net","hanmill.net","hanmill.net","hanmill.net");
//hitel.net
var arrHitel = new Array("hitel.net","hitei.net","hitel.co.kr","hitel.com","hitel.nat","hitel.net.co.kr","hiter.net");
//hanmir.com
var arrHanmir = new Array("hanmair.com");
//hotmail.com
var arrHotmail = new Array("hotmail.com","hotamil.com","hoteail.co.kr","hotmai.com","hotmail.co","hotmail.co.kr",
							"hotmail.com/ko","hotmail.con","hotmail.cpm","hotmail.nat","hotmail.net",
							"hotmaill.com","hotmaill.net","hotmali.com","hotmall.com","hotmall.net");
//intizen.com
var arrIntizen = new Array("intizen.com","intizen.cm","intizen.co.kr","intizen.net","intizin.com","intizne.com");
//hanmail.net
var arrDaum = new Array("hanmail.net","daun.net","duam.net","duam.co.kr");
//lycos.co.kr
var arrLycos = new Array("lycos.co.kr","licos.co.kr","iycos.co.kr","licos.co.kr","lyco.co.kr","lyco.co.kr","lycod.co.kr",
						"lycode.co.kr","lycon.co.kr","lycon.kr","lycoo.com","lycos","lycos.c.kr","lycos.c0.kr",
						"lycos.cco.kr","lycos.cdm","lycos.co","lycos.co.k","lycos.co.ke","lycos.co.klr","lycos.co.kr19",
						"lycos.co.kt","lycos.co.rk","lycos.com.kr","lycos.cos.kr","lycos.ko.kr","lycos.kr","lycos.net","lycos.not");
// naver.com
var arrNaver = new Array("naver.com","navar.com","nave.co","nave.com","naveer.com","naver.cdm","naver.co","naver.co.kr","naver.co.kr",
						"naver.con","naver.coom","naver.cor","naver.net","naver.not");
// netsgo.com
var arrNetsgo = new Array("netsgo.com","netsgo.co","netsgo.co.kr","netsgo.comt","netsgo.con","netsgo.cpm","netsgo.net");

//nownuri.com
var arrNownuri = new Array("nownuri.com","nownri.net","nownuri.co.kr","nownuri.net","nownuri.net","nownurl.net");

//kebi.com
var arrKebi = new Array("kebi.com","kebi.cim","kebi.co.kr","kebi.om","kebline.com","keby.com");
//kornet.net
var arrKornet = new Array("kornet.net","konet.co.kr","konet.co.kr","konet.com","konet.net","konet.net");

//korea.com
var arrKorea = new Array("korea.com","korea.cm","korea.co.kr","korea.co.kr","korea.cok","korea.com.net","korea.com3","korea.con","korea.kr",
						"korea.mot.co.kr","korea.ocm");

//chollian.net
var arrChollian = new Array("chollian.net","challian.net","chllian.net","choillan.net","chollain.net","chollian.com","CHOLLIN.NET");

var arrDreamwiz = new Array("dreamwiz.com","deramwiz.com","dramewiz.com","draemwiz.com","dreamiz.com","dreamwiz.co.kr",
							"dreawiz.com","dreanwiz.com","dreawiz.com","dremwiz.com");
//empal.com
var arrEmpal = new Array("empal.com","empas.com");

//freechal.com
var arrFreechal = new Array("freechal.com","freechal.net");

//hananet.net
var arrHanaro = new Array("hananet.net","hanaro.com");

//thrunet.com
var arrThrunet = new Array("thrunet.com","thrinet.com","thrnet.com","thruent.com","thruhet.com","thrune.com","thrunet.cdm",
						   "thrunet.co.kr","thrunet.co.kr","thrunet.co.kr","thrunet.com.kr","thrunet.con","thrunet.net");

//unitel.co.kr
var arrUnitel = new Array("unitel.co.kr","unital.co.kr","unite.co.kr","unitel.com","unitelco.kr","unitell.co.kr","uniter.co.kr",
						  "unites.co.kr","unitil.co.kr","unitle.co.kr","unitrl.co.kr","unitwl.co.kr","unitxl.co.kr",
						  "uniwork.co.kr","unjtel.com","unjtelco.kr","unltel.co.kr","untel.co.kr","untel.co.kr","untiel.co.kr");    
//-------------------------------------------------------------------------------------------------------------------------



//-------------------------------------------------------------------------------------------------------------------------
//µµ¸ÞÀÎ
//-------------------------------------------------------------------------------------------------------------------------
var arrDomain = new Array("yahoo:yahoo.co.kr","lycos:lycos.co.kr","hanmail:hanmail.net","empas:empal.com","freechal:freechal.com",
						  "thrunet:thrunet.com","naver:naver.com","dreamwiz:dreamwiz.com","dreamx:dreamx.net",
						  "hananet:hananet.net","netsgo:netsgo.com","nownuri:nownuri.com","popsmail:popsmail.com",
						  "intizen:intizen.com","unitel:unitel.co.kr","korea:korea.com","orgio:orgio.net","hotmail:hotmail.com",
						  "samsung:samsung.co.kr","hitel:hitel.net","kornet:kornet.net","kebi:kebi.com","hanimail:hanimail.com",
						  "hanmir:hanmir.com","chollian:chollian.net","ne.kr:com.ne.kr","simmani:simmani.com");


//-------------------------------------------------------------------------------------------------------------------------
// ¸ÞÀÏ ÆÐÅÏÀ» °´Ã¼¿¡ Ãß°¡ ½ÃÄÑÁØ´Ù.
//-------------------------------------------------------------------------------------------------------------------------

var objMail = new chkObj();
objMail.addEmail(arrHanmail);
objMail.addEmail(arrHitel);
objMail.addEmail(arrHanmir);
objMail.addEmail(arrHotmail);
objMail.addEmail(arrIntizen);
objMail.addEmail(arrDaum);
objMail.addEmail(arrLycos);
objMail.addEmail(arrNaver);
objMail.addEmail(arrNetsgo);
objMail.addEmail(arrNownuri);
objMail.addEmail(arrKebi);
objMail.addEmail(arrKorea);
objMail.addEmail(arrChollian);
objMail.addEmail(arrDreamwiz);
objMail.addEmail(arrEmpal);
objMail.addEmail(arrFreechal);
objMail.addEmail(arrHanaro);
objMail.addEmail(arrThrunet);
objMail.addEmail(arrUnitel);

//-------------------------------------------------------------------------------------------------------------------------

//-------------------------------------------------------------------------------------------------------------------------
// ¸ÞÀÏ Ã¤Å· °´Ã¼
//-------------------------------------------------------------------------------------------------------------------------
function chkObj()
{
	this.objLength = 0;
	this.arrData = new Array();
	this.checkArrDomain = checkArrDomain;
	this.addEmail = addEmail;
}

function checkArrDomain(a_Email)
{
	var m_ID = getID(a_Email);
	if(m_ID == "null")
	{
		return a_Email;
	}
	var m_chkDomain = fnCheckNoDomain(getDomain(a_Email));
	if(m_chkDomain == "null")
	{
		return a_Email;
	}
	for(var j = 0; j < this.arrData.length; j++)
	{
		var arr_Email = this.arrData[j];
		var m_RightDomain = arr_Email[0];
    	for(var i = 1; i < arr_Email.length ; i++)
    	{
    		if(arr_Email[i] == m_chkDomain)
    		{
    			return fnModifyEmail(m_ID + "@" + m_RightDomain,a_Email);
    		}
    	}
	}
	return a_Email;
}

function addEmail(sEmail) 
{ 
// Ã¹ ¿¤¸®¸ÕÆ®´Â ¿Ã¹Ù¸¥ µµ¸ÞÀÎÀ» ³Ö´Â´Ù.
  this.arrData[this.objLength] = sEmail;
  this.objLength++;
  return sEmail;
} 
function getID(a_email)
{
	var m_pos = a_email.indexOf("@");
	if(m_pos == -1 )
		return "null";
	else
		return a_email.substring(0,m_pos);
}
function getDomain(a_email)
{
	var m_pos = a_email.indexOf("@");
	if(m_pos == -1 )
		return "null";
	else
		return a_email.substring(m_pos+1);
}

function fnModifyEmail(sDesc,sEmail)
{
	var m_Desc = "È¸¿ø´Ô²²¼­ ÀÔ·ÂÇÏ½Å ¸ÞÀÏÁÖ¼Ò´Â \'" + sEmail + "\'ÀÔ´Ï´Ù.\n\n" +  "¸ÞÀÏ ÁÖ¼Ò¸¦ È®ÀÎÇØº¸´Ï \'" + sDesc + "\' °¡ Á¤È®ÇÑ ¸ÞÀÏÁÖ¼Ò ÀÎ°Í °°½À´Ï´Ù.\n\n ÀÌ ¼öÁ¤µÈ ¸ÞÀÏÁÖ¼Ò¸¦ »ç¿ëÇÏ½Ã·Á¸é \'È®ÀÎ\'À» ´©¸£½Ã°í,\n\n È¸¿ø´Ô²²¼­ ÀÔ·ÂÇÏ½Å ¸ÞÀÏÁÖ¼Ò¸¦ »ç¿ëÇÏ½Ã·Á¸é \'Ãë¼Ò\'¸¦ ´©¸£¼¼¿ä"
	if(confirm(m_Desc))
	{
		return sDesc;
	}
	else
	{
		return sEmail;
	}
}

function fnCheckNoDomain(sDomain)
{
	for(var i = 0; i < arrNoDomain.length ; i++)
    {
    	if(arrNoDomain[i] == sDomain)
    	{
			alert("µµ¸ÞÀÎ¸íÀÌ Àß¸ø µÇ¾ú½À´Ï´Ù.");
    		return "null";
    	}
    }
	return sDomain;
}
//-------------------------------------------------------------------------------------------------------------------------


//-------------------------------------------------------------------------------------------------------------------------
// ÇÔ¼ö
//-------------------------------------------------------------------------------------------------------------------------
function EmailCheck(arg1,arg2)
{
	m_Email = arg1.value + "@" + arg2.value;
	if(!chkHan(m_Email))
	{	
		alert("ÇÑ±ÛÀº ÀÌ¸ÞÀÏ¿¡ »ç¿ëÀÌ ¾ÈµË´Ï´Ù.");
		return false;
	}
	var strCode = chkEmail(m_Email);
	if(strCode != "000")
	{
		alert("ÀÔ·ÂÇÏ½Å ÀÌ¸ÞÀÏ ÁÖ¼Ò¸¦ È®ÀÎÇÏ½Ê½Ã¿À.");	
		return false;
	}
	// ¸ÞÀÏ ÆÐÅÏ Ã¤Å·
	arg1.value = objMail.checkArrDomain(arg1.value);
	return true;
	
}

function chkEmail(arg1)
{
	var objEmail = getEmailPattern();
	var arrPtn = arg1.match(objEmail);
	if(arrPtn == null | RegExp.$1 == null || RegExp.$2 == null)
	{
		return errCode[1];
	}
	var strUser = RegExp.$1;
	var strDomain = RegExp.$2;
	if(!chkDomain(strDomain)) return errCode[2];
	//°èÁ¤¿¡ . ÀÔ·ÂµÈ°Í Ã³¸® ¾ÈµÇ¾î ÁÖ¼®Ã³¸® (20040409.amigo)
	//if(!chkUser(strUser)) return errCode[3];
	return errCode[0];
}

function chkDomain(arg1)
{
	var objDomain = getDomainPattern();
	var arrPtn = arg1.match(objDomain);
	if(arrPtn == null) 
	{
		if(!chkHost(arg1)) return false;
		else return true;
	}
	arg1 = setSpcChar(arg1,"[","");
	arg1 = setSpcChar(arg1,"]","");
	var arrDomain = getSplit(arg1,".");
	for (var i=0;i<=3;i++)
	{
		var intPtn = parseInt(arrDomain[i]);
	   	if (intPtn < 0 || intPtn > 255)
		{
			return false;
	   	}
    }
    return true;
}

function chkHost(arg1)
{
	var objHost = getHostPattern();
	var arrPtn = arg1.match(objHost);
	if(arrPtn == null)
	{
		return false;
	}
	return true;
}

function chkUser(arg1)
{
	var objUser = getUserPattern();
	var arrPtn = arg1.match(objUser);
	if(arrPtn == null | RegExp.$1 == null || RegExp.$2 == null)
	{
		return false;
	}
	return true;	
}

function getEmailPattern()
{
	// new RegExp("/^(.+)\\@(.+)$/","gi"); ÀÌ°Í°ú °°Àº ¸»ÀÌ´Ù.
	var objPtn = /^(.+)\@(.+)$/gi;	// Email ÆÐÅÏ
	return objPtn;
}

function getDomainPattern()
{
	var objPtn = /^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/gi;	// µµ¸ÞÀÎ ÆÐÅÏ
	return objPtn;
}

function getHostPattern()
{
	var objPtn = /^(\d{1,}|(\w|-){1,}|-)(\.(\d{1,}|(\w|-){1,})){1,}$/gi;	// È£½ºÆ® ÆÐÅÏ
	//var objPtn = /^(\d{1,}|\w{1,})(\.(\d{1,}|\w{1,})){1,}$/gi;	// È£½ºÆ® ÆÐÅÏ
	return objPtn;
}

function getUserPattern()
{
	var objPtn = /^((\w|-)+)$/gi;	// UserPattern
	return objPtn;
}

function getPtnObj(arg1)
{
	var m_Ptn = arg1;
	return new RegExp(m_Ptn);
}

function checkNumber(arg1)
{
	var m_Ptn = /(\d+)/g;
	var m_Ans = m_Ptn.exec(arg1);
	if(RegExp.$1 == null || RegExp.$1 != m_Ans)	return false;
	else return true;
}

function checkChar(arg1)
{
	var m_Ptn = /(\w+)/g;
	var m_Ans = m_Ptn.exec(arg1);
	if(RegExp.$1 == null || RegExp.$1 != m_Ans)	return false;
	else return true;
}

function getSplit(arg1,arg2)
{
	var arrData = arg1.split(arg2);
	return arrData;
}

function setSpcChar(arg1,arg2,arg3)
{
	return arg1.replace(arg2,arg3);
}

function chkHan(arg1)
{
	var intLen = arg1.length;
	
//alert(intLen);	
	for(var i = 0 ; i < intLen ; i++)
	{
		//alert(arg1.charAt(i) + "::" + arg1.charCodeAt(i));
		//if(arg1.charCodeAt(i) >= 12593)	// ÇÑ±ÛÀÎ°æ¿ì
		if(arg1.charCodeAt(i) > 128)	// ÇÑ±ÛÀÎ°æ¿ì
		return false;
	}
	return true;
}

function fnChkNum(iJumin){
	var iJuminLen = iJumin.length;
	for(var i = 0; i != iJuminLen; i++){
	aChar = iJumin.substring(i,i+1);
		if(aChar < "0" || aChar > "9") {
		return false;
		}
	}
	return true;
}


function chkName(strValue) {
     var flag=true;   
     if (!(strValue.length)){     	
     	flag = false;
     }else{
	    for (iCnt = 0 ; iCnt < strValue.length ; iCnt++)
	    {
	       	if (44032 > strValue.charCodeAt(iCnt) || strValue.charCodeAt(iCnt) > 55203)
			 { 	
			  	flag=false;
	            break;
	        }	
		}

	 }    
	return flag;
}

function orgchkName(strValue) {
    var flag=true;   
     if (!(strValue.length)){     	
     	flag = false;
     }else{
	    for (iCnt = 0 ; iCnt < strValue.length ; iCnt++)
	    {
	        if ( strValue.charCodeAt(iCnt) != 32 && strValue.charCodeAt(iCnt) < 300 )
	        {
	            flag=false;
	            break;
	        }
	    } 
	 }       
  return flag;
}
//-------------------------------------------------------------------------------------------------------------------------


