﻿// JScript 파일
//****************************************************************
String.prototype.trim = function()  { return this.replace(/(^ *)|( *$)/g, ""); }
String.prototype.ltrim = function() { return this.replace(/(^ *)/g, ""); }
String.prototype.rtrim = function() { return this.replace(/( *$)/g, ""); }

function HtmlEncode()
{       
    var rs = this.replace(/&lt;/gi, "<").replace(/&gt;/gi, ">");
    return rs;  
}

function HtmlDecode()
{
    var rs = this.replace(/</gi, "&lt;").replace(/>/gi, "&gt;");
        rs = rs.replace(/\'/gi, "\\\'").replace(/\"/gi, "\\\'");
        rs = rs.replace(/\n/gi, "&gt;").replace(/\r/gi, "&lt;br");
    return rs;
}

String.prototype.htmlEncode = HtmlEncode;
String.prototype.htmlDecode = HtmlDecode;

/*************** 프로토 타입 재 정의 ***************/
String.prototype.replaceAll = function(_findValue, _replaceValue) 
{
    return this.replace(new RegExp(_findValue,"g"), _replaceValue);
}

//****************************************************************
/*----------------------------------------------------------------------------*/
/* 기    능 : 특수기호들을 전부 없애는 함수                                   */
/* 인    자 : value 또는 object형이다.                                        */
/* 반 환 값 : 특수기호를 없앤 결과값                                          */
/* 사용방법 : value = f_removeAllSymbol( obj.value )                          */
/*----------------------------------------------------------------------------*/
function f_removeAllSymbol(sStr)
{
	return sStr.replace(/(\/|\$|\^|\ |\*|\(|\)|\+|\.|\%|\,|\?|\\|\{|\}|\||\[|\]|-|:)/g,"");
}
/* 사용방법 : <input ... onfocus = "removeAllSymbol(this)"                    */
function removeAllSymbol(obj)
{
	if( obj.readOnly ) return false;
    obj.value = f_removeAllSymbol( obj.value );
    obj.select();
}
/*----------------------------------------------------------------------------*/
/* 기    능 : 숫자형일때 입력시에 숫자만 입력 가능                            */
/* 인    자 : object형                                                        */
/* 반 환 값 : 숫자만 입력된 값                                                */
/* 사용방법 : <input ... onkeyup="isNumeric(this);"                           */
/*----------------------------------------------------------------------------*/
function isNumeric(obj)
{ 
    if( obj.readOnly || event.keyCode == 37 || event.keyCode == 39 
     || event.keyCode == 8 || event.keyCode == 46 ) return false;
    
    var tempnum = obj.value;
    
    for ( var i = 0; i <= tempnum.length; i++ )
    { 
        if( tempnum.charCodeAt(i) < 48 || tempnum.charCodeAt(i) > 57 )
        {
            obj.value = tempnum.substring( 0, i );
            break ;
        }
    }
}
/*----------------------------------------------------------------------------*/
/* 기    능 : 숫자형(소수점 포함)일때 입력시에 숫자만 입력 가능               */
/* 인    자 : object형                                                        */
/* 반 환 값 : 숫자만 입력된 값                                                */
/* 사용방법 : <input ... onkeyup="isNumericPoint(this);"                      */
/*----------------------------------------------------------------------------*/
function isNumericPoint(obj)
{ 	

    if( obj.readOnly || event.keyCode == 37 || event.keyCode == 39 
		 ) return false;
        // || event.keyCode == 8 || event.keyCode == 46 지울경우도 있어서
        
	Numericfocus(obj);        
        
    if( isNaN(obj.value) ) // 숫자형이 아니면
    {
		var tempnum = obj.value.split(".");
		var nNumber = "";
		var nPoint = "";

		if( isNaN( tempnum[0] ) )
		{
			for ( var i = 0; i <= tempnum[0].length; i++ )
			{ 
				if( tempnum[0].charCodeAt(i) < 48 || tempnum[0].charCodeAt(i) > 57 )
				{
					nNumber = tempnum[0].substring( 0, i );
					break;
				}
			}
		}
		else nNumber = tempnum[0];
		
		if( tempnum[1] != null && tempnum[1].length != null )
		{
			if( isNaN( tempnum[1] ) )
			{
				for ( var i = 0; i <= tempnum[1].length; i++ )
				{ 
					if( tempnum[1].charCodeAt(i) < 48 || tempnum[1].charCodeAt(i) > 57 )
					{
						nPoint = tempnum[1].substring( 0, i );
						break;
					}
				}			
			}
			else nPoint = tempnum[1];
		}
		
		if( nPoint == "" ) obj.value = nNumber;
		else obj.value = nNumber + "." + nPoint;		
	}
	
	setNum_Check(obj)
	
}
/*----------------------------------------------------------------------------*/
/* 기    능 : 숫자형일때 focus시에 ","를 삭제를 하고 값이 "0"일 경우에는      */
/*            공백으로 셋팅해 준다.                                           */
/* 인    자 : object형                                                        */
/* 반 환 값 : 숫자만 입력된 값                                                */
/* 사용방법 : <input ... onfocus="Numericfocus(obj);"                         */
/*----------------------------------------------------------------------------*/
function Numericfocus( obj )
{	
	
    if( obj.readOnly ) return false;
    var sStr = obj.value.trim().replace( /\,/g, "" );
    
    if( sStr == "0" ) sStr = "";
    
  
    
    obj.value = sStr;
  
}   
/*----------------------------------------------------------------------------*/
/* 기    능 : 숫자형일때 blur시에 ","를 붙히고 공백일 경우에는 "0"로 셋팅힌다.*/
/* 인    자 : object형                                                        */
/* 반 환 값 : 숫자만 입력된 값                                                */
/* 사용방법 : <input ... onfocus="Numericblur(obj);"                         */
/*----------------------------------------------------------------------------*/
function Numericblur( obj, bBool )
{

	if( obj.readOnly ) return false;
	if( bBool == null ) bBool = true;
	
	var sStr = "";
	if( bBool ) sStr = setComma(obj.value);
	else sStr = obj.value;
	
    if( sStr == "" ) sStr = "0";
    
    obj.value = sStr;
}   
/*----------------------------------------------------------------------------*/
/* 기    능 : 소수점 이상의 자리를 포메팅(###,### 포멧으로).                  */
/* 인    자 : sStr(문자, 숫자)                                                */
/* 반 환 값 : ###,###                                                         */
/* 사용방법 : <input ... onfocus="setComma(obj);"                             */
/*----------------------------------------------------------------------------*/
function setComma(sStr) 
{
	if( sStr.toString().trim() == "" ) return "";
	
	sStr = parseInt(sStr, 10).toString();
	var returnValue = "";
	for( i = 0; i < sStr.length; i++ ) 
	{ 
		if( ( i > 0 ) && ( i % 3 ) == 0 ) returnValue = sStr.charAt(sStr.length - i -1) + "," + returnValue; 
		else returnValue = sStr.charAt(sStr.length - i -1) + returnValue; 
	} 
	
	return returnValue;
	//값이 음수인 경우 결과가 "-,123"과 같이 나와서 이것을 수정
	//return returnValue.replace("-,","-"); 
}
/*----------------------------------------------------------------------------*/
/* 기    능 : 메세지를 alert로 찍는다                                         */
/* 인    자 : obj( object ), msg( 문자 )                                      */
/* 반 환 값 : alert                                                           */
/* 사용방법 : ErrMsg(o, "날짜를 잘못 입력하였습니다");                        */
/*----------------------------------------------------------------------------*/
function ErrMsg(o, msg)
{
	window.event.returnValue = false;

    alert(msg);
    o.focus();
    if ( o.tagName == "INPUT" ) o.select();
    return false;
}
/*----------------------------------------------------------------------------*/
/* 기    능 : 날짜(YYYYMMDD, YYYYMM)를 체크 하는 함수                         */
/* 인    자 : sStr(문자, 숫자)                                                */
/* 반 환 값 : YYYY-MM-DD                                                      */
/* 사용방법 : <input ... onblur="setDatecheck(obj);"                          */
/*----------------------------------------------------------------------------*/
function setDatecheck(obj)
{
	if( obj.readOnly ) return false;
	var sSeparator = obj.Separator;
	if( sSeparator == null ) sSeparator = "-";

	setDateFieldcheck( obj, sSeparator );
}
function setDateFieldcheck(obj, sType)
{
	var sStr = f_removeAllSymbol( obj.value );
	if( sStr.length == 0 ) return;
	
	if( !isDate( sStr, sStr.length ) ) //obj.maxlength 에서 sStr.length로 변경(2005.10.24 한건)
	{
		ErrMsg(obj, "날짜를 잘못 입력하였습니다.\n다시 입력 하십시요!!!");
	}
	else
	{
		var sTemp = sStr.substring(0,4) + sType + sStr.substring(4,6)
		sStr = sStr.substring(6,8).trim();
		if( sStr != "" ) sTemp += sType + sStr;
		
		obj.value = sTemp;
	}
}
// 날짜 Validation 되었는지 체크 함.
function isDate( sStr, nLen )
{
    var year  = sStr.substring(0, 4);
    var month = sStr.substring(4, 6);
    
	if( nLen == 8 && sStr.length == 8 ) // YYYYMMDD
	{
		
		var day = sStr.substring(6, 8);
	    if ( parseInt( year, 10 ) >= 0 && checkMonth( month ) && checkDay( year, month, day ) )
			return true;
	}
	else if( nLen == 6 && sStr.length == 6 )  // YYYYMM
	{
	    if ( parseInt( year, 10 ) >= 0 && checkMonth( month ) )
			return true;
	}
	
	return false;    
}
// 월 Validation 체크 루틴
function checkMonth( Month )
{
	var val = parseInt( Month, 10 );

    if ( val <= 0 || val > 12 ) return false;
    else return true;
}
// 일(day) Validation 체크 루틴
function checkDay( yyyy, mm, dd )
{
    var monthDD = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
    var im = parseInt(mm, 10) - 1;
    
    // 윤년 체크
    if( ( (yyyy % 4 == 0) && (yyyy % 100 != 0)) || (yyyy % 400 == 0) )
        monthDD[1] = 29;
    
    if( parseInt( dd, 10 ) <= 0 || parseInt( dd, 10 ) > monthDD[im] ) return false;
    else return true;
}
// 숫자형인지 체크루틴
function isNumericCheck(sStr)
{
    sStr = sStr.replace(/,/g, "");

    return !isNaN(sStr);
}
/*----------------------------------------------------------------------------*/
/* 기    능 : 숫자(소수점포함)를 체크 하는 함수                               */
/* 인    자 : obj(object)                                                     */
/* 반 환 값 : ###,###.###                                                     */
/* 사용방법 : <input ... onblur="setNum_Check(obj);"                          */
/*----------------------------------------------------------------------------*/
// 숫자값을 포메팅함
function setNum_Check(obj)
{
	if( obj.readOnly ) return false;

	var nDecimalPoint = 0;
	if( obj.DecimalPoint != null ) nDecimalPoint = obj.DecimalPoint;
	
	var sVal = num_check( obj.value.toString(), nDecimalPoint )
	
	if     ( sVal == -1 ) ErrMsg( obj, "숫자값을 입력하세요!!!" );
	else if( sVal == -2 ) ErrMsg( obj, "소수점이하 " + nDecimalPoint + " 자리까지만 입력하세요!! " );
	else obj.value = sVal;
}
/* 기    능 : 숫자(소수점포함)를 체크 하는 함수 */
function num_check(sVal, decimalpoint)
{ 
	if(sVal.length == 0)
	{
		if( decimalpoint > 0 ) return "0." + setFill("", decimalpoint, "0", false);
		else return "0";
	}
	
	if(!isNumericCheck(sVal)) return -1;
	else
	{
		var arr_Value = sVal.split(".");
		
		if( decimalpoint == 0 ) return setComma(sVal);
		else
		{
			// 소수점 이하 자리수 체크	
			if ( arr_Value[1] != null && arr_Value[1].length > decimalpoint ) //배열의 갯수가 1이면 소수점이하의 값이 없는거다
				return -2;
		
			if (arr_Value.length == 1) return setComma(arr_Value[0]) + "." + setFill("", decimalpoint, "0", false);
			else return setComma(arr_Value[0]) + "." + setFill(arr_Value[1], decimalpoint, "0", false);
		}
	}
}

/*----------------------------------------------------------------------------*/
/* 기    능 : 원하는 문자를 왼쪽, 오른쪽에 채워주거나 Total Length보다 크면 
              Total Length에 맞게 짤라주는 함수                               */
/* 인    자 : sStr(원본문자), totLength(채우고자하는 Length), 
           sFill(채우고자하는 문자), bLeft( 왼쪽(true), 오른쪽 구분자(false)) */
/* 반 환 값 : ###,###.###                                                     */
/* 사용방법 : <input ... onblur="setNum_Check(obj);"                          */
/*----------------------------------------------------------------------------*/
function setFill( sStr, totLength, sFill, bLeft )
{
	var returnValue = "";

	if ( totLength == 0 ) returnValue = sStr;
	else if (sStr.length > totLength) returnValue = sStr.substring( 0, totLength );
	else
	{	
		for( var i = sStr.length; i < totLength; i++ )
			returnValue += sFill;
		
		if( bLeft ) returnValue += sStr;
		else returnValue = sStr + returnValue;
	}
	
	return returnValue
}
/*----------------------------------------------------------------------------*/
/* 기    능 : 정해진 데이터 입력 형식(사업자번호, 주민등록번호, 날짜 등       */
/*            구분자)을 설정해서 사용자가 쉽게 데이터를 입력하게 한다.        */
/* 인    자 : obj(object), as_format(형식)                                      */
/* 반 환 값 : 편집한 문자                                                     */
/* 사용방법 : <input ... onblur="setEditMark(obj, "000-000");"                */
/*----------------------------------------------------------------------------*/
function setEditMark( obj, as_format )
{
	obj.value = setEditMask( obj.value, as_format )
	return;
}
function setEditMask(sStr, as_format)
{
    /*------------------------------------------------------------------------*/
    /* 변수선언 및 초기화.                                                    */
    /*------------------------------------------------------------------------*/
    var i = 0, j = 0, k = 0;                               /* Index           */
    var ls_value = "";                                     /* Value           */
    /*------------------------------------------------------------------------*/
    /* 숫자만 입력가능하게 처리.                                              */
    /*------------------------------------------------------------------------*/
    for(i = 0; i < sStr.length; i++)
    {
        /*--------------------------------------------------------------------*/
        /* 숫자가 아닌것은 제거.                                              */
        /*--------------------------------------------------------------------*/
        if (isNaN(sStr.charAt(i)))
        {
            sStr = sStr.substring(0, i) + sStr.substring(i + 1, sStr.length);
        }
    }
    /*------------------------------------------------------------------------*/
    /* 문자를 원하는 형식으로 편집.                                           */
    /*------------------------------------------------------------------------*/
    for(i = 0; i < sStr.length; i++)
    {
        /*--------------------------------------------------------------------*/
        /* 지정한 형식이 존재한 경우.                                         */
        /*--------------------------------------------------------------------*/
        if (as_format.length > j)
        {
            /*----------------------------------------------------------------*/
            /* 구분자가 아닌 경우.                                            */
            /*----------------------------------------------------------------*/
            if ((as_format.substring(j, j + 1) >= "0") && (as_format.substring(j, j + 1) <= "9"))
            {
                /*------------------------------------------------------------*/
                /* 문자 Edit.                                                 */
                /*------------------------------------------------------------*/
                ls_value = ls_value + sStr.substring(i, i + 1);
            }
            /*----------------------------------------------------------------*/
            /* 구분자인 경우.                                                 */
            /*----------------------------------------------------------------*/
            else
            {
                /*------------------------------------------------------------*/
                /* 구분자 추가.                                               */
                /*------------------------------------------------------------*/
                ls_value = ls_value + as_format.substring(j, j + 1);
                j = j + 1;
                /*------------------------------------------------------------*/
                /* 문자 Edit.                                                 */
                /*------------------------------------------------------------*/
                ls_value = ls_value + sStr.substring(i, i + 1);
            }
        }
        j = j + 1;
    }
    /*------------------------------------------------------------------------*/
    /* 편집한 문자 Setting.                                                   */
    /*------------------------------------------------------------------------*/
    return ls_value;
}

// 텍스트 박스에서 엔터 이벤트 처리
function FormEnter()
{
	if( event.keyCode == 13 && event.srcElement.nodeName != "TEXTAREA" )
	{
		return false;
	}
	return true;
}


//다이얼로그 창 띄우기
function openModal(url, args, w, h, scroll)
{
    strReturnValue = window.showModalDialog(url,args, "dialogHeight:" + h + "px; dialogWidth:" + w + "px; center:Yes; help:No; resizable:yes; status:no; scroll:" + scroll);
    return strReturnValue;
}

//포커스 이동
function changeFocus(obj, obj2, len)
{
  if ( document.getElementById(obj).value.length == len )
  {
    document.getElementById(obj2).focus();
    return;
  }
}

function cancelConfirm()
{
  if(confirm("취소하시겠습니까?"))
  {
    self.location.href= "/member_login.aspx";
  }else
  {
    return false;
  }
}

//숫자만 허용
function check(input) 
{
  var err_cnt=0
  for (var i = 0; i < input.length; i++) {
	  var val = input.charAt(i);
	  if (!((val >= "0" && val <= "9") ))
	  err_cnt ++
  }
	
  if (err_cnt == 0 ) return true;
  else 	return false;
}

//한글/숫자만 입력받는 스크립트(스페이스/백스페이스/방향키제외)
function OnlyNumber()
{
    var key = event.keyCode;
    if(!(key==8 || key ==9 || key==13 || key==46 || key ==144 || (key >=48 && key <= 57) || key==110 || key==144))
    {
        alert("숫자만 입력 가능합니다.");
		event.returnValue=false;
    }
} 


//주민번호체크
function isJuminNum(aNum1, aNum2) 
{ 
  var tot=0, result=0, re=0, se_arg=0; 
  var chk_num=""; 
  var aNum = aNum1 + aNum2; 

  if (aNum.length != 13) 
  { 
	  return false; 
  } 
  else 
  { 
	  for (var i=0; i <12; i++) 
	  { 
		  if (isNaN(aNum.substr(i, 1))) 
		  return false; 
		  se_arg = i; 


		  //외국인 인 경우 
		  if(i==6) { 
			  if (aNum.substr(i, 1) == 7 || aNum.substr(i, 1) == 8 ) 
			  return true 
		  } 

		  if (i >= 8) 
		  se_arg = i - 8; 
		  tot = tot + Number(aNum.substr(i, 1)) * (se_arg + 2) 
	  } 

	  if (chk_num != "err") 
	  { 
		  re = tot % 11; 
		  result = 11 - re; 
		  if (result >= 10) result = result - 10; 
		  if (result != Number(aNum.substr(12, 1))) return false; 
		  if ((Number(aNum.substr(6, 1)) < 1) || (Number(aNum.substr(6, 1)) > 4)) return false; 
	  } 
  } 
  return true; 
} 

//사업자 번호 구성체크
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 (obj1.value=="000") {
  	  obj1.focus();
  	  obj1.select();
		  return false;
  }
   if (isBizInteger(obj2.value,2) == false) {
  	  obj2.focus();
  	  obj2.select();
  	  return false;
   }
  if (obj2.value=="00") {
  	  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;

   //추가 2007-09
   if (objstring == "444-44-44444" || objstring == "888-88-88888") {
	  obj1.focus();
  	  obj1.select();
		  return false;	
   }	

   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;
   }
}

