//주민번호 Check function -
function checkJumin(juminNo)
{
	var lastNo;
	var sum = 0;
	var array = new Array(2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5);
	if (juminNo.length != 13){
		return false;
	}else{
		for(var i=0; i < array.length; i++){
			sum = sum + juminNo.substring(i,i+1)*array[i];
		}
		lastNo = 11 - (sum%11);
        if(lastNo >= 10)
        {
            lastNo = lastNo - 10;
        }
		//주민번호 logic이 맞으면 true, 틀리면 false를 return
		if(juminNo.substring(12,13)==lastNo)
		{
			return true;
		}else{
			return false;
		}
	}
}

//사업자번호 Check function -- 2000.04.12 KEDS 청약 조영은 작성
function checkSaUpJaBunHo(busiNo)
{
	var lastNo;
	var sum = 0;
	var number = 0;
	var array = new Array(1, 3, 7, 1, 3, 7, 1, 3);
	if (busiNo.length != 10)
	{
		return false;
	}
	else
	{
		for(var i=0; i <array.length; i++)
		{
			sum = sum + busiNo.substring(i,i+1)*array[i];
		}
		number = busiNo.substring(8,9)*5;
		sum = sum + (number/10) + (number%10);
		sum = sum%10;
		lastNo = 10-sum;

	        if(lastNo >= 10)
	        {
	            lastNo = lastNo-10;
	        }
	        
		//사업자번호 logic이 맞으면 true, 틀리면 false를 return
		if(busiNo.substring(9,10)==lastNo)
		{
			return true;
		}
		else
		{
			return false;
		}
	}
}

//ID 숫자 Check
function intYnCheck(rara)
{
//입력 값 중 하나라도 숫자가 아니면 false를 return
	var flag = true;
	for(var i=0; i<rara.length; i++)
	{
		var it = parseInt(rara.charAt(i));
		it = it.toString();
		if(it == "NaN")
		{
			flag = false;
		}
	}
	return flag;
}
function floatYnCheck(rara)
{
//입력 값 중 하나라도 숫자가 아니면 false를 return
	var flag = true;
	for(var i=0; i<rara.length; i++)
	{
		var ch = rara.charAt(i);
		var it = parseInt(rara.charAt(i));
		it = it.toString();
		if(it == "NaN")
		{
			if(ch=='.')
				flag = true;
			else
				flag = false;
		}
	}
	return flag;
}

//미성년자 체크
function kidCheck(s_temp,s_yyyymmdd)
{ 
  var s_juminNo,s_birth,i_yy1,i_yy2,i_mm1,i_mm2,i_dd1,i_dd2;
  s_juminNo=getReplaceText(s_temp, "-", "")
  if ((s_juminNo.substring(6,7) == "1")||(s_juminNo.substring(6,7) == "2"))
  {
    s_birth="19"+s_juminNo.substring(0,6);
  }
  else s_birth="20"+s_juminNo.substring(0,6);

  i_yy1 = parseInt(s_yyyymmdd.substring(0,4));
  i_mm1 = parseInt(s_yyyymmdd.substring(4,6));
  i_dd1 = parseInt(s_yyyymmdd.substring(6,8));

  i_yy2 = parseInt(s_birth.substring(0,4));
  i_mm2 = parseInt(s_birth.substring(4,6));
  i_dd2 = parseInt(s_birth.substring(6,8));

  if ((i_yy1-i_yy2)>20)
  {
   return false;
  }
  else if ((i_yy1-i_yy2)==20)
  {
    if ((i_mm1-i_mm2)>0)
	{
      return false;
	}
	else if ((i_mm1-i_mm2)==0)
	{
	  if ((i_dd1-i_dd2)>=0)
	  {
	    return false;
	  }
	  else
	  {
	    return true;
	  }
	}
	else
	{
      return true;
	}
  }
  else
  {
   return true;
  }

}


