	/*******************************************************************************
	* 팝업창 (오늘 하루 이창을 열지 않음)
	*******************************************************************************/
	function getCookie(name){   
		var wcname = name + '=';
		var wcstart, wcend, end;
		var i = 0;   
		
		while(i <= document.cookie.length) {           
			wcstart = i; 
			wcend   = (i + wcname.length);           
			
			if(document.cookie.substring(wcstart, wcend) == wcname) {                   
				if((end = document.cookie.indexOf(';', wcend)) == -1)
				end = document.cookie.length;                   
				return document.cookie.substring(wcend, end);           
		  	}           
			i = document.cookie.indexOf('', i) + 1;           
			if(i == 0)
				break;   
		}   
		return '';
	}
	function setCookie( name, value, expiredays ) { 
	    var todayDate = new Date(); 
        todayDate.setDate( todayDate.getDate() + expiredays ); 
        document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";" 
    }
    function noticeCloseWin(popupSeq) { 
		if (!document.getElementById("popup" + popupSeq).checked) 	{
			document.getElementById("popup" + popupSeq).checked = true;
		}

	    if (document.getElementById("popup" + popupSeq).checked){ 
	    	setCookie( "popup" + popupSeq, "done" , 1 ); 
	    } 
	    window.close(); 
	}
	/*******************************************************************************
	* 파일 다운로드
	*******************************************************************************/
	function download(fileSeq) {
		var frm = document.frm;
		frm.action = contextPath + "/admin/download.do";
		frm.fileNm.value = $("fileNm_" + fileSeq).value;
		frm.savePathFileNm.value = $("savePathFileNm_" + fileSeq).value;
		frm.submit();
	}
	/*******************************************************************************
	* 배열형태의 Object를 배열형태로 만들어 반환한다.
	*******************************************************************************/
	function getArrayValue(object) {
		if(object == null) return;
		var returnArray = new Array();
		if (object.length == 'undefined' || object.length == null) {
			returnArray[0] = object.value;
		} else {
			for (i = 0; i < object.length; i++) {
				returnArray[i] = object[i].value;
			}  
		}
		return returnArray;
	}
	/*******************************************************************************
	* 배열형태의 Object를 배열형태의 파일 확장자를 만들어 반환한다.
	*******************************************************************************/
	function getArrayFileTyp(object) {
		if(object == null) return;
		var returnArray = new Array();
		if (object.length == 'undefined' || object.length == null) {
			returnArray[0] = object.value.substring(object.value.lastIndexOf(".") + 1);
		} else {
			for (i = 0; i < object.length; i++) {
				var value = object[i].value;
				returnArray[i] = value.substring(value.lastIndexOf(".") + 1);
			}  
		}
		return returnArray;
	}
	/*******************************************************************************
	* DOM 객체의 체크 박스 중 체크 되어 있는 항목의 value값을 문자열 배열로 만들어 반환한다.
	*******************************************************************************/
	function getCheckboxCheckedListArray(objCheckbox) {
		if(objCheckbox == null) return;
	
		var returnArray = new Array();
		var arrayIndex = 0;
	
	
		if(objCheckbox.length == undefined) {
			if(objCheckbox.checked) {
				returnArray[arrayIndex++] = objCheckbox.value;
			}
		} else {
			for(var indexI = 0; indexI < objCheckbox.length; indexI++){
				if(objCheckbox[indexI].checked) {
					returnArray[arrayIndex++] = objCheckbox[indexI].value;
				}
			}
		}
	
		return returnArray;
	}

	/*******************************************************************************
	* 값 변경한다.  
	*******************************************************************************/
	function changeValue(obj, value) {
		document.getElementById(obj).value = value;
	}
	

	/*******************************************************************************
	* 화면 보이기/숨기기 설정을 변경한다.  
	*******************************************************************************/
	function changeDisplay(obj, flag) {
		if (flag == "Y") {
			document.getElementById(obj).style.display = "inline";
		} else {
			document.getElementById(obj).style.display = "none";
		}
	}
	
	/*******************************************************************************
	* 문자열 길이를 리턴한다. 
	*******************************************************************************/
	function getLength(str) 
	{
		var length = 0;
	
		for(var i = 0; i < str.length; i++)
		{
			if(escape(str.charAt(i)).length >= 4)
				length += 2;
			else if(escape(str.charAt(i)) == "%A7")
				length += 2;
			else
				if(escape(str.charAt(i)) != "%0D")
					length++;
		}	
	
		return length;
	}
	
	/*******************************************************************************
	* 공백을 제거한다.
	*******************************************************************************/
	function trim(str)
	{
		return str.replace(/^\s+|\s+$/g, '');
	}
	
	/*******************************************************************************
	* 숫자 이외에는 다 뺀다.
	*******************************************************************************/
	function onlyNum(value) {
		return value.replace(/[^0-9]/g,"");
	}	
	
	/*******************************************************************************
	* 숫자형식인지 체크한다.
	* @return : true(맞는 형식) | false(잘못된 형식)
	*******************************************************************************/
	function checkNum(value) {
		if (value != onlyNum(value)) {
			alert("숫자만 입력하세요.");
			return false;
		}
		return true;
	}	
	
	/*******************************************************************************
	* 숫자만 입력 체크한다.
	* @param: e event object
	* @use : onkeydown="onlyNumberCheck(event);"
	*******************************************************************************/
	function onlyNumberCheck(e) {    	
		if(window.event) {	
			if(!(e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105 || e.keyCode == 8 || e.keyCode == 9 || e.keyCode == 37 || e.keyCode == 39 || e.keyCode == 46 || e.keyCode == 0)) {
				alert("숫자만 입력해주세요.");
				event.returnValue = false;
			}
		} else {
			if(!(e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105 || e.keyCode == 8 || e.keyCode == 9 || e.keyCode == 37 || e.keyCode == 39 || e.keyCode == 46 || e.keyCode == 0)) {
				alert("숫자만 입력해주세요.");
				e.preventDefault();
			}			
		}
	}
	
	/*******************************************************************************
	* 정수(숫자 또는 .)만 입력 체크한다.
	* @param: e event object
	* @use : onkeydown="onlyFloatCheck(event);"
	*******************************************************************************/
	function onlyFloatCheck(e) {		    	
		if(window.event) {	
			if(!(e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105 || e.keyCode == 8 || e.keyCode == 9 || e.keyCode == 37 || e.keyCode == 39 || e.keyCode == 46 || e.keyCode == 0 || e.keyCode == 110)) {
				alert("숫자만 입력해주세요.");
				event.returnValue = false;
			}
		} else {
			if(!(e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105 || e.keyCode == 8 || e.keyCode == 9 || e.keyCode == 37 || e.keyCode == 39 || e.keyCode == 46 || e.keyCode == 0 || e.keyCode == 110)) {
				alert("숫자만 입력해주세요.");
				e.preventDefault();
			}			
		}
	}
	/*******************************************************************************
	* 숫자와 . 이외에는 다 뺀다.
	*******************************************************************************/
	function onlyFloat(value) {
		return value.replace(/[^0-9\.]/g,"");
	}
	
	/*******************************************************************************
	* 숫자형식(Flaot)형식인지 체크한다.
	* @return : true(맞는 형식) | false(잘못된 형식)
	*******************************************************************************/
	function checkFloat(value) {
		if (value != onlyFloat(value)) {
			alert("숫자만 입력하세요.");
			return false;
		}
		return true;
	}
	
	/*******************************************************************************
	* 시간 체크 HH:MM:SS 형태로 체크한다.
	* @return : HHMMSS(맞는 형식인 경우) | false(잘못된 형식)
	*******************************************************************************/	
	function checkTimeType(value) {
		var num = onlyNum(value);
		
		if (num.length == 6) {			
			var hour = parseInt(num.substring(0, 2));
			var minute = parseInt(num.substring(2, 4));
			var second = parseInt(num.substring(4, 6));
			
			if ((hour >= 0 && hour < 24) && (minute >= 0 && minute < 60) && (second >= 0 && second < 60)) {
				return num;
			}
		}
		alert("시간(HH:MM:SS)형태로 입력하세요.");
		return false;
	}	
	
	/****************************************************************************************
	 contents : textarea 글자수 체크 
	 parameters : object (value : this), index (글자수가 보여지는  name), strlength (입력 가능한 바이트 수)
	 return : XMLDocument
	*****************************************************************************************/
	function checkStrLength(object, index, strlength){
		var temp;
		var f = object.value.length;
		var msglen = 0; 
	 	var tmpstr = "";
	 	var enter = strlength;
	 	var strlen;
	 	
	 	if(f == 0) {
			document.getElementById(index).innerText = 0;
		} else {
	 		for(k = 0; k < f; k++){
			   temp = object.value.charAt(k);
			   
   			   if(temp == '\n')  {
   			   	  enter--;
			   }
			   if(escape(temp).length > 4) {
				    msglen += 2;
			   } else {
				    msglen++;
			   }
			   if(msglen > strlength){
					alert(strlength + "byte가 넘었습니다.");
					object.value = tmpstr;
		 	        break;
			   } else {
		      	    document.getElementById(index).innerText = msglen;
				    tmpstr += temp;
			   }
			}
		}
	}
	/****************************************************************************************
	 contents : textarea 글자수 체크 
	 parameters : object (value : this), strlength (입력 가능한 바이트 수)
	 return : XMLDocument
	*****************************************************************************************/
	function checkStrLength2(object, strlength){
		var temp;
		var f = object.value.length;
		var msglen = 0; 
	 	var tmpstr = "";
	 	var enter = strlength;
	 	var strlen;
	 	
		for(k = 0; k < f; k++){
		   temp = object.value.charAt(k);
		   if(temp == '\n')  {
			  enter--;
		   }
		   if(escape(temp).length > 4) {
				msglen += 1;
		   } else {
				msglen++;
		   }
		   if(msglen > strlength){
				alert(strlength + "자가 넘었습니다.");
				object.value = tmpstr;
				break;
		   } else {
				tmpstr += temp;
		   }
		}
	}

	// 체크 박스 전체  체크하기
	function checkboxCheckAll(objCheckbox) {
		if(objCheckbox == null) return;
		if(objCheckbox.length == undefined) {
			objCheckbox.checked = true ;
		} else {
			for (var indexI = 0; indexI < objCheckbox.length; indexI++) {
				if (!objCheckbox[indexI].disabled) {
					objCheckbox[indexI].checked = true ;
				}
			}
		}
	}

	// 체크 박스 전체  해제하기
	function checkboxUncheckAll(objCheckbox) {
		if(objCheckbox == null) return;
	
		if(objCheckbox.length == undefined) {
			objCheckbox.checked = false ;
		} else {
			for (var indexI = 0; indexI < objCheckbox.length; indexI++) {
				objCheckbox[indexI].checked = false ;
			}
		}
	}

	// 전체선택
	function checkAll(objId) {
		
		var checkObj = document.getElementsByName(objId);
		
		for (var i = 0; i <checkObj.length; i++) {
			if (checkObj[i] != undefined) {
				if (!checkObj[i].disabled) {
					checkObj[i].checked = true;
				}
			}
		}
	}
	// 선택 해제
	function unCheckAll(objId) {
		
		var checkObj = document.getElementsByName(objId);
		
		for (var i = 0; i <checkObj.length; i++) {
			if (checkObj[i] != undefined) {
				if (checkObj[i].checked) {
					checkObj[i].checked = false;
				}
			}
		}
	}
	
	// 라디오 버튼 값 가져오기
	function getRadioValue(obj){
		var returnValue = "";
		
		if( eval("obj.value") ){
			return obj.value;
		}else{
			for( var i=0; i<obj.length ; i++){
				if(obj[i].checked){
					returnValue = obj[i].value;
				}
			}
		}
		
		return returnValue;
	}
	
	// 주민번호체크
	function jumin_check(jumin1, jumin2) {
		
		var returnMsg = "";
		
	    jumin1_val = jumin1;
	    jumin2_val = jumin2;
	    jumin_no = jumin1_val + jumin2_val;
	
	    chk_value = new Array(13);
	    var chk_lastid;
	    var chk_mod;
	    var chk_minus;
	    var chk_last;
	    var chk_id = new String(jumin_no);
	
	    chk_value[6]  = chk_id.substring(6,7);
	
	    if ((chk_value[6] != 1) && (chk_value[6] != 2)) {
	        if ((chk_value[6] != 3) && (chk_value[6] != 4)) {
	        	//returnMsg = '주민등록번호가 형식에 맞지 않습니다.';
	        	returnMsg = 'NOT_TYPE_SSN';
	        }
	    }
	
	    chk_lastid = chk_id.substring(12,13);
	    chk_value[0]  = chk_id.substring(0,1)   * 2;
	    chk_value[1]  = chk_id.substring(1,2)   * 3;
	    chk_value[2]  = chk_id.substring(2,3)   * 4;
	    chk_value[3]  = chk_id.substring(3,4)   * 5;
	    chk_value[4]  = chk_id.substring(4,5)   * 6;
	    chk_value[5]  = chk_id.substring(5,6)   * 7;
	    chk_value[6]  = chk_id.substring(6,7)   * 8;
	    chk_value[7]  = chk_id.substring(7,8)   * 9;
	    chk_value[8]  = chk_id.substring(8,9)   * 2;
	    chk_value[9]  = chk_id.substring(9,10)  * 3;
	    chk_value[10] = chk_id.substring(10,11) * 4;
	    chk_value[11] = chk_id.substring(11,12) * 5;
	
	    chk_value[12] = 0;
	
	    for (var i=0; i<12; i++)
	        chk_value[12] = chk_value[12] + chk_value[i];
	
	    chk_mod = chk_value[12] % 11;
	    chk_minus = 11 - chk_mod;
	    chk_last = chk_minus % 10;
	
	    if (chk_last != chk_lastid) {
	        //returnMsg = '주민등록번호가 존재하지  않습니다.';
	        returnMsg = 'NOT_EXIST_SSN';
	    }
		return returnMsg;
	}

	// 외국인등록번호 확인
	function foreignNumber(jumin1, jumin2){
	
		var returnMsg = "";
	
		var fgn_reg_no = jumin1 + jumin2;
	
	    if (fgn_reg_no.length != 13) {
	        //returnMsg = '외국인등록번호가 형식에 맞지 않습니다.';
	        returnMsg = 'NOT_TYPE_FOREIGN_SSN';
	        return returnMsg;
	    }
	    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{
	        //returnMsg = "등록번호에 오류가 있습니다. 다시 확인하십시오.";
	        returnMsg = 'ERROR_FOREIGN_SSN';
	        return returnMsg;
	    }    
	        
	    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) 
	    {
	        //returnMsg = '생년월일에 오류가 있습니다. 다시 확인하십시오.';
	        returnMsg = 'ERROR_FOREIGN_SSN';
	        return returnMsg;
	    }
	
	    if (fgn_no_chksum(fgn_reg_no) == false)
	    {
	        //returnMsg = '외국인등록번호에 오류가 있습니다. 다시 확인하십시오.';
	        returnMsg = 'ERROR_FOREIGN_SSN';
	        return returnMsg;
	    }        
		
		return returnMsg;
	}
	
	// 내용이 있는지 없는지 확인하다.
	// @return : true(내용 있음) | false(내용 없음)
	function checkNull(value) {
		return (value == null || value == "") ? false : true;
	}
		
	// 영문/숫자 체크
	function checkUserIDType(userID) {

		var count = userID.length;
		var userid = userID;
		var result = (userID.match(/[a-zA-z]{1}[0-9a-zA-Z]+$/)) ? true : false;
		
		for (var i=0; i<count; i++){
			char_ASCII = userID.charCodeAt(i);
	
			if(char_ASCII >= 12592){
				 result = false;
				 break;
			}
		}
		return result;
	}
	
	// 입력값이 알파벳,숫자로 되어있는지 체크
	// @return : true(맞는 형식) | false(잘못된 형식)
	function containsCharsOnly(input,chars) {
	    for (var inx = 0; inx < input.length; inx++) {
	       if (chars.indexOf(input.charAt(inx)) == -1)
	           return false;
	    }
	    return true;
	}
	
	function isAlphaNum(input) {
	    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
	    return containsCharsOnly(input,chars);
	}

	//특수문자 검사
	function chk_spec(str,val){
		var count = str.length;

		for (var i=0 ; i<count ; i++){
			char_ASCII = str.charCodeAt(i);

			switch(val){
				case 1 : //숫자
								if(char_ASCII >= 48 && char_ASCII <= 57)  return 1;
								break;
				case 2 : //영문소
								if (char_ASCII>=65 && char_ASCII<=90) return 2;
								break;
				case 3 : //영문대
								if(char_ASCII>=97 && char_ASCII<=122) return 3;
								break;
				case 4 :  //한글
								if(char_ASCII >= 12592 || char_ASCII <= 12687) return 4;
								break;
				case 5 : //모든 특수문자  33:! 34:" 35 #  36 $  37 %  38 &  39'  40 (  41 )  42  43 + 44 ,  45 -  46 .  47
								//58 :  59 ;  60 <  61 =  62 >  63 ?  64 @
								//91 92 \  93 94 ^  95 _  96
								//123 124 /  125 126:~
							if ((char_ASCII>=33 && char_ASCII<=47)
														|| (char_ASCII>=58 && char_ASCII<=64)
														|| (char_ASCII>=91 && char_ASCII<=96)
														|| (char_ASCII>=123 && char_ASCII<=126)){
								return 6;
							}
							break;
				case 6 : // " 특수문자 체크
							if(char_ASCII==34) return 6;
							break;
				case 7 : // " 특수문자 체크
							if(char_ASCII==34 || char_ASCII==39) return 7;
							break;
				case 8 : // 특수문자 체크
							if ((char_ASCII>=33 && char_ASCII<=47)
														|| (char_ASCII>=58 && char_ASCII<=64)
														|| (char_ASCII>=91 && char_ASCII<=96)
														|| (char_ASCII>=123 && char_ASCII<=126)){
								if (char_ASCII != 33 && char_ASCII != 46 && char_ASCII != 63) {
									return 6;
								}
							}
							break;
				case 11 : //url에 들어가면 안되는 특수문자 " : /
							if(char_ASCII==34 || char_ASCII==47 || char_ASCII==39 || char_ASCII==58) return 11;
							break;

			}//switch
		}//for

		return 0;
	}	

	// Browser 구분.
	function isNetscape() {
	
		if (navigator.appName == 'Netscape') {
			return true;
		} else {
			return false;
		}
	}
	
	function isNetscape60() {
	
		var agent = navigator.userAgent.toLowerCase();
		
		if (isNetscape() && agent.indexOf('mozilla/5') > 0) {
			return true;
		} else {
			return false;
		}
	}
	
	function isVista() {
	
		var agent = navigator.userAgent.toLowerCase();
	
		return (agent.indexOf("nt 6") > 0);
	}
	
	function isSafari() {
	
		var kitName = "applewebkit/";
		var tempStr = navigator.userAgent.toLowerCase();
		var pos = temStr.indexOf(kitName);
		var isAppleWebkit = (pos != -1);
	
		if (isAppleWebkit) {
			return true;
		} else {
			return false;
		}
	}
	// 숫자 형을 금액형으로 3자리마다 ',' 로 구분
	function numberFormat(val) {
		val = ''+val; // val; 강제로 string 형으로 변형
		var minus = '';
		char_ASCII = val.charCodeAt(0);

		if (char_ASCII == 45) { // minus 부호 체크
			minus = '-';
			val = val.substring(1); //minus를 제외한 숫자 셋팅.
		}

		if(val.length<=3) return val;
		
		var os = val.length%3;
		if(os==0) os=3;
		return minus + val.substring(0,os)+','+numberFormat(val.substring(os));
	}
	
	// 원래 값 사이에 임의의 값을 추가한다.
	function transStr(oVal, indexPosition, innerValue) {
		
		var str1 = oVal.substring(0, parseInt(indexPosition));
		var str2 = oVal.substring(parseInt(indexPosition), oVal.length);
			
		return str1 + innerValue + str2;
	}
	
	// 숫자만 입력 받게끔 하는 함수.
	function handlerNum(obj) {
		e = window.event; //윈도우의 event를 잡는것입니다.
	 
		//입력 허용 키
		if( ( e.keyCode >=  48 && e.keyCode <=  57 ) ||   //숫자열 0 ~ 9 : 48 ~ 57
			( e.keyCode >=  96 && e.keyCode <= 105 ) ||   //키패드 0 ~ 9 : 96 ~ 105
			e.keyCode ==   8 ||    //BackSpace
			e.keyCode ==  46 ||    //Delete
			//e.keyCode == 110 ||    //소수점(.) : 문자키배열
			//e.keyCode == 190 ||    //소수점(.) : 키패드
			e.keyCode ==  37 ||    //좌 화살표
			e.keyCode ==  39 ||    //우 화살표
			e.keyCode ==  35 ||    //End 키
			e.keyCode ==  36 ||    //Home 키
			e.keyCode ==   9       //Tab 키
			) {
			
			//if(e.keyCode == 48 || e.keyCode == 96) { //0을 눌렀을경우
			//	if ( obj.value == "" || obj.value == '0' ) //아무것도 없거나 현재 값이 0일 경우에서 0을 눌렀을경우
			//		e.returnValue=false; //-->입력되지않는다.
			//	else //다른숫자뒤에오는 0은
			//		return; //-->입력시킨다.
			//} else //0이 아닌숫자
			//	return; //-->입력시킨다.
		} else { //숫자가 아니면 넣을수 없다.
			alert('숫자만 입력가능합니다');
			e.returnValue=false;
		}
	}
	
	// 일정 글자 이상 입력시 자동으로 탭이동하는 함수.
	function autoTab(nextObj, input, maxLength) {
		var frm = document.agreementForm;	
		var value = input.value;
		if (value.length>=maxLength) {
			document.getElementById(nextObj).focus();
		}
	}
	//값이 영어와 숫자로만 되어있는지 확인한다.
	function GetOnlyNumEng(value){
        var NumEng = /^[A-Za-z0-9]+$/;

        if(NumEng.test(value) || value == ""){
   			return true;
   		} else{
     		return false;
   		}
	}
	/*******************************************************************************
	* popup 창 Resize
	*******************************************************************************/
	function getnavigatorType() {

		if (navigator.appName == "Netscape") {
			return "Netscape " + navigator.appVersion.charAt(0);
		} else if (navigator.appName == "Microsoft Internat Explorer") {
			if (navigator.appVersion.charAt(0) == "4") {
				if (navigator.appVersion.indexOf("MSIE 5") != -1) {
					return "ie 5";
				} else if (navigator.appVersion.indexOf("MSIE 6") != -1) {
					return "ie 6";
				} else if (navigator.appVersion.indexOf("MSIE 7") != -1) {
					return "ie 7";
				} else {
					return "ie 4";
				}
			} else if (navigator.appVersion.charAt(0) == "5") {
				return "ie 5";
			}
		} else {
			return "";
		}
	}


	function winResize() {
		var width, height;
		width = document.body.scrollWidth + 10;
		height = document.body.scrollHeight + 47;
		if (getnavigatorType() == "ie 7") height = height + 25;
		window.resizeTo( width, height );
		//alert( "400, 613, " + width + ", " + height + ", " + document.body.offsetWidth + ", " + document.body.offsetHeight + ", " + document.body.clientWidth + ", " + document.body.clientHeight + ", " + window.width + ", " + window.height );
	}

	// pStartDate 와 pEndDate 사이의 차이를 구한다.
	// pStartDate, pEndDate 형 : 'YYYYMMDD'
	// pType : D = 날짜차이, M = 월차이
	function dateGap(pStartDate, pEndDate, pType) {

		var strSDT = new Date(pStartDate.substring(0,4),pStartDate.substring(4,6)-1,pStartDate.substring(6,8));
		var strEDT = new Date(pEndDate.substring(0,4),pEndDate.substring(4,6)-1,pEndDate.substring(6,8));
		var strGapDT = 0;

		if(pType == 'D') {  //일수 차이
			strGapDT = (strEDT.getTime()-strSDT.getTime())/(1000*60*60*24);
		} else {            //개월수 차이
			//년도가 같으면 단순히 월을 마이너스 한다.
			// => 20090301-20090201 의 경우 아래 else의 로직으로는 정상적인 1이 리턴되지 않는다.
			if(pEndDate.substring(0,4) == pStartDate.substring(0,4)) {
				strGapDT = pEndDate.substring(4,6) * 1 - pStartDate.substring(4,6) * 1;
			} else {
				strGapDT = Math.floor((strEDT.getTime()-strSDT.getTime())/(1000*60*60*24*365.25/12));
			}
		}
		return strGapDT;
	}