var client_restapiid = "e5d6a2766af27a98bc98f27f00580ce6"; //"46c29e0991c85b547f58bf34e275e8b5"; var redirect_uri = SSL_URL +"/oauth"; var print_error_msg = function print_error_msg( span_id, msg, result, focus_id ) { var span_class; if( result === false ) span_class = 'comment'; else span_class = ( focus_id || focus_id === '0' ) ? 'comment2' : 'alert' ; $(span_id).removeClass(); $(span_id).html(msg).addClass(span_class); if( focus_id && focus_id !== '0' ) $(focus_id).focus(); return result; } var filter = function filter( pattern ) { return pattern.replace("/[" + remove_pattern(pattern) + "]/g", ""); } var is_alpha = function is_alpha( str ) { return (/^[a-zA-Z]+$/).test(filter(str)); } var is_numeric = function is_numeric( str ) { return (/^[0-9]+$/).test(filter(str)); } var remove_pattern = function remove_pattern( str ) { var result = ''; for(var i = 0; i < str.length; i++) { if((/([\$\(\)\*\+\.\[\]\?\\\^\{\}\|]{1})/).test(str.charAt(i))) result += str.charAt(i).replace((/([\$\(\)\*\+\.\[\]\?\\\^\{\}\|]{1})/), "\\$1"); else result += str.charAt(i); } return result; } var check_block_character = function check_block_character( val ) { var flag = 0; var special_char = /[^a-zA-Z0-9ㄱ-ㅎ|ㅏ-ㅣ|가-힣@_]/g; var block_char = ['replace','set','or','union','and','openrowset','select','update','del','delete','insert','print','exec','bat']; if( val.match( special_char ) ) { flag++; } $.each(block_char,function(i,v){ if( val == v ) { flag++; } }); return ( flag > 0 ) ? false : true ; } var check_name = function check_name( val ) { var name = $.trim(val); if( name === '' ) return print_error_msg('#name_error_msg', "이름을 입력해 주세요.", false, '#name'); if( name.length < 2 ) return print_error_msg('#name_error_msg', "2자 이상 입력해 주세요.", false, '#name'); if( check_block_character( name ) == false ) return print_error_msg('#name_error_msg', "사용할 수 없는 문자가 포함되어 있습니다.", false, '#name'); return print_error_msg('#name_error_msg', ' ', true ); } var check_birthday = function check_birthday( year, month, day ) { var year = $.trim(year); if( year === '' ) return print_error_msg('#birthday_error_msg', '년도를 선택해 주세요.', false, '#year'); var result = $.ajax({ type:'post', url:'/mgaccount/check_join_birthday', data:{ value:year+month+day }, dataType:'text', async:false }).responseText; return ( result == '1' ) ? print_error_msg('#birthday_error_msg', ' ', true) : print_error_msg('#birthday_error_msg', '만14세 미만은 가입이 불가합니다.', false) ; } var check_id = function check_id( val ) { var id = $.trim(val); var result = false; var focus_id = '#id'; var msg = "사용 가능한 아이디 입니다."; if( val === '' ) return print_error_msg('#id_error_msg', "아이디를 입력해 주세요.", result, focus_id); //if( !/^[a-zA-Z0-9]{4,12}$/.test( id ) ) return print_error_msg('#id_error_msg', '4~12자리의 영문,숫자를 사용하실 수 있습니다.', result, focus_id); // 회원통합수정 if( !/^[a-zA-Z0-9]{4,20}$/.test( id ) ) return print_error_msg('#id_error_msg', "4~20자리의 영문,숫자를 사용하실 수 있습니다.", result, focus_id); if( check_block_character( id ) === false ) return print_error_msg('#id_error_msg', "사용할 수 없는 문자가 포함되어 있습니다.", result, focus_id); var check_result = $.ajax({ type:'post', url:'/mgaccount/check_duplicate', data:{ type:'id',value:id }, dataType:'text', async:false }).responseText; if( check_result === 'fail' ) { return print_error_msg('#id_error_msg', "중복 체크에 실패했습니다.", result, focus_id); } else { if( check_result === '1' ) msg = "사용할 수 없는 아이디 입니다."; else { result = true; focus_id = '0'; } return print_error_msg('#id_error_msg', msg, result, focus_id); } } var check_nickname = function check_nickname( val ) { var nickname = $.trim(val); var result = false; var focus_id = '#nickname'; var msg = "사용 가능한 닉네임 입니다."; if( val === '' ) return print_error_msg('#nickname_error_msg', "닉네임을 입력해 주세요.", result, focus_id); if( nickname.length > 12 ) return print_error_msg('#nickname_error_msg', "12자 이하로 입력해 주세요.", result, focus_id); if( check_block_character( nickname ) == false ) return print_error_msg('#nickname_error_msg', "사용할 수 없는 문자가 포함되어 있습니다.", result, focus_id); var check_result = $.ajax({ type:'post', url:'/mgaccount/check_duplicate', data:{ type:'nickname',value:nickname }, dataType:'text', async:false }).responseText; if( check_result === 'fail' ) { return print_error_msg('#nickname_error_msg', "중복 체크에 실패했습니다.", result, focus_id); } else { if( check_result === '1' ) msg = "사용중인 닉네임 입니다."; else { result = true; focus_id = '0'; } return print_error_msg('#nickname_error_msg', msg, result, focus_id); } } var check_password = function check_password( val, val2 ) { var alpha = false; var numeric = false; var regpwd = /^(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[!@#$%^*+=-]).{8,20}$/; var password = $.trim(val); var password2 = $.trim(val2); if( password === '' ) return print_error_msg('#password_error_msg', "비밀번호를 입력해 주세요.", false, '#password'); //if( password.length < 8 || password.length > 13 ) return print_error_msg('#password_error_msg', '8~13 자리로 입력해 주세요.', false, '#password'); // 회원통합수정 else if( password2 === '' ) return print_error_msg('#password_confirm_error_msg', "비밀번호를 한번 더 입력해 주세요.", false, '#password_confirm'); else if( regpwd.test(password) === false ) return print_error_msg('#password_error_msg', "패스워드는 문자,숫자,특수문자 조합 8자 이상 20이하 입력해주시기 바랍니다.", false, '#password'); else if( password !== password2 ) return print_error_msg('#password_confirm_error_msg', "변경할 비밀번호가 같지 않습니다. 다시 입력해 주세요.", false, '#password_confirm'); else return print_error_msg('#password_confirm_error_msg', ' ', true); } var check_find_element = function check_find_element( name, elem_name, value, span_id ) { var suffix_msg = '입력해 주세요.'; var error_msg; switch( name ) { case 'id': error_msg = '아이디를 '+suffix_msg; break; case 'name': error_msg = '이름을 '+suffix_msg; break; case 'phonenumber': error_msg = '휴대폰번호를 '+suffix_msg; break; case 'year': error_msg = '년도를 선택해 주세요.'; break; case 'authcode': error_msg = '인증코드를 '+suffix_msg; break; case 'password': error_msg = '현재 비밀번호를 ' +suffix_msg; break; } return ($.trim(value)==='') ? print_error_msg(span_id, error_msg, false, elem_name) : print_error_msg(span_id, ' ', true, '0') ; } var check_email = function check_email() { var email1 = $.trim($('#email1').val()); var email2 = $.trim($('#email2').val()); var email = email1 + '@' + email2; email = escape(email); if(email.match(/^(\w+)@(\w+)[.](\w+)$/ig) == null && email.match(/^(\w+)@(\w+)[.](\w+)[.](\w+)$/ig) == null){ return print_error_msg('#email_error_msg', '이메일 주소를 정확히 입력해 주세요.', false, '#email1'); } else { return print_error_msg('#email_error_msg', ' ', true, '0'); } } function kakao_profile(kakaoinfo) { if (kakaoinfo == 1) { message = '프로필 사진을 카카오 프로필로 변경하시겠습니까?'; val = confirm(message); if (val != true) { return; } else { window.open('https://kauth.kakao.com/oauth/authorize?client_id='+ client_restapiid +'&redirect_uri='+ redirect_uri +'&response_type=code&state=profile', 'login', 'width=500,height=600'); } } else { message = '카카오 프로필은 계정 연동후에 이용할 수 있습니다. 연동하시겠습니까?'; val = confirm(message); if (val != true) { return; } else { kakao_signup(); } } } function kakao_signup() { if (document.all.kakaoexist.value == "") { window.open('https://kauth.kakao.com/oauth/authorize?client_id='+ client_restapiid +'&redirect_uri='+ redirect_uri +'&response_type=code&state=profilesignup', 'login', 'width=500,height=600'); } else { if (document.all.kakaoexist.value == 0) { window.open('https://kauth.kakao.com/oauth/authorize?client_id='+ client_restapiid +'&redirect_uri='+ redirect_uri +'&response_type=code&state=checkedexits', 'login', 'width=500,height=600'); return; } else if (document.all.kakaoexist.value == 1) { message = '입력하신 카카오계정으로 이미 티업비전 기록이 존재합니다. 티업비전에 카카오계정을 연결 시 이전 데이터는 삭제되며, 복구가 불가능 합니다. 진행하시겠습니까?'; } else if (document.all.kakaoexist.value == 2) { message = '이미 다른계정과 연동중입니다. 계속 진행시 이전 연결된 계정은 자동해제 됩니다. 진행하시겠습니까?'; } val = confirm(message); if (val != true) { return; } else { if (document.all.kakaoexist.value == 0) { parent.close(); } window.open('https://kauth.kakao.com/oauth/authorize?client_id='+ client_restapiid +'&redirect_uri='+ SSL_URL +'/oauth&response_type=code&state=checkedexits', 'login', 'width=500,height=600'); } } } function privacy_terms() { var win = window.open(SSL_URL + '/support/privacy_terms','privacy_terms', 'width=400,height=400'); var ret_url = (page) ? '?returnUrl=' + page : ''; if(win) { var frm = document.createElement('form'); frm.method = 'post'; frm.target = 'privacy_terms'; frm.action = tuppro_url + '/account/store'; frm.submit(); } else { alert('팝업차단을 허용해 주세요'); } }