﻿// JScript 파일

// <INPUT> 항목에서 엔터키를 누를 경우 지정된 함수 호출.
// <INPUT onkeypress="fnEnter2Func( 'document.all.ibtnSearch.click();">
function fnEnter2Func(strFunc, e)
{
    var code = "";
    
    if(window.event) // IE
    {
        code = window.event.keyCode;
    }
    else if(e.which) // Netscape/Firefox/Opera
    {
        code = e.which;
    }

	if (code==13)
	{
	    if(window.event) // IE
		    event.returnValue = false;
		else if(e.which) // Netscape/Firefox/Opera
		    e.preventDefault();

		var callFunc = new Function ( "", strFunc );
		callFunc();
	}
}

//==========사용자 입력값 유효성검사<시작>==========================================================================================
/*
함수 checkData()
	-폼데이터를 서브밋하기 전에 데이터 적합성 체크
	-입력 패러미터
		ObjName		:컨트롤 개체(txtTitle...)
		DataType	:문자열/숫자 구분.문자열이면 "S",숫자면 "N"(String/Number)
					 문자열이면 최대길이체크,숫자면 숫자여부체크
		IsEssential	:필수여부.필수입력사항이면 "Y",아니면 "N"
					 "Y"면서 값을 입력하지 않으면 return false
		MaxLen		:문자열일경우 최대길이(100을 지정하면 한글50자,영문100자)
					 입력값이 최대길이를 초과하면 return false
		msg			:사용자에게 보여주는 메시지에서 사용할 항목 이름
	-사용예

		<script language="javascript">
		function checkForm(){
			if(!checkData(document.all.TextBox1,'S','Y','10','제목')) return false;
			if(!checkData(document.all.TextBox2,'S','N','20','비고')) return false;
			if(!checkData(document.all.TextBox3,'N','Y','','가격')) return false;
			return true;
		}
		</script>
					
*/
function checkData(obj,DataType,IsEssential,MaxLen,msg){	
   	if(!obj){    		
   		alert("잘못된 객체입니다 - "+msg);
   		return false;
   	}
   	  
   	var sVal=GetObjValue(obj,"1");
	//alert(obj.name+"//"+obj.type+"//"+obj.length+"//"+sVal);
   	
   	DataType=DataType.toUpperCase();
   	IsEssential=IsEssential.toUpperCase();   	
   	
   	if(IsEssential=="Y"){
   		if(!checkEssential(sVal,msg)){
   			setFocus(obj);
   			return false;
   		}
   	}
   	
   	if(DataType=="S"){
   		if(MaxLen){
   			if(!checkMaxLen(sVal,MaxLen,msg)){
   				setFocus(obj);
   				return false;
   			}
   		}
   	}
   	
   	if(DataType=="N"){   		
   		if(!checkNumeric(sVal,msg)){
   			setFocus(obj);
   			return false;
   		}   		
   	}
   
   	return true;
}

function checkDatas(obj,DataType,IsEssential,MaxLen, MinLen, msg){	
   	if(!obj){    		
   		alert("잘못된 객체입니다 - "+msg);
   		return false;
   	}
   	  
   	var sVal=GetObjValue(obj,"1");
	//alert(obj.name+"//"+obj.type+"//"+obj.length+"//"+sVal);
   	
   	DataType=DataType.toUpperCase();
   	IsEssential=IsEssential.toUpperCase();   	
   	
   	if(IsEssential=="Y"){
   		if(!checkEssential(sVal,msg)){
   			setFocus(obj);
   			return false;
   		}
   	}
   	
   	if(DataType=="S"){
   		if(MaxLen != null && MinLen != null){
   			if(!checkMaxLens(sVal,MaxLen, MinLen, msg)){
   				setFocus(obj);
   				return false;
   			}
   		}
   	}
   	
   	if(DataType=="N"){   		
   		if(!checkNumeric(sVal,msg)){
   			setFocus(obj);
   			return false;
   		}   		
   	}
   
   	return true;
}

