	function trim(str) {
		return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
	}

	function on_lock(id){
		document.getElementById(id).disabled = true;
	}

	function on_unlock(id){
		document.getElementById(id).disabled = false;
	}

	function ismaxlength(obj){
		var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : "";
		if (obj.getAttribute && obj.value.length>mlength){
			obj.value=obj.value.substring(0,mlength);
		}
	}

	function ismaxlength2(id){
		var msg = document.getElementById(id).value;
		if(msg.length>23){
			document.getElementById(id).value =	msg.substring(0,23);
		}
	}

	function isNum(str){
		var findStr = str.match(/[0-9]+/);
		if ( str == findStr )
			return true;
		else
			return false;
	}

	function isNum2(obj){

		var i;
		var ch;
		for(i=0; i<obj.value.length; i++){
			ch = obj.value.charAt(i);
			if(!((ch >= '0') && (ch <= '9'))){
				alert("기호 없이 숫자만 입력해주세요.");
				obj.value="";
				obj.focus();
				return false;
			}
		}
		return true;

	}

	var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
	function encode64(input) {
	   var output = "";
	   var chr1, chr2, chr3;
	   var enc1, enc2, enc3, enc4;
	   var i = 0;
	   do {
	      chr1 = input.charCodeAt(i++);
	      chr2 = input.charCodeAt(i++);
	      chr3 = input.charCodeAt(i++);
	      enc1 = chr1 >> 2;
	      enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
	      enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
	      enc4 = chr3 & 63;
	      if (isNaN(chr2)) {
	         enc3 = enc4 = 64;
	      } else if (isNaN(chr3)) {
	         enc4 = 64;
	      }
	      output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) +
	         keyStr.charAt(enc3) + keyStr.charAt(enc4);
	   } while (i < input.length);

	   return output;
	}

	function decode64(input) {
	   var output = "";
	   var chr1, chr2, chr3;
	   var enc1, enc2, enc3, enc4;
	   var i = 0;
	   // remove all characters that are not A-Z, a-z, 0-9, +, /, or =
	   input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
	   do {
	      enc1 = keyStr.indexOf(input.charAt(i++));
	      enc2 = keyStr.indexOf(input.charAt(i++));
	      enc3 = keyStr.indexOf(input.charAt(i++));
	      enc4 = keyStr.indexOf(input.charAt(i++));
	      chr1 = (enc1 << 2) | (enc2 >> 4);
	      chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
	      chr3 = ((enc3 & 3) << 6) | enc4;
	      output = output + String.fromCharCode(chr1);
	      if (enc3 != 64) {
	         output = output + String.fromCharCode(chr2);
	      }
	      if (enc4 != 64) {
	         output = output + String.fromCharCode(chr3);
	      }
	   } while (i < input.length);
	   return output;
	}

	function encode64Han(str) {
	  return encode64(escape(str))
	}

	function decode64Han(str) {
	  return unescape(decode64(str))
	}

	function sleep(msecs)
	{
	    var start = new Date().getTime();
	    var cur = start;
	    while (cur - start < msecs)
	    {
	        cur = new Date().getTime();
	    }
	}

	function commify(n) {
	  var reg = /(^[+-]?\d+)(\d{3})/;   // 정규식
	  n += '';                          // 숫자를 문자열로 변환

	  while (reg.test(n))
	    n = n.replace(reg, '$1' + ',' + '$2');

	  return n;
	}

	function goPage( form, url, paramName, paramValue, method ){
		var aform = document.getElementsByName(form)[0];
		if( paramName != null && trim(paramName).length != 0) {
			var param = document.getElementsByName(paramName)[0];
			param.value = paramValue;
		}
		if( aform != null ) {
			if( url != null ) aform.action = url;
			if( method != null ) aform.method = method;
			aform.submit();
		}else {
			document.location = url;
		}
	}


	function textCounter(theField, viewId, maxChars, isType) {
		var strTemp = "";
		var strLineCounter = 0;
		var strCharCounter = 0;

		if(getByteLength($("#"+theField).val()) > maxChars) {
			alert( maxChars + "Bytes 이상 입력하실 수 없습니다!");
			if(isType == 'textarea'){
				$("#"+theField).html( getCheckByteString( $("#"+theField).val(), maxChars) );
			}
			else {
				$("#"+theField).val( getCheckByteString( $("#"+theField).val(), maxChars) );
			}
			$("#"+viewId).html(maxChars+"/"+maxChars+"(Bytes)");
			return;
		}
		$("#"+viewId).html(getByteLength(getCheckByteString( $("#"+theField).val(), maxChars))+"/"+maxChars+"(Bytes)");
	}

	function textCounter2(theField, viewId, maxChars, isType) {
		var strTemp = "";
		var strLineCounter = 0;
		var strCharCounter = 0;

		if(getByteLength($("#"+theField).val()) > maxChars) {
			alert( "한글 " + maxChars/2 + "자 영문 " + maxChars + "자 까지만 등록 가능합니다.");
			if(isType == 'textarea'){
				$("#"+theField).html( getCheckByteString( $("#"+theField).val(), maxChars) );
			}
			else {
				$("#"+theField).val( getCheckByteString( $("#"+theField).val(), maxChars) );
			}
			$("#"+viewId).html(maxChars+"/"+maxChars+"(Bytes)");
			return;
		}
		$("#"+viewId).html(getByteLength(getCheckByteString( $("#"+theField).val(), maxChars))+"/"+maxChars+"(Bytes)");
	}

	function textCounter3(theField, viewId, maxChars, isType) {
		var strTemp = "";
		var strLineCounter = 0;
		var strCharCounter = 0;

		if(getByteLength($("#"+theField).val()) > maxChars) {
			alert( "영문 " + maxChars + "자, 숫자" + maxChars + "자, 한글" + maxChars/2 + "자 를 초과하여 입력할 수 없습니다.");
			if(isType == 'textarea'){
				$("#"+theField).html( getCheckByteString( $("#"+theField).val(), maxChars) );
			}
			else {
				$("#"+theField).val( getCheckByteString( $("#"+theField).val(), maxChars) );
			}
			$("#"+viewId).html(maxChars+"/"+maxChars+"(Bytes)");
			return;
		}
		$("#"+viewId).html(getByteLength(getCheckByteString( $("#"+theField).val(), maxChars))+"/"+maxChars+"(Bytes)");
	}

	function textChk(theField, viewId, maxChars, isType) {
		var strTemp = "";
		var strLineCounter = 0;
		var strCharCounter = 0;

		if(getByteLength($("#"+theField).val()) > maxChars) {
			alert(maxChars/2 + "자를 초과하여 입력 할 수 없습니다.");
			if(isType == 'textarea'){
				$("#"+theField).html( getCheckByteString( $("#"+theField).val(), maxChars) );
			}
			else {
				$("#"+theField).val( getCheckByteString( $("#"+theField).val(), maxChars) );
			}
			$("#"+viewId).html(maxChars+"/"+maxChars+"(Bytes)");
			return;
		}
		$("#"+viewId).html(getByteLength(getCheckByteString( $("#"+theField).val(), maxChars))+"/"+maxChars+"(Bytes)");
	}

	function getByteLength(input) {
		var byteLength = 0;
		for (var inx = 0; inx < input.length; inx++) {
			var oneChar = escape(input.charAt(inx));
			if ( oneChar.length == 1 ) {
				byteLength ++;
			} else if (oneChar.indexOf("%u") != -1) {
				//byteLength += 2;
				byteLength += 2;
			} else if (oneChar.indexOf("%") != -1) {
				byteLength += oneChar.length/3;
			}
		}
		return byteLength;
	}


	function getCheckByteString(textValue, maxValue){
		 	//textValue	 이벤트가 일어난 컨트롤의 value 값
		 	ls_str = textValue;
		 	ari_max = maxValue;
		    var li_str_len = ls_str.length;  // 전체길이

		    // 변수초기화
		    var li_max      = ari_max; // 제한할 글자수 크기
		    var i           = 0;  // for문에 사용
		    var li_byte     = 0;  // 한글일경우는 2 그밗에는 1을 더함
		    var li_len      = 0;  // substring하기 위해서 사용
		    var ls_one_char = ""; // 한글자씩 검사한다
		    var ls_str2     = ""; // 글자수를 초과하면 제한할수 글자전까지만 보여준다.

		    for(i=0; i< li_str_len; i++)
		    {
		        // 한글자추출
		        ls_one_char = ls_str.charAt(i);

		        // 한글이면 2를 더한다. ( 2를 더하면 에러남
		        if (escape(ls_one_char).length > 4){
		            //li_byte += 2;
		        	li_byte += 2;
		        } else {       // 그밖의 경우는 1을 더한다.
		            li_byte++;
		        }

		        // 전체 크기가 li_max를 넘지않으면
		        if(li_byte <= li_max) {
		            li_len = i + 1;
		        }
		    }
		    if(li_byte > li_max) {
		    	textValue =  ls_str.substr(0, li_len) ;
		    }
		    return textValue;
	}



 //금칙어 체크
 //restrictVal : 금칙어리스트
 //orgVal : 검사할 텍스트
