// 로그인
function login(frm){
	if(!obj_value_chk(frm['userid'], '아이디(이메일)을 입력해 주세요.')) return false;
	if(!obj_value_chk(frm['passwd'], '비밀번호를 입력해 주세요.')) return false;

	$.ajax({
		url : '/member/member.php'
		,type : 'post'
		,data : $(frm).serializeArray()
		,success : function(data) {
			if(data['bool']){
				location.replace(frm['ret_url'].value);
			}
			else{
				alert(data['msg']);
			}
		}
	});
	return false;
}

// 로그아웃
function logout(){
	$.ajax({
		url : '/member/member.php'
		,type : 'post'
		,data : {'mode' : 'logout'}
		,success : function(data) {
			if(data['bool']){
				location.reload();
			}
			else{
				alert(data['msg']);
			}
		}
	});
}

var joinCk = false;
var joinEnd = false;

// 회원가입, 수정, 탈퇴 form submit
function submit_member_frm(frm){
	switch(frm['mode'].value){
		case 'ins' :
			if(!obj_value_chk(frm['userid'], '이메일을 입력해 주세요.')) return false;
			if(frm['userid_yn'].value == 'N'){
				alert('유효하지 않은 이메일 주소입니다.');
				return false;
			}
			if(!obj_value_chk(frm['passwd'], '비밀번호를 입력해 주세요.')) return false;
			if(frm['passwd_yn'].value == 'N'){
				alert('유효하지 않은 비밀번호입니다.');
				return false;
			}
			if(!obj_value_chk(frm['re_passwd'], '비밀번호확인을 입력해 주세요.')) return false;
			if(frm['re_passwd_yn'].value == 'N'){
				alert('입력하신 두개의 비밀번호가 일치하지 않습니다.');
				return false;
			}
			if(!obj_value_chk(frm['usernm'], '성명을 입력해 주세요.')) return false;
			if(!obj_value_chk(frm['spouse'], '배우자 성명을 입력해 주세요.')) return false;

			if(!obj_value_chk(frm['cel'], '연락처를을 입력해 주세요.')) return false;
			/*
			if(frm['certify_yn'].value == 'N'){
				alert('SMS 인증이 완료되지 않았습니다.');
				return false;
			}
			*/
			if(!obj_value_chk(frm['wish_loc1'], '1지망 예식 희망지역을 선택해 주세요.')) return false;
			if(!obj_value_chk(frm['wish_date1'], '1지망 예식 희망일을 선택해 주세요.')) return false;

			if(!obj_value_chk(frm['agree1'], '이용약관에 동의하지 않았습니다.')) return false;
			if(!obj_value_chk(frm['agree2'], '개인정보 수집이용 동의약관에 동의하지 않았습니다.')) return false;

			switch(frm['cel'].value.length){
				case 10 :		frm['cel'].value = frm['cel'].value.substr(0,3) + '-' + frm['cel'].value.substr(3,3) + '-' + frm['cel'].value.substr(6,4);		break;
				case 11 :		frm['cel'].value = frm['cel'].value.substr(0,3) + '-' + frm['cel'].value.substr(3,4) + '-' + frm['cel'].value.substr(7,4);		break;
			}

			if(joinCk || joinEnd){
				alert('처리중입니다.');
			} else {
				$.ajax({
					url : '/member/member.php'
					,type : 'post'
					,data : $(frm).serializeArray()
					,beforeSend : function() {
						joinCk = true;
					}
					,success : function(data) {
						if (!wcs_add) var wcs_add={};
						wcs_add["wa"] = "s_3fcbc9693011";
						if (!_nasa) var _nasa={};
						_nasa["cnv"] = wcs.cnv("2","10");
						wcs_do(_nasa);

						<!-- Facebook Pixel Code -->
						fbq('track', 'CompleteRegistration');
						<!-- End Facebook Pixel Code -->

						alert(data['msg']);
//						if(getCookie('DQ_TOKEN') && frm['mode'].value == 'ins') setCookie('DQ_TOKEN', '');

						if(data['bool']){
							switch(frm.name){
								case 'member_frm' :
									location.replace('/member/login.htm?ret_url=' + frm['ret_url'].value);
									break;
								case 'auction_frm' :
									frm.reset();
									frm['token'].value = data['token'];
									frm['mode'].value = 'auction';
									frm.submit();
									break;
							}
						}

						joinCk = false;
						joinEnd = true;
					}
					,complete : function() {
						joinEnd = false;
					}
				});

			}
			return false;
			break;
		case 'mod' :
			if(!obj_value_chk(frm['spouse'], '배우자 성명을 입력해 주세요.')) return false;
			if(frm['passwd'].value){
				if(!obj_value_chk(frm['passwd'], '비밀번호를 입력해 주세요.')) return false;
				if(frm['passwd_yn'].value == 'N'){
					alert('유효하지 않은 비밀번호입니다.');
					return false;
				}
				if(!obj_value_chk(frm['re_passwd'], '비밀번호확인을 입력해 주세요.')) return false;
				if(frm['re_passwd_yn'].value == 'N'){
					alert('입력하신 두개의 비밀번호가 일치하지 않습니다.');
					return false;
				}
			}

			if(frm['cel'].value){
				switch(frm['cel'].value.length){
					case 10 :		frm['cel'].value = frm['cel'].value.substr(0,3) + '-' + frm['cel'].value.substr(3,3) + '-' + frm['cel'].value.substr(6,4);		break;
					case 11 :		frm['cel'].value = frm['cel'].value.substr(0,3) + '-' + frm['cel'].value.substr(3,4) + '-' + frm['cel'].value.substr(7,4);		break;
				}
				/*
				if(frm['certify_yn'].value == 'N'){
					alert('SMS 인증이 완료되지 않았습니다.');
					return false;
				}
				*/
			}

			if(!confirm('회원정보를 수정하시겠습니까?')) return false;
			break;
		case 'del' :
			if(!confirm('아이티웨딩 회원을 탈퇴하시겠습니까?')) return false;
			break;
	}
}

