//////////////////////////////////////통합 자바스크립트 소스//////////////////////////////////////// 
//////스크립트 추가시 애기해주시구요///////////////////////////////////////////////////////////////
/////<script>와</script>는 이 소스에서 사용하지 마세요....실행되지 않습니다////////////////////////
var searchPopup = "";
function Exit() 
{
	
	if ( self.screenTop > 9000) 
	{

		if ( searchPopup != "" )
		{
			//alert( "윈도우 핸들 : " + searchPopup );
			searchPopup.close();
		}
		document.form_exit.method = "post";
		document.form_exit.action = "/logout.do";
		document.form_exit.submit();
		
	} 
	else {
		// 새로고침
		if(document.readyState == "complete") 
		{
			//alert('새로고침 하였습니다.');
		    window.status='';
		} 
		// 이동
		else if(document.readyState == "loading") 
		{
			//alert('이동 하였습니다');
			window.status='';
		}
		else
		{
			window.status='';
		}
	}

}

function printDown(url)
{
	
	var print = document.all.outprint.innerHTML;
	document.all.excel_frame.contents.value = print;
	var pop=window.open('','sendpop','width=738,height=650,scrollbars=no');
	
	var url1 = url.substring(4,7); //ppi 기업일반  //pri 대표자정보 
	
	var url2 = url.substring(4,9); //pdi_a,b,c,d 산업정보psi_e
	var url3 = url.substring(4,9); //psi_e 물가정보
	var url4 = url.substring(4,9); //브리핑

	if(url4 == "ppi_a"){
		document.all.excel_frame.ecount.value = "4";
	}else if(url1 == "ppi" || url1 == "pri" || url1 == "ht_"){
		document.all.excel_frame.ecount.value = "1";
	}else if(url2 == "pdi_a" || url2 == "pdi_b" || url2 == "pdi_c" || url2 == "pdi_d"){
		document.all.excel_frame.ecount.value = "2";
	}else if(url3 == "psi_e"){
		document.all.excel_frame.ecount.value = "3";
	}
	else{
		document.all.excel_frame.ecount.value = "0";
	}
	document.all.excel_frame.method = "post";
	document.all.excel_frame.action = "/jsp/print.jsp";
	document.all.excel_frame.target = 'sendpop';
	document.all.excel_frame.submit();
	
	pop.focus();
	

}
function printDown_ch(url)
{
	
	var print = document.all.outprint.innerHTML;
	document.all.excel_frame.contents.value = print;
	var pop=window.open('','sendpop','width=738,height=650,scrollbars=no');
	
	var url1 = url.substring(4,7); //ppi 기업일반  //pri 대표자정보 
	var url2 = url.substring(4,9); //pdi_a,b,c,d 산업정보psi_e
	var url3 = url.substring(4,9); //psi_e 물가정보

	if(url1 == "ppi" || url1 == "pri"){
		document.all.excel_frame.ecount.value = "1";
	}else if(url2 == "pdi_a" || url2 == "pdi_b" || url2 == "pdi_c" || url2 == "pdi_d"){
		document.all.excel_frame.ecount.value = "2";
	}else if(url3 == "psi_e"){
		document.all.excel_frame.ecount.value = "3";
	}else{
		document.all.excel_frame.ecount.value = "0";
	}
	document.all.excel_frame.method = "post";
	document.all.excel_frame.action = "/jsp/print_ch.jsp";
	document.all.excel_frame.target = 'sendpop';
	document.all.excel_frame.submit();
	
	pop.focus();
	

}
function excelDown()
{
	var str = document.body.innerHTML;
	this.window.focus();
	document.all.excel_frame.contents.value = str;
	document.all.excel_frame.method = "post";
	document.all.excel_frame.target = '_self';
	document.all.excel_frame.action = "/excelDown.do";
	document.all.excel_frame.submit();


}
///////////////////////////////////// 체크 박스 관련 함수 모음 ////////////////////////////////////////

/*#################################################################################################
   + checkBoxSetting(checkBoxName, Jvalue)
   - Arguments  : checkBoxName,Jvalue
   - Return     :          -
   - Usage      : 
   - Content    : 체크 박스를 체크해 주는 함수
#################################################################################################*/
function checkBoxSetting(checkBoxName, Jvalue)
{
	var Count = checkBoxName.length;

	if(Count > 1) {
		for(var i=0; i<Count; i++)
		{
			if( checkBoxName[i].value == Jvalue) {
				checkBoxName[i].checked = true;
				return;
			}
		}
	} else {
		if( checkBoxName.value == Jvalue) {
			checkBoxName.checked = true;
			return;
		}
	}

	//checkBoxName[eval(defaultValue)].checked = true;
}
/*#################################################################################################
   + checkBoxYn(checkBoxName)
   - Arguments  : checkBoxName
   - Return     : true/false
   - Usage      : 
   - Content    : 체크 박스가 체크 되어 있는지를 체크해 주는 함수
#################################################################################################*/
function checkBoxYn(checkBoxName)
{
	var Count = checkBoxName.length;

	if(Count > 1) {
		for(var i=0; i<Count; i++) {
			if( checkBoxName[i].checked) return true;
			else return false;
		}
	} else {
		if( checkBoxName.checked) return true;
		else return false;
	}
}
/*#################################################################################################
   + useableYnCheck(obj1, obj2)
   - Arguments  : obj1,obj2	
   - Return     : reg_use
   - Usage      : 
   - Content    : 사용 유무가 체크 되어 있는지 체크한다.  둘다 체크 되어 있거나 둘다 체크 안되어 있는 경우는 전체로 본다.
#################################################################################################*/
function useableYnCheck(obj1, obj2) {
	
	var use1 = checkBoxYn(obj1);
	var use2 = checkBoxYn(obj2);
	var reg_use = "";
	
	if((use1 && use2) || (!use1 && !use2))reg_use = "";
	else if(use1) reg_use = "T";
	else if(use2) reg_use = "F";

	return reg_use;
}
/*#################################################################################################
   + check_only(chk)
   - Arguments  : chk	
   - Return     :  -
   - Usage      : 
   - Content    : 여러 항목 체크시 반드시 하나만 체크하도록 넘어가는 경우
#################################################################################################*/
function check_only(chk){

	var _obj = document.forms["myForm"].elements["hab_print[]"];
	for(var i=0; i<_obj.length; i++){
	if(_obj[i] != chk){
	_obj[i].checked = false;
		}
	}
}
/*#################################################################################################
   + add()
   - Arguments  : add
   - Return     :  -
   - Usage      : 
   - Content    : 체크박스 클릭시 텍스트창에 넘어가고 삭제시 텍스트창에서 지워지기
#################################################################################################*/
 function add() {

  var checkboxs = document.getElementsByName("cb");
  var rVal = "";
  for(i=0;i<checkboxs.length;i++) {
    if(checkboxs[i].checked)
    rVal += checkboxs[i].value;
  }
  document.getElementById("result").value = rVal;
}

