// 기본변수 var mailFormat = /^(([^<>()[\]\\.,;:\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,50}))$/; var passFormat = /^(?=.*\d)(?=.*[a-zA-Z])(?=.*[0-9])[0-9a-zA-Z]{8,}$/; var nameFormat = /^[\w\Wㄱ-ㅎㅏ-ㅣ가-힣.\(\)\-_]{2,20}$/; var nickFormat = /^[\w\Wㄱ-ㅎㅏ-ㅣ가-힣]{2,20}$/; // 모달 호출 function callModal(mode, showModal, modalName){ var scrollPosition = [ self.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft, self.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop ]; var html = jQuery('html'); if(mode == 'block'){ jQuery('
').css('opacity',0.7).appendTo('body').height(jQuery('#wrapper').height()); jQuery(window).resize(function(){jQuery('#blind_box').height(jQuery('#wrapper').height())}); if(!showModal) { jQuery('.loader').css("position","fixed"); jQuery('.loader').css("z-index","200000"); jQuery('.loader').css("top",(jQuery( window ).height()-jQuery('#main-header').height())/2+"px"); jQuery('.loader').css("left","50%"); jQuery(".loader").show(); } else if(modalName){ var getLeft = 50-(parseInt(jQuery('#'+modalName).width()/jQuery( window ).width())*50); var getTop = 20-(parseInt(jQuery('#'+modalName).height()/(jQuery( window ).height()-jQuery('#main-header').height()))*50); jQuery('#'+modalName).fadeIn(300); jQuery('#'+modalName).css("position","fixed"); jQuery('#'+modalName).css('z-index', '200000'); jQuery('#'+modalName).css("top",getTop+"%"); //(jQuery( window ).height()-jQuery('#main-header').height())/2+"px" jQuery('#'+modalName).css("left",getLeft+"%"); } html.data('scroll-position', scrollPosition); html.data('previous-overflow', html.css('overflow')); html.css('overflow', 'hidden'); window.scrollTo(scrollPosition[0], scrollPosition[1]); } else { var html = jQuery('html'); var scrollPosition = html.data('scroll-position'); html.css('overflow', html.data('previous-overflow')); window.scrollTo(scrollPosition[0], scrollPosition[1]) jQuery("#loader").hide(); jQuery(".maskLayer").hide(); } } // 길이확인 function lengthCheck(el){ var codeByte = 0; for (var idx = 0; idx < el.length; idx++) { var oneChar = escape(el.charAt(idx)); if ( oneChar.length == 1 ) codeByte ++; else if (oneChar.indexOf("%u") != -1) codeByte += 2; else if (oneChar.indexOf("%") != -1) codeByte ++; } return codeByte; } // 여백제거 function allTrim(string){return string.replace(/ /g,"");}jQuery(document).ready(function($) { // REQUEST FIND PASSWORD function leonFind(requestReturn, field){ // 공란을 제거한다 $("#user-email").val(allTrim($("#user-email").val())); function fieldCheck(requestReturn, fieldName){ var fieldId = $("#"+fieldName), labelId = $("#"+fieldName+"-label"), cautionId = $("#caution-"+fieldName), localMsg = "", localResult = false, f = fieldId.is(":focus"); if(f) $("#error-desc").hide(); fieldId.attr('class', ''); cautionId.hide(); labelId.removeClass('caution'); labelId.hide(); if(fieldId.val() == "" && f) fieldId.addClass("focuson"); else if(fieldId.val() == "") localMsg = '빠뜨린 부분이 있네요. 이메일 주소를 입력해 주세요.'; else if(!mailFormat.test(fieldId.val())) localMsg = '올바르지 않은 형식의 이메일 주소 입니다.'; else if(lengthCheck(fieldId.val()) > 100) localMsg = '이메일 주소 길이는 100Bytes 를 초과할 수 없습니다.'; else { $("#error-desc").hide(); } if(fieldId.val() != "") labelId.show(); if(localMsg){ // 메시지가 있다면 오류다 fieldId.attr('class', 'caution'); labelId.addClass('caution'); $("#error-desc").show(); $("#error-desc").html(localMsg); } else localResult = true; if(requestReturn) return localResult; } if(field != "") fieldCheck(requestReturn, field); else { if(!fieldCheck(true, 'user-email')) $("#user-email").focus(); else { callModal("block", false, ""); $.ajax({ type : "post", dataType: "json", async : false, url : "/leonProcessor", data : { "m" : "findpassword", "email" : $("#user-email").val() }, success: function (data) { console.log("RESULT : "+data.result+", CODE : "+data.code+", MSG : "+data.message); callModal("unblock", false, ""); switch(data.result){ case "600" : $("#error-desc").html(data.message); $("#error-desc").show(); break; case "200" : callModal("block", true, "pop_message"); break; } }, error: function (request, status, error) { console.log("code: "+request.status+"\n"+"message: "+request.responseText+"\n"+"error: "+error); $("#error-desc").html(data.message); $("#error-desc").show("시스템의 오류로 처리할 수 없습니다. 다시 시도해 보시기 바랍니다."); callModal("unblock", false, ""); } }); } } } $("#user-email").on( 'blur keyup focus', function (e) {leonFind(false, "user-email");}); $("#requestSubmit").click(function (){leonFind(true, "");}); $("#user-email").focus(); });