function CheckCurrency(obj) 
{
    var str = obj.value.replace(/^\s+|\s+$/g, '');
    var strNum=/^([1-9][0-9]{0,2}|[0]{1})(,?[0-9]{3})*$/;
    return strNum.test(str);
}

function CheckNumber(objNum)
{
    var str = objNum.value.replace(/^\s+|\s+$/g, '');
	var strNum=/(^\d+$)|(^\d+\.\d+$)/;
	return (strNum.test(str));
}

function OpenWindow(url, myname, w, h, scroll) {
	var win = null;
	LeftPosition = (screen.width) ? (screen.width - w) / 2 : 0;
	TopPosition = (screen.height) ? (screen.height - h) / 2 : 0;
	settings = 'height=' + h + ',width=' + w + ',top=' + TopPosition + ',left=' + LeftPosition + ',resizable=yes, scrollbars=' + scroll

	win = window.open(url, myname, settings);
	win.focus();
	
	return win;
}

function OpenWindow2(url, myname, w, h, scroll) {
	var win = null;
	LeftPosition = (screen.width) ? (screen.width - w) / 2 : 0;
	TopPosition = (screen.height) ? (screen.height - h) / 2 : 0;
	settings = 'height=' + h + ',width=' + w + ',top=' + TopPosition + ',left=' + LeftPosition + ',resizable=yes, scrollbars=' + scroll

	win = window.open(url, myname, settings);
	win.focus();
	
	
}


