function setPopCookie(code) {
	var today = new Date();
	today.setDate( today.getDate() + 1 );
	cookie.push(code);
	document.cookie = "layer="+cookie+"; path=/; expires=" + today.toGMTString() + ";";
	$("#layer-adminReg"+code).hide();
}

// 쿠키 가져오기
function getPopCookie(cName) {
	cName = cName + '=';
	var cookieData = document.cookie;
	var start = cookieData.indexOf(cName);
	var cValue = '';
	if(start != -1){
		start += cName.length;
		var end = cookieData.indexOf(';', start);
		if(end == -1)end = cookieData.length;
		cValue = cookieData.substring(start, end);
		cookie = cValue.split(/,/);
	}
	for(var i in cookie){
		$("#layer-adminReg"+cookie[i]).remove();
	}
	$(".popup").each(function() {
		var ids = $(this).attr("id");
		if (ids.indexOf("layer-adminReg") > -1) {
			$(this).show();
		}
	});

	return unescape(cValue);
}

function removeTag( html ) {
	return html.replace(/(<([^>]+)>)/gi, "");
}

function fnRemoveTag2( html ) {
	return html.replace(/(<([^>]+)>)/gi, " ");
}

function fnLoginFirst() {
	var msg = "로그인이 필요한 서비스 입니다.";
	alert(msg);
	document.location.href=ambContext+"/"+ambLangCd+"/members/login.do";
	return;
}

function fnAppLink(type) {
	var url;
	if (type == 'ios') {
		url = "https://itunes.apple.com/kr/app/ambatel.com/id1322850273";
	} else if (type == 'and') {
		url = "https://play.google.com/store/apps/details?id=and.ambassador.com";
	} else if (type == 'mobile') {
		url = "https://m.ambatel.com";
	}
	window.open(url, 'app');
}

function get_version_of_IE() {
	 var word;
	 var version = "N/A";
	 var agent = navigator.userAgent.toLowerCase();
	 var name = navigator.appName;
	 // IE old version ( IE 10 or Lower )
	 if ( name == "Microsoft Internet Explorer" ) word = "msie ";
	 else {
		 // IE 11
		 if ( agent.search("trident") > -1 ) word = "trident/.*rv:";
		 // Microsoft Edge
		 else if ( agent.search("edge/") > -1 ) word = "edge/";
	 }
	 var reg = new RegExp( word + "([0-9]{1,})(\\.{0,}[0-9]{0,1})" );
	 if (  reg.exec( agent ) != null  ) version = RegExp.$1 + RegExp.$2;
	 return version;
}

function getInternetExplorerVersion() {
	var rv = -1;
	if (navigator.appName == 'Microsoft Internet Explorer') {
		var ua = navigator.userAgent;
		var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
		if (re.exec(ua) != null)
			rv = parseFloat(RegExp.$1);
	}
	return rv;
}

function isEmailValid(email) {
	return /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i.test(email);
}

function fnInputLenChk(obj) {
	var iTxt = $(obj).val();
	var iMaxLen = $(obj).prop("maxlength");
	var i = j = cnt = 0;
	for (i = 0; i < iTxt.length; i++) {
		var val = escape(iTxt.charAt(i)).length;
		if (val == 6) {
			j++;
		}
		j++;
		if (j <= iMaxLen) {
			cnt++;
		}
		if (j > iMaxLen) {
			$(obj).val(iTxt.substr(0, cnt));
		}
	}
}

function addCommas(nStr) {
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ?  '.'  + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}

function onlyNumber(event) {
	event = event || window.event;
	var keyID = (event.which) ? event.which : event.keyCode;
	if ( (keyID >= 48 && keyID <= 57) || (keyID >= 96 && keyID <= 105) || keyID == 8 || keyID == 9 || keyID == 46 || keyID == 37 || keyID == 39 || keyID == 65 || keyID == 86 || keyID == 67 )
		return;
	else
		return false;
}

function removeChar(event) {
	event = event || window.event;
	var keyID = (event.which) ? event.which : event.keyCode;
	if ( keyID == 8 || keyID == 9 || keyID == 46 || keyID == 37 || keyID == 39 || ( (keyID == 65 || keyID == 86 || keyID == 67) && (event.ctrlKey === true || event.metaKey === true) ) ) {
		event.target.value = event.target.value.replace(/[^0-9\-]/g, "");
		return;
	} else
		event.target.value = event.target.value.replace(/[^0-9\-]/g, "");
}

function fnMakePhoneFirstNumber(obj, selVal) {
	var nos = ['010', '011', '016', '017', '018', '019', '070'];
	for (var i = 0; i < nos.length; i++) {
		if (selVal == nos[i]) {
			obj.append('<option value="'+nos[i]+'" selected>'+nos[i]+'</option>');
		} else {
			obj.append('<option value="'+nos[i]+'">'+nos[i]+'</option>');
		}
	}
}

