// 기본변수 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($) { 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%"); } $("#term1-label").click( function() {setCheckBox("term1" , "click", "checkbox");}); // REQUEST LOGIN function leonContact(requestReturn, field){ // 공란을 제거한다 $("#user-name").val(allTrim($("#user-name").val())); $("#user-email").val(allTrim($("#user-email").val())); $("#user-phone").val(allTrim($("#user-phone").val())); $("#question-type1").attr('class', ''); $("#question-type2").attr('class', ''); 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.hide(); if(fieldId.val() == "" && f) fieldId.addClass("focuson"); else if(fieldId.val() == "") localMsg = '필수 입력 사항입니다. 정확하게 입력하신 후 문의 버튼을 눌러주세요.'; else if(fieldName == "user-email" && !mailFormat.test(fieldId.val())) localMsg = '정확한 형식의 이메일 주소를 입력하세요.'; else if(fieldName == "user-phone" && lengthCheck(fieldId.val()) < 12) localMsg = '정확한 형식의 전화번호를 입력하세요.'; else if(fieldName != "user-message" && lengthCheck(fieldId.val()) > 100) localMsg = '각 항목의 길이는 100Bytes 를 초과할 수 없습니다.'; if(fieldId.val() != "") labelId.show(); if(localMsg){ // 메시지가 있다면 오류다 fieldId.attr('class', 'caution'); $("#error-desc").show(); $("#error-desc").html(localMsg); } else localResult = true; if(requestReturn) return localResult; } if(field != "") fieldCheck(requestReturn, field); else { if($("#question-type1").val() == ""){ $("#question-type1").attr('class', 'caution'); $("#error-desc").show(); $("#error-desc").html("문의 유형을 선택하시기 바랍니다."); $("#question-type1").focus(); } else if($("#question-type1").val() == "정기구독" && $("#question-type2").val() == ""){ $("#question-type2").attr('class', 'caution'); $("#error-desc").show(); $("#error-desc").html("정기구독 문의 내용에 대한 항목을 선택하시기 바랍니다."); $("#question-type2").focus(); } else if(!fieldCheck(true, 'user-name')) $("#user-name").focus(); else if(!fieldCheck(true, 'user-email')) $("#user-email").focus(); else if(!fieldCheck(true, 'user-phone')) $("#user-phone").focus(); else if(!fieldCheck(true, 'user-subject')) $("#user-subject").focus(); else if(!fieldCheck(true, 'user-message')) $("#user-message").focus(); else if(!$("#term1").is(":checked")){ $("#error-desc").show(); $("#error-desc").html("개인정보 수집 및 이용, 개인 정보취급 위탁 동의가 필요합니다. 동의 후 다시 시도해 주세요."); } else { callModal("block", false, ""); $.ajax({ type : "post", dataType: "json", async : false, url : "/leonProcessor", data : { "m" : "contactus", "q1" : $("#question-type1").val(), "q2" : $("#question-type2").val(), "name" : $("#user-name").val(), "email" : $("#user-email").val(), "phone" : $("#user-phone").val(), "subject" : $("#user-subject").val(), "message" : $("#user-message").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-phone").keyup(function() { var first = this.value.substring( 0, 2 ); switch(first){ case '02' : if(this.value.length ==12){ this.value = this.value .match(/\d*/g).join('') .match(/(\d{0,2})(\d{0,4})(\d{0,4})/).slice(1).join('-') .replace(/-*$/g, ''); } else { this.value = this.value .match(/\d*/g).join('') .match(/(\d{0,2})(\d{0,3})(\d{0,4})/).slice(1).join('-') .replace(/-*$/g, ''); } break; default : if(this.value.length ==13){ this.value = this.value .match(/\d*/g).join('') .match(/(\d{0,3})(\d{0,4})(\d{0,4})/).slice(1).join('-') .replace(/-*$/g, ''); } else { this.value = this.value .match(/\d*/g).join('') .match(/(\d{0,3})(\d{0,3})(\d{0,4})/).slice(1).join('-') .replace(/-*$/g, ''); } break; } }); $("#user-name").on( 'blur focus', function (e) {leonContact(false, "user-name");}); $("#user-email").on( 'blur keyup focus', function (e) {leonContact(false, "user-email");}); $("#user-phone").on( 'blur keyup focus', function (e) {leonContact(false, "user-phone");}); $("#user-subject").on('blur focus', function (e) {leonContact(false, "user-subject");}); $("#user-message").on('blur focus', function (e) {leonContact(false, "user-message");}); $("#question-type1").on('change', function (e) { $("#q2").hide(); if($("#question-type1").val() == "정기구독") $("#q2").show(); }); $("#requestSubmit").click(function (){leonContact(true, "");}); });