function CloseWindow() {
	window.close();
}

//사업자 번호 체크
function check_companynum(saup1,saup2,saup3)
{
    var checkID = new Array(1, 3, 7, 1, 3, 7, 1, 3, 5, 1);
    var bizID = ""+ saup1 + saup2 + saup3;
    var i, Sum=0, c2, remander;

    for (i=0; i<=7; i++) Sum += checkID[i] * bizID.charAt(i);

    c2 = "0" + (checkID[8] * bizID.charAt(8));
    c2 = c2.substring(c2.length - 2, c2.length);

    Sum += Math.floor(c2.charAt(0)) + Math.floor(c2.charAt(1));

    remander = (10 - (Sum % 10)) % 10 ;

    if (Math.floor(bizID.charAt(9)) != remander)
       return false;
    else
        return true;
}


//주민번호 체크
function jumin_check(strjumin) 
{
     if (strjumin.length != 13) 
        return false;       
        
        
    
        var a1=strjumin.substring(0,1)   //주민번호 계산법
        var a2=strjumin.substring(1,2)          
        var a3=strjumin.substring(2,3)
        var a4=strjumin.substring(3,4)
        var a5=strjumin.substring(4,5)
        var a6=strjumin.substring(5,6)
        var checkdigit=a1*2+a2*3+a3*4+a4*5+a5*6+a6*7
        var b1=strjumin.substring(6,7)
        var b2=strjumin.substring(7,8)
        var b3=strjumin.substring(8,9)
        var b4=strjumin.substring(9,10)
        var b5=strjumin.substring(10,11)
        var b6=strjumin.substring(11,12)
        var b7=strjumin.substring(12,13)
        var checkdigit=checkdigit+b1*8+b2*9+b3*2+b4*3+b5*4+b6*5 
        checkdigit = checkdigit%11
        checkdigit = 11 - checkdigit
        checkdigit = checkdigit%10
        //alert(checkdigit + "\n" + b7);
        if (checkdigit != b7) 
            return false;
        else
            return true;
}