function dateChecking(obj, in_date)
{
	// 윤년 체크를 위한 변수
    var varYear;
    var varMonth;
    var varDay;
    var out_date;
    var date_length;
    var dayCheck;
    var day = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
    var replDate;
    
    out_date = in_date;
    out_date = getReplaceText(out_date, "/", "");
    
    if(intYnCheck(out_date) == false)
    {
        alert("날짜입력에는 숫자만 들어갑니다.");
        obj.focus();
        return in_date; 
    }    
   
    date_length = out_date.length;
    
    if(date_length != 8)
    {
      if(date_length != 0)
      {   
        alert("날짜입력은 8자리입니다.");
        obj.focus();
        obj.select();
        return in_date;
      }
      else
      {
        in_date = "";
        return in_date;
      }    
    }
       
    varYear = out_date.substring(0,4);
    varMonth = out_date.substring(4,6);
    varDay = out_date.substring(6,8);
    dayCheck = varDay;
    
    if((eval(varMonth) <= 0) || (eval(varMonth) > 12))
    {
        alert("월입력은 1~12 입니다.");
        obj.focus();
        obj.select();
        return false;
    }
  	 if((eval(varDay) <= 0) || (eval(varDay) > 31))
    {
        alert("일입력은 1~31 입니다.");
        obj.focus();
        obj.select();
        return false;
    }
    if ((((eval(varYear) % 4) == 0) &&
            (((eval(varYear) % 100) != 0) || ((eval(varYear) % 400) == 0))) ||
             ((eval(varYear) % 1000) == 0))
    {
        day[1]=29;
    }  

    dayCheck=(day[eval(varMonth)-1]);

    if((eval(varDay) <= 0) || (eval(dayCheck) < eval(varDay)))
    {
        alert(varMonth + "월은 " + dayCheck + "일까지입니다.");
        obj.focus();
        obj.select();
        return in_date;
    }
    else
    {
        in_date = varYear+"-"+varMonth+"-"+varDay;
        return in_date;
    }
}

function dateChecking1(obj, in_date)
{
	// 윤년 체크를 위한 변수
    var varYear;
    var varMonth;
    var varDay;
    var out_date;
    var date_length;
    var dayCheck;
    var day = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
    var replDate;
    
    out_date = in_date;
    out_date = getReplaceText(out_date, "/", "");
    
    if(intYnCheck(out_date) == false)
    {
        alert("날짜입력에는 숫자만 들어갑니다.");
        obj.focus();
		obj.select();
        return false; 
    }    
   
    date_length = out_date.length;
    
    if(date_length != 8)
    {
      if(date_length != 0)
      {   
        alert("날짜입력은 8자리입니다.");
        obj.focus();
        obj.select();
        return false;
      }
 
    }
       
    varYear = out_date.substring(0,4);
    varMonth = out_date.substring(4,6);
    varDay = out_date.substring(6,8);
    dayCheck = varDay;
    
    if((eval(varMonth) <= 0) || (eval(varMonth) > 12))
    {
        alert("월입력은 1~12 입니다.");
        obj.focus();
        obj.select();
        return false;
    }

    if ((((eval(varYear) % 4) == 0) &&
            (((eval(varYear) % 100) != 0) || ((eval(varYear) % 400) == 0))) ||
             ((eval(varYear) % 1000) == 0))
    {
        day[1]=29;
    }  

    dayCheck=(day[eval(varMonth)-1]);

    if((eval(varDay) <= 0) || (eval(dayCheck) < eval(varDay)))
    {
        alert(varMonth + "월은 " + dayCheck + "일까지입니다.");
        obj.focus();
        obj.select();
        return false;
    }

}

var downStrokeField;
function autojump(fieldName,nextFieldName,fakeMaxLength)
{
    var myForm=document.forms[document.forms.length - 1];
    var myField=myForm.elements[fieldName];
    myField.nextField=myForm.elements[nextFieldName];

    if (myField.maxLength == null)
       myField.maxLength=fakeMaxLength;

    myField.onkeydown=autojump_keyDown;
    myField.onkeyup=autojump_keyUp;
}

function autojump_keyDown()
{
    this.beforeLength=this.value.length;
    downStrokeField=this;
}

function autojump_keyUp()
{
    if (
       (this == downStrokeField) && 
       (this.value.length > this.beforeLength) && 
       (this.value.length >= this.maxLength)
       )
    {
	if (this.nextField.select) this.nextField.select();
       this.nextField.focus();
    }
    downStrokeField=null;
}


function trim(str) {
	var count = str.length;
	var len = count;                
	var st = 0;
		
	while ((st < len) && (str.charAt(st) <= ' ')) {
		st++;
	}
	while ((st < len) && (str.charAt(len - 1) <= ' ')) {
		len--;
	}                
	return ((st > 0) || (len < count)) ? str.substring(st, len) : str ;   
}