function fnMakeEmailDomins(obj, selVal, lang) {
	var domains = ['1', 'gmail.com', 'hanmail.net', 'daum.net', 'naver.com', 'nate.com', 'hotmail.com', 'zum.com', 'yahoo.com'];
	var isCustom = false;
	var tmpTxt = '';
	function checkDomain(v) {
		return v == selVal;
	}

	var ver = get_version_of_IE();

	if (ver != 'N/A') {
		if (parseInt(ver) < 12) {
			if (domains.indexOf(selVal) == -1) {
				isCustom = true;
			}
		}
	} else {
		if (!domains.find(checkDomain)) {
			isCustom = true;
		}
	}
	var defTxt = '';
	switch (lang) {
	case 'ko':
		defTxt = '직접입력';
		break;
	case 'en':
		defTxt = 'Enter';
		break;
	case 'jp':
		defTxt = '直接入力';
		break;
	case 'cn':
		defTxt = '直接输入';
		break;
	default:
		defTxt = '직접입력';	
	}
	for (var i = 0; i < domains.length; i++) {
		if (i == 0) {
			tmpTxt = defTxt;
		} else {
			tmpTxt = domains[i];
		}
		if (isCustom) {
			if (i == 0) {
				obj.append('<option value="'+domains[i]+'" selected>'+tmpTxt+'</option>');
			} else {
				obj.append('<option value="'+domains[i]+'">'+tmpTxt+'</option>');
			}
		} else {
			if (selVal == domains[i]) {
				obj.append('<option value="'+domains[i]+'" selected>'+tmpTxt+'</option>');
			} else {
				obj.append('<option value="'+domains[i]+'">'+tmpTxt+'</option>');
			}
		}
	}
}

function fnSetMailType(tgt, v) {
	if (v == '1') {
		$("#"+tgt).prop('readonly', false);
		$("#"+tgt).val('');
		$("#"+tgt).focus();
	} else {
		$("#"+tgt).prop('readonly', true);
		$("#"+tgt).val(v);
	}
}

function fnMakeSelOption(obj, start, end, selVal) {
	var tmpVal = 0;
	for (var i = start; i <= end; i++) {
		if (i < 10) {
			tmpVal = '0' + i;
		} else {
			tmpVal = ''+i;
		}
		if (selVal == tmpVal) {
			obj.append('<option value="'+tmpVal+'" selected>'+tmpVal+'</option>');
		} else {
			obj.append('<option value="'+tmpVal+'">'+tmpVal+'</option>');
		}
	}
}

function fnMakeCardYearSelect(obj, selVal) {
	var today = new Date();
	var endYear = today.getFullYear() + 10;
	var startYear = today.getFullYear();
	var tmpVal = '';
	var cnt = 0;

	for(var i = startYear; i <= endYear; i++) {
		tmpVal = startYear + cnt;
		if (selVal == tmpVal) {
			obj.append('<option value="'+tmpVal+'" selected>'+tmpVal+'</option>');
		} else {
			obj.append('<option value="'+tmpVal+'">'+tmpVal+'</option>');
		}
		cnt++;
	}
}

function fnMakeCardYearSelect2(obj, selVal) {
	var today = new Date();
	var endYear = today.getFullYear() + 10;
	var startYear = today.getFullYear();
	var tmpVal = '';
	var cutVal = '';
	var cnt = 0;

	for(var i = startYear; i <= endYear; i++) {
		tmpVal = startYear + cnt;
		cutVal = (""+tmpVal).substring(2,4);
		if (selVal == tmpVal) {
			obj.append('<option value="'+cutVal+'" selected>'+tmpVal+'</option>');
		} else {
			obj.append('<option value="'+cutVal+'">'+tmpVal+'</option>');
		}
		cnt++;
	}
}

function fnMakeYearSelectLimit(obj, ed, sd, selVal) {
	var today = new Date();

	var endYear = today.getFullYear() + parseInt(ed, 10);
	var startYear = today.getFullYear() + parseInt(sd, 10)
	var tmpVal = '';
	var cnt = 0;

	for(var i = startYear; i <= endYear; i++) {
		tmpVal = startYear + cnt;
		if (selVal == tmpVal) {
			obj.append('<option value="'+tmpVal+'" selected>'+tmpVal+'</option>');
		} else {
			obj.append('<option value="'+tmpVal+'">'+tmpVal+'</option>');
		}
		cnt++;
	}
}

function fnMakeYearSelect(obj, selVal) {
	var today = new Date();
	var endYear = today.getFullYear() -19;
	var startYear = today.getFullYear() -100;
	var tmpVal = '';
	var cnt = 0;

	for(var i = startYear; i <= endYear; i++) {
		tmpVal = startYear + cnt;
		if (selVal == tmpVal) {
			obj.append('<option value="'+tmpVal+'" selected>'+tmpVal+'</option>');
		} else {
			obj.append('<option value="'+tmpVal+'">'+tmpVal+'</option>');
		}
		cnt++;
	}
}

function fnMakeYearSelect2(obj, selVal) {
	var today = new Date();
	var endYear = today.getFullYear();
	var startYear = today.getFullYear() - 50;
	var tmpVal = '';
	var cnt = 0;

	for(var i = startYear; i <= endYear; i++) {
		tmpVal = startYear + cnt;
		if (selVal == tmpVal) {
			obj.append('<option value="'+tmpVal+'" selected>'+tmpVal+'</option>');
		} else {
			obj.append('<option value="'+tmpVal+'">'+tmpVal+'</option>');
		}
		cnt++;
	}
}

