/*
 * Description		: This function checks whether the character of 'str' exists in valid. 
 * Last Modified	: 2003/05/21
 */
function check_valid(str, valid, type) {
	var flag, ch;

	if(type == 1) flag = 0;
	else flag = 1;

	for(var i = 0; i < str.length; i++) {
		ch = "" + str.substring(i, i+1);

		if(type == 1) {
			if(valid.indexOf(ch) != -1) flag = 1;	/* valid */
			if(flag) break;
		} else {
			if(valid.indexOf(ch) == -1) flag = 0;	/* not valid */
			if(!flag) break;
		}
	}

	return flag;
}

/*
 * Description		: This function checks whether 'str' is number.
 */
function check_number(str, type) {
	var valid = "0123456789";
	return check_valid(str, valid, type);
}

function check_upper(str, type) {
	var valid = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	return check_valid(str, valid, type);
}

function check_lower(str, type) {
	var valid = "abcdefghijklmnopqrstuvwxyz";
	return check_valid(str, valid, type);
}

function check_korean(str, type) {
	var flag;

	if(type == 1) flag = 0;
	else flag = 1;

	for(var i = 0; i < str.length; i++) {
		if(type == 1) {
			if(str.charCodeAt(i) > 128) flag = 1;
			if(flag) break;
		} else {
			if(str.charCodeAt(i) <= 128) flag = 0;
			if(!flag) break;
		}
	}

	return flag;
}

function check_blank(str, type) {
	var valid = " ";
	return check_valid(str, valid, type);
}

function check_symbol(str, type) {
	var valid = "~`!@#$%^&*()-_+=|\\{}[]:;\"'<>,.?/";
	return check_valid(str, valid, type);
}

/*
 * Description		: This function checks whether 'str' is email format.
 */