/*#################################################################################################
   + Check1(a)
   - Arguments  : Check
   - Return     :  -
   - Usage      : 
   - Content    : 체크박스 클릭시 다른 체크박스도 동시에 체크하기
#################################################################################################*/
function Check1(a)
{
	b = (a.checked) 
	for(i=0; i<a.form.length; i++)
	{
		a.form.elements[i].checked = b;
		}
}




//////////////////////////////////////// 입력 체크 관련 함수 모음 ////////////////////////////////////////

/*#################################################################################################
   + containsCharsOnly(input,chars)
   - Arguments  : input,chars
   - Return     : false/true
   - Usage      : if (!containsCharsOnly(form.blood,"ABO")) {
						alert("혈액형 필드에는 A,B,O 문자만 사용할 수 있습니다.");
				  }
   - Content    : 입력값이 특정 문자(chars)만으로 되어있는지 체크, 특정 문자만 허용하려 할 때 사용
#################################################################################################*/
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;
}
/*#################################################################################################
   + intYnCheck(obj, x)
   - Arguments  : obj,x
   - Return     : false/true
   - Usage      : 
   - Content    : ID 숫자 Check
#################################################################################################*/
function intYnCheck(obj, x)
{
	//입력 값 중 하나라도 숫자가 아니면 false를 return
	var flag = true;
	for(var i=0; i<x.length; i++)
	{
		var it = parseInt(x.charAt(i));
		it = it.toString();
		if(it == "NaN")
		{
			alert("숫자만 입력해 주세요.");
			obj.focus();
			obj.select();
			return false;
		}
	}

	return true;
}
/*#################################################################################################
   + isNull(val)
   - Arguments  : val
   - Return     : fale/true
   - Usage      : 
   - Content    : 주어진 값이 "" 인지 체크. val=문자열값 
#################################################################################################*/
function isNull(val){
	if(val.length+1 == val.split(" ").length){		
		return true;
   	}
   	return false;
}
/*#################################################################################################
   + isNum(val)
   - Arguments  : val
   - Return     : false/true
   - Usage      : 
   - Content    : 주어진 값이 숫자형식인지 체크. val=문자열값 
#################################################################################################*/
function isNum(val){
	if(val=="") return false;
	var tempstr = "0123456789";
	for(var i=0; i<val.length; i++){
		if(tempstr.indexOf(val.charAt(i))==-1){
			return false;
		}
	}
	return true;
}
/*#################################################################################################
   + isChar(val)
   - Arguments  : val
   - Return     : true
   - Usage      : 
   - Content    : 주어진 값이 ASCII인지 체크. val=문자열값(유효값: "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")
#################################################################################################*/
function isChar(val){
	tempstr = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
	for(i=0; i<val.length; i++){
		if(tempstr.indexOf(val.charAt(i)) == -1) return false;
	}
	return true;
}
/*#################################################################################################
   + isResId(id1, id2)
   - Arguments  : id1,id2
   - Return     : false/true
   - Usage      : 
   - Content    : 외국인/국내 주민번호 체크
#################################################################################################*/
/*
 * <pre>
 * input 필드 객체(obj)의 값이 올바른 주민번호인지 체크하는 메소드
 *
 * 1. 설 명
 *    input 필드 객체(obj)의 값이 올바른 주민번호인지 체크
 *    
 * 2. 특이사항
 * 
 * <b>Parameters</b>
 *   obj - 주민번호를 가진 obj나 value
 *
 * <b>return</b>
 *   input 필드 객체(obj)의 값이 올바른 주민번호인지 체크하여 맞으면 true 리턴.
 * 
 * </pre>
 */
function cIsJumin( obj ) {
	
	var str = "";
	if (typeof obj=="object"){
	str = obj.value;
	}else{
	str = obj;
	}
 		
	str = cRmString(str, "-");	// "-" 제거
	 
	var  j=9
	var  id_chk=0  

	object =  new Array(13)    
	for(var i=0;i < 13;i++) {  
		object[i] = str.substring(i,i+1)   
	}  
	var chkdigit = str.substring(12, 13)   
	for(var i=0;i < 12;i++){ 
		 
	    if( i == 8 )     
	    j = 9
	    object[i]=object[i]*j  
	    j--  
	    id_chk +=object[i]     
	}  
    if(((id_chk%11 == 0) && (chkdigit == 1)) || ((id_chk%11 ==10)&& (chkdigit ==0))){     
          
		 return true;
    }else if((id_chk %11 != 0) && (id_chk % 11 != 10 ) && (id_chk % 11 == chkdigit)){
         
		 return true;
    }else{  
		   
          return clsAlienJumin(str);
    } 
} 
			 
/*
 * <pre>
 * str이 null, undefined, NaN, 공백("") 이면 true하는 메소드
 *
 * 1. 설 명
 *    str이 null, undefined, NaN, 공백("") 이면 true
 * 
 * 2. 특이사항
 *    
 * 
 * <b>Parameters</b>
 *   str : 체크할 문자열
 * 
 * <b>return</b>
 *   str이 null, undefined, NaN, 공백("") 이면 true
 * 
 * </pre>
 */
function cIsNull(str) {
 	if (str+"" == "undefined" || str+"" == "NaN" || str+"" == "null" || str+"" == "")
 		return true;
	return false;
} 
/*
 * <pre>
 * input 필드의 값이 올바른 외국인 주민번호인지 체크하는 메소드
 *
 * 1. 설 명
 *    input 필드의 값이 올바른 외국인 주민번호인지 체크
 *    
 * 2. 특이사항
 * 
 * <b>Parameters</b>
 *   obj - 외국인 주민번호를 가진 value
 *
 * <b>return</b>
 *   input 필드 객체(obj)의 값이 올바른 외국인 주민번호인지 체크하여 맞으면 true 리턴.
 * 
 * </pre>
 */
