function makeArray(n)
{
	this.length = n;
	for(var i=1; i<=n; i++)
		this[i] = 0;
	return this;
}

// ÁÖ¹Îµî·Ï¹øÈ£ Ã¼Å© ÇÔ¼ö
function check_num(str)
{	
	num = new makeArray(13);
	digit = new makeArray(12);

	digit[1] = 2
	digit[2] = 3
	digit[3] = 4
	digit[4] = 5
	digit[5] = 6
	digit[6] = 7
	digit[7] = 8
	digit[8] = 9
	digit[9] = 2
	digit[10] = 3
	digit[11] = 4
	digit[12] = 5

	//»ç¶÷ÀÌ ÀÔ·ÂÇÑ ÁÖ¹Îµî·Ï ¹øÈ£¸¦ ¹è¿­¿¡ ³Ö´Â´Ù
	for(var j=1; j<=13; j++)
	{
		num[j] = parseInt(str.charAt(j-1),10)
	}
	
	if (CheckValidIDDate(str, '19991001') == false)
		return false;

	// Y2K source start : 2000³âÀÌÀü Ãâ»ýÀÚÀÇ ÁÖ¹Îµî·Ï ¹øÈ£ ÀÔ·ÂÀ» À§ÇÑ ºÎºÐ
	if (num[7] != 3 &&  num[7] != 4) {
		sum = 0;
		//check_digit¿Í ¹øÈ£¸¦ ¿¬»êÇÑ´Ù
		for(i=1; i<=12; i++)
		{
			sum += digit[i] * num[i];
		}
		div = (sum%11);
		if(div == 1){
			comp = 0;
		}
		else if(div == 0){
			comp = 1;
		}
		else if((div != 0)&&(div != 1)){
			comp = 11 - div;
		}

		if(div == 0)
		{
			if(num[13] == 1)
				return true;
			else
			{
				return false;
			}
		}
		else if(div == 1)
		{
			if(num[13] == 0)
				return true;
			else
			{
				return false;
			}
		}
		else if((11-div) == num[13])
		{
			return true;
		}
		else
		{
			{
			return false;
			}
		}
	}
	else {
	// 2000³â ÀÌÈÄ Ãâ»ýÀÚÀÇ ÁÖ¹Îµî·Ï¹øÈ£ Ã¼Å© ·çÆ¾ 		
		if (num[3] != 0 && num[3] != 1) {
			return false;
		}
		else if (num[5] != 0 && num[5] != 1 && num[5] != 2 && num[5] != 3) {		
			return false;
		}
		else if (num[7] != 1 && num[7] != 2 && num[7] != 3 && num[7] != 4) {
			return false;
		}
		else if (num[3] == 0 && num[4] == 0) {		
			return false;
		}
		else if ((num[3] == 1) && (num[4] != 0 && num[4] != 1 && num[4] != 2)) {		
			return false;
		}
		else if (num[5] == 0 && num[6] == 0) {		
			return false;
		}
		else if (num[5] == 3 && (num[6] != 0 && num[6]  != 1)) {		
			return false;
		}
		else {
			return true;
		}
	}
	// Y2K Source end
}

function CheckValidIDDate(id, str)
{
	var TodayYear, TodayMon, TodayDay;
	var idYear, idMon, idDay, cfDate; 
	
	idDay = new makeArray(13);
	Today = new makeArray(13);

	for(var i = 0; i < 13; i++){
		idDay[i] = parseInt(id.charAt(i), 10);
	}
	for(i = 0; i < 8; i++){
		Today[i] = parseInt(str.charAt(i), 10);
	}

	switch(idDay[6]){
	case 1:
	case 2:
		idYear = (idDay[0]*10 + idDay[1]) + 1900;
		break;
	case 3:
	case 4:
		idYear = (idDay[0]*10 + idDay[1]) + 2000;
		break;
	default:
	}

	TodayYear = Today[0]*1000 + Today[1]*100 + Today[2]*10 + Today[3];

	idMon = idDay[2]*10 + idDay[3];
	idDay = idDay[4]*10 + idDay[5];
	
	TodayMon = Today[4]*10 + Today[5];
	TodayDay = Today[6]*10 + Today[7];
	
	if (idYear > TodayYear){
		return false;
	} else if (idYear < TodayYear){
		return true;
	} else {		// ¿¬µµ°¡ °°Àº°æ¿ì
		if (idMon > TodayMon){
			return false;
		} else if (idMon < TodayMon){
			return true;
		} else {		// ¿ùÀÌ °°Àº °æ¿ì
			if (idDay > TodayDay){
				return false;
			} else
				return true;
		}
	}
}


