﻿/********************************************************
 filename : mcpValidator.js
 author : rian-susukang
 create : 2006.10.31
*********************************************************/
String.prototype.trim = function() {
    return this.replace(/(^\s*)|(\s*$)/gi, "");
}
// ID Key Code Filter
	function inputIdFilter(obj)
	{
		if (event.keyCode == 13)
			return;
		if (((event.keyCode<48 || event.keyCode>57) && (event.keyCode<97 || event.keyCode>122) && (event.keyCode<65 || event.keyCode>90))) {
			 obj.focus();
			 event.returnValue=false;
		}
	}
	
	function inputContentFilter(obj)
	{
	    //var specialChars="#$%^&*()_+-={}[];':\",.<>/?";
	    var specialChars="'\"<>";
	    var keycode=String.fromCharCode(event.keyCode);
		
        if (specialChars.indexOf(keycode) != -1) {
			obj.focus();
			event.returnValue=false;
			alert('허용되지 않은 특수문자입니다.');
	    }
	}
	
	function inputAddressFilter(obj)
	{		
	    var specialChars="~`!@#$%^&*()_+={}[];':\",<>/?";
	    var keycode=String.fromCharCode(event.keyCode);
		
        if (specialChars.indexOf(keycode) != -1) {
			obj.focus();
			event.returnValue=false;
			alert('허용되지 않은 특수문자입니다.');
	    }
	}
	
	function inputMailFilter(obj)
	{		
	    var specialChars="~`!#$%^&*()+={}[];':\",<>/?";
	    var keycode=String.fromCharCode(event.keyCode);
		
        if (specialChars.indexOf(keycode) != -1) {
			obj.focus();
			event.returnValue=false;
			alert('허용되지 않은 특수문자입니다.');
	    }
	}
	
	function checkEmail(email) { 
	    var regExp = /[a-z0-9]{1,}@[a-z0-9-]{2,}.[a-z0-9]{2,}/i; 
	    
	    if(regExp.test(email))
	    	return true; 
	    else 
	    	return false; 
	}

	// Key Code Finder
	function keyCodeFinder()
	{
	   var ls_html = "";
	   var lo_win;
	
	   ls_html = ls_html + "<html>\n";
	   ls_html = ls_html + "<head>\n";
	   ls_html = ls_html + "<title>Press Any Key</title>\n";
	   ls_html = ls_html + "</head>\n";
	   ls_html = ls_html + "<body onkeydown=\"alert('The keyCode is ' + window.event.keyCode)\" style=\"font-family: verdana; font-size: 12px; background-color: buttonface; border: 0; color: buttontext; text-align: center;\" scroll=\"no\">\n";
	   ls_html = ls_html + "Press Any Key\n";
	   ls_html = ls_html + "</body>\n";
	   ls_html = ls_html + "<script>\n";
	   ls_html = ls_html + "window.resizeTo(200,100);\n";
	   ls_html = ls_html + "<\/script>\n";
	   ls_html = ls_html + "</html>\n";
	
	   lo_win = window.open("","win_keycode","width=200,height=100");
	
	   lo_win.document.write(ls_html);
	}

	// Disable Key Filter
	function delBackSpaceDisable(){
		var li_del_key = 46;       // delete?? KeyCode ?
		var li_backspace_key = 8;  // backspace?? KeyCode ?
   		if(event.keyCode==li_del_key || event.keyCode==li_backspace_key){
			event.returnValue = false;
		}
	}
	