function clsAlienJumin(fgn_reg_no){ 
	
    if (fgn_reg_no == ''){ 
        return false; 
    } 
    if (fgn_reg_no.length != 13) { 
        return false; 
    } 
    
    var birthYear = "";
    var birthMonth = "";
    var birthDate = "";
    var birth = null;
    
    if ((fgn_reg_no.charAt(6) == "5") || (fgn_reg_no.charAt(6) == "6")) { 
        birthYear = "19"; 
    } else if ((fgn_reg_no.charAt(6) == "7") || (fgn_reg_no.charAt(6) == "8")) { 
        birthYear = "20"; 
    } else if ((fgn_reg_no.charAt(6) == "9") || (fgn_reg_no.charAt(6) == "0")) { 
        birthYear = "18"; 
    } else { 
        return false; 
    }         

    birthYear += fgn_reg_no.substr(0, 2); 
    birthMonth = fgn_reg_no.substr(2, 2) - 1; 
    birthDate = fgn_reg_no.substr(4, 2); 
    birth = new Date(birthYear, birthMonth, birthDate); 
     
    if ( birth.getYear() % 100 != fgn_reg_no.substr(0, 2) || 
         birth.getMonth() != birthMonth || 
         birth.getDate() != birthDate) { 
        return false; 
    } else {
        return true; 
    }
}
/*
 * <pre>
 * str의 문자열중 rmChar의 특정 문자만 삭제한 문자열을 리턴하는 메소드
 *
 * 1. 설 명
 *    str의 문자열중 rmChar의 특정 문자만 삭제한 문자열을 리턴
 *    
 * 2. 특이사항
 * 
 * <b>Parameters</b>
 *   str - str의 문자열
 *   rmChar - 길이 1의 문자
 *
 * <b>return</b>
 *   str의 문자열중 rmChar의 특정 문자만 삭제한 문자열을 리턴
 * 
 * </pre>
 */
function cRmString(str, rmChar){
	//null이 있다면	
	if(cIsNull(str) || cIsNull(rmChar)) return false;
	
	// 한자리의 rmChar인지 체크
	if(rmChar.length != 1){
		alert("[스크립트 사용 오류]\r\n rmStr에는 1자리의 문자만 올 수 있습니다.");
		return;
	}
	var len = str.length;
	var rtValue = "";
	
	for(var i =0 ; i < len ; i++){
		if(str.charAt(i) != rmChar){
			rtValue += str.charAt(i);
		}	
	}
	return rtValue;
}
/*#################################################################################################
   + isResId(id1, id2)
   - Arguments  : id1,id2
   - Return     : false/true
   - Usage      : 
   - Content    : 주어진 값이 주민번호인지 체크. id1,id2=문자열값
#################################################################################################*/
function isResId(id1, id2){
	a = Array(6);
	b = Array(7);

	for (var i=0; i<6; i++)
		a[i] = parseInt(id1.charAt(i));

	for (var j=0; j<7; j++)
		b[j] = parseInt(id2.charAt(j));

	ssntot = (a[0]*2)+(a[1]*3)+(a[2]*4)+(a[3]*5)+(a[4]*6)+(a[5]*7) + (b[0]*8)+(b[1]*9)+(b[2]*2)+(b[3]*3)+(b[4]*4)+(b[5]*5);
	ssnave = 11 - (ssntot%11);

	if (ssnave == 11) ssnave = 1;
	else if(ssnave == 10) ssnave = 0;

	if (b[6] == ssnave) return true;
	else return false;
}
/*#################################################################################################
   + checkJumin(juminNo)
   - Arguments  : juminNo
   - Return     : false/true
   - Usage      : 
   - Content    : 주민번호 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);

	juminNo = juminNo.replace("-", "");

	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;
		}
	}
}

/*#################################################################################################
   + sendit()
   - Arguments  : juminNo
   - Return     : false/true
   - Usage      : 
   - Content    : 주민번호 Check function-1
#################################################################################################*/
function sendit(){
//주민등록번호 입력여부를 확인해주는 역할을 한다 
	if(document.loginform.ssnchk.value != "yes") {	
               alert("틀린 주민등록번호입니다.");
		document.loginform.ssn1.focus();
		return false;	 }
	document.loginform.submit();
	return true;
}
function CheckSSN() {
  var ssn1 = document.loginform.ssn1.value;
  var ssn2 = document.loginform.ssn2.value;
  ssn = ssn1 + ssn2;
  key = "234567892345";
  total = 0;
  for(i=0;i<12;i++)
  { total = total + ssn.charAt(i) * key.charAt(i);  }  
  na = (11 - (total%11))%10;
  if (ssn.charAt(12) == na) {
   	 document.loginform.ssnchk.value="yes";
	 alert("주민등록번호가 맞습니다");  }
  else {
       alert("주민등록번호가 틀립니다.\n다시 입력해주세요!!");
	 return false; }
}

