﻿// 공통부분

var speExp = /[#=_\+\-\*\"\'\~\!\@\#\$\%\^\&\*\(\)\`\,\.\/\:\"\;\'\|\<\>\?\\]/;
var speExp2 = /[#=_\+\*\"\'\~\!\@\#\$\%\^\&\*\(\)\`\,\/\:\"\;\'\|\<\>\?\\]/;
var speExp3 = /[#=+\"\'\~\#\$\%\^\&\`\/\"\;\'\|\?\\]/;

	function checkStrLen(inputText, MaxLen)
	{
			var i, len=0;
			for(i=0 ; i < inputText.length ; i++) (inputText.charCodeAt(i) > 255)? len+=2:len++;
			if (MaxLen < len)
					return false;
			else
					return true;
	}

	function checkStrLen1(inputText, MaxLen)
	{
			var i, len=0;
			for(i=0 ; i < inputText.length ; i++) (inputText.charCodeAt(i) > 255)? len+=2:len++;
			if (MaxLen > len)
					return false;
			else
					return true;
	}

	function check2ByteChar(inputText)
	{
		var i, len = 0;
		for(i=0 ; i < inputText.length ; i++) {
			if (inputText.charCodeAt(i) > 255)
			{
				return false;
			}
		}
		return true;
	}

	/**
	* InputOnlyNum(obj) : 폼객체에 숫자만 입력하게 만든다.
	* 사용법 : style="ime-mode:disabled" onKeypress="InputOnlyNum(this);" 을 폼객체에 붙인다.
	*
	**/

	function InputOnlyNum(obj)
	{
		var keyCode = event.keyCode ? event.keyCode : 
		event.which ? event.which : event.charCode;
		if (keyCode!=13)
		{
			if((keyCode>47 && keyCode<58))
			{
				event.returnValue = true;
			}
			else 
			{
				event.returnValue = false;
			}
		}	
	}

	/**
	* isAllSpeCharCheck(obj) : 특수문제의 입력여부를 판별한다.
	* 사용법 : if(!isSpecialCharCheck(f.title)) return false;
	*
	**/
	function isAllSpeCharCheck(obj) {
		var strPass = obj.value;

		if(strPass.search(speExp3) == -1)
		{
			return true;
		}
		else
		{
			return false;
		}
	}

	/**
	* replaceString(sText, str1, str2) : str1문자를 str2문자로 치환탄다.
	* 사용법 : texts.value = replaceString(texts, 'A', 'B');
	*
	**/

	function replaceString(sText, str1, str2)
	{
		var isFind, ieFind, sTextLength;
		var replacedStr;
		if(sText.indexOf(str1) >=0 )
		{
			isFind = sText.indexOf(str1);
			ieFind = sText.lastIndexOf(str1);
			sTextLength = str1.length ;
			ieFind = (isFind + sTextLength);
			replacedStr = sText.substring(0, isFind) + str2 + sText.substring(ieFind);
		}
		else
		{
			return sText;
		}

		return replacedStr;
	}

	function ltrim(para)
	{
		while(para.substring(0,1) == ' ')
			para = para.substring(1, para.length);
		return para;
	}
	function mtrim(para)
	{
		for ( var i = 0; i < para.length;)
			if ( para.substring(i,i+1) == ' ' )
				para = para.substring(0, i) + para.substring(i+1, para.length);
			else
				i++;
		return para;
	}

	function rtrim(para)
	{
		while(para.substring(para.length-1, para.length) == ' ')
			para = para.substring(0, para.length-1);
		return para;
	}
    //공백 체크
    function trim(str)
    {
       return str.replace(/(^\s+)|(\s+)$/,"");
    }

    function isEng(str)				//영문체크
    { 
	    for(var i=0;i<str.length;i++)
	    { 
		    achar = str.charCodeAt(i); 
		    if( achar > 128 )
		    { 
			    return false; 
		    } 
	    } 
	    return true; 
    } 	
    function checkNumber(str)		//특수문자 체크	
    { 
       var num ="`'~!@#$%^&*()<>{}[]:,.+-*/\|\\;="; 

       for (var i=0;i<str.length;i++) 
      { 
         if(-1 != num.indexOf(str.charAt(i))) 
            return false; 
      } 
	    return true;
    }	
    
  //  /**
//	* input field 사이즈 체크
//	* 사용법 : <input name="title" type="text" style="ime-mode:disabled" onKeypress="InputOnlyNum(this);" onKeyUp="return chkFieldSize_onkeyup(document.form.title,'제목',50)">
//	**/
	function chkFieldSize_onkeyup(inputField,title,maxLen)
	{
		var tmpStr;
		var temp=0;
		var onechar;
		var tcount;
		tcount = 0;
		tmpStr = new String(inputField.value);
		temp = tmpStr.length;
		for (k=0;k<temp;k++)
		{
			onechar = tmpStr.charAt(k);
			if (escape(onechar) =='%0D') { } else if (escape(onechar).length > 4) { tcount += 2; } else { tcount++; }
		}
		if(tcount>maxLen) {
			reserve = tcount-maxLen;
			alert(title+" 은(는) 한글기준" + maxLen/2 + "자(영문" + maxLen + "자)를 초과할 수 없습니다.\r\n초과된 부분은 자동으로 삭제됩니다.");
			cutText(inputField,maxLen);
			return;
		}
	}

	function cutText(inputField,maxLen)
	{
		var tmpStr;
		var temp=0;
		var onechar;
		var tcount;
		tcount = 0;

		tmpStr = new String(inputField.value);
		temp = tmpStr.length;

		for(k=0;k<temp;k++)
		{
			onechar = tmpStr.charAt(k);

			if(escape(onechar).length > 4) {
				tcount += 2;
			} else {
				if(escape(onechar)=='%0A') {
				} else {
				tcount++;
				}
			}

			if(tcount>maxLen) {
				tmpStr = tmpStr.substring(0,k);
				break;
			}
		}
		inputField.value = tmpStr;
		//cal_byte(tmpStr);
	}

	function trim(para)
	{
		return ltrim(rtrim(para));
	}
	function ltrim(para)
	{
		while(para.substring(0,1) == ' ')
			para = para.substring(1, para.length);
		return para;
	}
	function mtrim(para)
	{
		for ( var i = 0; i < para.length;)
			if ( para.substring(i,i+1) == ' ' )
				para = para.substring(0, i) + para.substring(i+1, para.length);
			else
				i++;
		return para;
	}

	function rtrim(para)
	{
		while(para.substring(para.length-1, para.length) == ' ')
			para = para.substring(0, para.length-1);
		return para;
	}
	
    function checkField_Kor( input, minLen, maxLen, name )
    {
	    var i, len=0;
        
	    input.value = ltrim(rtrim(input.value));
	    for(i=0 ; i < input.value.length ; i++){
	        len++;
	    }
        if( len >= minLen && len <= maxLen ) 
        {
	        return true;
        }
        else if(len < minLen)
        {
	        if( minLen == 1 || len == 0 ){
		        alert( name + " 을(를) 입력해주세요." );
	        }
	        else if( minLen == maxLen ) 
		        alert( name + " 은(는) " + minLen + "자로 입력해주세요." );
	        else 
		        alert( name + " 은(는) " + minLen + "자 이상 입력해주세요." );
	            input.focus();
	            return false;
        }
        else if( len > maxLen )
        {
	        alert( name + " 은(는) 한글기준" + maxLen/2 + "자(영문" + maxLen + "자)를 초과할 수 없습니다."  );
	        input.focus();
	        return false;
        }
        
    }