﻿/*=================================================
 기능     : check 함수들
 내용     : 입력값 Validation 
            
 작성자   : 장문수
 작성일   : 2006-10-30
==================================================*/
function checkInput(oInput, message)
{
	if (oInput.value == "" )
	{
		window.alert(message);
		oInput.focus();
		return false;
	}
	return true;
}

//길이에 비교후 에러메세지 출력
function checkInputLength(oInput, length, message)
{	
	if (oInput.value.length <= length )
	{
		window.alert(message);
		oInput.focus();
		return false;
	}
	return true;
}

//검색어가 2자 이하일때
function Limit2Word(oInput)
{
	if(oInput.value.length <=1)
	{
		window.alert("두글자 이상의 검색어가 필요합니다");
		oInput.focus();
		return false;
	}
	return true;
}

function checkNumericEdit(oEdit, message)
{
	if (oEdit.getNumber() == null)
	{
		window.alert(message);
		oEdit.focus();
		return false;
	}
	return true;
}

function checkDateChooser(oDate, message)
{
	if (oDate.getText() == " ")
	{
		window.alert(message);
		oDate.setDropDownVisible(true);
		return false;
	}
	return true;
}

function checkSelect(oSelect, message)
{
	if (oSelect.selectedIndex == 0)
	{
		window.alert(message);
		oSelect.focus();
		return false;
	}
	return true;
}

function checkRadio(oRadio, message)
{
	var bCheck = false;
	for(var i=0;i<oRadio.length;i++)
	{
		if (oRadio[i].checked) { bCheck = true; break; }
	}
	if (!bCheck) {
		window.alert(message);
		oRadio[0].focus();
	}
	return bCheck;
}



/*=================================================
 기능     : 숫자만으로만 되어있는지 여부검사
 내용     : 입력값 Validation
 작성자   : 이철현
 작성일   : 2006-10-30
==================================================*/

function OnlyNum(obj)
{
	//var e1 = event.srcElement;
	//var e1value = event.srcElement.value;
	
	var num ="0123456789";

	for (var i=0;i<obj.value.length;i++)
	{
		if(num.indexOf(obj.value.charAt(i)) == -1)
		{
            obj.value = "";
            alert("숫자만 입력 해주세요.");
            return false;
            obj.focus();
		}
	}
}

//받은 값이 숫자로 이루어져있는지 체크하는 함수
function ValidateDigit(objInput)
{
	
	if(isNaN(objInput.value))
	{
		window.alert("숫자만 입력해주세요");
		objInput.value = "";
		return false;
	}
	else
	{
		return true;
	}
}

/*=================================================
 기능     : * 입력값에 특정 문자(chars)가 있는지 체크
            * 특정 문자를 허용하지 않으려 할 때 사용
            * ex) if (containsChars(form.name,"!,*&^%$#@~;")) {
            * alert("이름 필드에는 특수 문자를 사용할 수 없습니다.");
 내용     : 입력값 Validation
 작성자   : 장문수
 작성일   : 2006-10-31
==================================================*/
function containsChars(input,chars) {
    for (var inx = 0; inx < input.value.length; inx++) {
       if (chars.indexOf(input.value.charAt(inx)) != -1)
           return true;
    }
    return false;
}

function containsCharsAlert(input) 
{
    var chars = "~`!@#$%^&*()-_+=\|{}[]:;'?/><.,";
    for (var inx = 0; inx < input.value.length; inx++) 
    {
       if (chars.indexOf(input.value.charAt(inx)) != -1)
       {
           alert("특수문자는 사용할수 없습니다.");
           input.value = "";
           return;
       }
    }
}