//주민번호 체크 끝


//해당 오브젝트 객체의 Y좌표 값
function ObjOffsetTop(obj)
{
    
	var Parent = obj.offsetParent;
	var objTop;

	if(obj.offsetParent)
	{
		var objY = obj.offsetTop;
		while(obj = obj.offsetParent)
			objY += obj.offsetTop;
	}
	return objY;
	
}

//해당 오브젝트 객체의 x좌표 값
function ObjOffsetLeft(obj)
{
   
	var Parent = obj.offsetParent;

	var objTop;
	if(obj.offsetParent)
	{
		var objY = obj.offsetLeft;
		while(obj = obj.offsetParent)
			objY += obj.offsetLeft;
	}
    

	return objY;
}

/***************************************************/


/***************  정규식 비교 **********************/

//전화번호 정규식 체크 틀리면 널로 리턴
function CheckPhone(str)
{
    if(str.trim() == "")
        return true;
    
    var regexp =  /(^[0]\d{1,2}-\d{3,4}-\d{4}$)|(^\d{4}$)/;
    
    return regexp.exec(str);
}

//이메일 정규식 체크  true false 로 리턴
function CheckEmail(str)
{
    if(str.trim() == "")
        return true;
    
    
    var regexp = /[a-z0-9]{2,}@[a-z0-9-]{2,}\.[a-z0-9]{2,}/i;

    return regexp.test(str);
}

