/**
 * 회원 관련
 *
 * @date 2009-08-11
 * @author 맹 준영 (jymaeng@simplexi.com)
 */

var MemberRegist = {
	posiColor : "#4bf9ff",
	posiColorBgWhite : "#0ebcbc",
	posiColor4Global : "#1b87d4",
	negaColor : "#f70303",
	shopCreateCheckUserID : "",
	cid : 1,
	subCid : 0,
	freeDesignUserId : "",
	globalMode : "cn",

	userType : function (type) {
		switch (type) {
			case "K": // 개인회원
				$("userTypeLabel1").className = "ctxt_on";
				$("userTypeLabel2").className = "ctxt_off";
				$("userTypeLabel3").className = "ctxt_off";
				$("userTypeLabel4").className = "ctxt_off";
			
				$("mem_c_1").show();
				$("mem_c_2").hide();
				$("mem_c_3").hide();
				$("sili_1").show();
				$("sili_6").hide();
				break;
				
			case "B": // 법인회원
				$("userTypeLabel1").className = "ctxt_off";
				$("userTypeLabel2").className = "ctxt_on";
				$("userTypeLabel3").className = "ctxt_off";
				$("userTypeLabel4").className = "ctxt_off";
			
				$("mem_c_1").hide();
				$("mem_c_2").show();
				$("mem_c_3").hide();
				break;
				
			case "H": // 외국인회원
				$("userTypeLabel1").className = "ctxt_off";
				$("userTypeLabel2").className = "ctxt_off";
				$("userTypeLabel3").className = "ctxt_on";
				$("userTypeLabel4").className = "ctxt_off";
			
				$("mem_c_1").hide();
				$("mem_c_2").hide();
				$("mem_c_3").show();
				break;
				
			case "K2": // 14세미만 회원
				$("userTypeLabel1").className = "ctxt_off";
				$("userTypeLabel2").className = "ctxt_off";
				$("userTypeLabel3").className = "ctxt_off";
				$("userTypeLabel4").className = "ctxt_on";
			
				$("mem_c_1").show();
				$("mem_c_2").hide();
				$("mem_c_3").hide();
				$("sili_1").hide();
				$("sili_6").show();
				break;
		}

		type = (type == "K2") ? "K" : type;

		$("userTypeValue").value = type;
	},

	ssnType : function (type) {
		if ($("userTypeValue").value == "H") {
			$("ssnTypeValue").value = type;

			switch (type) {
				case 0: // 여권번호
					$("ssnTypeLabel1").className = "ctxt_on";
					$("ssnTypeLabel2").className = "ctxt_off";
					break;

				case 1: // 외국인등록중번호
					$("ssnTypeLabel1").className = "ctxt_off";
					$("ssnTypeLabel2").className = "ctxt_on";
					break;
			}

			$("foreignNum").value = "";
		}
	},

	ssnTabMove : function (value) {
		if (value.isnum() == false) {
			$("ssn1").value = '';
		}

		if (value.length == 6) {
			$("ssn2").focus();
		}
	},

	nameAuth : function () {
		name = $("name").value;
		ssn1 = $("ssn1").value;
		ssn2 = $("ssn2").value;

		if (name.isempty() == true) {
			alert("이름을 입력해주세요.");
			$("nameAuth").value = "F";
			return false;
		}

		if (ssn1.isempty() == true || ssn2.isempty() == true) {
			alert("주민등록번호를 입력해주세요.");
			$("nameAuth").value = "F";
			return false;
		}

		if (ssn1.isnum() == false || ssn2.isnum() == false) {
			alert("주민등록번호는 숫자만 입력이 가능합니다.");
			$("nameAuth").value = "F";
			return false;
		}

		if (ssn1.length != 6 || ssn2.length != 7) {
			alert("주민등록번호가 잘못 되었습니다. 다시 확인하여 주세요.");
			$("nameAuth").value = "F";
			return false;
		}

		ssn = ssn1 + ssn2;

		if (ssn.isssn() == false) {
			alert("주민등록번호가 잘못 되었습니다. 다시 확인하여 주세요.");
			$("nameAuth").value = "F";
			return false;
		}

		url = "&name=" + encodeURIComponent(name);
		url  += "&ssn1=" + ssn1;
		url  += "&ssn2=" + ssn2;

		engine = new Engine();

		engine.execute("POST", "/Member/index.php", "url=NameAuth" + url, "MemberRegist.nameAuthResult");
	},

	nameAuthResult : function (response) {
		res = response.evalJSON();

		switch (res.result) {
			case "empty_name": 
				alert("이름을 입력하세요.");
				$("sili_1").show();
				$("sili_2").hide();
				$("sili_3").hide();
				$("sili_4").hide();
				$("sili_5").hide();
				$("sili_6").hide();
				$("nameAuth").value = "F";
				break;
			
			case "empty_ssn1": case "empty_ssn2":
				alert("주민등록번호를 입력해주세요.");
				$("sili_1").show();
				$("sili_2").hide();
				$("sili_3").hide();
				$("sili_4").hide();
				$("sili_5").hide();
				$("sili_6").hide();
				$("nameAuth").value = "F";
				break;

			case "length_ssn": case "error_ssn":
				alert("잘못된 주민등록번호 입니다.");
				$("sili_1").show();
				$("sili_2").hide();
				$("sili_3").hide();
				$("sili_4").hide();
				$("sili_5").hide();
				$("sili_6").hide();
				$("nameAuth").value = "F";
				break;

			case "bad_ssn":
				alert("고객님의 주민번호는 불량이용자로 등록되어 있습니다.\n카페24 EC호스팅으로 문의해주시기 바랍니다 (이메일 : echosting@cafe24.com, 전화: 02-3284-0383");
				$("sili_1").show();
				$("sili_2").hide();
				$("sili_3").hide();
				$("sili_4").hide();
				$("sili_5").hide();
				$("sili_6").hide();
				$("nameAuth").value = "F";
				break;

			case "error_age":
				$("sili_1").hide();
				$("sili_2").hide();
				$("sili_3").hide();
				$("sili_4").hide();
				$("sili_5").hide();
				$("sili_6").show();
				$("nameAuth").value = "T";
				break;

			case "error_age2":
				$("sili_1").hide();
				$("sili_2").hide();
				$("sili_3").hide();
				$("sili_4").hide();
				$("sili_5").hide();
				$("sili_6").show();
				$("nameAuth").value = "T";
				break;

			case "exist":
				var getParams = "";

				if (document.getElementsByName("social")[0].value == "T") {
					getParams = "&social=T";
				}

				if (document.getElementsByName("naverMiniShop")[0].value == "T") {
					getParams = "&naverMiniShop=T";
				}

				if ($("registType").value != "new") {
					alert("* 실명인증 결과 고객님께서는 카페24에 아이디를 가지고 계신 것으로 확인됩니다.\n 처음 가입한 아이디로 로그인 후 이용해 주세요.\n\n* 카페24에서는 쇼핑몰 아이디를 제한없이 발급해드립니다.");
					location.replace("/Member/index.php?url=Registed&login=exist"+getParams);
				} else {
					location.replace("/Member/index.php?url=Registed"+getParams);
				}
				break;
			
			case "fail":
				$("sili_1").hide();
				$("sili_2").hide();
				$("sili_3").hide();
				$("sili_4").hide();
				$("sili_5").show();
				$("sili_6").hide();
				$("nameAuth").value = "F";
				break;
			
			case "success":	
				$("sili_1").hide();
				$("sili_2").show();
				$("sili_3").hide();
				$("sili_4").hide();
				$("sili_5").hide();
				$("sili_6").hide();
				$("nameAuth").value = "T";
				break;
		}
	},

	cafe24mailMake : function (checked) {
		if (checked == true) {
			$("mailSelector").options[0].selected = true;
			$("mailSelector").disabled = true;
			$("mailFront").value = $("userid").value;
			$("mailFront").readOnly = true;
			$("mailRear").readOnly = true;
			$("mailRear").value = "cafe24mail.com";
		} else {
			$("mailSelector").disabled = false;
			$("mailFront").readOnly = false;
			$("mailRear").readOnly = false;
			$("mailFront").value = "";
			$("mailRear").value = "";
		}
	},

	mailRearChange : function (mailRear) {
		if (mailRear == "direct" || mailRear == "") {
			$("mailRear").value = "";
			$("mailRear").readOnly = false;
			$("mailRear").focus();
		} else {
			mailRearObj = $("mailRear");
			mailRearObj.readOnly = true;
			mailRearObj.value = mailRear;
		}
	},

	phoneType : function (type) {
		$("phone1").value = "";
		$("phone1Change").options[0].selected = true;
		$("phoneTypeValue").value = type;

		switch (type) {
			case 1: // 휴대폰번호
				$("phoneTypeLabel1").className = "ctxt_on";
				$("phoneTypeLabel2").className = "ctxt_off";

				$("phone1ChangeLayer").show();
				$("phone1span").hide();
				break;

			case 2: // 유선전화번호
				$("phoneTypeLabel1").className = "ctxt_off";
				$("phoneTypeLabel2").className = "ctxt_on";

				$("phone1ChangeLayer").hide();
				$("phone1span").show();
				break;
		}
	},

	phone1Change : function (phone1) {
		$("phone1").value = phone1;
	},

	layerAlertShow : function (objName) {
		obj = $(objName);
		cl_on(obj);
		
		switch (objName) {
			case "userid":
				this.useridExistCheck($(objName).value);
				break;

			case "passwd":
				$(objName + "CheckLayer").show();
				break;

			case "passwd2":
				$(objName + "CheckLayer").show();
				break;
		}
	},

	layerAlertHide : function (objName) {
		obj = $(objName);
		$(objName + "CheckLayer").hide();
		cl_off(obj);
	},

	inputCheck : function (value) {
		charASCII = value.charCodeAt(value.length-1);

		result = 'ok';

		if (charASCII >= 48 && charASCII <= 57) {
			result = 'num'; // 숫자
		} else if ((charASCII >= 65 && charASCII <= 90) || (charASCII >= 97 && charASCII <= 122)) {
			result = 'eng'; // 영문
		} else if ((charASCII >= 33 && charASCII <= 47)
					|| (charASCII >= 58 && charASCII <= 64)
					|| (charASCII >= 91 && charASCII <= 96)
					|| (charASCII >= 123 && charASCII <= 126)) {
			result = 'special'; // 특수문자
		} else if ((charASCII >= 12592 ) || ( charASCII <= 12687)) {
			result = 'kor'; // 한글
		}

		return result;
	},

	useridExistCheck : function (userid, parentid) {
		$("useridCheckLayer").show();

		if (userid.isempty() == true) {
			$("useridCheckResult").innerHTML = "<span style=\"color:"+this.negaColor+";\">아이디를 입력하세요.</span>";
			$("useridCheck").value = "F";
			return false;
		}

		inputCheckResult = this.inputCheck(userid);

		if (inputCheckResult == 'special') {
			$("useridCheckResult").innerHTML = "아이디에 <span style=\"color:"+this.negaColor+";\">특수문자</span>는 사용할 수 없습니다.";
			$("useridCheck").value = "F";
			return false;
		}

		if (inputCheckResult == 'kor') {
			$("useridCheckResult").innerHTML = "아이디에 <span style=\"color:"+this.negaColor+";\">한글</span>은 사용할 수 없습니다.";
			$("useridCheck").value = "F";
			return false;
		}

		try {
			if ($("mailMake").checked == true) {
				$("mailFront").value = userid;
			}
		} catch (e) {}

		if (userid.iskorean() == true) {
			$("useridCheckResult").innerHTML = "아이디는 <span style=\"color:"+this.negaColor+";\">영문, 숫자</span>만 사용가능 합니다.";
			$("useridCheck").value = "F";
			return false;
		}

		patternTemp = /^ecdemo[0-9]*$/;
		if (patternTemp.test(userid) == true) {
			$("useridCheckResult").innerHTML = "<span style=\"color:"+this.negaColor+";\">'ecdemo'로 시작하여 숫자로 끝나는</span> 아이디는 신청하실 수 없습니다.";
			$("useridCheck").value = "F";
			return false;
		}

		if (userid.strip() == 'addsvc') {
			$("useridCheckResult").innerHTML = "<span style=\"color:"+this.negaColor+";\">'addsvc'</span>는 신청할 수 없는 아이디입니다.";
			$("useridCheck").value = "F";
			return false;
		}

		patternTemp = /^addsvc[0-9]*$/;
		if (patternTemp.test(userid) == true) {
			$("useridCheckResult").innerHTML = "<span style=\"color:"+this.negaColor+";\">'addsvc'로 시작하여 숫자로 끝나는</span> 아이디는 신청하실 수 없습니다.";
			$("useridCheck").value = "F";
			return false;
		}

		patternTemp = /^phone[0-9]*$/;
		if (patternTemp.test(userid) == true) {
			$("useridCheckResult").innerHTML = "<span style=\"color:"+this.negaColor+";\">'phone'로 시작하여 숫자로 끝나는</span> 아이디는 신청하실 수 없습니다.";
			$("useridCheck").value = "F";
			return false;
		}

		patternTemp = /^bizdemo[0-9]*$/;
		if (patternTemp.test(userid) == true) {
			$("useridCheckResult").innerHTML = "<span style=\"color:"+this.negaColor+";\">'bizdemo'로 시작하여 숫자로 끝나는</span> 아이디는 신청하실 수 없습니다.";
			$("useridCheck").value = "F";
			return false;
		}

		patternTemp = /^eclog[0-9]*$/;
		if (patternTemp.test(userid) == true) {
			$("useridCheckResult").innerHTML = "<span style=\"color:"+this.negaColor+";\">'eclog'로 시작하여 숫자로 끝나는</span> 아이디는 신청하실 수 없습니다.";
			$("useridCheck").value = "F";
			return false;
		}

		patternTemp = /^builderlog[0-9]*$/;
		if (patternTemp.test(userid) == true) {
			$("useridCheckResult").innerHTML = "<span style=\"color:"+this.negaColor+";\">'builderlog'로 시작하여 숫자로 끝나는</span> 아이디는 신청하실 수 없습니다.";
			$("useridCheck").value = "F";
			return false;
		}

		patternTemp = /^cdn[0-9]*$/;
		if (patternTemp.test(userid) == true) {
			$("useridCheckResult").innerHTML = "<span style=\"color:"+this.negaColor+";\">'cdn'로 시작하여 숫자로 끝나는</span> 아이디는 신청하실 수 없습니다.";
			$("useridCheck").value = "F";
			return false;
		}

		patternTemp = /^dct[0-9a-z]*$/;
		if (patternTemp.test(userid) == true) {
			$("useridCheckResult").innerHTML = "<span style=\"color:"+this.negaColor+";\">'dct'로 시작</span>하는 아이디는 신청하실 수 없습니다.";
			$("useridCheck").value = "F";
			return false;
		}

		if (parentid != "ect006") {
			patternTemp = /^ect[0-9a-z]*$/;
			if (patternTemp.test(userid) == true) {
				$("useridCheckResult").innerHTML = "<span style=\"color:"+this.negaColor+";\">'ect'로 시작</span>하는 아이디는 신청하실 수 없습니다.";
				$("useridCheck").value = "F";
				return false;
			}
		}

		patternTemp = /^demo[0-9]*$/;
		if (patternTemp.test(userid) == true) {
			$("useridCheckResult").innerHTML = "<span style=\"color:"+this.negaColor+";\">'demo'로 시작하여 숫자로 끝나는</span> 아이디는 신청하실 수 없습니다.";
			$("useridCheck").value = "F";
			return false;
		}

		patternTemp = /^prv[0-9]*$/;
		if (patternTemp.test(userid) == true) {
			$("useridCheckResult").innerHTML = "<span style=\"color:"+this.negaColor+";\">'prv'로 시작하여 숫자로 끝나는</span> 아이디는 신청하실 수 없습니다.";
			$("useridCheck").value = "F";
			return false;
		}

		var naverMiniShop = (document.getElementsByName("naverMiniShop")[0].value == "T") ? "T" : "F";

		engine = new Engine();

		engine.execute("POST", "/Member/index.php", "url=ID_Check&userid="+userid+"&naverMiniShop="+naverMiniShop, "MemberRegist.useridExistCheckResult");
	},

	useridExistCheckResult : function (response) {
		res = response.evalJSON();

		switch (res.result) {
			case "empty": 
				$("useridCheckResult").innerHTML = "<span style=\"color:"+this.negaColor+";\">아이디를 입력하세요.</span>";
				$("useridCheck").value = "F";
				break;
			
			case "alnum":
				$("useridCheckResult").innerHTML = "아이디는 <span style=\"color:"+this.negaColor+";\">영문, 숫자</span>만 사용가능 합니다.";
				$("useridCheck").value = "F";
				break;

			case "firstnum":
				$("useridCheckResult").innerHTML = "아이디는 <span style=\"color:"+this.negaColor+";\">숫자</span>로 시작할 수 없습니다.";
				$("useridCheck").value = "F";
				break;

			case "length":
				$("useridCheckResult").innerHTML = "아이디는 <span style=\"color:"+this.negaColor+";\">4자리 ~ 16자리</span>만 사용가능 합니다.";
				$("useridCheck").value = "F";
				break;

			case "length10":
				$("useridCheckResult").innerHTML = "아이디는 <span style=\"color:"+this.negaColor+";\">4자리 ~ 10자리</span>만 사용가능 합니다.";
				$("useridCheck").value = "F";
				break;

			case "exist":
				$("useridCheckResult").innerHTML = $("userid").value + " 는 <span style=\"color:"+this.negaColor+";\">이미 등록된 아이디</span> 입니다.";
				$("useridCheck").value = "F";
				break;

			case "log":
				$("useridCheckResult").innerHTML = $("userid").value + " 는 <span style=\"color:"+this.negaColor+";\">회원 가입이 신청된 아이디</span> 입니다.";
				$("useridCheck").value = "F";
				break;

			case "success": case "log":
				$("useridCheckResult").innerHTML = $("userid").value + " 는 <span style=\"color:"+this.posiColor+";\">사용 가능한 아이디</span> 입니다.";
				$("useridCheck").value = "T";
				break;
		}
	},

	useridExistCheck4Global : function (userid, parentid, mode) {
		this.globalMode = mode;

		if (userid.isempty() == true) {
			$("useridCheckResult"+this.globalMode).innerHTML = "<span style=\"color:"+this.negaColor+";\">아이디를 입력하세요.</span>";
			$("useridCheck"+this.globalMode).value = "F";
			return false;
		}

		inputCheckResult = this.inputCheck(userid);

		if (inputCheckResult == 'special') {
			$("useridCheckResult"+this.globalMode).innerHTML = "아이디에 <span style=\"color:"+this.negaColor+";\">특수문자</span>는 사용할 수 없습니다.";
			$("useridCheck"+this.globalMode).value = "F";
			return false;
		}

		if (inputCheckResult == 'kor') {
			$("useridCheckResult"+this.globalMode).innerHTML = "아이디에 <span style=\"color:"+this.negaColor+";\">한글</span>은 사용할 수 없습니다.";
			$("useridCheck"+this.globalMode).value = "F";
			return false;
		}

		try {
			if ($("mailMake").checked == true) {
				$("mailFront").value = userid;
			}
		} catch (e) {}

		if (userid.iskorean() == true) {
			$("useridCheckResult"+this.globalMode).innerHTML = "아이디는 <span style=\"color:"+this.negaColor+";\">영문, 숫자</span>만 사용가능 합니다.";
			$("useridCheck"+this.globalMode).value = "F";
			return false;
		}

		patternTemp = /^ecdemo[0-9]*$/;
		if (patternTemp.test(userid) == true) {
			$("useridCheckResult"+this.globalMode).innerHTML = "<span style=\"color:"+this.negaColor+";\">'ecdemo'로 시작하여 숫자로 끝나는</span> 아이디는 신청하실 수 없습니다.";
			$("useridCheck"+this.globalMode).value = "F";
			return false;
		}

		if (userid.strip() == 'addsvc') {
			$("useridCheckResult"+this.globalMode).innerHTML = "<span style=\"color:"+this.negaColor+";\">'addsvc'</span>는 신청할 수 없는 아이디입니다.";
			$("useridCheck"+this.globalMode).value = "F";
			return false;
		}

		patternTemp = /^addsvc[0-9]*$/;
		if (patternTemp.test(userid) == true) {
			$("useridCheckResult"+this.globalMode).innerHTML = "<span style=\"color:"+this.negaColor+";\">'addsvc'로 시작하여 숫자로 끝나는</span> 아이디는 신청하실 수 없습니다.";
			$("useridCheck"+this.globalMode).value = "F";
			return false;
		}

		patternTemp = /^phone[0-9]*$/;
		if (patternTemp.test(userid) == true) {
			$("useridCheckResult"+this.globalMode).innerHTML = "<span style=\"color:"+this.negaColor+";\">'phone'로 시작하여 숫자로 끝나는</span> 아이디는 신청하실 수 없습니다.";
			$("useridCheck"+this.globalMode).value = "F";
			return false;
		}

		patternTemp = /^bizdemo[0-9]*$/;
		if (patternTemp.test(userid) == true) {
			$("useridCheckResult"+this.globalMode).innerHTML = "<span style=\"color:"+this.negaColor+";\">'bizdemo'로 시작하여 숫자로 끝나는</span> 아이디는 신청하실 수 없습니다.";
			$("useridCheck"+this.globalMode).value = "F";
			return false;
		}

		patternTemp = /^eclog[0-9]*$/;
		if (patternTemp.test(userid) == true) {
			$("useridCheckResult"+this.globalMode).innerHTML = "<span style=\"color:"+this.negaColor+";\">'eclog'로 시작하여 숫자로 끝나는</span> 아이디는 신청하실 수 없습니다.";
			$("useridCheck"+this.globalMode).value = "F";
			return false;
		}

		patternTemp = /^builderlog[0-9]*$/;
		if (patternTemp.test(userid) == true) {
			$("useridCheckResult"+this.globalMode).innerHTML = "<span style=\"color:"+this.negaColor+";\">'builderlog'로 시작하여 숫자로 끝나는</span> 아이디는 신청하실 수 없습니다.";
			$("useridCheck"+this.globalMode).value = "F";
			return false;
		}

		patternTemp = /^cdn[0-9]*$/;
		if (patternTemp.test(userid) == true) {
			$("useridCheckResult"+this.globalMode).innerHTML = "<span style=\"color:"+this.negaColor+";\">'cdn'로 시작하여 숫자로 끝나는</span> 아이디는 신청하실 수 없습니다.";
			$("useridCheck"+this.globalMode).value = "F";
			return false;
		}

		patternTemp = /^dct[0-9a-z]*$/;
		if (patternTemp.test(userid) == true) {
			$("useridCheckResult"+this.globalMode).innerHTML = "<span style=\"color:"+this.negaColor+";\">'dct'로 시작</span>하는 아이디는 신청하실 수 없습니다.";
			$("useridCheck"+this.globalMode).value = "F";
			return false;
		}

		if (parentid != "ect006") {
			patternTemp = /^ect[0-9a-z]*$/;
			if (patternTemp.test(userid) == true) {
				$("useridCheckResult"+this.globalMode).innerHTML = "<span style=\"color:"+this.negaColor+";\">'ect'로 시작</span>하는 아이디는 신청하실 수 없습니다.";
				$("useridCheck"+this.globalMode).value = "F";
				return false;
			}
		}

		engine = new Engine();

		engine.execute("POST", "/Member/index.php", "url=ID_Check&userid=" + userid, "MemberRegist.useridExistCheckResult4Global");
	},

	useridExistCheckResult4Global : function (response) {
		res = response.evalJSON();

		switch (res.result) {
			case "empty": 
				$("useridCheckResult"+MemberRegist.globalMode).innerHTML = "<span style=\"color:"+this.negaColor+";\">아이디를 입력하세요.</span>";
				$("useridCheck"+MemberRegist.globalMode).value = "F";
				break;
			
			case "alnum":
				$("useridCheckResult"+MemberRegist.globalMode).innerHTML = "아이디는 <span style=\"color:"+this.negaColor+";\">영문, 숫자</span>만 사용가능 합니다.";
				$("useridCheck"+MemberRegist.globalMode).value = "F";
				break;

			case "firstnum":
				$("useridCheckResult"+MemberRegist.globalMode).innerHTML = "아이디는 <span style=\"color:"+this.negaColor+";\">숫자</span>로 시작할 수 없습니다.";
				$("useridCheck"+MemberRegist.globalMode).value = "F";
				break;

			case "length":
				$("useridCheckResult"+MemberRegist.globalMode).innerHTML = "아이디는 <span style=\"color:"+this.negaColor+";\">4자리 ~ 16자리</span>만 사용가능 합니다.";
				$("useridCheck"+MemberRegist.globalMode).value = "F";
				break;

			case "exist":
				$("useridCheckResult"+MemberRegist.globalMode).innerHTML = $("userid"+MemberRegist.globalMode).value + " 는 <span style=\"color:"+this.negaColor+";\">이미 등록된 아이디</span> 입니다.";
				$("useridCheck"+MemberRegist.globalMode).value = "F";
				break;

			case "log":
				$("useridCheckResult"+MemberRegist.globalMode).innerHTML = $("userid"+MemberRegist.globalMode).value + " 는 <span style=\"color:"+this.negaColor+";\">회원 가입이 신청된 아이디</span> 입니다.";
				$("useridCheck"+MemberRegist.globalMode).value = "F";
				break;

			case "success": case "log":
				$("useridCheckResult"+MemberRegist.globalMode).innerHTML = $("userid"+MemberRegist.globalMode).value + " 는 <span style=\"color:"+this.posiColor4Global+";\">사용 가능한 아이디</span> 입니다.";
				$("useridCheck"+MemberRegist.globalMode).value = "T";
				break;
		}
	},

	capsLockCheck : function (e) {
		// onKeyPress
		var myKeyCode=0;
		var myShiftKey=false;

		if ( document.all ) {
			myKeyCode=event.keyCode;
			myShiftKey=event.shiftKey;
		// Netscape 4
		} else if ( document.layers ) {
			myKeyCode=e.which;
			myShiftKey=( myKeyCode == 16 ) ? true : false;

		// Netscape 6
		} else if ( document.getElementById ) {
			myKeyCode=e.which;
			myShiftKey=( myKeyCode == 16 ) ? true : false;
		}

		if ( ( myKeyCode >= 65 && myKeyCode <= 90 ) && !myShiftKey ) {
			$("capslockAlert").show();
		} else if ( ( myKeyCode >= 97 && myKeyCode <= 122 ) && myShiftKey ) {
			$("capslockAlert").show();
		}else{
			$("capslockAlert").hide();
		}
	},

	passwdCheck : function (passwd) {
		// onKeyUp
		$("passwdCheckLayer").show();
/*
		if (document.getElementById("passwd").value.substr(0, 1) == "@") {
			$("passwdCheckResult").innerHTML = "사용불가 : 비밀번호 맨 앞자리에 @은 사용할 수 없습니다.";
			$("passwdLevel").innerHTML = "암호 보안수준";
			$("passwdCheck").value = "F";
			return false;
		}
*/
		var passwdCheckResult = PasswordCheck.check("passwd", $("userid").value);

		switch (passwdCheckResult){
			case "empty":
				$("passwdCheckResult").innerHTML = "비밀번호를 입력해주세요.";
				$("passwdLevel").innerHTML = "암호 보안수준";
				$("passwdCheck").value = "F";
				return false;
				break;

			case "semicolon": case "ampersand": case "verticalbar":
			case "percentsign": case "grave": case "quotationmark":
			case "equalsign": case "crosshatch": case "questionmark":
				$("passwdCheckResult").innerHTML = "사용불가 : 특수문자 중 ; & | % ' \" = # ? 는 사용하실 수 없습니다.";
				$("passwdLevel").innerHTML = "암호 보안수준";
				$("passwdCheck").value = "F";
				return false;
				break;
			
			case "consecutivewords4":
				$("passwdCheckResult").innerHTML = "사용불가 : 비밀번호는 4자이상 연속된 문자로 사용하실 수 없습니다.";
				$("passwdLevel").innerHTML = "암호 보안수준";
				$("passwdCheck").value = "F";
				return false;
				break;

			case "samewords3":
				$("passwdCheckResult").innerHTML = "사용불가 : 비밀번호는 동일문자를 3자이상 반복하여 사용할 수 없습니다.";
				$("passwdLevel").innerHTML = "암호 보안수준";
				$("passwdCheck").value = "F";
				return false;
				break;

			case "equalid":
				$("passwdCheckResult").innerHTML = "사용불가 : 비밀번호는 아이디와 동일하게 사용이 불가능 합니다.";
				$("passwdLevel").innerHTML = "암호 보안수준";
				$("passwdCheck").value = "F";
				return false;
				break;
 
			case "wordmixless": case "length8less": case "length16greater": case "korean": case "notallowword": case "space":
				$("passwdCheckResult").innerHTML = "<span style=\"letter-spacing:-2px;\">영문 대소문자, 숫자, 특수문자 중 두가지 이상 조합으로 8자리~16자리입니다.</span>";
				$("passwdLevel").innerHTML = "암호 보안수준";
				$("passwdCheck").value = "F";
				return false;
				break;

			case "high": case "medium": case "low":
				switch (passwdCheckResult) {
					case "high":
						$("passwdLevel").innerHTML = "암호 보안수준 : <span style=\"color:#69f;\">높음</span>";
						break;

					case "medium":
						$("passwdLevel").innerHTML = "암호 보안수준 : <span style=\"color:#f93;\">중간</span>";
						break;

					case "low":
						$("passwdLevel").innerHTML = "암호 보안수준 : <span style=\"color:#f00;\">낮음</span>";
						break;
				}

				$("passwdCheckResult").innerHTML = "사용 가능한 비밀번호입니다.";
				$("passwdCheck").value = "T";
				break;

			default:
				$("passwdCheckResult").innerHTML = "<span style=\"letter-spacing:-2px;\">영문 대소문자, 숫자, 특수문자 중 두가지 이상 조합으로 8자리~16자리입니다.</span>";
				$("passwdLevel").innerHTML = "암호 보안수준";
				$("passwdCheck").value = "F";
				return false;
				break;
		}
	},

	passwdCheck4Global : function (passwd, parentID) {
		// onKeyUp
		$("passwdCheckLayer").show();

		var passwdCheckResult = PasswordCheck.check("passwd", parentID);

		switch (passwdCheckResult){
			case "empty":
				$("passwdCheckResult").innerHTML = "비밀번호를 입력해주세요.";
				$("passwdLevel").innerHTML = "암호 보안수준";
				$("passwdCheck").value = "F";
				return false;
				break;

			case "semicolon": case "ampersand": case "verticalbar":
			case "percentsign": case "grave": case "quotationmark":
			case "equalsign": case "crosshatch": case "questionmark":
				$("passwdCheckResult").innerHTML = "사용불가 : 특수문자 중 ; & | % ' \" = # ? 는 사용하실 수 없습니다.";
				$("passwdLevel").innerHTML = "암호 보안수준";
				$("passwdCheck").value = "F";
				return false;
				break;
			
			case "consecutivewords4":
				$("passwdCheckResult").innerHTML = "사용불가 : 비밀번호는 4자이상 연속된 문자로 사용하실 수 없습니다.";
				$("passwdLevel").innerHTML = "암호 보안수준";
				$("passwdCheck").value = "F";
				return false;
				break;

			case "samewords3":
				$("passwdCheckResult").innerHTML = "사용불가 : 비밀번호는 동일문자를 3자이상 반복하여 사용할 수 없습니다.";
				$("passwdLevel").innerHTML = "암호 보안수준";
				$("passwdCheck").value = "F";
				return false;
				break;

			case "equalid":
				$("passwdCheckResult").innerHTML = "사용불가 : 비밀번호는 아이디와 동일하게 사용이 불가능 합니다.";
				$("passwdLevel").innerHTML = "암호 보안수준";
				$("passwdCheck").value = "F";
				return false;
				break;
 
			case "wordmixless": case "length8less": case "length16greater": case "korean": case "notallowword": case "space":
				$("passwdCheckResult").innerHTML = "<span style=\"letter-spacing:-2px;\">영문 대소문자, 숫자, 특수문자 중 두가지 이상 조합으로 8자리~16자리입니다.</span>";
				$("passwdLevel").innerHTML = "암호 보안수준";
				$("passwdCheck").value = "F";
				return false;
				break;

			case "high": case "medium": case "low":
				switch (passwdCheckResult) {
					case "high":
						$("passwdLevel").innerHTML = "암호 보안수준 : <span style=\"color:#69f;\">높음</span>";
						break;

					case "medium":
						$("passwdLevel").innerHTML = "암호 보안수준 : <span style=\"color:#f93;\">중간</span>";
						break;

					case "low":
						$("passwdLevel").innerHTML = "암호 보안수준 : <span style=\"color:#f00;\">낮음</span>";
						break;
				}

				$("passwdCheckResult").innerHTML = "사용 가능한 비밀번호입니다.";
				$("passwdCheck").value = "T";
				break;

			default:
				$("passwdCheckResult").innerHTML = "<span style=\"letter-spacing:-2px;\">영문 대소문자, 숫자, 특수문자 중 두가지 이상 조합으로 8자리~16자리입니다.</span>";
				$("passwdLevel").innerHTML = "암호 보안수준";
				$("passwdCheck").value = "F";
				return false;
				break;
		}
	},

	passwdLevelCheck : function (passwd) {
		level = 0;

		if (passwd.match(/[a-z]/)) {
			level++;
		}

		if (passwd.match(/[0-9] + /)) {
			level++;
		}

		if (passwd.length >= 12) {
			level++;
		}

		return level;
	},

	passwd2Check : function (passwd2) {
		$("passwd2CheckLayer").show();

		passwd = $('passwd').value;

		if (passwd2.isempty() == true) {
			$("passwd2CheckResult").innerHTML = "확인용 비밀번호를 입력하세요.";
			$("passwd2Check").value = "F";
			return false;
		}

		if (passwd.isempty() == true) {
			$("passwd2CheckResult").innerHTML = "비밀번호를 입력하세요.";
			$("passwd2Check").value = "F";
			return false;
		}

		if (passwd != passwd2) {
			$("passwd2CheckResult").innerHTML = "<span style=\"color:"+this.negaColor+";\">입력하신 비밀번호와 일치하지 않습니다.</span>";
			$("passwd2Check").value = "F";
			return false;
		} else {
			$("passwd2CheckResult").innerHTML = "<span style=\"color:"+this.posiColor+";\">입력하신 비밀번호와 일치합니다.</span>";
			$("passwd2Check").value = "T";
			return false;
		}
	},

	showList4DesignType : function (type, freedesignMode) {
		try {
			var ver = document.getElementsByName("ver")[0].value;
		} catch (e) {
			var ver = 1;
		}

		$("season2").value = (type == 3) ? "T" : "F";

		$("designType").value = type;

		$("designList").innerHTML = '<br /><img src="/img/ajaxload.gif" style="width:16px;height:16px;border:0;" /> 목록을 갱신 중입니다.';

		engine = new Engine();

		freeMode = (freedesignMode) ? "T": "F";
		engine.execute("POST", "/Member/index.php", "url=Design_XHR&cid=" + this.cid + "&ver=" + ver + "&subCid=" + this.subCid + "&season2=" + $("season2").value + "&designType=" + type + "&freeMode=" + freeMode, "MemberRegist.showListResult");
	},

	showList : function (cid, page, subCid) {
		for (i = 1; i <= 6; i++) {
			if (i != cid) {
				$("designTopMenu_"+i).className = "off";
				$("subDesignTab_" + i).hide();
			} else {
				$("designTopMenu_"+i).className = "on";
				$("subDesignTab_" + i).show();

				for (j = 0; j <= 300; j++) {
					if (j == subCid) {
						$("subCategory_" + i + "_" + j).className = "on";
					} else {
						try {
							$("subCategory_" + i + "_" + j).className = "";
						} catch (e) {}
					}
				}
			}
		}

		$("designList").innerHTML = '<br /><img src="/img/ajaxload.gif" style="width:16px;height:16px;border:0;" /> 목록을 갱신 중입니다.';

		this.cid = cid;
		this.subCid = subCid;

		try {
			var ver = document.getElementsByName("ver")[0].value;
		} catch (e) {
			var ver = 1;
		}

		engine = new Engine();

		engine.execute("POST", "/Member/index.php", "url=Design_XHR&cid=" + cid + "&ver=" + ver + "&subCid=" + subCid + "&season2=" + $("season2").value + "&designType=" + $("designType").value, "MemberRegist.showListResult");
	},

	showListResult : function (response) {
		$("designList").innerHTML = response;

		try {
			initMoving(document.getElementById("designSubmitLayer"), 150, 740, 290);
		} catch (e) {}
	},

	showList4Freedesign : function (cid, page, subCid, season2) {
		for (i = 1; i <= 7; i++) {
			if (i != cid) {

				$("tabImage_" + i).src = 'http://img.cafe24.com/images/ec_admin/btn/tab_fds_00' + i + '_off.gif';
				$("subDesignTab_" + i).hide();
			} else {
				$("tabImage_" + i).src = 'http://img.cafe24.com/images/ec_admin/btn/tab_fds_00' + i + '_on.gif';
				$("subDesignTab_" + i).show();

				for (j = 0; j <= 300; j++) {
					if (j == subCid) {
						$("subCategory_" + i + "_" + j).className = "tab_s_txt_on";
					} else {
						try {
							$("subCategory_" + i + "_" + j).className = "";
						} catch (e) {}
					}
				}
			}
		}

		var stringParam = (season2 === true) ? "&season2=T" : "&designType=" + $("designType").value + "&season2=F";

		$("designList").innerHTML = '<br /><img src="/img/ajaxload.gif" style="width:16px;height:16px;border:0;" /> 목록을 갱신 중입니다.';

		this.cid = cid;
		this.subCid = subCid;

		try {
			var ver = document.getElementsByName("ver")[0].value;
		} catch (e) {
			var ver = 1;
		}

		engine = new Engine();

		engine.execute("POST", "/Member/index.php", "url=Design_XHR&cid=" + cid + "&ver=" + ver + "&subCid=" + subCid + stringParam + "&freeMode=T", "MemberRegist.showListResult")
	},

	selectDesign : function (cid, obj) {
		$("categoryId").value = cid;
		$("designId").value = obj.value;
	},

	b2bSelect : function (b2bUse) {
		$("b2bUse").value = b2bUse;

		switch (b2bUse) {
			case "T":
				$("b2bTab_1").src = "https://img.cafe24.com/images/ec_re09/member/tab_521_on.gif";
				$("b2bTab_2").src = "https://img.cafe24.com/images/ec_re09/member/tab_522_off.gif";

				$("b2bList").show();
				$("b2bNotUse").hide();
				break;
			
			case "F":
				$("b2bTab_1").src = "https://img.cafe24.com/images/ec_re09/member/tab_521_off.gif";
				$("b2bTab_2").src = "https://img.cafe24.com/images/ec_re09/member/tab_522_on.gif";

				$("b2bList").hide();
				$("b2bNotUse").show();
				break;
		}
	},

	partnerSelect : function (obj) {
		$("partnerId").value = obj.value;

		switch (obj.value) {
			case "styleb2b":
				partnerNum = 0;
				break;

			case "kiworld":
				partnerNum = 1;
				break;
/*
			case "makedome":
				partnerNum = 2;
				break;
*/
			case "hansgift":
				partnerNum = 2;
				break;
		}

		menu_h("pp1_", "blank_", 2, partnerNum);
	}, 

	addressSearch : function () {
		var keyword = $("keyword");

		if (keyword.value.isempty() == true) {
			alert("찾고자 하는 주소의 동(읍/면/리/가)명을 입력하세요.");
			keyword.focus();
			return false;
		}

		this.addressSearchXHR();

		return false;
	},

	addressSearchXHR : function () {
		engine = new Engine();

		engine.execute("POST", "/Member/index.php", "url=Zipcode_Search&keyword=" + $("keyword").value, "MemberRegist.addressSearchResult");
	},

	addressSearchResult : function (response) {
		$("searchResult").innerHTML = response;
	}, 

	setAddress : function (zipcode_1, zipcode_2, address) {
		var zip1 = $("zip1").value;
		var zip2 = $("zip2").value;
		var addr = $("addr").value;

		opener.$(zip1).value = zipcode_1;
		opener.$(zip2).value = zipcode_2;
		opener.$(addr).value = address;
		self.close();
	},

	addInfoUseCheck : function () {
		if ($("sreg_1").checked == true) {
			$("addInfoLayer").hide();
			menu_i('srn_',1,0);
		} else if ($("sreg_2").checked == true) {
			$("addInfoLayer").show();
			menu_i('srn_',1,1);
		}
	},

	designSelect : function (id, cid) {
		$("design_"+id).checked = true;
		$("categoryId").value = cid;
		$("designId").value = id;
	},

	shopCreateCheck : function () {
		if ($("shopCreateCompleted_1").getStyle("display") == "none") {
			engine = new Engine();

			engine.execute("POST", "/Member/index.php", "url=ShopCreateCheck&userID=" + this.shopCreateCheckUserID, "MemberRegist.shopCreateCheckResult");
		}
	},

	shopCreateCheckResult: function (response) {
		res = response.evalJSON();

		if (res.result == "create") {
			$("shopCreateProcessing_1").hide();
			$("shopCreateProcessing_2").hide();
			$("shopCreateProcessing_3").hide();
			$("shopCreateCompleted_1").show();
			$("shopCreateCompleted_2").show();
			$("shopCreateCompleted_3").show();
		} else {
			setTimeout("MemberRegist.shopCreateCheck()", 1000);
		}
	},

	shopCreateComplete : function () {
		$("shopCreateProcessing_1").hide();
		$("shopCreateProcessing_2").hide();
		$("shopCreateProcessing_3").hide();
		$("shopCreateCompleted_1").show();
		$("shopCreateCompleted_2").show();
		$("shopCreateCompleted_3").show();
	},

	personTypeSelect : function (type) {
		if (type == "S") {
			$("memberSSN").show();
			$("memberIPIN").hide();

			$("personTypeSsnLabel").className = "ctxt_on";
			$("personTypeIpinLabel").className = "ctxt_off";
		} else {
			$("memberSSN").hide();
			$("memberIPIN").show();

			$("personTypeSsnLabel").className = "ctxt_off";
			$("personTypeIpinLabel").className = "ctxt_on";
		}
	},

	callIPINpopup : function () {
		window.name = "echosting_ipin";
		window.open("/Member/index.php?url=Ipin", "popupIpin", "width=449, height=500");
	},

	registNumAuth : function (type) {
		var registNum = (type == 'B') ? $("corpNum").value : $("foreignNum").value;

		engine = new Engine();

		engine.execute("POST", "/Member/index.php", "url=RegistNumAuth&userTypeValue=" + type + "&registNum=" + registNum, "MemberRegist.registNumAuthResult");
	},

	registNumAuthResult : function (response) {
		res = response.evalJSON();

		switch (res.result) {
			case "exist_corpnum":
				alert("* 입력하신 법인등록번호는 이미 사용 중입니다.\n 처음 가입한 아이디로 로그인 후 이용해 주세요.\n\n* 카페24에서는 쇼핑몰 아이디를 제한없이 발급해드립니다.");
				location.replace("/Member/index.php?url=Registed&login=exist");
/*
				alert("입력하신 법인등록번호는 이미 사용 중입니다.");
				$("corpNum").focus();
				$("registSubmitBtn").show();
				$("processingImg").hide();
*/
				return false;
				break;

			case "exist_foreignnum":
				alert("* 입력하신 여권번호 또는 외국인등록증번호는 이미 사용 중입니다.\n 처음 가입한 아이디로 로그인 후 이용해 주세요.\n\n* 카페24에서는 쇼핑몰 아이디를 제한없이 발급해드립니다.");
				location.replace("/Member/index.php?url=Registed&login=exist");
				break;

			case "not_exist_corpnum":
				alert("입력하신 법인등록번호는 사용가능합니다.");
				break;

			case "not_exist_foreignnum":
				alert("입력하신 여권번호 또는 외국인 등록번호는 사용가능합니다.");
				break;
		}

		return false;
	},

	helpKey : function (event) {
		$("hosting_trafiic_layer").setStyle({
			"display" : "block"
			, 'top' : (Event.pointerY(event) - 10) + 'px'
			, 'left' : (Event.pointerX(event) - 480) + 'px'
		});
	},

	authLayer : function (event, layerName) {
		$(layerName).setStyle({
			"display" : "block"
			, 'top' : (Event.pointerY(event) + 20) + 'px'
			, 'left' : (Event.pointerX(event) - 500) + 'px'
		});
	},

	freeDesignSubmit : function (userId, season2) {
		if (userId == "") {
			alert("정상적인 접근이 아닙니다.");
			window.close();
		} else {
			if (parseInt($("categoryId").value) > 0 && $("designId").value != "NULL") {
				this.freeDesignUserId = userId;

				var queryString = (season2 == true) ? "&season2=T" : "";

				engine = new Engine();

				engine.execute("POST", "/Member/index.php", "url=Design_Proc&mallReq=T&user_id=" + userId + "&designId=" + $("designId").value + "&ver=1" + queryString, "MemberRegist.freeDesignSubmitResult");
			} else {
				alert("디자인을 선택해 주세요.");
			}
		}
	},

	freeDesignSubmitResult : function (response) {
		res = response.evalJSON();

		switch (res.result) {
			case "success":
				alert("무료디자인 변경요청이 완료되었습니다. 약 5분이내 적용예정입니다.");
				window.close();
				break;

			case "error_over":
				alert("스킨은 최대 10개까지만 보유 가능합니다.\n보유스킨수가 초과되어 복사할 수 없습니다.");
				break;
			
			default:
				alert("무료디자인 변경요청이 실패되었습니다. 관리자에게 문의 바랍니다.");
				window.close();
				break;
		}
	},

	pgResult : function (designCn, designJp, designEn, productCn, productJp, productEn, csCn, csJp, csEn, pgCn, pgJp, pgEn) {
		// 중국어몰 사용
		if ($("makeCn").checked == true) {
			$("pgUseCn").show();
			$("pgUseServiceCn").show();
			$("pgCnURI").innerHTML = "http://"+$("useridCn").value+".cafe24.com/";

			if (designCn == "T") {
				$("pgDesignCn").src = $("pgDesignCn").src.split(".gif")[0] + "_on.gif";
			}

			if (productCn == "T") {
				$("pgProductCn").src = $("pgProductCn").src.split(".gif")[0] + "_on.gif";
			}

			if (csCn == "T") {
				$("pgCsCn").src = $("pgCsCn").src.split(".gif")[0] + "_on.gif";
			}

			if (pgCn == "T") {
				$("pgPgCn").src = $("pgPgCn").src.split(".gif")[0] + "_on.gif";
			}
		}

		// 일본어몰 사용
		if ($("makeJp").checked == true) {
			$("pgUseJp").show();
			$("pgUseServiceJp").show();
			$("pgJpURI").innerHTML = "http://"+$("useridJp").value+".cafe24.com/";

			if (designJp == "T") {
				$("pgDesignJp").src = $("pgDesignJp").src.split(".gif")[0] + "_on.gif";
			}

			if (productJp == "T") {
				$("pgProductJp").src = $("pgProductJp").src.split(".gif")[0] + "_on.gif";
			}

			if (csJp == "T") {
				$("pgCsJp").src = $("pgCsJp").src.split(".gif")[0] + "_on.gif";
			}

			if (pgJp == "T") {
				$("pgPgJp").src = $("pgPgJp").src.split(".gif")[0] + "_on.gif";
			}
		}

		// 영어몰 사용
		if ($("makeEn").checked == true) {
			$("pgUseEn").show();
			$("pgUseServiceEn").show();
			$("pgEnURI").innerHTML = "http://"+$("useridEn").value+".cafe24.com/";

			if (designEn == "T") {
				$("pgDesignEn").src = $("pgDesignEn").src.split(".gif")[0] + "_on.gif";
			}

			if (productEn == "T") {
				$("pgProductEn").src = $("pgProductEn").src.split(".gif")[0] + "_on.gif";
			}

			if (csEn == "T") {
				$("pgCsEn").src = $("pgCsEn").src.split(".gif")[0] + "_on.gif";
			}

			if (pgEn == "T") {
				$("pgPgEn").src = $("pgPgEn").src.split(".gif")[0] + "_on.gif";
			}
		}

		$("pgResultLayer").show();
		$("pgFrame").hide();
	},

	designModeChange : function (mode, protocol) {
		switch (mode) {
			case 1:
				$("dsst_1").src = protocol + "://img.cafe24.com/images/ec_re09/member/tab_dss1_on.gif";
				$("dsst_2").src = protocol + "://img.cafe24.com/images/ec_re09/member/tab_dss2_off.gif";
				$("dssc_2").hide();
				$("sin_1").checked = false;
				$("sin_2").checked = false;
				$("sin_3").checked = false;
				$("sin_4").checked = true;
				this.showList4DesignType(3);
				break;
		
			case 2:
				$("dsst_1").src = protocol + "://img.cafe24.com/images/ec_re09/member/tab_dss1_off.gif";
				$("dsst_2").src = protocol + "://img.cafe24.com/images/ec_re09/member/tab_dss2_on.gif";
				$("dssc_2").show();
				$("sin_1").checked = true;
				$("sin_2").checked = false;
				$("sin_3").checked = false;
				$("sin_4").checked = false;
				this.showList4DesignType("all");
				menu_i("sn_", 2, 0);
				break;
		}
	}
}