/*=================================================
 기능     : * 입력값이 특정 문자(chars)만으로 되어있는지 체크

            * 특정 문자만 허용하려 할 때 사용
            * ex) if (!containsCharsOnly(form.blood,"ABO")) {
            *         alert("혈액형 필드에는 A,B,O 문자만 사용할 수 있습니다.");
            *        }
 내용     : 입력값 Validation
 작성자   : 장문수
 작성일   : 2006-10-31
==================================================*/
function containsCharsOnly(input,chars) {
    for (var inx = 0; inx < input.value.length; inx++) {
       if (chars.indexOf(input.value.charAt(inx)) == -1)
          return false;        
    }
    return true;
}




/*=================================================
 기능     : * 입력값이 알파벳인지 체크

            * 아래 isAlphabet() 부터 isNumComma()까지의 메소드가
            * 자주 쓰이는 경우에는 var chars 변수를 
            * global 변수로 선언하고 사용하도록 한다.
            * ex) var uppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
            *     var lowercase = "abcdefghijklmnopqrstuvwxyz"; 
            *     var number    = "0123456789";
            *     function isAlphaNum(input) {
            *         var chars = uppercase + lowercase + number;
            *         return containsCharsOnly(input,chars);
            *     }
 내용     : 입력값 Validation
 작성자   : 장문수
 작성일   : 2006-10-31
==================================================*/
function isAlphabet(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";   
    if(!containsCharsOnly(input,chars))
    {       
		return false;
	}
	else
	{
		return true;
	}
}

//변형
function isAlphabet(input,message) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";   
    if(!containsCharsOnly(input,chars))
    {   
        window.alert(message);
		input.focus();   
		return false;
	}
	else
	{
		return true;
	}
}

/*=================================================
 기능     : 입력값이 알파벳 대문자인지 체크
 내용     : 입력값 Validation
 작성자   : 장문수
 작성일   : 2006-10-31
==================================================*/
function isUpperCase(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    return containsCharsOnly(input,chars);
}



/*=================================================
 기능     : 입력값이 알파벳 소문자인지 체크
 내용     : 입력값 Validation
 작성자   : 장문수
 작성일   : 2006-10-31
==================================================*/
function isLowerCase(input) {
    var chars = "abcdefghijklmnopqrstuvwxyz";
    return containsCharsOnly(input,chars);
}


/*=================================================
 기능     : 입력값에 숫자만 있는지 체크
 내용     : 입력값 Validation
 작성자   : 장문수
 작성일   : 2006-10-31
==================================================*/
function isNumber(input) {
    var chars = "0123456789";
    return containsCharsOnly(input,chars);
}


/*=================================================
 기능     : 입력값이 알파벳,숫자로 되어있는지 체크
 내용     : 입력값 Validation
 작성자   : 장문수
 작성일   : 2006-10-31
==================================================*/
function isAlphaNum(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
    return containsCharsOnly(input,chars);
}

/*=================================================
 기능     : 입력값이 날짜형식으로 되어있는지 체크
 내용     : 입력값 Validation
 작성자   : 서형욱
 작성일   : 2006-11-9
==================================================*/

function DateCheck(obj)
{
   
	if (obj.value == "")
		return;
	if (obj.value.length != 8)
	{
	   	alert("잘못된 날짜 형식 입니다. [ex:20061012]");
		obj.value = "";
		obj.focus();
		return false;
	
	}
	var DateVal = "";
	var yy = "";
	var mm = "";
	var dd = "";
	var ResDate = "";
	var DateOK = ""
	var dd2 = "";
	
	DateVal = obj.value;
	
	yy= DateVal.substring(0,4);
	mm= DateVal.substring(4,6);
	dd= DateVal.substring(6,8);
	
	if ((mm < 1) || (mm > 12))
	{
		alert("잘못된 날짜 형식 입니다. [ex:20061012]");
		obj.value = "";
		obj.focus();
		return false;
	}

	ResDate = yy + "/" + mm + "/" + dd;
	
	DateOK = new Date(ResDate);
	dd2 = DateOK.getDate();
	
	if (parseInt(dd2) < 10)
		dd2 = "0" + dd2;
	
	if (parseInt(dd2) != parseInt(dd))
	{
		alert("잘못된 날짜 형식 입니다. [ex:20061012]");
		obj.value = "";
		obj.focus();
		return false;
	}
}


