"use strict"; var timestamp=function(){ return Math.floor(new Date().getTime()/1000); } ////////////////////////////////////////////// ////////////////////////////////////////////// ////////////////////////////////////////////// ////////////////////////////////////////////// ////////////////////////////////////////////// ////////////////////////////////////////////// var load=function(){ // i Check plugin $('.i-check').iCheck({ checkboxClass: 'i-check', radioClass: 'i-radio' }); $('.i-checks, .i-radio').iCheck({ checkboxClass: 'icheckbox_square-green', radioClass: 'iradio_square-green', }); // price slider $("#price-slider").ionRangeSlider({ min: 100, max: 900, type: 'double', prefix: "", prettify: false, hasGrid: false }); $('#jqzoom').jqzoom({ preloadImages: false, alwaysOn: false, zoomWidth: 460, zoomHeight: 460 }); /* zoomType String Default : standard - The others admitted option values are 'reverse','drag','innerzoom'. zoomWidth Integer Default : 300 - The popup window width showing the zoomed area. zoomHeight Integer Default : 300 - The popup window height showing the zoomed area. xOffset Integer Default : 10 - The popup window x offset from the small image. (always positive to move the popup window more on the right if position is "right" or more on the left if position is "left") yOffset Integer Default : 0 - The popup window y offset from the small image. (always positive to move the popup window more on the top if position is "top" or more on the bottom if position is "bottom"), position String Default : right - The popup window position.Admitted values:'right' ,'left' ,'top' ,'bottom' preloadImages Boolean Default : true - if set to true,jqzoom will preload large images. preloadText String Default : Loading zoom - The text to show while preloading images. title Boolean Default : true - Show a small title over the zoomed window it can be the anchor title and if not specified,it will get the small image title. lens Boolean Default : true - if set to false,the small lens,over the image, won't show. imageOpacity Float Default : 0.4 - Set the image opacity when the 'zoomType' option is set to 'reverse'. showEffect String Default : show - The effect by which showing the popup window.Options available: 'show' ,'fadein'. hideEffect String Default : hide - The effect by which hiding the popup window.Options available: 'hide' ,'fadeout'. fadeinSpeed String Default : slow - Changes fade in speed,in case the showEffect option is set to 'fadein'.(options: 'fast','slow',number) fadeoutSpeed String Default : 2000 - Changes fade out speed,in case the hideEffect option is set to 'fadeout'.(options: 'fast','slow',number) */ /* $('.form-group-cc-number input').payment('formatCardNumber'); $('.form-group-cc-date input').payment('formatCardExpiry'); $('.form-group-cc-cvc input').payment('formatCardCVC'); */ // Register account on payment $('#create-account-checkbox').on('ifChecked', function() { $('#create-account').removeClass('hide'); }); $('#create-account-checkbox').on('ifUnchecked', function() { $('#create-account').addClass('hide'); }); $('#shipping-address-checkbox').on('ifChecked', function() { $('#shipping-address').removeClass('hide'); }); $('#shipping-address-checkbox').on('ifUnchecked', function() { $('#shipping-address').addClass('hide'); }); $('.owl-carousel').each(function(){ $(this).owlCarousel(); }); // Lighbox gallery $('#popup-gallery').each(function() { $(this).magnificPopup({ delegate: 'a.popup-gallery-image', type: 'image', gallery: { enabled: true } }); }); // Lighbox image $('.popup-image').magnificPopup({ type: 'image' }); // Lighbox text $('.popup-text').magnificPopup({ removalDelay: 500, closeBtnInside: true, callbacks: { beforeOpen: function() { this.st.mainClass = this.st.el.attr('data-effect'); } }, midClick: true }); $(".product-page-qty-plus").on('click', function() { var currentVal = parseInt($(this).prev(".product-page-qty-input").val(), 10); if (!currentVal || currentVal == "" || currentVal == "NaN") currentVal = 0; $(this).prev(".product-page-qty-input").val(currentVal + 1); }); $(".product-page-qty-minus").on('click', function() { var currentVal = parseInt($(this).next(".product-page-qty-input").val(), 10); if (currentVal == "NaN") currentVal = 1; if (currentVal > 1) { $(this).next(".product-page-qty-input").val(currentVal - 1); } }); $('a').click(function(){ var thisHref=$(this).attr('href'); if(thisHref.substr(0,2)=='##'){ k.al('준비중입니다.'); return false; } }); menuPointer();//서브메뉴로케이션 } ////////////////////////////////////////////// ////////////////////////////////////////////// ////////////////////////////////////////////// ////////////////////////////////////////////// ////////////////////////////////////////////// ////////////////////////////////////////////// ////////서브메뉴로케이션 var menuPointer=function(){ var pather=document.location.pathname.split('?'); var pather=pather[0].split('/'); var pathN=pather.length; var realPath='/'+pather[pathN-2]+'/'+pather[pathN-1]; var realFile=pather[pathN-1]; //index파일의 경우, 실제 URL에 표시되지 않는 경우가 있을 수 있으므로 변환해 주어야 한다. //실제 메뉴 인클루드에는 index.htm을 명기해야 한다. if(realFile=='index.htm'){ realFile='index.htm'; realPath=k.rtrim(realPath,'index.htm'); } if(!$('.category-filters-section>h3').first().hasClass('autoMenuNone')){ var paMnName=$('.category-filters-section>h3').first().text(); var firstLink=$('.category-filters-section>ul>li>a:first').attr('href'); var thisMenuLocation='
  • 포포스 홈
  • '+paMnName+'
  • '; var thisFlag=false; $('.category-filters-section').first().find('ul>li>a').each(function(){ var thisHref=$(this).attr('href'); if(thisHref.indexOf(realPath)>-1 && !thisFlag){ //k.al($(this).parent().is(':visible')); if($(this).parent().is(':visible')){ $(this).css('font-weight','bold').prepend(' '); } else{ $(this).parent().prev().children('a').css('font-weight','bold').prepend(' '); thisMenuLocation+='
  • '+$(this).parent().prev().children('a').text()+'
  • '; } thisMenuLocation+='
  • '+$(this).text()+'
  • '; thisFlag=true; } else $(this).css('margin-left','10px'); }); //k.al(thisMenuLocation); if(thisFlag){ $('header.page-header>ol.breadcrumb').html(thisMenuLocation); $('header.page-header>h1.page-title').text(paMnName); } } } ////////상담전화요청 var cstelnum_f=function(){ var csTelNum=$('#cstelnum').val(); if(csTelNum){ var data={ tmp:timestamp() ,'cmd':'csWrite' ,'csTelNum':csTelNum };//k.al(k.pr(data)); $.ajax({ dataType:'json'//,dataType:'html' ,data:data,url:'../ajax/',method:'post' ,success:function(rs){//k.al(rs); if(rs.flag){//k.al(k.pr(rs)); k.al('상담 신청되었습니다.\n감사합니다.'); $('#cstelnum').val(''); } else k.al('상담 신청에 실패했습니다.'); } }); } else k.al('상담 받으실 전화번호를 입력해주세요.'); } ////////회원가입 var signup_f=function(){ var valFlag=true; var error='회원정보가 잘못 입력되었습니다.'; var mbId=$('#signupMbId').val(); var mbPassword=$('#signupMbPassword').val(); var reMbPassword=$('#signupReMbPassword').val(); var mbEmail=$('#signupMbEmail').val(); var mbCellNum=$('#signupMbCellNum').val(); var mbRealName=$('#signupMbRealName').val(); var lawAgree=$('#signupLawAgree').parent().hasClass('checked'); if(mbId.length<3){ error+='\n아이디를 3글자 이상 입력해주세요.'; valFlag=false; } if(mbPassword.length<5){ error+='\n비밀번호를 5글자 이상 입력해주세요.'; valFlag=false; } if(mbPassword!=reMbPassword){ error+='\n비밀번호가 잘못 입력되었습니다. 다시 두번 입력해주세요.'; valFlag=false; } if(mbEmail.length<6){ error+='\n이메일이 잘못 입력되었습니다. 다시 정확히 입력해주세요.'; valFlag=false; } if(mbCellNum.length<10){ error+='\n핸드폰번호가 잘못 입력되었습니다. 다시 정확히 입력해주세요.'; valFlag=false; } if(!lawAgree){ error+='\n개인정보 취급방침에 동의하셔야 합니다.'; valFlag=false; } if(valFlag){ var data={ tmp:timestamp() ,'cmd':'signup' ,'mbId':mbId ,'mbPassword':mbPassword ,'mbEmail':mbEmail ,'mbCellNum':mbCellNum ,'mbRealName':mbRealName ,'lawAgree':lawAgree };//k.al(k.pr(data)); return; $.ajax({ dataType:'json'//,dataType:'html' ,data:data,url:'../ajax/',method:'post' ,success:function(rs){//k.al(k.pr(rs)); return; if(rs.flag){//k.al(k.pr(rs)); return; $('#nav-account-dialog').modal().hide(); k.al('회원 가입되었습니다.\n감사합니다. ('+rs.rs.mbNo+':'+mbId+')'); k.rl(); } else k.al('회원 가입에 실패했습니다. ('+rs.rs.cmt+')'); } }); } else k.al(error); } ////////회원로그인 var login_f=function(){ var valFlag=true; var error='회원정보가 잘못 입력되었습니다.'; var mbId=$('#loginMbId').val(); var mbPassword=$('#loginMbPassword').val(); if(mbId.length<1){ error+='\n아이디를 1글자 이상 입력해주세요.'; valFlag=false; } if(mbPassword.length<1){ error+='\n비밀번호를 1글자 이상 입력해주세요.'; valFlag=false; } if(valFlag){ var data={ tmp:timestamp() ,'cmd':'login' ,'mbId':mbId ,'mbPassword':mbPassword };//k.al(k.pr(data)); return; $.ajax({ dataType:'json'//,dataType:'html' ,data:data,url:'../ajax/',method:'post' ,success:function(rs){//k.al(k.pr(rs)); return; if(rs.flag){//k.al(k.pr(rs)); return; //비회원카트옮기기 var optNoAry=getCookie('ckCart'); if(optNoAry){ var data={ tmp:timestamp() ,'cmd':'caAdd' ,'optNoAry':optNoAry };//k.al(k.pr(data));return; $.ajax({ dataType:'json'//,dataType:'html' ,data:data,url:'../../shop/ajax/',method:'get' ,success:function(rs){//k.al(k.pr(rs)); if(rs.flag){//k.al(k.pr(rs.rs)); delCookie('ckCart'); $('#nav-login-dialog').modal().hide(); //k.al('회원 로그인되었습니다.\n감사합니다. ('+rs.mbInfo.mbNo+':'+mbId+')'); k.rl(); } } }); } else{ $('#nav-login-dialog').modal().hide(); setCookie('gongboxId',mbId,365); //k.al('회원 로그인되었습니다.\n감사합니다. ('+rs.mbInfo.mbNo+':'+mbId+')'); k.rl(); } } else k.al('회원 로그인에 실패했습니다. ('+rs.rs.cmt+')'); } }); } else k.al(error); } ////////회원정보찾기 var findMyInfo_f=function(){ var valFlag=true; var error='회원정보가 잘못 입력되었습니다.'; var mbEmail=$('#findMyInfoMbEmail').val(); var mbCellNum=$('#findMyInfoMbCellNum').val(); if(mbEmail.length<6){ error+='\n이메일이 잘못 입력되었습니다. 다시 정확히 입력해주세요.'; valFlag=false; } if(mbCellNum.length<10){ error+='\n핸드폰번호가 잘못 입력되었습니다. 다시 정확히 입력해주세요.'; valFlag=false; } if(valFlag){ var data={ tmp:timestamp() ,'cmd':'findMyInfo' ,'mbEmail':mbEmail ,'mbCellNum':mbCellNum };//k.al(k.pr(data)); return; $.ajax({ dataType:'json'//,dataType:'html' ,data:data,url:'../ajax/',method:'post' ,success:function(rs){//k.al(k.pr(rs)); return; if(rs.flag){//k.al(k.pr(rs)); return; k.al('변경된 회원정보를 발송했습니다.\n확인된 정보로 로그인하신 후, 반드시 비밀번호를\n변경하시기 바랍니다. 감사합니다.'); k.lh('../main/'); } else k.al('회원 정보확인에 실패했습니다. ('+rs.rs.cmt+')'); } }); } else k.al(error); } ////////회원확인 var mbExist_f=function(mbId,mbEmail,fn){ if(mbId.length>=1 || mbEmail.length>=6){ var data={ tmp:timestamp() ,'cmd':'mbExist' ,'mbId':mbId ,'mbEmail':mbEmail };//k.al(k.pr(data)); return; $.ajax({ dataType:'json'//,dataType:'html' ,data:data,url:'../ajax/',method:'get' ,success:function(rs){//k.al(k.pr(rs)); return; if(rs.flag){//k.al(k.pr(rs)); return; if(rs.mbInfo.mbNo) fn(rs.mbInfo.mbNo); else fn('none'); } else fn('none'); /* { "flag":true, "cmt":"회원존재확인", "rs":{ "rs":"ok", "cmt":"정상처리" }, "mbInfo":{ "mbNo":"1", "mbId":"kionpark", "mbEmail":"kionpark@gmail.com", "mbPassword":"00000", "mbRealName":"박경구", "mbCellNum":"010-5152-8888" } } */ } }); } else fn('wrong'); } ////////비회원주문조회 var orderinfono_f=function(){ var valFlag=true; var error='조회정보가 잘못 입력되었습니다.'; var odCellNum=$('#odCellNum').val(); var odNum=$('#odNum').val(); var odNums=odNum.split('_'); if(odCellNum.length<10){ error+='\n휴대전화 번호를 정확히 입력해주세요.'; valFlag=false; } if(odNum.length<16 || odNum.indexOf('_')!=10 || k.es(odNums[0]).length!=10 || k.es(odNums[1])){ error+='\n주문번호를 정확히 입력해주세요.'; valFlag=false; } //k.al(error,odNum.indexOf('_'),k.es(odNums[0]).length,k.es(odNums[1]));return; if(valFlag){ k.lh('../mypage/order.htm?odNum='+odNum+'&odCellNum='+odCellNum); } else k.al(error); } ////////탑검색 var topSearch_f=function(){ var topSearchTag=$('#topSearchTag').val(); var topSearchKeyword=$('#topSearchKeyword').val(); if(topSearchTag && topSearchKeyword){ //setCookie('topSearchTag',topSearchTag); //setCookie('topSearchKeyword',topSearchKeyword); k.lh('../search/?searchTag='+topSearchTag+'&searchKeyword='+encodeURIComponent(topSearchKeyword)); } else{ k.al('먼저 검색어를 입력해주세요.'); $('#topSearchKeyword').focus(); } } ///////카트아이템 타일링 레이아웃 var cartItemMasonry=function(){ var winW=$(window).width()+17; if(winW<=992){ $('.mGrid-item').css({'width':'100%'}); $('.mGrid').masonry('destroy'); } else{ $('.mGrid-item').css({'width':'25%'}); $('.mGrid').masonry({ itemSelector:'.mGrid-item' }); } } ///////메인검색창 var mainSearch_f=function(){ var mainSearchTag=$('#mainSearch select[name="mainSearchTag"]').val(); var mainSearchKeyword=$('#mainSearch input[name="mainSearchKeyword"]').val(); if(mainSearchKeyword) k.lh('../search/?mainSearchTag='+mainSearchTag+'&mainSearchKeyword='+encodeURIComponent(mainSearchKeyword)); else k.al('검색어를 입력하세요.'); } ////////////////////////////////////////////// ////////////////////////////////////////////// ////////////////////////////////////////////// ////////////////////////////////////////////// ////////////////////////////////////////////// ////////////////////////////////////////////// var regexEmailFlag=/[0-9a-zA-Z][_0-9a-zA-Z-]*@[_0-9a-zA-Z-]+(\.[_0-9a-zA-Z-]+){1,2}$/;//유효성체크 var regexEmail=/[^0-9a-zA-Z\_\.\@]/g;//불필요문자제거 var regexId=/[^0-9a-zA-Z\_\-\.\~\@\#\$\&]/g;//불필요문자제거 var regexPhone=/[^0-9\-\.]/g;//불필요문자제거 var regexOdNum=/[^0-9A-Z\_]/g;//불필요문자제거 var end=function(){ ////////상담전화요청액션 $('#cstelnum-btn').click(function(){ cstelnum_f(); }) $('#cstelnum').keydown(function(e){ if(e.keyCode==13) cstelnum_f(); }); ////////선택메뉴색상 $('.menu-on').css({ 'color':'white' ,'background':'#486d97' }); ////////회원가입액션 $('#signup-btn').click(function(){ signup_f(); }); $('#signup-form input').keydown(function(e){ if(e.keyCode==13) signup_f(); }); ////////로그인액션 $('#login-btn').click(function(){ login_f(); }); $('#login-form input').keydown(function(e){ if(e.keyCode==13) login_f(); }); ////////정보찾기액션 $('#findMyInfo-btn').click(function(){ findMyInfo_f(); }); $('#findMyInfo-form input').keydown(function(e){ if(e.keyCode==13) findMyInfo_f(); }); ////////비회원주문조회액션 $('#orderinfono-btn').click(function(){ orderinfono_f(); }); $('#orderinfono-form input').keydown(function(e){ if(e.keyCode==13) orderinfono_f(); }); ////////탑검색액션 $('#topSearchKeyword').keydown(function(e){ if(e.keyCode==13) topSearch_f(); }); ////////아이디글자변환 //$('input[name="mbId"]').bind('keydown blur',function(){ $('#signupMbId').bind('keydown blur',function(){ var thisVal=$(this).val().toLowerCase(); $(this).val(thisVal.replace(regexId,'')); }); ////////전화번호글자변환 $('input.phone').bind('keydown blur',function(){ var thisVal=$(this).val(); $(this).val(thisVal.replace(regexPhone,'')); }); ////////이메일글자변환 $('input.mail').bind('keydown blur',function(){ var thisVal=$(this).val().toLowerCase(); $(this).val(thisVal.replace(regexEmail,'')); }); ////////주문번호글자변환 $('input.odNum').bind('keydown blur',function(){ var thisVal=$(this).val().toUpperCase(); $(this).val(thisVal.replace(/[\s\-]/g,'_').replace(regexOdNum,'')); }); ////////회원체크 $('#loginMbId').blur(function(){ var loginMbId=$(this).val().toLowerCase(); //loginMbId=loginMbId.replace(regexId,''); $('#loginMbId').val(loginMbId); if(loginMbId && loginMbId.length>=3) mbExist_f(loginMbId,'',function(rs){ //k.al(rs); if(rs=='none'){ $('#login-cmt').text('존재하지 않는 아이디입니다.'); $('#loginMbId').val('').focus(); } else $('#login-cmt').text(''); }); }); $('#signupMbId').blur(function(){ var signupMbId=$(this).val().toLowerCase(); signupMbId=signupMbId.replace(regexId,''); $('#signupMbId').val(signupMbId); if(signupMbId && signupMbId.length>=3) mbExist_f(signupMbId,'',function(rs){ //k.al(rs); if(rs!='none'){ $('#signup-cmt').text('사용할 수 없는 아이디입니다.'); $('#signupMbId').val('').focus(); } else $('#signup-cmt').text(''); }); }); $('#findMyInfoMbEmail').blur(function(){ var findMyInfoMbEmail=$(this).val().toLowerCase(); findMyInfoMbEmail=findMyInfoMbEmail.replace(regexEmail,''); $('#findMyInfoMbEmail').val(findMyInfoMbEmail); if(findMyInfoMbEmail && findMyInfoMbEmail.length>=6){ if(findMyInfoMbEmail.match(regexEmailFlag)){ mbExist_f('',findMyInfoMbEmail,function(rs){ //k.al(rs); if(rs=='none'){ $('#findMyInfo-cmt').text('존재하지 않는 이메일입니다.'); $('#findMyInfoMbEmail').val('').focus(); } else $('#findMyInfo-cmt').text(''); }); } else{ $('#findMyInfo-cmt').text('이메일이 정확하지 않습니다.'); $('#findMyInfoMbEmail').focus(); } } }); $('#signupMbEmail').blur(function(){ var signupMbEmail=$(this).val().toLowerCase(); signupMbEmail=signupMbEmail.replace(regexEmail,''); $('#signupMbEmail').val(signupMbEmail); if(signupMbEmail && signupMbEmail.length>=6){ if(signupMbEmail.match(regexEmailFlag)){ /*mbExist_f('',signupMbEmail,function(rs){ //k.al(rs); if(rs!='none'){ $('#signup-cmt').text('사용할 수 없는 이메일입니다.'); $('#signupMbEmail').val('').focus(); } else $('#signup-cmt').text(''); });*/ } else{ $('#signup-cmt').text('이메일이 정확하지 않습니다.'); $('#signupMbEmail').focus(); } } }); $('.masonryDiv').addClass('mGrid'); $('.masonryDiv>div').addClass('mGrid-item'); $(window).resize(function(){ cartItemMasonry(); }); $(window).load(function(){ cartItemMasonry(); }); if(popLogin) $('#nav-login-dialog-btn').click(); if(popTrans) $('#nav-orderInfo-dialog-btn').click(); if(popSignup) $('#nav-account-dialog-btn').click(); ////////탑버튼 var rePosFloatingTopBtn=function(){ if(!$('#floatingTopBtn').length) $('body').prepend( '' ); $('#floatingTopBtn').stop().animate({'top': $(window).scrollTop() +parseInt($(window).height()) -50+'px' },1000); } $(window).on('scroll resize',function(){ rePosFloatingTopBtn(); }); rePosFloatingTopBtn(); /////////////////////////////////////세션유지 var longSession=function(sec){ sec=sec||60; setInterval(function(){ $.ajax({ type:'GET',dataType:'json',url:'../ajax/index.htm', data:'cmd=longSession&temp='+timestamp(), success:function(rs){ //alert('longSession'); } }); },1000*sec); } longSession(); //////////////////////////////출고시간 var checkTime=function(i){ if(i<10) i='0'+i; return i; } var trStopCmt=function(){ $('#trTimeCmt').text('평일 오후4시'); $('#trTimeCoundown') .css({'color':'white','font-size':'1.7em'}) .text('출고종료'); } var trTimer=function(){ var remainSec=trTimestampTarget-Number(timestamp()); if(remainSec>0){ var remainHour=Math.floor(remainSec/3600); var remainMinute=Math.floor(Math.floor(remainSec%3600)/60); var remainSecond=(remainSec%3600)%60; var hourStr=''; if(remainHour>0) hourStr=remainHour+':'; var minuteStr=''; if(remainHour>0 && remainMinute==0) minuteStr='00:'; else if(!remainHour && remainMinute>0) minuteStr=remainMinute+':'; else if(remainMinute>0) minuteStr=checkTime(remainMinute)+':'; $('#trTimeCmt').text('오늘출고 남은시간'); $('#trTimeCoundown') .css({'color':'#777','font-size':'2em'}) .text(hourStr+minuteStr+checkTime(remainSecond)); } else trStopCmt(); } if(trTimeFlag){ trTimer(); setInterval(trTimer,1000); } else trStopCmt(); }