/* Ver 1.06 / 2026-11-04 15:07 / 김경현 */ (function(w,$){ if(w.MjnOpenLoginRecovery)return; var token='',file=null,ready=false,busy=false,timer=null,entry='login',authWindow=null,authActive=false,authTimer=null,personal=false,ownerName=''; function loginForm(){var fm=document.loginFm||document.getElementById('legacyLogin');if(fm&&!document.loginFm){var id=document.getElementById('loginId'),pw=document.getElementById('loginPw');if(id)fm.userid.value=id.value;if(pw)fm.passwd.value=pw.value;}return fm;} function note(message){$('#lr_message').text(message||'').toggle(!!message);} function recoveryAlert(message){if($('#lr_overlay').length)note(message);else Alert(message);} function confirmReview(message,callback){ Confirm(message,null,callback); var layer=$('#div_confirm'),dim=$('#screen_disabled'); var layerZ=layer.length?layer[0].style.zIndex:'',dimZ=dim.length?dim[0].style.zIndex:''; layer.css('z-index',20002);dim.css('z-index',20001); $('#div_confirm_close').off('click.lr_review').one('click.lr_review',function(){layer.css('z-index',layerZ);dim.css('z-index',dimZ);}); } function post(data,done,failed){return $.ajax({url:'/user/login_recovery.php',type:'POST',dataType:'json',data:$.extend({token:token},data)}).done(done).fail(failed||function(){note('처리 결과를 확인하지 못했습니다. 다시 시도해주세요.');});} function popup(){ $('#lr_overlay').remove(); var html="
대표자 계정 인증

대표자 본인인증으로 로그인

사업자등록증의 대표자 본인만 로그인이 가능합니다.
본인인증까지 완료되면 인증받은 연락처를 이용할 수 있습니다.

1성명 입력2사업자등록증 확인3본인인증

사업자등록증 확인 후 본인인증 버튼이 활성화됩니다.

자동 확인이 어려운 경우 본인인증 후 관리자 확인을 요청할 수 있습니다.

"; $('body').append(html); $('#lr_title').text(personal?'소유자 본인인증 로그인':'대표자 본인인증 로그인'); $('#lr_overlay .lr-button,#lr_name').css('height','34px'); if(personal){ $('#lr_overlay .lr-eyebrow').text('개인회원 소유자 인증'); $('#lr_overlay .lr-intro').html('가입 명의의 소유자 본인만 진행할 수 있습니다.
본인인증을 통해 계정의 소유가 확인되면 변경된 번호로 주소유자가 변경됩니다.'); $('#lr_overlay .lr-steps').html('1소유자 확인2본인인증'); $('#lr_overlay label[for="lr_name"]').text('소유자 성명');$('#lr_name').val(ownerName).prop('readOnly',true); $('#lr_document').closest('.lr-field-action').hide();$('#lr_file').prop('disabled',true);$('#lr_overlay .lr-footer').hide(); $('#lr_auth').prop('disabled',false);note(''); } $('#lr_close').on('click',close);$('#lr_document').on('click',function(){if(busy)return;if(!$.trim($('#lr_name').val())){$('#lr_name').focus();note('대표자 성명을 입력해주세요.');return;}$('#lr_file').val('').click();}); $('#lr_name').on('input',function(){if(personal)return;ready=false;$('#lr_auth').prop('disabled',true);}); $('#lr_name').on('blur',function(){if(personal)return;var name=$.trim($(this).val());if(name&&!ready&&!busy)post({action:'lookup',name:name},function(r){if(r&&r.ok&&r.state!=='ready')status();});}); $('#lr_file').on('change',function(){if(!this.files||!this.files.length)return;file=this.files[0];upload('scan');}); $('#lr_auth').on('click',function(){if(ready&&!busy)startKmc(token,'login');});$('#lr_name').focus(); } function close(){if(busy)return;if(timer)clearTimeout(timer);post({action:'cancel'},function(){});$('#lr_overlay').remove();token='';ready=false;file=null;} function upload(action,reviewToken){ if(busy||!file)return;busy=true;ready=false;$('#lr_auth,#lr_document').prop('disabled',true);$('#lr_actions').empty();note('사업자등록증을 확인하고 있습니다.'); var data=new FormData();data.append('token',token);data.append('action',action);data.append('name',$('#lr_name').val());data.append('business_doc',file);if(reviewToken)data.append('review_token',reviewToken); $.ajax({url:'/user/login_recovery.php',type:'POST',dataType:'json',data:data,processData:false,contentType:false,timeout:90000}).done(function(result){ if(result&&result.ok){ready=true;$('#lr_auth').prop('disabled',false);note(result.manual?'서류가 접수되었습니다. 본인인증 후 관리자 확인을 요청합니다.':'사업자등록증 확인 완료. 본인인증을 진행해주세요.');return;} note(result&&result.message?result.message:'서류를 확인하지 못했습니다. 다시 등록해주세요.'); if(result&&result.manual_review&&result.manual_review.token)$('').on('click',function(){confirmReview('본인인증 후 관리자에게 서류 확인을 요청하시겠습니까?',function(){upload('manual',result.manual_review.token);});}).appendTo('#lr_actions'); }).fail(function(){note('서류 확인 결과를 받지 못했습니다. 다시 시도해주세요.');}).always(function(){busy=false;$('#lr_document').prop('disabled',false);}); } function releaseAuth(){ authActive=false;busy=false;if(authTimer)clearTimeout(authTimer);authTimer=null;authWindow=null; } function watchAuthWindow(){ if(!authActive)return; if(!authWindow||authWindow.closed){releaseAuth();return;} authTimer=setTimeout(watchAuthWindow,500); } function startKmc(scope,mode){ if(authActive&&authWindow&&!authWindow.closed){try{authWindow.focus();}catch(e){}return;} if(authActive)releaseAuth(); if(busy)return; var child=w.open('','MjnRepresentativeKMC','width=470,height=635,resizable=yes,scrollbars=yes'); if(!child){recoveryAlert('본인인증을 위해 팝업을 허용해주세요.');return;} entry=mode;busy=true;authActive=true;authWindow=child;watchAuthWindow(); $.ajax({url:'/user/login_recovery.php',type:'POST',dataType:'json',data:{token:scope,action:'prepare',phone:mode==='basic'&&document.signform?document.signform.cphone.value:''}}).done(function(result){ if(!result||!result.ok){child.close();releaseAuth();recoveryAlert(result&&result.message?result.message:'서류를 다시 확인해주세요.');return;} $.ajax({url:'/user/kmc/start.htm',type:'POST',dataType:'text',data:{cert_mode:'login_recovery',recoveryToken:scope,recoveryNonce:result.nonce}}).done(function(text){ var parts=String(text||'').split('§');if($.trim(parts[0])!=='1'){child.close();releaseAuth();recoveryAlert(parts[1]||'본인인증을 시작하지 못했습니다.');return;} var form=$('
'); $.each({tr_cert:parts[2],tr_url:parts[3],tr_add:'N',tr_ver:'V2'},function(k,v){$('').attr('name',k).val(v).appendTo(form);});form.appendTo('body');form[0].submit();form.remove();try{child.focus();}catch(e){} }).fail(function(){child.close();releaseAuth();recoveryAlert('본인인증을 시작하지 못했습니다. 다시 시도해주세요.');}); }).fail(function(){child.close();releaseAuth();recoveryAlert('본인인증 요청을 확인하지 못했습니다.');}); } function status(){ if(!token)return; post({action:'status'},function(result){ if(!result||!result.ok){note(result&&result.message?result.message:'진행 상태를 확인하지 못했습니다.');return;} if(result.state==='approved'){ note('본인확인 및 주사용자 변경이 완료되었습니다.'); if(result.login_nonce){var fm=loginForm();if(!fm){note('로그인 화면에서 다시 로그인해주세요.');return;}$(fm).find('input[name="recoveryNonce"]').remove();$('').val(result.login_nonce).appendTo(fm);fm.action='/MSG/php/login.php';fm.submit();} else note('변경된 연락처로 다시 로그인해주세요.');return; } if(result.state==='rejected'){ready=false;$('#lr_auth').prop('disabled',true);note('서류 반려: '+(result.reason||'서류를 다시 확인해주세요.'));$('').on('click',function(){post({action:'restart'},function(r){if(r&&r.ok){$('#lr_actions').empty();$('#lr_document').prop('disabled',false);note('새 사업자등록증을 등록해주세요.');}else note(r&&r.message?r.message:'처리 상태를 다시 확인해주세요.');});}).appendTo($('#lr_actions').empty());return;} note(result.state==='applying'?'등록 처리를 확인 중입니다. 고객센터에 문의해주세요.':'본인인증 완료 · 관리자 서류 확인 중입니다.');timer=setTimeout(status,15000); }); } w.MjnRecoveryKmcDone=function(result){releaseAuth();if(entry==='basic'){recoveryAlert(result.message);if(result.ok)location.reload();return;}if(!result.ok){note(result.message);return;}status();}; w.MjnStartBusinessPrimary=function(scope){startKmc(scope,'basic');}; w.MjnOpenLoginRecovery=function(){ if(busy)return;var fm=loginForm();if(!fm||!fm.userid.value||!fm.passwd.value){recoveryAlert('아이디와 비밀번호를 먼저 입력해주세요.');return;} busy=true;$.ajax({url:'/MSG/php/login_auth_send.php',type:'POST',dataType:'json',data:{mode:'recovery',userid:fm.userid.value,passwd:fm.passwd.value}}).done(function(result){if(!result||result.result!==1||!result.recovery_token){recoveryAlert(result&&result.message?result.message:'로그인 정보를 확인해주세요.');return;}token=result.recovery_token;personal=result.account_type==='personal';ownerName=result.name||'';ready=personal;file=null;entry='login';popup();}).fail(function(){recoveryAlert('로그인 정보를 확인하지 못했습니다. 다시 시도해주세요.');}).always(function(){busy=false;}); }; })(window,jQuery);