/*=================================================
 기능     : 입력값이 오늘날짜 이전으로 되어있는지 체크
 내용     : 입력값 Validation
 작성자   : 김명훈
 작성일   : 2006-11-9
==================================================*/

function ShotDateCheck(obj) {

    if (obj.value == "")
        return;
    if (obj.value.length != 8) {
        alert("잘못된 날짜 형식 입니다. [ex:20061012]");
        obj.value = "";
        obj.focus();
        return false;

    }
    var DateVal = "";
    var yy = "";
    var mm = "";
    var dd = "";
    var ResDate = "";
    var DateOK = ""
    var dd2 = "";

    DateVal = obj.value;

    yy = DateVal.substring(0, 4);
    mm = DateVal.substring(4, 6);
    dd = DateVal.substring(6, 8);

    if ((mm < 1) || (mm > 12)) {
        alert("잘못된 날짜 형식 입니다. [ex:20061012]");
        obj.value = "";
        obj.focus();
        return false;
    }

    ResDate = yy + "/" + mm + "/" + dd;

    DateOK = new Date(ResDate);
    dd2 = DateOK.getDate();

    if (parseInt(dd2) < 10)
        dd2 = "0" + dd2;

    if (parseInt(dd2) != parseInt(dd)) {
        alert("잘못된 날짜 형식 입니다. [ex:20061012]");
        obj.value = "";
        obj.focus();
        return false;
    }

    var now = new Date();
    var nowDate = now.getFullYear().toString();
    var nowMonth = now.getMonth() + 1;

    if (nowMonth < 10)
        nowDate += "0" + nowMonth.toString();
    else
        nowDate += nowMonth.toString();

    if (now.getDate() < 10)
        nowDate += "0" + now.getDate().toString();
    else
        nowDate += now.getDate().toString();

    if (nowDate < DateVal) {
        alert("촬영일은 오늘 이전의 날짜여야 합니다.");
        obj.value = "";
        obj.focus();
        return false;
    }
}

/*=================================================
 기능     : 입력값의 바이트 길이를 리턴
            * ex) if (getByteLength(form.title) > 100) {
            *         alert("제목은 한글 50자(영문 100자) 이상 입력할 수 없습니다.");
            *     }
 내용     : 입력값 Validation
 작성자   : 장문수
 작성일   : 2006-10-31
==================================================*/
function getByteLength(input) {
    var byteLength = 0;
    for (var inx = 0; inx < input.value.length; inx++) {
        var oneChar = escape(input.value.charAt(inx));
        if ( oneChar.length == 1 ) {
            byteLength ++;
        } else if (oneChar.indexOf("%u") != -1) {
            byteLength += 2;
        } else if (oneChar.indexOf("%") != -1) {
            byteLength += oneChar.length/3;
        }
    }
    return byteLength;
}


/*=================================================
 기능     : 입력값에서 컴마 삭제           
 내용     : 입력값 Validation
 작성자   : 장문수
 작성일   : 2006-10-31
==================================================*/
function removeComma(input) {
    return input.value.replace(/,/gi,"");
}


/*=================================================
 기능     : 부모창에 주소 입력          
 내용     : 주소찾기에서만 사용됨
 작성자   : 장문수
 작성일   : 2006-11-05
==================================================*/