/*#################################################################################################
   + checkJumin2(juminNo)
   - Arguments  : juminNo
   - Return     : false/true
   - Usage      : 
   - Content    : 주민번호 Check시 자동으로 다음 칸으로 넘기는 방법
#################################################################################################*/
function checkJumin2(juminNo)
{
  var str = document.jumin.jumin1.value.length;
  if(str == 6)
    document.jumin.jumin2.focus();
}    
/*#################################################################################################
   + checkSaUpJaBunHo(busiNo)
   - Arguments  : busiNo
   - Return     : false/true
   - Usage      : 
   - Content    : 사업자번호 Check function
#################################################################################################*/
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;
		}
	}
}
/*#################################################################################################
   + isDate(val)
   - Arguments  : val
   - Return     : false/true
   - Usage      : 
   - Content    : 주어진 값이 날짜인지 체크. val=문자열값(유효형식: "YYYYMMDD") 
#################################################################################################*/
function isDate(val){
	if(val.length==8){
		if(val.substring(4,6)<13){
			if(val.substring(6,8)>0 && val.substring(6,8)<32){
				return true;
			}
		}
	}
	return false;
}
/*#################################################################################################
   + isEmail(val)
   - Arguments  : val
   - Return     : false/true
   - Usage      : 
   - Content    : 주어진 값이 메일주소인지 체크. val=문자열값(유효값: "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-@.")
#################################################################################################*/
function isEmail(val){
	tempstr = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-@.";
	str1cnt = 0;
	str2cnt = 0;
	for(i=0;i<val.length;i++){ 
		if(tempstr.indexOf(val.charAt(i)) == -1) return false;
       	if(val.charAt(i) == '@') str1cnt += 1;
       	if(val.charAt(i) == '.') str2cnt += 1;
	}
	if (str1cnt != 1 || str2cnt < 1 || str2cnt > 2) return false;
	return true;
}
/*#################################################################################################
   + isEmailMulti(vals, sep)
   - Arguments  : vals, sep
   - Return     : false/true
   - Usage      : 
   - Content    : 멀티메일주소체크(vals=멀티주소, sep=구분자)
#################################################################################################*/
function isEmailMulti(vals, sep){
	if(sep==null || sep=="") sep = ";";
	var addresses = new Array();
	addresses = vals.split(sep);
	for(i=0; i<addresses.length; i++){
		if(!isEmail(addresses[i])) return false;
	}
	return true;
}
/*#################################################################################################
   + dateChecking(obj, in_date)
   - Arguments  : obj, in_date
   - Return     : in_date
   - Usage      : 
   - Content    : 윤년 체크를 위한 함수
#################################################################################################*/
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(obj, out_date) == false)
    {
        alert("Not Number Input Error!");
        obj.focus();
        return in_date;
    }

    date_length = out_date.length;

    if(date_length != 8)
    {
      if(date_length != 0)
      {
        alert("Date Input Number 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("Month Input 1~12!");
        obj.focus();
        obj.select();
        return in_date;
    }

    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 + "Month is Last Date " + dayCheck);
        obj.focus();
        obj.select();
        return in_date;
    }
    else
    {
        in_date = varYear+"-"+varMonth+"-"+varDay;
        return in_date;
    }
}
/*#################################################################################################
   + dateChecking2(yyyy,mm,dd)
   - Arguments  : yyyy,mm,dd
   - Return     : false/true
   - Usage      : 
   - Content    : 윤년 체크를 위한 함수
#################################################################################################*/
function dateChecking2(yyyy,mm,dd)
{
    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;

    varYear  = yyyy.value;
    varMonth = mm.value;
    varDay   = dd.value;

		if(varYear.length < 4)
		{
			varYear = "0000" + yyyy.value;
			varYear = varYear.substring(varYear.length-4,varYear.length);
			yyyy.value = varYear;
		}

		if(varMonth.length < 2)
		{
			varMonth = "00" + mm.value;
			varMonth = varMonth.substring(varMonth.length-2,varMonth.length);
			mm.value = varMonth;
		}

		if(varDay.length < 2)
		{
			varDay = "00" + dd.value;
			varDay = varDay.substring(varDay.length-2,varDay.length);
			dd.value = varDay;
		}

    out_date = yyyy.value+mm.value+dd.value;
    out_date = getReplaceText(out_date, "-", "");

    if(intYnCheck(obj, out_date) == false)
    {
        alert("Date Input is Number!");
        yyyy.focus();
        return false;
    }

    date_length = out_date.length;

    if(date_length != 8)
    {
      if(date_length != 0)
      {
        alert("Date Input Number 8!");
        yyyy.focus();
        return false;
      }
      else
      {
        in_date = "";
        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("Month Input is 1 ~ 12!");
        mm.focus();
        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 + "Month is Last Date " + dayCheck);
        dd.focus();
        return false;
    }
		return true;
}
/*#################################################################################################
   + dateChecking3(obj, in_date)
   - Arguments  : obj, in_date
   - Return     : false/true
   - Usage      : 
   - Content    : 윤년 체크를 위한 함수
#################################################################################################*/
function dateChecking3(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(obj, out_date) == false)
    {
        alert("Date Input is Number!");
        obj.focus();
        return false;
    }

    date_length = out_date.length;

    if(date_length != 8)
    {
      if(date_length != 0)
      {
        alert("Date Input Number 8!");
        obj.focus();
        obj.select();
        return false;
      }
      else
      {
        in_date = "";
        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;
    }
    else
    {
        in_date = varYear+"/"+varMonth+"/"+varDay;
        obj.value = in_date;
        return true;
    }
}
/*#################################################################################################
   + kidCheck(s_temp,s_yyyymmdd)
   - Arguments  : s_temp,s_yyyymmdd
   - Return     : true/false
   - Usage      : 
   - Content    : 미성년자 체크
#################################################################################################*/
function kidCheck(s_temp,s_yyyymmdd)
{
  //s_temp(주민번호는 '-'가 붙어도 상관없다),s_yyyymmdd(현재일자는 '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;
  }

}

