function fnCheck()
{
	with (document.reg)
	{
	  if(!fnRegCheck(id_num1.value, id_num2.value))
	  {
			id_num1.focus();
			return;
	  }
	  
	  if (!emailCheck())	return;
	    
		if (cardno.value.length > 16  || cardno.value.length < 14 || cardpass.value.length != 2 )
		{
			alert('Ä«µå¹øÈ£³ª ºñ¹Ð¹øÈ£¸¦ È®ÀÎÇÏ½Ê½Ã¿ä.');
			cardno.focus();
			return;
		}

		if ( typeof yy == 'object')
		{
			if (!fnChkCard(cardno.value, cardpass.value))
			{
				cardno.focus();
				return;
			}
			
			if (!fnChkValidDate(yy.value, mm.value))
				return;
		}
    
		submit();
	}

}

function fnRegCheck(strRegNo1, strRegNo2)
{
    if (strRegNo1.length < 6 || strRegNo2.length < 7 )
    {
        alert('\nÁÖ¹Îµî·Ï¹øÈ£°¡ ¸ÂÁö ¾Ê½À´Ï´Ù.´Ù½Ã È®ÀÎÇØ ÁÖ¼¼¿ä');
        return false;
    }
 
 	if ( strRegNo1 + strRegNo2 == '1111111111111') return true;

   	arrVal = new Array(13);
    var iLastid = 0, iMod=0,iMinus = 0, iLast = 0;
    iLastid    = parseFloat(strRegNo2.substring(6,7));
    arrVal[0]  = parseFloat(strRegNo1.substring(0,1))  * 2;
    arrVal[1]  = parseFloat(strRegNo1.substring(1,2))  * 3;
    arrVal[2]  = parseFloat(strRegNo1.substring(2,3))  * 4;
    arrVal[3]  = parseFloat(strRegNo1.substring(3,4))  * 5;
    arrVal[4]  = parseFloat(strRegNo1.substring(4,5))  * 6;
    arrVal[5]  = parseFloat(strRegNo1.substring(5,6))  * 7;
    arrVal[6]  = parseFloat(strRegNo2.substring(0,1))  * 8;
    arrVal[7]  = parseFloat(strRegNo2.substring(1,2))  * 9;
    arrVal[8]  = parseFloat(strRegNo2.substring(2,3))  * 2;
    arrVal[9]  = parseFloat(strRegNo2.substring(3,4))  * 3;
    arrVal[10] = parseFloat(strRegNo2.substring(4,5))  * 4;
    arrVal[11] = parseFloat(strRegNo2.substring(5,6))  * 5;
    arrVal[12] = 0;

    for (var iCnt = 0; iCnt < 12 ;iCnt++)
    {
        arrVal[12] += arrVal[iCnt];
    }
       
    iMod = arrVal[12] %11;
    iMinus = 11 - iMod;
    iLast = iMinus % 10;

    if (iLast != iLastid)
    {
        alert('\nÁÖ¹Îµî·Ï¹øÈ£°¡ ¸ÂÁö ¾Ê½À´Ï´Ù.´Ù½Ã È®ÀÎÇØ ÁÖ¼¼¿ä');
        return false;
    }
    
    return true;
}

// email check
function emailCheck ()
{//EMAIL Ã¼Å©
	var emailStr=document.reg.email.value;
	var emailPat=/^(.+)@(.+)$/
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var validChars="\[^\\s" + specialChars + "\]"
	var quotedUser="(\"[^\"]*\")"
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom=validChars + '+'
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
	var matchArray=emailStr.match(emailPat)
	
	if (matchArray==null)
	{
		alert("Email ÁÖ¼Ò°¡ Á¤È®ÇÏÁö ¾Ê½À´Ï´Ù!(check @ and .'s)")
		return false
	}

	var user=matchArray[1]
	var domain=matchArray[2]

	// See if "user" is valid 
	if (user.match(userPat)==null)
	{
    	// user is not valid
    	alert("e-mail ID°¡ À¯È¿ÇÏÁö ¾Ê½À´Ï´Ù!")
    	return false
	}

	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null)
	{
    	// this is an IP address
		for (var i=1;i<=4;i++)
		{
	    	if (IPArray[i]>255)
			{
	        	alert("IP address°¡ À¯È¿ÇÏÁö ¾Ê½À´Ï´Ù!")
			return false
	    	}
    	}
    	return true
	}

	// Domain is symbolic name
	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
		alert("ÀÌ µµ¸ÞÀÎÀº À¯È¿ÇÏÁö ¾Ê½À´Ï´Ù!")
	    return false
	}

	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 || 
	    domArr[domArr.length-1].length>3)
	{
	   
	   alert("ÁÖ¼Ò´Â ¼¼°³ÀÇ µµ¸ÞÀÎ ¹®ÀÚ·Î ³¡³ª¾ß ÇÕ´Ï´Ù!");
	   return false;
	}

	if (len<2) {
	   var errStr=" ÀÌ ÁÖ¼Ò·Î´Â È£½ºÆ®¸¦ Ã£À»¼ö ¾ø½À´Ï´Ù!";
	   alert(errStr);
	   return false;
	}

	return true;
}