function sendAddress(str)		
{
	var myvalue =str
	var ar=new Array();
	ar = myvalue.split(' ');

	if (opener.document.forms[0].ctl00_cphCenter_hlblRole != undefined) {
	    if (opener.document.forms[0].ctl00_cphCenter_hlblRole.value == '01' || opener.document.forms[0].ctl00_cphCenter_hlblRole.value == '05') {
	        opener.document.forms[0].ctl00_cphCenter_txtPost1.value = myvalue.substring(0, 3);
	        opener.document.forms[0].ctl00_cphCenter_txtPost2.value = myvalue.substring(4, 8);
	        opener.document.forms[0].ctl00_cphCenter_txtAddress1.value = "";
	        for (var i = 1; i < ar.length; i++) {
	            opener.document.forms[0].ctl00_cphCenter_txtAddress1.value += ar[i] + " ";

	        }
	        opener.document.forms[0].ctl00_cphCenter_txtAddress2.focus();
	    }
	    else if (opener.document.forms[0].ctl00_cphCenter_hlblRole.value == '02') {
	        opener.document.forms[0].ctl00_cphCenter_txtChildPost1.value = myvalue.substring(0, 3);
	        opener.document.forms[0].ctl00_cphCenter_txtChildPost2.value = myvalue.substring(4, 8);

	        opener.document.forms[0].ctl00_cphCenter_txtChildAddress1.value = "";

	        for (var i = 1; i < ar.length; i++) {
	            opener.document.forms[0].ctl00_cphCenter_txtChildAddress1.value += ar[i] + " ";
	        }
	        opener.document.forms[0].ctl00_cphCenter_txtChildAddress2.focus();
	    }
	    else {
	        opener.document.forms[0].ctl00_cphCenter_txtComPost1.value = myvalue.substring(0, 3);
	        opener.document.forms[0].ctl00_cphCenter_txtComPost2.value = myvalue.substring(4, 8);

	        opener.document.forms[0].ctl00_cphCenter_txtComAddress1.value = "";

	        for (var i = 1; i < ar.length; i++) {
	            opener.document.forms[0].ctl00_cphCenter_txtComAddress1.value += ar[i] + " ";
	        }
	        opener.document.forms[0].ctl00_cphCenter_txtComAddress2.focus();
	    }
	}
	else if (opener.document.forms[0].hlblRole != undefined) {
	    if (opener.document.forms[0].hlblRole.value == '01' || opener.document.forms[0].hlblRole.value == '05') {
	        opener.document.forms[0].txtPost1.value = myvalue.substring(0, 3);
	        opener.document.forms[0].txtPost2.value = myvalue.substring(4, 8);
	        opener.document.forms[0].txtAddress1.value = "";
	        for (var i = 1; i < ar.length; i++) {
	            opener.document.forms[0].txtAddress1.value += ar[i] + " ";

	        }
	        opener.document.forms[0].txtAddress2.focus();
	    }
	    else if (opener.document.forms[0].hlblRole.value == '02') {
	        opener.document.forms[0].txtChildPost1.value = myvalue.substring(0, 3);
	        opener.document.forms[0].txtChildPost2.value = myvalue.substring(4, 8);

	        opener.document.forms[0].txtChildAddress1.value = "";

	        for (var i = 1; i < ar.length; i++) {
	            opener.document.forms[0].txtChildAddress1.value += ar[i] + " ";
	        }
	        opener.document.forms[0].txtChildAddress2.focus();
	    }
	    else {
	        opener.document.forms[0].txtComPost1.value = myvalue.substring(0, 3);
	        opener.document.forms[0].txtComPost2.value = myvalue.substring(4, 8);

	        opener.document.forms[0].txtComAddress1.value = "";

	        for (var i = 1; i < ar.length; i++) {
	            opener.document.forms[0].txtComAddress1.value += ar[i] + " ";
	        }
	        opener.document.forms[0].txtComAddress2.focus();
	    }
	}
	else if (opener.document.forms[0].ctl00_cphCenter_OrderDetail1_txtPost1 != undefined) 
	{
	    opener.document.forms[0].ctl00_cphCenter_OrderDetail1_txtPost1.value = myvalue.substring(0, 3);
	    opener.document.forms[0].ctl00_cphCenter_OrderDetail1_txtPost2.value = myvalue.substring(4, 8);

	    opener.document.forms[0].ctl00_cphCenter_OrderDetail1_txtComAddress1.value = "";

	    for (var i = 1; i < ar.length; i++) {
	        opener.document.forms[0].ctl00_cphCenter_OrderDetail1_txtComAddress1.value += ar[i] + " ";
	    }
	    opener.document.forms[0].ctl00_cphCenter_OrderDetail1_txtComAddress2.focus();
	}
	else {
	    alert('페이지 에러.');
	}

	self.close();		
}