/*#################################################################################################
   + inputCheck()
   - Arguments  :  -
   - Return     :  -
   - Usage      : 
   - Content    : 회원가입
#################################################################################################*/
function inputCheck(){

	var thisform = document.regForm;

	if (thisform.mem_id.value == null || thisform.mem_id.value == "" || thisform.mem_id.value.length < 4 || thisform.mem_id.value.length > 8) {
		alert("아이디(ID)를 입력해주세요. 4~8자의 영문소문자, 숫자, '_', '-' 만 가능합니다.\n\r\n\r한글ID는 불가합니다.");
		thisform.mem_id.value="";
		thisform.mem_id.focus();	
		return;
	}
	else {
		var ch;
		for (var i=0; i<thisform.mem_id.value.length; i++) {
			ch = thisform.mem_id.value.charAt(i);
			if ( !(ch >= 'a' && ch <= 'z') && !(ch >= '0' && ch <= '9') && ch != '-' && ch != '_' ) {
				alert("아이디(ID)를 입력해주세요. 4~8자의 영문소문자, 숫자, '_' 만 가능합니다.\n\r\n\r한글ID는 불가합니다.");
				thisform.mem_id.value="";
				thisform.mem_id.focus();	
				return;
			}
		}
	}
	if (thisform.mem_passwd.value == null || thisform.mem_passwd.value == "" || thisform.mem_passwd.value.length < 4 || thisform.mem_passwd.value.length > 11) {
		alert("비밀번호를 입력해주세요. 4~11자의 영문소문자, 숫자만 가능합니다. ");
		thisform.mem_passwd.focus();	
		return;
	}
	
	if(thisform.mem_repasswd.value==""){
		alert("비밀번호를 확인해 주세요");
		thisform.mem_repasswd.focus();
		return;
	}
	if(thisform.mem_passwd.value != thisform.mem_repasswd.value){
		alert("비밀번호가 일치하지 않습니다.");
		thisform.mem_repasswd.focus();
		return;
	}
	
       var len = thisform.mem_name.value.length;
	   if(len<2){
	     alert("이름이 잘못되었습니다.");
		 thisform.mem_name.value="";
		 thisform.mem_name.focus();
		 return;
	   }

	   for(i=0;i<len;i++)
		{
	     var mycode=thisform.mem_name.value.charCodeAt(i);
		 if(mycode<128){
		    alert("한글이름으로 입력하세요.");
			thisform.mem_name.value="";
			thisform.mem_name.focus();
			return;
		 }
	   }

	
	if(thisform.mem_num1.value==""){
		alert("주민번호을 입력해 주세요.");
		thisform.mem_num1.focus();
		return;
	}
	if(thisform.mem_num2.value==""){
		alert("주민번호가 잘못되었군요!!.");
		thisform.mem_num2.focus();
		return;
	}
	
	var jumin1=regForm.mem_num1.value;
	var jumin2=regForm.mem_num2.value;
	var jumin=jumin1+jumin2;
	var index="234567892345";
	var total=0;
	for(var i=0;i<12;i++)
		total+=parseInt(jumin.charAt(i)*index.charAt(i));

	total=11-total%11;
	if(total==10)
		total=0;
	else if(total==11)
		total=1;

	if(total!=jumin.charAt(12))
	{
		alert("주민번호를 다시 확인하세요.");
		thisform.mem_num1.value="";
		thisform.mem_num2.value="";
		thisform.mem_num1.focus();
		return;
	}

	if(thisform.mem_email.value==""){
		alert("이메일을 입력해 주세요.");
		thisform.mem_email.focus();
		return;
	}

    var str=thisform.mem_email.value;	   
    var atPos = str.indexOf('@');
    var atLastPos = str.lastIndexOf('@');
    var dotPos = str.indexOf('.'); 
    var spacePos = str.indexOf(' ');
    var commaPos = str.indexOf(',');
    var eMailSize = str.length;
    if (atPos > 1 && atPos == atLastPos && 
	   dotPos > 3 && spacePos == -1 && commaPos == -1 
	   && atPos + 1 < dotPos && dotPos + 1 < eMailSize);
    else {
          alert('E-mail주소 형식이 잘못되었습니다.\n\r다시 입력해 주세요!');
	      thisform.mem_email.focus();
		  return;
    }

	if(thisform.mem_phone.value==""){
		alert("연락처를 입력해 주세요.");
		thisform.mem_phone.focus();
		return;
	}
	
	
	thisform.submit();
}

function zipCheck(){
		//url="../membership/ZipCheck.jsp?check=y";
		window.open(url,"post","toolbar=no ,width=550 ,height=300 ,directories=no,status=yes,scrollbars=yes,menubar=no");
}
 




//////////////////////////////////////// 페이지 설정 관련 함수 모음 ////////////////////////////////////////

/*#################################################################################################
   + setStartPage(obj, url)
   - Arguments  : obj,url
   - Return     :	- 
   - Usage      : 
   - Content    : 시작페이지로 설정
#################################################################################################*/
function setStartPage(obj, url){
	obj.style.behavior="url(#default#homepage)";
	obj.setHomePage(url);
}
/*#################################################################################################
   + addFavorite(url, title)
   - Arguments  : url,title
   - Return     :	-
   - Usage      :  
   - Content    : 즐겨찾기추가,	북마크할 URl 과 홈페이지 제목
#################################################################################################*/
function addFavorite(url, title) {
	var bookmarkurl = url;
	var bookmarktitle = title;
	
	if (window.sidebar&&window.sidebar.addPanel)
		window.sidebar.addPanel(bookmarktitle, bookmarkurl,"");
	else 
		if (document.all) window.external.AddFavorite(bookmarkurl,bookmarktitle);
}






//////////////////////////////////////// 팝업 관련 함수 모음 ////////////////////////////////////////

/*#################################################################################################
   + popup(u, t, w, h, s)
   - Arguments  : u, t, w, h, s
   - Return     :	-
   - Usage      : 
   - Content    : 팝업창을 화면 가운데로 오픈. u=url, t=target, w=width, h=height
#################################################################################################*/
function popup(u, t, w, h, s){
	var opt="height=" + h + ",innerHeight=" + h + ",width=" + w + ",innerWidth=" + w;
  	if(window.screen) { 
    		var ah = screen.availHeight - 30;
    		var aw = screen.availWidth - 10;
    		var xc = (aw - w) / 2; 
    		var yc = (ah - h) / 2; 
    		opt += ",left=" + xc + ",screenX=" + xc; 
    		opt += ",top=" + yc + ",screenY=" + yc; 
    		opt += ",scrollbars=" + s;
  	}
	var win=window.open(u,t,opt);
	if(win) win.focus();
}
/*#################################################################################################
   + autoResizePopup()
   - Arguments  :	-
   - Return     :	-
   - Usage      : 
   - Content    : 팝업창 자동 크기조절
#################################################################################################*/
function autoResizePopup() {
	var winW, winH, sizeToW, sizeToH;
	if ( parseInt(navigator.appVersion) > 3 ) {
 		if ( navigator.appName=="Netscape" ) {
  			winW = window.innerWidth;
			winH = window.innerHeight;
 		}
 		if ( navigator.appName.indexOf("Microsoft") != -1 ) {
  			winW = document.body.scrollWidth;
  			winH = document.body.scrollHeight;
 		}
	}
	sizeToW = 0;
	sizeToH = 0;
	if ( winW > 600 ) {
		sizeToW = 600 - document.body.clientWidth;
	} else if ( Math.abs(document.body.clientWidth - winW ) > 3 ) {
		sizeToW = winW - document.body.clientWidth;
	}
	if ( winH > 680 ) {
		sizeToH = 680 - document.body.clientHeight;
	} else if ( Math.abs(document.body.clientHeight - winH) > 4 ) {
		sizeToH = winH - document.body.clientHeight;
	}
	if ( sizeToW != 0 || sizeToH != 0 )
		window.resizeBy(sizeToW, sizeToH);
}


