Explorar o código

Merge remote-tracking branch 'origin/develop' into xodud1202

xodud lee %!s(int64=5) %!d(string=hai) anos
pai
achega
e94d9d293e
Modificáronse 49 ficheiros con 4048 adicións e 970 borrados
  1. 10 0
      src/main/java/com/style24/front/biz/dao/TsfPlanningDao.java
  2. 8 6
      src/main/java/com/style24/front/biz/service/TsfCustomerService.java
  3. 7 1
      src/main/java/com/style24/front/biz/service/TsfDisplayService.java
  4. 1 1
      src/main/java/com/style24/front/biz/service/TsfGoodsService.java
  5. 12 0
      src/main/java/com/style24/front/biz/service/TsfPlanningService.java
  6. 13 8
      src/main/java/com/style24/front/biz/web/TsfAppController.java
  7. 37 0
      src/main/java/com/style24/front/biz/web/TsfDisplayController.java
  8. 3 0
      src/main/java/com/style24/front/biz/web/TsfPlanningController.java
  9. 1 0
      src/main/java/com/style24/persistence/domain/Plan.java
  10. 1 0
      src/main/java/com/style24/persistence/domain/searchengine/SearchEngine.java
  11. 1 1
      src/main/java/com/style24/persistence/mybatis/shop/TsfGiftcard.xml
  12. 4 3
      src/main/java/com/style24/persistence/mybatis/shop/TsfGoods.xml
  13. 20 2
      src/main/java/com/style24/persistence/mybatis/shop/TsfPlanning.xml
  14. 61 29
      src/main/webapp/WEB-INF/views/mob/app/SettingFormMob.html
  15. 7 4
      src/main/webapp/WEB-INF/views/mob/common/fragments/GnbMob.html
  16. 5 5
      src/main/webapp/WEB-INF/views/mob/display/AllBrandFormMob.html
  17. 4 4
      src/main/webapp/WEB-INF/views/mob/display/BrandMainFormMob.html
  18. 2 2
      src/main/webapp/WEB-INF/views/mob/display/CategoryGoodsListFormMob.html
  19. 872 0
      src/main/webapp/WEB-INF/views/mob/display/CategoryGoodsListScrollTestFormMob.html
  20. 729 733
      src/main/webapp/WEB-INF/views/mob/display/MallMainFormMob.html
  21. 1 0
      src/main/webapp/WEB-INF/views/mob/mypage/MypageCreCancelDetailFormMob.html
  22. 2 0
      src/main/webapp/WEB-INF/views/mob/mypage/MypageCreExchangeDetailFormMob.html
  23. 4 4
      src/main/webapp/WEB-INF/views/mob/mypage/MypageCreListFormMob.html
  24. 2 0
      src/main/webapp/WEB-INF/views/mob/mypage/MypageCreReturnDetailFormMob.html
  25. 47 10
      src/main/webapp/WEB-INF/views/mob/mypage/MypageOrderDetailFormMob.html
  26. 5 5
      src/main/webapp/WEB-INF/views/mob/mypage/MypageOrderListFormMob.html
  27. 6 7
      src/main/webapp/WEB-INF/views/mob/mypage/MypageReviewDetailFormMob.html
  28. 5 4
      src/main/webapp/WEB-INF/views/mob/mypage/MypageReviewFormMob.html
  29. 1 0
      src/main/webapp/WEB-INF/views/mob/mypage/NoMemberCreExchangeDetailFormMob.html
  30. 4 4
      src/main/webapp/WEB-INF/views/mob/mypage/NoMemberCreListFormMob.html
  31. 1 0
      src/main/webapp/WEB-INF/views/mob/mypage/NoMemberCreReturnDetailFormMob.html
  32. 4 4
      src/main/webapp/WEB-INF/views/mob/mypage/NoMemberOrderListFormMob.html
  33. 33 7
      src/main/webapp/WEB-INF/views/mob/planning/PlanningDetailFormMob.html
  34. 14 76
      src/main/webapp/WEB-INF/views/mob/planning/PlanningReplyPhotoFormMob.html
  35. 4 3
      src/main/webapp/WEB-INF/views/web/common/layout/BrandLayoutWeb.html
  36. 3 3
      src/main/webapp/WEB-INF/views/web/display/BrandMainFormWeb.html
  37. 1051 0
      src/main/webapp/WEB-INF/views/web/display/CategoryGoodsListScrollTestFormWeb.html
  38. 4 4
      src/main/webapp/WEB-INF/views/web/display/MallMainFormWeb.html
  39. 1 1
      src/main/webapp/WEB-INF/views/web/mypage/MypageCreExchangeDetailFormWeb.html
  40. 2 1
      src/main/webapp/WEB-INF/views/web/mypage/MypageCreReturnDetailFormWeb.html
  41. 1 1
      src/main/webapp/WEB-INF/views/web/mypage/NoMemberCreExchangeDetailFormWeb.html
  42. 3 1
      src/main/webapp/WEB-INF/views/web/mypage/NoMemberCreReturnDetailFormWeb.html
  43. 39 2
      src/main/webapp/WEB-INF/views/web/planning/PlanningDetailFormWeb.html
  44. 23 12
      src/main/webapp/WEB-INF/views/web/planning/PlanningReplyPhotoFormWeb.html
  45. 2 2
      src/main/webapp/biz/goods.js
  46. 917 0
      src/main/webapp/biz/goodsTest.js
  47. 3 3
      src/main/webapp/ux/mo/css/common_m.css
  48. 40 13
      src/main/webapp/ux/mo/css/layout_m.css
  49. 28 4
      src/main/webapp/ux/style24_link.js

+ 10 - 0
src/main/java/com/style24/front/biz/dao/TsfPlanningDao.java

