var ajaxAction = function(data, url) { var returnValue; $.ajax({ type: "POST", url: "//ad4star.co.kr/action/" + url, data: data, async: false, dataType: 'json' }).done(function(response) { returnValue = response; }); return returnValue; }; var loading = function(msg){ var html = '
'+ '
'+ ' '+ '
'+msg+'
'+ '
'+ '
'+ '
'; $("body").append(html); } var noti = function(title){ } //인풋체크 var check_input = function(target,msg){ var val = ""; var type = ""; var ret = false; var tagname = target.prop("tagName").toLowerCase(); if(tagname == "select"){ type = tagname; }else{ var typename = target.prop("type").toLowerCase(); type = typename; } if(type == "text"){ val = target.val(); if(val != "") ret = true; }else if(type == "select"){ val = target.find("option:selected").val() if(val != "") ret = true; }else if(type == "radio"){ target.each(function(i){ if($(this).prop('checked')) ret = true; }); }else if(type == "checkbox"){ target.each(function(i){ if($(this).prop('checked')) ret = true; }); }else{ val = target.val(); if(val != "") ret = true; } if(ret == false){ $.alert({ title : false, content: msg, buttons: { confirm: { text : 'OK', action : function(){ target.focus();} } } }); return false; }else{ return true; } } //로그인버튼 $( document ).on( "click", "#login_btn", function() { var back_url = $("#back_url").val(); if ($("#user_id").val() == "") { $.alert("이메일 주소를 입력하세요."); return false; } if (validateEmail($("#user_id").val()) == false) { $.alert("잘못된 이메일입니다."); return false; } if ($("#user_pw").val() == "") { $.alert("비밀번호를 입력하세요."); return false; } var data = { "user_id": $("#user_id").val(), "user_pw": $("#user_pw").val(), "return_url" : $("#returnUrl").val(), "login_auto_login" : $("input:checkbox[id=login_auto_login]:checked").val(), "mode": "login" }; var res = ajaxAction(data, "loginAction"); if (res.code == "OK") { //console.log("login "+ $("input:checkbox[id=login_auto_login]:checked").val()); if($("input:checkbox[id=login_auto_login]:checked").val() == "Y"){ localStorage.setItem("auto_login_id", $("#user_id").val()); localStorage.setItem("auto_login_key", res.key); } if(res.back_url) location.replace(res.back_url); // else location.replace(''); } else { $.alert({ title: false, content: res.msg, confirmButtonClass: 'btn-info btn_block', confirmButton: '확인', }); } }); //비밀번호에서 엔터 입력시 로그인처리 $("#user_pw").keypress(function(e) { if (e.keyCode == 13) $("#login_btn").click(); }); //이메일확인 function validateEmail(txtEmail){ var a = txtEmail; var filter = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{1,4}$/; if(filter.test(a)){ return true; }else{ return false; } } //비밀번호체크 function validatePass(id, pass, new_pass, new_pass_re) { var userID = id; var password = pass; var newPassword1 = new_pass; var newPassword2 = new_pass_re; var addText = ""; if(pass != "") addText = "새로운"; else addText = ""; if(newPassword1.length == 0){ $.alert({ title: false, content: addText+" 비밀번호를 입력하세요." }); //비밀번호를 입력하세요. return false; } if(newPassword2.length == 0){ $.alert({ title: false, content: addText+" 비밀번호 확인을 입력하세요." }); //비밀번호 확인을 입력하세요. return false; } // 재입력 일치 여부 if (newPassword1 != newPassword2) { $.alert({ title: false, content: "입력한 두 개의 비밀번호가 서로 일치하지 않습니다." }); //입력한 두 개의 비밀번호가 서로 일치하지 않습니다. return false; } // 길이 if(!/^[a-zA-Z0-9!@#$%^&*()?_~]{6,15}$/.test(newPassword1)) { $.alert({ title: false, content: "비밀번호는 숫자, 영문, 특수문자 조합으로 6~15자리를 사용해야 합니다." }); //비밀번호는 숫자, 영문, 특수문자 조합으로 6~15자리를 사용해야 합니다. return false; } // 영문, 숫자, 특수문자 2종 이상 혼용 var chk = 0; if(newPassword1.search(/[0-9]/g) != -1 ) chk ++; if(newPassword1.search(/[a-z]/ig) != -1 ) chk ++; if(newPassword1.search(/[!@#$%^&*()?_~]/g) != -1 ) chk ++; if(chk < 2) { $.alert({ title: false, content: "비밀번호는 숫자, 영문, 특수문자를 두가지 이상 혼용하여야 합니다." }); //비밀번호는 숫자, 영문, 특수문자를 두가지이상 혼용하여야 합니다. return false; } // 동일한 문자/숫자 4이상, 연속된 문자 if(/(\w)\1\1\1/.test(newPassword1) || isContinuedValue(newPassword1)) { $.alert({ title: false, content: "비밀번호에 4자 이상의 연속 또는 반복 문자 및 숫자를 사용하실 수 없습니다." }); //비밀번호에 4자 이상의 연속 또는 반복 문자 및 숫자를 사용하실 수 없습니다. return false; } // 아이디 포함 여부 //if(newPassword1.search(userID)>-1) //{ // $.alert({ title: false, content: "이메일이 포함된 비밀번호는 사용하실 수 없습니다." }); //이메일이 포함된 비밀번호는 사용하실 수 없습니다. // return false; // } // if(pass != ""){ // 기존 비밀번호와 새 비밀번호 일치 여부 if (password == newPassword2) { $.alert({ title: false, content: "기존 비밀번호와 새 비밀번호가 일치합니다." }); //기존 비밀번호와 새 비밀번호가 일치합니다. return false; } } return true; } function setCookie( name, value, expiredays ) { var todayDate = new Date(); todayDate.setDate( todayDate.getDate() + expiredays ); document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";" } function isContinuedValue(value) { var intCnt1 = 0; var intCnt2 = 0; var temp0 = ""; var temp1 = ""; var temp2 = ""; var temp3 = ""; for (var i = 0; i < value.length-3; i++) { temp0 = value.charAt(i); temp1 = value.charAt(i + 1); temp2 = value.charAt(i + 2); temp3 = value.charAt(i + 3); if (temp0.charCodeAt(0) - temp1.charCodeAt(0) == 1 && temp1.charCodeAt(0) - temp2.charCodeAt(0) == 1 && temp2.charCodeAt(0) - temp3.charCodeAt(0) == 1) { intCnt1 = intCnt1 + 1; } if (temp0.charCodeAt(0) - temp1.charCodeAt(0) == -1 && temp1.charCodeAt(0) - temp2.charCodeAt(0) == -1 && temp2.charCodeAt(0) - temp3.charCodeAt(0) == -1) { intCnt2 = intCnt2 + 1; } } return (intCnt1 > 0 || intCnt2 > 0); } //공통 모달경고창 $.fn.alertModal = function(title, mode) { // if(mode == "wait"){ var data = { backdrop: 'static', keyboard: false }; $("#btn-check").hide(); $("#alertModal").find(".modal-body").append(''); }else if(mode == 'confirm'){ var data = { show: true }; $('#btn-cancel').show(); $('.btn-check').attr('id', 'btn-check'); $("#alertModalOkBtn").show(); }else{ var data = { show: true }; $('.btn-check').attr('id', ''); $("#alertModalOkBtn").show(); } $("#alertModal").modal(data); $("#alertModal").find('.modal-dialog').css({ 'margin-top': function () { return (($(window).outerHeight() / 3) - ($(this).outerHeight() / 2)); } }); $("#alertModalTitle").html(title); $('#alertModal').on('shown.bs.modal', function (e) { $(".btn-check").focus(); }) }; var panelBodyShow = function(obj) { var iconBtn = obj.find(".panelBodyShow").children(); var target = obj.siblings(); if ( target.is( ":hidden" ) ) { target.slideDown( "fast", function() { iconBtn.removeClass("icon-down-circle").addClass("icon-up-circle"); }); }else{ target.slideUp( "fast", function() { iconBtn.removeClass("icon-up-circle").addClass("icon-down-circle"); }); } }; $( document ).on( "click", ".panelBodyShow", function() { var obj = $(this).parent().parent(); panelBodyShow(obj); }); var panelFooterShow = function(obj) { var target = obj.find(".panel-btn-area"); if(obj.find(".panel-body").is(":hidden")){ obj.find(".panel-body").slideDown( "fast", function() { obj.find(".panelBodyShow").children().removeClass("icon-down-circle").addClass("icon-up-circle"); }); } if ( target.is(":hidden") ) { target.slideDown( "fast", function() { }); }else{ target.slideUp( "fast", function() { }); } }; $( document ).on( "click", ".panelBtn2", function() { var obj = $(this).parent().parent().parent(); panelFooterShow(obj); }); //태그제거 var strip_tag = function(str){ return str.replace(/(<([^>]+)>)/ig,""); }; //배열 중복제거 function unique(array) { var result = []; $.each(array, function(index, element) { //배열의 원소수만큼 반복 if ($.inArray(element, result) == -1) { //result 에서 값을 찾는다. //값이 없을경우(-1) result.push(element); //result 배열에 값을 넣는다. } }); return result; } //popup function openPop(url,winnm,width,height,etc_options) { var options = "width="+width+",height="+height; if(etc_options) options += ","+etc_options; var oWindow = window.open(url,winnm,options); return oWindow; }