// 아이디&비밀번호 찾기
function submit_find_frm(frm){
	switch(frm.name){
		case 'find_id_frm' :
			if(!obj_value_chk(frm['usernm'], '회원가입시 입력한 성명을 입력해 주세요.')) return false;
			if(!obj_value_chk(frm['cel'], '회원가입시 입력한 연락처를 입력해 주세요.')) return false;
			break;
		case 'find_pw_frm' :
			if(!obj_value_chk(frm['usernm'], '회원가입시 입력한 성명을 입력해 주세요.')) return false;
			if(!obj_value_chk(frm['cel'], '회원가입시 입력한 연락처를 입력해 주세요.')) return false;
			if(!obj_value_chk(frm['userid'], '회원가입시 입력한 이메일주소를 입력해 주세요.')) return false;
			break;
		default :
			alert('올바른 접근이 아닙니다.');
			return false;
			break;
	}
	switch(frm['cel'].value.length){
		case 10 :		frm['cel'].value = frm['cel'].value.substr(0,3) + '-' + frm['cel'].value.substr(3,3) + '-' + frm['cel'].value.substr(6,4);		break;
		case 11 :		frm['cel'].value = frm['cel'].value.substr(0,3) + '-' + frm['cel'].value.substr(3,4) + '-' + frm['cel'].value.substr(7,4);		break;
	}

	$.ajax({
		url : '/member/member.php'
		,type : 'post'
		,data : $(frm).serializeArray()
		,success : function(data) {
			if(data['bool']){
				switch(frm.name){
					case 'find_id_frm' :
						var msg = '<p>가입하신 이메일은&nbsp;<span>' + data['msg'] + ' </span>&nbsp;입니다.</p><p class="info">만약 확인이 되지 않으시면 고객센터로 연락부탁드립니다.</p>';
						break;
					case 'find_pw_frm' :
						var msg = '<p class="info">임시 비밀번호가 입하신 이메일&nbsp;<span>' + data['msg'] + '</span>&nbsp;로 메일이 발송되었습니다.</p>';
						break;
				}
				$('#find_result').html(msg);
				$('#find_result').show(0);
				$('#find_id').hide(0);
			}
			else{
				alert(data['msg']);
			}
		}
	});


	return false;
}

// 아이디 유효성 및 중복가입 체크
function chk_userid(obj){
	var frm = obj.form;
	var userid = obj.value;
	var $msg = $(obj).next();

	var reg_email=/^[-A-Za-z0-9_]+[-A-Za-z0-9_.]*[@]{1}[-A-Za-z0-9_]+[-A-Za-z0-9_.]*[.]{1}[A-Za-z]{2,5}$/;
	if (!reg_email.test(userid)){
		$msg.html('올바른 메일 형식이 아닙니다.').attr('class', 'alert');
		frm['userid_yn'].value = 'N';
		return;
	}

	$.ajax({
		url : '/member/member.php'
		,type : 'post'
		,data : {'mode' : 'chk_userid', 'userid' : userid}
		,success : function(bool) {
			if(bool){
				$msg.html('회원 가입이 가능한 이메일 입니다.').attr('class', 'pass');
				frm['userid_yn'].value = 'Y';
			}
			else{
				$msg.html('회원 가입이 불가능한 이메일 입니다.').attr('class', 'alert');

				frm['userid_yn'].value = 'N';
			}
		}
		,error : function(request, status, error) {
			console.log("error forward : " + request);
		}
	});
}