function popwindow01(win,pop,width,height,top,left)
	{
			var wname = win;
			var url = pop;
			var wd = width;
			var he = height;
			var to = top;
			var le = left;

			window.open(url,wname,"toolbar=0,menubar=0,scrollbars=no,resizable=no,width=" + wd +",height=" + he + ",top=" + to + ",left=" + le + ";")
	}
/*#################################################################################################
   + pop() 
   - Arguments  :	-
   - Return     :	-
   - Usage      : 
   - Content    : 팝업창 자동으로 띄우기
#################################################################################################*/
function pop(){ 
window.open("팝업창파일", "pop", "width=400,height=500,history=no,resizable=no,status=no,scrollbars=yes,menubar=no")
}
//-->
function open_win(){ 
window.open('popup.html','popup', 'width=100, height=100,left=0,top=0,toolbar=no, location=no, directories=no, status=no, menubar=no, resizable=no, scrollbars=no, copyhistory=no'); 
}
/*#################################################################################################
   + closeWin(thetime) 
   - Arguments  : thetime
   - Return     :	-
   - Usage      : 
   - Content    : 팝업창 자동으로 닫기
#################################################################################################*/
function closeWin(thetime) {
setTimeout("window.close()", thetime); //1000 은 1초를 의미합니다.
}
/*#################################################################################################
   + winOpen()  
   - Arguments  : thetime
   - Return     :	-
   - Usage      : 
   - Content    : 페이지 로딩할때 새창 열기
#################################################################################################*/
function winOpen() {
window.open("popup.html","newWin","width=300,height=200,toolbar=no")
} 


 


////////////////////////////////////// 화면인쇄 관련 함수 모음 ///////////////////////////////////////////////////

/*#################################################################################################
   + goPrint(targets)
   - Arguments  : targets
   - Return     :	-
   - Usage      : 
   - Content    : 화면인쇄 
#################################################################################################*/
function goPrint(targets){
	var tars = targets.split('|');
	var printVal = "";

	for (i=0; i<tars.length; i++){
		printVal = printVal + eval("printDiv"+tars[i]).innerHTML;
	}
	printDiv.innerHTML = printVal;
	
	window.open("/common/printPop.htm","printPop","width=780,height=600,scrollbars=1,status=1");
}
/*#################################################################################################
   + ieExecWB( intOLEcmd, intOLEparam )
   - Arguments  : intOLEcmd, intOLEparam
   - Return     :	-
   - Usage      : 
   - Content    : 화면인쇄설정 후 클릭시 프린트 가능한 소스 
#################################################################################################*/
function ieExecWB( intOLEcmd, intOLEparam )
{
// 웹 브라우저 컨트롤 생성
var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>'; 
// 웹 페이지에 객체 삽입
document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
// if intOLEparam이 정의되어 있지 않으면 디폴트 값 설정
if ( ( ! intOLEparam ) || ( intOLEparam < -1 ) || (intOLEparam > 1 ) )
intOLEparam = 1; 
// ExexWB 메소드 실행
WebBrowser1.ExecWB( intOLEcmd, intOLEparam ); 
// 객체 해제
WebBrowser1.outerHTML = "";
}





//////////////////////////////////////// 라디오 버튼 관련 함수 모음 ////////////////////////////////////////

/*#################################################################################################
   + radioSetting(radioName, Jvalue)
   - Arguments  : radioName, Jvalue
   - Return     :	-
   - Usage      : 
   - Content    : 라디오 버튼에서 원하는 라디오 버튼에 체크해 주는 함수 
#################################################################################################*/
function radioSetting(radioName, Jvalue)
{
	var Count = radioName.length;

	for(var i=0; i<Count; i++)
	{
		if( radioName[i].value == Jvalue)
		{
			radioName[i].checked = true;
			return;
		}
	}

	//radioName[eval(defaultValue)].checked = true;
}
/*#################################################################################################
   + radioCheckedValue(radioName)
   - Arguments  : radioName
   - Return     : rtnVal
   - Usage      : 
   - Content    : 라디오 버튼중 선택되어 있는 값을 알아낸다.
#################################################################################################*/
function radioCheckedValue(radioName)
{
	var Count = radioName.length;
	var rtnVal = "";

	for(var i=0; i<Count; i++)
	{
		if(radioName[i].checked == true)
		{
			return radioName[i].value;
		}
	}
	return rtnVal;
}





//////////////////////////////////////// 콤보박스 관련 함수 모음 ////////////////////////////////////////

/*#################################################################################################
   + setcombo(combo,cd,index)
   - Arguments  : combo,cd,index
   - Return     :	-	
   - Usage      : 
   - Content    : 콤보박스를 원하는 항목으로 설정하는 함수
#################################################################################################*/
function setcombo(combo,cd,index)
{
  var i,count = combo.length;

  //default 설정
  if (index > 0)
    combo.options[index-1].selected = true;

  for (i=0; i<count; ++i)
  {
    if(combo.options[i].value==cd)
	{
	   combo.options[i].selected = true;
	   return;
	}
   }
}
/*#################################################################################################
   + setcomboIndex(combo,cd)
   - Arguments  : combo,cd
   - Return     :	-
   - Usage      : 
   - Content    : 콤보박스를 원하는 Index 항목으로 설정하는 함수
#################################################################################################*/
function setcomboIndex(combo,cd)
{
  var i,count = combo.length;

  for (i=0; i<count; ++i)
  {
  		if(i==cd)
  		{
	   		combo.options[i].selected = true;
	   		return;
	   	}
  }

  if(cd > count)
	combo.options[0].selected = true;

  return;
}
/*#################################################################################################
   + getcombotext(combo)
   - Arguments  : combo	
   - Return     : combo.options[i].text
   - Usage      : 
   - Content    : 콤보박스의 선택된 항목의 텍스트를 리턴하는 함수
#################################################################################################*/
function getcombotext(combo)
{
  var i,count = combo.length;

  for (i=0; i<count; ++i)
  {
    if (combo.options[i].value==combo.value)
	{
	   return combo.options[i].text;
	}
   }
}
/*#################################################################################################
   + getcombotextChoice(combo, Code)
   - Arguments  : combo,code
   - Return     : combo.options[i].text
   - Usage      : 
   - Content    : 콤보박스에서 코드값을 가지고 해당하는 TEXT를 알아오는 함수
#################################################################################################*/
function getcombotextChoice(combo, Code)
{
  var i,count = combo.length;

  for (i=0; i<count; ++i)
  {
    if (combo.options[i].value==Code)
	{
	   return combo.options[i].text;
	}
   }
}
/*#################################################################################################
   + setCheckbox(obj, targets)
   - Arguments  : obj, targets
   - Return     :	-
   - Usage      : 
   - Content    : 체크박스 전체선택/해제시 사용. obj=모두선택 체크박스 객체, targets=대상체크박스 객체(들)
#################################################################################################*/
function setCheckbox(obj, targets){
	if(typeof(targets)=="undefined") return;
	
    if(typeof(targets.length)=="undefined"){	//단일
    	targets.checked=obj.checked;
    } else{	//복수
    	for(i=0; i<targets.length; i++)
			targets[i].checked=obj.checked;
    }
}
/*#################################################################################################
   + setSelect(obj, val)
   - Arguments  : obj, val
   - Return     :	-	
   - Usage      : 
   - Content    : 주어진 값에 맞는 아이템을 선택. obj=select객체, val=선택될아이템 value
#################################################################################################*/
function setSelect(obj, val){	
	if("undefined"==typeof(obj)) return;
	for(i=0; i<obj.length; i++){
		if(val==obj[i].value) obj.selectedIndex=i;
	}
} 
function CollTxt(){

 txtB.value = comB[comB.selectedIndex].text;
 
}
/*#################################################################################################
   + goTo()
   - Arguments  :	-
   - Return     :	-	
   - Usage      : 
   - Content    :  특정 콤보박스 선택시 해당 인터넷사이트로 바로 넘어가는 것
#################################################################################################*/
function goTo(){
var URL = document.form.site.options[document.form.site.selectedIndex].value;
window.location.href = URL;
//-->
}