//대상 object의 값얻기
//flag 1:입력값/선택값 하나만 리턴, 2:입력값/선택값 모두 리턴, 3:선택여부에관계없이 전체리턴
function GetObjValue(obj,flag){
	if(!obj){
   		//alert("잘못된 객체입니다");
   		return "";
   	}
   	
   	if(flag=="" || flag==null){flag="1"}
   	
   	var sCount=0;
	var sVal="";

   	if(obj.length==null){
   		sVal=obj.value;
	}else{
		for(var i=0;i<obj.length;i++){
			//alert(obj[i].checked+"-"+obj[i].value);
			if(flag=="0"){
				if(obj[i].checked || obj[i].selected){
					sCount++;
				}
				if(i==(obj.length-1)){
					sVal=sCount;
				}
			}
		
			if(flag=="1"){
				if(obj[i].checked || obj[i].selected){
					if(obj[i].value){
						sVal=obj[i].value;
						break;
					}
				}
			}
			if(flag=="2"){
				if(obj[i].checked || obj[i].selected){
					if(obj[i].value){
						sVal=sVal+obj[i].value+",";
					}
				}
				if(i==(obj.length-1)){
					sVal=sVal.substr(0,sVal.length-1);
				}
			}
			if(flag=="3"){
				if(obj[i].value){
					sVal=sVal+obj[i].value+",";
				}
				if(i==(obj.length-1)){
					sVal=sVal.substr(0,sVal.length-1);
				}
			}
		}
	}
	
	return sVal;
}

//값입력여부 체크
//입력값있으면 true,없으면 false
function checkEssential(str,msg){
	if(!str){
		alert(msg+'은(는) 필수입력사항입니다!');
		return false;
	}else{
		return true;	
	}
}

function checkEssentialNum(str,msg){
	if(str == null){
		alert(msg+'은(는) 필수입력사항입니다!');
		return false;
	}else{
		return true;	
	}
}

//숫자여부 체크
//숫자이면 true,아니면 false
function checkNumeric(str,msg){
	str=removeComma(str);
	if(isNaN(str)){
		alert(msg+'에는 숫자만 입력할 수 있습니다!');
		return false;
	}else{
		return true;	
	}
}

//최대길이 체크
//입력값이 최대길이를 초과하면 false
function checkMaxLen(str,MaxLen,msg){
	if(parseInt(getLength(str))>parseInt(MaxLen)){
		alert("["+msg+"] 한글은 "+(MaxLen/2)+"자, 영문.숫자.공백은 "+MaxLen+"자를 초과할수 없습니다.");
		return false;
	}else{
		return true;	
	}
}

//최대.최소길이 체크
//입력값이 최대.최소길이를 초과하면 false
function checkMaxLens(str,MaxLen, MinLen,msg){
	if(parseInt(getLength(str)) > parseInt(MaxLen) || parseInt(getLength(str)) < parseInt(MinLen)){
		alert("["+msg+"] 한글은 " + (MinLen/2) + "자 이상 ~ " + (MaxLen/2) + "자 이하\n영문.숫자.공백은 " + (MinLen/2) + "자 이상 " + (MaxLen/2) + "자 이하로 입력해 주세요.");
		return false;
	}else{
		return true;	
	}
}

//문자열길이 구하기(한글은 2자리로 계산)
function getLength(str){
	if(str==""){return 0;}
	
	var len=0;	
	
   	for(var i=0;i<str.length;i++){
     	var chr=str.charCodeAt(i);
     	
		if(chr>0 && chr<255){
			len=len+1;
		}else{
			len=len+2;
		}
   }
   
   return len;
}

//컨트롤에 포커스주기
function setFocus(obj){
	if(!obj){return;}
	if(obj.disabled==true){return;}
	if(obj.type=="hidden"){return;}

	if(obj.length!=null){
		obj[0].focus();
	}else{
		obj.focus();
	}
}
function removeComma(psstr){
    var txt = psstr;
    for(i=0;i<txt.length;i++) {
		txt = txt.replace(/,/,"");
	}
    return txt;
}
function setComma(psstr) {
  str = new String(psstr);
  this.str = str;
  len = str.length;
  str1 = "";

  for(i=1; i<=len; i++) {
   str1 = str.charAt(len-i)+str1;
   if((i%3 == 0)&&(len-i != 0)) str1 = ","+str1;
  }
  return str1;
}
function intMoney(str){
    var txt = psstr;
    for(i=0;i<txt.length;i++) {
		txt = txt.replace(/,/,"");
	}
    return parseInt(txt);
}
function checkDataG(Data,DataType,IsEssential,MaxLen,msg){
    if(Data == null){
        Data = "";
    }
   	DataType=DataType.toUpperCase();
   	IsEssential=IsEssential.toUpperCase();   	
   	if(DataType=="S"){
   		if(MaxLen){
   			if(!checkMaxLen(Data,MaxLen,msg)){
   				return false;
   			}
   		}
   		if(IsEssential=="Y"){
   		    if(!checkEssential(Data,msg)){
   			    return false;
   		    }
   	    }
   	}
   	if(DataType=="N"){   	
   		if(!checkNumeric(Data,msg)){
   			return false;
   		}
   		if(IsEssential=="Y"){
   		    if(!checkEssentialNum(Data,msg)){
   			    return false;
   		    }
   	    }
   	}
   	return true;
}