//전화번호 정규식 체크 틀리면 널로 리턴
function CheckMainPhone(str)
{
    var regexp =  /(^[0]\d{1,2}-\d{3,4}-\d{4}$)/;
    
    return regexp.exec(str);
}

//이메일 정규식 체크  true false 로 리턴
function CheckMainEmail(str)
{
    //var regexp = /[a-z0-9]{2,}@[a-z0-9-]{2,}\.[a-z0-9]{2,}/i;
	var regexp = /^[a-z]+([0-9\.\-]*_?\w+)*@([0-9_\.\-a-z]+)*(\w{1,3}|[0-9]{1,3})$/i; 
	//var regexp =/^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/i; 

    return regexp.test(str);

}

function CheckRegID(str)
{
	var regexp = /^[a-z][0-9a-z]+$/;
	return regexp.test(str);
}

/***************************************************/
// 이미지 파일 선택시 체크
function onChangeImgFile(obj)
{
	var photoimg=obj.value;//event.srcElement.value;
	if(photoimg=="") return;
	if(!(/(.jpg|.jpeg|.gif|.png)$/i).test(photoimg))
	{
		alert('이미지는 gif, jpg 파일만 가능합니다.');
		obj.focus();//event.srcElement.focus();
		obj.select();//event.srcElement.select();
		document.selection.clear();
		return;
	}
}


// 시간 Validation 체크 하는 함수( MaxLength가 6일때 => 일(2),시(2),분(2), MaxLength가 4일때 => 시(2), 분(2) )
function setTimeCheck(obj)
{
	if( obj.readOnly ) return false;
	
	if( obj.value.trim() == "" ) return;
	var sSeparator = ":";
	if( obj.Separator != null ) sSeparator = obj.Separator;

	var sStr = f_InputTimeCheck( f_removeAllSymbol(obj.value), obj.maxLength );
	
	if( sStr == "" ) ErrMsg(obj, "시간을 잘못 입력하였습니다.\n다시 입력 하십시요!!!");
	else
	{
		var sTemp = sStr.substring(0,2) + sSeparator + sStr.substring(2,4)
		sStr = sStr.substring(4,6).trim();
		if( sStr != "" ) sTemp += sSeparator + sStr;
		
		obj.value = sTemp;
	}
}
// 시간 Validation 체크 하는 함수
function f_InputTimeCheck( sStr, nLen )
{
	sStr = PadLeft( sStr, nLen, "0" );
	
	var sHH = sStr.substring( nLen - 4, nLen - 2 );;
	var sMM = sStr.substring( nLen - 2, nLen );
	
	if( nLen == 4 || nLen == 6) // (시, 분) || ( 일, 시, 분 ) 체크
	{
		if( !( isClock(sHH) && isMinutes(sMM) ) ) sStr = "";
	}
	else sStr = "";
		
	return sStr;
}
// 시간 체크
function isClock( sHH )
{
	if( parseInt( sHH, 10 ) > 23 ) return false;
	else return true;
}
// 분, 초 체크
function isMinutes( sMM )
{
	if( parseInt( sMM, 10 ) > 59 ) return false;
	else return true;
}	

//- 지정된 Object의 Screen 에서의 Left 좌표를 얻는다
function GetScreenLeft(obj)
{
	if (obj.offsetParent == null)
	{
		return obj.clientLeft + window.screenLeft;
	}
	else
	{
		return GetScreenLeft(obj.offsetParent) + obj.offsetLeft;
	}
}

//- 지정된 Object의 Screen 에서의 Top 좌표를 얻는다
function GetScreenTop(obj)
{
	if (obj.offsetParent == null)
	{
		return obj.clientTop + window.screenTop;
	}
	else
	{
		return GetScreenTop(obj.offsetParent) + obj.offsetTop;
	}
}

//- 8자리날짜(20050801)를 10자리(2005-08-01)로 변환
function ConvertDate10(field)
{

	var field2 = ConvertNumber(field);
	if(field2.length != 8)
		return ""
			
	var strTran10 = field2.slice(0,4) + "-" + field2.slice(4,6) + "-"+ field2.slice(6,8);
	return strTran10
}

//숫자가 아닌 값들은 제거한다.(\12,000 -> 12000 / 2002-08-10 -> 20020810)
function ConvertNumber(field)
{
	var strNumber = ""
	var s = new String(field);
	
	for(i=0; i < field.length; i++)
	{
		if(parseInt(field.slice(i,i+1))>=0 && parseInt(field.slice(i,i+1))<=9)
			strNumber += field.slice(i,i+1);
	}

	if(s.substr(0,1) == "-") return s.substr(0,1) + strNumber;
	else return strNumber
}








var userAgent = window.navigator.userAgent;
var DIALOGWIDTH = "325";
var DIALOGHEIGHT = "200";

if ( userAgent.indexOf( "MSIE 7" ) != -1 )  // 7.0 이면
{
    var xpTitleBarHeight = 29; // XP 타이틀 바 = 29px
    var border = 2; // 가장 자리 = 2px
    var ifXPSP2_statusBarHeight = 25; // XPSP2 이하의 상태 표시줄 = 25px
    var ifW2k = 22; // Win2k 의 경우 부가적으로 축소되는 크기 = 22px

    DIALOGWIDTH = DIALOGWIDTH - 7;
    DIALOGHEIGHT = DIALOGHEIGHT - ifXPSP2_statusBarHeight;
}
else if (userAgent.indexOf( "MSIE 8" ) != -1 )// 8.0 이면
{
	DIALOGWIDTH = "320";
	DIALOGHEIGHT = "175";
}
else    // 7.0이 아니면
{
    DIALOGHEIGHT = Number(DIALOGHEIGHT) + 20;
}


// 확인 메세지 상자를 띄운다
function LF_OpenConfirm(strMessage)
{
//	try
//	{
		var returnValue = window.showModalDialog( "/common/Message/Confirm.html", strMessage, "dialogWidth:" + DIALOGWIDTH + "px;dialogHeight:" + DIALOGHEIGHT + "px;status=no;scroll=no;center:yes; help:No; resizable:no;" ) ; 
		return returnValue ;
//	}
//	catch(exception)
//	{
//		LF_OpenErrorMessage( exception.description ) ;
//	}
}

// 안내 메세지 상자를 띄운다
function LF_OpenInformation(strMessage)
{
//	try
//	{
		window.showModalDialog( "/common/Message/Information.html", strMessage, "dialogWidth:" + DIALOGWIDTH + "px;dialogHeight:" + DIALOGHEIGHT + "px;status=no;scroll=no;center:yes; help:No; resizable:no;" ) ; 
//	}
//	catch(ex)
//	{
//		LF_OpenErrorMessage( ex.description ) ;
//	}
}

// 에러 메세지 상자를 띄운다
function LF_OpenErrorMessage(strMessage)
{
	try
	{
		window.showModalDialog( "/common/Message/Error.html", strMessage, "dialogWidth:" + DIALOGWIDTH + "px;dialogHeight:" + DIALOGHEIGHT + "px;status=no;scroll=no;center:yes; help:No; resizable:no;" ) ;
	}
	catch(ex)
	{
		alert( ex.description ) ;
	}
}


function windowResize(tWidth)
{
    try
    {
        var targetWidth = tWidth;
        var diffHeight = 0;
        var diffWidth = 0;
        var bodyHeight = document.body.scrollHeight;
        var clientHeight = document.body.clientHeight;

        diffWidth = targetWidth - document.body.clientWidth;  
        diffHeight = bodyHeight - clientHeight;
        window.resizeBy(diffWidth,diffHeight);
    }
    catch(e)
    {
        setTimeout("windowResize(" + tWidth + ")", 1500);
    }
}

var Currency =
{
	setComma : function(num)
	{
		var value = new String(num).replace(/,/g, '');
		while (value != (value = value.replace(/^(-?\d+)(\d{3})/, '$1,$2')));
		return value;
	},
	tryParseNumeric : function(num)
	{
		var nocomma = num.replace(/[^\d\.-]/g,'');
		(nocomma.length == 0) ? nocomma = '0' : nocomma;
		return nocomma;
	}
};

function handleCommaKey(obj)
{
	var value = obj.value;
	if (value == '')
	{
		//obj.value = '0';
		return false;
	}
	value = Currency.tryParseNumeric(obj.value);
	if (value.length > 1)
	{
		value = value.replace(/^0*/, '');
		if (value.length == 0) {value = '0';}
		obj.value = value;
	}
	obj.value = Currency.setComma(value);
}

var prevValue = "";
function SetPrevValue(obj)
{
    prevValue = obj.value;
}

function ChangeValue(obj)
{
    for(var i = 1; i<arguments.length; i++)
    {
        var tarobj = document.getElementById(arguments[i]);
        if(obj.value != prevValue) tarobj.value = "";
    }
}

function calculate_strlen(message)
{
	var nbytes = 0;
	
	for (i=0; i<message.length; i++)
	{
		var ch = message.charAt(i);
		if (escape(ch).length > 4)
			nbytes += 2;
		else if (ch != '\r')
			nbytes++;
	}

	return nbytes;
}

function calcul_str(obj,len)
{
	if(calculate_strlen(obj.value) > len)
	{
		var inc = 0;
		var nbytes = 0;
		var msg = "";
		var msglen = obj.value.length;
		
		for (i=0; i<msglen; i++)
		{
			var ch = obj.value.charAt(i);
			if (escape(ch).length > 4)
				inc = 2;
			else if (ch != '\r')
				inc = 1;
			if (nbytes + inc > len)
				break;
			nbytes += inc;
			msg += ch;
		}
		obj.value = msg;
	}
}

//숫자만 입력가능하게 하는 함수
//사용법 onkeydown="javascript:return OnlyNumber(event.keyCode)
function OnlyNumber(keyCode)
 { 
	if ((keyCode == 37) || (keyCode == 39) || (keyCode == 8) || (keyCode == 9) || (keyCode == 16) || (keyCode >= 48 && keyCode <= 57) || (keyCode == 46) || (keyCode > 47 && keyCode < 58) || (keyCode >= 96 && keyCode <= 105) || (keyCode == 144) || (keyCode == 110) || (keyCode == 190)) 
		event.returnValue = true; 
	 else 
		event.returnValue = false; 
}


//폼 입력유형체크
function chkType(input,type,msg)
{ 
	switch (type)
	{
		case 0://숫자만
			var filter = /^[1-9][0-9]+$/;
			break;
		case 1://영문,숫자만
			var filter = /^[0-9a-zA-Z]+$/;
			break;
		case 2://영문,숫자만(첫자는 영문)
			var filter = /^[a-zA-Z][0-9a-zA-Z]+$/;
			break;
		case 3://영문,숫자,_
			var filter = /^\w+$/;
			break;
		case 4://영문만
			var filter = /^[a-zA-Z]+$/;
			break;
		case 5://숫자만 + -
			var filter = /^[1-9][0-9]+$/;
			break;
		case 6://소-영문만
			var filter = /^[a-z]+$/;
			break;
		case 7://소-영문,숫자만(첫자는 영문)
			var filter = /^[a-z][0-9a-z]+$/;
			break;
	}
	if(!filter.test(input.value)) {
		alert(msg);
		input.focus();
		return false;
	} else return true;
}

function AuthorityMessage(msg)
{
	//LF_OpenInformation(msg);
	return false;
}

//원하는 위치에 원하는 스트링 입력되는 메서드
function InsertString(str, length)
{
	thisObj = document.getElementById( event.srcElement.id);
	
	if(event.keyCode != 8)
	{
		if(thisObj.value.length == Number(length) )
		{
			thisObj.value += str;
		}
	}
	
	
}


function imgError()
{
	event.srcElement.src = "/images/noimg_m.gif";
}


function SetNOImg()
{
	var all_img=document.images;

	if(all_img.length > 0)
	{
		for(var i=0;i<all_img.length;i++)
		{
			all_img[i].onerror=imgError;
		}
	}
}


//로그인사이트 스크립트시작
if( typeof NU_rl == 'undefined'){
function get_cook_Value(str,name,div){
        str = str + div ;
        while(str.indexOf(div) > -1){
                tmpstr = str.substring(0,str.indexOf(div));
                str = str.substring(str.indexOf(div)+div.length,str.length);
                if( tmpstr.indexOf(name+'=') == 0 ){
                        return tmpstr.substring(name.length+1,tmpstr.length);
                }
        }
        return '';
}
// Acecounter 로그분석 ASP용
// AC_USERINFO 분석

var NL_gd = 'unknown';
var NL_id = '';
var NL_mr='unknown';
var NL_ag = 0;

var NL_cookie = unescape(get_cook_Value(document.cookie,'LOGCK','; '));
if( NL_cookie.length > 0 ){
	var NL_spl = NL_cookie.split(':');
	NL_id = NL_spl[0];
	NL_ag = parseInt(NL_spl[1]);
	NL_mr = (NL_spl[2]=='1'?'married':'single');
	NL_gd = (NL_spl[3]=='1'?'man':'woman');
}
//var NL_id = NL_cookie;
// 사용자 성별
// 변수값 : 'man' or 'woman' or 'unknown'
if( document.URL.indexOf('/Member/join_step04.aspx') > 0 ){
	var NL_jn = 'join';
}

// Acecounter 기본 코드
var NU_rl = 'http://'+'203.231.48.50:8088'; var NCHKIMG = new Image(); var NL_bn=navigator.appName;
if( NL_bn.indexOf("Netscape") > -1 || NL_bn=="Mozilla"){
setTimeout("NCHKIMG.src = NU_rl+'/?cookie';",1); } else{ NCHKIMG.src = NU_rl+'/?cookie'; };
document.writeln("<scr"+"ipt language='javascr"+"ipt' src='http://www.63.co.kr/home/63CITY/inc/js/loginside_subscr"+"ipt.js'></scr"+"ipt>");
}