function fnMakeYearOption(obj, start, end, selVal, defVal) {
	var tmpVal = '';
	if (defVal == 1) {
		obj.append('<option value="">년도를 선택하세요</option>');
	}
	for (var i = end; i >= start; i--) {
		tmpVal = '' + i;
		if (selVal == tmpVal) {
			obj.append('<option value="'+tmpVal+'" selected>'+tmpVal+'</option>');
		} else {
			obj.append('<option value="'+tmpVal+'">'+tmpVal+'</option>');
		}
	}
}

function fnRemoveKor(obj, event) {
	event = event || window.event;
	var keyID = (event.which) ? event.which : event.keyCode;
    if(keyID == 8 || keyID == 9 || keyID == 37 || keyID == 39 || keyID == 46 ) return;
    obj.value = obj.value.replace(/[\ㄱ-ㅎㅏ-ㅣ가-힣]/g, '');
}

function fnClearCookie(name)
{
	var today  = new Date();
	today.setDate(today.getDate() - 1);
	document.cookie = name + "=; path=/; expires=" + today.toGMTString() + ";";
}

function fnSetCookie(name, value, expires) {
	document.cookie = name + "=" + escape (value) + "; path=/; expires=" + expires.toGMTString();
}

function fnGetCookie(name) {
	var search = name + "=";
	if(document.cookie.length > 0) { // 쿠키가 설정되어 있다면
		offset = document.cookie.indexOf(search);
		if(offset != -1) { // 쿠키가 존재하면
			offset += search.length;
			// set index of beginning of value
			end = document.cookie.indexOf(";", offset);
			// 쿠키 값의 마지막 위치 인덱스 번호 설정
			if(end == -1)
				end = document.cookie.length;
			return unescape(document.cookie.substring(offset, end));
		}
	}
	return "";
}
/* 중복함수
function isNotPassword(obj1, obj2, msg) {
	var $obj1 = $("#"+obj1);
	var $obj2 = $("#"+obj2);
	var txtMsg = "비밀번호가 서로 다릅니다. 다시 입력해 주세요";

	//equals check
	if($obj1.val() != $obj2.val()) {
		alert(txtMsg);
		$obj1.val("");
		$obj2.val("");
		$obj1.focus();
		$("#"+obj1+"_note").html("");
		return true;
	}

	return false;
}
*/