// onkeypress Input Field Filter

	// Input Field Filter[sidInputFilter]
	function sidInputFilter(obj){
		 var sid = obj.value;
		 
		if(event.keyCode ==13) event.returnValue=false;
		
		if((event.keyCode<48) || (event.keyCode>57)) {
			 obj.focus();
			 event.returnValue=false;
		 }
		 if(sid.length==6) obj.value = obj.value+'-';	 
	}
	
	// Input Field Filter[numberInputFilterWithMinus]
	function numberInputFilterWithMinus(obj){
		if(event.keyCode ==13) return; 
		if((event.keyCode!=45)&&((event.keyCode<48) || (event.keyCode>57))) {
			 obj.focus();
			 event.returnValue=false;
		}
	}
	
	// Input Field Filter[numberInputFilter]
	function numberInputFilter(obj){
		if ((event.keyCode<48) || (event.keyCode>57)) {
			 obj.focus();
			 event.returnValue=false;
		}
	}
	
	// Input Field Filter[koreanWordInputFilter]
	function koreanWordInputFilter(obj){
		 if((event.keyCode < 12592) || (event.keyCode > 12687)){
			 obj.focus();
			 event.returnValue = false;
		 }
	}
	
	// Input Field Filter[koreanWordInputFilter]
	function koreanNumberInputFilter(obj){
		 if( ((event.keyCode < 12592) || (event.keyCode > 12687)) && ((event.keyCode<48) || (event.keyCode>57)) ) {
		 	obj.focus();
			event.returnValue = false;
		 }
	}
		
	//Input Field Filter[without ETC character filter]
	function withoutEtcChar(){

		if( event.keyCode=="34" ||  // " 
			event.keyCode=="94" 	// ^
			) event.returnValue = false;
    }

//Trim

	function minusTrim(str){
		return str.replace(/(-)/,"");
	}

 	//onblur Field Validator[HandPhone ]
	function handPhone(obj) {
		objs = obj.split( '-' );

		if( objs.length == 1 || objs.length == 3 )
		{
			if( objs.length == 3 )
				obj = objs[ 0 ] + '' + objs[ 1 ] + '' + objs[ 2 ];

			var reg = new RegExp("[0-9]");
			for(var i = 0 ; i < obj.length ; i++) {
				if(!reg.test(obj.charAt(i))) {
					return false;
				}
			}
		}
		else
		{
			return false;
		}

		return true;
	}
	
	// emwp Pwd Check
	function isGoodPwd(obj){
		var chkPwd = /^[a-z0-9_]{3,20}/;
		
		if(chkPwd.test(obj.value)){
			return false;
		}else{
			return true;
		}
	}
	
	function contents_filter(contents) {
		var reg1 = /((\d{6})([\-|\s]))+([1|2]\d{6})/
		var reg2 = /((\(?([0]\d{1,2})\)?)([\-|\s]))*((\d{3,4})([\-|\s]))+(\d{4})/
		
		if (contents.match(reg1) != null || contents.match(reg2) != null) {
			return false;
		}
		
		return true;
	}
	
	function copy_clipboard(obj) {
		if (!document.all) return;
        var index = obj;
        if (index.value=='') { 
        	document.body.focus(); 
        	return; 
        }
        
        index.select();
        var clip = index.createTextRange();
        clip.execCommand('copy');
    }
    
	//------------------------------------------------------------------------------
	// 함수명 : check_byte
	// 설명   : 글자수 제한
	//------------------------------------------------------------------------------
	function check_byte(_obj, _maxlength) {
		var ls_str = _obj.value; 
		var li_str_len = ls_str.length; 
		var li_max = _maxlength; 
		var i = 0; 
		var li_byte = 0; 
		var li_len = 0; 
		var ls_one_char = ""; 
		var ls_str2 = ""; 
		
		for(i=0; i<li_str_len; i++) {
			ls_one_char = ls_str.charAt(i); 
			if (escape(ls_one_char).length > 4) {
				li_byte += 2; 
			} else  { 
				li_byte++;
			} 
			
			if(li_byte <= li_max) { 
				li_len = i + 1; 
			} 
		} 
		
		if(li_byte > li_max) {
			alert( li_max + " 글자이내로 입력해주세요."); 
			ls_str2 = ls_str.substr(0, li_len); 
			_obj.value = ls_str2;
		} 
	}