// 비밀번호 유효성 체크 및 입력값 일치 확인
function chk_passwd(obj){
	var frm = obj.form;
	var $msg = $(obj).next();

	switch(obj.name){
		case 'passwd' :
			var reg_passwd = /^(?=.*[a-zA-Z0-9!@#$%^*+=-]).{6,15}$/;
			if (reg_passwd.test(frm['passwd'].value)){
				$msg.html('사용가능한 비밀번호 입니다.').attr('class', 'pass');
				frm['passwd_yn'].value = 'Y';
			}
			else{
				$msg.html('영문, 숫자, 특수문자조합 6~15자').attr('class', 'alert');
				frm['passwd_yn'].value = 'N';
			}
			chk_passwd(frm['re_passwd']);
			break;
		case 're_passwd' :
			if(!obj.value){
				$msg.html('').attr('class', '');
				frm['re_passwd_yn'].value = 'N';
				return;
			}

			if(frm['passwd'].value == frm['re_passwd'].value){
				$msg.html('비밀번호가 일치합니다.').attr('class', 'pass');
				frm['re_passwd_yn'].value = 'Y';
			}
			else{
				$msg.html('비밀번호가 일치하지 않습니다.').attr('class', 'alert');
				frm['re_passwd_yn'].value = 'N';
			}
			break;
	}
}

// SMS 인증 토큰 생성
function certify_token(){
	var str = [
		'0','1','2','3','4','5','6','7','8','9',
		'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',
		'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'
	];

	var token = '';
	for(var i=0; i<10; i++){
		var idx = Math.floor(Math.random() * str.length);
		token += str[idx];
	}

	return token;
}

// SMS 인증키 생성, 인증, 초기화
function certify(mode, frm){
	switch(mode){
		case 'issue_key' :
			if(!obj_value_chk(frm['cel'], '핸드폰 번호를 입력해 주세요.')) return;

			switch(frm['cel'].value.length){
				case 10 :		frm['cel'].value = frm['cel'].value.substr(0,3) + '-' + frm['cel'].value.substr(3,3) + '-' + frm['cel'].value.substr(6,4);		break;
				case 11 :		frm['cel'].value = frm['cel'].value.substr(0,3) + '-' + frm['cel'].value.substr(3,4) + '-' + frm['cel'].value.substr(7,4);		break;
			}

			var cel		= frm['cel'].value;
			var token	= certify_token();

			if(frm['token']) $(frm['token']).remove();
			$(frm).prepend('<input type="hidden" name="token" value="' + token + '" />');

			$.ajax({
				url : '/member/member.php'
				,type : 'post'
				,data : {'mode' : mode, 'cel' : cel, 'token' : token}
				,success : function(data) {
					if(data['bool']){
						$(frm['cel']).attr('readonly', true).css('font-style', 'italic');
						$(frm['cel']).next().hide(0);

						$(frm['sms_key']).next().html('').attr('class', '');
						$('.certify_row, .btn_reset').show(0);
						$('.btn_issue').hide(0);

						alert(data['msg']);
					}
					else{
						alert(data['msg']);
					}
				}
				,error : function(request, status, error) {
					console.log("error forward : " + request);
				}
			});
			break;
		case 'check_key' :
			if(!obj_value_chk(frm['sms_key'])){
				$(frm['sms_key']).next().html('인증번호 여섯자리를 입력해 주세요.').attr('class', 'alert');
				frm['certify_yn'].value = 'N';
				return;
			}

			var cel			= frm['cel'].value;
			var token		= frm['token'].value;
			var sms_key	= frm['sms_key'].value;

			$.ajax({
				url : '/member/member.php'
				,type : 'post'
				,data : {'mode' : mode, 'cel' : cel, 'token' : token, 'sms_key' : sms_key}
				,success : function(data) {
					if(data['bool']){
						$(frm['sms_key']).attr('readonly', true).css('font-style', 'italic');
						$(frm['sms_key']).next().html(data['msg']).attr('class', 'pass');
						$('.phone_ok').hide(0);

						frm['certify_yn'].value = 'Y';
					}
					else{
						frm['certify_yn'].value = 'N';
						$(frm['sms_key']).next().html(data['msg']).attr('class', 'alert');
					}
				}
				,error : function(request, status, error) {
					console.log("error forward : " + request);
				}
			});

			break;
		case 'reset' :
			if(frm['token']) $(frm['token']).remove();
			$(frm['cel']).add(frm['sms_key']).attr('readonly', false).css('font-style', 'normal');

			$(frm['cel']).next().show(0);
			$('.certify_row, .btn_reset').hide(0);
			$('.btn_issue').show(0);

			frm['certify_yn'].value = 'N';
			frm['sms_key'].value = '';
			break;
	}
}