// 기본변수 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($) { var focusMode = false, lastKey=0; function setCheckBox(id, mode, t){ var labelId = id+'-label', setCheck = ($("#"+id).is(":checked"))?false:true; if(t == "checkbox") $("#"+labelId).css("background", "url(/common/img/icon_checkbox"+((setCheck)?"_on":"")+".png) no-repeat 95%"); } // REQUEST LOGIN function leonLogin(requestReturn, field){ var log = $("#log"), pwd = $("#pwd"), rememberme = $("#rememberme"); // 공란을 제거한다 log.val(allTrim(log.val())); pwd.val(allTrim(pwd.val())); $("#getemail-label").click( function() {setCheckBox("getemail", "click", "checkbox");}); function fieldCheck(requestReturn, fieldName){ var fieldId = $("#"+fieldName), labelId = $("#"+fieldName+"-label"), cautionId = $("#caution-"+fieldName), localMsg = "", localResult = false, f = fieldId.is(":focus"); var msgArry = []; msgArry[0] = ["빠트린 부분이 있네요. 이메일 주소를 입력해 주세요.", "이메일 형식이 맞지 않습니다. 정확하게 입력해 주세요.", "이메일 주소는 50자를 넘을 수 없습니다."]; msgArry[1] = ["빠뜨린 부분이 있네요. 비밀번호를 입력해 주세요.", "비밀번호는 영문, 숫자가 혼합된 여덟자 이상의 단어입니다.", "비밀번호를 여덟자 이상으로 입력하시기 바랍니다."]; switch(fieldName){ case 'log' : intSet = 0; break; case 'pwd' : intSet = 1; break; } if(lastKey !=13){ $("#error-desc").hide(); $("#error-desc").html(""); } fieldId.attr('class', ''); if(!focusMode) cautionId.hide(); labelId.hide(); if(fieldId.val() == "" && f) fieldId.addClass("focuson"); else if(fieldId.val() == "") localMsg = msgArry[intSet][0]; else if(fieldName == 'log'){ if(lengthCheck(fieldId.val()) > 50) localMsg = msgArry[intSet][2]; else if(!mailFormat.test(fieldId.val())) localMsg = msgArry[intSet][1]; } else { if(lengthCheck(fieldId.val()) < 8) localMsg = msgArry[intSet][2]; else if(!passFormat.test(fieldId.val())) localMsg = msgArry[intSet][1]; } if(localMsg){ // 메시지가 있다면 오류다 if(fieldId.val() != "") labelId.show(); cautionId.show(); cautionId.html(localMsg); fieldId.attr('class', 'caution'); } else localResult = true; if(requestReturn) return localResult; else focusMode = false; } if(field != "") fieldCheck(requestReturn, field); else { if(!fieldCheck(true, 'log')) { focusMode = true; log.focus(); } else if(!fieldCheck(true, 'pwd')) { focusMode = true; pwd.focus(); } else { callModal("block",false,""); $.ajax({ type : "post", dataType: "json", async : false, url : "/leonProcessor", data : { "m" : "login", "log" : log.val(), "pwd" : pwd.val(), "rememberme" : rememberme.val(), "url" : $("#redirect-to").val() }, success: function (data) { console.log("RESULT : "+data.result+", CODE : "+data.code+", MSG : "+data.message); switch(data.result){ case "600" : $("#error-desc").html(""+data.message+""); $("#error-desc").show(); callModal("unblock",false,""); break; case "200" : location.href=$("#redirect-to").val(); 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,""); } }); } } } $("#log").on('blur keyup focus', function (e) {leonLogin(false, "log");}); $("#pwd").on('blur keyup focus', function (e) {leonLogin(false, "pwd");}); $("#requestLogin").click(function (){leonLogin(true, "");}); //$("#log").focus(); $("#rememberme-label").on('click', function (e) { var setCheck = ($("#rememberme").is(":checked"))?false:true; $("#rememberme-label").css("background", "url(/common/img/icon_checkbox"+((setCheck)?"_on":"")+".png) no-repeat"); }); $('#pwd').on('keypress', function(e) { if (e.which == 13) {/* 13 == enter key@ascii */ lastKey = 13; leonLogin(true, ""); } }); });