@@ -170,6 +170,16 @@ public interface TsfPlanningDao {
 	 * @date 2021. 3. 22
 	 */
 	Collection<Plan> getPlanImageInfo(Plan plan);
+	
+	/**
+	 * 기획전 템플릿 유의사항
+	 *
+	 * @param 기획전 번호
+	 * @return
+	 * @author sowon
+	 * @date 2021. 5. 26
+	 */
+	Collection<Plan> getPlanNoticeInfo(Plan plan);
 
 	/**
 	 * 기획전 템플릿 상품 1열

+ 8 - 6
src/main/java/com/style24/front/biz/service/TsfCustomerService.java

@@ -1117,14 +1117,14 @@ public class TsfCustomerService {
 	 * @since 2021. 05. 20
 	 */
 	@Transactional("shopTxnManager")
-	public void updateAppAgreeYn(String appAppAgreeYn) {
+	public int updateAppAgreeYn(String appAppAgreeYn) {
 		if (!TsfSession.isLogin()) {
 			throw new IllegalStateException("로그인 후 다시 시도하시기 바랍니다.");
 		}
 
 		Integer custNo = TsfSession.getInfo().getCustNo();
 		Customer customer = getCustomerFindByCustNo(custNo);
-
+		int resultCnt = 0;
 		if (customer != null) {
 			if (!customer.getAppAgreeYn().equals(appAppAgreeYn)) {
 				Customer custInfo = new Customer();
@@ -1136,9 +1136,10 @@ public class TsfCustomerService {
 
 				coreCustomerService.createCustomerHistory(custInfo);
 
-				customerDao.updateAppAgreeYn(custInfo);
+				resultCnt = customerDao.updateAppAgreeYn(custInfo);
 			}
 		}
+		return resultCnt;
 	}
 
 	/*
@@ -1149,14 +1150,14 @@ public class TsfCustomerService {
 	 * @since 2021. 05. 20
 	 */
 	@Transactional("shopTxnManager")
-	public void updateMkAgreeYn(String mkAgreeYn) {
+	public int updateMkAgreeYn(String mkAgreeYn) {
 		if (!TsfSession.isLogin()) {
 			throw new IllegalStateException("로그인 후 다시 시도하시기 바랍니다.");
 		}
 
 		Integer custNo = TsfSession.getInfo().getCustNo();
 		Customer customer = getCustomerFindByCustNo(custNo);
-
+		int resultCnt = 0;
 		if (customer != null) {
 			if (!customer.getMkAgreeYn().equals(mkAgreeYn)) {
 				Customer custInfo = new Customer();
@@ -1168,9 +1169,10 @@ public class TsfCustomerService {
 
 				coreCustomerService.createCustomerHistory(custInfo);
 
-				customerDao.updateMkAgreeYn(custInfo);
+				resultCnt = customerDao.updateMkAgreeYn(custInfo);
 			}
 		}
+		return resultCnt;
 	}
 
 

+ 7 - 1
src/main/java/com/style24/front/biz/service/TsfDisplayService.java

@@ -538,7 +538,13 @@ public class TsfDisplayService {
 		Collection<Filter> resultList = new ArrayList<Filter>();
 		for (Filter filter : filterList) {
 			if (filter.getFilterGb().equals(filterGb)) {
-				resultList.add(filter);
+				if("BENEFIT".equals(filterGb)){
+					if(!filter.getFilterCd().equals("40")){
+						resultList.add(filter);
+					}
+				}else{
+					resultList.add(filter);
+				}
 			}
 		}
 		return resultList;

+ 1 - 1
src/main/java/com/style24/front/biz/service/TsfGoodsService.java

@@ -769,7 +769,7 @@ public class TsfGoodsService {
 				maxRow = maxRow - goodsList.size();
 				cate.setMaxRow(maxRow);
 				cate.setCateGb("G032_101");
-				if (cate.getContentsLoc().equals("SBM003")) {
+				if (cate.getContentsLoc().equals("SBM003") || cate.getContentsLoc().equals("SBM007")) {
 					cate.setCate1No(null);
 				}
 

+ 12 - 0
src/main/java/com/style24/front/biz/service/TsfPlanningService.java

@@ -260,6 +260,18 @@ public class TsfPlanningService {
 	public Collection<Plan> getPlanImageInfo(Plan plan) {
 		return planningDao.getPlanImageInfo(plan);
 	}
+	
+	/**
+	 * 기획전 템플릿 유의사항
+	 *
+	 * @param
+	 * @return
+	 * @author sowon
+	 * @since 2021. 5. 26
+	 */
+	public Collection<Plan> getPlanNoticeInfo(Plan plan) {
+		return planningDao.getPlanNoticeInfo(plan);
+	}
 
 	/**
 	 * 기획전 템플릿 상품

+ 13 - 8
src/main/java/com/style24/front/biz/web/TsfAppController.java

@@ -1,5 +1,6 @@
 package com.style24.front.biz.web;
 
+import com.gagaframework.web.parameter.GagaMap;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -57,9 +58,9 @@ public class TsfAppController extends TsfBaseController {
 		ModelAndView mav = new ModelAndView();
 
 		// 정책에 등록된 앱버전
-		if (TsfSession.getAttribute("osType").equals("I")) {
+		if ("I".equals(TsfSession.getAttribute("osType"))) {
 			mav.addObject("regAppVersion", envsetService.getIosAppVersion(TscConstants.Site.STYLE24.value()));
-		} else if (TsfSession.getAttribute("osType").equals("A")) {
+		} else if ("A".equals(TsfSession.getAttribute("osType"))) {
 			mav.addObject("regAppVersion", envsetService.getAosAppVersion(TscConstants.Site.STYLE24.value()));
 		}
 
@@ -80,9 +81,11 @@ public class TsfAppController extends TsfBaseController {
 	 */
 	@PostMapping("/appagree/update")
 	@ResponseBody
-	public GagaResponse updateAppAgreeYn(@RequestBody Customer customer) {
-		customerService.updateAppAgreeYn(customer.getAppAgreeYn());
-		return super.ok(message.getMessage("SUCC_0004"));
+	public GagaMap updateAppAgreeYn(@RequestBody Customer customer) {
+		GagaMap result = new GagaMap();
+		int resultCnt = customerService.updateAppAgreeYn(customer.getAppAgreeYn());
+		result.setInt("resultCnt", resultCnt);
+		return result;
 	}
 
 	/**
@@ -94,9 +97,11 @@ public class TsfAppController extends TsfBaseController {
 	 */
 	@PostMapping("/mkagree/update")
 	@ResponseBody
-	public GagaResponse updateMkAgreeYn(@RequestBody Customer customer) {
-		customerService.updateMkAgreeYn(customer.getMkAgreeYn());
-		return super.ok(message.getMessage("SUCC_0004"));
+	public GagaMap updateMkAgreeYn(@RequestBody Customer customer) {
+		GagaMap result = new GagaMap();
+		int resultCnt = customerService.updateMkAgreeYn(customer.getMkAgreeYn());
+		result.setInt("resultCnt", resultCnt);
+		return result;
 	}
 
 	/**

+ 37 - 0
src/main/java/com/style24/front/biz/web/TsfDisplayController.java

@@ -1015,4 +1015,41 @@ public class TsfDisplayController extends TsfBaseController {
 		return mav;
 	}
 
+	/**
+	 * 카테고리 상품 목록 (스크롤TEST)
+	 * @param params - 검색엔진 정보
+	 * @return
+	 * @author bin2107
+	 * @since 2021. 5. 26
+	 */
+	@GetMapping("/category/goods/list/scrolltest/form")
+	public ModelAndView categoryGoodsListSScrollTestForm(SearchEngine params) {
+		ModelAndView mav = new ModelAndView(super.getDeviceViewName("display/CategoryGoodsListScrollTestForm"));
+
+		// 브랜드그룹 정보 : 브랜드메인 링크에 설정된 기획전으로 들어올때 GNB 변경때문에 사용
+		if (params.getBrandGroupNo() != null && params.getBrandGroupNo() > 0) {
+			mav.addObject("brandGroupInfo", displayService.getGnbBrandGroup(params.getBrandGroupNo()));
+//		} else {
+//			mav.addObject("brandGroupInfo", null);
+		}
+
+		mav.addObject("cateInfo", params);
+
+		// 카테고리 목록
+		mav.addObject("cateList", displayService.getAllCategoryList(params.getCateGb()));
+
+		// 상품리스트 카테고리별 필터 목록
+		Collection<Filter> filterList = displayService.getGoodsListCategoryFilterList(params);
+
+		// 필터 설정
+		mav.addObject("filterBrandList", displayService.getCategoryFilterList(filterList, "BRAND"));
+		mav.addObject("filterSizeList", displayService.getCategoryFilterList(filterList, "SIZE"));
+		mav.addObject("filterPriceList", displayService.getCategoryFilterList(filterList, "PRICE"));
+		mav.addObject("filterAgeList", displayService.getCategoryFilterList(filterList, "AGE"));
+		mav.addObject("filterSeasonList", displayService.getCategoryFilterList(filterList, "SEASON"));
+		mav.addObject("filterColorList", displayService.getCategoryFilterList(filterList, "COLOR"));
+		mav.addObject("filterBenefitList", displayService.getCategoryFilterList(filterList, "BENEFIT"));
+
+		return mav;
+	}
 }

+ 3 - 0
src/main/java/com/style24/front/biz/web/TsfPlanningController.java

@@ -206,6 +206,9 @@ public class TsfPlanningController extends TsfBaseController {
 		// 이미지
 		mav.addObject("imageInfo", planningService.getPlanImageInfo(plan));
 		
+		// 유의사항
+		mav.addObject("noticeInfo", planningService.getPlanNoticeInfo(plan));
+		
 		plan.setFrontGb(TsfSession.getFrontGb());
 		// 상품1열 전시
 		plan.setTmplType("G082_50");

+ 1 - 0
src/main/java/com/style24/persistence/domain/Plan.java

@@ -93,6 +93,7 @@ public class Plan extends TscBaseDomain {
 	private String dispDt;			// 기획전 기간
 	private String viewDt;			// 미리보기 일시
 	private String preview;			// 미리보기 여부 (Y:미리보기)
+	private Integer attachSq;
 
 	// 기획전 브랜드
 	private Integer brandGroupNo;	//기획전브랜드그룹번호

+ 1 - 0
src/main/java/com/style24/persistence/domain/searchengine/SearchEngine.java

@@ -77,6 +77,7 @@ public class SearchEngine implements Serializable {
 	private String benefits;		// 혜택들(,로 연결된 문자열. 혜택구분:혜택명, ...)
 	private String likeIt;			// 좋아요(위시리스트에담긴상품)
 	private String mainColorCd;		// 메인컬러
+	private String selfGoodsYn;		// 자사상품여부
 
 //	private String adminIp;			// 검색엔진IP
 //	private String adminPort;		// 검색엔진포트

+ 1 - 1
src/main/java/com/style24/persistence/mybatis/shop/TsfGiftcard.xml

@@ -222,7 +222,7 @@
 		     , O.ORD_NM
 		     , O.ORD_PHNNO
 		     , O.ORD_EMAIL
-		     , MAX((SELECT GOODS_NM FROM TB_GOODS WHERE GOODS_CD = OD.GOODS_CD)) OVER(ORDER BY OD.ORD_DTL_NO) AS GOODS_NM
+		     , MAX((SELECT GOODS_NM FROM TB_GOODS WHERE GOODS_CD = OD.GOODS_CD)) AS GOODS_NM
 		     , SUM(OD.GFCD_USE_AMT) AS US_GFCD_AMT
 		  FROM TB_ORDER O
 		 INNER JOIN TB_ORDER_DETAIL OD

+ 4 - 3
src/main/java/com/style24/persistence/mybatis/shop/TsfGoods.xml

@@ -1365,7 +1365,7 @@
 		                 , G.CURR_PRICE                                             /*현재판매가*/
 		                 , G.REG_DT                                                 /*등록일시*/
 		                 <choose>
-		                     <when test="contentsLoc == 'SCM002'"> <!-- 베스트 -->
+		                     <when test="contentsLoc == 'SCM113'"> <!-- 베스트 -->
 		                 , ROW_NUMBER() OVER(ORDER BY GS.SELL_WEEK_QTY DESC
 		                                            , G.GOODS_CD) AS NUMB
 		                     </when>
@@ -2306,11 +2306,12 @@
 		      , G.GOODS_CD
 		      , FN_GET_GOODS_NM(G.GOODS_NM,G.GOODS_GB,G.FOREIGN_BUY_YN,G.PARALLEL_IMPORT_YN,G.ORDER_MADE_YN) AS GOODS_FULL_NM /*상품FULL명*/
 		      , G.GOODS_TNM
+		      , G.SELF_GOODS_YN
 		      , G.MAIN_COLOR_CD
 		      , G.LIST_PRICE
 		      , G.CURR_PRICE
-			  , (SELECT SYS_IMG_NM FROM TB_GOODS_IMG X WHERE X.GOODS_CD = G.GOODS_CD AND IF(G.SELF_GOODS_YN= 'N', 'XX', G.MAIN_COLOR_CD) = X.COLOR_CD AND DEFAULT_IMG_YN = 'Y' LIMIT 1) AS SYS_IMG_NM
-			  , (SELECT SYS_IMG_NM FROM TB_GOODS_IMG X WHERE X.GOODS_CD = G.GOODS_CD AND IF(G.SELF_GOODS_YN= 'N', 'XX', G.MAIN_COLOR_CD) = X.COLOR_CD AND MOUSEOVER_IMG_YN = 'Y' LIMIT 1) AS SYS_IMG_NM2
+		      , (SELECT SYS_IMG_NM FROM TB_GOODS_IMG X WHERE X.GOODS_CD = G.GOODS_CD AND IF(G.SELF_GOODS_YN= 'N', 'XX', G.MAIN_COLOR_CD) = X.COLOR_CD AND DEFAULT_IMG_YN = 'Y' LIMIT 1) AS SYS_IMG_NM
+		      , (SELECT SYS_IMG_NM FROM TB_GOODS_IMG X WHERE X.GOODS_CD = G.GOODS_CD AND IF(G.SELF_GOODS_YN= 'N', 'XX', G.MAIN_COLOR_CD) = X.COLOR_CD AND MOUSEOVER_IMG_YN = 'Y' LIMIT 1) AS SYS_IMG_NM2
 		      , (
 		      SELECT GROUP_CONCAT(CONCAT(VIDEO_GB,':',KMC_KEY) ORDER BY NUMB SEPARATOR ',')
 		      FROM   (

+ 20 - 2
src/main/java/com/style24/persistence/mybatis/shop/TsfPlanning.xml

@@ -869,6 +869,26 @@
 		 AND PC.DISP_YN = 'Y'
 	</select>
 	
+	<select id="getPlanNoticeInfo" parameterType="Plan" resultType="Plan">
+		/* TsfPlanning.getPlanNoticeInfo*/
+		SELECT PC.PLAN_CONT_SQ
+		      ,PC.PLAN_SQ
+		      ,PC.TMPL_TYPE
+		      ,PC.TITLE
+		      ,PC.DISP_YN
+		      ,PC.DISP_ORD
+		      ,PCI.PLAN_CONT_ITEM_SQ
+		      ,PCI.ITEM_VAL
+		      ,PCI.LINK_URL
+		      ,PCI.LINK_OPEN_GB
+		      ,PCI.DISP_ORD
+		FROM TB_PLAN_CONTENTS PC INNER JOIN TB_PLAN_CONTENTS_ITEM PCI ON PC.PLAN_CONT_SQ = PCI.PLAN_CONT_SQ 
+		WHERE 1=1
+		 AND PC.TMPL_TYPE = 'G082_60'
+		 AND PC.PLAN_SQ = #{planSq}
+		 AND PC.DISP_YN = 'Y'
+	</select>
+	
 	<!-- 기획전 상품  전시 -->
 	<select id="getPlanGoodsDisplayList" parameterType="Plan" resultType="Plan">
 		/* TsfPlanning.getPlanGoodsDisplayList */
@@ -1637,8 +1657,6 @@
 		   AND PE.PLAN_SQ = #{planSq}
 		   <if test="planEntrySq != null and planEntrySq != ''">
 		   AND PE.PLAN_ENTRY_SQ = #{planEntrySq}
-		ORDER BY FIELD(PEA.PLAN_ENTRY_AT_SQ, #{planEntryAtSq})DESC
-		        ,PLAN_ENTRY_AT_SQ ASC 
 		   </if>
 	</select>
 	

+ 61 - 29
src/main/webapp/WEB-INF/views/mob/app/SettingFormMob.html

@@ -99,14 +99,17 @@
 
 <script th:inline="javascript">
 	const isLogin = [[${isLogin}]];
+	let appAgreeYn = [[${appAgreeYn}]];
+	let appMkAgreeYn = [[${appMkAgreeYn}]];
 
 	$(document).ready(function(){
 		$('#htopTitle').text('설정');
 
-		// 앱으로 푸시 상태값 조회. 앱에서 settingsSwtichPush 함수를 호출함.
+		// 앱으로 푸시 상태값 조회. 앱에서 settingsSwtichPush, settingsSwtichAdvertise 함수를 호출함.
 		if (_isApp === 'true') {
 			if (_osType === 'A') {
-			window.style24.isAdEnable();
+				window.style24.isPushEnable(); // 정보성(푸시수신 API) settingsSwtichPush
+				window.style24.isAdEnable();   // 마케팅성(광고푸시 API) settingsSwtichAdvertise
 			} else if (_osType === 'I') {
 				// 아래와 같이 호출 시 settingsSwtichPush 함수가 앱에서 호출됨
 				window.webkit.messageHandlers.isAdEnable.postMessage({"dummy":"dummy"});
@@ -117,49 +120,67 @@
 
 
 	// 앱에서 호출되는 함수(앱푸시)
-	var settingsAppPush = function(onOff) {
-		if (onOff == 'ON') {
+	var settingsSwtichPush = function(onOff) {
+		if (onOff === 'ON') {
 			$('#btnPushSetting').prop('checked', true);
-		} else if (onOff == 'OFF') {
+		} else if (onOff === 'OFF') {
 			$('#btnPushSetting').prop('checked', false);
 		}
+
+		if (isLogin) {
+			// 데이터 상 앱푸시 여부(Y/N) 이랑 기기에 등록된 푸시수신 여부(ON/OFF)
+			if (appAgreeYn === 'Y' && onOff === 'OFF') {
+				fnAppPushAgreeUpdate('N');
+			} else if (appAgreeYn === 'N' && onOff === 'ON') {
+				fnAppPushAgreeUpdate('Y');
+			}
+		}
 	}
 
 	// 앱에서 호출되는 함수(마케팅동의)
-	var settingsMkPush = function (onOff) {
-		if (onOff == 'ON') {
+	var settingsSwtichAdvertise = function (onOff) {
+		if (onOff === 'ON') {
 			$('#btnMkSetting').prop('checked', true);
-		} else if (onOff == 'OFF') {
+		} else if (onOff === 'OFF') {
 			$('#btnMkSetting').prop('checked', false);
 		}
+
+		if (isLogin) {
+			// 데이터 상 마케팅동의 여부(Y/N) 이랑 기기에 등록된 푸시수신 여부(ON/OFF)
+			if (appMkAgreeYn === 'Y' && onOff === 'OFF') {
+				fnAppMkAgreeUpdate('N');
+			} else if (appMkAgreeYn === 'N' && onOff === 'ON') {
+				fnAppMkAgreeUpdate('Y');
+			}
+		}
 	}
 
 	$('#btnPushSetting').on('click', function() {
 		let appAgreeYn;
 		if (_isApp === 'true') {
 			if ($(this).is(":checked")) {
-				if (_osType == 'A') {
-					window.style24.adEnable('ON');
+				if (_osType === 'A') {
+					window.style24.pushEnable('ON');
 				} else if (_osType == 'I') {
 					window.webkit.messageHandlers.adEnable.postMessage({"status":"ON"});
 				}
 				appAgreeYn = 'Y';
 			} else {
-				if (_osType == 'A') {
-					window.style24.adEnable('OFF');
-				} else if(_osType == 'I') {
+				if (_osType === 'A') {
+					window.style24.pushEnable('OFF');
+					window.style24.adEnable('OFF'); // 정보성 푸시가 상위 개념이라 마케팅도 같이 OFF가 되어여함
+				} else if(_osType === 'I') {
 					window.webkit.messageHandlers.adEnable.postMessage({"status":"OFF"});
 				}
 				appAgreeYn = 'N';
 			}
-
 			if (isLogin) {
-				let params = {}
-				params.appAgreeYn = appAgreeYn;
-				let jsonData = JSON.stringify(params);
-				gagajf.ajaxJsonSubmit('/app/appagree/update', jsonData);
+				if (appAgreeYn === 'N') { // 마케팅도 N 처리
+					fnAppMkAgreeUpdate('N');
+					$('#btnMkSetting').prop('checked', false);
+				}
+				fnAppPushAgreeUpdate(appAgreeYn);
 			}
-
 		}
 	});
 
@@ -167,32 +188,43 @@
 		let mkAgreeYn;
 		if (_isApp === 'true') {
 			if ($(this).is(":checked")) {
-				if (_osType == 'A') {
+				if (_osType === 'A') {
 					window.style24.adEnable('ON');
-				} else if (_osType == 'I') {
+				} else if (_osType === 'I') {
 					window.webkit.messageHandlers.adEnable.postMessage({"status":"ON"});
 				}
 				mkAgreeYn = 'Y';
 			} else {
-				if (_osType == 'A') {
+				if (_osType === 'A') {
 					window.style24.adEnable('OFF');
-				} else if(_osType == 'I') {
+				} else if(_osType === 'I') {
 					window.webkit.messageHandlers.adEnable.postMessage({"status":"OFF"});
 				}
 				mkAgreeYn = 'N';
 			}
-
 			if (isLogin) {
-				let params = {}
-				params.mkAgreeYn = mkAgreeYn;
-				let jsonData = JSON.stringify(params);
-				gagajf.ajaxJsonSubmit('/app/mkagree/update', jsonData);
+				fnAppMkAgreeUpdate(mkAgreeYn);
 			}
-
 		}
 	});
 
 
+	// 앱푸시동의 데이터 처리
+	var fnAppPushAgreeUpdate = function (appAgreeYn) {
+		let params = {}
+		params.appAgreeYn = appAgreeYn;
+		let jsonData = JSON.stringify(params);
+		gagajf.ajaxJsonSubmit('/app/appagree/update', jsonData);
+	}
+
+	// 마케팅동의 데이터 처리
+	var fnAppMkAgreeUpdate = function (mkAgreeYn) {
+		let params = {}
+		params.mkAgreeYn = mkAgreeYn;
+		let jsonData = JSON.stringify(params);
+		gagajf.ajaxJsonSubmit('/app/mkagree/update', jsonData);
+	}
+
 	// 안드로이드 앱
 	$('#chk-2').on('click', function () {
 		document.location.href='update://?link=https://play.google.com/store/apps/details?id=';

+ 7 - 4
src/main/webapp/WEB-INF/views/mob/common/fragments/GnbMob.html

@@ -18,7 +18,10 @@
 	<header class="main">
 		<section class="htop" id="htopMain">
 			<h1>
-				<a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_MAIN);fnClickGnbTab('');"><img src="/images/mo/logo_STYLE24.png" alt="STYLE24"></a>
+				<a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_MAIN);fnClickGnbTab('');" >
+					<img th:if="${brandGroupInfo?.brandGroupNo == null}" src="/images/mo/logo_STYLE24.png" alt="STYLE24">
+					<p th:if="${brandGroupInfo?.brandGroupNo != null}" th:text="${brandGroupInfo?.brandGroupNm}"></p>
+				</a>
 				<button class="btn_gnb" title="메인메뉴 열기/닫기"><span><i></i></span></button>
 			</h1>
 			<div class="button_wrap">
@@ -52,7 +55,7 @@
 	</div>
 
 	<!-- 210510_추가 : 띠배너 추가. -->
-	<div class="bnrtype_banner" id="divTopbanner" style="background-color:#fd4801;">
+	<div class="bnrtype_banner" id="divTopbanner">
 <!--		<a href="javascript:;" target="">-->
 <!--			&lt;!&ndash; 텍스트 영역 &ndash;&gt;-->
 <!--			<div>-->
@@ -182,8 +185,8 @@
 				$.each(result, function (idx, item) {
 					$('#divTopbanner').html('');
 					tag+=' 	<a href="'+item.strVar1+'" target="">';
-					tag+=' 		<div style="color:#fff; font-size:20px; font-weight:300;">';
-					tag+=' 			<span style="font-weight:500">'+item.strTitle1+'</span>';
+					tag+=' 		<div>'+item.strTitle1;
+					// tag+=' 			<span style="font-weight:500">'+item.strTitle1+'</span>';
 					tag+=' 		</div>';
 					tag+=' 	</a>';
 					tag+='<button type="button" class="bnrtype_close"><span class="sr-only">배너 닫기</span></button>';

+ 5 - 5
src/main/webapp/WEB-INF/views/mob/display/AllBrandFormMob.html

@@ -44,11 +44,11 @@
 				</div>
 			</div>
 			<div class="inner">
-				<form id="searchBrandForm" name="searchBrandForm">
+				<form id="searchBrandForm" name="searchBrandForm" onsubmit="return false;">
 				<div class="brand_title">
-					<input type="text" id="search" name="search" placeholder="브랜드명을 입력해주세요">
+					<input type="text" id="search" name="search" placeholder="브랜드명을 입력해주세요" onkeypress="if( window.event.keyCode==13 ){$('#btnSearch').trigger('click');}">
 					<!-- <button class="btn_x">X</button> -->
-					<button type="button" onclick="fnSearchBrand();"><img src="/images/mo/cs_search_btn.png" alt=""></button>
+					<button type="button" id="btnSearch" ><img src="/images/mo/cs_search_btn.png" alt=""></button>
 				</div>
 				</form>
 			</div>
@@ -80,10 +80,10 @@
 		fnCreateAllBrandList();
 	}
 
-	let fnSearchBrand = function(){
+	$('#btnSearch').on('click', function() {
 		var searchBrand = $("#searchBrandForm").find("input[name=search]").val();
 		fnCreateAllBrandList(searchBrand);
-	}
+	});
 
 	let fnCreateAllBrandList = function (brandGroupNm){
 		let actionUrl = '/display/all/brand/list'

+ 4 - 4
src/main/webapp/WEB-INF/views/mob/display/BrandMainFormMob.html

@@ -162,7 +162,7 @@
 															<p class="itemBrand" th:text="${goodsData.brandGroupNm}">BRAND NAME</p>
 															<div class="itemName"th:text="${goodsData.goodsFullNm}">남성 헤링본 기모 팬츠 헤링본 기모 팬츠</div>
 															<p class="itemPrice">
-																<span class="itemPrice_original" th:text="${#numbers.formatInteger(goodsData.listPrice,1,'COMMA')}">89,000</span>
+																<span class="itemPrice_original" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${#numbers.formatInteger(goodsData.listPrice,1,'COMMA')}">89,000</span>
 																[[${#numbers.formatInteger(goodsData.currPrice,1,'COMMA')}]]
 																<span class="itemPercent" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${(goodsData.listPrice == 0 ? 0 : #numbers.formatDecimal((goodsData.listPrice - goodsData.currPrice) / (goodsData.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>
 															</p>
@@ -244,7 +244,7 @@
 															<p class="itemBrand" th:text="${goodsData.brandGroupNm}">BRAND NAME</p>
 															<div class="itemName" th:text="${goodsData.goodsFullNm}">남성 헤링본 기모 팬츠 헤링본 기모 팬츠</div>
 															<p class="itemPrice">
-																<span class="itemPrice_original" th:text="${#numbers.formatInteger(goodsData.listPrice,1,'COMMA')}">89,000</span>
+																<span class="itemPrice_original" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${#numbers.formatInteger(goodsData.listPrice,1,'COMMA')}">89,000</span>
 																[[${#numbers.formatInteger(goodsData.currPrice,0,'COMMA')}]]
 																<span class="itemPercent" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${(goodsData.listPrice == 0 ? 0 : #numbers.formatDecimal((goodsData.listPrice - goodsData.currPrice) / (goodsData.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>
 															</p>
@@ -295,7 +295,7 @@
 																			<p class="itemBrand" th:text="${planningGoods.brandGroupNm}">BRAND NAME</p>
 																			<div class="itemName" th:text="${planningGoods.goodsNm}">남성 헤링본 기모 팬츠 헤링본 기모 팬츠</div>
 																			<p class="itemPrice">
-																				<span class="itemPrice_original" th:text="${#numbers.formatInteger(planningGoods.listPrice,1,'COMMA')}">89,000</span>
+																				<span class="itemPrice_original" th:if="${planningGoods.currPrice != planningGoods.listPrice}" th:text="${#numbers.formatInteger(planningGoods.listPrice,1,'COMMA')}">89,000</span>
 																				[[${#numbers.formatInteger(planningGoods.currPrice,0,'COMMA')}]]
 																				<span class="itemPercent" th:if="${planningGoods.currPrice != planningGoods.listPrice}" th:text="${(planningGoods.listPrice == 0 ? 0 : #numbers.formatDecimal((planningGoods.listPrice - planningGoods.currPrice) / (planningGoods.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>
 																			</p>
@@ -334,7 +334,7 @@
 											<p class="itemBrand" th:text="${goodsData.brandGroupNm}">BRAND NAME</p>
 											<div class="itemName" th:text="${goodsData.goodsFullNm}">남성 헤링본 기모 팬츠 헤링본 기모 팬츠</div>
 											<p class="itemPrice">
-												<span class="itemPrice_original" th:text="${#numbers.formatInteger(goodsData.listPrice,1,'COMMA')}">89,000</span>
+												<span class="itemPrice_original" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${#numbers.formatInteger(goodsData.listPrice,1,'COMMA')}">89,000</span>
 												[[${#numbers.formatInteger(goodsData.currPrice,0,'COMMA')}]]
 												<span class="itemPercent" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${(goodsData.listPrice == 0 ? 0 : #numbers.formatDecimal((goodsData.listPrice - goodsData.currPrice) / (goodsData.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>
 											</p>

+ 2 - 2
src/main/webapp/WEB-INF/views/mob/display/CategoryGoodsListFormMob.html

@@ -51,7 +51,7 @@
 										</a>
 									</div>
 								</li>
-								<li><a href="#none" class="filter open_filter">필터</a></li>
+								<li><a href="javascript:void(0);" class="filter open_filter">필터</a></li>
 							</ul>
 						</div>
 					</div>
@@ -1082,7 +1082,7 @@
 					// fnCategoryGoodsInfiniteScrollInit();
 					console.log('here*'+historyData.scroll);
 					// $('html, body').animate({scrollTop: $('#'+scrollLoc).offset().top}, 'slow');
-					// $('html, body').animate({scrollTop: historyData.scroll}, 'slow');
+					$('html, body').animate({scrollTop: historyData.scroll}, 'slow');
 					fnGoodsListSearch();
 				}
 			}else{

+ 872 - 0
src/main/webapp/WEB-INF/views/mob/display/CategoryGoodsListScrollTestFormMob.html

@@ -0,0 +1,872 @@
+<!DOCTYPE html>
+<html lang="ko"
+	  xmlns:th="http://www.thymeleaf.org"
+	  xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
+	  layout:decorator="mob/common/layout/BrandLayoutMob">
+<!--
+ *******************************************************************************
+ * @source  : CategoryGoodsListFormMob.html
+ * @desc    : 카테고리별 상품 리스트 Page
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2020 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.05.12   bin2107     최초 작성
+ *******************************************************************************
+ -->
+<body>
+
+<th:block layout:fragment="content">
+
+
+	<main role="" id="" class="container dp">
+		<section class="content dp_list">
+			<div class="inner wide bg_gray">
+				<div class="sub_category">
+					<div class="cate_wrap" id="leafCateList">
+						<!-- 하위카테고리 리스트 -->
+					</div>
+				</div>
+			</div>
+
+			<div class="inner">
+				<!-- 상품리스트 -->
+				<div class="list_content"> <!-- 데이터 없을시 클래스 nodata 추가 -->
+					<div class="count_wrap">
+						<div>
+							<p><span id="totCntId"></span>개의 상품</p>
+						</div>
+						<div>
+							<ul class="dp_util">
+								<li>
+									<div class="open_categori">
+										<!-- 210415_select > a태그로 변경 -->
+										<a id="filter">최신상품순
+											<!--<option value="hide">최신상품순</option>
+                                            <option value="Test_SELECT_OPTION_1" rel="icon-temperature">최신상품순1</option>
+                                            <option value="Test_SELECT_OPTION_2">최신상품순2</option>
+                                            <option value="Test_SELECT_OPTION_3">최신상품순3</option>-->
+										</a>
+									</div>
+								</li>
+<!--								<li><a href="javascript:void(0);" class="filter open_filter">필터</a></li>-->
+							</ul>
+						</div>
+					</div>
+					<div class="list_defult" style="display:none;">
+						<div>
+							<p>선택하신 조건에 맞는 상품이 없습니다.<br>필터를 변경해 보세요.</p>
+						</div>
+						<button type="button" class="btn btn_default" onclick="fnMobFilterReset();"><span>선택한 필터 초기화</span></button>
+					</div>
+
+					<div id="infiniteContainer">
+						<div id="listBoxOuter">
+							<ul id="listBox" class="itemsGrp">
+							</ul>
+						</div>
+					</div>
+
+					<!--					<div id="infiniteContainer">-->
+					<!--						<div id="listBoxOuter" class="itemsGrp">-->
+					<!--							<ul class="productlist quarter" >-->
+					<!--							</ul>-->
+					<!--						</div>-->
+					<!--					</div>-->
+
+					<!--					<div class="itemsGrp" id="listBox"> &lt;!&ndash; itemsGrp rank hot deal &ndash;&gt;-->
+
+					<!--					</div>-->
+					<div class="list_last" id="endPage" style="display:none;">마지막페이지 입니다.</div>
+				</div>
+				<!-- //상품리스트 -->
+			</div>
+		</section>
+
+		<!-- 필터 -->
+
+		<!-- //필터 -->
+
+
+		<!-- 210415_최신상품순 리스트 팝업 추가 -->
+		<div id="odDatePop" class="popup_box odDatePop">
+			<div class="lap">
+				<div class="popup_close">카테고리닫기</div>
+				<div class="popup_head sr-only">
+					<h2 class="">기간 선택 팝업</h2>
+				</div>
+				<div class="popup_con">
+					<div class="button_list clear" id="sortArea">
+						<button type="button" id="sortingNEW" class="on" onclick="fnSortingChange(this,'NEW','','Mob');"><span>최신상품순</span></button>
+						<button type="button" id="sortingBEST" onclick="fnSortingChange(this,'BEST','','Mob');"><span>인기많은순</span></button>
+						<button type="button" id="sortingREVIEW" onclick="fnSortingChange(this,'REVIEW','','Mob');"><span>리뷰많은순</span></button>
+					</div>
+				</div>
+			</div>
+		</div>
+
+		<div class="nav_box">
+			<div class="lap">
+				<div class="nav_close">네비닫기</div>
+				<div class="nav_list">
+					<!-- 카테고리 선택 -->
+					<div class="nav">
+						<ul>
+							<li class="active">
+								<!--								<a href="javascript:void(0)" class="daps1">여성</a>-->
+								<ul class="daps2" id="cateDepth">
+
+								</ul>
+							</li>
+						</ul>
+					</div>
+					<!-- //카테고리 선택 -->
+				</div>
+			</div>
+		</div>
+	</main>
+
+	<form id="searchGoodsForm" name="searchGoodsForm">
+		<input type="hidden" name="pageNo" id="pageNo" value ="1"/>
+		<input type="hidden" name="pageSize" value ="30"/>
+		<!-- 		<input type="hidden" name="cateNo" th:value="${cateInfo.cateNo}"/> -->
+		<input type="hidden" name="cateGb" th:value="${cateInfo.cateGb}"/>
+		<input type="hidden" name="brandGroupNo" th:value="${cateInfo.brandGroupNo}"/>
+		<input type="hidden" name="formalGb" th:value="${cateInfo.formalGb=='G009_20'?'G009_20':''}"/>
+		<input type="hidden" name="cate1No" th:value="${cateInfo.cate1No}"/>
+		<input type="hidden" name="cate2No" th:value="${cateInfo.cate2No}"/>
+		<input type="hidden" name="cate3No" th:value="${cateInfo.cate3No}"/>
+		<input type="hidden" name="cate4No" th:value="${cateInfo.cate4No}"/>
+		<input type="hidden" name="sortingType" value="NEW"/>
+		<input type="hidden" name="newGoods" th:value="${cateInfo.formalGb=='G009_20'?'':'40'}" />
+	</form>
+
+
+	<script src="/ux/plugins/gaga/gaga.infinite.scroll.js"></script>
+	<script src="/ux/plugins/jquery/jquery.history.min.js"></script>
+	<script th:src="@{'/biz/goodsTest.js?v=' + ${#calendars.format(#calendars.createNow(), 'yyyyMMddHHmmss')}}" src="/biz/goodsTest.js"></script>
+
+	<script th:inline="javascript">
+		var filterPriceList = [[${filterPriceList}]];
+
+		$(document).ready(function(){
+
+
+			// TOP 동일 카테고리
+			fnCreateDepthList();
+			// 상단노출 하위 카테고리
+			fnCreateCategoryList();
+
+
+			//네비
+			var bodyChk = 0;
+			function navi(){
+
+				var navOpen=$("#htopTitle");
+				var navClose=$(".nav_box .nav_close");
+				var navPop=$(".nav_box");
+
+				navOpen.on("click",function(){
+					if($(this).hasClass("on")){
+						$(this).removeClass("on")
+						navPop.hide();
+						$("body").css({"overflow":"visible"});
+						bodyChk = 1;
+					}else{
+						$(this).addClass("on")
+						navPop.show();
+						navPop.addClass("on");
+						$("body").css({"overflow":"hidden"});
+						bodyChk = 0;
+					}
+				});
+
+				navClose.on("click",function(){
+					$(this).removeClass("on");
+					navPop.hide();
+					$("body").css({"overflow":"visible"});
+					$("#htopTitle").removeClass("on");
+				});
+
+				if(bodyChk === 0){
+					$('body').on('scroll touchmove mousewheel', function(event) { // 터치무브와 마우스휠 스크롤 방지
+						event.preventDefault();
+						event.stopPropagation();
+						return false;
+					});
+				}
+			}
+			navi();
+
+			//카테고리
+			function category(){
+				var categoryOpen=$(".open_categori .select_dress");
+				var categoryClose=$(".category_box .category_close");
+				var categoryPop=$(".category_box");
+
+				categoryOpen.on("click",function(){
+					categoryPop.show();
+					categoryPop.addClass("active");
+
+				});
+
+				categoryClose.on("click",function(){
+					categoryPop.hide();
+					$("body").css({"overflow":"visible"});
+				});
+			}
+			category();
+
+			//필터
+			function filter(){
+				var filterOpen=$(".open_filter");
+				var filterClose=$(".filter_box .close");
+				var filterPop=$(".filter_box");
+				var filter=$(".filter_body > ul");
+				var dap1=$(".filter_body > ul .daps1");
+				var dap2=$(".filter_body > ul .daps2");
+				var dap3=$(".filter_body > ul .daps3");
+				var dap4=$(".filter_body > ul .daps4");
+				var dap5=$(".filter_body > ul .daps5");
+				var dap2A=$(".filter_body > ul .daps2 > li > a");
+				var dap3A=$(".filter_body > ul .daps3 > li > a");
+				var dap4A=$(".filter_body > ul .daps4 > li > a");
+				var dap5A=$(".filter_body > ul .daps5 > li > a");
+
+				/* 필터모달 > 열기,닫기 */
+				filterOpen.on("click",function(){
+					filterPop.addClass("active");
+					$("body").css({"overflow":"hidden"});
+				});
+
+				filterClose.on("click",function(){
+					filterPop.removeClass("active");
+					$("body").css({"overflow":"visible"});
+				});
+
+				/* 필터메뉴 > 댑스열고, 닫기 */
+				dap1.on("click",function(){
+					if($(this).hasClass("on")){
+						$(this).removeClass("on");
+						$(this).next(dap2).slideUp();
+					}else{
+						$(this).addClass("on");
+						$(this).next(dap2).slideDown();
+					}
+				});
+
+				dap2A.on("click",function(){
+					if($(this).hasClass("on")){
+						$(this).removeClass("on");
+						$(this).next(dap3).slideUp();
+					}else{
+						$(this).addClass("on");
+						$(this).next(dap3).slideDown();
+					}
+				});
+
+				dap3A.on("click",function(){
+					if($(this).hasClass("on")){
+						$(this).removeClass("on");
+						$(this).next(dap4).slideUp();
+					}else{
+						$(this).addClass("on");
+						$(this).next(dap4).slideDown();
+					}
+				});
+
+				dap4A.on("click",function(){
+					if($(this).hasClass("on")){
+						$(this).removeClass("on");
+						$(this).next(dap5).slideUp();
+					}else{
+						$(this).addClass("on");
+						$(this).next(dap5).slideDown();
+					}
+				});
+
+				dap5A.on("click",function(){
+					if($(this).hasClass("on")){
+						$(this).removeClass("on");
+						//$(this).next(dap6).slideUp();
+					}else{
+						$(this).addClass("on");
+						//$(this).next(dap6).slideDown();
+					}
+				});
+			}
+			filter();
+
+			// 210415_팝업관련 추가
+			//기간 선택 팝업
+			$(document).on("click", ".open_categori", function(){
+				$('#odDatePop').show().addClass("active");
+				$("body").css({"overflow":"hidden"});
+			});
+			//팝업_닫기
+			$('.popup_close').on("click",function(){
+				$('.popup_box').hide().removeClass('active');
+				$("body").css({"overflow":"visible"});
+			});
+
+			// 210415_팝업 테두리 선택 추가
+			$(document).on('click','.popup_box .button_list button',function(){
+				$('.popup_box .button_list button').removeClass('on');
+				$(this).addClass('on');
+			});
+
+			$('.dp .filter_box .filter_con').scroll(function(){
+				//$(".dp .filter_box .filter_con").css("border-bottom", "0px none");
+				//console.log($(".dp .filter_box .filter_con").scrollTop());
+				if($(".dp .filter_box .filter_con").scrollTop() === 0){
+					$(".dp .filter_box .filter_top").css("box-shadow", "none");
+					//$(".dp .filter_box .filter_con").css("border-bottom", "1px solid #eee");
+				} else {
+					$(".dp .filter_box .filter_top").css("box-shadow", "0px 3px 15px 0px rgba(0,0,0,0.30)");
+				}
+			});
+
+			//210510_추가 : 토스트 팝업 button 클릭 시 팝업 닫기.
+			$(document).on('click','.popup_box.odDatePop .button_list button',function(){
+				$(this).parents('.popup_box.odDatePop').hide().removeClass('active');
+				$("body").css({"overflow":"visible"});
+			});
+
+			$(".nav_close").click();
+
+		});
+
+		// TOP 카테고리 노출
+		var fnCreateDepthList = function (){
+			let cateList = [[${cateList}]];
+			var brandGroupNo = [[${cateInfo.brandGroupNo}]];
+			var cateGb =  [[${cateInfo.cateGb}]];
+			var formalGb = [[${cateInfo.formalGb}]];
+			var cate1No = [[${cateInfo.cate1No}]];
+			var cate2No = [[${cateInfo.cate2No}]];
+			var cate3No = [[${cateInfo.cate3No}]];
+			var cate4No = [[${cateInfo.cate4No}]];
+			var cate5No = [[${cateInfo.cate5No}]];
+			var tag = '';
+			$("#cateDepth").html('');
+
+			let actionUrl = '';
+			if(gagajf.isNull(brandGroupNo) || brandGroupNo == 0){
+				if( [[${cateInfo.formalGb}]] == 'G009_20'){
+					actionUrl = '/display/outlet/cate/list?cate1No='+cate1No+'&formalGb='+ [[${cateInfo.formalGb}]];
+				}else{
+					actionUrl = '/display/category/reload/list?cateGb='+[[${cateInfo.cateGb}]];
+				}
+			}else{
+				actionUrl = '/display/brand/cate/list?brandGroupNo=' + [[${cateInfo.brandGroupNo}]];
+			}
+
+			$.getJSON(actionUrl, function (result, status){
+				if(result.length>0){
+					if(!gagajf.isNull(cate5No)){
+
+					}else if(!gagajf.isNull(cate4No)) {
+						$.each(result, function (idx, cate){
+							$.each(cate.cate2List, function (idx2,cate2){
+								if(cate2.leafYn == 'N' && cate2.cate3List != null){
+									$.each(cate2.cate3List, function (idx3, cate3){
+										if(cate3.leafYn == 'N' && cate3.cate4List != null){
+											$.each(cate3.cate4List, function (idx4, cate4){
+												if(cate4.cate4No == cate4No){
+													$("#htopTitle").append(fnDisplayTitle(cate4.cate4Nm));
+												}
+												if(cate4.cate3No==cate3No){
+													tag += '<li><a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate4.cate1No + ',' + cate4.cate2No + ',' + cate4.cate3No + ',' + cate4.cate4No + ' ';
+													if(formalGb=='G009_20'){
+														tag += ' ,\'\',\''+formalGb+'\'';
+													}
+													tag += ');">'+cate4.cate4Nm+'</a></li>';
+												}
+											});
+										}
+									});
+								}
+							});
+						});
+						$("#cateDepth").append(tag);
+					}else if(!gagajf.isNull(cate3No)){
+						$.each(result, function (idx, cate){
+							$.each(cate.cate2List, function (idx2,cate2){
+								if(cate2.leafYn == 'N' && cate2.cate3List != null){
+									$.each(cate2.cate3List, function (idx3, cate3){
+										if(cate3.cate3No == cate3No){
+											$("#htopTitle").append(fnDisplayTitle(cate3.cate3Nm));
+										}
+										if(cate3.cate2No==cate2No){
+											tag += '<li><a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate3.cate1No + ',' + cate3.cate2No + ',' + cate3.cate3No + ' ';
+											if(formalGb=='G009_20'){
+												tag += ' ,\'\',\'\',\''+formalGb+'\'';
+											}
+											tag += ');">'+cate3.cate3Nm+'</a></li>';
+										}
+									});
+								}
+							});
+						});
+						$("#cateDepth").append(tag);
+					}else if(!gagajf.isNull(cate2No)){
+						$.each(result, function (idx, cate){
+							$.each(cate.cate2List, function (idx2,cate2){
+								if(cate2.cate2No == cate2No){
+									$("#htopTitle").append(fnDisplayTitle(cate2.cate2Nm));
+								}
+								if(cate2.cate1No==cate1No){
+									tag += '<li><a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate2.cate1No + ',' + cate2.cate2No + ' ';
+									if(formalGb=='G009_20'){
+										tag += ' ,\'\',\'\',\'\',\''+formalGb+'\'';
+									}
+									tag += ');">'+cate2.cate2Nm+'</a></li>';
+								}
+							});
+						});
+						$("#cateDepth").append(tag);
+					}else{
+						$.each(result, function (idx, cate1){
+							if(cate1.cate1No == cate1No){
+								$("#htopTitle").append(fnDisplayTitle(cate1.cate1Nm));
+							}
+							tag += '<li><a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ' ';
+							if(formalGb=='G009_20'){
+								tag += ' ,\'\',\'\',\'\',\'\',\''+formalGb+'\'';
+							}
+							tag += ');">'+cate1.cate1Nm+'</a></li>';
+						});
+						$("#cateDepth").append(tag);
+					}
+				}
+			});
+		}
+
+		// 상단 하위카테고리 노출
+		var fnCreateCategoryList = function (){
+			let actionUrl = '';
+			let brandGroupNo = [[${cateInfo.brandGroupNo}]];
+			let cate1No = [[${cateInfo.cate1No}]];
+			// console.log('cateList brandGroupNo::'+brandGroupNo+'>>cate1No::'+cate1No);
+
+			if(gagajf.isNull(brandGroupNo) || brandGroupNo == 0){
+				if( [[${cateInfo.formalGb}]] == 'G009_20'){
+					actionUrl = '/display/outlet/cate/list?cate1No='+cate1No+'&formalGb='+ [[${cateInfo.formalGb}]];
+				}else{
+					actionUrl = '/display/category/reload/list?cateGb='+[[${cateInfo.cateGb}]];
+				}
+			}else{
+				actionUrl = '/display/brand/cate/list?brandGroupNo=' + [[${cateInfo.brandGroupNo}]];
+			}
+
+			$.getJSON(actionUrl, function(result, status){
+				if(result.length > 0){
+					let formalGb = [[${cateInfo.formalGb}]];
+					if(formalGb == 'G009_10'){
+						formalGb = '';
+					}
+					let cateGb = 'G032_101';
+					$("#leafCateList").html('');
+
+					let allCate = [[${cateList}]];
+					if(brandGroupNo > 0){
+						if(gagajf.isNull(cate1No)){
+							let tag = '';
+							tag += '<a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\', \'\' ';
+							if(formalGb=='G009_20'){
+								tag += ' ,\'\',\'\',\'\',\'\',\''+formalGb+'\'';
+							}
+							tag += ');">전체</a>';
+							$.each(result, function(idx, item) {
+								tag += '<a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + [[${cateInfo.cateGb}]] + '\', ' + item.cate1No + ' ';
+								if(formalGb=='G009_20'){
+									tag += ' ,\'\',\'\',\'\',\'\',\''+formalGb+'\'';
+								}
+								tag += ');">'+item.cate1Nm+'</a>';
+							});
+							$('#leafCateList').append(tag);
+							$('#htopTitle').append('상품');
+						}else{
+							$.each(result, function(idx, item) {
+								$.each(allCate, function(allCateIdx, allCateItem) {
+									if (item.cate1No == allCateItem.cate1No) {
+										$('#leafCateList').append(fnGetCategoryList(item));
+									}
+								});
+							});
+						}
+					}else{
+						if(gagajf.isNull(cate1No)){
+							let tag = '';
+							tag += '<a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\', \'\' ';
+							if(formalGb=='G009_20'){
+								tag += ' ,\'\',\'\',\'\',\'\',\''+formalGb+'\'';
+							}
+							tag += ');">전체</a>';
+							$.each(result, function(idx, item) {
+								tag += '<a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + [[${cateInfo.cateGb}]] + '\', ' + item.cate1No + ' ';
+								if(formalGb=='G009_20'){
+									tag += ' ,\'\',\'\',\'\',\'\',\''+formalGb+'\'';
+								}
+								tag += ');">'+item.cate1Nm+'</a>';
+							});
+							$('#leafCateList').append(tag);
+							$('#htopTitle').append('전체');
+						}else{
+							$.each(result, function(idx, item) {
+								$.each(allCate, function(allCateIdx, allCateItem) {
+									if (item.cate1No == allCateItem.cate1No) {
+										$('#leafCateList').append(fnGetCategoryList(item));
+									}
+								});
+							});
+						}
+					}
+				}
+			});
+		}
+
+		let fnGetCategoryList = function (cate1){
+			var brandGroupNo = [[${cateInfo.brandGroupNo}]];
+			var cateGb =  [[${cateInfo.cateGb}]];
+			var formalGb = [[${cateInfo.formalGb}]];
+			var cate1No = [[${cateInfo.cate1No}]];
+			var cate2No = [[${cateInfo.cate2No}]];
+			var cate3No = [[${cateInfo.cate3No}]];
+			var cate4No = [[${cateInfo.cate4No}]];
+			var cate5No = [[${cateInfo.cate5No}]];
+
+			let tag = '';
+
+			if(formalGb!='G009_20'){
+				formalGb = '';
+			}
+
+			if (cate1 != null) {
+				if(cate1.cate1No == cate1No){
+					if(gagajf.isNull(cate2No)){
+						tag += '<a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ' ';
+						if(formalGb=='G009_20'){
+							tag += ' ,\'\',\'\',\'\',\'\',\''+formalGb+'\'';
+						}
+						tag += ');">전체</a>';
+					}
+					if(cate1.leafYn == 'N' && cate1.cate2List.length > 0){
+						$.each(cate1.cate2List, function (idx2, cate2){
+							if(gagajf.isNull(cate2No)){
+								tag += '<a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ' ';
+								if(formalGb=='G009_20'){
+									tag += ' ,\'\',\'\',\'\',\''+formalGb+'\'';
+								}
+								tag += ');">'+cate2.cate2Nm+'</a>';
+							}else{
+								if(cate2.cate2No == cate2No){
+									if(cate2.leafYn == 'N' && cate2.cate3List.length > 0){
+										if(gagajf.isNull(cate3No)){
+											tag += '<a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ' ';
+											if(formalGb=='G009_20'){
+												tag += ' ,\'\',\'\',\'\',\''+formalGb+'\'';
+											}
+											tag += ');">전체</a>';
+										}
+										$.each(cate2.cate3List, function (idx3, cate3){
+											if(gagajf.isNull(cate3No)){
+												tag += '<a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ',' + cate3.cate3No + ' ';
+												if(formalGb=='G009_20'){
+													tag += ' ,\'\',\'\',\''+formalGb+'\'';
+												}
+												tag += ');">'+cate3.cate3Nm+'</a>';
+											}else{
+												if(cate3.cate3No == cate3No){
+													if(cate3.leafYn == 'N' && cate3.cate4List.length > 0){
+														if(gagajf.isNull(cate4No)){
+															tag += '<a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ',' + cate3.cate3No + ' ';
+															if(formalGb=='G009_20'){
+																tag += ' ,\'\',\'\',\''+formalGb+'\'';
+															}
+															tag += ');">전체</a>';
+														}
+														$.each(cate3.cate4List, function (idx4, cate4){
+															if(gagajf.isNull(cate4No)){
+																tag += '<a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ',' + cate3.cate3No + ',' + cate4.cate4No + ' ';
+																if(formalGb=='G009_20'){
+																	tag += ' ,\'\',\''+formalGb+'\'';
+																}
+																tag += ');">'+cate4.cate4Nm+'</a>';
+															}else{
+																if(cate4.cate4No == cate4No){
+																	if(cate4.leafYn == 'N' && cate4.cate5List.length > 0){
+																		if(gagajf.isNull(cate5No)){
+																			tag += '<a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ',' + cate3.cate3No + ',' + cate4.cate4No + ' ';
+																			if(formalGb=='G009_20'){
+																				tag += ' ,\'\',\''+formalGb+'\'';
+																			}
+																			tag += ');">전체</a>';
+																		}
+																		$.each(cate4.cate5List, function (idx5, cate5){
+																			if(gagajf.isNull(cate5No)){
+																				tag += '<a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ',' + cate3.cate3No + ',' + cate4.cate4No + ',' + cate5.cate5No + ' ';
+																				if(formalGb=='G009_20'){
+																					tag += ' ,\''+formalGb+'\'';
+																				}
+																				tag += ');">'+cate5.cate5Nm+'</a>';
+																			}else{
+																				if(cate5.cate5No == cate5No){
+																					tag += '<a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ',' + cate3.cate3No + ',' + cate4.cate4No + ',' + cate5.cate5No + ' ';
+																					if(formalGb=='G009_20'){
+																						tag += ' ,\''+formalGb+'\'';
+																					}
+																					tag += ');">'+cate5.cate5Nm+'</a>';
+																				}
+																			}
+																		});
+																	}else{
+																		tag += '<a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ',' + cate3.cate3No + ',' + cate4.cate4No + ' ';
+																		if(formalGb=='G009_20'){
+																			tag += ' ,\'\',\''+formalGb+'\'';
+																		}
+																		tag += ');">전체</a>';
+																		tag += '<a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ',' + cate3.cate3No + ',' + cate4.cate4No + ' ';
+																		if(formalGb=='G009_20'){
+																			tag += ' ,\'\',\''+formalGb+'\'';
+																		}
+																		tag += ');">'+cate4.cate4Nm+'</a>';
+																	}
+																}
+															}
+														});
+													}
+												}
+											}
+										});
+									}
+								}
+							}
+						});
+					}
+				}
+			}
+
+			return tag;
+		}
+
+		var fnGoodsListSearch = function (){
+			console.log('a');
+			gagaInfiniteScroll.getHistory();
+			console.log('a-1');
+		}
+
+		// 상품 검색
+		var fnGetInfiniteScrollDataList = function (pageNum){
+			console.log('b');
+			$("#searchGoodsForm input[name=pageNo]").val(pageNum+1);
+			gagajf.ajaxFormSubmit("/display/category/goods/list", document.searchGoodsForm,  gagaInfiniteScroll.jsonToHtml);
+		}
+
+		var fnDrawInfiniteScrollData = function (result){
+			console.log('c');
+			let totalCnt = result.paging.totalCount;
+			//$("#totCntId").text(totalCnt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","));
+			$("#totCntId").text(totalCnt.addComma());
+			gagaInfiniteScroll.pageStatus.totalCount = totalCnt;
+
+			var ithrCd = '';
+			var contentLoc = '';
+			if (result.dataList != null && result.dataList.length > 0) {
+				$('.list_content .list_defult').hide();
+				//$('.list_content .count_wrap').show();
+				var goodsUrl = [[${@environment.getProperty('upload.goods.view')}]];;
+				let lastPage = result.paging.pageNo;
+				let endRow = result.paging.endRow - result.paging.pageSize;
+				var htm = fnCreateGoodsList(result, ithrCd, contentLoc, goodsUrl, lastPage, endRow, 'Mob');
+				gagaInfiniteScroll.draw(htm);
+			}else {
+				if($("#searchGoodsForm input[name=pageNo]").val()==1){
+					// 필터 값으로 조회 데이터 없을때
+					$('.list_content .list_defult').show();
+					//$('.list_content .count_wrap').hide();
+				}else{
+					// 마지막 페이지 일때
+					$('#endPage').show();
+					//$('.list_content .count_wrap').hide();
+				}
+				gagaInfiniteScroll.draw('not');
+			}
+		}
+
+
+		// 사파리 - event.persisted || 크롬 - window.performance.navigation.type 이 1이면 새로고침, 2면 페이지 이동을 통한 캐쉬페이징
+		$(window).on("pageshow", function(event) {
+			// $('#filterForm input[name=brandGroup]:checked').each(function(){
+			// 	$(this).attr('checked', true);
+			// });
+			// $('#filterForm input[name=size]:checked').each(function(){
+			// 	$(this).attr('checked', true);
+			// });
+			// $('#filterForm input[name=dcRate]:checked').each(function(){
+			// 	$(this).attr('checked', true);
+			// });
+			// $('#filterForm input[name=age]:checked').each(function(){
+			// 	$(this).attr('checked', true);
+			// });
+			// $('#filterForm input[name=season]:checked').each(function(){
+			// 	$(this).attr('checked', true);
+			// });
+			// $('#filterForm input[name=color]:checked').each(function(){
+			// 	$(this).attr('checked', true);
+			// });
+			// $('#filterForm input[name=benefit]:checked').each(function(){
+			// 	$(this).attr('checked', true);
+			// });
+			if ( (event.originalEvent && event.originalEvent.persisted) || (window.performance && window.performance.navigation.type == 2)) {
+				if(typeof History.getState().data.filterHtml!='undefined' && History.getState().data.filterHtml!=''){
+					console.log('filterHtml>>>'+History.getState().data.filterHtml);
+					$("#searchGoodsForm").append(History.getState().data.filterHtml);
+					filterHtml = History.getState().data.filterHtml;
+				}
+				// if(typeof History.getState().data.filterStatHtml!='undefined' && History.getState().data.filterStatHtml!=''){
+				// 	console.log('filterStatHtm>>>'+History.getState().data.filterStatHtml);
+				// 	$("#filterForm").append(History.getState().data.filterStatHtml);
+				// 	filterStatHtml = History.getState().data.filterStatHtml;
+				// }
+				if(typeof History.getState().data.totalCount!='undefined' && History.getState().data.totalCount!=''){
+					$("#totCntId").text(History.getState().data.totalCount);
+				}
+				// if(filterPriceList.length > 0){
+				// 	let min = 0;
+				// 	let max = 0;
+				// 	var val = '';
+				// 	if(!gagajf.isNull($("#searchGoodsForm").find("input:hidden[name=priceFrom]").val())){
+				// 		min = $("#searchGoodsForm").find("input:hidden[name=priceFrom]").val();
+				// 	}
+				// 	if(!gagajf.isNull($("#searchGoodsForm").find("input:hidden[name=priceTo]").val())){
+				// 		max = $("#searchGoodsForm").find("input:hidden[name=priceTo]").val();
+				// 	}
+				// 	val = min+','+max;
+				//
+				// 	$('#filterForm input[name=price]').each(function (){
+				// 		if(val == $(this).val()){
+				// 			$(this).prop("checked",true);
+				// 		}
+				// 	});
+				// }
+				// fnReCheckFilterList();
+				// if(typeof History.getState().data.sortingType!='undefined' && History.getState().data.sortingType!=''){
+				// 	$("#searchGoodsForm input:hidden[name=sortingType]").val(History.getState().data.sortingType);
+				// 	fnSortingChange(this,History.getState().data.sortingType,'back','Mob');
+				// }else{
+				// 	fnGoodsListSearch();
+				// }
+				console.log('d');
+			}else{
+				console.log('e');
+				fnCategoryGoodsInfiniteScrollInit();
+			}
+
+			var sortingType = $("#searchGoodsForm input:hidden[name=sortingType]").val();
+			if(sortingType=='BEST' || sortingType=='REVIEW'){
+				console.log('f');
+				fnSortingChange(this,sortingType,'','Mob');
+			}else{
+				console.log('g');
+				fnGoodsListSearch();
+			}
+		});
+
+		$(window).on('popstate', function(event) {
+			var data = History.getState().data;
+			data.sortingType = $("#searchGoodsForm input:hidden[name=sortingType]").val();
+			data.sortingTypeNm = '' //$("#sortArea").find('li').hasClass("on").text();
+			data.filterHtml = filterHtml;
+			data.filterStatHtml = filterStatHtml;
+			data.totalCount = $("#totCntId").text();
+			History.replaceState(data, "", "");
+		});
+
+		// var iframe= document.createElement('iframe');
+		// iframe.setAttribute('allowFullScreen', '');
+		// iframe.setAttribute('allow', 'fullscreen');
+		// var controller;
+		// var player = document.getElementById('player');
+		//
+		// player.onload = function() {
+		// 	try {
+		// 		var controller = new VgControllerClient({
+		// 			target_window: document.getElementById('pdThumbVideo').contentWindow
+		// 			// target_window: document.getElementsByClassName('pd_mov').contentWindow
+		// 		});
+		// 		var playMov;
+		//
+		// 		controller.on('ready', function(){
+		// 			//플레이어 준비 완료
+		// 			controller.set_ratio('fill');
+		// 			//  contain : 비율에 맞게 채웁니다.
+		// 			//fill : 화면에 꽉 차게 채웁니다.
+		// 			//enlargement : 세로 높이를 꽉 차게 맞춥니다. 좌우로 스크롤이 가능합니다
+		// 			controller.play();
+		// 		});
+		// 		controller.on('done', function(){
+		// 			//플레이어 재생 완료
+		// 			controller.play();
+		// 		});
+		//
+		// 	} catch(e) {
+		// 		// Videogateweay Controller Library는 window.postMessage API를 이용하기 때문에
+		// 		// 해당 기능을 지원하지 않는 웹브라우져에서는 동작하지 않습니다.
+		// 		// 이 부분에 적절한 fail-over 코드를 추가하여 주십시요.
+		// 	}
+		//
+		// }
+
+		var fnDisplayTitle = function (cateNm){
+			$("#htopTitle").html('');
+			var tag = '';
+
+			tag += '<span>'+cateNm+'</span>\n';
+			tag += '<button class="dp_list_btn_gnbs" title="서브타이틀 메뉴 열기/닫기">\n';
+			tag += '	<span><i></i></span>\n';
+			tag += '</button>\n';
+
+			return tag;
+		}
+
+		var fnTest = function (){
+			let actionUrl = '/display/brand/cate/list?brandGroupNo=' + [[${cateInfo.brandGroupNo}]];
+			let brandGroupNo = [[${cateInfo.brandGroupNo}]];
+			let cate1No = [[${cateInfo.cate1No}]];
+			let allCate = [[${cateList}]];
+			let tag = '';
+			$.getJSON(actionUrl, function(result, status){
+				$.each(allCate, function(allCateIdx, allCateItem) {
+					if (item.cate1No == allCateItem.cate1No) {
+						$.each(allCate, function(allCateIdx, allCateItem) {
+							if (item.cate1No == allCateItem.cate1No) {
+								tag += '<li>';
+								tag += '<a href="javascript:void(0);" onclick="cfnGoToGoodsList('+brandGroupNo+',\'' + cateGb + '\',' + item.cate1No + ',' + item.cate2No + ',' + item.cate3No + ',' + item.cate4No + ',' + item.cate5No + ')">'+item.cate1Nm+'</a>';
+								tag += '</li>\n';
+							}
+						});
+					}
+				});
+			});
+			$('#cateDepth').append(tag);
+		}
+
+	</script>
+
+	<script>
+		//(진행 중)
+		/* 210427_수정 : err 이미지 스크립트 */
+		function noneImg(noneSrc){
+			$(noneSrc).parents('.itemPic').css({'background':'url(/images/pc/thumb/bg_item_none.png)'});
+			$(noneSrc).css({'opacity':'0'});
+			//$(noneSrc).attr("src", no_src);
+		}
+	</script>
+
+
+</th:block>
+</body>
+</html>

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 729 - 733
src/main/webapp/WEB-INF/views/mob/display/MallMainFormMob.html


+ 1 - 0
src/main/webapp/WEB-INF/views/mob/mypage/MypageCreCancelDetailFormMob.html

@@ -216,6 +216,7 @@
 let oneData = [[${oneData}]];
 var isLogin = [[${isLogin}]];
 let kcpReceiptUrl = [[${kcpReceiptUrl}]];
+let refundYn = [[${refundYn}]];
 
 $(document).ready(function() {
 	// 타이틀명

+ 2 - 0
src/main/webapp/WEB-INF/views/mob/mypage/MypageCreExchangeDetailFormMob.html

@@ -303,6 +303,8 @@
 	let addrGb = '';
 	let memoGb = '';
 	let kcpReceiptUrl = [[${kcpReceiptUrl}]];
+	let oneData = [[${oneData}]];
+	let isLogin = [[${isLogin}]];
 
 	$(document).ready(function() {
 		// 타이틀명

+ 4 - 4
src/main/webapp/WEB-INF/views/mob/mypage/MypageCreListFormMob.html

@@ -102,7 +102,7 @@ $(document).ready(function() {
 	$('#htopTitle').text('취소/반품/교환내역');
 
 	jsonObj = {
-		"pageNo" 			: 0
+		"pageNo" 			: 1
 		, "pageSize" 		: 5
 		, "pageUnit" 		: 10
 		, "chgStat" 		: ""
@@ -167,7 +167,7 @@ $(document).ready(function() {
 		$("#listBox").html("");
 
 		// 초기화설정
-		fnGetInfiniteScrollDataList(0);
+		fnGetInfiniteScrollDataList(1);
 
 		// 팝업닫기
 		$(".popup_close").trigger("click");
@@ -178,7 +178,7 @@ $(document).ready(function() {
 var fnGetInfiniteScrollDataList = function(pageNo) {
 
 	// 페이지번호가 없으면 1페이지 설정
-	if (pageNo == null) {
+	if (pageNo == null || pageNo == 0) {
 		pageNo = 1;
 	}
 	
@@ -225,7 +225,7 @@ var fnSetSearchPeriod = function(period) {
 	$("#listBox").html("");
 	
 	// 초기화설정
-	fnGetInfiniteScrollDataList(0);
+	fnGetInfiniteScrollDataList(1);
 	
 	$("#odDatePop .popup_con button").removeClass("on");
 	

+ 2 - 0
src/main/webapp/WEB-INF/views/mob/mypage/MypageCreReturnDetailFormMob.html

@@ -280,6 +280,8 @@
 /*<![CDATA[*/
 let oneData = [[${oneData}]];
 var isLogin = [[${isLogin}]];
+let kcpReceiptUrl = [[${kcpReceiptUrl}]];
+let refundYn = [[${refundYn}]];
 
 $(document).ready(function() {
 	// 타이틀명

+ 47 - 10
src/main/webapp/WEB-INF/views/mob/mypage/MypageOrderDetailFormMob.html

@@ -956,7 +956,6 @@
 	//let delvMemo			= [[${deliveryAddrInfo.delvMemo}]];
 
 	$(document).ready(function() {
-		mcxDialog.alert(kcpReceiptUrl);
 		// 타이틀명
 		$('#htopTitle').text('주문상세');
 		
@@ -1057,9 +1056,9 @@
 	// 전체취소 버튼 클릭 이벤트
 	var fnAllCancel = function() {
 		// 환불계좌 체크
-		let accountNo = $('#orderDetailForm input[name=accountNo]').val();
-		let accountNm = $('#orderDetailForm input[name=accountNm]').val();
-		let bankCd = $('#orderDetailForm input[name=bankCd]').val();
+		let accountNo = $('#mypageOrderDetailForm input[name=accountNo]').val();
+		let accountNm = $('#mypageOrderDetailForm input[name=accountNm]').val();
+		let bankCd = $('#mypageOrderDetailForm input[name=bankCd]').val();
 
 		if (paymentInfo.payMeans == 'G014_20' && paymentInfo.payStat == 'G016_30' && (gagajf.isNull(accountNo) || gagajf.isNull(accountNm) || gagajf.isNull(bankCd))) {
 			let data = {};
@@ -1096,13 +1095,13 @@
 				
 				// 주문상세번호 설정
 				let ordDtlNoArr = [];
-				$.each($('#orderDetailForm input[name=ordDtlNoArr]'), function(idx, item) {
+				$.each($('#mypageOrderDetailForm input[name=ordDtlNoArr]'), function(idx, item) {
 					ordDtlNoArr.push($(item).val());
 				});
 				
 				// 취소 수량 설정
 				let cnclRtnReqQtyArr = [];
-				$.each($('#orderDetailForm input[name=cnclRtnReqQtyArr]'), function(idx, item) {
+				$.each($('#mypageOrderDetailForm input[name=cnclRtnReqQtyArr]'), function(idx, item) {
 					cnclRtnReqQtyArr.push($(item).val());
 				});
 				
@@ -1118,7 +1117,7 @@
 				data.reqGbn = 'cnclComplete';
 				data.ordDtlNoArr = ordDtlNoArr;
 				data.cnclRtnReqQtyArr = cnclRtnReqQtyArr;
-				
+
 				let jsonData = JSON.stringify(data);
 				
 				gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
@@ -1162,9 +1161,9 @@
 	// 환불계좌 등록 콜백 처리
 	var fnRegisterAccountCallback = function(result) {
 		// 환불계좌 정보 설정
-		$('#orderDetailForm input[name=accountNo]').val(result.accountNo);
-		$('#orderDetailForm input[name=accountNm]').val(result.accountNm);
-		$('#orderDetailForm input[name=bankCd]').val(result.bankCd);
+		$('#mypageOrderDetailForm input[name=accountNo]').val(result.accountNo);
+		$('#mypageOrderDetailForm input[name=accountNm]').val(result.accountNm);
+		$('#mypageOrderDetailForm input[name=bankCd]').val(result.bankCd);
 		
 		// 전체취소 처리
 		fnAllCancel();
@@ -1184,6 +1183,44 @@
 			cfnGoToPage(_PAGE_MYPAGE_ORDER_DETAIL + ordNo);
 		});
 	}
+
+	// 전체구매확정 버튼 클릭 이벤트
+	var fnAllDecideOrder = function(param) {
+		let orderDecisionArr = [];
+		let ordNo = $(param).attr('ordNo');
+
+		// 주문상세번호 설정
+		$.each($('#mypageOrderDetailForm input[name=ordDtlNoArr]'), function(idx, item) {
+			orderDecisionArr.push($(item).val());
+		});
+
+		if (orderDecisionArr.length == 0) {
+			mcxDialog.alert('구매확정 가능한 상품이 없습니다.');
+			return false;
+		}
+
+		mcxDialog.confirm('구매확정 후에는 반품/교환이 불가합니다. 구매확정하시겠습니까?', {
+			cancelBtnText: "취소",
+			sureBtnText: "확인",
+			sureBtnClick: function(){
+				let data = {};
+
+				data.ordNo = ordNo;
+				data.ordDtlNoArr = orderDecisionArr;
+
+				var jsonData = JSON.stringify(data);
+				gagajf.ajaxJsonSubmit('/mypage/order/decision'
+					, jsonData
+					, function() {
+						if (typeof(fnReloadStatusCount) == 'function') {
+							fnReloadStatusCount();
+						} else {
+							cfnGoToPage(_PAGE_MYPAGE_ORDER_DETAIL + ordNo);
+						}
+					});
+			}
+		});
+	}
 </script>
 
 </th:block>

+ 5 - 5
src/main/webapp/WEB-INF/views/mob/mypage/MypageOrderListFormMob.html

@@ -193,7 +193,7 @@ $(document).ready(function() {
 
 	// AJAX 로드를 위한 변수 설정
 	jsonObj = {
-		"pageNo" 			: 0
+		"pageNo" 			: 1
 		, "pageSize" 		: 5
 		, "pageUnit" 		: 10
 		, "ordDtlStat" 		: ""
@@ -273,7 +273,7 @@ $(document).ready(function() {
 		$("#listBox").html("");
 		
 		// 초기화설정
-		fnGetInfiniteScrollDataList(0);
+		fnGetInfiniteScrollDataList(1);
 
 		// 팝업닫기
 		$(".popup_close").trigger("click");
@@ -289,10 +289,10 @@ $(document).ready(function() {
 var fnGetInfiniteScrollDataList = function(pageNo) {
 
 	// 페이지번호가 없으면 1페이지 설정
-	if (pageNo == null) {
+	if (pageNo == null || pageNo == 0) {
 		pageNo = 1;
 	}
-	
+
 	// 페이지설정
 	$("#searchForm input[name=pageNo]").val(pageNo);
 	
@@ -339,7 +339,7 @@ var fnSetSearchPeriod = function(period) {
 	$("#listBox").html("");
 	
 	// 초기화설정
-	fnGetInfiniteScrollDataList(0);
+	fnGetInfiniteScrollDataList(1);
 	
 	$("#odDatePop .popup_con button").removeClass("on");
 	

+ 6 - 7
src/main/webapp/WEB-INF/views/mob/mypage/MypageReviewDetailFormMob.html

@@ -157,11 +157,10 @@
 /*<![CDATA[*/
 	
 	$(document).ready( function() {
-		/* let reviewAttchSq = 0; 
-		if (!gagajf.isNull( [[${review.rvAtcSq}]])){
-			reviewAttchSq = [[${review.rvAtcSq}]];
-		
-		} */
+		let reviewAttchSq = 0; 
+		if (!gagajf.isNull( [[${review.attachSq}]])){
+			reviewAttchSq = [[${review.attachSq}]];
+		} 
 		 //슬라이드 - 포토,영상리뷰팝업 
         var photoreviewdetailSwiper = new Swiper('.pd_photoreviewdetail_pop .area_slider .swiper-container', {
             observer: true,
@@ -171,9 +170,9 @@
                 el: '.swiper-pagination',
                 type: 'fraction',
             },
-         /*    photoreviewdetailSwiper.slideTo(reviewAttchSq, 0, false); */
+        
         });
-		 
+       photoreviewdetailSwiper.slideTo(reviewAttchSq, 0, false);
         // 포토,베스트리뷰숨김
         var review_open=$(".btn_review_open");
         $(document).on('click','.btn_review_open',function(e){

+ 5 - 4
src/main/webapp/WEB-INF/views/mob/mypage/MypageReviewFormMob.html

@@ -165,20 +165,21 @@
 					html += '			</div>\n';
 					html += '		</div>\n';
 					if (attachList != null && attachList.length >0) {
+						var j = 0;
 						html += '		<div class="photo_box">\n';
 						html += '			<div class="photo_list">\n';
 						html += '				<ul>\n';
 						for (var i = 0; i < attachList.length; i++) {
-							if (attachList[i].reviewSq == item.reviewSq) {
+							if (attachList[i].reviewSq == item.reviewSq) { 
 								html += '					<li>\n';
 								html += '						<a>\n';
 								html += '							<div class="pic">\n';
 								if (attachList[i].fileGb == 'M') {
-									html += '								<span class="thumb mov" onclick="cfMypageReviewDetail(\''+item.goodsCd+'\', \'Y\',\''+item.reviewSq+'\',\''+attachList[i].rvAtcSq+'\');"  style="background-image:url(' + _kollusMediaUrl + '/poster/' + attachList[i].kmcKey + '?player_version=html5);"></span>\n';
+									html += '								<span class="thumb mov" onclick="cfMypageReviewDetail(\''+item.goodsCd+'\', \'Y\',\''+item.reviewSq+'\',\''+j+'\');"  style="background-image:url(' + _kollusMediaUrl + '/poster/' + attachList[i].kmcKey + '?player_version=html5);"></span>\n';
 								}else{
-									html += '								<span class="thumb" onclick="cfMypageReviewDetail(\''+item.goodsCd+'\', \'Y\',\''+item.reviewSq+'\',\''+attachList[i].rvAtcSq+'\');" style="background-image:url(' + _uploadImageUrl + '/' + attachList[i].sysFileNm + ');"></span>\n';
+									html += '								<span class="thumb" onclick="cfMypageReviewDetail(\''+item.goodsCd+'\', \'Y\',\''+item.reviewSq+'\',\''+j+'\');" style="background-image:url(' + _uploadImageUrl + '/' + attachList[i].sysFileNm + ');"></span>\n';
 								}
-								
+								j++;
 								html += '							</div>\n';
 								html += '						</a>\n';
 								html += '					</li>\n';

+ 1 - 0
src/main/webapp/WEB-INF/views/mob/mypage/NoMemberCreExchangeDetailFormMob.html

@@ -292,6 +292,7 @@
 	/*<![CDATA[*/
 	let oneData = [[${oneData}]];
 	var isLogin = [[${isLogin}]];
+	let kcpReceiptUrl = [[${kcpReceiptUrl}]];
 	let addrGb = '';
 	let memoGb = '';
 

+ 4 - 4
src/main/webapp/WEB-INF/views/mob/mypage/NoMemberCreListFormMob.html

@@ -119,7 +119,7 @@ $(document).ready(function() {
 	$('#htopTitle').text('취소/반품/교환내역');
 
 	jsonObj = {
-		"pageNo" 			: 0
+		"pageNo" 			: 1
 		, "pageSize" 		: 5
 		, "pageUnit" 		: 10
 		, "chgStat" 		: ""
@@ -186,7 +186,7 @@ $(document).ready(function() {
 		$("#listBox").html("");
 		
 		// 초기화설정
-		fnGetInfiniteScrollDataList(0);
+		fnGetInfiniteScrollDataList(1);
 
 		// 팝업 닫기
 		$(".popup_close").trigger("click");
@@ -197,7 +197,7 @@ $(document).ready(function() {
 var fnGetInfiniteScrollDataList = function(pageNo) {
 
 	// 페이지번호가 없으면 1페이지 설정
-	if (pageNo == null) {
+	if (pageNo == null || pageNo == 0) {
 		pageNo = 1;
 	}
 	
@@ -244,7 +244,7 @@ var fnSetSearchPeriod = function(period) {
 	$("#listBox").html("");
 	
 	// 초기화설정
-	fnGetInfiniteScrollDataList(0);
+	fnGetInfiniteScrollDataList(1);
 	
 	$("#odDatePop .popup_con button").removeClass("on");
 	

+ 1 - 0
src/main/webapp/WEB-INF/views/mob/mypage/NoMemberCreReturnDetailFormMob.html

@@ -271,6 +271,7 @@
 let oneData = [[${oneData}]];
 var isLogin = [[${isLogin}]];
 let kcpReceiptUrl = [[${kcpReceiptUrl}]];
+let refundYn = [[${refundYn}]];
 
 $(document).ready(function() {
 	// 타이틀명

+ 4 - 4
src/main/webapp/WEB-INF/views/mob/mypage/NoMemberOrderListFormMob.html

@@ -127,7 +127,7 @@ $(document).ready(function() {
 
 	// AJAX 로드를 위한 변수 설정
 	jsonObj = {
-		"pageNo" 			: 0
+		"pageNo" 			: 1
 		, "pageSize" 		: 5
 		, "pageUnit" 		: 10
 		, "ordDtlStat" 		: ""
@@ -194,7 +194,7 @@ $(document).ready(function() {
 		$("#listBox").html("");
 
 		// 초기화설정
-		fnGetInfiniteScrollDataList(0);
+		fnGetInfiniteScrollDataList(1);
 
 		// 팝업 닫기
 		$(".popup_close").trigger("click");
@@ -205,7 +205,7 @@ $(document).ready(function() {
 var fnGetInfiniteScrollDataList = function(pageNo) {
 
 	// 페이지번호가 없으면 1페이지 설정
-	if (pageNo == null) {
+	if (pageNo == null || pageNo == 0) {
 		pageNo = 1;
 	}
 	
@@ -254,7 +254,7 @@ var fnSetSearchPeriod = function(period) {
 	$("#listBox").html("");
 	
 	// 초기화설정
-	fnGetInfiniteScrollDataList(0);
+	fnGetInfiniteScrollDataList(1);
 	
 	$("#odDatePop .popup_con button").removeClass("on");
 	

+ 33 - 7
src/main/webapp/WEB-INF/views/mob/planning/PlanningDetailFormMob.html

@@ -31,7 +31,7 @@
 					</div>
 				</div>
 				<div class="inner wide">
-					<div class="promotion_visual type1" th:if="${fsrcInfoTop != null}" th:utext="${#strings.replace(#strings.replace(fsrcInfoTop.fsrcMob,'&amplt;','<'),'&ampgt;','>')}">>
+					<div class="promotion_visual type1" th:if="${fsrcInfoTop != null}" th:utext="${#strings.replace(#strings.replace(fsrcInfoTop.fsrcMob,'&amplt;','<'),'&ampgt;','>')}">
 					</div>
 				</div>
 				<th:block th:each="a, template : ${templateOrd}">
@@ -69,9 +69,15 @@
 						<div class="inner" th:id="${a.tmplType + a.planContSq}">
                     	</div>
 					</th:block>
+					<th:block th:if="${a.tmplType == 'G082_60'}">
+						<div class="inner" th:id="${a.tmplType}">
+						</div>
+					</th:block>
 				</th:block>
-				
-				<div class="inner" th:if="${fsrcInfoBtm != null}" th:utext="${#strings.replace(#strings.replace(fsrcInfoBtm.fsrcMob,'&amplt;','<'),'&ampgt;','>')}"></div>
+				<div class="inner wide">
+					<div class="promotion_visual type1" th:if="${fsrcInfoBtm != null}"  th:utext="${#strings.replace(#strings.replace(fsrcInfoBtm.fsrcMob,'&amplt;','<'),'&ampgt;','>')}">
+					</div>
+				</div>
 				<div class="inner" th:if="${planInfo.pollSq != null}">
 					<div class="dp_btn_area">
 						<div class="btn_wrap">
@@ -203,9 +209,6 @@
 			</div>
 		</main>
 		
-	<div class="modal pop_full photo_comment_popup" id="photo_full_popup" tabindex="-1" role="dialog" aria-labelledby="comment_popup" aria-hidden="true">
-		
-	</div>
 	<!-- (공통) 공유팝업 -->
 		<div class="modal fade" id="tglShare" tabindex="-1" role="dialog"
 			aria-labelledby="aModalLabel" aria-hidden="true">
@@ -270,6 +273,7 @@ let review = [[${reviewInfo}]];
 let coupon = [[${couponInfo}]];
 let plan = [[${planInfo}]];
 let image = [[${imageInfo}]];
+let notice = [[${noticeInfo}]];
 let goods1 = [[${goods1Info}]];
 let goods2 = [[${goods2Info}]];
 let goods4 = [[${goods4Info}]];
@@ -307,10 +311,13 @@ var fnSearchCallback = function (result) {
 					html += '		<div class="cmt_cont">';
 					if (result.replyAttachList.length>0) {
 						html += '			<div class="img_wrap clear">';
+						var j = 0;
 						for (var i = 0; i < result.replyAttachList.length; i++) {
 							if(result.replyAttachList[i].planEntrySq == item.planEntrySq){
-								html += '				<div class="pics"><img class="picsThumbs" src="'+ _uploadImageUrl +'/'+result.replyAttachList[i].sysFileNm +'" onclick="cfPlanReplyDetail(\''+item.planSq+'\',\''+item.planEntrySq+'\',\''+result.replyAttachList[i].planEntryAtSq+'\');"></div>';
+								html += '				<div class="pics"><img class="picsThumbs" src="'+ _uploadImageUrl +'/'+result.replyAttachList[i].sysFileNm +'" onclick="cfPlanReplyDetail(\''+item.planSq+'\',\''+item.planEntrySq+'\',\''+result.replyAttachList[i].planEntryAtSq+'\', \''+ j +'\');"></div>';
+								j++;
 							}
+							
 						}
 						html += '			</div>';
 					}
@@ -450,6 +457,25 @@ var fnReplySave = function() {
 	})
 }
 
+if (notice.length>0) {
+	var html = '';
+	
+	html += '<div class="announce_txt">';
+	html += '	<div class="note_txt">';
+	html += '		<img src="/images/mo/ico_content_find03.png" alt="유의사항">';
+	html += '		<p>유의사항</p>';
+	html += '	</div>';
+	html += '	<div class="announce_list">';
+	html += '		<ul>';
+	$.each(notice, function(idx, item)  {
+	html += '			<li>' +item.itemVal+ '</li>';
+	});
+	html += '		</ul>';
+	html += '	</div>';
+	html += '</div>';
+	
+	$("#G082_60").append(html);
+}
 
 if(planCornerList.length>0){
 	

+ 14 - 76
src/main/webapp/WEB-INF/views/mob/planning/PlanningReplyPhotoFormMob.html

@@ -57,97 +57,35 @@
 </div>
 
 <a href="javascript:void(0);" rel="modal:close"
-	onclick="cfCloseLayer('layer_review_photo')" class="close-modal">Close</a>
+	onclick="cfCloseLayer('photo_full_popup')" class="close-modal">Close</a>
 <script th:inline="javascript">
+/* 210414_추가 : swiper fraction 숫자 1자리수 일때 앞에 0 스크립트 추가 */
+
+
 /*<![CDATA[*/
-	
-	
-	
 	$(document).ready( function() {
-		
+		let replyAttchSq = 0; 
+		if (!gagajf.isNull( [[${plan.attachSq}]])){
+			replyAttchSq = [[${plan.attachSq}]];
+		} 
 		$(document).on('click','.pop_open_btn',function(){
 			$('.modal.photo_comment_popup .pop_detail').toggleClass('active');
 		});
 		
-		/* 210414_추가 : swiper fraction 숫자 1자리수 일때 앞에 0 스크립트 추가 */
-		var swiper = new Swiper('.pop_slide .swiper-container', {
+		var photoreplydetailSwiper = new Swiper('.pop_slide .swiper-container', {
 			observer: true,
 			observeParents: true,
+			slidesPerView: 1,
 			pagination: {
-				el: '.pop_slide .swiper-pagination',
+				el: '.swiper-pagination',
 				type: 'fraction',
-				formatFractionCurrent: function (number) {
-					switch(number)
-					{
-						case 1:
-						myNum='01'
-						break;
-						case 2:
-						myNum='02'
-						break;
-						case 3:
-						myNum='03'
-						break;
-						case 4:
-						myNum='04'
-						break;
-						case 5:
-						myNum='05'
-						break;
-						case 6:
-						myNum='06'
-						break;
-						case 7:
-						myNum='07'
-						break;
-						case 8:
-						myNum='08'
-						break;
-						case 9:
-						myNum='09'
-						break;
-						default:myNum= number
-						}
-					return myNum; 
-				},
-				formatFractionTotal: function (number) {
-					switch(number)
-					{
-						case 1:
-						myNum='01'
-						break;
-						case 2:
-						myNum='02'
-						break;
-						case 3:
-						myNum='03'
-						break;
-						case 4:
-						myNum='04'
-						break;
-						case 5:
-						myNum='05'
-						break;
-						case 6:
-						myNum='06'
-						break;
-						case 7:
-						myNum='07'
-						break;
-						case 8:
-						myNum='08'
-						break;
-						case 9:
-						myNum='09'
-						break;
-						default:myNum= number
-						}
-					return myNum; 
-				},
 			},
 		});
 		
 		
+		photoreplydetailSwiper.slideTo(replyAttchSq, 0, false);
+		photoreplydetailSwiper.update();
+		
 	});
 	
 	

+ 4 - 3
src/main/webapp/WEB-INF/views/web/common/layout/BrandLayoutWeb.html

@@ -35,9 +35,10 @@
 <script th:inline="javascript">
 /*<![CDATA[*/
 	$(document).ready(function() {
-		let brandGroupColor = [[${brandGroupInfo.rgbCd}]];
-		if(brandGroupColor != null){
-			$("#container").css('backgroundColor',[[${brandGroupInfo.rgbCd}]]);
+		let brandGroupInfo = [[${brandGroupInfo}]];
+
+		if(brandGroupInfo != null){
+			$("#container").css('backgroundColor', brandGroupInfo.rgbCd);
 		}else{
 			$("#container").css('backgroundColor','#fff');
 		}

+ 3 - 3
src/main/webapp/WEB-INF/views/web/display/BrandMainFormWeb.html

@@ -182,7 +182,7 @@
 														<div class="itemName" th:text="${goodsData.goodsFullNm}"></div>
 														<p class="itemPrice">
 															[[${#numbers.formatInteger(goodsData.currPrice,1,'COMMA')} + 원]]
-															<span class="itemPrice_original" th:text="${#numbers.formatInteger(goodsData.listPrice,1,'COMMA')}"></span>
+															<span class="itemPrice_original" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${#numbers.formatInteger(goodsData.listPrice,1,'COMMA')}"></span>
 															<span class="itemPercent" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${(goodsData.listPrice == 0 ? 0 : #numbers.formatDecimal((goodsData.listPrice - goodsData.currPrice) / (goodsData.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>
 														</p>
 														<div class="itemComment" th:text="${goodsData.goodsTnm}">#가을느낌 물씬!!</div>
@@ -319,7 +319,7 @@
 																		</div>
 																		<div class="itemName" th:text="${planningGoods.goodsNm}">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
 																		<p class="itemPrice">[[${#numbers.formatInteger(planningGoods.currPrice,0,'COMMA')} + 원]]
-																			<span class="itemPrice_original" th:text="${#numbers.formatInteger(planningGoods.listPrice,1,'COMMA')}">89,000</span>
+																			<span class="itemPrice_original" th:if="${planningGoods.currPrice != planningGoods.listPrice}" th:text="${#numbers.formatInteger(planningGoods.listPrice,1,'COMMA')}">89,000</span>
 																			<span class="itemPercent" th:if="${planningGoods.currPrice != planningGoods.listPrice}" th:text="${(planningGoods.listPrice == 0 ? 0 : #numbers.formatDecimal((planningGoods.listPrice - planningGoods.currPrice) / (planningGoods.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>
 																		</p>
 																	</a>
@@ -357,7 +357,7 @@
 												<p class=" itemBrand" th:text="${goodsData.brandGroupNm}"></p>
 												<div class="itemName" th:text="${goodsData.goodsFullNm}"></div>
 												<p class="itemPrice">[[${#numbers.formatInteger(goodsData.currPrice,0,'COMMA')} + 원]]
-													<span class="itemPrice_original" th:text="${#numbers.formatInteger(goodsData.listPrice,1,'COMMA')}">89,000</span>
+													<span class="itemPrice_original" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${#numbers.formatInteger(goodsData.listPrice,1,'COMMA')}">89,000</span>
 													<span class=" itemPercent" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${(goodsData.listPrice == 0 ? 0 : #numbers.formatDecimal((goodsData.listPrice - goodsData.currPrice) / (goodsData.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>
 												</p>
 												<div class="itemcolorchip" th:if="${goodsData.colorArr != null}">

+ 1051 - 0
src/main/webapp/WEB-INF/views/web/display/CategoryGoodsListScrollTestFormWeb.html

@@ -0,0 +1,1051 @@
+<!DOCTYPE html>
+<html lang="ko"
+	  xmlns:th="http://www.thymeleaf.org"
+	  xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
+	  layout:decorator="web/common/layout/BrandLayoutWeb">
+<!--
+ *******************************************************************************
+ * @source  : CategoryGoodsListFormWeb.html
+ * @desc    : 카테고리 상품목록 Page
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2020 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.04.02   bin2107     최초 작성
+ *******************************************************************************
+ -->
+<body>
+
+<th:block layout:fragment="content">
+	<div id="container" class="container dp">
+		<div class="breadcrumb">
+			<ul id="navArea">
+				<li class="bread_home" id="idHome"><a href="javascript:void(0);" id="navHome">홈</a></li>
+				<li class="bread_2depth" id="mainNm" style="display: none;"></li>
+				<li class="bread_2depth" id="brandNm" style="display: none;"></li>
+				<li class="bread_2depth" id="navNm"></li>
+			</ul>
+		</div>
+		<div class="wrap">
+			<div class="content dp_list"> <!-- 페이지특정 클래스 = dp_list -->
+				<div class="cont_head">
+					<div>
+						<h3 id="formTitle"></h3>
+					</div>
+				</div>
+				<div class="lnb">
+					<div class="lnb_tit">
+						<h3>카테고리</h3>
+					</div>
+					<div class="lnb_category">
+						<ul class="category" id="ulAllCate">
+
+						</ul>
+					</div>
+				</div>
+				<div class="cont">
+					<form id="filterForm">
+						<div class="cont_body">
+							<div class="filter_list">
+								<!-- 1depth -->
+<!--								<ul>-->
+<!--									<li data-id="tap02" th:if="${filterBrandList != null and !filterBrandList.empty}">-->
+<!--										<a href="javascript:void(0)">브랜드</a>-->
+<!--									</li>-->
+<!--									<li data-id="tap03" th:if="${filterSizeList != null and !filterSizeList.empty}">-->
+<!--										<a href="javascript:void(0)">사이즈</a>-->
+<!--									</li>-->
+<!--									<li data-id="tap04" th:if="${filterPriceList != null and !filterPriceList.empty}">-->
+<!--										<a href="javascript:void(0)">가격</a>-->
+<!--									</li>-->
+<!--									<li data-id="tap05">-->
+<!--										<a href="javascript:void(0)">할인율</a>-->
+<!--									</li>-->
+<!--									<li data-id="tap06" th:if="${filterAgeList != null and !filterAgeList.empty}">-->
+<!--										<a href="javascript:void(0)">연령</a>-->
+<!--									</li>-->
+<!--									<li data-id="tap07" th:if="${filterSeasonList != null and !filterSeasonList.empty}">-->
+<!--										<a href="javascript:void(0)">시즌</a>-->
+<!--									</li>-->
+<!--									<li data-id="tap08" th:if="${filterColorList != null and !filterColorList.empty}">-->
+<!--										<a href="javascript:void(0)">컬러</a>-->
+<!--									</li>-->
+<!--									<li data-id="tap09" th:if="${filterBenefitList != null and !filterBenefitList.empty}">-->
+<!--										<a href="javascript:void(0)">혜택</a>-->
+<!--									</li>-->
+<!--								</ul>-->
+								<div class="form_field">
+									<div>
+										<input id="unisex" type="checkbox" onclick="fnFilterOption(this,'on');"><label for="unisex"> <span>남여 공용만 보기</span> </label>
+									</div>
+									<div th:unless="${cateInfo.formalGb=='G009_20'}">
+										<input id="newGoods" type="checkbox" onclick="fnFilterOption(this,'off');" checked="checked"><label for="newGoods"> <span>신상품만 보기</span> </label>
+									</div>
+								</div>
+							</div>
+<!--							<div class="filter_content">-->
+<!--								&lt;!&ndash; 브랜드 &ndash;&gt;-->
+<!--								<div class="sort tap02" th:if="${filterBrandList != null and !filterBrandList.empty}" id="brandGroupFilterDiv">-->
+<!--									<ul>-->
+<!--										<th:block th:each="oneData, status : ${filterBrandList}">-->
+<!--											<li>-->
+<!--												<label class="brand_btn">-->
+<!--													<input type="checkbox" group="filterValue" th:id="${'chkFilterBrand' + status.index}" name="brandGroup" th:value="${oneData.filterCd}" th:data-id="${oneData.filterNm}" onclick="filterSel(this,'brandGroup','off');"><span th:text="${oneData.filterNm}"></span>-->
+<!--												</label>-->
+<!--											</li>-->
+<!--										</th:block>-->
+<!--									</ul>-->
+<!--									<a href="javascript:void(0)" class="tap_close">delete-btn</a>-->
+<!--								</div>-->
+<!--								&lt;!&ndash; //브랜드 &ndash;&gt;-->
+<!--								&lt;!&ndash; 사이즈 &ndash;&gt;-->
+<!--								<div class="sort tap03" th:if="${filterSizeList != null and !filterSizeList.empty}" id="sizeFilterDiv">-->
+<!--									<ul>-->
+<!--										<li id="sizeLi1">-->
+<!--											<strong>상의</strong>-->
+<!--											<th:block th:each="oneData, status : ${filterSizeList}" th:if="${#strings.startsWith(oneData.filterCd,'T')}">-->
+<!--												<label class="size_btn">-->
+<!--													<input type="checkbox" group="filterValue" th:id="${'chkFilterTSize' + status.index}" name="size" th:vale="${oneData.filterNm}" th:data-id="${oneData.filterNm}" data-idx="1" onclick="filterSel(this,'size','off','1');"><span th:text="${oneData.filterNm}">80</span>-->
+<!--												</label>-->
+<!--											</th:block>-->
+<!--										</li>-->
+<!--										<li id="sizeLi2">-->
+<!--											<strong>하의</strong>-->
+<!--											<th:block th:each="oneData, status : ${filterSizeList}" th:if="${#strings.startsWith(oneData.filterCd,'B')}">-->
+<!--												<label class="size_btn">-->
+<!--													<input type="checkbox" group="filterValue" th:id="${'chkFilterBSize' + status.index}" name="size" th:vale="${oneData.filterNm}" th:data-id="${oneData.filterNm}" data-idx="2" onclick="filterSel(this,'size','off','2');"><span th:text="${oneData.filterNm}">80</span>-->
+<!--												</label>-->
+<!--											</th:block>-->
+<!--										</li>-->
+<!--										<li id="sizeLi3">-->
+<!--											<strong>신발</strong>-->
+<!--											<th:block th:each="oneData, status : ${filterSizeList}" th:if="${#strings.startsWith(oneData.filterCd,'S')}">-->
+<!--												<label class="size_btn">-->
+<!--													<input type="checkbox" group="filterValue" th:id="${'chkFilterSSize' + status.index}" name="size" th:vale="${oneData.filterNm}" th:data-id="${oneData.filterNm}" data-idx="3" onclick="filterSel(this,'size','off','3');"><span th:text="${oneData.filterNm}">80</span>-->
+<!--												</label>-->
+<!--											</th:block>-->
+<!--										</li>-->
+<!--									</ul>-->
+<!--									<a href="javascript:void(0)" class="tap_close">delete-btn</a>-->
+<!--								</div>-->
+<!--								&lt;!&ndash; //사이즈 &ndash;&gt;-->
+<!--								&lt;!&ndash; 가격 &ndash;&gt;-->
+<!--								<div class="sort tap04" id="priceFilterDiv">-->
+<!--									<div class="range">-->
+<!--										<input type="text" class="js-range-slider01" name="" value="" />-->
+<!--										<input type="hidden" id="price_input_from" name="price_input_from" value=""/>-->
+<!--										<input type="hidden" id="price_input_to" name="price_input_to" value=""/>-->
+<!--										<input type="hidden" id="hPriceFrom" name="hPriceFrom" value=""/>-->
+<!--										<input type="hidden" id="hPriceTo" name="hPriceTo" value=""/>-->
+<!--									</div>-->
+<!--									<a href="javascript:void(0)" class="tap_close">delete-btn</a>-->
+<!--								</div>-->
+<!--								&lt;!&ndash; //가격 &ndash;&gt;-->
+<!--								&lt;!&ndash; 할인율 &ndash;&gt;-->
+<!--								<div class="sort tap05" id="dcrateFilterDiv">-->
+<!--									<ul style="display:none;">-->
+<!--										<li><input type="checkbox" id="percent01" name="range" value="0"><label for="percent01"><span></span><span>0%</span></label></li>-->
+<!--										<li><input type="checkbox" id="percent02" name="range" value="10"><label for="percent02"><span></span><span>10%</span></label></li>-->
+<!--										<li><input type="checkbox" id="percent03" name="range" value="20"><label for="percent03"><span></span><span>20%</span></label></li>-->
+<!--										<li><input type="checkbox" id="percent04" name="range" value="30"><label for="percent04"><span></span><span>30%</span></label></li>-->
+<!--										<li><input type="checkbox" id="percent05" name="range" value="40"><label for="percent05"><span></span><span>40%</span></label></li>-->
+<!--										<li><input type="checkbox" id="percent06" name="range" value="50"><label for="percent06"><span></span><span>50%</span></label></li>-->
+<!--										<li><input type="checkbox" id="percent07" name="range" value="60"><label for="percent07"><span></span><span>60%</span></label></li>-->
+<!--										<li><input type="checkbox" id="percent08" name="range" value="70"><label for="percent08"><span></span><span>70%</span></label></li>-->
+<!--										<li><input type="checkbox" id="percent09" name="range" value="80"><label for="percent09"><span></span><span>80%</span></label></li>-->
+<!--										<li><input type="checkbox" id="percent10" name="range" value="100"><label for="percent10"><span></span><span>100%</span></label></li>-->
+<!--									</ul>-->
+<!--									<div class="range">-->
+<!--										<input type="text" class="js-range-slider02" name="" value="" />-->
+<!--										<input type="hidden" id="dcrate_input_from" name="dcrate_input_from" value=""/>-->
+<!--										<input type="hidden" id="dcrate_input_to" name="dcrate_input_to" value=""/>-->
+<!--										<input type="hidden" id="hDcRateFrom" name="hDcRateFrom" value=""/>-->
+<!--										<input type="hidden" id="hDcRateTo" name="hDcRateTo" value=""/>-->
+<!--									</div>-->
+<!--									<a href="javascript:void(0)" class="tap_close">delete-btn</a>-->
+<!--								</div>-->
+<!--								&lt;!&ndash; //할인율 &ndash;&gt;-->
+<!--								&lt;!&ndash; 연령 &ndash;&gt;-->
+<!--								<div class="sort tap06" th:if="${filterAgeList != null and !filterAgeList.empty}" id="ageFilterDiv">-->
+<!--									<ul>-->
+<!--										<th:block th:each="oneData, status : ${filterAgeList}">-->
+<!--											<li>-->
+<!--												<label class="Age_btn">-->
+<!--													<input type="checkbox" group="filterValue" th:id="${'chkFilterAge' + status.index}" name="age" th:value="${oneData.filterCd}" th:data-id="${oneData.filterNm}" onclick="filterSel(this,'age','off');"><span th:text="${oneData.filterNm}">베이비(0~18개월)</span>-->
+<!--												</label>-->
+<!--											</li>-->
+<!--										</th:block>-->
+<!--									</ul>-->
+<!--									<a href="javascript:void(0)" class="tap_close">delete-btn</a>-->
+<!--								</div>-->
+<!--								&lt;!&ndash; //연령 &ndash;&gt;-->
+<!--								&lt;!&ndash; 시즌 &ndash;&gt;-->
+<!--								<div class="sort tap07" th:if="${filterSeasonList != null and !filterSeasonList.empty}" id="seasonFilterDiv">-->
+<!--									<ul>-->
+<!--										<th:block th:each="oneData, status : ${filterSeasonList}">-->
+<!--											<li>-->
+<!--												<label class="Season_btn">-->
+<!--													<input type="checkbox" group="filterValue"  th:id="${'chkFilterSeason' + status.index}" name="season" th:value="${oneData.filterCd}" th:data-id="${oneData.filterNm}" onclick="filterSel(this,'season','off');"><span th:text="${oneData.filterNm}">봄</span>-->
+<!--												</label>-->
+<!--											</li>-->
+<!--										</th:block>-->
+<!--									</ul>-->
+<!--									<a href="javascript:void(0)" class="tap_close">delete-btn</a>-->
+<!--								</div>-->
+<!--								&lt;!&ndash; //시즌 &ndash;&gt;-->
+<!--								&lt;!&ndash; 컬러 &ndash;&gt;-->
+<!--								<div class="sort tap08" th:if="${filterColorList != null and !filterColorList.empty}" id="colorFilterDiv">-->
+<!--									<ul>-->
+<!--										<th:block th:each="oneData, status : ${filterColorList}">-->
+<!--											<li>-->
+<!--												<label class="color-check">-->
+<!--													<input type="checkbox" group="filterValue" th:id="${'chkFilterColor' + status.index}" name="color" th:value="${oneData.filterCd}" th:data-id="${oneData.filterNm.replace('#','')}" onclick="filterSel(this,'color','off');">-->
+<!--													<span class="pdColor-color" th:if="${oneData.filterNm=='#FFFFFF'}" th:style="${'background-color:'+oneData.filterNm+';'+' border:1px solid #aaa;'}" th:value="${oneData.filterCd}"></span>-->
+<!--													<span class="pdColor-color" th:if="${oneData.filterNm!='#FFFFFF'}" th:style="${'background-color:'+oneData.filterNm}" th:value="${oneData.filterCd}"></span>-->
+<!--												</label>-->
+<!--											</li>-->
+<!--										</th:block>-->
+<!--									</ul>-->
+<!--									<a href="javascript:void(0)" class="tap_close">delete-btn</a>-->
+<!--								</div>-->
+<!--								&lt;!&ndash; //컬러 &ndash;&gt;-->
+<!--								&lt;!&ndash; 혜택 &ndash;&gt;-->
+<!--								<div class="sort tap09" th:if="${filterBenefitList != null and !filterBenefitList.empty}" id="benefitFilterDiv">-->
+<!--									<ul>-->
+<!--										<th:block th:each="oneData, status : ${filterBenefitList}">-->
+<!--											<li>-->
+<!--												<label class="Benefits_btn">-->
+<!--													<input type="checkbox" group="filterValue" th:id="${'chkFilterBenefits' + status.index}" name="benefit" th:value="${oneData.filterCd}" th:data-id="${oneData.filterNm}" onclick="filterSel(this,'benefit','off');"><span th:text="${oneData.filterNm}"></span>-->
+<!--												</label>-->
+<!--											</li>-->
+<!--										</th:block>-->
+<!--									</ul>-->
+<!--									<a href="javascript:void(0)" class="tap_close">delete-btn</a>-->
+<!--								</div>-->
+<!--								&lt;!&ndash; //혜택 &ndash;&gt;-->
+<!--								&lt;!&ndash; 필터 &ndash;&gt;-->
+<!--								<div class="fillter">-->
+<!--									<div class="fillter_box" id="filterData">-->
+<!--									</div>-->
+<!--									<button type="button" class="fillter_reset" onclick="fnFilterReset();"><span>전체 초기화</span></button>-->
+<!--								</div>-->
+<!--								&lt;!&ndash; //필터 &ndash;&gt;-->
+<!--							</div>-->
+							<div class="list_content"> <!-- 데이터 없을시 클래스 nodata 추가 -->
+								<div class="list_defult" id="noFilterData">
+									<div>
+										<p>선택하신 조건에 맞는 상품이 없습니다.<br>필터를 변경해 보세요.</p>
+									</div>
+									<div class="ui_row">
+										<button type="button" class="btn btn_default btn_md" onclick="fnFilterReset();"><span>선택한 필터 초기화</span></button>
+									</div>
+								</div>
+								<div class="count_wrap">
+									<div>
+										<p><span id="totCntId"></span>개의 상품</p>
+									</div>
+									<div>
+										<ul id="sortArea">
+											<li>
+												<a href="javascript:void(0);" id="sortingNEW" class="on" onclick="fnSortingChange(this,'NEW');">최신상품순</a>
+											</li>
+											<li>
+												<a href="javascript:void(0);" id="sortingBEST" onclick="fnSortingChange(this,'BEST');">인기상품순</a>
+											</li>
+											<li>
+												<a href="javascript:void(0);" id="sortingREVIEW" onclick="fnSortingChange(this,'REVIEW');">리뷰 많은순</a>
+											</li>
+										</ul>
+									</div>
+								</div>
+
+								<div id="infiniteContainer">
+									<div id="listBoxOuter" >
+										<ul class="itemsGrp" id="listBox">
+										</ul>
+									</div>
+								</div>
+
+							</div>
+							<div class="last_page" id="endPage" style="display:none;">
+								<span>마지막 페이지입니다.</span>
+							</div>
+						</div>
+					</form>
+				</div>
+			</div>
+		</div>
+	</div>
+	<form id="searchGoodsForm" name="searchGoodsForm">
+		<input type="hidden" name="pageNo" id="pageNo" value ="1"/>
+		<input type="hidden" name="pageSize" value ="30"/>
+		<!-- 		<input type="hidden" name="cateNo" th:value="${cateInfo.cateNo}"/> -->
+		<input type="hidden" name="cateGb" th:value="${cateInfo.cateGb}"/>
+		<input type="hidden" name="brandGroupNo" th:value="${cateInfo.brandGroupNo}"/>
+		<input type="hidden" name="formalGb" th:value="${cateInfo.formalGb=='G009_20'?'G009_20':''}"/>
+		<input type="hidden" name="cate1No" th:value="${cateInfo.cate1No}"/>
+		<input type="hidden" name="cate2No" th:value="${cateInfo.cate2No}"/>
+		<input type="hidden" name="cate3No" th:value="${cateInfo.cate3No}"/>
+		<input type="hidden" name="cate4No" th:value="${cateInfo.cate4No}"/>
+		<input type="hidden" name="sortingType" value="NEW"/>
+		<input type="hidden" name="newGoods" th:value="${cateInfo.formalGb=='G009_20'?'':'40'}" />
+	</form>
+
+	<script src="/ux/plugins/gaga/gaga.infinite.scroll.js"></script>
+	<script src="/ux/plugins/jquery/jquery.history.min.js"></script>
+	<script th:src="@{'/biz/goodsTest.js?v=' + ${#calendars.format(#calendars.createNow(), 'yyyyMMddHHmmss')}}" src="/biz/goodsTest.js"></script>
+	<script th:inline="javascript">
+		/*<![CDATA[*/
+		var filterPriceList = [[${filterPriceList}]];
+		var custom_values = [];
+		var custom_values02  = [];
+		var currUrl = document.location.href;
+		var brandGroupInfo =  [[${brandGroupInfo}]];
+		var brandGroupNm = '';
+		if(!gagajf.isNull(brandGroupInfo)){
+			brandGroupNm = brandGroupInfo.brandGroupNm;
+		}
+
+		// 컨텐츠 호출
+		$(document).ready( function() {
+			//가격 슬라이드
+			//var custom_values = ['9,000원', '230,000원', '487,000원', '700,000원', '1,360,000원', '1,799,000원'];
+			// let priceLen;
+			// if(!gagajf.isNull(filterPriceList)){
+			// 	priceLen = filterPriceList.length-1;
+			// 	$.each(filterPriceList, function (priceIdx, priceItem){
+			// 		custom_values[priceIdx] = priceItem.filterNm;
+			// 		if(priceLen==0){
+			// 			custom_values[1] = priceItem.filterNm;
+			// 		}
+			// 	});
+			// 	let my_from;
+			// 	let my_to;
+			// 	if(filterPriceList.length > 1){
+			// 		my_from = custom_values.indexOf(custom_values[0]);
+			// 		my_to = custom_values.indexOf(custom_values[priceLen]);
+			// 	}else{
+			// 		my_from = 0;
+			// 		my_to = 1;
+			// 	}
+			//
+			// 	if(gagajf.isNull($("#filterForm input:hidden[name=priceFrom]").val())){
+			// 		my_from = $("#filterForm input:hidden[name=priceFrom]").val();
+			// 	}
+			// 	if(gagajf.isNull($("#filterForm input:hidden[name=priceTo]").val())){
+			// 		my_to = $("#filterForm input:hidden[name=priceTo]").val();
+			// 	}
+			// 	let minValue;
+			// 	let maxValue;
+			// 	if(filterPriceList.length > 1){
+			// 		minValue = custom_values[0];
+			// 		maxValue = custom_values[priceLen];
+			// 	}else{
+			// 		minValue = custom_values[0];
+			// 		maxValue = custom_values[1];
+			// 	}
+			//
+			// 	$(".dp .js-range-slider01, .sch_result .js-range-slider01").ionRangeSlider({
+			// 		type: "double",
+			// 		min: minValue,
+			// 		max: maxValue,
+			// 		from: my_from,
+			// 		to: my_to,
+			// 		grid: true,
+			// 		skin: "round",
+			// 		postfix: "원",
+			// 		prettify_separator: ",",
+			// 		values: custom_values,
+			// 		min_interval: 1,
+			// 		// onStart : function(data){
+			// 		//  	fnCheckPrice(data);
+			// 		// },
+			// 		// onChange : fnCheckPrice,
+			// 		onFinish : function(data,priceLen){
+			// 			fnCheckPrice(data,priceLen);
+			// 		}
+			// 	});
+			// }
+
+			fnCreateCategoryList();
+
+			// if ($('#sizeLi1').find('label').length == 0) $('#sizeLi1').hide();
+			// if ($('#sizeLi2').find('label').length == 0) $('#sizeLi2').hide();
+			// if ($('#sizeLi3').find('label').length == 0) $('#sizeLi3').hide();
+		});
+
+		// var fnFilterOption = function (obj, stat){
+		// 	var thisId = $(obj).attr('id');
+		// 	var tag = '';
+		//
+		// 	if(thisId == 'unisex'){
+		// 		if(stat=='on'){
+		// 			$(obj).attr('onclick','fnFilterOption(this,\'off\');');
+		// 			tag += '<input type="hidden" name="unisex" value="G007_Z"/>\n';
+		// 			$("#searchGoodsForm").append(tag);
+		// 		}else{
+		// 			$(obj).attr('onclick','fnFilterOption(this,\'on\');');
+		// 			$("#searchGoodsForm input:hidden[name=unisex]").remove();
+		// 		}
+		// 	}else{
+		// 		if(stat=='on'){
+		// 			$(obj).attr('onclick','fnFilterOption(this,\'off\');');
+		// 			tag += '<input type="hidden" name="newGoods" value="40"/>\n';
+		// 			$("#searchGoodsForm").append(tag);
+		// 		}else{
+		// 			$(obj).attr('onclick','fnFilterOption(this,\'on\');');
+		// 			$("#searchGoodsForm input:hidden[name=newGoods]").remove();
+		// 		}
+		// 	}
+		// 	fnCategoryGoodsInfiniteScrollInit();
+		// 	fnGoodsListSearch();
+		// 	fnPushHistory();
+		// }
+
+		// 필터 가격 확인
+		// var fnCheckPrice = function (data,priceLen){
+		// 	$("#priceSpan").remove();
+		// 	$("#searchGoodsForm input:hidden[name=priceFrom]").remove();
+		// 	$("#searchGoodsForm input:hidden[name=priceTo]").remove();
+		// 	let min = data.from;
+		// 	let max = data.to;
+		// 	$("#price_input_from").val(custom_values[0]);
+		// 	$("#price_input_to").val(custom_values[priceLen]);
+		//
+		// 	fnFilterSlider('price' , custom_values[min].addComma(), custom_values[max].addComma());
+		// }
+
+		// 필터 할인율 확인
+		// var fnCheckDcRate = function (data){
+		// 	$("#dcrateSpan").remove();
+		// 	$("#searchGoodsForm input:hidden[name=dcRateFrom]").remove();
+		// 	$("#searchGoodsForm input:hidden[name=dcRateTo]").remove();
+		// 	let min = data.from;
+		// 	let max = data.to;
+		// 	$("#price_input_from").val(0);
+		// 	$("#price_input_to").val(100);
+		//
+		// 	fnFilterSlider('dcrate' , custom_values02[min].replace('%',''), custom_values02[max].replace('%',''));
+		// }
+
+		// 필터 초기화
+		// var fnFilterReset = function (){
+		// 	//document.location.href = currUrl;
+		// 	$("#searchGoodsForm input:hidden[name=brandGroupArr]").remove();
+		// 	$("#searchGoodsForm input:hidden[name=sizeArr]").remove();
+		// 	$("#searchGoodsForm input:hidden[name=dcRateFrom]").remove();
+		// 	$("#searchGoodsForm input:hidden[name=dcRateTo]").remove();
+		// 	$("#searchGoodsForm input:hidden[name=priceFrom]").remove();
+		// 	$("#searchGoodsForm input:hidden[name=priceTo]").remove();
+		// 	$("#searchGoodsForm input:hidden[name=ageArr]").remove();
+		// 	$("#searchGoodsForm input:hidden[name=seasonArr]").remove();
+		// 	$("#searchGoodsForm input:hidden[name=colorArr]").remove();
+		// 	$("#searchGoodsForm input:hidden[name=benefitArr]").remove();
+		// 	$("#unisex").prop('checked',false);
+		// 	$("#unisex").attr('onclick','fnFilterOption(this,\'on\');');
+		// 	$("#searchGoodsForm input:hidden[name=unisex]").remove();
+		// 	$("#newGoods").prop('checked',true);
+		// 	$("#newGoods").attr('onclick','fnFilterOption(this,\'off\');');
+		// 	$("#searchGoodsForm input:hidden[name=newGoods]").val('40');
+		//
+		// 	fnFilterSliderMove(0,5);
+		// 	fnDcRateFilterSliderMove(0,10);
+		// 	$('.filter_content .sort').find('input[type=checkbox]').each(function (idx){
+		// 		$(this).prop('checked',false);
+		// 	});
+		// 	$("#filterData").html('');
+		// 	fnCategoryGoodsInfiniteScrollInit();
+		// 	fnGoodsListSearch();
+		// 	fnPushHistory();
+		// }
+
+		var fnImgOnoff = function (){
+			var nowFocus = $('.dp .itemPic');
+			var nowMov = $('.itemPic').children('.pd_mov');
+			var nowImg = $('.itemPic').children('.pd_img');
+			var ogrSrc;
+			var overSrc;
+			var srcName = nowImg.attr('src');
+			overSrc = srcName.substring(0, srcName.lastIndexOf('.'));
+
+			var srcImg;
+			var srcdat;
+
+			$(nowFocus).on('mouseover', function() {
+				$(this).children('.pd_mov').siblings(".itemOpt").addClass('on');
+				$(this).children('.pd_mov').css("opacity","0");
+			});
+			$(nowFocus).on('mouseleave', function() {
+				$(this).children('.pd_mov').siblings(".itemOpt").removeClass('on');
+				$(this).children('.pd_mov').css("opacity","1");
+			});
+			$(nowFocus).on('mouseover', function() {
+				$(this).children('.pd_img').siblings(".itemOpt").addClass('on');
+				srcImg = $(this).children('.pd_img').attr('src');
+				srcdat = $(this).children('.pd_img').attr('data-img');
+				$(this).children('.pd_img').attr('src',srcdat);
+			});
+			$(nowFocus).on('mouseleave', function() {
+				$(this).parents('.itemPic').removeClass();
+				$(this).children('.pd_img').siblings(".itemOpt").removeClass('on');
+				$(this).children('.pd_img').attr('src', srcImg);
+				$(this).children('.pd_img').css("opacity","1");
+			});
+		}
+
+		var fnGoodsListSearch = function (){
+			gagaInfiniteScroll.getHistory();
+		}
+
+		// 상품 검색
+		var fnGetInfiniteScrollDataList = function (pageNum){
+			if(!gagajf.isNull($("#searchGoodsForm input[name=priceFrom]").val())){
+				let price = $("#searchGoodsForm input[name=priceFrom]").val();
+				$("#searchGoodsForm input[name=priceFrom]").val(price.replace(",", ""));
+			}
+			if(!gagajf.isNull($("#searchGoodsForm input[name=priceTo]").val())){
+				let price = $("#searchGoodsForm input[name=priceTo]").val();
+				$("#searchGoodsForm input[name=priceTo]").val(price.replace(",", ""));
+			}
+			$("#searchGoodsForm input[name=pageNo]").val(pageNum+1);
+			gagajf.ajaxFormSubmit("/display/category/goods/list", document.searchGoodsForm,  gagaInfiniteScroll.jsonToHtml);
+		}
+
+		var fnDrawInfiniteScrollData = function (result){
+			let totalCnt = result.paging.totalCount;
+			$("#totCntId").text(totalCnt.addComma());
+			gagaInfiniteScroll.pageStatus.totalCount = totalCnt;
+
+			var ithrCd = '';
+			var contentLoc = '';
+			if (result.dataList != null && result.dataList.length > 0) {
+				$('.list_content .list_defult').hide();
+				$('.list_content .count_wrap').show();
+				var goodsUrl = [[${@environment.getProperty('upload.goods.view')}]];;
+				let lastPage = result.paging.pageNo;
+				let endRow = result.paging.endRow - result.paging.pageSize;
+				var htm = fnCreateGoodsList(result, ithrCd, contentLoc, goodsUrl, lastPage, endRow);
+				gagaInfiniteScroll.draw(htm);
+				fnImgOnoff();
+			}else {
+				if($("#searchGoodsForm input[name=pageNo]").val()==1){
+					// 필터 값으로 조회 데이터 없을때
+					$('#noFilterData').show();
+					$('.list_content .count_wrap').hide();
+					$('#endPage').hide();
+				}else{
+					// 마지막 페이지 일때
+					$('#endPage').show();
+					$('#noFilterData').hide();
+					//$('.list_content .count_wrap').hide();
+				}
+				gagaInfiniteScroll.draw('not');
+			}
+		}
+
+		// 사파리 - event.persisted || 크롬 - window.performance.navigation.type 이 1이면 새로고침, 2면 페이지 이동을 통한 캐쉬페이징
+		$(window).on("pageshow", function(event) {
+			//할인율
+			// custom_values02 = ['0%', '10%', '20%', '30%', '40%', '50%', '60%', '70%', '80%', '90%', '100%'];
+			// var my_from02 = custom_values02.indexOf('0%');
+			// var my_to02 = custom_values02.indexOf('100%');
+			// if(gagajf.isNull($('#searchGoodsForm').find("input[name=dcRateFrom]").val())){
+			// 	my_from02 = $('#searchGoodsForm').find("input[name=dcRateFrom]").val();
+			// }
+			// if(gagajf.isNull($('#searchGoodsForm').find("input[name=dcRateTo]").val())){
+			// 	my_to02 = $('#searchGoodsForm').find("input[name=dcRateTo]").val();
+			// }
+			//
+			// $(".dp .js-range-slider02, .sch_result .js-range-slider02").ionRangeSlider({
+			// 	type: "double",
+			// 	min: 0,
+			// 	max: 100,
+			// 	from: my_from02,
+			// 	to: my_to02,
+			// 	grid: true,
+			// 	skin: "round",
+			// 	postfix: "%",
+			// 	prettify_separator: ",",
+			// 	values: custom_values02,
+			// 	min_interval: 1,
+			// 	onFinish : function (data){
+			// 		fnCheckDcRate(data);
+			// 	}
+			// });
+
+			if ( (event.originalEvent && event.originalEvent.persisted) || (window.performance && window.performance.navigation.type == 2)) {
+				// console.log('History.getState().data:::'+History.getState().data.sortingType);
+				if(typeof History.getState().data.sortingType!='undefined' && History.getState().data.sortingType!=''){
+					$("#searchGoodsForm input:hidden[name=sortingType]").val(History.getState().data.sortingType);
+				}
+				if(typeof History.getState().data.filterHtml!='undefined' && History.getState().data.filterHtml!=''){
+					console.log('filterHtml::'+History.getState().data.filterHtml);
+					$("#searchGoodsForm").append(History.getState().data.filterHtml);
+					filterHtml = History.getState().data.filterHtml;
+				}
+				if(typeof History.getState().data.filterStatHtml!='undefined' && History.getState().data.filterStatHtml!=''){
+					$("#filterData").append(History.getState().data.filterStatHtml);
+					filterStatHtml = History.getState().data.filterStatHtml;
+				}
+				if(typeof History.getState().data.totalCount!='undefined' && History.getState().data.totalCount!=''){
+					$("#totCntId").text(History.getState().data.totalCount);
+					totalCount = History.getState().data.totalCount;
+				}
+			}else{
+				fnCategoryGoodsInfiniteScrollInit();
+			}
+
+			var sortingType = $("#searchGoodsForm input:hidden[name=sortingType]").val();
+			if(sortingType=='BEST' || sortingType=='REVIEW'){
+				console.log('111');
+				$("#sortArea").find('li').each(function (){
+					$(this).find('a').attr('class','off');
+				});
+
+				$(this).addClass("on");
+				fnSortingChange(this, sortingType);
+			}else{
+				console.log('222');
+				fnGoodsListSearch();
+			}
+
+			fnImgOnoff();
+		});
+
+		$(window).on('popstate', function(event) {
+			var data = History.getState().data;
+			data.sortingType = $("#searchGoodsForm input:hidden[name=sortingType]").val();
+			data.sortingTypeNm = '' //$("#sortArea").find('li').hasClass("on").text();
+			data.filterHtml = filterHtml;
+			data.filterStatHtml = filterStatHtml;
+			data.totalCount = $("#totCntId").text();
+			History.replaceState(data, "", "");
+		});
+
+		var fnSetPriceFilter = function (){
+			if(!gagajf.isNull(filterPriceList)){
+				let min = 0;
+				let max = 5;
+				let priceFrom = '';
+				let priceTo = '';
+				if(!gagajf.isNull($("#searchGoodsForm").find("input:hidden[name=priceFrom]").val())){
+					priceFrom = $("#searchGoodsForm").find("input:hidden[name=priceFrom]").val().replace(',','');
+				}
+				if(!gagajf.isNull($("#searchGoodsForm").find("input:hidden[name=priceTo]").val())){
+					priceTo = $("#searchGoodsForm").find("input:hidden[name=priceTo]").val().replace(',','');
+				}
+				// console.log('priceFrom>>'+priceFrom);
+				// console.log('priceTo>>'+priceTo);
+				$.each(filterPriceList, function (priceIdx, priceItem){
+					custom_values[priceIdx] = priceItem.filterNm;
+					// console.log('custom_values[priceIdx]>>'+custom_values[priceIdx])
+					if(custom_values[priceIdx] == priceFrom){
+						min = priceIdx;
+					}
+					if(custom_values[priceIdx] == priceTo){
+						max = priceIdx;
+					}
+				});
+				fnFilterSliderMove(min,max);
+			}
+		}
+
+		var fnCreateCategoryList = function (){
+			let actionUrl = '';
+			let brandGroupNo = [[${cateInfo.brandGroupNo}]];
+			let cate1No = [[${cateInfo.cate1No}]];
+			if(gagajf.isNull(brandGroupNo) || brandGroupNo == 0){
+				if( [[${cateInfo.formalGb}]] == 'G009_20'){
+					actionUrl = '/display/outlet/cate/list?cate1No='+cate1No+'&formalGb='+ [[${cateInfo.formalGb}]];
+				}else{
+					actionUrl = '/display/category/reload/list?cateGb='+[[${cateInfo.cateGb}]];
+				}
+			}else{
+				actionUrl = '/display/brand/cate/list?brandGroupNo=' + [[${cateInfo.brandGroupNo}]];
+			}
+
+			$.getJSON(actionUrl
+					, function(result, status) {
+						//if (status == 'success') {
+						if (result.length > 0) {
+							let formalGb = [[${cateInfo.formalGb}]];
+							if(formalGb == 'G009_10'){
+								formalGb = '';
+							}
+							let cateGb = 'G032_101';
+							let navNm = '';
+							$('#ulAllCate').html('');
+							if(brandGroupNo>0) {
+								$("#brandNm").show();
+								$("#brandNm").text(brandGroupNm);
+								$("#navNm").hide();
+								$('#ulAllCate').append('<li><a href="javascript:void(0);" onclick="cfnGoToGoodsList(\''+brandGroupNo+'\',\''+cateGb+'\');" class="on">전체</a></li>\n');
+								navNm += '<li class="bread_2depth" id="navNm1">전체</li>';
+							}else{
+								if(formalGb=='G009_20'){
+									$("#navNm").hide();
+									$('#ulAllCate').append('<li><a href="javascript:void(0);" onclick="cfnGoToGoodsList(0,\''+cateGb+'\',\'\',\'\',\'\',\'\',\'\',\''+formalGb+'\');">전체</a></li>\n');
+									navNm += '<li class="bread_2depth" id="navNm">아울렛</li><li class="bread_2depth" id="navNm1">전체</li>';
+								}else{
+									$("#navNm").hide();
+									// $('#ulAllCate').append('<li><a href="javascript:void(0);" onclick="cfnGoToGoodsList(0,\''+cateGb+'\');">전체</a></li>\n');
+									// navNm += '<li class="bread_2depth" id="navNm1">전체</li>';
+								}
+							}
+
+							if(gagajf.isNull($("#searchGoodsForm").find("[name=cate1No]").val())){
+								$("#navArea").append(navNm);
+								$("#formTitle").text('전체');
+							}
+
+							let allCate = [[${cateList}]];
+							if(brandGroupNo > 0){
+								$.each(result, function(idx, item) {
+									$.each(allCate, function(brandCateIdx, brandCateItem) {
+										if (item.cate1No == brandCateItem.cate1No) {
+											$('#ulAllCate').append(fnGetBrandCategoryList(item));
+										}
+									});
+								});
+							}else{
+								if(formalGb == 'G009_20'){
+									$.each(result, function(idx, item) {
+										$.each(allCate, function(allCateIdx, allCateItem) {
+											if (item.cate1No == allCateItem.cate1No) {
+												$('#ulAllCate').append(fnGetCategoryList(item));
+											}
+										});
+									});
+								}else{
+									$.each(result, function(idx, item) {
+										$.each(allCate, function(allCateIdx, allCateItem) {
+											if (item.cate1No == allCateItem.cate1No) {
+												$('#ulAllCate').append(fnGetCategoryList(item));
+											}
+										});
+									});
+								}
+							}
+						}
+						//}
+					});
+		}
+
+		let fnGetBrandCategoryList = function (cate1){
+			var brandGroupNo = [[${cateInfo.brandGroupNo}]];
+			var cateGb =  [[${cateInfo.cateGb}]];
+			var formalGb = [[${cateInfo.formalGb}]];
+			var cate1No = [[${cateInfo.cate1No}]];
+			var cate2No = [[${cateInfo.cate2No}]];
+			var cate3No = [[${cateInfo.cate3No}]];
+			var cate4No = [[${cateInfo.cate4No}]];
+
+			var navNm = "";
+			var formTitle = "";
+			let tag = '';
+
+			if(formalGb!='G009_20'){
+				formalGb = '';
+			}
+
+			if(cate1 != null){
+				tag += '<li';
+				if (cate1.cate1No == cate1No) {
+					tag += ' class="on"';
+				}
+				tag += '>\n';
+				tag += '	<a href="javascript:void(0);"';
+				if (cate1.cate1No == cate1No && cate2No == null) {
+					tag += ' class="on"';
+					formTitle = cate1.cate1Nm;
+					$("#formTitle").text(formTitle);
+					$("#navNm").hide();
+					navNm += '<li class="bread_2depth" id="navNm1">' + cate1.cate1Nm + '</li>';
+					$("#navHome").attr('onclick', 'cfnGoToBrandMain(' + brandGroupNo + ');');
+					$("#navArea").append(navNm);
+				}else if(cate1.cate1No == cate1No && cate3No == null){
+					$("#navNm").hide();
+
+					navNm += '<li class="bread_2depth" id="navNm1">' + cate1.cate1Nm + '</li>';
+					$("#navArea").append(navNm);
+				}else if(cate3No != null){
+					$("#navNm").hide();
+				}
+				tag += '	onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ');" >' + cate1.cate1Nm + '</a>\n';
+
+				if (cate1.leafYn == 'N' && cate1.cate2List.length > 0) {
+					if (cate1.cate1No == cate1No) {
+						tag += '<div class="sub_cate" style="display: block;">\n';
+					}else{
+						tag += '<div class="sub_cate">\n';
+					}
+
+					tag += '	<ul>\n';
+					$.each(cate1.cate2List, function (idx2, cate2) {
+						tag += '		<li';
+						if (cate2.cate2No == cate2No && cate3No == null) {
+							tag += ' class="on"';
+						}
+						tag += '		>\n';
+						tag += '		<a href="javascript:void(0);" ';
+						if (cate2.cate2No == cate2No && cate3No == null) {
+							tag += ' class="on"';
+							navNm = '<li class="bread_2depth" id="navNm2">' + cate2.cate2Nm + '</li>';
+							$("#navArea").append(navNm);
+							$("#formTitle").text(cate2.cate2Nm);
+						}else if(cate2.cate2No == cate2No){
+							navNm += '<li class="bread_2depth" id="navNm1">' + cate1.cate1Nm + '</li>';
+							$("#navArea").append(navNm);
+						}
+						tag += '	onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ');">' + cate2.cate2Nm + '</a>\n';
+
+						if (cate2.leafYn == 'N' && cate2.cate3List != null && cate2.cate3List.length > 0) {
+							tag += '<div class="sub_cate"';
+							if (cate2.cate2No == cate2No) {
+								tag += ' style="display: block;"';
+							}
+							tag += '>\n';
+							tag += '	<ul>\n';
+							$.each(cate2.cate3List, function (idx3, cate3) {
+								tag += '<li';
+								if (cate3.cate3No == cate3No && cate4No == null) {
+									tag += ' class="on"';
+								}
+								tag += '>';
+								tag += '		<a href="javascript:void(0);" ';
+								if (cate3.cate3No == cate3No && cate4No == null) {
+									tag += ' class="on"';
+									navNm = '<li class="bread_2depth" id="navNm2">' + cate2.cate2Nm + '</li><li class="bread_2depth" id="navNm3">' + cate3.cate3Nm + '</li>';
+									$("#navArea").append(navNm);
+									$("#formTitle").text(cate3.cate3Nm);
+								}else if(cate3.cate3No == cate3No){
+									navNm = '<li class="bread_2depth" id="navNm2">' + cate2.cate2Nm + '</li><li class="bread_2depth" id="navNm3">' + cate3.cate3Nm + '</li>';
+								}
+								tag += ' onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ',' + cate3.cate3No + ');">' + cate3.cate3Nm + '</a>';
+
+								if (cate3.leafYn == 'N' && cate3.cate4List != null && cate3.cate4List.length > 0) {
+									tag += '<div class="sub_cate"';
+									if (cate3.cate3No == cate3No) {
+										tag += ' style="display: block;"';
+									}
+									tag += '>\n';
+									tag += '	<ul>\n';
+									$.each(cate3.cate4List, function (idx4, cate4) {
+										tag += '<li';
+										if (cate4.cate4No == cate4No) {
+											tag += ' class="on"';
+										}
+										tag += '>';
+										tag += '		<a href="javascript:void(0);" ';
+										if (cate4.cate4No == cate4No) {
+											tag += ' class="on"';
+											navNm = '<li class="bread_2depth" id="navNm3">' + cate2.cate2Nm + '</li><li class="bread_2depth" id="navNm3">' + cate3.cate3Nm + '</li><li class="bread_2depth" id="navNm3">' + cate4.cate4Nm + '</li>';
+											$("#navArea").append(navNm);
+											$("#formTitle").text(cate4.cate4Nm);
+										}
+										if (formalGb == 'G009_20') {
+											tag += ' onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ',' + cate3.cate3No + ',' + cate4.cate4No + ',\'\',\'' + formalGb + '\');">' + cate4.cate4Nm + '</a>';
+										} else {
+											tag += ' onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ',' + cate3.cate3No + ',' + cate4.cate4No + ');">' + cate4.cate4Nm + '</a>';
+										}
+										tag += '</li>';
+									});
+									tag += '</ul>\n';
+									tag += '</div>\n';
+								}
+								tag += '</li>';
+							});
+							tag += '</ul>\n';
+							tag += '</div>\n';
+						}
+						tag += '</li>';
+					});
+					tag += '</ul>';
+					tag += '</div>';
+				}
+				tag += '</li>\n';
+			}
+			return tag;
+		}
+
+		let fnGetCategoryList = function (cate1){
+			var brandGroupNo = [[${cateInfo.brandGroupNo}]];
+			var cateGb =  [[${cateInfo.cateGb}]];
+			var formalGb = [[${cateInfo.formalGb}]];
+			var cate1No = [[${cateInfo.cate1No}]];
+			var cate2No = [[${cateInfo.cate2No}]];
+			var cate3No = [[${cateInfo.cate3No}]];
+			var cate4No = [[${cateInfo.cate4No}]];
+
+			var navNm = "";
+			var formTitle = "";
+			let tag = '';
+
+			if(formalGb!='G009_20'){
+				formalGb = '';
+			}
+
+			if (cate1 != null) {
+				tag += '<li';
+				if (cate1.cate1No == cate1No) {
+					tag += ' class="on"';
+				}
+				tag += '>\n';
+				tag += '	<a href="javascript:void(0);"';
+				if (cate1.cate1No == cate1No && cate2No == null) {
+					tag += ' class="on"';
+					formTitle = cate1.cate1Nm;
+					$("#formTitle").text(formTitle);
+					$("#navNm").hide();
+					if(formalGb=='G009_20'){
+						navNm += '<li class="bread_2depth" id="navNm1">아울렛</li>';
+					}
+					navNm += '<li class="bread_2depth" id="navNm1">' + cate1.cate1Nm + '</li>';
+					if (brandGroupNo == 0) {
+						$("#navHome").attr('href', '/');
+						$("#navArea").append(navNm);
+					} else {
+						$("#navHome").attr('onclick', 'cfnGoToBrandMain(' + brandGroupNo + ');');
+						$("#navArea").append(navNm);
+					}
+				}else if(cate1.cate1No == cate1No && cate3No == null){
+					$("#navNm").hide();
+					if(formalGb=='G009_20'){
+						navNm += '<li class="bread_2depth" id="navNm1">아울렛</li>';
+					}
+					navNm += '<li class="bread_2depth" id="navNm1">' + cate1.cate1Nm + '</li>';
+					$("#navArea").append(navNm);
+					//$("#navNm").text(cate1.cate1Nm);
+				}else if(cate3No != null){
+					$("#navNm").hide();
+				}
+				if(formalGb=='G009_20'){
+					tag += '	onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',\'\',\'\',\'\',\'\',\'' + formalGb + '\');" >' + cate1.cate1Nm + '</a>\n';
+				}else{
+					tag += '	onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ');" >' + cate1.cate1Nm + '</a>\n';
+				}
+
+				if (cate1.leafYn == 'N' && cate1.cate2List.length > 0) {
+					tag += '<div class="sub_cate"';
+					if (cate1.cate1No == cate1No) {
+						tag += ' style="display: block;"';
+					}
+					tag += '>\n';
+					tag += '	<ul>\n';
+					$.each(cate1.cate2List, function (idx2, cate2) {
+						tag += '		<li';
+						if (cate2.cate2No == cate2No && cate3No == null) {
+							tag += ' class="on"';
+						}
+						tag += '		>\n';
+						tag += '		<a href="javascript:void(0);" ';
+						if (cate2.cate2No == cate2No && cate3No == null) {
+							tag += ' class="on"';
+							navNm = '<li class="bread_2depth" id="navNm2">' + cate2.cate2Nm + '</li>';
+							$("#navArea").append(navNm);
+							$("#formTitle").text(cate2.cate2Nm);
+						}else if(cate2.cate2No == cate2No){
+							if(formalGb=='G009_20'){
+								navNm += '<li class="bread_2depth" id="navNm1">아울렛</li>';
+							}
+							navNm += '<li class="bread_2depth" id="navNm1">' + cate1.cate1Nm + '</li>';
+							$("#navArea").append(navNm);
+						}
+						if(formalGb=='G009_20'){
+							tag += '	onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ',\'\',\'\',\'\',\'' + formalGb + '\');">' + cate2.cate2Nm + '</a>\n';
+						}else{
+							tag += '	onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ');">' + cate2.cate2Nm + '</a>\n';
+						}
+
+						if (cate2.leafYn == 'N' && cate2.cate3List != null && cate2.cate3List.length > 0) {
+							tag += '<div class="sub_cate"';
+							if (cate2.cate2No == cate2No) {
+								tag += ' style="display: block;"';
+							}
+							tag += '>\n';
+							tag += '	<ul>\n';
+							$.each(cate2.cate3List, function (idx3, cate3) {
+								tag += '<li';
+								if (cate3.cate3No == cate3No && cate4No == null) {
+									tag += ' class="on"';
+								}
+								tag += '>';
+								tag += '		<a href="javascript:void(0);" ';
+								if (cate3.cate3No == cate3No && cate4No == null) {
+									tag += ' class="on"';
+									navNm = '<li class="bread_2depth" id="navNm2">' + cate2.cate2Nm + '</li><li class="bread_2depth" id="navNm3">' + cate3.cate3Nm + '</li>';
+									$("#navArea").append(navNm);
+									$("#formTitle").text(cate3.cate3Nm);
+								}else if(cate3.cate3No == cate3No){
+									navNm = '<li class="bread_2depth" id="navNm2">' + cate2.cate2Nm + '</li><li class="bread_2depth" id="navNm3">' + cate3.cate3Nm + '</li>';
+								}
+								if(formalGb=='G009_20'){
+									tag += ' onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ',' + cate3.cate3No + ',\'\',\'\',\'' + formalGb + '\');">' + cate3.cate3Nm + '</a>';
+								}else{
+									tag += ' onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ',' + cate3.cate3No + ');">' + cate3.cate3Nm + '</a>';
+								}
+
+								if (cate3.leafYn == 'N' && cate3.cate4List != null && cate3.cate4List.length > 0) {
+									tag += '<div class="sub_cate"';
+									if (cate3.cate3No == cate3No) {
+										tag += ' style="display: block;"';
+									}
+									tag += '>\n';
+									tag += '	<ul>\n';
+									$.each(cate3.cate4List, function (idx4, cate4) {
+										tag += '<li';
+										if (cate4.cate4No == cate4No) {
+											tag += ' class="on"';
+										}
+										tag += '>';
+										tag += '		<a href="javascript:void(0);" ';
+										if (cate4.cate4No == cate4No) {
+											tag += ' class="on"';
+											navNm = '<li class="bread_2depth" id="navNm3">' + cate2.cate2Nm + '</li><li class="bread_2depth" id="navNm3">' + cate3.cate3Nm + '</li><li class="bread_2depth" id="navNm3">' + cate4.cate4Nm + '</li>';
+											$("#navArea").append(navNm);
+											$("#formTitle").text(cate4.cate4Nm);
+										}
+										if(formalGb=='G009_20'){
+											tag += ' onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ',' + cate3.cate3No + ',' + cate4.cate4No + ',\'\',\'' + formalGb + '\');">' + cate4.cate4Nm + '</a>';
+										}else{
+											tag += ' onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ',' + cate3.cate3No + ',' + cate4.cate4No + ');">' + cate4.cate4Nm + '</a>';
+										}
+										tag += '</li>';
+									});
+									tag += '	</ul>\n';
+									tag += '</div>';
+								}
+
+								tag += '</li>';
+							});
+							tag += '	</ul>\n';
+							tag += '</div>';
+						}
+
+						tag += '</li>';
+					});
+					tag += '	</ul>\n';
+					tag += '</div>\n';
+				}
+				tag += '</li>\n';
+			}
+			return tag;
+		}
+
+	</script>
+
+	<script>
+		/* 210427_수정 : err 이미지 스크립트 */
+		function noneImg(noneSrc){
+			$(noneSrc).parents('.itemPic').css({'background':'url(/images/pc/thumb/bg_item_none.png)'});
+			$(noneSrc).css({'opacity':'0'});
+			//$(noneSrc).attr("src", no_src);
+		}
+	</script>
+
+</th:block>
+
+</body>
+</html>

+ 4 - 4
src/main/webapp/WEB-INF/views/web/display/MallMainFormWeb.html

@@ -330,8 +330,8 @@
 															<div class="itemName" th:text="${goodsData.goodsNm}">여성 체인 프린트 큐롯 스커트 프린트 큐롯 스커트</div>
 															<p class="itemPrice">
 																[[${#numbers.formatInteger(goodsData.currPrice,0,'COMMA')} + 원]]
-																<span class="itemPrice_original" th:text="${#numbers.formatInteger(goodsData.listPrice,0,'COMMA')} + '원'"></span>
-																<span class=" itemPercent" th:text="${#numbers.formatDecimal(goodsData.dcRate,1,0)} + '%'"></span>
+																<span class="itemPrice_original" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${#numbers.formatInteger(goodsData.listPrice,0,'COMMA')} + '원'"></span>
+																<span class=" itemPercent" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${#numbers.formatDecimal(goodsData.dcRate,1,0)} + '%'"></span>
 																<!--<span class="itemPercent" th:if="${planningGoods.currPrice != planningGoods.listPrice}" th:text="${(planningGoods.listPrice == 0 ? 0 : #numbers.formatDecimal((planningGoods.listPrice - planningGoods.currPrice) / (planningGoods.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>-->
 															</p>
 															<div class="itemComment" th:text="${goodsData.goodsTnm}">#데일리웨어로 매일입고싶은</div>
@@ -407,7 +407,7 @@
 																</div>
 																<div class=" itemName" th:text="${goodsData.goodsFullNm}">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
 																<p class="itemPrice" th:text="${#numbers.formatInteger(goodsData.currPrice,1,'COMMA')}">80,100
-																	<span class="itemPrice_original" th:text="${#numbers.formatInteger(goodsData.listPrice,1,'COMMA')}">89,000</span>
+																	<span class="itemPrice_original" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${#numbers.formatInteger(goodsData.listPrice,1,'COMMA')}">89,000</span>
 																	<span class=" itemPercent" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${(goodsData.listPrice == 0 ? 0 : #numbers.formatDecimal((goodsData.listPrice - goodsData.currPrice) / (goodsData.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>
 																</p>
 																<div class="itemComment" th:text="${goodsData.goodsTnm}">#데일리웨어로 매일입고싶은</div>
@@ -497,7 +497,7 @@
 																		<p class="itemBrand" th:text="${goodsData.brandGroupNm}">BRAND NAME</p>
 																		<div class=" itemName" th:text="${goodsData.goodsFullNm}">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
 																		<p class="itemPrice">[[${#numbers.formatInteger(goodsData.currPrice,0,'COMMA')} + 원]]
-																			<span class="itemPrice_original" th:text="${#numbers.formatInteger(goodsData.listPrice,1,'COMMA')}">89,000</span>
+																			<span class="itemPrice_original" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${#numbers.formatInteger(goodsData.listPrice,1,'COMMA')}">89,000</span>
 																			<span class=" itemPercent" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${(goodsData.listPrice == 0 ? 0 : #numbers.formatDecimal((goodsData.listPrice - goodsData.currPrice) / (goodsData.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>
 																		</p>
 																		<div class="itemComment" th:text="${goodsData.goodsTnm}">#주문 폭주 상품</div>

+ 1 - 1
src/main/webapp/WEB-INF/views/web/mypage/MypageCreExchangeDetailFormWeb.html

@@ -296,7 +296,7 @@
 	var isLogin = [[${isLogin}]];
 	let oneData = [[${oneData}]];
 	let ordNo = oneData.ordNo;
-	let kcpReceiptUrl = [[${@environment.getProperty('pg.kcp.receipt.url')}]];
+	let kcpReceiptUrl = [[${kcpReceiptUrl}]];
 
 	// 추가배송비 전표 데이터 설정
 	let paymentInfo = {};

+ 2 - 1
src/main/webapp/WEB-INF/views/web/mypage/MypageCreReturnDetailFormWeb.html

@@ -275,6 +275,7 @@
 	let ordNo = oneData.ordNo;
 	//let kcpReceiptUrl = [[${@environment.getProperty('pg.kcp.receipt.url')}]];
 	let kcpReceiptUrl = [[${kcpReceiptUrl}]];
+	let refundYn = [[${refundYn}]];
 	let jsonObj = {};
 
 	$(document).ready(function() {
@@ -291,7 +292,7 @@
 		let chgerNm = delvObj.recipNm;
 		let chgerPhnno = delvObj.recipPhnno;
 		let chgerZipcode = delvObj.recipZipcode;
-		let chgerBaseAddr = delvObj.recipBaseAddr;
+		let chgerBaseAddr = delvObj.recipBaseAddr;getCashReceiptsInfo
 		let chgerDtlAddr = delvObj.recipDtlAddr;
 		let chgerRtnMemo = delvObj.delvMemo;
 		let chgerAddr = chgerBaseAddr + ' ' + chgerDtlAddr;

+ 1 - 1
src/main/webapp/WEB-INF/views/web/mypage/NoMemberCreExchangeDetailFormWeb.html

@@ -293,7 +293,7 @@
 	var isLogin = [[${isLogin}]];
 	let oneData = [[${oneData}]];
 	let ordNo = oneData.ordNo;
-	let kcpReceiptUrl = [[${@environment.getProperty('pg.kcp.receipt.url')}]];
+	let kcpReceiptUrl = [[${kcpReceiptUrl}]];
 
 	// 추가배송비 전표 데이터 설정
 	let paymentInfo = {};

+ 3 - 1
src/main/webapp/WEB-INF/views/web/mypage/NoMemberCreReturnDetailFormWeb.html

@@ -271,7 +271,9 @@
 	let oneData = [[${oneData}]];
 	var isLogin = [[${isLogin}]];
 	let ordNo = oneData.ordNo;
-	let kcpReceiptUrl = [[${@environment.getProperty('pg.kcp.receipt.url')}]];
+	//let kcpReceiptUrl = [[${@environment.getProperty('pg.kcp.receipt.url')}]];
+	let kcpReceiptUrl = [[${kcpReceiptUrl}]];
+	let refundYn = [[${refundYn}]];
 	let jsonObj = {};
 
 	$(document).ready(function() {

+ 39 - 2
src/main/webapp/WEB-INF/views/web/planning/PlanningDetailFormWeb.html

@@ -107,7 +107,11 @@
 				<th:block th:if="${a.tmplType == 'G082_52'}">
 						<div class="content dp_special" th:id="${a.tmplType + a.planContSq}"></div>
 				</th:block>
+				<th:block th:if="${a.tmplType == 'G082_60'}">
+						<div class="content dp_announce" th:id="${a.tmplType}"></div>
+				</th:block>
 			</th:block>
+			
 			<div class="coner_item01" th:if="${fsrcInfoBtm != null}" th:utext="${#strings.replace(#strings.replace(fsrcInfoBtm.fsrcPc,'&amplt;','<'),'&ampgt;','>')}"></div>
 			<div class="coner_item01" th:if="${planInfo.pollSq != null}">
 				<div class="content dp_btn_area">
@@ -244,6 +248,7 @@ let review = [[${reviewInfo}]];
 let coupon = [[${couponInfo}]];
 let plan = [[${planInfo}]];
 let image = [[${imageInfo}]];
+let notice = [[${noticeInfo}]];
 let goods1 = [[${goods1Info}]];
 let goods2 = [[${goods2Info}]];
 let goods4 = [[${goods4Info}]];
@@ -253,6 +258,35 @@ let replyCount = [[${replyCount}]];
 let replyAttachList = [[${replyAttachList}]];
 let planCornerGoodsList = [[${planCornerGoodsList}]];
 let planCornerList = [[${planCornerList}]];
+
+if(notice.length>0){
+	var html = '';
+	
+	html += '    <div class="cont_head">';
+	html += '        <div>';
+	html += '            <h4>유의사항</h4>';
+	html += '        </div>';
+	html += '    </div>';
+	html += '    <div class="cont_body">';
+	html += '        <div class="announce_txt">';
+	html += '            <div class="note_txt">';
+	html += '                <img src="/images/pc/ico_content_find.png" alt="유의사항">';
+	html += '                <p>유의사항</p>';
+	html += '            </div>';
+	html += '            <div class="announce_list">';
+	html += '                <ul>';
+	$.each(notice, function(idx, item)  {
+		html += '				<li>' +item.itemVal+ '</li>';
+	});
+	html += '                </ul>';
+	html += '            </div>';
+	html += '        </div> ';
+	html += '    </div>';
+
+	$("#G082_60").append(html);
+}
+
+
 if(planCornerList.length>0){
 	var html = '';
 	
@@ -828,11 +862,14 @@ var fnSearchCallback = function (result) {
 				 html += '			<span class="date">'+item.entryDt+'</span>\n';
 				 html += '		</div>\n';
 				 html += '		<div class="cmt_cont">\n';
-				 html += '			<div class="img_wrap clear" onclick="fnImgAttach(this)">\n';
+				 html += '			<div class="img_wrap clear">\n';
 				 if (result.replyAttachList.length>0) {
+					 var j = 0;
 					for (var i = 0; i < result.replyAttachList.length; i++) {
 						if(result.replyAttachList[i].planEntrySq == item.planEntrySq){
-							html += '				<span class="pics"><img class="picsThumbs" src="'+ _uploadImageUrl +'/'+result.replyAttachList[i].sysFileNm +'"></span>\n';
+							//html += '				<span class="pics"><img class="picsThumbs" src="'+ _uploadImageUrl +'/'+result.replyAttachList[i].sysFileNm +'"></span>\n';
+							html += '				<span class="pics"><img class="picsThumbs" onclick="cfMoPlanReplyDetail(\''+item.planSq+'\',\''+item.planEntrySq+'\',\''+result.replyAttachList[i].planEntryAtSq+'\', \''+ j +'\');" src="'+ _uploadImageUrl +'/'+result.replyAttachList[i].sysFileNm +'"></span>\n';
+						 	j++;
 						}
 					}	
 				 }

+ 23 - 12
src/main/webapp/WEB-INF/views/web/planning/PlanningReplyPhotoFormWeb.html

@@ -44,20 +44,31 @@
 	<!-- //댓글 이미지 팝업 -->	
 <a href="javascript:void(0);" rel="modal:close"	onclick="cfCloseLayer('layer_review_photo')" class="close-modal">Close</a>
 <script th:inline="javascript">
-/*<![CDATA[*/
+$(document).ready( function() {
+	let replyAttchSq = 0; 
+	if (!gagajf.isNull( [[${plan.attachSq}]])){
+		replyAttchSq = [[${plan.attachSq}]];
+	} 
+	
 	var contactPopSwiper = new Swiper('.thumb_img_pop .swiper-container', {
-	navigation: {
-		nextEl: '.thumb_img_pop .swiper-button-next',
-		prevEl: '.thumb_img_pop .swiper-button-prev',
-	},
-	pagination: {
-		el: '.thumb_img_pop .swiper-pagination',
-		clickable: true,
-	},
-	observer:true,
-	observeParents: true,
-});		
+		navigation: {
+			nextEl: '.thumb_img_pop .swiper-button-next',
+			prevEl: '.thumb_img_pop .swiper-button-prev',
+		},
+		pagination: {
+			el: '.thumb_img_pop .swiper-pagination',
+			clickable: true,
+		},
+		observer:true,
+		observeParents: true,
+	});		
+	
+	contactPopSwiper.slideTo(replyAttchSq, 0, false);
+	contactPopSwiper.update();
 
+});
+/*<![CDATA[*/
+	
 /*]]>*/
 </script>
 </html>

+ 2 - 2
src/main/webapp/biz/goods.js

@@ -137,7 +137,7 @@ var fnCreateGoodsList = function(result, ithrCd, contentLoc, goodsUrl, lastPage,
 			tag += ' likeit';
 		}
 		tag += ' "';
-		tag += ' onClick="cfnPutWishList(this);" goodsCd=\''+item.goodsCd+'\', ithrCd=\'\', contentsLoc=\'\', planDtlSq=\'\'>관심상품 추가</button>';
+		tag += ' onClick="cfnPutWishList(this);" selfGoodsYn=\''+item.selfGoodsYn+'\' goodsCd=\''+item.goodsCd+'\', ithrCd=\'\', contentsLoc=\'\', planDtlSq=\'\'>관심상품 추가</button>';
 		tag += '<a href="javascript:void(0);" class="itemLink" onclick="cfnGoToGoodsDetail(\''+item.goodsCd+'\',\''+item.mainColorCd+'\');">';
 		tag += '			<div class="itemPic">';
 		if(!gagajf.isNull(item.videos)){
@@ -157,7 +157,7 @@ var fnCreateGoodsList = function(result, ithrCd, contentLoc, goodsUrl, lastPage,
 			}
 		}
 		tag += '		<img class=" vLHTC pd_img" src="'+goodsUrl+'/'+item.sysImgNm+'" data-img="'+goodsUrl+'/'+item.sysImgNm2+'" onerror="noneImg(this)">';
-		if(!gagajf.isNull(item.sizes)){
+		if(!gagajf.isNull(item.sizes) && item.selfGoodsYn=='Y'){
 			var sizeArr = item.sizes.split(",");
 			var minSize;
 			var maxSize;

+ 917 - 0
src/main/webapp/biz/goodsTest.js

@@ -0,0 +1,917 @@
+//****************상품상세  start **********************************
+// 함께본 상품
+var fnGoodsTogetherSearch = function(params) {
+	gagajf.ajaxSubmit("/goods/detail/together/frame", "html", "goodsTogetherbArea", params);
+}
+
+// 추천 상품
+var fnGoodsRecommendSearch = function(params) {
+	gagajf.ajaxSubmit("/goods/detail/recommend/frame", "html", "goodsRecommendbArea", params);
+}
+
+// 비슷한 상품
+var fnGoodsLikeSearch = function(params) {
+	gagajf.ajaxSubmit("/goods/detail/like/frame", "html", "goodsLikebArea", params);
+}
+
+
+// EP 쿠폰조회
+var fnEpCouponDown = function(afLinkCd, goodsCd, maxRownum){
+	if (typeof (afLinkCd) == 'undefined' || gagajf.isNull(afLinkCd)){
+		return false;
+	}
+
+	let data = {afLinkCd : afLinkCd
+		, goodsCd : goodsCd
+		, maxRownum : maxRownum
+	};
+	$.getJSON('/goods/epCoupon/list', data, function(result, status) {
+		if (status === 'success') {
+			if(result.length>0){
+				let coupon = result[0];
+				let tag = '';
+				tag += '<div class="modal fade pd_pop epcoupon_pop" id="epCouponPop" tabindex="-1" role="dialog" aria-labelledby="epCouponLabel" aria-hidden="true">\n';
+				tag += '	<div class="modal-dialog" role="document">\n';
+				tag += '	  <div class="modal-content">\n';
+				tag += '		<div class="modal-header">\n';
+				tag += '			<h5 class="modal-title" id="epCouponLabel">'+coupon.cpnNm+'</h5>\n';
+				tag += '		</div>\n';
+				tag += '		<div class="modal-body">\n';
+				tag += '			<div class="pop_cont">\n';
+				tag += '				<div class="ep_coupon">\n';
+				tag += '					<div>\n';
+				tag += '						<p class="cp_title">\n';
+				tag += '							COUPON\n';
+				tag += '						</p>\n';
+				tag += '						<p class="cp_cont">\n';
+				if (coupon.dcWay == 'G240_11'){		//할인율 
+					tag += '							<span class="unit_percent">\n';
+					tag += '								최대<em class="number">'+coupon.dcVal+'</em><em class="unit">%</em>\n';
+					tag += '							</span>\n';
+
+				}else{
+					tag += '							<span class="unit_won">\n';
+					tag += '								<em class="number">'+coupon.dcVal.addComma()+'</em><em class="unit">원</em>\n';
+					tag += '							</span>\n';
+				}
+				tag += '						</p>\n';
+				tag += '					</div>\n';
+				tag += '				</div>\n';
+				tag += '				<div class="info_txt">\n';
+				tag += '					<ul>\n';
+				tag += '						<li>일부 상품은 쿠폰 사용이 제한될 수 있습니다.</li>\n';
+				tag += '						<li>할인대상 및 금액은 상시 변경됩니다.</li>\n';
+				tag += '						<li>제휴 사이트와 정보연동 시간차이로 판매정보가 불일치할 수 있습니다.</li>\n';
+				tag += '						<li>본 쿠폰은 제휴 사이트를 통해 들어온 고객님만 발급 및 사용이 가능합니다.</li>\n';
+				tag += '					</ul>\n';
+				tag += '				</div>\n';
+				tag += '			</div>\n';
+				tag += '		</div>\n';
+				tag += '		<div class="modal-footer">\n';
+				tag += '			<button type="button" id="" class="btn btn_primary btn_all_cpdown" onclick="fnEpCoupondown(\''+afLinkCd+'\',\''+goodsCd+'\');" ><span>쿠폰 받기</span></button>\n';
+				tag += '		</div>\n';
+				tag += '	  </div>\n';
+				tag += '	</div>\n';
+				tag += '	<a href="javascript:void(0);" rel="modal:close" onclick="cfCloseLayer(\'epCouponPop\')" class="close-modal">Close</a>\n';
+				tag += '</div>	\n';
+
+				$('body').append(tag);
+				$('#epCouponPop').modal("show");
+			}
+		}
+	});
+}
+
+// ep 쿠폰다운로드
+var fnEpCoupondown = function(afLinkCd, goodsCd){
+	if (!cfCheckLogin()) {
+		cfnGoToPage(_PAGE_LOGIN);
+		return false;
+	}
+
+	gagajf.ajaxJsonSubmit(_PAGE_GOODS_EP_CPN_DOWNLOAD, JSON.stringify({goodsCd: goodsCd, afLinkCd: afLinkCd}), fnEpCouponDownCallBack);
+}
+
+var fnEpCouponDownCallBack = function(){
+	$('#epCouponPop').find('.close-modal').trigger("click");
+}
+
+//****************상품상세  end **********************************
+
+//****************상품리스트  start **********************************
+var categoryGoodsList = [];
+var cnt = 1;
+var email = '';
+var fnCreateGoodsList = function(result, ithrCd, contentLoc, goodsUrl, lastPage, endRow, appGb) {
+	var tag = '';
+	var rank = 0;
+	if(lastPage!='1'){
+		rank = endRow;
+	}
+
+	$.each(result.dataList, function(idx, item) {
+		if (idx < 4) {
+			categoryGoodsList.push(item.goodsCd);
+		}
+
+		tag += '<div class="item_prod" id="'+item.goodsCd+item.mainColorCd+'">';
+		tag += '	<div class="item_state';
+		if(!gagajf.isNull(item.sizes)){
+			var sizeArr = item.sizes.split(",");
+			let soldOutCnt = 0;
+			for(let i=0; i<sizeArr.length; i++){
+				var sizeInfo = sizeArr[i].split(":");
+				var sizeVal = sizeInfo[0];
+				var soldOutYn = sizeInfo[1];
+				if(soldOutYn=='Y'){
+					soldOutCnt++;
+				}
+			}
+			if(sizeArr.length==soldOutCnt){
+				tag += ' soldout';
+			}
+		}
+		tag += '">';
+		tag += '		<button type="button" class="itemLike';
+		if(item.likeIt == 'likeit'){
+			tag += ' likeit';
+		}
+		tag += ' "';
+		tag += ' onClick="cfnPutWishList(this);" goodsCd=\''+item.goodsCd+'\', ithrCd=\'\', contentsLoc=\'\', planDtlSq=\'\'>관심상품 추가</button>';
+		tag += '<a href="javascript:void(0);" class="itemLink" onclick="cfnGoToGoodsDetail(\''+item.goodsCd+'\',\''+item.mainColorCd+'\');">';
+		tag += '			<div class="itemPic">';
+		if(!gagajf.isNull(item.videos)){
+			var videoArr = item.videos.split(",");
+			var videoGb = '';
+			var videoUrl = '';
+			for(let i=0; i<videoArr.length; i++){
+				var videoInfo = videoArr[i].split(":");
+				videoGb = videoInfo[0];
+				videoUrl = videoInfo[1];
+			}
+			if(videoGb=='Y'){
+				tag += '<iframe id="pdThumbVideo" class="pd_mov" src="https://www.youtube.com/embed/'+videoUrl+'?autoplay=1&mute=1"></iframe>';
+				//tag += '<iframe id="pdThumbVideo" class="pd_mov" src="http://v.kr.kollus.com/164MyIiv?enable_initialize_focus=false&autoplay&mute&controls_activation=none" allow="fullscreen" allowFullScreen></iframe>';
+			}else{
+				tag += '<iframe id="pdThumbVideo" class="pd_mov" src="http://v.kr.kollus.com/'+videoUrl+'?enable_initialize_focus=false&autoplay&mute&controls_activation=none" allow="fullscreen" allowFullScreen></iframe>';
+			}
+		}
+		tag += '		<img class=" vLHTC pd_img" src="'+goodsUrl+'/'+item.sysImgNm+'" data-img="'+goodsUrl+'/'+item.sysImgNm2+'" onerror="noneImg(this)">';
+		if(!gagajf.isNull(item.sizes)){
+			var sizeArr = item.sizes.split(",");
+			var minSize;
+			var maxSize;
+			var sizeVal = '';
+			var soldOutYn = '';
+			tag +='<div class="itemOpt">';
+
+			if(sizeArr.length>5){
+				for(let i=0; i<sizeArr.length; i++){
+					var sizeInfo = sizeArr[i].split(":");
+					sizeVal = sizeInfo[0];
+					soldOutYn = sizeInfo[1];
+					if(i==0){
+						minSize = sizeVal;
+					}else if(i==sizeArr.length-1){
+						maxSize = sizeVal;
+					}
+				}
+				tag +='	<div class="exc">';
+				tag +='		<span>'+minSize+'</span> ~ <span>'+maxSize+'</span> 사이즈가 있습니다.';
+				tag +='	</div>';
+			}else{
+				tag += '<ul>';
+				for(let i=0; i<sizeArr.length; i++){
+					var sizeInfo = sizeArr[i].split(":");
+					sizeVal = sizeInfo[0];
+					soldOutYn = sizeInfo[1];
+					if(soldOutYn=='N'){
+						tag +='		<li>'+sizeVal+'</li>';
+					}else{
+						tag +='		<li class="none">'+sizeVal+'</li>';
+					}
+				}
+				tag += '</ul>';
+			}
+			tag += '			</div>';
+		}
+
+		tag += '			</div>';
+
+		tag += '			<p class="itemBrand">'+item.brandGroupNm+'</p>';
+		tag += '			<div class="itemName">'+item.goodsFullNm+'</div>';
+		if(appGb != 'Mob'){
+			tag += '			<p class="itemPrice">'+item.currPrice.addComma()
+			tag += '				<span class="itemPrice_original">'+item.listPrice.addComma()+'</span>';
+			if(item.currPrice != item.listPrice){
+				if(item.listPrice != 0){
+					tag += '				<span class="itemPercent">'+ Math.round((item.listPrice - item.currPrice) / (item.listPrice * 1.0) * 100) +'%</span>';
+				}
+			}
+			tag += '			</p>';
+		}else{
+			tag += '			<p class="itemPrice">';
+			tag += '				<span class="itemPrice_original">'+item.listPrice.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")+'</span>';
+			tag += item.currPrice.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
+			if(item.currPrice != item.listPrice){
+				if(item.listPrice != 0){
+					tag += '				<span class="itemPercent">'+ Math.round((item.listPrice - item.currPrice) / (item.listPrice * 1.0) * 100) +'%</span>';
+				}
+			}
+			tag += '			</p>';
+		}
+
+		tag += '			<div class="itemcolorchip">';
+		if(!gagajf.isNull(item.colorChips)){
+			var colorArr = item.colorChips.split(",");
+			var colorCd = '';
+			var rgbColor = '';
+			for(let i=0; i<colorArr.length; i++){
+				var colorInfo = colorArr[i].split(":");
+				colorCd = colorInfo[0];
+				rgbColor = colorInfo[1];
+				if(rgbColor=='#FFFFFF'){
+					tag += '	<span class="chip_color" style="background-color: '+rgbColor+';border:1px solid #aaa;" value="'+colorCd+'">'+colorCd+'</span>';
+				}else{
+					tag += '	<span class="chip_color" style="background-color: '+rgbColor+'" value="'+colorCd+'">'+colorCd+'</span>';
+				}
+			}
+		}
+		tag += '			</div>';
+
+		if(!gagajf.isNull(item.benefits)){
+			var iconArr = item.benefits.split(",");
+			var iconGb = '';
+			var iconNm = '';
+			tag += '	<p class="itemBadge">';
+			let arrCnt;
+			if(iconArr.length > 2){
+				arrCnt = 3;
+			}else{
+				arrCnt = iconArr.length;
+			}
+			for(let i=0; i<arrCnt; i++){
+				var iconInfo = iconArr[i].split(":");
+				iconGb = iconInfo[0];
+				iconNm = iconInfo[1];
+				tag += '	<span class="badge13" value="'+iconGb+'">'+iconNm+' </span>';
+			}
+			tag += '	</p>';
+		}
+
+		if(item.goodsTnm != null){
+			tag += '			<div class="itemComment">'+item.goodsTnm+'</div>';
+		}
+		tag += '		</a>';
+		tag += '	</div>';
+		tag += '</div>';
+	});
+
+	if (cnt == 1) {
+		// <!-- Criteo 카테고리/리스팅 태그 -->
+		window.criteo_q = window.criteo_q || [];
+		var deviceType = /iPad/.test(navigator.userAgent) ? "t" : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent) ? "m" : "d";
+		window.criteo_q.push(
+			{event: "setAccount", account: 26073}, // 이 라인은 업데이트하면 안됩니다
+			{event: "setEmail", email: email}, // 유저가 로그인이 안되 있는 경우 빈 문자열을 전달
+			{event: "setSiteType", type: deviceType},
+			{event: "viewList", item: categoryGoodsList} // 가장 위에있는 3개의 상품 ID를 전달
+		);
+		// <!-- END 카테고리/리스팅 태그 -->
+		cnt++;
+	}
+
+	return tag;
+}
+
+
+// 인피니트 스크롤 초기화
+var fnCategoryGoodsInfiniteScrollInit = function(){
+	// sessionStorage.removeItem(document.location.href);
+	//History 초기화
+	// $("#listBox").html("");
+	History.replaceState(null, null);
+	gagaInfiniteScroll.pageStatus = {
+		pageNum : []      // [0,1,2...] 로드된 페이지 (Array)
+		, loadPage : 0      // 로드할 페이지
+		, loadAlign : 'not' // 로드 상태(prev, next, not)
+		, historyScroll : 0 //
+		, nowPage : null    // 현재 페이지
+		, pageUrl : {       // page url
+		}
+		, totalCount: 0
+	}
+	//History 초기화
+	$("#listBox").html("");
+}
+
+var filterHtml = '';
+var filterStatHtml = '';
+
+// 상품상세 필터 조회
+var filterSel = function (obj, gubun, staus, sizeGb){
+	// fnCategoryGoodsInfiniteScrollInit();
+	// filterHtml = '';
+	// filterStatHtml = '';
+	// console.log('1.filterHtml++'+filterHtml);
+	// console.log('2.filterStatHtml++'+filterStatHtml);
+	gagaInfiniteScroll.pageStatus.filterHtml = filterHtml;
+	gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
+	let $obj = $(obj);
+	if(staus=='on'){
+		filterStatHtml = '';
+		if(gubun=='size'){
+			$(obj).attr('onclick','filterSel(this,\''+gubun+'\',\'off\',\''+sizeGb+'\');');
+		}else{
+			$(obj).attr('onclick','filterSel(this,\''+gubun+'\',\'off\',\'\');');
+		}
+
+		$("#filterData").find('span').each(function(idx,item) {
+			if(gubun=='color'){
+				if($obj.attr('data-id').replace('#','').trim() == $(this).closest("span").attr('id')) {
+					$(this).closest("span").remove();
+				}
+			}else{
+				if($obj.attr('data-id') == $(this).closest("span").text()) {
+					$(this).closest("span").remove();
+				}
+			}
+		});
+		filterStatHtml = $("#filterData").html();
+	}else{
+		if(gubun=='size'){
+			$(obj).attr('onclick','filterSel(this,\''+gubun+'\',\'on\',\''+sizeGb+'\');');
+		}else{
+			$(obj).attr('onclick','filterSel(this,\''+gubun+'\',\'on\',\'\');');
+		}
+
+		let tag = '';
+		if(gubun=='color'){
+			tag += '<span id="'+$obj.attr('data-id').replace('#','')+'">';
+			if($obj.attr('data-id')=='#FFFFFF'){
+				tag += '	<span class="pdColor-color" style="background-color: #'+$obj.attr('data-id')+';border:1px solid #aaa;" value="'+$obj.attr('data-id')+'"></span>';
+			}else{
+				tag += '	<span class="pdColor-color" style="background-color: #'+$obj.attr('data-id')+'" value="'+$obj.attr('data-id')+'"></span>';
+			}
+			tag += '	<a href="javascript:void(0);" class="filter_delete" onclick="fnDeleteFilter(this,\''+gubun+'\',\'on\');"></a >';
+			tag += '</span>';
+		}else{
+			tag += '<span>'+$obj.attr('data-id');
+			if(!gagajf.isNull(sizeGb)){
+				tag += '<a href="javascript:void(0);" class="filter_delete" onclick="fnDeleteFilter(this,\''+gubun+'\',\'on\',\''+sizeGb+'\');"></a >';
+			}else{
+				tag += '<a href="javascript:void(0);" class="filter_delete" onclick="fnDeleteFilter(this,\''+gubun+'\',\'on\',\'\');"></a >';
+			}
+			tag += '</span>';
+		}
+
+		$("#filterData").append(tag);
+
+		filterStatHtml += tag;
+	}
+
+	gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
+	fnFilterSet(gubun, sizeGb);
+}
+
+var fnFilterSet = function (searchId, sizeGb, appGb){
+	fnCategoryGoodsInfiniteScrollInit();
+	$("#searchGoodsForm input:hidden[name="+searchId+"Arr]").remove();
+	var tag = '';
+	var mobTag = '';
+	if(searchId=='size'){
+		$('#filterForm input[name='+searchId+']:checked').each(function(){
+			tag = '<input type="hidden" name="'+searchId+'Arr" value="'+$(this).attr('data-id')+'"/>\n';
+			$("#searchGoodsForm").append(tag);
+			// filterHtml += tag;
+		});
+	}else{
+		$('#filterForm input[name='+searchId+']:checked').each(function(){
+			tag = '<input type="hidden" name="'+searchId+'Arr" value="'+$(this).val()+'"/>\n';
+			$("#searchGoodsForm").append(tag);
+			// filterHtml += tag;
+		});
+	}
+
+	if(appGb == 'Mob'){
+		var data = '';
+		var tag = '';
+		var filterSet = '';
+		$('#'+searchId+'FilterDiv').find('.daps1').find('span').html('');
+		$('#filterForm input[name='+searchId+']:checked').each(function(idx){
+			if(searchId=='color'){
+				$('#'+searchId+'FilterDiv').find('.daps1').find('.pic').find('span').html('');
+				var mobTag = '';
+				var color = $(this).attr('data-id');
+				console.log('color::'+$(this).attr('data-id'));
+				if(color=='FFFFFF'){
+					mobTag += '<span class="pdColor-color" style="background-color:#'+color+';border:1px solid #aaa;"></span>';
+				}else{
+					mobTag += '<span class="pdColor-color" style="background-color:#'+color+'"></span>';
+				}
+				$("#"+searchId+"FilterDiv").find('.daps1').find('.pic').append(mobTag);
+			}else{
+				$('#'+searchId+'FilterDiv').find('.daps1').find('span').html('');
+				if(idx>0){
+					data += ',';
+				}
+				data += $(this).attr('data-id');
+				$("#"+searchId+"FilterDiv").find('.daps1').append('<span class="pic">'+data+'</span>');
+			}
+		});
+
+	}
+
+	fnSetFilterHtml();
+	// gagaInfiniteScroll.pageStatus.filterHtml = filterHtml;
+	// gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
+	fnPushHistory();
+	fnGoodsListSearch();
+}
+
+var fnSetFilterHtml = function (gubun, staus, mobGb){
+	filterHtml = '';
+
+	$('#filterForm input[name=size]:checked').each(function(){
+		filterHtml += '<input type="hidden" name="sizeArr" value="'+$(this).attr('data-id')+'"/>\n';
+	});
+	$('#filterForm input[name=brandGroup]:checked').each(function(){
+		filterHtml += '<input type="hidden" name="brandGroupArr" value="'+$(this).val()+'"/>\n';
+	});
+	$('#filterForm input[name=age]:checked').each(function(){
+		filterHtml += '<input type="hidden" name="ageArr" value="'+$(this).val()+'"/>\n';
+	});
+	$('#filterForm input[name=season]:checked').each(function(){
+		filterHtml += '<input type="hidden" name="seasonArr" value="'+$(this).val()+'"/>\n';
+	});
+	$('#filterForm input[name=color]:checked').each(function(){
+		filterHtml += '<input type="hidden" name="colorArr" value="'+$(this).val()+'"/>\n';
+	});
+	$('#filterForm input[name=benefit]:checked').each(function(){
+		filterHtml += '<input type="hidden" name="benefitArr" value="'+$(this).val()+'"/>\n';
+	});
+	console.log('hPriceFrom::'+$("#filterForm input[name=hPriceFrom]").val());
+	console.log('hPriceTo::'+$("#filterForm input[name=hPriceTo]").val());
+	console.log('hDcRateFrom::'+$("#filterForm input[name=hDcRateFrom]").val());
+	console.log('hDcRateTo::'+$("#filterForm input[name=hDcRateTo]").val());
+	if(!gagajf.isNull($("#filterForm input[name=hPriceFrom]").val())){
+		filterHtml += '<input type="hidden" name="priceFrom" value="'+$("#filterForm input[name=hPriceFrom]").val()+'"/>\n';
+	}
+	if(!gagajf.isNull($("#filterForm input[name=hPriceTo]").val())){
+		filterHtml += '<input type="hidden" name="priceTo" value="'+$("#filterForm input[name=hPriceTo]").val()+'"/>\n';
+	}
+	if(!gagajf.isNull($("#filterForm input[name=hDcRateFrom]").val())){
+		filterHtml += '<input type="hidden" name="dcRateFrom" value="'+$("#filterForm input[name=hDcRateFrom]").val()+'"/>\n';
+	}
+	if(!gagajf.isNull($("#filterForm input[name=hDcRateTo]").val())){
+		filterHtml += '<input type="hidden" name="dcRateTo" value="'+$("#filterForm input[name=hDcRateTo]").val()+'"/>\n';
+	}
+
+	// console.log('filterHtml>>'+filterHtml);
+	gagaInfiniteScroll.pageStatus.filterHtml = filterHtml;
+	// fnPushHistory();
+}
+
+// 상품상세 필터 삭제
+var fnDeleteFilter = function (obj, gubun, staus, sizeGb){
+	if(gubun=='size'){
+		$("#"+gubun+"FilterDiv #sizeLi"+sizeGb).each(function(idx,item) {
+			$('#sizeLi'+sizeGb+' .size_btn').each(function (){
+				if($(obj).closest("span").text() == $(this).find('input').attr('data-id')){
+					$(this).find('input').click();
+				}
+			});
+		});
+	}else{
+		$("#"+gubun+"FilterDiv > ul > li").each(function(idx,item) {
+			if(gubun == 'color'){
+				if($(obj).closest("span").attr('id') == $(this).find('input').attr('data-id').trim()){
+					$(this).find('input').click();
+				}
+			}else{
+				if($(obj).closest("span").text() == $(this).find('input').attr('data-id')){
+					$(this).find('input').click();
+				}
+			}
+		});
+	}
+
+	$(obj).closest("span").remove();
+}
+
+var fnFilterSliderMove = function (min, max){
+	var $range = $(".dp .js-range-slider01, .sch_result .js-range-slider01");
+	var $inputFrom = $("#price_input_from");
+	var $inputTo = $("#price_input_to");
+	var instance;
+
+	instance = $range.data("ionRangeSlider");
+	instance.update({
+		from: min
+	});
+	//$inputFrom.val(min);
+
+	instance.update({
+		to: max
+	});
+	//$inputTo.prop("value",max);
+	fnSetFilterHtml();
+}
+
+var fnDcRateFilterSliderMove = function (min, max){
+	var $range = $(".dp .js-range-slider02, .sch_result .js-range-slider02");
+	var $inputFrom = $("#dcrate_input_from");
+	var $inputTo = $("#dcrate_input_to");
+	var instance;
+
+	instance = $range.data("ionRangeSlider");
+	instance.update({
+		from: min
+	});
+	$inputFrom.val(min);
+
+	instance.update({
+		to: max
+	});
+	$inputTo.prop("value",max);
+	fnSetFilterHtml();
+}
+
+var fnFilterSlider = function (gubun, min, max){
+	gagaInfiniteScroll.pageStatus.filterHtml = filterHtml;
+	gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
+	fnCategoryGoodsInfiniteScrollInit();
+	let tag = '';
+	let oriMin = '';
+	let oriMax = '';
+	filterHtml = '';
+	filterStatHtml = '';
+	filterStatHtml = $("#filterData").html();
+
+	if(gubun=='price'){
+		// $("#searchGoodsForm").find('input[name=priceFrom]').remove();
+		// $("#searchGoodsForm").find('input[name=priceTo]').remove();
+		oriMin = $("#price_input_from").val();
+		oriMax = $("#price_input_to").val();
+	}else{
+		// $("#searchGoodsForm").find('input[name=dcRateFrom]').remove();
+		// $("#searchGoodsForm").find('input[name=dcRateTo]').remove();
+		oriMin = $("#dcrate_input_from").val();
+		oriMax = $("#dcrate_input_to").val();
+	}
+
+	if(gubun=='price'){
+		if(min!=max){
+			tag += '<span id="priceSpan">'+ min +'원~'+max+'원';
+		}else{
+			tag += '<span id="priceSpan">'+max+'원';
+		}
+		$("#filterForm").find('input[name=hPriceFrom]').val(min);
+		$("#filterForm").find('input[name=hPriceTo]').val(max);
+	}else{
+		if(min!=max){
+			tag += '<span id="dcrateSpan">'+ min +'~'+max+'%';
+		}else{
+			tag += '<span id="dcrateSpan">'+max+'%';
+		}
+		$("#filterForm").find('input[name=hDcRateFrom]').val(min);
+		$("#filterForm").find('input[name=hDcRateTo]').val(max);
+	}
+	tag += '<a href="javascript:void(0);" class="filter_delete" onclick="fnDeleteFilterSlider(this,\''+gubun+'\', \''+oriMin+'\', \''+oriMax+'\');"></a >';
+	tag += '</span>';
+
+	$("#filterData").append(tag);
+	filterStatHtml += tag;
+
+	var tag2 = '';
+	if(gubun=='price'){
+		tag2 += '<input type="hidden" name="priceFrom" value="'+min.replace(",", "")+'"/>\n';
+		tag2 += '<input type="hidden" name="priceTo" value="'+max.replace(",", "")+'"/>\n';
+		$("#searchGoodsForm").append(tag2);
+		// filterHtml += tag2;
+		// fnCategoryGoodsInfiniteScrollInit();
+	}else{
+		tag2 += '<input type="hidden" name="dcRateFrom" value="'+min+'"/>\n';
+		tag2 += '<input type="hidden" name="dcRateTo" value="'+max+'"/>\n';
+		$("#searchGoodsForm").append(tag2);
+		// fnCategoryGoodsInfiniteScrollInit();
+		// filterHtml += tag2;
+	}
+	// gagaInfiniteScroll.pageStatus.filterHtml = filterHtml;
+	gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
+	fnSetFilterHtml();
+	fnGoodsListSearch();
+	fnPushHistory();
+}
+
+var fnDeleteFilterSlider = function (obj, gubun, minVal, maxVal){
+	filterStatHtml = '';
+	filterStatHtml = $("#filterData").html();
+	if(gubun=='price'){
+		$("#searchGoodsForm").find("input:hidden[name=priceFrom]").remove();
+		$("#searchGoodsForm").find("input:hidden[name=priceTo]").remove();
+		var $range = $(".dp .js-range-slider01, .sch_result .js-range-slider01");
+		var $inputFrom = $("#price_input_from");
+		var $inputTo = $("#price_input_to");
+		var instance;
+
+		instance = $range.data("ionRangeSlider");
+		instance.update({
+			from: 0
+		});
+		$inputFrom.val(minVal);
+
+		instance.update({
+			to: 5
+		});
+		$inputTo.prop("value",maxVal);
+		$("#filterForm input:hidden[name=priceFrom]").remove();
+		$("#filterForm input:hidden[name=priceTo]").remove();
+	}else{
+		$("#searchGoodsForm").find("input:hidden[name=dcRateFrom]").remove();
+		$("#searchGoodsForm").find("input:hidden[name=dcRateTo]").remove();
+		var $range = $(".dp .js-range-slider02, .sch_result .js-range-slider02");
+		var $inputFrom = $("#dcrate_input_from");
+		var $inputTo = $("#dcrate_input_to");
+		var instance;
+
+		instance = $range.data("ionRangeSlider");
+		instance.update({
+			from: 0
+		});
+		$inputFrom.prop("value",minVal);
+
+		instance.update({
+			to: 10
+		});
+		$inputTo.prop("value",maxVal);
+		$("#searchGoodsForm input:hidden[name=dcRateFrom]").remove();
+		$("#searchGoodsForm input:hidden[name=dcRateTo]").remove();
+	}
+	$(obj).closest("span").remove();
+	fnSetFilterHtml();
+	fnCategoryGoodsInfiniteScrollInit();
+	fnGoodsListSearch();
+	fnPushHistory();
+}
+
+var fnPushHistory = function(){
+	gagaInfiniteScroll.pushHistory(
+		gagaInfiniteScroll.pageStatus.nowPage
+		, $(window).scrollTop()
+		, $('#container').height()
+		, gagaInfiniteScroll.pageStatus.loadPage
+		, 0
+		, gagaInfiniteScroll.obj.$ajaxBox.html());
+}
+
+// 정렬 순서
+var fnSortingChange = function (obj, sortingType, stat, appGb){
+	if(stat != 'back'){
+		if($("#searchGoodsForm input[name=sortingType]").val()==sortingType){
+			return;
+		}
+	}
+
+	if(appGb != 'Mob'){
+		$("#sortArea").find('li').each(function (){
+			$(this).find('a').attr('class','off');
+		});
+	}else{
+		$("#sortArea").find('button').each(function (){
+			$(this).removeClass("on");
+		});
+		$("#sorting"+sortingType).addClass("on");
+		$("#filter").text($("#sorting"+sortingType).find('span').text());
+	}
+
+	$(obj).addClass("on");
+	if(stat=='back'){
+		$("#sorting"+sortingType).addClass("on");
+	}
+	$("#searchGoodsForm").find("[name=sortingType]").val(sortingType);
+	gagaInfiniteScroll.pageStatus.sortingType = sortingType;
+	fnCategoryGoodsInfiniteScrollInit();
+	fnGoodsListSearch();
+	fnPushHistory();
+}
+
+// 모바일 가격 필터
+var filterPriceMob = function (obj, gubun, staus, idx){
+	$("#searchGoodsForm input:hidden[name=priceFrom]").remove();
+	$("#searchGoodsForm input:hidden[name=priceTo]").remove();
+
+	if(staus=='on'){
+		$(obj).attr('onclick','filterPriceMob(this,\''+gubun+'\',\'off\',\''+idx+'\');');
+	}else{
+		$(obj).attr('onclick','filterPriceMob(this,\''+gubun+'\',\'on\',\''+idx+'\');');
+	}
+
+	$('#filterForm input[name=price]').each(function (ind){
+		$(this).prop("checked",false);
+	});
+
+	let price = $(obj).val().split(",");
+	let min = price[0];
+	let max = price[1];
+	var tag2 = '';
+
+	if(staus=='off'){
+		$("#price"+idx).prop("checked",true);
+		if(max<1){
+			tag2 += '<input type="hidden" name="priceFrom" value="'+min.replace(",", "")+'"/>\n';
+		}else{
+			tag2 += '<input type="hidden" name="priceFrom" value="'+min.replace(",", "")+'"/>\n';
+			tag2 += '<input type="hidden" name="priceTo" value="'+max.replace(",", "")+'"/>\n';
+		}
+	}else{
+		$("#searchGoodsForm input:hidden[name=priceFrom]").remove();
+		$("#searchGoodsForm input:hidden[name=priceTo]").remove();
+	}
+	$("#filterForm").find('input[name=hPriceFrom]').val(min);
+	$("#filterForm").find('input[name=hPriceTo]').val(max);
+
+	$('#priceFilterDiv').find('.daps1').find('span').html('');
+	$('#filterForm input[name=price]:checked').each(function(index){
+		$("#priceFilterDiv").find('.daps1').append('<span class="pic">'+$("#pricdSpan"+idx).text()+'</span>');
+	});
+
+	$("#searchGoodsForm").append(tag2);
+	// filterHtml += tag2;
+	fnCategoryGoodsInfiniteScrollInit();
+
+	// gagaInfiniteScroll.pageStatus.filterHtml = filterHtml;
+	// gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
+	fnSetFilterHtml('','','Mob');
+	fnGoodsListSearch();
+	fnPushHistory();
+}
+
+// 모바일 할인 필터
+var filterDcRateMob = function (obj, gubun, staus, idx){
+	$("#searchGoodsForm input:hidden[name=dcRateFrom]").remove();
+	$("#searchGoodsForm input:hidden[name=dcRateTo]").remove();
+
+	if(staus=='on'){
+		$(obj).attr('onclick','filterDcRateMob(this,\''+gubun+'\',\'off\',\''+idx+'\');');
+	}else{
+		$(obj).attr('onclick','filterDcRateMob(this,\''+gubun+'\',\'on\',\''+idx+'\');');
+	}
+
+	$('#filterForm input[name=dcRate]').each(function (ind){
+		$(this).prop("checked",false);
+	});
+
+	let dcRate = $(obj).val().split(",");
+	let min = dcRate[0];
+	let max = dcRate[1];
+	var tag2 = '';
+
+	if(staus=='off') {
+		$("#discount" + idx).prop("checked", true);
+		if(max<1){
+			tag2 += '<input type="hidden" name="dcRateFrom" value="'+min.replace(",", "")+'"/>\n';
+		}else{
+			tag2 += '<input type="hidden" name="dcRateFrom" value="'+min.replace(",", "")+'"/>\n';
+			tag2 += '<input type="hidden" name="dcRateTo" value="'+max.replace(",", "")+'"/>\n';
+		}
+	}else{
+		$("#searchGoodsForm input:hidden[name=dcRateFrom]").remove();
+		$("#searchGoodsForm input:hidden[name=dcRateTo]").remove();
+	}
+	$("#filterForm").find('input[name=hDcRateFrom]').val(min);
+	$("#filterForm").find('input[name=hDcRateTo]').val(max);
+
+	$('#dcRateFilterDiv').find('.daps1').find('span').html('');
+	$('#filterForm input[name=dcRate]:checked').each(function(index){
+		$("#dcRateFilterDiv").find('.daps1').append('<span class="pic">'+$("#dcRateText"+idx).text()+'</span>');
+	});
+
+	$("#searchGoodsForm").append(tag2);
+	// filterHtml += tag2;
+	fnCategoryGoodsInfiniteScrollInit();
+
+	// gagaInfiniteScroll.pageStatus.filterHtml = filterHtml;
+	// gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
+	fnSetFilterHtml('','','Mob');
+	fnGoodsListSearch();
+	fnPushHistory();
+}
+
+// 상품상세 필터 조회
+var fnSelectFilerMob = function (obj, gubun, staus, sizeGb){
+	// fnCategoryGoodsInfiniteScrollInit();
+	gagaInfiniteScroll.pageStatus.filterHtml = filterHtml;
+	gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
+	let $obj = $(obj);
+	if(staus=='on'){
+		if(gubun=='size'){
+			$(obj).attr('onclick','fnSelectFilerMob(this,\''+gubun+'\',\'off\',\''+sizeGb+'\');');
+		}else{
+			$(obj).attr('onclick','fnSelectFilerMob(this,\''+gubun+'\',\'off\',\'\');');
+		}
+
+		$("#filterData").find('span').each(function(idx,item) {
+			if(gubun=='color'){
+				if($obj.attr('data-id').replace('#','').trim() == $(this).closest("span").attr('id')) {
+					$(this).closest("span").remove();
+				}
+			}else{
+				if($obj.attr('data-id') == $(this).closest("span").text()) {
+					$(this).closest("span").remove();
+				}
+			}
+		});
+	}else{
+		if(gubun=='size'){
+			$(obj).attr('onclick','fnSelectFilerMob(this,\''+gubun+'\',\'on\',\''+sizeGb+'\');');
+		}else{
+			$(obj).attr('onclick','fnSelectFilerMob(this,\''+gubun+'\',\'on\',\'\');');
+		}
+	}
+	fnFilterSet(gubun, sizeGb, 'Mob');
+}
+
+var fnReCheckFilterList = function (){
+	var searchId = '';
+	$('#filterForm').find('.allFilter').find('.chkFilter').each(function() {
+		if(!gagajf.isNull($(this).attr('id'))){
+			if($(this).attr('id') == 'sizeFilterDiv'){
+				searchId = 'size';
+			}else{
+				searchId = $(this).attr('id').replace('FilterDiv','');
+			}
+		}
+
+		if(!gagajf.isNull(searchId)){
+			var data = '';
+			if(searchId == 'price'){
+				$('#filterForm #priceArea').find('li').each(function(index){
+					if($(this).find('input[name=price]').prop('checked') == true){
+						$("#priceFilterDiv").find('.daps1').append('<span class="pic">'+$("#pricdSpan"+(index+1)).text()+'</span>');
+					}
+				});
+			}else if(searchId == 'dcRate'){
+				$('#filterForm #dcRateArea').find('li').each(function(index){
+					if($(this).find('input[name=dcRate]').prop('checked') == true){
+						$("#dcRateFilterDiv").find('.daps1').append('<span class="pic">'+$("#dcRateText"+(index+1)).text()+'</span>');
+					}
+				});
+			}else{
+				$('#filterForm input[name='+searchId+']:checked').each(function(idx){
+					if(searchId=='color'){
+						$('#'+searchId+'FilterDiv').find('.daps1').find('.pic').find('span').html('');
+						var mobTag = '';
+						var color = $(this).attr('data-id');
+						console.log('color::'+$(this).attr('data-id'));
+						if(color=='FFFFFF'){
+							mobTag += '<span class="pdColor-color" style="background-color:#'+color+';border:1px solid #aaa;"></span>';
+						}else{
+							mobTag += '<span class="pdColor-color" style="background-color:#'+color+'"></span>';
+						}
+						$("#"+searchId+"FilterDiv").find('.daps1').find('.pic').append(mobTag);
+					}else if(searchId=='brandGroup'){
+						$('#'+searchId+'FilterDiv').find('.daps1').find('span').html('');
+						if(idx>0){
+							data += ',';
+						}
+						data += $(this).attr('data-id');
+						$("#"+searchId+"FilterDiv").find('.daps1').append('<span class="pic">'+data+'</span>');
+					}else if(searchId=='size'){
+						$('#'+searchId+'FilterDiv').find('.daps1').find('span').html('');
+						if(idx>0){
+							data += ',';
+						}
+						data += $(this).attr('data-id');
+						$("#"+searchId+"FilterDiv").find('.daps1').append('<span class="pic">'+data+'</span>');
+					}else if(searchId=='season'){
+						$('#'+searchId+'FilterDiv').find('.daps1').find('span').html('');
+						if(idx>0){
+							data += ',';
+						}
+						data += $(this).attr('data-id');
+						$("#"+searchId+"FilterDiv").find('.daps1').append('<span class="pic">'+data+'</span>');
+					}else if(searchId=='benefit'){
+						$('#'+searchId+'FilterDiv').find('.daps1').find('span').html('');
+						if(idx>0){
+							data += ',';
+						}
+						data += $(this).attr('data-id');
+						$("#"+searchId+"FilterDiv").find('.daps1').append('<span class="pic">'+data+'</span>');
+					}else{
+						$('#'+searchId+'FilterDiv').find('.daps1').find('span').html('');
+						if(idx>0){
+							data += ',';
+						}
+						data += $(this).attr('data-id');
+						$("#"+searchId+"FilterDiv").find('.daps1').append('<span class="pic">'+data+'</span>');
+					}
+				});
+			}
+
+		}
+
+	});
+}
+
+//****************상품리스트  end **********************************

+ 3 - 3
src/main/webapp/ux/mo/css/common_m.css

@@ -679,11 +679,11 @@ header .htop.trans{position:absolute; background:transparent !important;}
 header #htopSub{border-bottom: 0px solid #e5e5e5;box-sizing: border-box;}
 header #htopSubs{border-bottom: 0px solid #000000;box-sizing: border-box;}
 header #htopSub.my_main {background-color: #f5f5f5; border-bottom: 1px solid rgba(0, 0, 0, 0.0)!important;}
-header .htop h1 {display: inline-block;position: relative;width:auto;height: 5.5rem;line-height: 5.5rem;vertical-align: middle;margin: 0px 0 0 2.0rem;font-size: 1.8rem;color: #222;}
+header .htop h1 {display: inline-block;position: relative;width:auto;max-width: calc(100% - 14.5rem);height: 5.5rem;line-height: 5.5rem;vertical-align: middle;margin: 0px 0 0 2.0rem;font-size: 1.8rem;color: #222;}
 header .htop h1#htopTitle {display: inline-block;position: relative;max-width: 18rem;width: auto;height: 100%;line-height: 4.5rem;vertical-align: middle;padding: 0px 1.5rem 0px 0rem;font-size: 1.8rem;color: #222;}
 header .htop h1 a {height: 100%;width: 100%;display: block;}
 header .htop h1 img {margin: 0px 0;width: 10.666rem;height: auto;line-height: 1.6rem;vertical-align: middle;}
-header .htop h1 a p{color: #fff;line-height: 5.5rem;font-size: 2.0rem;height: 5.5rem;display: inline;vertical-align: middle;}
+header .htop h1 a p{color: #fff;line-height: 5.5rem;font-size: 2.0rem;height: 5.5rem;display: inline;vertical-align: middle;display: -webkit-box;word-break: break-all;text-overflow: ellipsis;-webkit-line-clamp: 1;-webkit-box-orient: vertical;overflow: hidden;}
 header .htop .btn_back {margin: 10px 0 0 15px;width: 35px;height: 35px;}
 header .htop .btn_back span {display: block;width: 24px;height: 24px;margin: 0 auto;position: relative;}
 header .htop .btn_back span i {display: block;position: absolute;background: #222;-webkit-transition: all 0.3s ease-out;transition: all 0.3s ease-out;}
@@ -708,7 +708,7 @@ header .htop .button_wrap .store span { width: 2.1rem; height: 1.4rem; position:
 header .subs {}
 
 
-header .btn_gnb {position: absolute;top: 0px;right: -4.5rem;width: 3.5rem;height: 100%;z-index: 10;}
+header .btn_gnb {position: absolute;top: 0px;right: -3.5rem;width: 3.5rem;height: 100%;z-index: 10;}
 header .btn_gnb span {display: block;width: 24px;height: 24px;margin: 0 auto;position: relative;}
 header .btn_gnb span i {display: block;position: absolute;left: 0;width:100%;height: 100%;-webkit-transition: all 0.5s ease-out;transition: all 0.5s ease-out;}
 /* header .btn_gnb span i.gl1 {top: 6px;} */

+ 40 - 13
src/main/webapp/ux/mo/css/layout_m.css

@@ -399,7 +399,7 @@
 .pd_detail .btn_brandHome{border-color:#a7a7a7;}
 
 /* 슬라이드아이템*/
-.item_prod {display: inline-block;font-size: 0px;vertical-align: top;color: rgb(31, 31, 31);position: relative;letter-spacing: -0.025em;}
+.item_prod {display: inline-block;width: 100%;font-size: 0px;vertical-align: top;color: rgb(31, 31, 31);position: relative;letter-spacing: -0.025em;}
 .item_prod .item_state {position: relative; padding:0; box-sizing: border-box;}
 .item_prod .item_state.soldout .itemPic:before {content:'SOLD OUT'; position: absolute; top: 50%; left: 50%; font-size: 2.0rem; font-weight: 500; color:#fff; background: rgba(0,0,0,.7); width: 100%; height: 100%; transform:translate(-50%, -50%); line-height: 12; z-index: 20; text-align: center;}
 .item_prod .item_state.AD .itemPic:before {content:'AD'; position: absolute; bottom: 0.666rem; right: 0.666rem; font-size: 1rem; font-weight: 300; letter-spacing: -0.025em; color:#888888; width: auto; height: auto; line-height: 1rem; z-index: 21; text-align: right;}
@@ -439,7 +439,7 @@
 .pd .itemBrand{width:calc(100% - 10%);}
 .pd .area_slider{text-align:left;}
 .pd .swiper-container{overflow:visible;}
-.pd .thumb_box .thumb_list .swiper-slide span{display: block;width: 100%;height: 5.5rem;background-color: #ffffff;opacity: 0.5;position: absolute;top: 0;left: 0;z-index: 1;}
+.pd .thumb_box .thumb_list .swiper-slide span{display: block;width: 100%;height: 5.5rem;background-color: #ffffff;opacity: 0.5;position: absolute;top: 0;left: 0;z-index: 3;}
 .pd .dot_info {position:relative; padding-left:0.8rem; font-size:1.1rem;}
 .pd .dot_info::before {content:'·'; position:absolute; left:0; top:0; line-height:inherit;}
 .pd .select_custom .combo .list{border:1px solid #000; border-top:0;max-height:100%;}
@@ -481,6 +481,7 @@
 .pd_detail > .inner.wide{padding-left:0!important; padding-right:0!important; padding-bottom:0;}
 
 .pd_detail .movbox {position: relative;height: 0;padding-top: 100%;padding-bottom:50.25%;overflow: hidden;transition: all 300ms ease;transform: scale(1);}
+.pd_detail .movbox #prodMovBtn{background: rgb(246 55 55 / 0%);  position: absolute;top: 0;left: 0;width: 100%;height: 100%;border: none;color: transparent;font-size: 1px;z-index: 2;}
 .pd_detail .movbox iframe{position: absolute;left: 0;right: 0;top: 0;bottom: 0;width: 100%;height: 100%;z-index: 1;pointer-events:none;}
 
 
@@ -634,7 +635,7 @@
 .pd_detail .benefit_box{padding-top:3rem;}
 /* 5 */
 .pd_detail .pd_together{padding-top:3rem;}
-.pd_detail .pd_together .item_prod .itemName{max-height: 3.3rem;display: -webkit-box;text-overflow: ellipsis;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;white-space: normal;overflow-wrap: break-word;width: calc(100% - 10%);}
+.pd_detail .pd_together .item_prod .itemName{max-height: 3.3rem;min-height: 3rem; display: -webkit-box;text-overflow: ellipsis;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;white-space: normal;overflow-wrap: break-word;width: calc(100% - 10%);}
 .pd_detail .brand_home{margin-bottom:-1.2rem;}
 .pd_detail .brand_home .link_go{display:block; padding:1rem 2rem; font-size:1.4rem; color:#222; font-weight:500; border-bottom:1px solid #eee;}
 .pd_detail .brand_home .link_go:before{content:''; display:inline-block; margin-right:1.2rem; width:3.4rem; height:3.4rem; background:#000 url(/images/mo/ico_branb_home.png) center center no-repeat; border-radius:50%; background-size:contain; vertical-align:middle;}
@@ -762,9 +763,9 @@
 .pd_detail .recommendedArea > div[class*="pd_"]:first-child{margin-top:0;}
 .pd_detail .recommendedArea > div[class*="pd_"] .tit{text-align:center;}
 .pd_detail .pd_clickother {}
-.pd_detail .pd_clickother .item_prod .itemName{display: block;max-height: 3.3rem; display: -webkit-box; text-overflow: ellipsis; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; white-space: normal; overflow-wrap: break-word;  width: calc(100% - 10%);}
+.pd_detail .pd_clickother .item_prod .itemName{display: block;max-height: 3.3rem;min-height:3rem; display: -webkit-box; text-overflow: ellipsis; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; white-space: normal; overflow-wrap: break-word;  width: calc(100% - 10%);}
 .pd_detail .pd_clickother .area_slider {}
-.pd_detail .pd_clickother .area_slider .itemName {height:3.2rem;}
+.pd_detail .pd_clickother .area_slider .itemName {}
 .pd_detail .pd_recommend {}
 .pd_detail .pd_recommend .area_slider {}
 .pd_detail .pd_recommend .area_slider .swiper-pagination {display:inline-block; width:auto; margin:0; padding:0.2rem 1rem; border-radius:2rem; font-size:1.2rem; color:#fff; background-color:rgba(34,34,34,.5);position:absolute; left:50%; bottom:2rem; -webkit-transform:translateX(-50%); transform:translateX(-50%);}
@@ -812,7 +813,7 @@
 .product_floormenu .share_like > button.share{background:#000 url(/images/mo/ico_floorbtn_share.png) center center no-repeat; background-size:1.6rem;}
 /* .product_floormenu .share_like > button.like{background:#000 url(/images/mo/ico_floorbtn_like.png) center center no-repeat; background-size:2rem;} */
 .product_floormenu .share_like > button.itemLike {background:#000 url('/images/mo/ico_floorbtn_like.png') center center no-repeat;background-size:2rem;}
-.product_floormenu .share_like > button.itemLike:hover,
+/*.product_floormenu .share_like > button.itemLike:hover,*/
 .product_floormenu .share_like > button.itemLike.likeit {background:#000 url('/images/mo/ico_floorbtn_like_on.png') center center no-repeat;background-size:2rem;}
 .product_floormenu .share_like > button.itemLike::before,
 .product_floormenu .share_like > button.itemLike::after {display:none}
@@ -862,10 +863,12 @@
 .pd_pop.Purchase_pop .pop_option_select .opt_header .check_excluding.form_field input[type="checkbox"] + label{ font-size:1.3rem; color:#222;}
 .pd_pop.Purchase_pop .pop_option_select .text_excluding{margin-top:-1rem; padding:1.2rem; background-color:#383838; font-size:1.3rem; color:#fff; text-align:center;}
 .pd_pop.Purchase_pop .select_custom .combo .select{font-size:1.4rem; height:auto; text-overflow: ellipsis; word-wrap: normal; overflow: hidden; padding-right: 4rem;}
-.pd.deal .pd_detail .pd_pop.Purchase_pop .select_custom .combo .select{color: #777777;text-overflow: ellipsis;white-space: nowrap;word-wrap: normal;overflow: hidden;padding-right: 4rem;padding-left: 5rem;}
-.pd.deal .pd_detail .pd_pop.Purchase_pop .form_field:nth-child(1) .select_custom .combo .select::before{content: '상품';display: inline-block;width: 0;height: 0;position: absolute;left: 1rem; color:#333333}
+.pd.deal .pd_detail .pd_pop.Purchase_pop .select_custom .combo .select{color: #777777;text-overflow: ellipsis;white-space: nowrap;word-wrap: normal;overflow: hidden;padding-right: 4rem;padding-left: 5rem; min-height:4.5rem;}
+.pd.deal .pd_detail .pd_pop.Purchase_pop .form_field:nth-child(1) .select_custom .combo .select::before{content: '상품';display: inline-block;width: 0;height: 0;position: absolute;left: 1rem; color:#333333;}
+.pd.deal .pd_detail .pd_pop.Purchase_pop .form_field:nth-child(1) .select_custom.option_open .combo .select::before{content: '옵션을 선택해주세요';display: inline-block;width: 0;height: 0;position: absolute;left: 1rem; color:#333333}
 .pd.deal .pd_detail .pd_pop.Purchase_pop .form_field:nth-child(2) .select_custom .combo .select::before{content: '옵션1';display: inline-block;width: 0;height: 0;position: absolute;left: 1rem; color:#333333}
 .pd.deal .pd_detail .pd_pop.Purchase_pop .form_field:nth-child(3) .select_custom .combo .select::before{content: '옵션2';display: inline-block;width: 0;height: 0;position: absolute;left: 1rem; color:#333333}
+.pd.deal .pd_detail .select_custom .select .item_prod .item_state .itemLink .itemName{text-overflow:ellipsis;white-space:nowrap;word-wrap:normal;width:100%;overflow:hidden;}
 .pd_pop.Purchase_pop .pop_option_select .setOption{}
 .pd_pop.Purchase_pop .pop_option_select .setOption .title{margin-bottom:1rem;}
 .pd_pop.Purchase_pop .pop_option_select .setOption .form_wrap{margin-top:2rem;}
@@ -923,7 +926,7 @@
 .modal.pd_pop.salecoupon_pop .coupon_list {line-height:1;}
 .modal.pd_pop.salecoupon_pop .coupon_list li {margin-top:1rem}
 .modal.pd_pop.salecoupon_pop .coupon_list li:first-child {margin-top:0}
-.modal.pd_pop.salecoupon_pop .coupon_list li:last-child{margin-bottom:3rem;}
+.modal.pd_pop.salecoupon_pop .coupon_list li:last-child{margin-bottom:6rem;}
 .modal.pd_pop.salecoupon_pop .coupon_list li .coupon {position:relative; border:1px solid #ddd; box-sizing:border-box; background:#fff;}
 .modal.pd_pop.salecoupon_pop .coupon_list li .coupon > div {position:relative; padding:3rem 0;}
 .modal.pd_pop.salecoupon_pop .coupon_list li .coupon > div::after {content:''; position:absolute; top:50%; right:-1px; transform:translateY(-50%); width:1.5rem; height:3.0rem; background:#fff; z-index:2; border:1px solid #ddd; border-right:none; border-top-left-radius:1.5rem; border-bottom-left-radius:1.5rem; overflow:hidden;}
@@ -1059,11 +1062,17 @@
 .modal.pd_pop.info_size_pop .tbl.type2 {padding:0; border-top:1px solid #000;} 
 .modal.pd_pop.info_size_pop .tbl.type2 table {width:100%; word-break:keep-all;}
 .modal.pd_pop.info_size_pop .tbl.type2 table th,
-.modal.pd_pop.info_size_pop .tbl.type2 table td {position:relative; padding:1.5rem 0; border-bottom:1px solid #ddd; font-weight:200; font-size:1.4rem; letter-spacing:-0.025em; text-align:center;}
+.modal.pd_pop.info_size_pop .tbl.type2 table td {position:relative; padding:1.5rem 1rem; border-bottom:1px solid #ddd; font-weight:200; font-size:1.4rem; letter-spacing:-0.025em; text-align:center;}
 .modal.pd_pop.info_size_pop .tbl.type2 table th {font-weight:400; color:#222;}
 .modal.pd_pop.info_size_pop .tbl.type2 table td{color:#000; font-weight:300; font-size:1.3rem;}
 .modal.pd_pop.info_size_pop .tbl.type2 table thead tr{background:#f5f5f5;}
 
+.modal.pd_pop.info_size_pop .tbl.scroll_tbl::after {content:''; clear:both; display: block;}
+.modal.pd_pop.info_size_pop .tbl.scroll_tbl .head_t {float:left; width: 25% !important; display: block;}
+.modal.pd_pop.info_size_pop .tbl.scroll_tbl .head_t td {font-size: 1.4rem; font-weight: 400;}
+.modal.pd_pop.info_size_pop .tbl.scroll_tbl .body_t {float:left; width: 75% !important; display: block; white-space: nowrap; overflow-x: auto;}
+.modal.pd_pop.info_size_pop .tbl.scroll_tbl .body_t td {font-size: 1.4rem;}
+
 /* pd_popup > 재입고 알림 신청 */
 
 
@@ -1133,6 +1142,7 @@
 .pd_qnalist .qna_list .foldGroup .fold_head .fold_state{font-size:1.1rem;}
 .pd_qnalist .qna_list .foldGroup > ul > li:first-child {border-top: 1px solid #e5e5e5;}
 .pd_qnalist .qna_list .check_secret{padding: 0 1.33rem; margin-bottom:1.5rem;}
+.pd_qnalist .btnIcon_more{margin-bottom: 2rem;}
 .pd_qnalist .qna_list .nodata {padding:14rem 0 17rem; text-align:center;}
 .pd_qnalist .qna_list .nodata .txt_box {color:#666; font-size:1.3rem; font-weight:300; color:#888;}
 .pd_qnalist .info_txt{padding:0 1.33rem; margin-top:3rem;}
@@ -1364,9 +1374,9 @@
 .modal.pd_pop[class*="reviewdetail_pop"] .modal-body{margin-top:5.2rem; padding:0 0;}
 .modal.pd_pop[class*="reviewdetail_pop"] .modal-body .pd_review .area_rv_all .review_list{border-top:0;}
 .modal.pd_pop[class*="reviewdetail_pop"] .area_slider .thumb{position:relative; width:100%; height:100%; min-height:45.6rem;}
-.modal.pd_pop[class*="reviewdetail_pop"] .area_slider .thumb iframe {position: absolute;top: 0;left: 0;}
 .modal.pd_pop[class*="reviewdetail_pop"] .area_slider .thumb img,
 .modal.pd_pop[class*="reviewdetail_pop"] .area_slider .thumb video{position: absolute; left: 50%; right: 0; top: 45%; bottom: auto; transform: translate(-50%, -50%); width: auto; height: auto; max-height: 100%; max-width: 100%; margin: auto 0; cursor: pointer;}
+.modal.pd_pop[class*="reviewdetail_pop"] .area_slider .thumb iframe{position: absolute; top: 0;left: 0; right: 0; bottom: auto; transform: translate(0); width: auto; height: auto; max-height: 100%; max-width: 100%; margin: auto 0; cursor: pointer;}
 .modal.pd_pop[class*="reviewdetail_pop"] .area_slider .thumb{position:relative; background-color:#ddd; /*background-position:center center; background-repeat:no-repeat; background-size:contain;*/}
 .modal.pd_pop[class*="reviewdetail_pop"] .area_slider .thumb.nodata:before{display:block; content:''; position:absolute; top:0; left:0; width:100%; height:100%; background-color:rgba(0,0,0,.5); z-index:1;}
 .modal.pd_pop[class*="reviewdetail_pop"] .area_slider .thumb.nodata:after{display:block; content:'리뷰에 등록된 이미지가 없습니다.'; position:absolute; top:50%; left:50%; width:90%; font-size:1.2rem; color:#fff; text-align:center; z-index:2; -webkit-transform:translate(-50%, -50%); transform:translate(-50%, -50%);}
@@ -1471,7 +1481,7 @@
 .pd.deal .pd_dealitem .itemsGrp .item_prod {float:left; width:50%; padding:2rem 0.4rem 0; box-sizing:border-box;}
 .pd.deal .pd_dealitem .itemsGrp .item_prod .item_state {padding:0;}
 .pd.deal .pd_dealitem .itemsGrp .item_prod .item_state .btn{margin-top:1.5rem; width:100%; font-size:1.1rem; height:3rem; font-weight:300;}
-.pd.deal .pd_dealitem .item_prod .itemName{max-height: 3.3rem;display: -webkit-box;text-overflow: ellipsis;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;white-space: normal;overflow-wrap: break-word;width: calc(100% - 10%);}
+.pd.deal .pd_dealitem .item_prod .itemName{min-height:3rem; max-height: 3.3rem;display: -webkit-box;text-overflow: ellipsis;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;white-space: normal;overflow-wrap: break-word;width: calc(100% - 10%);}
 /*.pd.deal .pd_dealitem .itemLink .itemPic::after {content:''; background:none; background:rgba(34,34,34,0.8) url('/images/mo/btn_deal_item_more.png') no-repeat 50% 50%; background-size:5rem; opacity:0; -webkit-transition:all .2s ease-in-out; transition:all .2s ease-in-out; z-index:2;}*/
 .pd.deal .pd_dealitem .itemLink {}
 .pd.deal .pd_dealitem .itemLink:hover .itemPic::after,
@@ -1526,7 +1536,7 @@
 .pd_pop[class*="pd_list"] .modal_content .listpop_body{padding:1.5rem 1.33rem; min-height:43.2rem; max-height:40rem; box-sizing:border-box; overflow:auto;background:#fff;}
 .pd_pop[class*="pd_list"] .close {opacity: 1; position: absolute; z-index: 98; top: -3.8rem; left: 50%; transform: translate(-50%); display: block; border: 0; width: 1.6rem; height: 1.6rem; text-indent: -9999px; background-size: contain; background-repeat: no-repeat; background-position: center center; background-image: url(/images/mo/ico_pop_cls_w.png); background-color: transparent;}
 .pd_pop[class*="pd_list"].pd_listDescrp_pop{top:5.2rem;}
-.pd_pop[class*="pd_list"].pd_listDescrp_pop .modal_content{top:0; background-color:#646464;}
+.pd_pop[class*="pd_list"].pd_listDescrp_pop .modal_content{top:0; background-color:rgba(0,0,0,0.5);}
 .pd_pop[class*="pd_list"].pd_listDescrp_pop .modal_content:after{}
 .pd_listDescrp_pop .deal_list_select .list li{border-bottom:0 none;}
 .deal_list_select .select {cursor: pointer;display: inline-block; position: relative;font-size: 1.6rem;color: #333333;width: 100%; height:66px;}
@@ -1804,6 +1814,23 @@
 .dp .dp_subtitle{padding-top:4rem;}
 .dp .mid_banner{margin-top:-6rem;padding-bottom:3rem;}
 .dp .mid_banner .swiper-container.dp_lookbook_case1{margin-top:6rem;}
+.dp .mid_banner .swiper-container.dp_lookbook_case1 .swiper-slide{}
+.dp .mid_banner .swiper-container.dp_lookbook_case1 .swiper-slide a{}
+.dp .mid_banner .swiper-container.dp_lookbook_case1 .swiper-slide a div{
+  position: relative;
+  /* height: 11.3rem; */
+  overflow: hidden;
+  padding-top: 35%;
+}
+.dp .mid_banner .swiper-container.dp_lookbook_case1 .swiper-slide a div img{
+  position: absolute;
+  top: 50%;
+  left: 50%;
+  transform: translate(-50%, -50%);
+  max-width: none;
+  width: auto;
+  height: 100%;
+}
 .dp .dp_detail_visual .fileAdd{margin-right:1rem}
 .dp .dp_detail_visual .pics{margin-bottom:1rem}
 /*.dp .dp_exhibition{background-color:#f5f5f5;}

+ 28 - 4
src/main/webapp/ux/style24_link.js

@@ -665,23 +665,47 @@ function cfGoodsInstockAlarmInfo(goodsCd, colorCd) {
 * @access : public
 * @desc   : 댓글 이미지 팝업
 * <pre>
-*		cfPlanReplyDetail(planSq, planEntrySq, planEntryAtSq);
+*		cfPlanReplyDetail(planSq, planEntrySq, planEntryAtSq, attachSq);
 * </pre>
 */
-function cfPlanReplyDetail(planSq, planEntrySq, planEntryAtSq) {
-	var str = '<div class="modal pop_full photo_comment_popup" id="photo_full_popup" tabindex="-1" role="dialog" aria-labelledby="comment_popup" aria-hidden="true">';
+function cfPlanReplyDetail(planSq, planEntrySq, planEntryAtSq, attachSq) {
+	var str = '<div class="modal pop_full photo_comment_popup" id="photo_full_popup" tabindex="-1" role="dialog" aria-labelledby="comment_popup" aria-hidden="true"></div>';
 
-	if ($('#layer_review_best').length == 0) {
+	if ($('#photo_full_popup').length == 0) {
 		$('body').append(str);
 	}
 	
 	var params = '?planSq=' + planSq;
 	params += '&planEntrySq=' + planEntrySq;
 	if (typeof (planEntryAtSq) != 'undefined') params += "&planEntryAtSq=" + planEntryAtSq;
+	if (typeof (attachSq) != 'undefined') params += "&attachSq=" + attachSq;
 	
 	cfnOpenLayer(_PAGE_PLANNING_REPLY_DETAIL_LAYER+params, 'photo_full_popup');
 }
 
+/**
+* @type   : function
+* @access : public
+* @desc   : 댓글 이미지 팝업(모바일)
+* <pre>
+*		cfMoPlanReplyDetail(planSq, planEntrySq, planEntryAtSq, attachSq);
+* </pre>
+*/
+function cfMoPlanReplyDetail(planSq, planEntrySq, planEntryAtSq, attachSq) {
+	var str = '<div class="modal fade thumb_img_pop" id="thumbImgPop" tabindex="-1" role="dialog" aria-labelledby="thumbImgLabel" aria-hidden="true"></div>';
+
+	if ($('#thumbImgPop').length == 0) {
+		$('body').append(str);
+	}
+	
+	var params = '?planSq=' + planSq;
+	params += '&planEntrySq=' + planEntrySq;
+	if (typeof (planEntryAtSq) != 'undefined') params += "&planEntryAtSq=" + planEntryAtSq;
+	if (typeof (attachSq) != 'undefined') params += "&attachSq=" + attachSq;
+	
+	cfnOpenLayer(_PAGE_PLANNING_REPLY_DETAIL_LAYER+params, 'thumbImgPop');
+}
+
 /**
  * @type   : function
  * @access : public

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio