﻿//### TRIM() 함수 #########################################
String.prototype.trim = function() {
    return this.replace(/(^\s*)|(\s*$)/gi, "");
}

//#########################################################

///맹숫자만
function checkOnlyNumberNotComma() {
    var ob = event.srcElement;
    ob.value = noSplitAndNumberOnly(ob);
    return false;
}

function noSplitAndNumberOnly(ob) {
    var txtNumber = '' + ob.value;
    if (isNaN(txtNumber) || txtNumber.indexOf('.') != -1)   // 소수점 사용 불가 추가
    {
        ob.value = ob.value.substring(0, ob.value.length - 1);
        ob.focus();
        return ob.value;
    }
    else
        return ob.value;
}


//입력폼 길이
function checkByte(ob, bnum, msg) {
    if (bnum == 0) {
        if (ob.value.length == 0) {
            alert(msg);
            ob.focus();
            return false;
        }
    }

    else if (ob.value.length < bnum) {
        alert(msg);
        ob.focus();
        return false;
    }

    return true;
}


// 정확하게 몇 자를 입력하도록 요구
function checkBytePrecisely(ob, bnum, msg) {
    if (ob.value.length != bnum) {
        alert(msg + ' ' + bnum + ' 자로 입력해야합니다.');
        ob.focus();
        return false;
    }

    return true;
}


// 입력값이 min 이상 max 이하가 되는지 체크
function checkInputLimit(ob, min, max, msg) {
    if (ob.value < min || ob.value > max) {
        alert(msg + ' ' + min + ' 이상 ' + max + ' 이하의 값을 입력해야 합니다.');
        ob.focus();
        return false;
    }

    return true;
}


// $ 와 콤마 제거 함수
function filterNum(str)    
{
    re = /^\$|,/g;
    // "$" and "," 입력 제거
    return str.replace(re, "");
}

function filterNumOb(ob)
{
    ob.value = filterNum(ob.value);
}


//###### 소수점 관련 


function filterNumDollor(str)    //$ 안제거 하구 , 제거 함수
{
     re = /^|,/g;
     return str.replace(re, "");
}


function commaSplitDotOk(obj)
{
   var passVal = obj.value;
   var tmp;
   var returnVal;
   var kk='';
   var count=0;
   var firstSplit='';
   
   passVal = filterNumDollor(obj.value);
   
   if(passVal.indexOf("\$") == 0)
   {
      firstSplit = passVal.split("\$");
	  passVal = firstSplit[1]; 
      firstSplit = "\$";
   }

   passVal = passVal.split("."); 
   tmp = passVal[0].split("");
  
   for(var i = tmp.length-1 ; i > -1  ; i--)
   { 
     if(count == 3) 
	 {
	   kk += ","; 
	   count = 0;
	 }
	 kk += tmp[i]
	 count++;
   }
   
   kk  = reverseString(kk);

   if(!isNaN(passVal[1]))
   { kk += '.'+passVal[1] }
   obj.value = firstSplit+kk;
   
}

function reverseString(value)
{
  var temp = value.split("");
  var re_count = temp.length;
  var returnVal='';

  for(var j = re_count - 1 ; j > -1 ; j--)
  {                            
      // alert(j); 
       returnVal += temp[j];
  }

  return  returnVal;
}


// 사업자 등록 번호 체크 


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;
	 }
}

// 이메일 체크 함수 

function emailcheck(obj){
	re=/([\w|\-]+)@([\w|\-]+)\.(\w+)/
	
     
	if(!re.test(obj.value))
	{
	   alert("잘못된 이메일 형식 입니다.");
	   obj.value = "";
	   obj.focus();
	   return false;
	} 


    if(obj.value.indexOf("daum.net") != -1 || obj.value.indexOf("hanmail.net") != -1) {
        alert("한메일의 사용을 피해주십시오.");
        obj.value='';
        obj.focus();
        return false;
    }

	return true;
}


function scheck(obj){
	fieldData = new String(obj.value)
	regPattern = /`|~|!|@|#|\$|%|\^|&|\*|\(|\)|\\|\||'|"|;|:|<|>|\/|\?|\[|\]|\{|\}/g
	matchResult = ""
	matchResult = fieldData.match(regPattern)
	return (matchResult)
}

function checkAlphaNum(obj,msg){
	// 영문, 숫자만 입력
	re=/[^A-Za-z0-9]/
	if(re.test(obj.value))
    {   
		alert(msg + '는 영문,숫자만 입력 가능 합니다');
		obj.value = "";
		obj.focus();
		return false;
	}

	return true;
}

function postcheck(text){
	// ###-### 이렇게 우편번호 형식의 숫자만이 입력되어야 true를 반환한다.
	re=/^\d{3}-\d{3}$/
	if(re.exec(text)!=null) return true
	else return false
}



//------------------------- 신규 추가 


function raiseEnterAction(btn)
{
	if(event.keyCode == 13)
	{
		self.focus();
		document.all[btn].click();
		return false;
	}
	return true;
}

// 팝업고정
function openWindow(url,height,width){
	window.open(url,'eventPOP','resizable=no, left=0, top=0, toolbar=no,scrollbars=auto,directories=no,menubar=no,width='+width+',height='+height)
}

// 팝업이름
function openWindow2(url,PopName, height,width){
	window.open(url, PopName ,'resizable=no,toolbar=no,scrollbars=yes,directories=no,menubar=no,width='+width+',height='+height)
}

// 위치를 마음데로
function openWindow3(url,PopName, height,width){
	window.open(url, PopName ,'resizable=no, toolbar=no,scrollbars=auto,directories=no,menubar=no,width='+width+',height='+height)
}


function btnPermissionCheck(str)
{
	alert("해당메뉴의" + str + " 권한이 없습니다.");
	return false;
}


function createCalendar() {

document.write("<div id='calDIV' style='z-index:+999;position:absolute;visibility:hidden;top:0;left:0'>");
document.write("<iframe align='center' valign='middle' name='frmCal' id='frmCal' frameborder='0' width='210' height='190' src='/weblib/Calendar/blank.html'></iframe>")
document.write("</div>");

}

function printDates(sObj, eObj) {
	var pSObjName = "document.all['" + sObj.id + "']"; 
	var pEObjName = "document.all['" + eObj.id + "']";
    
     var strScript = "";
     strScript = "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,0,0)\">"
               + "<img src='/images/btn_ds1.gif' align='absmiddle' border='0' alt='오늘'></a>&nbsp;"
               + "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,0,-1)\">"
               + "<img src='/images/btn_ds2.gif' align='absmiddle' border='0' alt='어제'></a>&nbsp;"
               + "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,0,-3)\">"
               + "<img src='/images/btn_ds3.gif' align='absmiddle' border='0' alt='3일'></a>&nbsp;"
               + "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,0,-7)\">"
               + "<img src='/images/btn_ds4.gif' align='absmiddle' border='0' alt='1주일'></a>&nbsp;"
               + "<a href=\"javascript:moveNowMonth(" + pEObjName + "," + pSObjName + ")\">"
               + "<img src='/images/btn_month.gif' align='absmiddle' border='0' alt='이달'></a>&nbsp;"
               + "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,-1,0)\">" 
               + "<img src='/images/btn_ds5.gif' align='absmiddle' border='0' alt='1개월'></a>&nbsp;"
               + "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,-3,0)\">"
               + "<img src='/images/btn_ds6.gif' align='absmiddle' border='0' alt='3개월'></a>&nbsp;"
               + "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,-6,0)\">"
               + "<img src='/images/btn_ds7.gif' align='absmiddle' border='0' alt='6개월'></a>&nbsp;"

    document.write(strScript);
}
// 날짜검색 (월단위)
function printMonths(sObj, eObj) {
	var pSObjName = "document.all['" + sObj.id + "']"; 
	var pEObjName = "document.all['" + eObj.id + "']";
    
     var strScript = "";
     strScript = "<a href=\"javascript:moveMonths(" + pEObjName + "," + pSObjName + ",0,0,0)\">" 
               + "<img src='/images/btn_ds5.gif' align='absmiddle' border='0'></a>&nbsp;"
               + "<a href=\"javascript:moveMonths(" + pEObjName + "," + pSObjName + ",0,-2,0)\">"
               + "<img src='/images/btn_ds6.gif' align='absmiddle' border='0'></a>&nbsp;"
               + "<a href=\"javascript:moveMonths(" + pEObjName + "," + pSObjName + ",0,-5,0)\">"
               + "<img src='/images/btn_ds7.gif' align='absmiddle' border='0'></a>&nbsp;"

    document.write(strScript);
}

function printDatesNonToDay(sObj, eObj) {
	var pSObjName = "document.all['" + sObj.id + "']"; 
	var pEObjName = "document.all['" + eObj.id + "']";
    
     var strScript = "";
     strScript = "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,0,-1)\">"
               + "<img src='/images/btn_ds2.gif' align='absmiddle' border='0'></a>&nbsp;"
               + "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,0,-3)\">"
               + "<img src='/images/btn_ds3.gif' align='absmiddle' border='0'></a>&nbsp;"
               + "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,0,-7)\">"
               + "<img src='/images/btn_ds4.gif' align='absmiddle' border='0'></a>&nbsp;"
               + "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,-1,0)\">" 
               + "<img src='/images/btn_ds5.gif' align='absmiddle' border='0'></a>&nbsp;"
               + "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,-3,0)\">"
               + "<img src='/images/btn_ds6.gif' align='absmiddle' border='0'></a>&nbsp;"
               + "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,-6,0)\">"
               + "<img src='/images/btn_ds7.gif' align='absmiddle' border='0'></a>&nbsp;"

    document.write(strScript);
}


function moveDates(sObj,eObj,year,month,day) {
	  
	  var nowDate = new Date();
    
	  var now_year  = nowDate.getFullYear();
      var now_month = nowDate.getMonth(); 
      var now_day   = nowDate.getDate();
     
	  var newDate = new Date(now_year + year, now_month +  month, now_day + day);
	
	  var procYear = newDate.getFullYear(); 
      var procMonth = newDate.getMonth() + 1; 
	  var procDay = newDate.getDate();
	  
	  now_month += 1;
	  if (("" + now_month).length == 1) { now_month = "0" + now_month; }
      if (("" + now_day).length   == 1) { now_day   = "0" + now_day;   }
      

      if (("" + procMonth).length == 1) { procMonth = "0" + procMonth; }
      if (("" + procDay).length   == 1) { procDay   = "0" + procDay;   }
      
	  sObj.value = now_year + "-" + now_month + "-" + now_day; 
 	  eObj.value = procYear + "-" + procMonth + "-" + procDay; 
    
}

// 날짜검색 (월단위)
function moveMonths(sObj,eObj,year,month,day) {
	  
	  var nowDate = new Date();
    
	  var now_year  = nowDate.getFullYear();
      var now_month = nowDate.getMonth(); 
      var now_day   = nowDate.getDate();
     
	  var newDate = new Date(now_year + year, now_month +  month, now_day + day);
	
	  var procYear = newDate.getFullYear(); 
      var procMonth = newDate.getMonth() + 1; 
	  //var procDay = newDate.getDate();
	  var procDay = 1;
	  
	  now_month += 1;
	  if (("" + now_month).length == 1) { now_month = "0" + now_month; }
      if (("" + now_day).length   == 1) { now_day   = "0" + now_day;   }
      

      if (("" + procMonth).length == 1) { procMonth = "0" + procMonth; }
      if (("" + procDay).length   == 1) { procDay   = "0" + procDay;   }
      
	  sObj.value = now_year + "-" + now_month + "-" + now_day; 
 	  eObj.value = procYear + "-" + procMonth + "-" + procDay; 
    
}

// 이달
function moveNowMonth(sObj, eObj) {
    var nowDate = new Date();
    
	  var now_year  = nowDate.getFullYear();
      var now_month = nowDate.getMonth(); 
      var now_day   = nowDate.getDate();
     
	  var newDate = new Date(now_year, now_month, 1);
	
	  var procYear = newDate.getFullYear(); 
      var procMonth = newDate.getMonth() + 1; 
	  var procDay = newDate.getDate();
	  
	  now_month += 1;
	  if (("" + now_month).length == 1) { now_month = "0" + now_month; }
      if (("" + now_day).length   == 1) { now_day   = "0" + now_day;   }
      

      if (("" + procMonth).length == 1) { procMonth = "0" + procMonth; }
      if (("" + procDay).length   == 1) { procDay   = "0" + procDay;   }
      
	  sObj.value = now_year + "-" + now_month + "-" + now_day; 
 	  eObj.value = procYear + "-" + procMonth + "-" + procDay; 
} 

var objPrev; // 현재 보여주는 obj 

function popUpCalendar(ob,ob2,types,formats){
   
   var posTop, posLeft, leftPos, topPos;
   var aTag;
   
   posTop = 0;
   posLeft = 0;
   leftPos = 0;
   topPos = 0;
   
	aTag = ob;
	var posTop, posLeft;
    
	do {
		aTag = aTag.offsetParent;
		leftPos	+= aTag.offsetLeft;
		topPos += aTag.offsetTop;
	} while(aTag.tagName != "HTML" && aTag.tagName != "BODY");
    
   posTop =  ob.offsetTop + 20 + topPos ;
   posLeft = ob.offsetLeft + leftPos;
   
   calDIV.style.top = posTop + "px";
   calDIV.style.left = posLeft + "px";

 
   calDIV.style.visibility = "visible";
   frmCal.window.callCalandar(ob,ob2,types,formats);
   
   objPrev = ob;
}

// 스프레드용 달력
function popUpCalendarSpread(sparedid, ob,ob2,types,formats){
   
   var posTop, posLeft, leftPos, topPos;
   var aTag;
   var spread = document.getElementById(sparedid + "_view");
   
   posTop = 0;
   posLeft = 0;
   leftPos = 0;
   topPos = 0;
   
	aTag = ob;
	var posTop, posLeft;
    
	do {
		aTag = aTag.offsetParent;
		leftPos	+= aTag.offsetLeft;
		topPos += aTag.offsetTop;
	} while(aTag.tagName != "HTML" && aTag.tagName != "BODY");
   
   posTop =  (ob.offsetTop - spread.scrollTop) + 20 + topPos ;
   posLeft = (ob.offsetLeft - spread.scrollLeft) + leftPos;
   
   calDIV.style.top = posTop + "px";
   calDIV.style.left = posLeft + "px";
 
   calDIV.style.visibility = "visible";
   frmCal.window.callCalandar(ob,ob2,types,formats);
   
   objPrev = ob;
}

function hideCalLayer(ob)	{
    
	if (objPrev == ob) {
	
		 if(calDIV.style.visibility == "visible" || calDIV.style.visibility == "") {
			calDIV.style.visibility = "hidden";
		} 
    }
	
	objPrev = null;

}

function commaSpread(Spread, row, col) {
    Spread.SetValue(row, col, commaSplit(Spread.GetValue(row, col)), true);
}

function commaSplit(srcNumber) {
    var txtNumber = '' + srcNumber;
    var rxSplit = new RegExp('([0-9])([0-9][0-9][0-9][,.])');
    var arrNumber = txtNumber.split('.');
    arrNumber[0] += '.';

    do {
        arrNumber[0] = arrNumber[0].replace(rxSplit, '$1,$2');
    } while (rxSplit.test(arrNumber[0]));

    if (arrNumber.length > 1) {
        return arrNumber.join('');
    } else {
        return arrNumber[0].split('.')[0];
    }
}

// 문자열 공백 없애기
String.prototype.trim = function()
{
 return this.replace(/(^\s*)|(\s*$)/gi, "");
}

function ImagePreView(img) {
    var prevWnd=window.open("","ImagePreView","width=100,height=100,scrollbars=yes,resizable=yes,status=0");
    prevWnd.document.open();
    prevWnd.document.writeln('<html><head>');
    prevWnd.document.writeln('<meta http-equiv="Cache-Control" content="no-cache"/> ');
    prevWnd.document.writeln('<meta http-equiv="Expires" content="0"/> ');
    prevWnd.document.writeln('<meta http-equiv="Pragma" content="no-cache"/>'); 
    prevWnd.document.writeln('<link rel="stylesheet" class="MIME" href="/Common/CSS/admin.css" type="text/css" />');
    prevWnd.document.writeln('<title>HTML Preview</title>');
    prevWnd.document.writeln('<script language="javascript" type="text/javascript">');
    prevWnd.document.writeln('<!--');
    prevWnd.document.writeln('function window::onload() {');
    prevWnd.document.writeln('    var imgHeight = document.images.myImg.height + 55;');
    prevWnd.document.writeln('    var imgWidth = document.images.myImg.width + 30;');
    prevWnd.document.writeln('    window.resizeTo(imgWidth, imgHeight);');
    prevWnd.document.writeln('}');
    prevWnd.document.writeln('//-->');
    prevWnd.document.writeln('</script>');
    prevWnd.document.writeln('</head>');
    prevWnd.document.writeln('<body bgcolor=#ffffff>');
    prevWnd.document.writeln('<img name="myImg" src="'+img+'" style="cursor:pointer" onclick="self.close();">');
    prevWnd.document.writeln('</body></html>');
    prevWnd.document.close();
}

//숫자여부 확인
//숫자가 아니면 true 리턴
function ChkNum(str) { 
    var flag=false; 
    if (str.length > 0) { 
        for (i = 0; i < str.length; i++) {  
            if (str.charAt(i) < '0' || str.charAt (i) > '9') { 
                flag=true; 
            } 
        } 
    } 
    return flag; 
} 






//-------------------------------------------------------------------

// ModalDialog 
// 고정균(2007-06-28)
function ShowModalDialog(pWidth, pHeight, pUrl)
{
	var top = (document.documentElement.clientHeight / 2) - (pHeight/2);
	var left = (document.documentElement.clientWidth / 2) - (pWidth/2);
	var str = window.showModalDialog(pUrl, self, "dialogWidth:" + pWidth + "px;dialogHeight:" + pHeight + "px; top:" + top + "px; left:" + left+ "px");

	return str;
}




//-- 관리자용 우편번호 검색기 

function CallZipPopup (  
                        formid, //-- Form 아이디 
                        zip1_ID, // 우편번호 아이디  
                        zip2_ID, // 우편번호 아이디 2 
                        addr1_ID // 주소 
                      ) {
                      
     
     var t_url = "/Common/ZipCode.aspx?formid={0}"
               + "&zip1_ID={1}&zip2_ID={2}&addr1_ID={3}";
     
     t_url = t_url.replace("{0}", formid);
     t_url = t_url.replace("{1}", zip1_ID);
     t_url = t_url.replace("{2}", zip2_ID);
     t_url = t_url.replace("{3}", addr1_ID);
     
     window.open( t_url , "ZipSearch", "location=0,toolbar=no,directories=no,status=no,scrollbars=no,resizable=no,menubar=no,width=400,height=400,left=0,top=0");                 

}


//------------------------------------------------------------------
//아래 기타 함수들 추가
//2008-01-24
//윤성인
//주의: 아래의 모든 메소드는 입력폼의 필드이름(myform.myfield)을
//      파라미터로 받는다. 필드의 값(myform.myfield.value)이 아님을
//      유념할 것.
//------------------------------------------------------------------
/*예

if (isEmptyAlert(f.SSN[0], "주민번호 앞자리를 입력해주십시요.") == true ) {
	_cmdfocus(f.SSN[0]); return; 	}
if (isNumberAlert(f.SSN[0]) == false){
	_cmdfocus(f.SSN[0]); return; }
if (getByteLength(f.SSN[0]) < 6) {
	alert("주민번호 앞자리는 6자리입니다.\n\n다시 입력하세요.");
	_cmdfocus(f.SSN[0]); return;}
if (JuminChk(f.SSN[0], f.SSN[1]) == false) {
	alert("주민등록번호가 잘못 되었습니다.\n확인후 다시 입력해 주십시오");
	_cmdfocus(f.SSN[0]); return;	};
*/

/** Focus 맞춤 */
function _cmdfocus(formobj){
	formobj.select();
	formobj.focus();
}


// 용 도 : 입력 값이 NULL인지 체크
// return : boolean  
//          NULL이면 true, 아니면 false가 돌아간다.
function isNull(input) {
	if(input.value == null || input.value == "") return true;
	return false;
}

// 용 도 : 입력 값이 NULL인지 확인하여 NULL이면 msg를 출력한다.
// return : boolean  
//          NULL이면 true, 아니면 false가 돌아간다.
function isNullAlert(input, msg) {
   	var ret = isNull(input);
	if(ret) alert(msg);
	return ret;
}

// 용 도 : 입력 값에 Space 이외의 의미있는 값이 있는지 체크
// return : boolean  
//          있으면 true, 아니면 false가 돌아간다.
function isEmpty(input) {
	if(input.value == null || input.value.replace(/ /gi,"") == "") return true;
	return false;
}

// 용 도 : 입력 값에 Space 이외의 의미밌는 값이 없으면 msg를 출력한다.
// return : boolean  
//           space 이외의 의미있는 값이 없으면 true, 아니면 false가 돌아간다.
function isEmptyAlert(input, msg) {
	var ret = isEmpty(input);
	if(ret) alert(msg);
	return ret;
}

// 용 도 : 입력 값에 특정 문자(chars)가 있는지 체크한다. 특정 문자를 허용하지 않으려 할 때 사용
// return : boolean
//          있으면 true, 없으면 false 
// 사 용 예 : if(containsChars(form.name,"!,*&^%$#@~;")) {
//               alert("이름 필드에는 특수 문자를 사용할 수 없습니다.");
//           }
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;
}

// 용 도 : 입력 값이 특정 문자(chars)만으로 되어있는지 체크한다. 특정 문자만 허용하려 할 때 사용
// return : boolean
//          확인하려는 대상 문자만 있으면 true, 아니면 false
// 사 용 예 : if(!containsCharsOnly(form.blood,"ABO")) {
//               alert("혈액형 필드에는 A,B,O 문자만 사용할 수 있습니다.");
//           }
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 변수로 선언하고 사용하도록 한다.
// return : boolean, A에서 Z 까지의 문자만으로 되어있으면 true, 아니면 false
// 사 용 예 : ex) var uppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
//               var lowercase = "abcdefghijklmnopqrstuvwxyz"; 
//               var number = "0123456789";
//               function isAlphaNum(input) {
//                   var chars = uppercase + lowercase + number;
//                   return containsCharsOnly(input,chars);
//               }
function isAlphabet(input) {
	var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
	return containsCharsOnly(input, chars);
}

// 용 도 : 입력 값이 알파벳인지 확인하여 알파벳 이외의 문자가 있으면 "영문자만 입력가능 합니다." 메시지를 보여주고 결과를 돌려준다.
// return : boolean, A에서 Z 까지의 문자만으로 되어있으면 true, 아니면 false
function isAlphabetAlert(input) {
	var ret = isAlphabet(input);
	if(!ret) alert("영문자만 입력가능 합니다.");
	return ret;
}

// 용 도 : 입력 값이 알파벳 대문자인지 체크
// return : boolean, 대문자만이면 true, 아니면 false  
function isUpperCase(input) {
	var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	return containsCharsOnly(input, chars);
}

// 용 도 : 입력 값이 알파벳 대문자인지 확인하여 대문자 이외의 문자가 있으면 "알파벳 대문자만 입력하실 수 있습니다."라는 메시지를 보여주고 돌려준다.
// return : boolean, 대문자만이면 true, 아니면 false  
function isUpperCaseAlert(input) {
	var ret = isUpperCase(input);
	if(!ret) alert("알파벳 대문자만 입력하실 수 있습니다.");
	return ret;
}

// 용 도 : 입력 값이 알파벳 소문자인지 체크
// return : boolean 소문자만이면 true, 아니면 false
function isLowerCase(input) {
	var chars = "abcdefghijklmnopqrstuvwxyz";
	return containsCharsOnly(input, chars);
}

// 용 도 : 입력 값이 알파벳 소문자인지 확인하여 소문자 이외의 문자가 있으면  "알파벳 소문자만 입력하실 수 있습니다."라는 메시지를 보여주고 돌려준다.
// return :  boolean  소문자만이면 true, 아니면 false
function isLowerCaseAlert(input) {
	var ret = isLowerCase(input);
	if(!ret) alert("알파벳 소문자만 입력하실 수 있습니다.");
	return ret;
}

// 용 도 : 입력 값에 숫자만 있는지 체크
// return : boolean 숫자만 있으면 true, 아니면 false 
function isNumber(input) {
	var chars = "0123456789";
	return containsCharsOnly(input, chars);
}

// 용 도 : 입력 값에 숫자만 있는지 확인하여 숫자 이외의 문자가 있으면 "숫자만 입력 가능합니다"라는 메시지를 보여주고 돌려준다.
// return :  boolean 숫자만 있으면 true, 아니면 false   
function isNumberAlert(input) {
	var ret = isNumber(input);
	if(!ret) alert("숫자만 입력 가능합니다");
	return ret;
}

// 용 도 : 입력 값이 알파벳, 숫자로 되어있는지 체크
// return : boolean 알파벳과 숫자만이면 true, 아니면 false  
function isAlphaNum(input) {
	var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
	return containsCharsOnly(input, chars);
}

// 용 도 : 입력 값이 알파벳, 숫자로 되어있는지 확인하여 알파벳과 숫자 이외의 문자가 있으면 "영문자와 숫자 입력만 가능합니다."라는 메시지를 보여주고 돌려준다.
// return : boolean 알파벳과 숫자만이면 true, 아니면 false
function isAlphaNumAlert(input) {
    var ret = isAlphaNum(input);
	if(!ret) alert("영문자와 숫자 입력만 가능합니다.");
	return ret;
}

// 용 도 : 입력 값이 숫자,대시(-)로 되어있는지 체크
// return : boolean 숫자와 대시(-)로 되어 있으면 true, 아니면 false  
function isNumDash(input) {
	var chars = "-0123456789";
	return containsCharsOnly(input,chars);
}

// 용 도 : 입력 값이 숫자,대시(-)로 되어있는지 확인하여 숫자와 대시(-) 이외의 문자가 있으면 체크 "숫자와 '-' 입력만 가능합니다."라는 메시지를 보여주고 돌려준다.
// return :  boolean 숫자와 대시(-)로 되어 있으면 true, 아니면 false
function isNumDashAlert(input) {
	var ret = isNumDash(input);
	if(!ret) alert(" 숫자와 '-' 입력만 가능합니다.");
	return ret;
}

// 용 도 : 입력 값이 숫자,콤마(,)로 되어있는지 체크
// return : boolean 숫자와 콤마(,)로 되어 있으면 true 아니면 false 
function isNumComma(input) {
	var chars = ",0123456789";
	return containsCharsOnly(input,chars);
}

// 용 도 : 입력 값이 숫자,콤마(,)로 되어있는지 확인하여 숫자와 콤마(,) 이외의 문자가 있으면 체크 " 숫자와 ',' 입력만 가능합니다."라는 메시지를 보여주고 돌려준다.
// return :  boolean  숫자와 콤마(,)로 되어 있으면 true, 아니면 false
function isNumCommaAlert(input) {
	var ret = isNumComma(input);
	if(!ret) alert("숫자와 ',' 입력만 가능합니다.");
	return ret;
}

// 용 도 : 입력 값에서 콤마를 없앤다.
// return : string, 입력값에서 콤마를 없앤 값 
function removeComma(input) {
	return input.value.replace(/,/gi,"");
}

// 용 도 : 입력 값이 사용자가 정의한 포맷 형식인지 체크한다. 자세한 format 형식은 자바스크립트의 'regular expression'을 참조
// return : boolean 올바른 포맷이면 true, 아니면 false 
function isValidFormat(input, format) {
	if(input.value.search(format) != -1) return true; //올바른 포맷 형식
	return false;
}

// 용 도 : 입력 값이 사용자가 정의한 포맷 형식인지 확인하여 올바르지 않은 형식이면 "올바른 입력형식이 아닙니다." 메시지를 보여주고 돌려준다.
// return : boolean 올바른 포맷이면 true, 아니면 false
function isValidFormatAlert(input, format) {
	var ret = isValidFormat(input, format);
	if(!ret) alert("올바른 입력형식이 아닙니다.");
	return ret;
}

//용 도 : 입력 값이 이메일 형식인지 체크
// return : boolean 이메일 형식이면 true, 아니면 false
function isValidEmail(input) {
	var format = /^((\w|[\-\.])+)@((\w|[\-\.])+)\.([A-Za-z]+)$/;
	return isValidFormat(input, format);
}

//용 도 : 입력 값이 이메일 형식인지 확인하여 올바르지 않으면 "이메일 입력형식이 잘못되었습니다. \n 확인후 다시 입력해 주세요."라는 메시지를 보여주고 돌려준다.
// return :  boolean 이메일 형식이면 true, 아니면 false
function isValidEmailAlert(input) {
	var ret = isValidEmail(input);
	if(!ret) alert("이메일 입력형식이 잘못되었습니다. \n 확인후 다시 입력해 주세요.");
	return ret;
}

// 용 도 : 입력 값이 전화번호 형식(숫자-숫자-숫자)인지 체크
// return : boolean 전화번호 형식이면 true, 아니면 false 
function isValidPhone(input) {
    var format = /^(\d+)-(\d+)-(\d+)$/;
    return isValidFormat(input, format);
}

// 용 도 : 입력 값이 전화번호 형식(숫자-숫자-숫자)인지 확인하여 전화번호 형식이 아니면 "전화번호 입력이 잘못되었습니다. \n 확인후 다시 입력해 주세요."라는 메시지를 보여주고 돌려준다.
// return : boolean 전화번호 형식이면 true, 아니면 false
function isValidPhoneAlert(input) {
	var ret = isValidPhone(input);
	if(!ret) alert("전화번호 입력이 잘못되었습니다. \n 확인후 다시 입력해 주세요.");
	return ret;
}

// 용 도 : 선택된 라디오버튼이 있는지 체크
// return : boolean 있으면 true, 없으면 false
function hasCheckedRadio(input) {
	if(input.length > 1) {
		for(var inx = 0; inx < input.length; inx++)
			if(input[inx].checked) return true;
	} else {
		if(input.checked)
			return true;
	}
	return false;
}

// 용 도 : 선택된 라디오 버튼이 있는지 확인하여 없으면 "선택항목을 적어도 한개는 선택해주세요."라는 메시지를 보여주고 돌려준다.
// return : boolean 있으면 true, 없으면 false
function hasCheckedRadioAlert(input) {
	var ret=hasCheckedRadio(input);
	if(!ret) alert("선택항목을 적어도 한개는 선택해주세요.");
	return ret;
}

// 용 도 : 선택된 체크 박스가 있는지 체크
// return : boolean 있으면 true, 없으면 false
function hasCheckedBox(input) {
	return hasCheckedRadio(input);
}

// 용 도 : 선택된 체크박스가 있는지 확인하여 없으면 "선택항목을 적어도 한개는 선택해주세요."라는 메시지를 보여주고 돌려준다.
// return : boolean 있으면 true, 없으면 false
function hasCheckedBoxAlert(input) {
	var ret=hasCheckedRadio(input);
	if(!ret) alert("선택항목을 적어도 한개는 선택해주세요.");
	return ret;
}

// 용 도 : 입력 값의 바이트 길이를 리턴
// return : int, 입력값의 길이 
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;
}

// 용 도 : 공백을 제거하는 함수
// return : string, 공백을 제거한 문자열 
function IsTrimStr(checkStr) {
	var str = "";
	for(var i = 0; i < checkStr.length; i++) {
		ch = checkStr.charAt(i);
		if(ch != " ") str += ch;
	}
	return str;
}

// 용 도 : 주민번호 체크 
// 형 식 : xxxxxx-yyyyyyy
// return :  boolean 
function newJumin(value) {
	this.value = value;
}

function common_Jumin_Check(jumin1, jumin2) {
	var ok = true;
	var Str1 = "" + jumin1 + jumin2;
	var Str = new newJumin(Str1);
	return jumin_Check(Str);
}

// 용 도 : 주민번호 체크
// 형 식 : xxxxxxyyyyyyy
// return :  boolean 
// 매개변수 : 주민등록번호 13자리
// 사 용 예 : jumin_Check(xxxxxxyyyyyyy); 
// 참고사항 : 주민등록번호가 잘못되었다면 주민등록번호가 잘못되었다는 메세지를 출력하고 boolean 을 return 한다.
function jumin_Check(juminnum) {
   if(!jumin_Check_Confirm(juminnum)) 
      alert("주민등록번호가 잘못 되었습니다.\n확인후 다시 입력해 주십시오");
}

// 용 도 : 주민번호 체크
// 형 식 : xxxxxxyyyyyyy
// return :  boolean 
// 매개변수 : 주민등록번호 13자리
// 사 용 예 : jumin_Check_Confirm(xxxxxxyyyyyyy); 
// 참고사항 : 주민등록번호가 잘못되어도 메세지를 출력하지 않고 boolean 만 return 한다.
function jumin_Check_Confirm(juminnum) {
	var ok = true;
	var Str = "" + juminnum.value;
	var sum = 0;
	sum = Str.charAt( 0 ) * 2 + Str.charAt( 1 ) * 3 + Str.charAt( 2 ) * 4 + Str.charAt( 3 ) * 5 +
		  Str.charAt( 4 ) * 6 + Str.charAt( 5 ) * 7 + Str.charAt( 6 ) * 8 + Str.charAt( 7 ) * 9 +
		  Str.charAt( 8 ) * 2 + Str.charAt( 9 ) * 3 + Str.charAt( 10) * 4 + Str.charAt( 11) * 5;
	if(sum == "0")
		return false;
	else {
		sum = sum % 11;
		sum = 11 - sum;
		if(sum > 9) sum = sum - 10;

		if(sum == Str.charAt(12)) {
			return true;
		} else {
			juminnum.focus();
			return false;
		}
	}
}

function JuminChk(juminnum1, juminnum2) {
	var Str = "" + juminnum1.value + juminnum2.value;
	var sum = 0;
	sum = Str.charAt( 0 ) * 2 + Str.charAt( 1 ) * 3 + Str.charAt( 2 ) * 4 + Str.charAt( 3 ) * 5 +
		  Str.charAt( 4 ) * 6 + Str.charAt( 5 ) * 7 + Str.charAt( 6 ) * 8 + Str.charAt( 7 ) * 9 +
		  Str.charAt( 8 ) * 2 + Str.charAt( 9 ) * 3 + Str.charAt( 10) * 4 + Str.charAt( 11) * 5;
	if(sum == "0")
		return false;
	else {
		sum = sum % 11;
		sum = 11 - sum;
		if(sum > 9) sum = sum - 10;

		if(sum == Str.charAt(12)) {
			return true;
		} else {
			return false;
		}
	}
}

// 용 도 : 사업자등록번호를 확인 
// 형 식 : XXXXXXXXXX
// return : boolean 맞으면 true, 아니면 false
function RegNoCheck(membNo) {
	if(membNo.length == 10) {
		a = membNo.charAt(0);
		b = membNo.charAt(1);
		c = membNo.charAt(2);
		d = membNo.charAt(3);
		e = membNo.charAt(4);
		f = membNo.charAt(5);
		g = membNo.charAt(6);
		h = membNo.charAt(7);
		i = membNo.charAt(8);
		Os = membNo.charAt(9);

		suma = a*1 + b*3 + c*7 + d*1 + e*3 + f*7 + g*1 + h*3;
		sumb = (i*5) %10;
		sumc = parseInt((i*5) / 10,10);
		sumd = sumb + sumc;	
		sume = suma + sumd;
		sumf = a + b + c + d + e + f + g + h + i
		k = sume % 10;
		Modvalue = 10 - k;
		LastVal = Modvalue % 10;

		if(sumf == 0) return false;
	} else return false;

	if(Osub == LastVal) return true;
	else return false;
}

// 용 도 : 사업자등록번호를 확인하여 비정상적이면 "사업자 등록번호가 잘못되었습니다. \n확인후 다시 입력해 주십시오"라는 메시지를 보여주고 돌려준다.
// 형 식 : XXXXXXXXXX
// return : boolean 맞으면 true, 아니면 false
function RegNO_check(membNo) {
	var bRet = RegNoCheck(membNo);
	if(!bRet) alert("사업자 등록번호가 잘못 되었습니다.\n확인후 다시 입력해 주십시오");
	return bRet;
}

// 용 도 : 사업자등록번호를 확인하여 비정상적이면 "사업자 등록번호가 잘못되었습니다. \n확인후 다시 입력해 주십시오"라는 메시지를 보여주고 돌려준다.
// 형 식 : XXX-XX-XXXXX
// return : boolean 맞으면 true, 아니면 false
function RegNO_check_formatted(membNo) {
	var str = "";
	var ar = membNo.split( "-" );
	for(var i = 0; i < ar.length; i++) str += ar[i];
	return RegNO_check(str);
}

// 용 도 : 임의의 HTML 테그 내용을 변경
// 매개변수 : obj - 구성할 HTML Tag Object html - Tag 이름
// return :	void
function makeTags(obj, html) {
	var tmp = obj.outerHTML;
	var idx = 0;
	if(IsTrimStr(obj.innerHTML).length <= 0)
		idx = tmp.indexOf( "</" + obj.tagName + ">" );
	else
		idx = tmp.indexOf(obj.innerHTML);
	tmp = tmp.substring(0, idx);
	tmp += html;
	tmp += "</" + obj.tagName + ">";
	obj.outerHTML = tmp;
}

// 용 도 : ComboCreater.getComboOption()의 결과를 기초로 
//        콤보의 항목을 변경
// 매개변수 : obj - 구성할 콤보 Object
//	         option - ComboCreater.getComboOption()의 결과
// return  : void
function makeCombo( obj, option ) {
	makeTags( obj, option );
	obj.selectedIndex = 0;
}

// 용 도 : 모달 대화상자 활성화
// param : url : 호출할 URL
//         title : dialog title 명
//         x : 대화상자 x 좌표( 0보다 작으면 Center );
//         y : 대화상자 y 좌표( 0보다 작으면 Center );
//         w : 대화상자 폭
//         h : 대화상자 높이
//return : ret : URL에서 반환활 결과 Object
function showDlg(url, title, x, y, w, h) {
	var bModal = true;
	if(showDlg.arguments.length == 7) {
		bModal = showDlg.arguments[6];
	}
	if(w <= 0 || h <= 0) {
		alert("대화상자 크기를 확인하세요");
		return null;
	}

	var ar = new Array();
	ar[0] = window;
	ar[1] = url;
	ar[2] = title;
	
	var opt = "status:no;scroll:no;help:no;";
	if(x >= 0) opt += "dialogLeft:" + x + "px;";
	if(y >= 0) opt += "dialogTop:"  + y + "px;";
	
	opt += "dialogWidth:"  + w + "px;";
	opt += "dialogHeight:" + h + "px;";

	if(bModal)
		return window.showModalDialog("/common/modalDlg.htm", ar, opt);
	else
		return window.showModelessDialog("/common/modalDlg.htm", ar, opt);
}
//드롭다운리스트체크
function txtddlCheck(input, msg) {
    if (isEmptyAlert(input, msg + "을(를) 선택해 주십시요.") == true) {
        input.focus(); return false;
    }
    return true;
}
//입력값문자체크
function txtStrCheck(input, msg) {
    if (isEmptyAlert(input, msg + "을(를) 입력해 주십시요.") == true) {
        _cmdfocus(input); return false;
    }
    if (getByteLength(input) < 2) {
        alert(msg + "은(는) 2글자 이상입니다.\n\n다시 입력하세요."); _cmdfocus(input); return false;
    }
    return true;
}
//입력값숫자체크
function txtNumCheck(input, cnt, msg) {
    if (isEmptyAlert(input, msg + "을(를) 입력해 주십시요.") == true) {
        _cmdfocus(input); return false;
    }
    if (isNumberAlert(input) == false) {
        _cmdfocus(input); return false;
    }
    if (getByteLength(input) < cnt) {
        alert(msg + "은(는) " + cnt + "자리(이상) 입니다.\n\n다시 입력하세요."); _cmdfocus(input); return false;
    }
    return true;
}
//메일체크
function txtMailCkeck(input, msg) {
    if (isEmptyAlert(input, msg + "이메일을(를) 입력해 주십시요.") == true) {
        _cmdfocus(input); return false;
    }
    if (isValidEmailAlert(input) == false) {
        _cmdfocus(input); return false;
    }
    return true;
}
//라이오버튼리스트 체크
function GetRadioSelectedValue(input) {
    var Rbl = document.getElementById(input);
    var radio = Rbl.getElementsByTagName("input");

    for (var i = 0; i < radio.length; i++) {
        var el = radio[i];
        if (el.type == "radio" && el.checked) {
            return el.value;
        }
    }
}
//라이오버튼리스트 체크삭제
function GetRadioChkOff(input) {
    var Rbl = document.getElementById(input);
    var radio = Rbl.getElementsByTagName("input");

    for (var i = 0; i < radio.length; i++) {
        var el = radio[i];
        if (el.type == "radio" && el.checked) {
            el.checked = false;
        }
    }
}
//라이오버튼리스트 비활성화
function GetRadioDisabled(input) {
    var Rbl = document.getElementById(input);
    var radio = Rbl.getElementsByTagName("input");

    for (var i = 0; i < radio.length; i++) {
        var el = radio[i];
        if (el.type == "radio") {
            el.disabled = true;
        }
    }
}

//--------------- 여기는 값을 입력
//날짜 체크
function isYYYYMMDD(y, m, d) {
    switch (m) {
        case 2:
            if (d > 29) return false;
            if (d == 29) {
                if ((y % 4 != 0) || (y % 100 == 0) && (y % 400 != 0)) return false;
            }
            break;
        case 4:
        case 6:
        case 9:
        case 11:
            if (d == 31) return false;
    }
    return true;
}
//주민번호체크
function isSSN(s1, s2) {
    n = 2;
    sum = 0;
    for (i = 0; i < s1.length; i++)
        sum += parseInt(s1.substr(i, 1)) * n++;
    for (i = 0; i < s2.length - 1; i++) {
        sum += parseInt(s2.substr(i, 1)) * n++;
        if (n == 10) n = 2;
    }
    c = 11 - sum % 11;
    if (c == 11) c = 1;
    if (c == 10) c = 0;
    if (c != parseInt(s2.substr(6, 1))) return false;
    else return true;
}

function isNumeric(s) {
    for (i = 0; i < s.length; i++) {
        c = s.substr(i, 1);
        if (c < "0" || c > "9") return false;
    }
    return true;
}
function isLeapYear(y) {
    if (y < 100)
        y = y + 1900;
    if ((y % 4 == 0) && (y % 100 != 0) || (y % 400 == 0)) {
        return true;
    } else {
        return false;
    }
}
function getNumberOfDate(yy, mm) {
    month = new Array(29, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    if (mm == 2 && isLeapYear(yy)) mm = 0;
    return month[mm];
}
//주민번호체크
function JuminCheck(jumin1, jumin2) {
    var yy = jumin1.substr(0, 2);
    var mm = jumin1.substr(2, 2);
    var dd = jumin1.substr(4, 2);
    var genda = jumin2.substr(0, 1);

    if (!isNumeric(jumin1)) {
        alert("주민등록번호 앞자리를 숫자로 입력하세요.");
        return false;
    }
    if (jumin1.length != 6) {
        alert("주민등록번호 앞자리를 다시 입력하세요.");
        return false;
    }
    if (yy < "00" || yy > "99" ||
            mm < "01" || mm > "12" ||
            dd < "01" || dd > "31") {
        alert("주민등록번호 앞자리를 다시 입력하세요.");
        return false;
    }
    if (!isNumeric(jumin2)) {
        alert("주민등록번호 뒷자리를 숫자로 입력하세요.");
        return false;
    }
    if (jumin2.length != 7) {
        alert("주민등록번호 뒷자리를 다시 입력하세요.");
        return false;
    }
    if (genda < "1" || genda > "4") {
        alert("주민등록번호 뒷자리를 다시 입력하세요.");
        return false;
    }
    cc = (genda == "1" || genda == "2") ? "19" : "20";
    if (isYYYYMMDD(parseInt(cc + yy), parseInt(mm), parseInt(dd)) == false) {
        alert("주민등록번호 앞자리를 다시 입력하세요.");
        return false;
    }
    if (!isSSN(jumin1, jumin2)) {
        alert("입력한 주민등록번호를 검토한 후, 다시 입력하세요.");
        return false;
    }
    return true;
}

//----------------여기까지 값입력


        /// <summary>
        /// 나이 구하기 (만) 
        /// </summary>
        /// <param name="SSN">주민등록번호</param>
        /// <returns>만나이</returns>
        /// 

        function getManAge(SSN)
        {
            var tmpBirthDate = SSN;
            var tmp = parseInt(tmpBirthDate.substring(6, 7)); // 흠
            var returnVal = 0;
         
         
            var now = new Date();
            var NowDate = now.getYear() + '-' 
                        + ((now.getMonth() + '').length == 1 ? '0' + now.getMonth() : now.getMonth()) + '-' 
                        + ((now.getDate() + '').length == 1 ? '0' + now.getDate() : now.getDate());
                        

            if (tmp > 2) 
            {
                tmpBirthDate = "20" + tmpBirthDate; 
            }
            else  
            {
                tmpBirthDate = "19" + tmpBirthDate; 
            }

            //-- 월  
            var bYear = parseInt(tmpBirthDate.substring(0, 4)); // 생년 
            var bMonth = parseInt(tmpBirthDate.substring(4, 6)); // 생월 

            //-- 현재 
            var nYear = parseInt(NowDate.substring(0, 4)); // 현재 년 
            var nMonth = parseInt(NowDate.substring(5, 7)); // 현재 월 

            if (bMonth - nMonth < 0)
            {
                returnVal = nYear - bYear;
            }
            else
            {
                returnVal = nYear - bYear - 1;
            }

            return returnVal;
           
        }


function PreviewFILE(fileName) {
  window.open("/common/fileViewer.asp?file=" + encodeURIComponent(fileName), "imageViewer", 'left=0, top=0, width=200, height=200, toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, copyhistory=yes, resizable=no');
}


function popImage(fileName) {
  PreviewFILE(fileName) ;
}



//윈도우 팝업 추가 작업 2008년 10월 14일
// 팝업고정
function openWindow(url,height,width){
	var popobj = window.open(url,'eventPOP','resizable=no, left=0, top=0, toolbar=no,scrollbars=auto,directories=no,menubar=no,width='+width+',height='+height)
	popobj.focus();
}

// 팝업이름
function openWindow2(url,PopName, height,width){
    
	var popobj = window.open(url, PopName ,'resizable=no,toolbar=no,scrollbars=no,directories=no,menubar=no,width='+width+',height='+height)
	popobj.focus();
}

// 위치를 마음데로
function openWindow3(url,PopName, height,width, left, top){
	var popobj = window.open(url, PopName ,'resizable=no,toolbar=no,left='+left+',top='+top+',scrollbars=no,directories=no,menubar=no,width='+width+',height='+height)
	popobj.focus();
}

// 스크롤바 사용
function openWindow4(url,PopName, height,width, left, top){
	var popobj = window.open(url, PopName ,'resizable=no,toolbar=no,left='+left+',top='+top+',scrollbars=yes,directories=no,menubar=no,width='+width+',height='+height)
	popobj.focus();
}



// 입력폼에서 숫자만 입력받기
function numbersonly(e, decimal) {
    var key;
    var keychar;

    if (event.button == "2") {
        alert("숫자를 입력해 주세요.");
        return false;
    }

    if (event.ctrlKey || event.altKey) {
        return false;
    }
    
    if (window.event) {
        key = window.event.keyCode;
    } else if (e) {
        key = e.which;
    } else {
        return true;
    }
    
    keychar = String.fromCharCode(key);

    if ((key == null) || (key == 0) || (key == 8) || (key == 9) || (key == 13) || (key == 27) || (key == 37) || (key == 39) || (key == 46) || ((key > 95) && (key < 106))) {
        return true;
    } else if ((("0123456789").indexOf(keychar) > -1)) {
        return true;
    } else if (decimal && (keychar == ".")) {
        return true;
    } else
        return false;
}


//2000년이후 포함 주민번호 체크
function ValidSerial(obj1, obj2) {
    var sno1 = obj1.value;
    var sno2 = obj2.value;
    var serialValue = sno1 + "-" + sno2;
    
    //주민등록번호의 형태와 7번째 자리(성별) 유효성 검사 
    var chkValue = /^\d{6}-[1234]\d{6}$/;
    if (!chkValue.test(serialValue)) {
        obj1.focus();
        window.alert("주민등록번호를 확인하세요.");
        return false;
    }
    
    //날짜 유효성 검사 
    birthYear = (serialValue.charAt(7) <= "2") ? "19" : "20";
    birthYear += serialValue.substr(0, 2);
    birthMonth = serialValue.substr(2, 2) - 1;
    birthDate = serialValue.substr(4, 2);
    var birth = new Date(birthYear, birthMonth, birthDate);
    if ((birth.getYear() % 100 != serialValue.substr(0, 2)) ||
                (birth.getMonth() != birthMonth) ||
                (birth.getDate() != birthDate)) {
        obj1.focus();
        window.alert("주민등록번호를 확인하세요.");
        return false;
    }
    
    //코드 유효성 검사 
    var buf = new Array(13);
    for (var i = 0; i < 6; i++) {
        buf[i] = parseInt(serialValue.charAt(i));
    }
    for (var i = 6; i < 13; i++) {
        buf[i] = parseInt(serialValue.charAt(i + 1));
    }
    
    var multipliers = [2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5];
    for (var i = 0, sum = 0; i < 12; i++) {
        sum += (buf[i] *= multipliers[i]);
    }
    if ((11 - (sum % 11)) % 10 != buf[12]) {
        obj1.focus();
        window.alert("주민등록번호를 확인하세요.");
        return false;
    }

    return true;
}


///비밀번호 영문과 숫자와 특수문자 조합
function checkPass(obj, msg) {
    var chkchar = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890-_=+\|()*&^%$#@!~`?></;,.:'";
    var chkvalue = obj.value;
    var chkresult = true;

    for (var i = 0; i < chkvalue.length; i++) {
        if (chkchar.indexOf(chkvalue.charAt(i)) == -1) {
            alert(msg);
            chkresult = false;
            break;
        }
    }

    return chkresult;
}