function check_restrict(restrictVal, orgVal) {
	var strTxt = orgVal.toUpperCase();
	var str = restrictVal; //금칙어정보를 담은 hidden 필드를 지정
	if (  strTxt.match ( "%" ) ) { // ajax 또는 기타  문제로 등록 안됨
		alert( "%문자는 등록하실수 없습니다.");
		return false;
	}

	if (!check_xss_csrf(strTxt)) return false;

	if(str != "") {
		var txt = "";
		var objStrip = new RegExp();
		var objStrip01 = /\</gi;
		var objStrip02 = /\>/gi;
		txt = str.replace(objStrip01,"&lt;");
		txt = txt.replace(objStrip02,"&gt;");
		objStrip = /str/gi;
		if(strTxt.match(String(objStrip).toUpperCase()) != null || strTxt.match(txt.toUpperCase()) != null) {
			alertStr = "";
			if ( strTxt.match(String(objStrip).toUpperCase()) != null ) {
				alertStr = strTxt.match(String(objStrip).toUpperCase());
			} else {
				alertStr = strTxt.match(txt.toUpperCase());
				alert(txt +"은(는) 사용하실 수 없는 단어입니다.");
			}
			alert(alertStr +"은(는) 사용하실 수 없는 단어입니다.");
			return false;
		}else{
			return true;
		}
	} else {
		return true;
	}
}
// 보안 관련 금칙어
function check_xss_csrf(inputText){
	// 금칙어 적용
	var swear_words_arr = new Array("<",">", "(" ,")"  ,"#"  ,"&","&lt;" ,"&gt;" ,"&#40;" ,"&#41;" ,"&#35;"  ,"&#38;" );
	var awdrgy = 0;
	while (awdrgy <= swear_words_arr.length - 1) {
	    if (inputText.indexOf(swear_words_arr[awdrgy]) > -1) {
	        alert(swear_words_arr[awdrgy] + " 문자는 등록하실수 없습니다.!");
	        return false;
	    }
	    awdrgy++;
	}
	return true;

}