//////////////////////////////////////// 문자열 관련 함수 모음 ////////////////////////////////////////
function chr_byte(chr){
  if(escape(chr).length > 4)
	return 2;
  else
	return 1;
}
/*#################################################################################################
   + getSize(val)
   - Arguments  : str
   - Return     : return(str.length+(escape(str)+"%u").match(/%u/g).length-1);
   - Usage      : 
   - Content    : 문자열 길이 구하기.str=문자열값
#################################################################################################*/
function getLength(str) 
{
  return(str.length+(escape(str)+"%u").match(/%u/g).length-1);
}
/*#################################################################################################
   + getTrim(val)
   - Arguments  : val
   - Return     : ((st > 0) || (len < count)) ? val.substring(st, len) : val
   - Usage      : 
   - Content    : 문자열 공백제거. val=문자열값
#################################################################################################*/
function getTrim(val){
	var count = val.length;
	var len = count;                
	var st = 0;
                
	while((st < len) && (val.charAt(st) <= ' ')){
       	st++;
	}
	while((st < len) && (val.charAt(len - 1) <= ' ')){
		len--;
	}
	return ((st > 0) || (len < count)) ? val.substring(st, len) : val;
}
/*#################################################################################################
   + getShrink(str, limit)
   - Arguments  : str, limit
   - Return     : tmpStr+dot
   - Usage      : 
   - Content    : 긴문장을 주어진 길이에 맞게 잘라냄.(str=원본, limit=잘라낼길이 byte)
#################################################################################################*/
function getShrink(str, limit){
  	var tmpStr = str;
  	var byte_count = 0;
  	var len = str.length;
  	var dot = "";

  	for (i=0; i<len; i++){  
		byte_count += chr_byte(str.charAt(i));
		if(byte_count == limit-1){
	  		if(chr_byte(str.charAt(i+1)) == 2){
				tmpStr = str.substring(0,i+1);
				dot = "...";
	  		} else{
				if(i+2 != len) dot = "..";
				tmpStr = str.substring(0,i+2);
	  		}
	  		break;
		} else if(byte_count == limit){
	  		if(i+1 != len) dot = "..";
	  		tmpStr = str.substring(0,i+1);
	  		break;
		}	
  	}
  	return tmpStr+dot;
}
/*#################################################################################################
   + setIME(obj)
   - Arguments  : obj
   - Return     :	-
   - Usage      : 
   - Content    : IME를 한글로 초기화. obj=텍스트 객체
#################################################################################################*/
function setIME(obj){
	if("undefined"==typeof(obj)) return;
	obj.style.imeMode = "active";
}
/*#################################################################################################
   + UpperLowercase(flg,obj,sVal)
   - Arguments  : flg,obj,sVal  
   - Return     :	-
   - Usage      : 
   - Content    : 문자열을 대문자 또는 소문자로 변환
#################################################################################################*/
function UpperLowercase(flg,obj,sVal){
	var sTemp;
	switch(flg){
		case 1: sTemp = sVal.toUpperCase(); break;
		case 2: sTemp = sVal.toLowerCase();
	}
	obj.value = sTemp;
}
/*#################################################################################################
   + upperCase(obj)
   - Arguments  : obj
   - Return     :  -
   - Usage      : 
   - Content    : 문자를 대문자로 변경
#################################################################################################*/
function upperCase(obj){
	var chr = obj.value;
	var chr = chr.toUpperCase();
	obj.value = chr;
}






//////////////////////////////////////// 탑메뉴 롤오버이미지  관련 함수 모음 ////////////////////////////////////////

function MM_reloadPage(init) {    //reloads the window if Nav4 resized
    if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
        document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
    else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

/*#################################################################################################

#################################################################################################*/

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}





//////////////////////////////////////// 탭 관련 함수 모음 ////////////////////////////////////////

function DisplayMenu(index) {
		for (i=1; i<=4; i++)
		if (index == i) {
		thisMenu = eval("menu" + index + ".style");
		thisMenu.display = "";
		} 
		else {
		otherMenu = eval("menu" + i + ".style"); 
		otherMenu.display = "none"; 
		}
		}




