﻿
	
	//----------------------------------------------------------------------------------------------
	//					입력 체킹
	//----------------------------------------------------------------------------------------------
	// 포커스 설정 처리 없음
	function fncChk_Value4NoFocus(objTag, strCtlMsg) 
	{
		var rtnValue;
		var tmp;

		tmp = objTag.value.replace(/\s/g,"");  
		if(tmp == "")
		{
			alert (strCtlMsg + ' 입력 하세요.');
			rtnValue = false;
		}
		else
		{
			rtnValue = true;
		}
		return rtnValue;
	}	

	// 포커스 설정 처리 함
	function fncChk_Value(objTag, strCtlMsg) 
	{
		var rtnValue;
		var tmp;

		tmp = objTag.value.replace(/\s/g,"");  
		if(tmp == "")
		{
			alert (strCtlMsg + ' 입력 하세요.');
			objTag.focus();
			rtnValue = false;
		}
		else
		{
			rtnValue = true;
		}
		return rtnValue;
	}		
	
	
	//----------------------------------------------------------------------------------------------
	//					입력값 길이 체킹
	//----------------------------------------------------------------------------------------------	
	function fncChk_Length(objTag, intLen, strCtlMsg) 
	{
		var rtnValue;
		if(objTag.value.length != intLen)
		{
			alert (strCtlMsg + ' 입력값은 ' + intLen + '자 이어야 합니다.');
			objTag.focus();
			rtnValue = false;
		}
		else
		{
			rtnValue = true;
		}
		return rtnValue;
	}	
	
	//----------------------------------------------------------------------------------------------
	//					입력값 길이 체킹 ( 한글/영문 혼합일시, 총 바이트 수 체킹)
	//----------------------------------------------------------------------------------------------	
	function fncChk_LengthByte(objTag , intMaxLen, strCtlMsg)
	{
		var rtnValue; 
		var str = objTag.value; 
		var len = str.length; 
		
		for(i=0; i< str.length ; i++)
		{
			frg = str.substr(i,1).charCodeAt(0); 
			if (frg > 127 )
			{
				len++;
			}
		} 
		if (len > intMaxLen)
		{		
			alert (strCtlMsg);
			objTag.select();
			objTag.focus();			
			rtnValue = false;			
		}	
		else{
			rtnValue = true;
		}
		 
		return rtnValue;		
	}
		
	//----------------------------------------------------------------------------------------------
	//					입력값 길이가 N자 이상인지 체킹			   (예 : 아이디는 4자 이상이어야 함)
	//----------------------------------------------------------------------------------------------	
	function fncChk_IsShortLength(objTag, intLen, strCtlMsg) 
	{
		var rtnValue;
		if(objTag.value.length < intLen)
		{
			alert (strCtlMsg + ' 입력값은 ' + intLen + '자 이상 이어야 합니다.');
			objTag.select();
			objTag.focus();
			rtnValue = false;
		}
		else
		{
			rtnValue = true;
		}
		return rtnValue;
	} 
		
	//----------------------------------------------------------------------------------------------
	//					입력값 길이가 N자 이하인지 체킹			   (예 : 아이디는 10자 이하이어야 함)
	//----------------------------------------------------------------------------------------------	
	function fncChk_IsLongLength(objTag, intLen, strCtlMsg) 
	{
		var rtnValue;
		if(objTag.value.length > intLen)
		{
			alert (strCtlMsg + ' 입력값은 ' + intLen + '자 이하 이어야 합니다.');
			objTag.select();
			objTag.focus();
			rtnValue = false;
		}
		else
		{
			rtnValue = true;
		}
		return rtnValue;
	}	
	
	//**********************************************************************************************
	//					공백 입력 체킹
	//**********************************************************************************************	
	function fncChk_Space(objTag, strCtlMsg) 
	{
		var intChar;
		var strTmp = objTag.value;
		
		for (var i=0; i<strTmp.length; i++) 
		{
			intChar = strTmp.charCodeAt(i);
			if (intChar == 32)
			{
				alert (strCtlMsg + ' 입력란에 공백문자는 입력 불가능 합니다.');
				objTag.select();
				objTag.focus();
				return false;
				break;
			}
		}
		return true;			
	}		
	
	//----------------------------------------------------------------------------------------------
	//					드롭다운 리스트의 선택여부 체킹
	//----------------------------------------------------------------------------------------------
	function funChk_IsSelected(objTag, strCtlMsg)
	{	
		if(objTag.options[objTag.selectedIndex].value == "")
		{
			alert(strCtlMsg + " 항목을 선택하세요.");
			objTag.focus();
			return false;
		}
		return true;
	}
	
	
	
	//----------------------------------------------------------------------------------------------
	//					드롭다운 리스트의 선택 값 가져오기    // 알럿창을 띄우면 에러남. (우낌)
	//----------------------------------------------------------------------------------------------	
	function fncGet_SelectedValue(objTag)
	{
		for(var j=0; j<objTag.length; j++)
		{
			if(objTag.options[j].selected)
			{
				return objTag.options[j].value;
				break;
			}
		}
		alert('선택하세요');
		return "";
	}	
	
	
	//----------------------------------------------------------------------------------------------
	//					리스트 박스의 선택여부 체킹
	//----------------------------------------------------------------------------------------------
	
	//선택유무 체크
	function funChk_ListIsSelected(objList,strCtlMsg){
		 if(objList.selectedIndex == -1)
		 {
			alert(strCtlMsg + " 항목을 선택하세요.");
			objList.focus();
			return false;
		 }
		 return true;
	}
	
	
	
	//----------------------------------------------------------------------------------------------
	//					라디오 버튼,   체크박스 의 선택여부 체킹
	//----------------------------------------------------------------------------------------------
	
	function funChk_IsChecked(objTag, strCtlMsg)
	{	
		
		if(objTag.length)
		{
			for(i=0; i<objTag.length; i++)
			{
				if(objTag[i].checked)
				{
					return true;
					break;
				}
			}		
			alert(strCtlMsg + " 항목을 선택하세요.");
			objTag[0].focus();
			return false;
		}
		else
		{
			if(objTag.checked)
			{
				return true;		
			}
			else
			{
				alert(strCtlMsg + " 항목을 선택하세요.");
				objTag.focus();
				return false;							
			}
		}
	}	
	
	//**********************************************************************************************
	//					숫자 여부 체킹							  (예 : 주민번호, 전화번호, 나이...)
	//**********************************************************************************************	
	function fncChk_IsNumber(objTag, strCtlMsg)
	{
		var temp;
		var valid="0123456789"
		for (var i=0; i<objTag.value.length; i++) 
		{
			temp = "" + objTag.value.substring(i, i+1);
			if (valid.indexOf(temp) == "-1") 
			{
				alert(strCtlMsg + " 입력란은 숫자만 입력 가능 합니다.");
				objTag.select();
				objTag.focus();
				return false;
				break;
			}
		}
		return true;
	}	
	
	//**********************************************************************************************
	//					RGB 칼라값 여부 체킹							  (예 : FFEE00 )
	//**********************************************************************************************	 
	
	function fncChk_IsRGBColor(objTag, strCtlMsg)
	{
		var temp;
		var valid="0123456789ABCDEFabcdef" 
		
		 if(objTag.value.length != 6)
		{		
			alert(strCtlMsg + " 입력란은 RGB코드로 입력해야합니다. (000000~FFFFFF)");
			objTag.select();
			objTag.focus();
			return false; 
		} 
		else
		{		
			for (var i=0; i<objTag.value.length; i++) 
			{
				temp = "" + objTag.value.substring(i, i+1);
				if (valid.indexOf(temp) == "-1") 
				{
					alert(strCtlMsg + " 입력란은 RGB코드로 입력해야합니다. (000000~FFFFFF)");
					objTag.select();
					//objTag.focus();
					return false;
					break;
				}
			}
		}
		return true;
		 
	}	 
 
	
	//**********************************************************************************************
	//					특수문자, 한글만 제외 처리 여부 체킹	   (예 : 이메일 또는 FTP, HTTP 주소)
	//**********************************************************************************************	
	function fncChk_IsPossibleCharacter(objTag, strCtlMsg)
	{
		var valid = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789@_-."
		var temp;
		for (var i=0; i<objTag.value.length; i++) 
		{
			temp = "" + objTag.value.substring(i, i+1);
			if (valid.indexOf(temp) == "-1") 
			{
				alert (strCtlMsg + ' 입력란에 특수문자, 한글은 입력 불가능 합니다.');
				objTag.select();
				objTag.focus();
				return false;
				break;
			}
		}
		return true;		
	}
	
	//**********************************************************************************************
	//					특수문자 제외 처리 여부 체킹	 (태그 제거)
	//**********************************************************************************************	
	function fncChk_IsNotTag(objTag, strCtlMsg)
	{ 
		var NotValid = "<>'%/";
		var temp;
		for (var i=0; i<objTag.value.length; i++) 
		{
			temp = "" + objTag.value.substring(i, i+1);
			if (NotValid.indexOf(temp) != "-1") 
			{
				alert (strCtlMsg + ' 입력란에 다음 특수문자는 사용하실 수 없습니다   \n\n    < >  % \' /    ');
				objTag.select();
				objTag.focus();
				return false;
				break;
			}
		}
		return true;		
	}
	
		
	//**********************************************************************************************
	//					전화번호 여부 체킹							  (예 : 전화번호...)
	//**********************************************************************************************	
	function fncChk_IsTelephoneType(objTag, strCtlMsg)
	{
		var temp;
		var valid="0123456789-"
		for (var i=0; i<objTag.value.length; i++) 
		{
			temp = "" + objTag.value.substring(i, i+1);
			if (valid.indexOf(temp) == "-1") 
			{
				alert(strCtlMsg + " 입력란은 숫자와 '-' 만 입력 가능 합니다.");
				objTag.select();
				objTag.focus();
				return false;
				break;
			}
		}
		return true;
	}	
	
	function fncChk_IsEnglish(objTag, strCtlMsg)
	{
		var valid = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_ "
		var temp;
		for (var i=0; i<objTag.value.length; i++) 
		{
			temp = "" + objTag.value.substring(i, i+1);
			if (valid.indexOf(temp) == "-1") 
			{
				alert(strCtlMsg + " 입력란은 영어만 입력 가능 합니다.");
				objTag.select();
				objTag.focus();				
				return false;
				break;
			}
		}
		return true;
	}			
	//----------------------------------------------------------------------------------------------
	//					포커스 자동 이동 처리
	//----------------------------------------------------------------------------------------------
	function fncSet_AutoFocus(objTag1, objTag2, intNum)
	{
		if(objTag1.value.length >= intNum)
		{
			objTag2.focus();
		}
	}	
	
	//----------------------------------------------------------------------------------------------
	//					첨부 사진의 확장자 검색
	//----------------------------------------------------------------------------------------------	
	
	function fncChk_LimitAttach(objTag, strCtlMsg)
	{
		var file = objTag.value;
		if (file != "")
		{
			extArray = new Array(".gif", ".jpg", ".jpeg");
			
			while (file.indexOf("\\") != -1)
			file = file.slice(file.indexOf("\\") + 1);
			ext = file.slice(file.indexOf(".")).toLowerCase();
			for (var i=0; i<extArray.length; i++) 
			{
				if (extArray[i] == ext) 
				{ 	
					return true;
					break; 
				}
			}
			alert("첨부 " + strCtlMsg + " 항목은 jpg 와 gif 포맷만 가능합니다.");
			objTag.select();
			objTag.focus();		
			return false;
		}
		else
			return true;
	}
	
		
	function fncChk_LimitAttach2(objTag, strCtlMsg)
	{
		var file = objTag.value;
		if (file != "")
		{
			extArray = new Array(".html", ".htm", ".HTML", ".Html");
			
			while (file.indexOf("\\") != -1)
			file = file.slice(file.indexOf("\\") + 1);
			ext = file.slice(file.indexOf(".")).toLowerCase();
			for (var i=0; i<extArray.length; i++) 
			{
				if (extArray[i] == ext) 
				{ 	
					return true;
					break; 
				}
			}
			alert("첨부 " + strCtlMsg + " 항목은 HTML 파일만 가능합니다.");
			objTag.select();
			objTag.focus();		
			return false;
		}
		else
			return true;
	}		
	//----------------------------------------------------------------------------------------------
	//					한글 확장자 검색
	//----------------------------------------------------------------------------------------------
	function fncChk_NameChkAttach(objTag, strCtlMsg)
	{
		var valid = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.:\\_-+"
		var temp;

		var file = objTag.value;
		
		while (file.indexOf("\\") != -1)
		file = file.slice(file.indexOf("\\") + 1);

		for (var i=0; i<file.length; i++) 
		{
			temp = "" + file.substring(i, i+1);
			if (valid.indexOf(temp) == "-1") 
			{
				alert (strCtlMsg + " 항목은 오직 영문과 숫자로 조합된 파일명만 가능 합니다.");
				objTag.select();
				objTag.focus();				
				return false;
				break;
			}
		}
	
		return true;
	}
	
	//**********************************************************************************************
	//					영어 & 숫자 여부 체킹				        (예 : 아이디 , '-','_' 받지 않음)
	//**********************************************************************************************	
	function fncChk_Only_NumbernEnglish(objTag, strCtlMsg)
	{
		var valid = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
		var temp;
		
		for (var i=0; i<objTag.value.length; i++) 
		{
			temp = "" + objTag.value.substring(i, i+1);
			if (valid.indexOf(temp) == "-1") 
			{
				alert (strCtlMsg + " 입력란은 오직 영문과 숫자만 가능 합니다.");
				objTag.select();
				objTag.focus();				
				return false;
				break;
			}
		}
		return true;		
	}	
	
	//**********************************************************************************************
	//					주민번호 유효 체킹
	//**********************************************************************************************	
	function funChk_IsJuminValid(objJm1, objJm2)
	{
		var tmpString = "234567892345";
		var Jumin1 = objJm1.value;
		var Jumin2 = objJm2.value;
		var jumin = Jumin1.concat(Jumin2);
		var sum = 0;
		for(i=0; i<jumin.length-1; i++)
		{
			sum += parseInt(jumin.charAt(i))*parseInt(tmpString.charAt(i));
		}
		total = (11-(sum % 11))%10;

		if (total != parseInt(jumin.charAt(12)))
		{
			alert("맞지 않는 주민번호입니다.\n\n확인후 다시 입력하세요.");
			objJm1.select();
			objJm1.focus();
			return false;
		}	
		return true;
	}	
		
	//**********************************************************************************************
	//					이메일 유효성값체크 (오류시 false 리턴)
	//**********************************************************************************************	
	function fncChk_isValidEmail(checkString)
	{
		var newstr = "";
		var at = false;
		var dot = false;
		var ENGOnly=true;

		if (checkString.indexOf("@") !=-1) {
			at = true;
		} else if (checkString.indexOf(".") !=-1) {
			dot = true;
		}

		for (var i=0; i < checkString.length; i++) 
		{
			ch = checkString.substring(i, i + 1)
			if ((ch>="A" && ch <="Z") || (ch>="a" && ch<="z") || (ch=="@") || (ch==".") || (ch=="_") || (ch=="-") || (ch>="0" && ch<="9")) {
               		newstr += ch;
               	if (ch=="@") {
				at=true;
			}
			if (ch==".") {
				dot=true;
			}
			}else {
			ENGOnly==false;
			}
		}
		if ((at==true) && (dot==true) && (ENGOnly==true)) {
	    
			return newstr;
		}
		else {
			return false;
		}
	}				
	
	//----------------------------------------------------------------------------------------------
	//					정책보다 큰 사진의 크기를 고정시키자
	//----------------------------------------------------------------------------------------------
				
	function fncResizeImg(e, intWidth, intHeight)
	{
		if (e.width > intWidth) 
		{
			e.width = intWidth;
		}
		if (e.height > intHeight)
		{
			e.height = intHeight;
		}
	}

	//----------------------------------------------------------------------------------------------
	//					두개의 숫자값 비교하기
	//						objSign  N : 마감일이 무조건 커야만 하는경우.
	//								 Y : 마감일이 시작일과 같아도 무관함.
	//----------------------------------------------------------------------------------------------	
	
	function funChk_IsCompare(objTag1, objSign, objTag2, strCtlMsg)
	{
		var tag1 = eval(objTag1.value);
		var tag2 = eval(objTag2.value);
		
		if (tag1 >= tag2)
		{
			alert(strCtlMsg);
			return false;
		}	
		return true;
	}
	
	//----------------------------------------------------------------------------------------------		
	// BLINK 태그
	//----------------------------------------------------------------------------------------------		
	
	function doBlink() {
		var blink = document.all.tags("BLINK")
		for (var i=0; i<blink.length; i++)
		blink[i].style.visibility = blink[i].style.visibility == "" ? "hidden" : "" 
	}

	function startBlink() {
		if (document.all)
			setInterval("doBlink()",600)
	}
 
	//----------------------------------------------------------------------------------------------		
	// 공백 제거
	//----------------------------------------------------------------------------------------------		
	
	function trim(str)
	{	 
		var reg = /\s+/g; 
		return str.replace(reg,'');
	}
	
		
	//**********************************************************************************************
	//					색상표 팝업(버튼색상 표시폼, 색상명 입력폼)
	//**********************************************************************************************	
	/*
	<button type="button" onClick="fncColorPallet(bgColorDisplay, frmTable.bgColor);">
		<table id="bgColorDisplay" class="colorDisplay" width="30" border="0" cellpadding="0" cellspacing="0">
		<tr height="10">
			<td></td>
		</tr>
		</table>
		선택...
	</button>
	*/
	var sInitColor = null;
	function callColorDlgNGetColor(){
		if (sInitColor == null) {
			var sColor = document.all.dlgHelper.ChooseColorDlg();
		} else {
			var sColor = document.all.dlgHelper.ChooseColorDlg(sInitColor);
		}
		sColor = sColor.toString(16);
		if (sColor.length < 6) {
			var sTempString = "000000".substring(0,6-sColor.length);
			sColor = sTempString.concat(sColor);
		}
		sInitColor = sColor;
		return sColor;
	} 
	
	function fncColorPallet(colorDisplay, inputTextBox)
	{
		var selColor = callColorDlgNGetColor();
		colorDisplay.style.backgroundColor = selColor;
		inputTextBox.value = selColor;
	}	
	
	