function ChkEmpty(str)
{
/****************************************************************
  ±â´É    : str ¹®ÀÚ¿­¿¡ ¹®ÀÚ(°ø¹é Á¦¿Ü)°¡ Á¸ÀçÇÏ´ÂÁö Ã¼Å©.
  Return  : true  - NULL ¶Ç´Â °ø¹é¸¸ Á¸ÀçÇÒ ¶§
            false - ¹®ÀÚ°¡ Á¸ÀçÇÒ ¶§
****************************************************************/
	if (str == "") return true;
	for (var i=0; i < str.length; i++)   {
		if (str.charAt(i) != " ")
			return false;
	}
	return true;
}


function AWord(str)
{
/****************************************************************
  ±â´É    : str ¹®ÀÚ¿­ÀÌ ÇÑ°³ÀÇ ´Ü¾î·Î¸¸ ÀÌ·ç¾îÁ³´ÂÁö Ã¼Å©.
            °ø¹éÀÌ Æ÷ÇÔµÇ¾î¼­´Â ¾ÈµÇ´Â ¹®ÀÚ¿­À» Ã¼Å©ÇÒ ¶§ »ç¿ë.
  Return  : true  - ÇÑ°³ÀÇ ´Ü¾îÀÏ ¶§
                    (¹®ÀÚ¿­¿¡ °ø¹éÀÌ ¾ø½¿. str ¾Õ,µÚ¿¡ °ø¹éÀÌ ÀÖ´Â°ÍÀº ¹«°ü)
            false - ¹®ÀÚ¿­ »çÀÌ¿¡ °ø¹éÀÌ Á¸ÀçÇÒ ¶§
****************************************************************/
	str_arr=str.split(/ /);
	if (str_arr.length > 1)  return false;		/* ¹®ÀÚ¿­¿¡ °ø¹éÀÌ Á¸ÀçÇÏ¸é */
	else  return true;
}

function ChkSpace(str)
{
/****************************************************************
  ±â´É    : str ¹®ÀÚ¿­¿¡ °ø¹éÀÌ Á¸ÀçÇÏ´ÂÁö Ã¼Å©.
  Return  : true  - °ø¹éÀÌ Á¸ÀçÇÒ ¶§
            false - °ø¹éÀÌ ¾øÀ» ¶§
****************************************************************/
	flag = str.search(/ /);		/* ¸¸¾à space°¡ ¾øÀ¸¸é flag = -1 */
	if (flag != -1) return true;
	else  return false;
}

function NoSpace(str)
{
/****************************************************************
  ±â´É    : str ¹®ÀÚ¿­¿¡ ÀÖ´Â °ø¹éÀ» ¸ðµÎ Á¦°Å
  Return  : °ø¹éÀÌ Á¦°ÅµÈ ¹®ÀÚ¿­
****************************************************************/
	if (ChkEmpty(str)) return
	str_arr = str.split(/ /);
	newstr = "";
	for (i=0; i < str_arr.length; i++)  {
		newstr = newstr + str_arr[i];
	}
	return newstr;	
}

function ChkEMail(str)
{
	if (ChkEmpty(str)) return true;
	emailExp1 = /[^@]+@[A-Za-z0-9_\-]+\.[A-Za-z]+/;
	emailExp2 = /[^@]+@[A-Za-z0-9_\-]+\.[A-Za-z0-9_\-]+\.[A-Za-z]+/;
	emailExp3 = /[^@]+@[A-Za-z0-9_\-]+\.[A-Za-z0-9_\-]+\.[A-Za-z0-9_\-]+\.[A-Za-z]+/;
	if(emailExp1.test(str))  return true;
	if(emailExp2.test(str))  return true;
	if(emailExp3.test(str))  return true;
	return false;
}

function ChkID(str)
{
	if (ChkEmpty(str))  return false;
	if (!AWord(str))  return false;		/* ¹®ÀÚ¿­¿¡ °ø¹éÀÌ Á¸ÀçÇÏ¸é */
	strlen = str.length;
	if (strlen < 4) return false;
	flag = 1;
	for (i=0; i<strlen; i++)   {
		cmp = str.charAt(i);
		if (!( cmp=="-" || cmp=="_" || (cmp >= "a" && cmp <= "z") || (cmp >= "A" && cmp <= "Z") || (cmp >= "0" && cmp <= "9") )  )  {
			flag = 0;
			break;
		}
	}
	if(flag)	return true;
	else	return false;
}