/*=======================================================================
Common.js : SessionMannager 관리 프로그램 공통 자바스크립트
Version 1.0
Made by : 서형욱 [amor21c@korea.com]
Created : 2005-05-11
Last Update :
=======================================================================*/

/*=======================================================================
함수명 : Jumin_Num_Check
기  능 : 주민등록번호 체크
인  수 : 주민등록번호
리턴값 : true, false
=======================================================================*/
function Jumin_Num_Check(arg_v) {
	ResNo1 = arg_v.substring(0, 6);
	ResNo2 = arg_v.substring(6);
	
	var chk = 0;
	var yy  = ResNo1.substring(0,2);
	var mm  = ResNo1.substring(2,4);
	var dd  = ResNo1.substring(4,6);
	var sex = ResNo2.substring(0,1);

	if (ResNo1.length != 6) 
	{
		//alert('주민등록번호 앞부분이 잘못되었습니다.');
		return false;
	}
	
	if ((sex != 1 && sex != 2 && sex != 3 && sex != 4) || (ResNo2.length != 7)) 
	{
		//alert ('주민등록번호 뒷부분이 잘못되었습니다.');
		return false;
	}   

	if ((ResNo1.length == 6) && (ResNo2.length == 7)) 
	{
		var ich = parseInt(sex, 10);	
		switch(ich) 
		{
			case 1: break;
			case 2: break;
			case 3: if(yy == 00) break;
			case 4: if(yy == 00) break;
			default:
				//alert('주민등록번호 뒷부분이 잘못되었습니다.');
				return false;
		}
	}
	
	for(var i = 0; i <=5; i++) 
	{ 
		chk = chk + (((i % 8) + 2) * parseInt(ResNo1.substring(i, i + 1)));
	}
	
	for(var i = 6; i <= 11; i++) 
	{
		chk = chk + (((i % 8) + 2) * parseInt(ResNo2.substring(i - 6, i - 5)));
	}
	
	chk = 11 - (chk % 11);
	chk = chk % 10;
	
	if(chk != ResNo2.substring(6, 7)) 
	{
		//alert('유효하지 않은 주민등록번호입니다.');
		return false;
	}
	
	return true
}

/*=======================================================================
함수명 : CheckBizNo
기  능 : 사업자등록번호 체크
인  수 : 사업자등록번호
리턴값 : true, false
=======================================================================*/


//사업자 번호 구성체크
function isBizInteger(st,maxLength)
{
 if (st.length == maxLength) {
  for (j=0; j<maxLength; j++)
  {
      if (((st.substring(j, j+1) < "0") || (st.substring(j, j+1) > "9")))
     return false;
  }
 }
 else {
  return false;
 }
 return true;
}