function isSafePassword(obj, tgt) {
	var $obj = $("#"+obj);
	var str = $obj.val();
	var num_cnt = 0;
	var numPattern = /[0-9]/;
	if(numPattern.test(str)) {
		num_cnt = 1; 
	}

	var eng_cnt = 0;
	var engPattern = /[a-zA-Z]/;
	if(engPattern.test(str)) {
		eng_cnt = 1; 
	}
	
	var etc_cnt = 0;
	var etcPattern = /[!@#$%^&*(),.]/;
	if(etcPattern.test(str)) {
		etc_cnt = 1; 
	}
	
	var total = num_cnt + eng_cnt + etc_cnt;
	
	var txtSafetyLevel1 = "안전" ;
	var txtSafetyLevel2 = "보통" ;
	var txtSafetyLevel3 = "사용불가" ;
	var txtRequire="영문, 숫자, 특수문자를 최소 한 개 이상 포함 해주세요."
	if(ambLangCd != "ko"){
		txtSafetyLevel1 = "safety" ;
		txtSafetyLevel2 = "usually" ;
		txtSafetyLevel3 = "can not be used" ;
		txtRequire="8~20 characters, must be a combination of English letters, numbers, and special characters";
	}
	
	if(total == 3) {
		$("#pwdLvl").show();
		$("#pwdLvl").removeClass("safety-level2").removeClass("safety-level3").removeClass("safety-level1").addClass("safety-level3");
		$("#pwdLvl").text(txtSafetyLevel1);
		//$("#"+tgt).hide();
		
	} else if(total == 2) {
		$("#pwdLvl").show();
		$("#pwdLvl").text(txtSafetyLevel3);
		$("#pwdLvl").removeClass("safety-level2").removeClass("safety-level3").removeClass("safety-level1").addClass("safety-level1");
		return true;
		//$("#"+tgt).hide();
	} else {
		$("#pwdLvl").show();
		$("#pwdLvl").text(txtSafetyLevel3);
		$("#pwdLvl").removeClass("safety-level2").removeClass("safety-level3").removeClass("safety-level1").addClass("safety-level1");
		//$("#"+tgt).text(txtRequire);
		//$("#"+tgt).show();
		return true;
	}
	
	return false;
}

function isSafePassword2(obj) {
	var $obj = $("#"+obj);
	var str = $obj.val();
	var num_cnt = 0;
	var numPattern = /[0-9]/;
	if(numPattern.test(str)) {
		num_cnt = 1; 
	}
	
	var eng_cnt = 0;
	var engPattern = /[a-zA-Z]/;
	if(engPattern.test(str)) {
		eng_cnt = 1; 
	}
	
	var etc_cnt = 0;
	var etcPattern = /[!@#$%^&*(),.]/;
	if(etcPattern.test(str)) {
		etc_cnt = 1; 
	}
	
	var total = num_cnt + eng_cnt + etc_cnt;
	
	if(total == 3) {
		$("#pwdLvl2").show();
		$("#pwdLvl2").removeClass("safety-level2").removeClass("safety-level3").removeClass("safety-level1").addClass("safety-level3");
		$("#pwdLvl2").text("안전");
		$("#"+tgt).hide();
	} else if(total == 2) {
		$("#pwdLvl2").show();
		$("#pwdLvl2").text("보통");
		$("#pwdLvl2").removeClass("safety-level2").removeClass("safety-level3").removeClass("safety-level1").addClass("safety-level2");
		$("#"+tgt).hide();
	} else {
		$("#pwdLvl2").show();
		$("#pwdLvl2").text("사용불가");
		$("#pwdLvl2").removeClass("safety-level2").removeClass("safety-level3").removeClass("safety-level1").addClass("safety-level1");
		$("#"+tgt).text("영문, 숫자, 특수문자를 최소 한 개 이상 포함 해주세요.");
		$("#"+tgt).show();
		return true;
	}
	
	return false;
}


function initProperty(obj, value, property) {
	var $obj = $("#"+obj);
	if(property == undefined) {
		$obj.attr("maxlength", value);
	} else {
		$obj.attr(property, value);
	}
}

function initPassword(obj, tgt, min, max) {
	var $obj = $("#"+obj);
	$obj.keyup(function() {
		
		if($obj.val() != "") {
			if(isSafePassword(obj, tgt)) {
				return;
			}
		}
	});
	
	$obj.blur(function() {
		if($obj.val() != "") {
			if(isMinLengthUnder(obj, min, tgt)) {
				$("#pwdLvl").hide();
				return;
			}
		}
	});
}

function initPassword2(obj, msg, min, max) {
	var $obj = $("#"+obj);
	$obj.keyup(function() {
		if($obj.val() != "") {
			if(isSafePassword2(obj)) {
				return;
			}
		}
	});
	
	$obj.blur(function() {
		if($obj.val() != "") {
			if(isMinLengthUnder(obj, min, msg)) {
				$("#pwdLvl2").hide();
				return;
			}
		}
	});
}

function initPasswordConfirm(obj1, obj2, msg) {
	var $obj2 = $("#"+obj2);
	$obj2.blur(function() {
		if($obj2.val() != "") {
			if(isNotPassword(obj1, obj2, msg)) {
				$("#pwdLvl").hide();
				return;
			}
		}
	});
}
//입력길이 설정(최소, 최대)
function initMinMax(obj, msg, min, max) {
	var $obj = $("#"+obj);
	$obj.blur(function() {
		if($obj.val() != "") {
			var str = $obj.val();
			if(str.length < min || str.length > max) {
				// alert(msg + " " + min + "자 이상 " + max + "자 이하로 입력 가능합니다.");
				alert(msg);
				$obj.val("");
				$obj.focus();
			}
		}
	});
}

function initEnglish(obj, msg) {
	var $obj = $("#"+obj);
	$obj.blur(function() {
		if($obj.val() != "") {
			var str = $obj.val();
			for(var i=0; i<str.length; i++) {
				if(!(str.charCodeAt(i) == 32 || (str.charCodeAt(i) >= 65 && str.charCodeAt(i) <= 90) || (str.charCodeAt(i) >= 97 && str.charCodeAt(i) <= 122))){
					if(msg != undefined && msg != ''){
						alert(msg + " 영문만 입력 가능합니다.");	
					}else{
						alert("영문만 입력 가능합니다.");
					}
					$obj.val("");
					$obj.focus();
					break;
				}
			}
		}
	});
}

function initKorean(obj, msg) {
	var $obj = $("#"+obj);
	$obj.blur(function() {
		if($obj.val() != "") {
			var str = $obj.val();
			if( /([^가-힣\x20])/i.test(str) ) {
				if(msg != undefined && msg != ''){
					alert(msg + " 한글만 입력 가능합니다.");
				}else{
					alert("한글만 입력 가능합니다.");
				}
				$obj.val("");
				$obj.focus();
			}

		}
	});
}

//영문 숫자만 입력가능하도록
function initNotKorean(obj, msg) {
	var $obj = $("#"+obj);
	$obj.css("ime-mode", "disabled");
	$obj.blur(function() {
		if($obj.val() != "") {
			//영문과 숫자
			var objPattern = /^[a-zA-Z0-9-_. ]+$/;
			if(!objPattern.test($obj.val())) {
				/*if(msg != undefined && msg != '') {
					alert(msg + " 영문과 숫자만 입력 가능합니다.");
				}else{
					alert("영문과 숫자만 입력 가능합니다.");
				}*/
				alert(msg);
				$obj.val("");
				$obj.focus();
				//return true;
			}
		}
	});
}

function checkNumeric($obj,msg) {
	var txtMsg = "숫자만 입력해주세요" ;
	if(msg){
		txtMsg = msg;
	}
	
	if($obj != null && $obj.val() != "") {
		if(isNaN($obj.val().replace(/,/gi, ""))) {
			$obj.focus();
			alert(txtMsg);
			$obj.val("");
			return false;
		}
	}
	return true;
}

function initNumeric(obj,msg) {
	var $obj = $("#"+obj);
	$obj.css("ime-mode", "disabled");
	
	$obj.keyup(function() {
	    if(!checkNumeric($obj,msg)) return;
	});
}

//---------추가 ksh

function fnMsgClean(){
	var $obj =$(".valid-warning");
	$obj.each(function(){
		$(this).css("display","none");
	});
	
	return false;
}

function fnInput(css){ // params: 'input.ipt'
	var $obj = $(css);
	$obj.each(function(){
		if($(this).attr("id") != undefined){
			$(this).click(function(){
				fnMsgClean();
			});
		}
	});
}

Date.prototype.format = function(f) {
    if (!this.valueOf()) return " ";
 
    var weekName = ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일"];
    var d = this;
     
    return f.replace(/(yyyy|yy|MM|dd|E|hh|mm|ss|a\/p)/gi, function($1) {
        switch ($1) {
            case "yyyy": return d.getFullYear();
            case "yy": return (d.getFullYear() % 1000).cutFmt(2);
            case "MM": return (d.getMonth() + 1).cutFmt(2);
            case "dd": return d.getDate().cutFmt(2);
            case "E": return weekName[d.getDay()];
            case "HH": return d.getHours().cutFmt(2);
            case "hh": return ((h = d.getHours() % 12) ? h : 12).cutFmt(2);
            case "mm": return d.getMinutes().cutFmt(2);
            case "ss": return d.getSeconds().cutFmt(2);
            case "a/p": return d.getHours() < 12 ? "오전" : "오후";
            default: return $1;
        }
    });
};
String.prototype.string = function(len){var s = '', i = 0; while (i++ < len) { s += this; } return s;};
String.prototype.cutFmt = function(len){return "0".string(len - this.length) + this;};
Number.prototype.cutFmt = function(len){return this.toString().cutFmt(len);};

/**
 * 문자열 삭제
 * @param args : 삭제할 문자열 배열
 * @return
 */
String.prototype.cfnRemoveAll = function(args) {
	var str = this;
	if (args != null && args.length > 0) {
		for (var i = 0; i < args.length; i++) {
			str = str.cfnReplaceAll(args[i], "");
		}
	}
	return str.toString();
};

/**
 * 숫자만 입력
 * @return
 */
$.fn.cfnNumberOnly = function() {
	$(this).css("imeMode", "disabled").keypress(function(event) {
		onlyNumber(event);
	}).keyup(function(event) {
		removeChar(event)
	});
};


//한글입력 안되게 처리
$.fn.ambNotKor = function() {
	$(this).css("imeMode", "disabled").keypress(function(event) {
		var e = event || window.event;
		var keyID = (e.which) ? e.which : e.keyCode;
		if ( !(keyID >= 37 && keyID <= 40) ) {
			return;
		} else {
			return false;
		}
	}).keyup(function(event) {
		var inval = $(this).val();
		$(this).val(inval.replace(/[^a-z0-9]/gi,''));
	});
};
	
/*
 * 객체 유효성 검사
 */
var nullMsg = " 입력해 주세요.";
var maxLengthMsg = "Byte 이상 초과는 입력할 수 없습니다. \n.(한글:2Byte, 영문숫자:1Byte)";
var minLengthMsg = "Byte 이하로 입력할 수 없습니다.";

function isEmpty(obj, msg) {
	var $obj = $("#"+obj);
	if($obj.val() == null || $obj.val() == "undefined" || $obj.val().replace(/ /gi,"") == "") {
		if(msg != undefined) {
			//alert(msg + nullMsg);
      alert(msg);
		}
		$obj.focus();
		return true;
	} else {
		return false;
	}
}

function isEmpty2(obj, tgt) {
	var $obj = $("#"+obj);
	if($obj.val() == null || $obj.val() == "undefined" || $obj.val().replace(/ /gi,"") == "") {
		if(tgt != undefined) {
			$("#"+tgt).show();
		}
		$obj.focus();
		return true;
	} else {
		return false;
	}
}

function isStrEmpty(str) {
	if(str == null ||str == "undefined" || str.replace(/ /gi,"") == "") {
		return true;
	} else {
		return false;
	}
}

function isMinLengthUnder(obj, size, msg) {
	var $obj = $("#"+obj);
	if($obj.val() == null || $obj.val() == "undefined") {
		return false;
	}else{
		var str = $obj.val();
		if(str.length < size) {
			//alert(msg + " " + size + minLengthMsg);
			alert(msg);
			$obj.val("");
			$obj.focus();
			return true;
		}
	    return false;
	}
}

function isMaxLengthOver(obj, size, msg) {
	var $obj = $("#"+obj);
	if($obj.val() == null || $obj.val() == "undefined") {
		return false;
	}else{
		var str = $obj.val();
		var intByteLength = 0;
	    for(var i=0; i<str.length; i++) {
	    	intByteLength += (str.charCodeAt(i) > 128) ? 2 : 1;
	        if(intByteLength > size) {
	        	//alert(msg + " " + size + maxLengthMsg);
            alert(msg);
	        	$obj.val(str.substring(0,i));
	        	$obj.focus();
	        	return true;
	        	break;
	        }
	    }
	    return false;	
	}
}

function isNotPhone(obj1, obj2, obj3, msg) {
	if(isEmpty(obj1, msg)) {
		return true;
	}
	if(isEmpty(obj2, msg)) {
		return true;
	}
	if(isEmpty(obj3, msg)) {
		return true;
	}
	return false;
}

function isNotPhone2(obj1, obj2, obj3, tgt) {
	if(isEmpty2(obj1, tgt)) {
		return true;
	}
	if(isEmpty2(obj2, tgt)) {
		return true;
	}
	if(isEmpty2(obj3, tgt)) {
		return true;
	}
	return false;
}

function isNotPhone3(obj1, obj2, obj3, obj4, tgt) {
	if(isEmpty2(obj1, tgt)) {
		return true;
	}
	if(isEmpty2(obj2, tgt)) {
		return true;
	}
	if(isEmpty2(obj3, tgt)) {
		return true;
	}
	if(isEmpty2(obj4, tgt)) {
		return true;
	}
	return false;
}

function isNotPhone4(obj1, obj2, obj3, obj4, msg) {
	if(isEmpty(obj1, msg)) {
		return true;
	}
	if(isEmpty(obj2, msg)) {
		return true;
	}
	if(isEmpty(obj3, msg)) {
		return true;
	}
	if(isEmpty(obj4, msg)) {
		return true;
	}
	return false;
}

function isNotEmail(obj1, obj2, msg) {
	if(isEmpty(obj1, msg)) {
		return true;
	}
	if(isEmpty(obj2, msg)) {
		return true;
	}
	
	var email = $("#"+obj1).val()+"@"+$("#"+obj2).val();
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
    if (!filter.test(email)) {
    	alert("잘못된 이메일 주소 입니다.");
    	$("#"+obj2).focus();
    	return true;
    }
    
	return false;
}

function isNotEmail2(obj1, msg) {
	if(isEmpty(obj1, msg)) {
		return true;
	}
	
	var email = $("#"+obj1).val();
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
    if (!filter.test(email)) {
    	alert("잘못된 이메일 주소 입니다.");
    	$("#"+obj1).focus();
    	return true;
    }
    
	return false;
}

function isNotEmail3(obj1, obj2, tgt) {
	if(isEmpty2(obj1, tgt)) {
		$("#"+obj1).focus();
		return true;
	}
	if(isEmpty2(obj2, tgt)) {
		$("#"+obj2).focus();
		return true;
	}
	
	var email = $("#"+obj1).val()+"@"+$("#"+obj2).val();
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
    if (!filter.test(email)) {
    	$("#"+obj2).focus();
		$("#"+tgt).show();
    	return true;
    }
    
	return false;
}

function isNotAddress(obj1, obj2, msg) {
	if(isEmpty(obj1, msg)) {
		$("#"+obj1).focus();
		return true;
	}
	if(isEmpty(obj2, msg)) {
		$("#"+obj2).focus();
		return true;
	}
	return false;
}

function isNotAddress2(obj1, obj2, tgt) {
	if(isEmpty2(obj1, tgt)) {
		$("#"+obj1).focus();
		return true;
	}
	if(isEmpty2(obj2, tgt)) {
		$("#"+obj2).focus();
		return true;
	}
	return false;
}

function isNotId(obj, msg) {
	var $obj = $("#"+obj);
	
	//null check
	if(isEmpty(obj, msg)) {
		$obj.focus();
		return true;
	}
	
	//영문과 숫자
	var objPattern = /^[a-zA-Z0-9]+$/;
	if(!objPattern.test($obj.val())) {
		alert("아이디는 영문과 숫자만 입력 가능합니다.");
		$obj.val("");
		$obj.focus();
		return true;
	}
	
	return false;
}


function isNotPassword(obj1, obj2, msg) {
	var $obj1 = $("#"+obj1);
	var $obj2 = $("#"+obj2);
	
	//equals check
	if($obj1.val() != $obj2.val()) {
		alert(msg);
		$obj1.val("");
		$obj2.val("");
		$obj1.focus();
		return true;
	}
	return false;
}


function isDateFormat(obj) {
	var $obj = $("#"+obj);
	var s = $obj.val();
	if(s != "") {
		var pt = /^\d{4}\d{2}\d{2}$/;
		if(!pt.test(s)) return false;
		
		var y = parseInt(s.substr(0, 4), 10);
		var m = parseInt(s.substr(4, 2), 10) - 1;
		var d = parseInt(s.substr(6, 2), 10);
		
		//alert("y : " + y + " || m : " + m + " || d :" + d);
		var dt = new Date(y, m, d);
		
		if(dt.getFullYear() == y && dt.getMonth() == m && dt.getDate() == d) {
			return true;
		} else {
			return false;
		}
	} else {
		return true;			
	}
}

function isJuminFormat(obj) {
	var $obj = $("#"+obj);
	var s = $obj.val();
	if(s != "") {
		var pt = /^\d{2}\d{2}\d{2}$/;
		if(!pt.test(s)) return false;
		
		var y = parseInt(s.substr(0, 2), 10);
		var m = parseInt(s.substr(2, 2), 10) - 1;
		var d = parseInt(s.substr(4, 2), 10);
		
		if(y > 0 && y <= 20) {
			y = 2000 + y;
		} else {
			y = 1900 + y;
		}
		
		//alert("y : " + y + " || m : " + m + " || d :" + d);
		var dt = new Date(y, m, d);
		
		if(dt.getFullYear() == y && dt.getMonth() == m && dt.getDate() == d) {
			return true;
		} else {
			return false;
		}
	} else {
		return true;
	}
}

//return blooean : string byte check
function getStrByte(str) {
    var intByteLength = 0;
    for(var i=0; i<str.length; i++) {
    	intByteLength += (str.charCodeAt(i) > 128) ? 2 : 1;
    }
    
    return intByteLength;
}

//return blooean : obj max byte check
function isMaxByte(obj, length) {
	var str = obj.value;
    var intByteLength = 0;
    for(var i=0; i<str.length; i++) {
    	intByteLength += (str.charCodeAt(i) > 128) ? 2 : 1;
        if(intByteLength > length) {
        	obj.value = str.substring(0,i);
        	return true;
        	break;
        }
    }
    return false;
}

//return blooean : img file check
function isImage(obj) {
	var $obj = $("#"+obj);
	var f = $obj.val();
	if(f != null && f != "") {
		if(!(/.*\.(gif)|(jpeg)|(jpg)|(png)$/.test(f.toLowerCase()))) {
			alert("bmp를 제외한, 이미지 파일만 첨부 가능 합니다.");
			return false;
		}
	}
	
	return true;
}

//신용카드 유효성 체크
function isValidCardNumber(strCardNo) { 
	var checkSumTotal = 0;
	var cardNumber = ""; 
	var ch = "";

	for(var i=0; i<strCardNo.length; i++) {
		ch = strCardNo.charAt(i);
		if( ((ch >= "0") && (ch <= "9")) )  {
			cardNumber = cardNumber + ch; 
		}
	}
	if( cardNumber.length == 16 ) {
		var cardNumberLength = cardNumber.length;

		for (var digitCounter = cardNumberLength - 1; digitCounter >= 0; digitCounter--) {
			checkSumTotal += parseInt (cardNumber.charAt(digitCounter));
			digitCounter--;
			var numberProduct = String((cardNumber.charAt(digitCounter) * 2));

			for (var productDigitCounter = 0; productDigitCounter < numberProduct.length; productDigitCounter++) {
				checkSumTotal += parseInt(numberProduct.charAt(productDigitCounter));
			}
		}
		return (checkSumTotal % 10 == 0);
	} 
	else {
		return false; 
	}
}

/*
 * 성인인증체크
 */
function adult_check(safe_id) {
	var jumin1 = safe_id.substring(0,2);
	var jumin2 = safe_id.substring(6,12);
	var chk = 0;
	var yy = jumin1.substring(0,2);
	var mm = jumin1.substring(2,4);
	var dd = jumin1.substring(4,6);
	var sex = jumin2.substring(0,1);
	
	var currentTime = new Date();
	var nYear = currentTime.getFullYear();  //현재년도
	var nMonth = currentTime.getMonth() + 1; //현재월
	if (nMonth < 10) nMonth = "0" + nMonth;
	
	var nDay = currentTime.getDate();  //현재일
	if (nDay < 10) nDay = "0" + nDay;
	
	var gijun_date = nYear + nMonth + nDay;	//현재 년월일
	for (var i = 0; i <=5 ; i++) {
		chk = chk + ((i%8+2) * parseInt(jumin1.substring(i,i+1)));
	}
	
	for (var i = 6; i <=11 ; i++){
		chk = chk + ((i%8+2) * parseInt(jumin2.substring(i-6,i-5)));
	}

	chk = 11 - (chk %11);
	chk = chk % 10;
	
	var since_date = "";
	var since_yyyy = "";
	
	if(jumin2.substring(0, 1) == "1" || jumin2.substring(0, 1) == "2") {
		since_yyyy = "19" + jumin1.substring(0, 2);
		since_yyyy = parseInt(since_yyyy) + 19;				//자기가 태어난 해의 +19년
		since_date = since_yyyy + jumin1.substring(2, 6) ;
	} else if(jumin2.substring(0, 1) == "3" || jumin2.substring(0, 1) == "4") {
		since_yyyy = "20" + jumin1.substring(0, 2); 
		since_yyyy = parseInt(since_yyyy) + 19;				//자기가 태어난 해의 +19년
		since_date = since_yyyy + jumin1.substring(2, 6) ;
	}
	
	if(parseInt(since_date) > parseInt(gijun_date)) {
		return false;
	}
	
	return true;
}

function nextFocus(fromObj, len, nextObj) {

    if( $(fromObj) == undefined || $(fromObj) == null ) {
        var objId = $(fromObj).attr("id");
        alert("["+objId+"] 객체가 존재하지 않습니다.");
        return false;
    }
    if( nextObj == undefined || nextObj == null ) {
        var objId = nextObj.attr("id");
        alert("["+objId+"] 객체가 존재하지 않습니다.");
        return false;
    }
    if( $(fromObj).val().length == parseInt(len) ) {
        nextObj.focus();
    }
}

function nextF(fromObj, nObj) {

    var nextObj = $("#"+nObj);

    if( $(fromObj) == undefined || $(fromObj) == null ) {
        var objId = $(fromObj).attr("id");
        alert("["+objId+"] 객체가 존재하지 않습니다.");
        return false;
    }
    if( nextObj == undefined || nextObj == null ) {
        var objId = nextObj.attr("id");
        alert("["+objId+"] 객체가 존재하지 않습니다.");
        return false;
    }

    if( $(fromObj).is('select') ) {
    	nextObj.focus();
    }
    else {
    	if( parseInt($(fromObj).val().length) == parseInt($(fromObj).attr("maxlength")) ) {
    		nextObj.focus();
        }
    }    
}


//최대입력 길이설정
$.fn.fnSetMaxlength = function(mxlen) {
	mxlen = mxlen || 10;
	$(this).attr("maxlength", mxlen);
}

//속성 설정
$.fn.fnSetAttr = function(p, v) {
	$(this).attr(p, v);
}

//ime-mode
$.fn.fnSetImeMode = function(v) {
	$(this).css("ime-mode", v);
}

//숫자만
$.fn.fnKeyOnlyNumber = function() {
	$(this).fnSetImeMode("disabled");
	$(this).on("input", function(evt) {
		$(this).val($(this).val().replace(/[^0-9]/g, ''));
		evt = evt || window.event;
		var code = (evt.which) ? evt.which : evt.keyCode;
		if ( code != 46 && (code < 48 || code > 57) ) {
			if (window.event) {
				window.event.returnValue = false;
			} else {
				evt.preventDefault();
			}
		}
	});
}

//시력
$.fn.fnKeySight = function() {
	$(this).fnSetImeMode("disabled");
	$(this).on("input", function() {
		$(this).val( $(this).val().replace(/[^0-9.\-\+]/g, '') );
	});	
}

//영문+숫자만
$.fn.fnKeyOnlyEngNum = function(msg) {
	var regexp = /^[a-zA-Z0-9-_.]+$/;
	$(this).fnSetImeMode("inactive");
	$(this).keyup(function(event) {
		event = event || window.event;
		var keyID = (event.which) ? event.which : event.keyCode;
		if ((keyID && ((keyID >= 48 && keyID <= 90) || (keyID >= 96 && keyID <= 105) )) && !regexp.test($(this).val())) {
			if (msg) alert(msg);
			$(this).val( $(this).val().replace(/[^a-zA-Z0-9]/g, '') );
		}
	});
}

$.fn.fnKeyOnlyEng = function() {
	$(this).on("input", function() {
		$(this).val( $(this).val().replace(/[^a-zA-Z]/g, '') );
	});
}

$.fn.fnKeyNotKorean = function(msg) {
	var regexp = /[^a-zA-Z0-9.\-\_]/g;
	$(this).fnSetImeMode("inactive");
	$(this).on("input", function() {
		if (regexp.test($(this).val())) {
			if (msg) alert(msg);
			$(this).val( $(this).val().replace(regexp, '') );
		}
	});	
}

$.fn.fnKeyOnlyEngNumDot = function() {
	$(this).fnSetImeMode("disabled");
	$(this).on("input", function() {
		$(this).val( $(this).val().replace(/[^a-zA-Z0-9.]/g, '') );
	});	
}
//소문자변환
$.fn.fnLowerCase = function() {
	$(this).blur(function() {
		if ( $(this).val() != '' ) {
			$(this).val( $(this).val().toLowerCase() );
		}
	});
}

//한글만 입력
$.fn.fnKeyOnlyKorean = function() {
	//var regexp = /[a-z0-9]|[ \[\]{}()<>?|`~!@#$%^&*-_+=,.;:\"'\\]/g;
	//$(this).fnSetImeMode("active");
	//$(this).on("input", function() {
	//	$(this).val( $(this).val().replace(regexp, '') );
	//});
}

//비번 안전도
$.fn.fnIsSafePassword = function(lv, lang) {
	$(this).keyup(function() {
		var lvl = $("#"+lv);
		var total = 0;
		total = fnGetRegexCnt($(this).val());
		_g_pwd = false;
		if (total == 3) {
			lvl.show();
			lvl.removeClass("msg-2").removeClass("msg-3").removeClass("msg-1").addClass("msg-1");
			lvl.text(fnGetLangText(lang, {
				"ko": "안전",
				"en": "Safe",
				"cn": "安全",
				"jp": "安全"
			}));
			_g_pwd = true;
		} else if (total == 2) {
			lvl.show();
			lvl.removeClass("msg-2").removeClass("msg-3").removeClass("msg-1").addClass("msg-3");
			lvl.text(fnGetLangText(lang, {
				"ko": "사용불가",
				"en": "Cannot be used",
				"cn": "不可使用",
				"jp": "使用不可"
			}));
			_g_pwd = false;
		} else {
			lvl.show();
			lvl.removeClass("msg-2").removeClass("msg-3").removeClass("msg-1").addClass("msg-2");
			lvl.text(fnGetLangText(lang, {
				"ko": "사용불가",
				"en": "Cannot be used",
				"cn": "不可使用",
				"jp": "使用不可"
			}));
			_g_pwd = false;
		}	
	});
}
function fnMaxLengthCheck(object){
	if (object.value.length > object.maxLength){
	    object.value = object.value.slice(0, object.maxLength);
	}    
}