function check_email(str) {
	if(str == "") return false;

	var regex = /[-!#$%&'*+/^_~{}|0-9a-zA-Z]+(.[-!#$%&'*+/^_~{}|0-9a-zA-Z]+)*@[-!#$%&'*+/^_~{}|0-9a-zA-Z]+(.[-!#$%&'*+/^_~{}|0-9a-zA-Z]+)*/;
	//var regex = /^(\w+(?:\.\w+)*)@((?:\w+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	if(regex.test(str)) return true;
	else return false;
}

/*
 * Description		: This function checks ÁÖ¹Îµî·Ï¹øÈ£(ssn). The parameter
 *					  'str' is 13 figure number. (XXXXXX-XXXXXXX, excluding '-')
 */
function check_jumin(str) {
	IDtot = 0;
	IDAdd = "234567892345";

	for(var i=0; i <= 11; i++)
		IDtot += str.charAt(i)*IDAdd.charAt(i);

	IDtot = 11 - (IDtot % 11);

	if(str.charAt(str.length-1) == (IDtot % 10)) return true;
	else return false;
}

/*
 * Description		: This function checks whether 'obj' is empty.
 */
function check_empty(obj, msg) {
	if(obj.value == "") {
		alert(msg);
		obj.focus();
		return false;
	}

	return true;
}



/***** ÁÖ¹Î¹øÈ£ Ã¼Å©·çÆ¾ *********/
function chkcid(pid1,pid2,msg,gender,sage,eage)
{
	var FormInput = document.reg;
	var tmp="";

	var strRegNo1 = pid1.value;
	var strRegNo2 = pid2.value;



	var d=new Date();
	var d=d.getYear();

	// µî·Ï°¡´ÉÇÑ ³ªÀÌ
	if(pid1.value.substr(0,1)==0){
		tmp = d-parseInt('20'+pid1.value.substr(0,2));
	}
	else tmp=d-parseInt('19'+pid1.value.substr(0,2));
	if(sage>=0 && eage>0){
		if(tmp<sage || tmp>eage) {
			alert("µî·Ï°¡´ÉÇÑ ³ªÀÌ´Â " + sage + " ºÎÅÍ " + eage + " ±îÁö ÀÔ´Ï´Ù"); 
			return false;
		}
	}

	var ret = id_no_chk(pid1, pid2, gender);

	if (ret == false)
	{
		if(msg=="") alert( "±ÍÇÏ²²¼­ ÀÔ·ÂÇÏ½Å ÁÖ¹Îµî·Ï¹øÈ£´Â Á¤»óÀûÀÎ Ã¼°è°¡ ¾Æ´Õ´Ï´Ù" ); 
		else alert(msg);
		return false;
	} else if(ret == "gender"){
		if(pid2.value.substring(0,1)==1 || pid2.value.substring(0,1)==3) alert("¿©¼º¸¸ µî·ÏÇÒ ¼ö ÀÖ½À´Ï´Ù");
		else if(pid2.value.substring(0,1)==2 || pid2.value.substring(0,1)==4) alert("³²¼º¸¸ µî·ÏÇÒ ¼ö ÀÖ½À´Ï´Ù");
		return false;
	}
	else return true;

}

function id_no_chk(obj1,obj2, gender) 
{
 // CheckSum Ã¼Å©
 if (chksumID(obj1,obj2) == false)
  return false;
  
 // »ý¼º±â·Î ¸¸µç°Ô ¾Æ´Ñ°¡ »ý³â¿ùÀÏ°ú ³²³àÇÊµå Ã¼Å©
 if (ValidRegNo(obj1,obj2, gender) == false) return "gender";
 
 // YYMMDD°¡ ¸Â´ÂÁö È®ÀÎÇÑ´Ù.
 if (ValidRegNo2(obj1) == false) return false;

 return true;
}

function ValidRegNo(obj1,obj2, gender) 
{
	strReg1 = obj1.value;
	strReg2 = obj2.value;
	sGender = strReg2.substring(0,1);
	sYear = strReg1.substring(0,2);
    
    // µÎ¹øÂ° ´Ü¶ô Ã¹¹øÂ° ¼ýÀÚ´Â 4º¸´Ù Å¬ ¼ö ¾ø´Ù.
	if (sGender > 6) {
		return false;
	}

    // 2000³âµµ ÀÌÀüÀº ³²ÀÚ´Â 1, ¿©ÀÚ´Â 2
    // 2000³âµµ ÀÌÈÄ´Â ³²ÀÚ´Â 3, ¿©ÀÚ´Â 4

	if(gender==1){
		if(sGender==2 || sGender==4) return false;
	}
	else if(gender==2){
		if(sGender==1 || sGender==3) return false;
	}
	else return true;

	/*    
	 if (sYear != '00') {
	  if ((sGender != '1') && (sGender != '2')) {
	   return false;
	  }
	 }
	*/    
    return true;
}

// YYMMDD°¡ ¸Â´ÂÁö È®ÀÎÇÑ´Ù.
function ValidRegNo2(obj1) 
{
    strReg1 = obj1.value;

 a = new String(strReg1);

 if(a == '') return false;
 if(a.length != 6 ) return false;

 intYear = parseInt(a.substring(0,2) , 10);
 intMonth = parseInt(a.substring(2,4) , 10);
 intDay = parseInt(a.substring(4,6) , 10);
 
 if(intMonth < 0 || intMonth > 12){ 
  return false;
 }
  
 switch(intMonth){
  case 2 :
   if (intYear %4 == 0)  {
    if(intDay < 0 || intDay > 29){
     return false;
     breake;
    }
   } else { 
    if(intDay < 0 || intDay > 28){
     return false;
     breake;
    }
   }
  case 4 :
   if(intDay < 0 || intDay > 30){
    return false;
    breake;
   }
  case 6 :
   if(intDay < 0 || intDay > 30){
    return false;
    breake;
   }
  case 9 :
   if(intDay < 0 || intDay > 30){
    return false;
    breake;
   }
  case 11 :
   if(intDay < 0 || intDay > 30){
    return false;
    breake;
   }
  default :
   if(intDay < 0 || intDay > 31){
    return false;
    breake;
   }
 }
    
    return true;
}

function jsCheckEnterKey(frm)
{
 if ( event.keyCode == 13 )
 {  
  if ( frm.cid_f.value.length != 6 )
  {
   frm.cid_f.focus();
   return;
  }  
  if ( frm.cid_r.value.length != 7 )
  {
   frm.cid_r.focus();
   return;   
  }
  chkcid();
 }
 else return;
}

function chksumID(obj1,obj2) 
{
    str1 = obj1.value;
    str2 = obj2.value;
    var li_lastid,li_mod,li_minus,li_last;
    var value0,value1,value2,value3,value4,value5,value6;
    var value7,value8,value9,value10,value11,value12;
    
    if (IsInteger(str1) &&  IsInteger(str2)) {
        li_lastid    = parseFloat(str2.substring(6,7));
        value0  = parseFloat(str1.substring(0,1))  * 2;
        value1  = parseFloat(str1.substring(1,2))  * 3;
        value2  = parseFloat(str1.substring(2,3))  * 4;
        value3  = parseFloat(str1.substring(3,4))  * 5;
        value4  = parseFloat(str1.substring(4,5))  * 6;
        value5  = parseFloat(str1.substring(5,6))  * 7;
        value6  = parseFloat(str2.substring(0,1))  * 8;
        value7  = parseFloat(str2.substring(1,2))  * 9;
        value8  = parseFloat(str2.substring(2,3))  * 2;
        value9  = parseFloat(str2.substring(3,4))  * 3;
        value10 = parseFloat(str2.substring(4,5))  * 4;
        value11 = parseFloat(str2.substring(5,6))  * 5;
        value12 = 0;
        
        value12 = value0+value1+value2+value3+value4+value5+value6+value7+value8+value9+value10+value11+value12 ;
        
        li_mod = value12 %11;
        li_minus = 11 - li_mod;
        li_last = li_minus % 10;
        if (li_last != li_lastid){
            obj2.select();
            obj2.focus();
            return false;
        } else
            return true;
 } else
    obj2.select();
    obj2.focus();
    return false;
}

// ÁÖ¾îÁø ¹®ÀÚ¿­ÀÌ ¼ýÀÚ·Î¸¸ ÀÌ·ç¾îÁ®ÀÖ´ÂÁö °Ë»çÇÑ´Ù.
function IsInteger(st)
{
 if (!IsEmpty(st)) {
  for (j = 0; j < st.length; j++)
   if (((st.substring(j, j+1) < "0") || (st.substring(j, j+1) > "9")))
    return false;
 }
 else
  return false;

 return true;
}

// ÁÖ¾îÁø ¹®ÀÚ¿­ÀÌ ºñ¾îÀÖ´ÂÁö °Ë»çÇÑ´Ù.
function IsEmpty(toCheck)
{
 var chkstr = toCheck + "";
 var is_Space = true;

 if (( chkstr == "") || (chkstr == null))
  return false;

 for (j = 0; is_Space && j < chkstr.length; j++) {
  if (chkstr.substring(j, j+1) != " ")
   is_Space = false ;
 }

 return is_Space;
}

function jsAuthoFocus(thisObj, nextObj) {

 if ( thisObj == form.cid_f && thisObj.value.length == 6 ) { nextObj.focus(); }
 else if ( thisObj == form.cid_r && thisObj.value.length == 7 ) { chkcid(); }
 else { return false;}

}

/******* ÁÖ¹Î¹øÈ£ Ã¼Å© ³¡ ***************/