//사업자 등록번호 체크
function BizCheck(obj1, obj2, obj3)
{
 biz_value = new Array(10);
 
 if (isBizInteger(obj1.value,3) == false) {
  obj1.focus();
  obj1.select();
  return false;
 }

 if (isBizInteger(obj2.value,2) == false) {
  obj2.focus();
  obj2.select();
  return false;
 }

 if (isBizInteger(obj3.value,5) == false) {
  obj3.focus();
  obj3.select();
  return false;
 }

 var objstring = obj1.value +"-"+ obj2.value +"-"+ obj3.value;
 var li_temp, li_lastid;

 if ( objstring.length == 12 ) {
  biz_value[0] = ( parseFloat(objstring.substring(0 ,1)) * 1 ) % 10;
  biz_value[1] = ( parseFloat(objstring.substring(1 ,2)) * 3 ) % 10;
  biz_value[2] = ( parseFloat(objstring.substring(2 ,3)) * 7 ) % 10;
  biz_value[3] = ( parseFloat(objstring.substring(4 ,5)) * 1 ) % 10;
  biz_value[4] = ( parseFloat(objstring.substring(5 ,6)) * 3 ) % 10;
  biz_value[5] = ( parseFloat(objstring.substring(7 ,8)) * 7 ) % 10;
  biz_value[6] = ( parseFloat(objstring.substring(8 ,9)) * 1 ) % 10;
  biz_value[7] = ( parseFloat(objstring.substring(9,10)) * 3 ) % 10;
  li_temp = parseFloat(objstring.substring(10,11)) * 5 + "0";
  biz_value[8] = parseFloat(li_temp.substring(0,1)) + parseFloat(li_temp.substring(1,2));
  biz_value[9] = parseFloat(objstring.substring(11,12));
   li_lastid = (10 - ( ( biz_value[0] + biz_value[1] + biz_value[2] + biz_value[3] + biz_value[4] + biz_value[5] + biz_value[6] + biz_value[7] + biz_value[8] ) % 10 ) ) % 10;
   if (biz_value[9] != li_lastid) {
    obj1.focus();
    obj1.select();
    return false;
   }
   else
    return true;
 }
 else {
  obj1.focus();
  obj1.select();
  return false;
 }
}


/*=======================================================================
함수명 : NumericCheck
기  능 : 숫자만 입력 가능하게 함
인  수 : object
리턴값 : 없음
=======================================================================*/



function NumericCheck(thisone)
{ 
    var tempnum=thisone.value;
    var check = 0;
    
    for (i=0;i<tempnum.length;i++)
    {    
        if(tempnum.charCodeAt(i) == 46)
        {
            if(check != 0 || i == 0)
            {
                thisone.value = tempnum.substring(0,i);
                break;
            }
            check = check + 1;
        }
        if(tempnum.charCodeAt(i) != 45 && tempnum.charCodeAt(i) != 44 && tempnum.charCodeAt(i) != 46 && tempnum.charCodeAt(i) < 48 || tempnum.charCodeAt(i) > 57)
        {
            thisone.value = tempnum.substring(0,i);
            break ;
        }
        
        // 음수체크 및 숫자증간에 '-'가 들어가는 것을 방지한다.
        if( i != 0)
        {
           if( tempnum.charCodeAt(i) == 45 )
           {
            thisone.value = tempnum.substring(0,i);
            break ;
           }   
        }         
    }

}




/*=================================================
 기능     : 입력값이 날짜형식으로 되어있는지 체크
 내용     : 입력값 Validation
 작성자   : 장문수
 작성일   : 2007-05-02
==================================================*/
function DateCheckSub(obj)
{    
	if (obj.value.length != 8)
	{
	   	alert("잘못된 날짜 형식 입니다. [ex:20061012]");
		obj.value = "";
		obj.focus();
		return false;
	
	}
	var DateVal = "";
	var yy = "";
	var mm = "";
	var dd = "";
	var ResDate = "";
	var DateOK = ""
	var dd2 = "";
	
	DateVal = obj.value;
	
	yy= DateVal.substring(0,4);
	mm= DateVal.substring(4,6);
	dd= DateVal.substring(6,8);
	
	if ((mm < 1) || (mm > 12))
	{
		alert("잘못된 날짜 형식 입니다. [ex:20061012]");
		obj.value = "";
		obj.focus();
		return false;
	}

	ResDate = yy + "/" + mm + "/" + dd;
	
	DateOK = new Date(ResDate);
	dd2 = DateOK.getDate();
	
	if (parseInt(dd2) < 10)
		dd2 = "0" + dd2;
	
	if (parseInt(dd2) != parseInt(dd))
	{
		alert("잘못된 날짜 형식 입니다. [ex:20061012]");
		obj.value = "";
		obj.focus();
		return false;
	}
	return true;
}