//보안 관련 금칙어
function check_xss_csrf01(inputText){
	// 금칙어 적용
	var swear_words_arr = new Array("<",">", "(" ,")"  ,"#"  ,"&","&lt;" ,"&gt;" ,"&#40;" ,"&#41;" ,"&#35;"  ,"&#38;" );
	var awdrgy = 0;
	while (awdrgy <= swear_words_arr.length - 1) {
	    if (inputText.indexOf(swear_words_arr[awdrgy]) > -1) {
	        alert("<,>,(,),#,& 문자는 등록하실수 없습니다.!");
	        return false;
	    }
	    awdrgy++;
	}
	return true;

}
function check_xss_csrf02(str,form){	
	
	var specialChars='<>()#&';
	var i, j;		
	
	if(str.indexOf('\'') != -1){
		alert("<,>,(,),#,&,\', \"  문자는 등록하실수 없습니다.!");		
		return;	
	}
	
	if(str.indexOf('\"') != -1){
		alert("<,>,(,),#,&,\', \"  문자는 등록하실수 없습니다.!");		
		return;
	} 
	
	for (i = 0; i < str.length; i++) {
		for (j = 0; j < specialChars.length; j++) {
			if (str.charAt(i) == specialChars.charAt(j)){				 
				 alert("<,>,(,),#,&,\', \" 문자는 등록하실수 없습니다.!");
				 str = str.replace(str.charAt(i), "");
				 form.value = str;
				 return;
			}				
		}
	} 
}

function check_xss_csrf03(e,str,form){
	var code = (document.all) ? event.keyCode:e.which; 
	var ctrl = (document.all) ? event.ctrlKey:e.modifiers & Event.CONTROL_MASK;
	var msg = "Ctrl + V키를 금지합니다 "; 
	if (document.all) {
		if (ctrl && code==86)   { //CTRL+V
			//alert(msg);   
			window.event.returnValue = false;
		}else{
			 check_xss_csrf02(str,form)
		}
	}
}

/* 땡큐메세지 */
function OnLayer(id) {
	document.getElementById(id).style.display = "block";
	return false;
}

function OffLayer(id) {
	document.getElementById(id).style.display = "none"
	return false;
}

/* 기념일 말풍선 */
function OnDate(id) {
	document.getElementById(id).style.display = "block";
	return false;
}

function OffDate(id) {
	document.getElementById(id).style.display = "none"
	return false;
}

/* 트위터 */
function Onlayer03(id) {
	document.getElementById(id).style.display = "block";
	return false;
}

function Offlayer03(id) {
	document.getElementById(id).style.display = "none";
	return false;
}