function checkDataGs(Data,DataType,IsEssential,MaxLen, MinLen, msg){	
    if(Data == null){
        Data = "";
    }
   	DataType=DataType.toUpperCase();
   	IsEssential=IsEssential.toUpperCase();   	
   	
   	if(DataType=="S"){
   		if(MaxLen != null && MinLen != null){
   			if(!checkMaxLens(Data,MaxLen, MinLen, msg)){
   				return false;
   			}
   		}
   		if(IsEssential=="Y"){
   		    if(!checkEssential(Data,msg)){
   			    return false;
   		    }
   	    }
   	}
   	if(DataType=="N"){   		
   		if(!checkNumeric(Data,msg)){
   			return false;
   		}
   		if(IsEssential=="Y"){
   		    if(!checkEssentialNum(Data,msg)){
   			    return false;
   		    }
   	    }
   	}
   	return true;
}

//onlyEnglish Check :  영문소문자,숫자,_
function EngStringChk(psid){
    if(psid==""){return 0;}
    var len = psid.length;
	for (i=0; i <= len -1 ; i++){
	    var chr=psid.charCodeAt(i);
	    if(!(chr>0 && chr<255)){
			return false;
	    }   
    }
	return true;
}


////id type Check :  영문소문자,숫자,_
//function IDTypeChk(str){
//    if(str=="" || str == null){
//        alert("ID를 입력해주세요");
//        return false;
//    }
//    var len = str.length;
//    if(len < 4 || len > 30){
//        alert("ID는 4자 이상 30자 이하 영문소문자,숫자, 특수기호만 입력가능합니다.");
//        return false;
//    }
//	for (i=0; i <= len -1 ; i++){
//	    var chr=str.charCodeAt(i);
//	    if(!(chr>0 && chr<255) && (chr >= 65 && chr <= 90)){
//			alert("ID는 영문소문자,숫자, 특수기호만 입력가능합니다.");
//			return false;
//	    }   
//    }
//	return true;
//}

////pwd type Check :  영문소문자,숫자,_
//function PwdTypeChk(str){
//    if(str=="" || str == null){
//        alert("비밀번호를 입력해주세요");
//        return false;
//    }
//    var len = str.length;
//    if(len < 6 || len > 30){
//        alert("비밀번호는 6자 이상 30자 이하 영문,숫자, 특수기호만 입력가능합니다.");
//        return false;
//    }
//	for (i=0; i <= len -1 ; i++){
//	    var chr=str.charCodeAt(i);
//	    if(!(chr>0 && chr<255)){
//			alert("비밀번호는 영문,숫자, 특수기호만 입력가능합니다.");
//			return false;
//	    }
//    }
//	return true;
//}

//==========사용자 입력값 유효성검사<끝>==========================================================================================


// layer display
function DisplayLayer(pslayerid)
{
    div  = document.getElementById( pslayerid );
    div_layer = div.style.display;
    if ( div_layer == 'none' ){
        div.style.display = 'block';
    }else{
        div.style.display = 'none';
    }
}

function winclose(){
    window.close();
}

// mail form check
function chkMailForm(sVal){
    var mailexp = /[a-z0-9]{2,}@[a-z0-9-]{2,}\.[a-z0-9]{2,}/i;
    if(!mailexp.test(sVal)){
        return false;
    }else{
        return true;
    }
}

// tel form check
function chkTelForm(sVal){
    var telexp = /^\d{2,3}-\d{3,4}-\d{4}$/;
    if(!telexp.test(sVal)){
        return false;
    }else{
        return true;
    }
}

//document.onkeypress=function(e)
function chkKeyPress(e){
    var result="";

    if(typeof(e) != "undefined"){
        result=e.which;
    }else{
        result=event.keyCode;
    }
    return result;
}