// 법인 번호 체크
function bubinno(val){
	//alert(val);
    var str_no ;
    var str_len ;
    var str = val ;
    str_no = str.replace('-','');
    str_len = str_no.length;
    if (str_len == 13 ){
        no_ck = str_no.substring(0, 1) * 1;
        no_ck = no_ck + str_no.substring( 1, 2) * 2;
        no_ck = no_ck + str_no.substring( 2, 3) * 1;
        no_ck = no_ck + str_no.substring( 3, 4) * 2;
        no_ck = no_ck + str_no.substring( 4, 5) * 1;
        no_ck = no_ck + str_no.substring( 5, 6) * 2;
        no_ck = no_ck + str_no.substring( 6, 7) * 1;
        no_ck = no_ck + str_no.substring( 7, 8) * 2;
        no_ck = no_ck + str_no.substring( 8, 9) * 1;
        no_ck = no_ck + str_no.substring( 9, 10) * 2;
        no_ck = no_ck + str_no.substring( 10, 11) * 1;
        no_list = no_ck + str_no.substring( 11, 12) * 2;
        no_ck_no = no_list / 10;
        ck_no = "'"+no_ck_no+"'";
        namuji = ck_no.substring(3,4);
        no = 10 - namuji; 
        if (no > 9 ){
            no = 0;
        }
        if (no == str_no.substring(12, 13)){
            return true;
        }else{
            return false;

        }
    }else{
        return false ;
    }
}




function isResId(id1, id2){
	a = Array(6);
	b = Array(7);

	for (var i=0; i<6; i++)
		a[i] = parseInt(id1.charAt(i));

	for (var j=0; j<7; j++)
		b[j] = parseInt(id2.charAt(j));

	ssntot = (a[0]*2)+(a[1]*3)+(a[2]*4)+(a[3]*5)+(a[4]*6)+(a[5]*7) + (b[0]*8)+(b[1]*9)+(b[2]*2)+(b[3]*3)+(b[4]*4)+(b[5]*5);
	ssnave = 11 - (ssntot%11);

	if (ssnave == 11) ssnave = 1;
	else if(ssnave == 10) ssnave = 0;

	if (b[6] == ssnave) return true;
	else return false;
}

/////////////////////////////////rowspan 생성 스크립트////////////////////////////////
//tableId :  table id를 넣자 
//rowIndex : table의 시작 row index(0부터 시작)
//cellIndex : 해당 row의 cell index(0부터 시작)
///////////////////////////////////////////////////////////////////////////////////
	function cellMergeChk(tableObj, rowIndex, cellIndex)
	{
		var rowsCn = tableObj.rows.length;
		
		if(rowsCn-1 > rowIndex)
			cellMergeProcess(tableObj, rowIndex, cellIndex);
	}
	
	function cellMergeProcess(tableObj, rowIndex, cellIndex)
	{
		var rowsCn = tableObj.rows.length;
		var compareCellsLen = tableObj.rows(rowIndex).cells.length;		//시작 row에 cell 개수
		
		//초기화	
		var compareObj = tableObj.rows(rowIndex).cells(cellIndex);
		var compareValue = compareObj.innerHTML;
		var cn = 1;
		var delCells = new Array();
		var arrCellIndex = new Array();
		for(i=rowIndex+1; i < rowsCn; i++)
		{
			var cellsLen = tableObj.rows(i).cells.length;
			var bufCellIndex = cellIndex

			//실질적인 row에 cellIndex를 구하자.			
			if(compareCellsLen != cellsLen) 
			{
				bufCellIndex = bufCellIndex - (compareCellsLen - cellsLen);
			}
			cellObj = tableObj.rows(i).cells(bufCellIndex);
			
			if(compareValue == cellObj.innerHTML)
			{
				delCells[cn-1] = tableObj.rows(i);		//삭제할 cell의 row를 저장한다.
				arrCellIndex[cn - 1] = bufCellIndex;	//해당 row cell index를 저장한다.
				cn++;
			}
			else
			{
				//병합
				compareObj.rowSpan = cn;
				
				//삭제
				for(j=0; j < delCells.length; j++)
				{
					delCells[j].deleteCell(arrCellIndex[j]);
				}
				
				//초기화	
				compareObj = cellObj;
				compareValue = cellObj.innerHTML;
				cn = 1;
				delCells = new Array();
				arrCellIndex = new Array();
			}
		}

		//병합		
		compareObj.rowSpan = cn;
		//삭제
		for(j=0; j < delCells.length; j++)
		{
			delCells[j].deleteCell(arrCellIndex[j]);
		}
	}


//################################날짜형식 체크################################
function setDate(obj){
	var t = obj.value;
	var tYear;
	var tMonth;
	var tDay;
	var tDate = t;
	var isDate = /\d{4}[-]\d{2}[-]\d{2}/;
	if(t.length >10){
		alert("날짜형식이 올바르지 않습니다.");
		obj.value="";
		obj.focus();			
		return;
	}
	if(t.length > 0 && !isDate.test(t)){
		if(isNumeric(t)){
			alert("날짜형식은 숫자로만 입력이 가능합니다.");
			obj.value="";
			getToday(obj);
			obj.focus();		
			return;
		}
		if(strLen(t,8)){
			alert("날짜형식이 올바르지 않습니다.");
			obj.value="";
			getToday(obj);
			obj.focus();			
			return;
		}				
		tYear=t.substr(0,4);
		tMonth=t.substr(4,2);
		tDay=t.substr(6,2);
		tDate=tYear+"-"+tMonth+"-"+tDay;								
		obj.value=tDate;
	}				
}
//****************************************************************************
//################################앞날짜,뒷날짜 체크##########################
function sectionDate(obj1,obj2){
	var str1 = obj1.value;
	var str2 = obj2.value;
	var string1 = new Array();
	var string2 = new Array();
	string1 = str1.split("-");
	string2 = str2.split("-");
	var date1 = new Date(string1[0],string1[1],string1[2]).getTime();
	var date2 = new Date(string2[0],string2[1],string2[2]).getTime();
	if(date1 > date2){
		alert("조회기간 시작일이 종료일보다 큽니다.");
		//obj1.value="";
		//obj2.value="";
		obj1.focus();
		return true;
	}
}
//*****************************************************************************

function strLen(value,len){
 if(value.length>len){
  return true;//지정길이 이상
 }else{
  return false;//지정길이 이하
 }
}
function isNumeric(s)
{
 for(i=0;i<s.length;i++){
  if(s.charAt(i)< '0' || s.charAt(i)> '9'){
   return true;
  }
 }
}
function getToday(obj){
	if(obj.value==""){
		var now = new Date();
		var year = now.getFullYear ();
		var month= now.getMonth()+1;
		var day = now.getDate();
		if(month < 10){month="0"+month;}
		if(day < 10){day="0"+day;}
		var cal = year+"-"+month+"-"+day;
		obj.value = cal;
	}
}