function popupAutoResize() {
 	var thisX = parseInt(document.body.scrollWidth);
    var thisY = parseInt(document.body.scrollHeight);
    var maxThisX = screen.width - 50 ;
    var maxThisY = screen.height - 200;

    var marginY = 0;
    if (navigator.userAgent.indexOf("MSIE 6") > 0) marginY = 45;        // IE 6.x
    else if(navigator.userAgent.indexOf("MSIE 7") > 0) marginY = 76;    // IE 7.x
    else if(navigator.userAgent.indexOf("MSIE 8") > 0) marginY = 80;    // IE 8.x
    else if(navigator.userAgent.indexOf("Firefox") > 0) marginY = 86;   // FF
    else if(navigator.userAgent.indexOf("Opera") > 0) marginY = 30;     // Opera
    else if(navigator.userAgent.indexOf("Netscape") > 0) marginY = -2;  // Netscape

    if (thisX > maxThisX) {
        window.document.body.scroll = "no";
        thisX = maxThisX;
    }
    if (thisY > maxThisY - marginY) {
        window.document.body.scroll = "no";
        thisX += 19;
        thisY = maxThisY - marginY;
    }

    window.resizeTo(thisX+10, thisY+marginY+5);
}

function popupAutoResizeHope() {
 	var thisX = parseInt(document.body.scrollWidth);
    var thisY = parseInt(document.body.scrollHeight);
    var maxThisX = screen.width - 50 ;
    var maxThisY = screen.height - 200;

    var marginY = 0;
    if (navigator.userAgent.indexOf("MSIE 6") > 0) marginY = 45;        // IE 6.x
    else if(navigator.userAgent.indexOf("MSIE 7") > 0) {
    	marginY = 76;    // IE 7.x
    	thisX -= 100;
    	thisY -= 50;
    }
    else if(navigator.userAgent.indexOf("MSIE 8") > 0) {				// IE 8.x
    	marginY = 80;
    	thisX -= 100;
    	thisY -= 50;
    }
    else if(navigator.userAgent.indexOf("Firefox") > 0) {				// FF
    	marginY = 86;
    	thisX -= 100;
    }
    else if(navigator.userAgent.indexOf("Opera") > 0) marginY = 30;     // Opera
    else if(navigator.userAgent.indexOf("Netscape") > 0) marginY = -2;  // Netscape

    if (thisX > maxThisX) {
        window.document.body.scroll = "no";
        thisX = maxThisX;
    }
    if (thisY > maxThisY - marginY) {
        window.document.body.scroll = "no";
        thisX += 19;
        thisY = maxThisY - marginY;
    }

    window.resizeTo(thisX+10, thisY+marginY+40);
}

/* 팝업 창 띄우는 스크립트 */
function popupwindow(url, name, w, h) {
	var MyLeft=(screen.width)?(screen.width-w)/2:100;
	var MyTop=(screen.height)?(screen.height-h-50)/2:100;
	window.open(url, name, 'width='+w+', height='+h+', top='+MyTop+', left='+MyLeft+', scrollbars=auto');
}

/*휴대폰번호가 올바른지 체크한다.('-',공백 등을 제거하고 체크)*/
var pHome =  "/^01\\d{8,9}$/g";
function checkPhoneNumber(value) {
    value = value.replace(/[-\s]+/g, "");
    return (eval(pHome).test(value));
}

function goOrderProduct(url){
	document.location = url;
}

function goEvent(url){
	document.location = url;
}

function nextBlank(N, Obj, nextID) {
	if(document.getElementById(Obj).value.length == N) {
		document.getElementById(nextID).focus();
	}
}

function img_def(imgobj) {
	 var def_img_url = "/natecom/img/market/noimg.gif";
	 imgobj.src = def_img_url;
}

function brandImg_def(imgobj) {
	var def_img_url = "/natecom/img/common/brand_defalt.gif";
	imgobj.src = def_img_url;
}

function skMobileGasCouponPop(path, id){
	var userId = id;
	if(userId == '9999999999'){
		userId = '';
	}
	window.open(path+"?method=init&userid="+userId,'','top=200, left=300, width=732, height=700, scrollbars=yes');
}

//빈공백없애기
function compactTrim(str) {
	return str.replace( /(\s*)/g, "" );
}
function chr_byte(chr){
	if(escape(chr).length > 4)
		return 2;
	else
		return 1;
}
//상품명 30 byte 자르기
function cutStr(str,limit){
	var tmpStr = str;
	var byte_count = 0;
	var len = str.length;
	//var dot = "";

	for(i=0; i<len; i++){
		byte_count += chr_byte(str.charAt(i)); 
		if(byte_count == limit-1){
			if(chr_byte(str.charAt(i+1)) == 2){
				tmpStr = str.substring(0,i+1);
				//dot = "...";
			}else {
				//if(i+2 != len) dot = "...";
				tmpStr = str.substring(0,i+2);
			}
			break;
		}else if(byte_count == limit){
			//if(i+1 != len) dot = "...";
			tmpStr = str.substring(0,i+1);
			break;
		}
	}
	
	return tmpStr;
}


