goods.js 42 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213
  1. //****************상품상세 start **********************************
  2. // 함께본 상품
  3. var fnGoodsTogetherSearch = function(params) {
  4. //gagajf.ajaxSubmit("/goods/detail/together/frame", "html", "goodsTogetherbArea", params);
  5. $.ajax( {
  6. type : "POST",
  7. url : '/goods/detail/together/frame',
  8. data : JSON.stringify(params),
  9. dataType : 'html',
  10. beforeSend : function(xhr, settings) {
  11. xhr.setRequestHeader("AJAX" , "true");
  12. xhr.setRequestHeader('Accept' , 'application/json');
  13. xhr.setRequestHeader('Content-Type' , 'application/json');
  14. },
  15. success : function(result) {
  16. if (result != null) {
  17. $("#goodsTogetherbArea").css("display", "block");
  18. $("#goodsTogetherbArea").html(result);
  19. // 위시처리- 로그인 되어 있을시
  20. if (cfCheckLogin()) {
  21. //이상품과 함께본 상품
  22. let targetT = $('#goodsTogetherbArea').find('.item_state').find('button');
  23. //let targetTSize = targetT.length;
  24. targetT.each(function(){
  25. let goodsCd = $(this).attr('goodscd');
  26. var $this = $(this);
  27. let url = "/mypage/wish/list/check/"+goodsCd;
  28. var result = '';
  29. $.ajax({
  30. type: 'get'
  31. , async: false
  32. , url: url
  33. , success: function (data) {
  34. //likeit active
  35. if ("Y" == data){
  36. $this.addClass('likeit').addClass('active');
  37. }
  38. }
  39. });
  40. });
  41. }
  42. }
  43. }
  44. });
  45. }
  46. // 추천 상품
  47. var fnGoodsRecommendSearch = function(params) {
  48. //gagajf.ajaxSubmit("/goods/detail/recommend/frame", "html", "goodsRecommendbArea", params);
  49. $.ajax( {
  50. type : "POST",
  51. url : '/goods/detail/recommend/frame',
  52. data : JSON.stringify(params),
  53. dataType : 'html',
  54. beforeSend : function(xhr, settings) {
  55. xhr.setRequestHeader("AJAX" , "true");
  56. xhr.setRequestHeader('Accept' , 'application/json');
  57. xhr.setRequestHeader('Content-Type' , 'application/json');
  58. },
  59. success : function(result) {
  60. if (result != null) {
  61. $("#goodsRecommendbArea").css("display", "block");
  62. $("#goodsRecommendbArea").html(result);
  63. // 위시처리- 로그인 되어 있을시
  64. if (cfCheckLogin()) {
  65. //브랜드 추천상품
  66. let targetR = $('#goodsRecommendbArea').find('.item_state').find('button');
  67. //let targetRSize = targetT.length;
  68. targetR.each(function(){
  69. let goodsCd = $(this).attr('goodscd');
  70. var $this = $(this);
  71. let url = "/mypage/wish/list/check/"+goodsCd;
  72. var result = '';
  73. $.ajax({
  74. type: 'get'
  75. , async: false
  76. , url: url
  77. , success: function (data) {
  78. //likeit active
  79. if ("Y" == data){
  80. $this.addClass('likeit').addClass('active');
  81. }
  82. }
  83. });
  84. });
  85. }
  86. }
  87. }
  88. });
  89. }
  90. // 비슷한 상품
  91. var fnGoodsLikeSearch = function(params) {
  92. //gagajf.ajaxSubmit("/goods/detail/like/frame", "html", "goodsLikebArea", params);
  93. $.ajax( {
  94. type : "POST",
  95. url : '/goods/detail/like/frame',
  96. data : JSON.stringify(params),
  97. dataType : 'html',
  98. beforeSend : function(xhr, settings) {
  99. xhr.setRequestHeader("AJAX" , "true");
  100. xhr.setRequestHeader('Accept' , 'application/json');
  101. xhr.setRequestHeader('Content-Type' , 'application/json');
  102. },
  103. success : function(result) {
  104. if (result != null) {
  105. $("#goodsLikebArea").css("display", "block");
  106. $("#goodsLikebArea").html(result);
  107. // 위시처리- 로그인 되어 있을시
  108. if (cfCheckLogin()) {
  109. //비슷한 상품
  110. let targetL = $('#goodsLikebArea').find('.item_state').find('button');
  111. //let targetTSize = targetT.length;
  112. targetL.each(function(){
  113. let goodsCd = $(this).attr('goodscd');
  114. var $this = $(this);
  115. let url = "/mypage/wish/list/check/"+goodsCd;
  116. var reLult = '';
  117. $.ajax({
  118. type: 'get'
  119. , async: false
  120. , url: url
  121. , success: function (data) {
  122. //likeit active
  123. if ("Y" == data){
  124. $this.addClass('likeit').addClass('active');
  125. }
  126. }
  127. });
  128. });
  129. }
  130. }
  131. }
  132. });
  133. }
  134. // EP 쿠폰조회
  135. var fnEpCouponDown = function(afLinkCd, goodsCd, maxRownum){
  136. if (typeof (afLinkCd) == 'undefined' || gagajf.isNull(afLinkCd)){
  137. return false;
  138. }
  139. let data = {afLinkCd : afLinkCd
  140. , goodsCd : goodsCd
  141. , maxRownum : maxRownum
  142. };
  143. $.getJSON('/goods/epCoupon/list', data, function(result, status) {
  144. if (status === 'success') {
  145. if(result.length>0){
  146. let coupon = result[0];
  147. let tag = '';
  148. tag += '<div class="modal fade pd_pop epcoupon_pop" id="epCouponPop" tabindex="-1" role="dialog" aria-labelledby="epCouponLabel" aria-hidden="true">\n';
  149. tag += ' <div class="modal-dialog" role="document">\n';
  150. tag += ' <div class="modal-content">\n';
  151. tag += ' <div class="modal-header">\n';
  152. tag += ' <h5 class="modal-title" id="epCouponLabel">'+coupon.cpnNm+'</h5>\n';
  153. tag += ' </div>\n';
  154. tag += ' <div class="modal-body">\n';
  155. tag += ' <div class="pop_cont">\n';
  156. tag += ' <div class="ep_coupon">\n';
  157. tag += ' <div>\n';
  158. tag += ' <p class="cp_title">\n';
  159. tag += ' COUPON\n';
  160. tag += ' </p>\n';
  161. tag += ' <p class="cp_cont">\n';
  162. if (coupon.dcWay == 'G240_11'){ //할인율
  163. tag += ' <span class="unit_percent">\n';
  164. tag += ' 최대<em class="number">'+coupon.dcVal+'</em><em class="unit">%</em>\n';
  165. tag += ' </span>\n';
  166. }else{
  167. tag += ' <span class="unit_won">\n';
  168. tag += ' <em class="number">'+coupon.dcVal.addComma()+'</em><em class="unit">원</em>\n';
  169. tag += ' </span>\n';
  170. }
  171. tag += ' </p>\n';
  172. tag += ' </div>\n';
  173. tag += ' </div>\n';
  174. tag += ' <div class="info_txt">\n';
  175. tag += ' <ul>\n';
  176. tag += ' <li>일부 상품은 쿠폰 사용이 제한될 수 있습니다.</li>\n';
  177. tag += ' <li>할인대상 및 금액은 상시 변경됩니다.</li>\n';
  178. tag += ' <li>제휴 사이트와 정보연동 시간차이로 판매정보가 불일치할 수 있습니다.</li>\n';
  179. tag += ' <li>본 쿠폰은 제휴 사이트를 통해 들어온 고객님만 발급 및 사용이 가능합니다.</li>\n';
  180. tag += ' </ul>\n';
  181. tag += ' </div>\n';
  182. tag += ' </div>\n';
  183. tag += ' </div>\n';
  184. tag += ' <div class="modal-footer">\n';
  185. tag += ' <button type="button" id="" class="btn btn_primary btn_all_cpdown" onclick="fnEpCoupondown(\''+afLinkCd+'\',\''+goodsCd+'\');" ><span>쿠폰 받기</span></button>\n';
  186. tag += ' </div>\n';
  187. tag += ' </div>\n';
  188. tag += ' </div>\n';
  189. tag += ' <a href="javascript:void(0);" rel="modal:close" onclick="cfCloseLayer(\'epCouponPop\')" class="close-modal">Close</a>\n';
  190. tag += '</div> \n';
  191. $('body').append(tag);
  192. $('#epCouponPop').modal("show");
  193. }
  194. }
  195. });
  196. }
  197. // ep 쿠폰다운로드
  198. var fnEpCoupondown = function(afLinkCd, goodsCd){
  199. if (!cfCheckLogin()) {
  200. cfnGoToPage(_PAGE_LOGIN);
  201. return false;
  202. }
  203. gagajf.ajaxJsonSubmit(_PAGE_GOODS_EP_CPN_DOWNLOAD, JSON.stringify({goodsCd: goodsCd, afLinkCd: afLinkCd}), fnEpCouponDownCallBack);
  204. }
  205. var fnEpCouponDownCallBack = function(){
  206. $('#epCouponPop').find('.close-modal').trigger("click");
  207. }
  208. //****************상품상세 end **********************************
  209. //****************상품리스트 start **********************************
  210. var categoryGoodsList = [];
  211. var cnt = 1;
  212. var email = '';
  213. var fnCreateGoodsList = function(result, ithrCd, contentLoc, goodsUrl, lastPage, endRow, appGb) {
  214. var tag = '';
  215. var rank = 0;
  216. if(lastPage!='1'){
  217. rank = endRow;
  218. }
  219. $.each(result.dataList, function(idx, item) {
  220. if (idx < 3) {
  221. categoryGoodsList.push(item.goodsCd);
  222. }
  223. if(!gagajf.isNull(item.goodsCd)) {
  224. tag += '<div class="item_prod" id="' + item.goodsCd + item.colorCd + '">';
  225. tag += ' <div class="item_state';
  226. if (!gagajf.isNull(item.sizes)) {
  227. var sizeArr = item.sizes.split(",");
  228. let soldOutCnt = 0;
  229. for (let i = 0; i < sizeArr.length; i++) {
  230. var sizeInfo = sizeArr[i].split(":");
  231. var sizeVal = sizeInfo[0];
  232. var soldOutYn = sizeInfo[1];
  233. if (soldOutYn == 'Y') {
  234. soldOutCnt++;
  235. }
  236. }
  237. if (sizeArr.length == soldOutCnt) {
  238. tag += ' soldout';
  239. }
  240. }
  241. tag += '">';
  242. tag += ' <button type="button" class="itemLike';
  243. if (item.likeIt == 'likeit') {
  244. tag += ' likeit';
  245. }
  246. tag += ' "';
  247. if (appGb == 'Mob') {
  248. tag += ' onClick="cfnMoPutWishList(this);" goodsCd=\'' + item.goodsCd + '\', goodsNm=\'' + item.goodsFullNm + '\', ithrCd=\'\', contentsLoc=\'\', planDtlSq=\'\'>관심상품 추가</button>';
  249. } else {
  250. tag += ' onClick="cfnPutWishList(this);" goodsCd=\'' + item.goodsCd + '\', goodsNm=\'' + item.goodsFullNm + '\', ithrCd=\'\', contentsLoc=\'\', planDtlSq=\'\'>관심상품 추가</button>';
  251. }
  252. tag += '<a href="javascript:void(0);" class="itemLink" onclick="fnClickGoodsCd(\'' + item.goodsCd + '\',\'' + item.colorCd + '\');">';
  253. tag += ' <div class="itemPic">';
  254. if (!gagajf.isNull(item.videos)) {
  255. var videoArr = item.videos.split(",");
  256. var videoGb = '';
  257. var videoUrl = '';
  258. for (let i = 0; i < videoArr.length; i++) {
  259. var videoInfo = videoArr[i].split(":");
  260. videoGb = videoInfo[0];
  261. videoUrl = videoInfo[1];
  262. }
  263. if (videoGb == 'Y') {
  264. tag += '<iframe id="pdThumbVideo" class="pd_mov" src="https://www.youtube.com/embed/' + videoUrl + '?autoplay=1&mute=1"></iframe>';
  265. //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>';
  266. } else {
  267. tag += '<iframe id="pdThumbVideo" class="pd_mov video-autoplay" src="' + _kollusMediaUrl + '/' + videoUrl + '?enable_initialize_focus=false&autoplay&mute&controls_activation=none" allow="fullscreen" allowFullScreen></iframe>';
  268. }
  269. }
  270. if(gagajf.isNull(item.sysImgNm2)){
  271. item.sysImgNm2 = item.sysImgNm;
  272. }
  273. // tag += ' <img class=" vLHTC pd_img" src="' + item.sysImgNm + '" data-img="' + item.sysImgNm2 + '" onerror="noneImg(this)">';
  274. var imgUrl = "//image.istyle24.com/Upload/ProductImage/";
  275. tag += ' <img class=" vLHTC pd_img" src="' + goodsUrl + '/' + (item.sysImgNm ? item.sysImgNm.replace(imgUrl,"") : '') + '" data-img="' + goodsUrl + '/' + (item.sysImgNm2 ? item.sysImgNm2.replace(imgUrl,"") : '') + '" onerror="noneImg(this)">';
  276. if (!gagajf.isNull(item.sizes) && item.selfGoodsYn == 'Y') {
  277. var sizeArr = item.sizes.split(",");
  278. var minSize;
  279. var maxSize;
  280. var sizeVal = '';
  281. var soldOutYn = '';
  282. tag += '<div class="itemOpt">';
  283. if (sizeArr.length > 5) {
  284. for (let i = 0; i < sizeArr.length; i++) {
  285. var sizeInfo = sizeArr[i].split(":");
  286. sizeVal = sizeInfo[0];
  287. soldOutYn = sizeInfo[1];
  288. if (i == 0) {
  289. minSize = sizeVal;
  290. } else if (i == sizeArr.length - 1) {
  291. maxSize = sizeVal;
  292. }
  293. }
  294. tag += ' <div class="exc">';
  295. tag += ' <span>' + minSize + '</span> ~ <span>' + maxSize + '</span> 사이즈가 있습니다.';
  296. tag += ' </div>';
  297. } else {
  298. tag += '<ul>';
  299. for (let i = 0; i < sizeArr.length; i++) {
  300. var sizeInfo = sizeArr[i].split(":");
  301. sizeVal = sizeInfo[0];
  302. soldOutYn = sizeInfo[1];
  303. if (soldOutYn == 'N') {
  304. tag += ' <li>' + sizeVal + '</li>';
  305. } else {
  306. tag += ' <li class="none">' + sizeVal + '</li>';
  307. }
  308. }
  309. tag += '</ul>';
  310. }
  311. tag += ' </div>';
  312. }
  313. tag += ' </div>';
  314. tag += ' <p class="itemBrand">' + item.brandGroupNm + '</p>';
  315. if (item.goodsTnm != null && item.goodsTnm != '') {
  316. tag += ' <div class="itemComment">' + item.goodsTnm + '</div>';
  317. }
  318. tag += ' <div class="itemName">' + item.goodsFullNm + '</div>';
  319. if (appGb != 'Mob') {
  320. if(item.goodsType=='G056_D'){
  321. tag += ' <p class="itemPrice">' + item.currPrice.addComma() +'~ ';
  322. }else{
  323. tag += ' <p class="itemPrice">' + item.currPrice.addComma()
  324. }
  325. if (item.currPrice != item.listPrice) {
  326. if (item.listPrice != 0) {
  327. tag += ' <span class="itemPrice_original">' + item.listPrice.addComma() + '</span>';
  328. tag += ' <span class="itemPercent">' + Math.round((item.listPrice - item.currPrice) / (item.listPrice * 1.0) * 100) + '%</span>';
  329. }
  330. }
  331. tag += ' </p>';
  332. } else {
  333. tag += ' <p class="itemPrice">';
  334. if (item.currPrice != item.listPrice) {
  335. if (item.listPrice != 0) {
  336. tag += ' <span class="itemPrice_original">' + item.listPrice.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + '</span>';
  337. }
  338. }
  339. if(item.goodsType=='G056_D'){
  340. tag += item.currPrice.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") +'~ ';
  341. }else{
  342. tag += item.currPrice.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
  343. }
  344. if (item.currPrice != item.listPrice) {
  345. if (item.listPrice != 0) {
  346. tag += ' <span class="itemPercent">' + Math.round((item.listPrice - item.currPrice) / (item.listPrice * 1.0) * 100) + '%</span>';
  347. }
  348. }
  349. tag += ' </p>';
  350. }
  351. tag += ' <div class="itemcolorchip">';
  352. if (!gagajf.isNull(item.colorChips)) {
  353. var colorArr = item.colorChips.split(",");
  354. var colorCd = '';
  355. var rgbColor = '';
  356. for (let i = 0; i < colorArr.length; i++) {
  357. var colorInfo = colorArr[i].split(":");
  358. colorCd = colorInfo[0];
  359. rgbColor = colorInfo[1];
  360. if (rgbColor == '#FFFFFF') {
  361. tag += ' <span class="chip_color" style="background-color: ' + rgbColor + ';border:1px solid #aaa;" value="' + colorCd + '">' + colorCd + '</span>';
  362. } else {
  363. tag += ' <span class="chip_color" style="background-color: ' + rgbColor + '" value="' + colorCd + '">' + colorCd + '</span>';
  364. }
  365. }
  366. }
  367. tag += ' </div>';
  368. if (!gagajf.isNull(item.benefits)) {
  369. var iconArr = item.benefits.split(",");
  370. var iconGb = '';
  371. var iconNm = '';
  372. tag += ' <p class="itemBadge">';
  373. let arrCnt;
  374. if (iconArr.length > 2) {
  375. arrCnt = 3;
  376. } else {
  377. arrCnt = iconArr.length;
  378. }
  379. for (let i = 0; i < arrCnt; i++) {
  380. var iconInfo = iconArr[i].split(":");
  381. iconGb = iconInfo[0];
  382. iconNm = iconInfo[1];
  383. tag += ' <span class="badge13" value="' + iconGb + '">' + iconNm + ' </span>';
  384. }
  385. tag += ' </p>';
  386. }
  387. tag += ' </a>';
  388. tag += ' </div>';
  389. tag += '</div>';
  390. }
  391. });
  392. if (cnt == 1) {
  393. // <!-- Criteo 카테고리/리스팅 태그 -->
  394. window.criteo_q = window.criteo_q || [];
  395. var deviceType = /iPad/.test(navigator.userAgent) ? "t" : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent) ? "m" : "d";
  396. window.criteo_q.push(
  397. {event: "setAccount", account: 6762}, // 이 라인은 업데이트하면 안됩니다
  398. {event: "setEmail", email: criteoEmail}, // 유저가 로그인이 안되 있는 경우 빈 문자열을 전달
  399. {event: "setSiteType", type: deviceType},
  400. {event: "viewList", item: categoryGoodsList} // 가장 위에있는 3개의 상품 ID를 전달
  401. );
  402. // <!-- END 카테고리/리스팅 태그 -->
  403. cnt++;
  404. }
  405. return tag;
  406. }
  407. // 인피니트 스크롤 초기화
  408. var fnCategoryGoodsInfiniteScrollInit = function(){
  409. sessionStorage.removeItem(document.location.href);
  410. //History 초기화
  411. $("#listBox").html("");
  412. }
  413. var filterHtml = '';
  414. var filterStatHtml = '';
  415. // 상품상세 필터 조회
  416. var filterSel = function (obj, gubun, staus, sizeGb){
  417. // fnCategoryGoodsInfiniteScrollInit();
  418. // filterHtml = '';
  419. // filterStatHtml = '';
  420. // console.log('1.filterHtml++'+filterHtml);
  421. // console.log('2.filterStatHtml++'+filterStatHtml);
  422. gagaInfiniteScroll.pageStatus.filterHtml = filterHtml;
  423. gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
  424. let $obj = $(obj);
  425. if(staus=='on'){
  426. filterStatHtml = '';
  427. if(gubun=='size'){
  428. $(obj).attr('onclick','fnResetListIdx();filterSel(this,\''+gubun+'\',\'off\',\''+sizeGb+'\');');
  429. }else{
  430. $(obj).attr('onclick','fnResetListIdx();filterSel(this,\''+gubun+'\',\'off\',\'\');');
  431. }
  432. $("#filterData").find('span').each(function(idx,item) {
  433. if(gubun=='color'){
  434. if($obj.attr('data-id').replace('#','').trim() == $(this).closest("span").attr('id')) {
  435. $(this).closest("span").remove();
  436. }
  437. }else{
  438. if($obj.attr('data-id') == $(this).closest("span").text()) {
  439. $(this).closest("span").remove();
  440. }
  441. }
  442. });
  443. filterStatHtml = $("#filterData").html();
  444. }else{
  445. if(gubun=='size'){
  446. $(obj).attr('onclick','fnResetListIdx();filterSel(this,\''+gubun+'\',\'on\',\''+sizeGb+'\');');
  447. }else{
  448. $(obj).attr('onclick','fnResetListIdx();filterSel(this,\''+gubun+'\',\'on\',\'\');');
  449. }
  450. let tag = '';
  451. if(gubun=='color'){
  452. tag += '<span id="'+$obj.attr('data-id').replace('#','')+'">';
  453. if($obj.attr('data-id')=='#FFFFFF'){
  454. tag += ' <span class="pdColor-color" style="background-color: #'+$obj.attr('data-id')+';border:1px solid #aaa;" value="'+$obj.attr('data-id')+'"></span>';
  455. }else{
  456. tag += ' <span class="pdColor-color" style="background-color: #'+$obj.attr('data-id')+'" value="'+$obj.attr('data-id')+'"></span>';
  457. }
  458. tag += ' <a href="javascript:void(0);" class="filter_delete" onclick="fnDeleteFilter(this,\''+gubun+'\',\'on\');"></a >';
  459. tag += '</span>';
  460. }else{
  461. tag += '<span>'+$obj.attr('data-id');
  462. if(!gagajf.isNull(sizeGb)){
  463. tag += '<a href="javascript:void(0);" class="filter_delete" onclick="fnDeleteFilter(this,\''+gubun+'\',\'on\',\''+sizeGb+'\');"></a >';
  464. }else{
  465. tag += '<a href="javascript:void(0);" class="filter_delete" onclick="fnDeleteFilter(this,\''+gubun+'\',\'on\',\'\');"></a >';
  466. }
  467. tag += '</span>';
  468. }
  469. $("#filterData").append(tag);
  470. filterStatHtml += tag;
  471. }
  472. gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
  473. fnFilterSet(gubun, sizeGb);
  474. }
  475. var fnFilterSet = function (searchId, sizeGb, appGb){
  476. fnCategoryGoodsInfiniteScrollInit();
  477. $("#searchGoodsForm input:hidden[name="+searchId+"Arr]").remove();
  478. var tag = '';
  479. var mobTag = '';
  480. if(searchId=='size'){
  481. $('#filterForm input[name='+searchId+']:checked').each(function(){
  482. tag = '<input type="hidden" name="'+searchId+'Arr" value="'+$(this).attr('data-id')+'"/>\n';
  483. $("#searchGoodsForm").append(tag);
  484. // filterHtml += tag;
  485. });
  486. }else{
  487. $('#filterForm input[name='+searchId+']:checked').each(function(){
  488. tag = '<input type="hidden" name="'+searchId+'Arr" value="'+$(this).val()+'"/>\n';
  489. $("#searchGoodsForm").append(tag);
  490. // filterHtml += tag;
  491. });
  492. if(searchId=='benefit'){
  493. if ($('#newGoods').is(":checked")) {
  494. // tag = '<input type="hidden" name="'+searchId+'Arr" value="40:신상"/>\n';
  495. $("#searchGoodsForm").append(tag);
  496. }
  497. }
  498. }
  499. if(appGb == 'Mob'){
  500. var data = '';
  501. var tag = '';
  502. var filterSet = '';
  503. $('#'+searchId+'FilterDiv').find('.daps1').find('span').html('');
  504. $('#filterForm input[name='+searchId+']:checked').each(function(idx){
  505. if(searchId=='color'){
  506. $('#'+searchId+'FilterDiv').find('.daps1').find('.pic').find('span').html('');
  507. var mobTag = '';
  508. var color = $(this).attr('data-id');
  509. console.log('color::'+$(this).attr('data-id'));
  510. if(color=='FFFFFF'){
  511. mobTag += '<span class="pdColor-color" style="background-color:#'+color+';border:1px solid #aaa;"></span>';
  512. }else{
  513. mobTag += '<span class="pdColor-color" style="background-color:#'+color+'"></span>';
  514. }
  515. $("#"+searchId+"FilterDiv").find('.daps1').find('.pic').append(mobTag);
  516. }else{
  517. $('#'+searchId+'FilterDiv').find('.daps1').find('span').html('');
  518. if(idx>0){
  519. data += ',';
  520. }
  521. data += $(this).attr('data-id');
  522. $("#"+searchId+"FilterDiv").find('.daps1').append('<span class="pic">'+data+'</span>');
  523. }
  524. });
  525. }
  526. fnSetFilterHtml();
  527. // gagaInfiniteScroll.pageStatus.filterHtml = filterHtml;
  528. // gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
  529. fnGoodsListSearch();
  530. }
  531. var fnSetFilterHtml = function (gubun, staus, mobGb){
  532. filterHtml = '';
  533. $('#filterForm input[name=size]:checked').each(function(){
  534. filterHtml += '<input type="hidden" name="sizeArr" value="'+$(this).attr('data-id')+'"/>\n';
  535. });
  536. $('#filterForm input[name=brandGroup]:checked').each(function(){
  537. filterHtml += '<input type="hidden" name="brandGroupArr" value="'+$(this).val()+'"/>\n';
  538. });
  539. $('#filterForm input[name=age]:checked').each(function(){
  540. filterHtml += '<input type="hidden" name="ageArr" value="'+$(this).val()+'"/>\n';
  541. });
  542. $('#filterForm input[name=season]:checked').each(function(){
  543. filterHtml += '<input type="hidden" name="seasonArr" value="'+$(this).val()+'"/>\n';
  544. });
  545. $('#filterForm input[name=color]:checked').each(function(){
  546. filterHtml += '<input type="hidden" name="colorArr" value="'+$(this).val()+'"/>\n';
  547. });
  548. $('#filterForm input[name=benefit]:checked').each(function(){
  549. filterHtml += '<input type="hidden" name="benefitArr" value="'+$(this).val()+'"/>\n';
  550. });
  551. $('#filterForm input[name=price]:checked').each(function(){
  552. filterHtml += '<input type="hidden" name="priceArr" value="'+$(this).val()+'"/>\n';
  553. });
  554. $('#filterForm input[name=dcRate]:checked').each(function(){
  555. filterHtml += '<input type="hidden" name="dcRateArr" value="'+$(this).val()+'"/>\n';
  556. });
  557. let priceVal = '';
  558. if(!gagajf.isNull($("#filterForm input[name=hPriceFrom]").val())){
  559. // filterHtml += '<input type="hidden" name="priceFrom" value="'+$("#filterForm input[name=hPriceFrom]").val()+'"/>\n';
  560. priceVal += $("#filterForm input[name=hPriceFrom]").val().removeComma();
  561. }
  562. if(!gagajf.isNull($("#filterForm input[name=hPriceTo]").val())){
  563. // filterHtml += '<input type="hidden" name="priceTo" value="'+$("#filterForm input[name=hPriceTo]").val()+'"/>\n';
  564. priceVal += ',' + $("#filterForm input[name=hPriceTo]").val().removeComma();
  565. }
  566. filterHtml += '<input type="hidden" name="priceArr" value="'+priceVal+'"/>\n';
  567. let dcRateVal = '';
  568. if(!gagajf.isNull($("#filterForm input[name=hDcRateFrom]").val())){
  569. // filterHtml += '<input type="hidden" name="dcRateFrom" value="'+$("#filterForm input[name=hDcRateFrom]").val()+'"/>\n';
  570. dcRateVal += $("#filterForm input[name=hDcRateFrom]").val();
  571. }
  572. if(!gagajf.isNull($("#filterForm input[name=hDcRateTo]").val())){
  573. // filterHtml += '<input type="hidden" name="dcRateTo" value="'+$("#filterForm input[name=hDcRateTo]").val()+'"/>\n';
  574. dcRateVal += ',' + $("#filterForm input[name=hDcRateTo]").val();
  575. }
  576. filterHtml += '<input type="hidden" name="dcRateArr" value="'+dcRateVal+'"/>\n';
  577. if($('#filterForm').find("input:checkbox[id='unisex']").is(":checked") == true){
  578. filterHtml += '<input type="hidden" name="unisex" value="G007_Z"/>\n';
  579. }
  580. if($('#filterForm').find("input:checkbox[id='newGoods']").is(":checked") == true){
  581. filterHtml += '<input type="hidden" name="newGoods" value="40"/>\n';
  582. }
  583. // console.log('filterHtml>>'+filterHtml);
  584. gagaInfiniteScroll.pageStatus.filterHtml = filterHtml;
  585. }
  586. // 상품상세 필터 삭제
  587. var fnDeleteFilter = function (obj, gubun, staus, sizeGb){
  588. if(gubun=='size'){
  589. $("#"+gubun+"FilterDiv #sizeLi"+sizeGb).each(function(idx,item) {
  590. $('#sizeLi'+sizeGb+' .size_btn').each(function (){
  591. if($(obj).closest("span").text() == $(this).find('input').attr('data-id')){
  592. $(this).find('input').click();
  593. }
  594. });
  595. });
  596. }else{
  597. $("#"+gubun+"FilterDiv > ul > li").each(function(idx,item) {
  598. if(gubun == 'color'){
  599. if($(obj).closest("span").attr('id') == $(this).find('input').attr('data-id').trim()){
  600. $(this).find('input').click();
  601. }
  602. }else{
  603. if($(obj).closest("span").text() == $(this).find('input').attr('data-id')){
  604. $(this).find('input').click();
  605. }
  606. }
  607. });
  608. }
  609. $(obj).closest("span").remove();
  610. fnSetFilterHtml();
  611. }
  612. var fnFilterSliderMove = function (min, max){
  613. var $range = $(".dp .js-range-slider01, .sch_result .js-range-slider01");
  614. var $inputFrom = $("#price_input_from");
  615. var $inputTo = $("#price_input_to");
  616. var instance;
  617. instance = $range.data("ionRangeSlider");
  618. instance.update({
  619. from: min
  620. });
  621. //$inputFrom.val(min);
  622. instance.update({
  623. to: max
  624. });
  625. //$inputTo.prop("value",max);
  626. fnSetFilterHtml();
  627. }
  628. var fnDcRateFilterSliderMove = function (min, max){
  629. var $range = $(".dp .js-range-slider02, .sch_result .js-range-slider02");
  630. var $inputFrom = $("#dcrate_input_from");
  631. var $inputTo = $("#dcrate_input_to");
  632. var instance;
  633. instance = $range.data("ionRangeSlider");
  634. instance.update({
  635. from: min
  636. });
  637. $inputFrom.val(min);
  638. instance.update({
  639. to: max
  640. });
  641. $inputTo.prop("value",max);
  642. fnSetFilterHtml();
  643. }
  644. var fnFilterSlider = function (gubun, min, max){
  645. fnCategoryGoodsInfiniteScrollInit();
  646. let tag = '';
  647. let oriMin = '';
  648. let oriMax = '';
  649. filterHtml = '';
  650. filterStatHtml = '';
  651. filterStatHtml = $("#filterData").html();
  652. // $("#searchGoodsForm").find('input[name=priceFrom]').remove();
  653. // $("#searchGoodsForm").find('input[name=priceTo]').remove();
  654. // $("#searchGoodsForm").find('input[name=dcRateFrom]').remove();
  655. // $("#searchGoodsForm").find('input[name=dcRateTo]').remove();
  656. $("#searchGoodsForm").find('input[name=priceArr]').remove();
  657. $("#searchGoodsForm").find('input[name=dcRateArr]').remove();
  658. if(gubun=='price'){
  659. oriMin = $("#price_input_from").val();
  660. oriMax = $("#price_input_to").val();
  661. }else{
  662. oriMin = $("#dcrate_input_from").val();
  663. oriMax = $("#dcrate_input_to").val();
  664. }
  665. if(gubun=='price'){
  666. if(min!=max){
  667. tag += '<span id="priceSpan">'+ min +'원~'+max+'원';
  668. }else{
  669. tag += '<span id="priceSpan">'+max+'원';
  670. }
  671. $("#filterForm").find('input[name=hPriceFrom]').val(min);
  672. $("#filterForm").find('input[name=hPriceTo]').val(max);
  673. }else{
  674. if(min!=max){
  675. tag += '<span id="dcrateSpan">'+ min +'~'+max+'%';
  676. }else{
  677. tag += '<span id="dcrateSpan">'+max+'%';
  678. }
  679. $("#filterForm").find('input[name=hDcRateFrom]').val(min);
  680. $("#filterForm").find('input[name=hDcRateTo]').val(max);
  681. }
  682. tag += '<a href="javascript:void(0);" class="filter_delete" onclick="fnDeleteFilterSlider(this,\''+gubun+'\', \''+oriMin+'\', \''+oriMax+'\');"></a >';
  683. tag += '</span>';
  684. $("#filterData").append(tag);
  685. filterStatHtml += tag;
  686. var tag2 = '';
  687. if(gubun=='price'){
  688. // tag2 += '<input type="hidden" name="priceFrom" value="'+min.replace(",", "")+'"/>\n';
  689. // tag2 += '<input type="hidden" name="priceTo" value="'+max.replace(",", "")+'"/>\n';
  690. tag2 += '<input type="hidden" name="priceArr" value="'+min.replaceAll(",", "")+','+max.replaceAll(",", "")+'"/>\n';
  691. $("#searchGoodsForm").append(tag2);
  692. // filterHtml += tag2;
  693. // fnCategoryGoodsInfiniteScrollInit();
  694. }else{
  695. // tag2 += '<input type="hidden" name="dcRateFrom" value="'+min+'"/>\n';
  696. // tag2 += '<input type="hidden" name="dcRateTo" value="'+max+'"/>\n';
  697. tag2 += '<input type="hidden" name="dcRateArr" value="'+min+','+max+'"/>\n';
  698. $("#searchGoodsForm").append(tag2);
  699. // fnCategoryGoodsInfiniteScrollInit();
  700. // filterHtml += tag2;
  701. }
  702. gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
  703. fnSetFilterHtml();
  704. fnGoodsListSearch();
  705. }
  706. var fnDeleteFilterSlider = function (obj, gubun, minVal, maxVal){
  707. filterStatHtml = '';
  708. filterStatHtml = $("#filterData").html();
  709. if(gubun=='price'){
  710. // $("#searchGoodsForm").find("input:hidden[name=priceFrom]").remove();
  711. // $("#searchGoodsForm").find("input:hidden[name=priceTo]").remove();
  712. $("#searchGoodsForm").find("input:hidden[name=priceArr]").remove();
  713. var $range = $(".dp .js-range-slider01, .sch_result .js-range-slider01");
  714. var $inputFrom = $("#price_input_from");
  715. var $inputTo = $("#price_input_to");
  716. var instance;
  717. instance = $range.data("ionRangeSlider");
  718. instance.update({
  719. from: 0
  720. });
  721. $inputFrom.val(minVal);
  722. instance.update({
  723. to: 5
  724. });
  725. $inputTo.prop("value",maxVal);
  726. $("#filterForm input:hidden[name=priceArr]").remove();
  727. // $("#filterForm input:hidden[name=priceFrom]").remove();
  728. // $("#filterForm input:hidden[name=priceTo]").remove();
  729. }else{
  730. // $("#searchGoodsForm").find("input:hidden[name=dcRateFrom]").remove();
  731. // $("#searchGoodsForm").find("input:hidden[name=dcRateTo]").remove();
  732. $("#searchGoodsForm").find("input:hidden[name=dcRateArr]").remove();
  733. var $range = $(".dp .js-range-slider02, .sch_result .js-range-slider02");
  734. var $inputFrom = $("#dcrate_input_from");
  735. var $inputTo = $("#dcrate_input_to");
  736. var instance;
  737. instance = $range.data("ionRangeSlider");
  738. instance.update({
  739. from: 0
  740. });
  741. $inputFrom.prop("value",minVal);
  742. instance.update({
  743. to: 10
  744. });
  745. $inputTo.prop("value",maxVal);
  746. $("#searchGoodsForm input:hidden[name=dcRateArr]").remove();
  747. // $("#searchGoodsForm input:hidden[name=dcRateFrom]").remove();
  748. // $("#searchGoodsForm input:hidden[name=dcRateTo]").remove();
  749. }
  750. $(obj).closest("span").remove();
  751. fnSetFilterHtml();
  752. fnCategoryGoodsInfiniteScrollInit();
  753. fnGoodsListSearch();
  754. }
  755. // 정렬 순서
  756. var fnSortingChange = function (obj, sortingType, stat, appGb){
  757. console.log('here sort');
  758. fnCategoryGoodsInfiniteScrollInit();
  759. if(stat != 'back'){
  760. // if($("#searchGoodsForm input[name=sortingType]").val()==sortingType){
  761. // return;
  762. // }
  763. }
  764. if(appGb != 'Mob'){
  765. $("#sortArea").find('li').each(function (){
  766. $(this).find('a').attr('class','off');
  767. });
  768. }else{
  769. $("#sortArea").find('button').each(function (){
  770. $(this).removeClass("on");
  771. });
  772. $("#sorting"+sortingType).addClass("on");
  773. $("#filter").text($("#sorting"+sortingType).find('span').text());
  774. }
  775. $(obj).addClass("on");
  776. if(stat=='back'){
  777. $("#sorting"+sortingType).addClass("on");
  778. }
  779. $("#searchGoodsForm").find("[name=sortingType]").val(sortingType);
  780. $("#searchGoodsForm").find("[name=pageNo]").val(1);
  781. gagaInfiniteScroll.pageStatus.loadPage = 1;
  782. gagaInfiniteScroll.pageStatus.pageNum = [];
  783. gagaInfiniteScroll.pageStatus.sortingType = sortingType;
  784. $('#endPage').hide();
  785. $('#noFilterData').hide();
  786. console.log('here sort2');
  787. fnGoodsListSearch();
  788. }
  789. // 모바일 가격 필터
  790. var filterPriceMob = function (obj, gubun, staus, idx){
  791. if(staus=='on'){
  792. $(obj).attr('onclick','fnResetListIdx();filterPriceMob(this,\''+gubun+'\',\'off\',\''+idx+'\');');
  793. }else{
  794. $(obj).attr('onclick','fnResetListIdx();filterPriceMob(this,\''+gubun+'\',\'on\',\''+idx+'\');');
  795. }
  796. fnFilterSet(gubun, 'price', 'Mob');
  797. }
  798. var filterPriceMobOri = function (obj, gubun, staus, idx){
  799. $("#searchGoodsForm input:hidden[name=priceFrom]").remove();
  800. $("#searchGoodsForm input:hidden[name=priceTo]").remove();
  801. if(staus=='on'){
  802. $(obj).attr('onclick','fnResetListIdx();filterPriceMob(this,\''+gubun+'\',\'off\',\''+idx+'\');');
  803. }else{
  804. $(obj).attr('onclick','fnResetListIdx();filterPriceMob(this,\''+gubun+'\',\'on\',\''+idx+'\');');
  805. }
  806. $('#filterForm input[name=price]').each(function (ind){
  807. $(this).prop("checked",false);
  808. });
  809. let price = $(obj).val().split(",");
  810. let min = price[0];
  811. let max = price[1];
  812. var tag2 = '';
  813. if(staus=='off'){
  814. $("#price"+idx).prop("checked",true);
  815. if(max<1){
  816. tag2 += '<input type="hidden" name="priceFrom" value="'+min.replace(",", "")+'"/>\n';
  817. }else{
  818. tag2 += '<input type="hidden" name="priceFrom" value="'+min.replace(",", "")+'"/>\n';
  819. tag2 += '<input type="hidden" name="priceTo" value="'+max.replace(",", "")+'"/>\n';
  820. }
  821. }else{
  822. $("#searchGoodsForm input:hidden[name=priceFrom]").remove();
  823. $("#searchGoodsForm input:hidden[name=priceTo]").remove();
  824. }
  825. $("#filterForm").find('input[name=hPriceFrom]').val(min);
  826. $("#filterForm").find('input[name=hPriceTo]').val(max);
  827. $('#priceFilterDiv').find('.daps1').find('span').html('');
  828. $('#filterForm input[name=price]:checked').each(function(index){
  829. $("#priceFilterDiv").find('.daps1').append('<span class="pic">'+$("#pricdSpan"+idx).text()+'</span>');
  830. });
  831. $("#searchGoodsForm").append(tag2);
  832. // filterHtml += tag2;
  833. fnCategoryGoodsInfiniteScrollInit();
  834. // gagaInfiniteScroll.pageStatus.filterHtml = filterHtml;
  835. // gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
  836. fnSetFilterHtml('','','Mob');
  837. fnGoodsListSearch();
  838. }
  839. // 모바일 할인 필터
  840. var filterDcRateMob = function (obj, gubun, staus, idx){
  841. if(staus=='on'){
  842. $(obj).attr('onclick','fnResetListIdx();filterDcRateMob(this,\''+gubun+'\',\'off\',\''+idx+'\');');
  843. }else{
  844. $(obj).attr('onclick','fnResetListIdx();filterDcRateMob(this,\''+gubun+'\',\'on\',\''+idx+'\');');
  845. }
  846. fnFilterSet(gubun, 'dcRate', 'Mob');
  847. }
  848. var filterDcRateMobOri = function (obj, gubun, staus, idx){
  849. $("#searchGoodsForm input:hidden[name=dcRateFrom]").remove();
  850. $("#searchGoodsForm input:hidden[name=dcRateTo]").remove();
  851. if(staus=='on'){
  852. $(obj).attr('onclick','fnResetListIdx();filterDcRateMob(this,\''+gubun+'\',\'off\',\''+idx+'\');');
  853. }else{
  854. $(obj).attr('onclick','fnResetListIdx();filterDcRateMob(this,\''+gubun+'\',\'on\',\''+idx+'\');');
  855. }
  856. $('#filterForm input[name=dcRate]').each(function (ind){
  857. $(this).prop("checked",false);
  858. });
  859. let dcRate = $(obj).val().split(",");
  860. let min = dcRate[0];
  861. let max = dcRate[1];
  862. var tag2 = '';
  863. if(staus=='off') {
  864. $("#discount" + idx).prop("checked", true);
  865. if(max<1){
  866. tag2 += '<input type="hidden" name="dcRateFrom" value="'+min.replace(",", "")+'"/>\n';
  867. }else{
  868. tag2 += '<input type="hidden" name="dcRateFrom" value="'+min.replace(",", "")+'"/>\n';
  869. tag2 += '<input type="hidden" name="dcRateTo" value="'+max.replace(",", "")+'"/>\n';
  870. }
  871. }else{
  872. $("#searchGoodsForm input:hidden[name=dcRateFrom]").remove();
  873. $("#searchGoodsForm input:hidden[name=dcRateTo]").remove();
  874. }
  875. $("#filterForm").find('input[name=hDcRateFrom]').val(min);
  876. $("#filterForm").find('input[name=hDcRateTo]').val(max);
  877. $('#dcRateFilterDiv').find('.daps1').find('span').html('');
  878. $('#filterForm input[name=dcRate]:checked').each(function(index){
  879. $("#dcRateFilterDiv").find('.daps1').append('<span class="pic">'+$("#dcRateText"+idx).text()+'</span>');
  880. });
  881. $("#searchGoodsForm").append(tag2);
  882. // filterHtml += tag2;
  883. fnCategoryGoodsInfiniteScrollInit();
  884. // gagaInfiniteScroll.pageStatus.filterHtml = filterHtml;
  885. // gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
  886. fnSetFilterHtml('','','Mob');
  887. fnGoodsListSearch();
  888. }
  889. // 상품상세 필터 조회
  890. var fnSelectFilerMob = function (obj, gubun, staus, sizeGb){
  891. gagaInfiniteScroll.pageStatus.filterHtml = filterHtml;
  892. gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
  893. let $obj = $(obj);
  894. if(staus=='on'){
  895. if(gubun=='size'){
  896. $(obj).attr('onclick','fnResetListIdx();fnSelectFilerMob(this,\''+gubun+'\',\'off\',\''+sizeGb+'\');');
  897. }else{
  898. $(obj).attr('onclick','fnResetListIdx();fnSelectFilerMob(this,\''+gubun+'\',\'off\',\'\');');
  899. }
  900. $("#filterData").find('span').each(function(idx,item) {
  901. if(gubun=='color'){
  902. if($obj.attr('data-id').replace('#','').trim() == $(this).closest("span").attr('id')) {
  903. $(this).closest("span").remove();
  904. }
  905. }else{
  906. if($obj.attr('data-id') == $(this).closest("span").text()) {
  907. $(this).closest("span").remove();
  908. }
  909. }
  910. });
  911. }else{
  912. if(gubun=='size'){
  913. $(obj).attr('onclick','fnResetListIdx();fnSelectFilerMob(this,\''+gubun+'\',\'on\',\''+sizeGb+'\');');
  914. }else{
  915. $(obj).attr('onclick','fnResetListIdx();fnSelectFilerMob(this,\''+gubun+'\',\'on\',\'\');');
  916. }
  917. }
  918. fnFilterSet(gubun, sizeGb, 'Mob');
  919. }
  920. var fnReCheckFilterList = function (){
  921. var searchId = '';
  922. $('#filterForm').find('.allFilter').find('.chkFilter').each(function() {
  923. if(!gagajf.isNull($(this).attr('id'))){
  924. if($(this).attr('id') == 'sizeFilterDiv'){
  925. searchId = 'size';
  926. }else{
  927. searchId = $(this).attr('id').replace('FilterDiv','');
  928. }
  929. }
  930. if(!gagajf.isNull(searchId)){
  931. var data = '';
  932. if(searchId == 'price'){
  933. let priceSpan = '';
  934. $('#searchGoodsForm').find('input[name=priceArr]').each(function (idx){
  935. let formPrice = $(this).val();
  936. $('#filterForm #priceArea').find('li').each(function(index){
  937. let filterPrice = $(this).find('input[name=price]').val();
  938. if(formPrice == filterPrice){
  939. $("#price"+(index+1)).prop('checked',true);
  940. if(idx>0){
  941. priceSpan += ',';
  942. }
  943. priceSpan += $("#pricdSpan"+(index+1)).text();
  944. }
  945. });
  946. });
  947. // $('#filterForm #priceArea').find('li').each(function(index){
  948. // if($(this).find('input[name=price]').prop('checked') == true){
  949. // if(index > 0){
  950. // priceSpan += ',';
  951. // }
  952. // priceSpan += $("#pricdSpan"+(index+1)).text();
  953. // }
  954. // });
  955. $("#priceFilterDiv").find('.daps1').append('<span class="pic">'+priceSpan+'</span>');
  956. }else if(searchId == 'dcRate'){
  957. let dcRateSpan = '';
  958. $('#filterForm #dcRateArea').find('li').each(function(index){
  959. if($(this).find('input[name=dcRate]').prop('checked') == true){
  960. if(index > 1){
  961. dcRateSpan += ',';
  962. }
  963. dcRateSpan += $("#dcRateText"+(index+1)).text();
  964. }
  965. });
  966. $("#dcRateFilterDiv").find('.daps1').append('<span class="pic">'+dcRateSpan+'</span>');
  967. }else{
  968. $('#filterForm input[name='+searchId+']:checked').each(function(idx){
  969. if(searchId=='color'){
  970. $('#'+searchId+'FilterDiv').find('.daps1').find('.pic').find('span').html('');
  971. var mobTag = '';
  972. var color = $(this).attr('data-id');
  973. console.log('color::'+$(this).attr('data-id'));
  974. if(color=='FFFFFF'){
  975. mobTag += '<span class="pdColor-color" style="background-color:#'+color+';border:1px solid #aaa;"></span>';
  976. }else{
  977. mobTag += '<span class="pdColor-color" style="background-color:#'+color+'"></span>';
  978. }
  979. $("#"+searchId+"FilterDiv").find('.daps1').find('.pic').append(mobTag);
  980. }else if(searchId=='brandGroup'){
  981. $('#'+searchId+'FilterDiv').find('.daps1').find('span').html('');
  982. if(idx>0){
  983. data += ',';
  984. }
  985. data += $(this).attr('data-id');
  986. $("#"+searchId+"FilterDiv").find('.daps1').append('<span class="pic">'+data+'</span>');
  987. }else if(searchId=='size'){
  988. $('#'+searchId+'FilterDiv').find('.daps1').find('span').html('');
  989. if(idx>0){
  990. data += ',';
  991. }
  992. data += $(this).attr('data-id');
  993. $("#"+searchId+"FilterDiv").find('.daps1').append('<span class="pic">'+data+'</span>');
  994. }else if(searchId=='season'){
  995. $('#'+searchId+'FilterDiv').find('.daps1').find('span').html('');
  996. if(idx>0){
  997. data += ',';
  998. }
  999. data += $(this).attr('data-id');
  1000. $("#"+searchId+"FilterDiv").find('.daps1').append('<span class="pic">'+data+'</span>');
  1001. }else if(searchId=='benefit'){
  1002. $('#'+searchId+'FilterDiv').find('.daps1').find('span').html('');
  1003. if(idx>0){
  1004. data += ',';
  1005. }
  1006. data += $(this).attr('data-id');
  1007. $("#"+searchId+"FilterDiv").find('.daps1').append('<span class="pic">'+data+'</span>');
  1008. }else{
  1009. $('#'+searchId+'FilterDiv').find('.daps1').find('span').html('');
  1010. if(idx>0){
  1011. data += ',';
  1012. }
  1013. data += $(this).attr('data-id');
  1014. $("#"+searchId+"FilterDiv").find('.daps1').append('<span class="pic">'+data+'</span>');
  1015. }
  1016. });
  1017. }
  1018. }
  1019. });
  1020. }
  1021. /*window.addEventListener('beforeunload', (event) => {
  1022. console.log('addEventListener-1');
  1023. // 표준에 따라 기본 동작 방지
  1024. event.preventDefault();
  1025. // Chrome에서는 returnValue 설정이 필요함
  1026. // event.returnValue = '';
  1027. console.log('addEventListener-2');
  1028. let scrollTop = document.documentElement.scrollTop;
  1029. console.log('addEventListener->'+scrollTop);
  1030. gagaInfiniteScroll.pageStatus.backScroll = scrollTop;
  1031. });*/
  1032. var fnClickGoodsCd = function (goodsCd, mainColorCd){
  1033. // let scrollTop = document.documentElement.scrollTop;
  1034. // gagaInfiniteScroll.pageStatus.backScroll = scrollTop;
  1035. let scrollpos = $(window).scrollTop();
  1036. localStorage.setItem('scrollpos', scrollpos);
  1037. gagajf.setCookie("scrollpos", scrollpos);
  1038. // fnPushHistory();
  1039. cfnGoToGoodsDetail(goodsCd, mainColorCd);
  1040. }
  1041. var fnPushHistory = function(){
  1042. gagaInfiniteScroll.pushHistory(
  1043. gagaInfiniteScroll.pageStatus.nowPage
  1044. , $(window).scrollTop()
  1045. , $('#container').height()
  1046. , gagaInfiniteScroll.pageStatus.loadPage
  1047. , 0
  1048. , gagaInfiniteScroll.obj.$ajaxBox.html()
  1049. , gagaInfiniteScroll.pageStatus.backScroll
  1050. );
  1051. }
  1052. // 필터 초기화
  1053. var fnFilterReset = function (){
  1054. //document.location.href = currUrl;
  1055. $("#searchGoodsForm input:hidden[name=brandGroupArr]").remove();
  1056. $("#searchGoodsForm input:hidden[name=sizeArr]").remove();
  1057. // $("#searchGoodsForm input:hidden[name=dcRateFrom]").remove();
  1058. // $("#searchGoodsForm input:hidden[name=dcRateTo]").remove();
  1059. // $("#searchGoodsForm input:hidden[name=priceFrom]").remove();
  1060. // $("#searchGoodsForm input:hidden[name=priceTo]").remove();
  1061. $("#searchGoodsForm input:hidden[name=priceArr]").remove();
  1062. $("#searchGoodsForm input:hidden[name=dcRateArr]").remove();
  1063. $("#searchGoodsForm input:hidden[name=ageArr]").remove();
  1064. $("#searchGoodsForm input:hidden[name=seasonArr]").remove();
  1065. $("#searchGoodsForm input:hidden[name=colorArr]").remove();
  1066. $("#searchGoodsForm input:hidden[name=benefitArr]").remove();
  1067. $("#searchGoodsForm input:hidden[name=newGoods]").val('');
  1068. $("#unisex").prop('checked',false);
  1069. $("#unisex").attr('onclick','fnResetListIdx();fnFilterOption(this,\'on\');');
  1070. $("#searchGoodsForm input:hidden[name=unisex]").remove();
  1071. $("#newGoods").prop('checked',false);
  1072. $("#newGoods").attr('onclick','fnResetListIdx();fnFilterOption(this,\'on\');');
  1073. // $("#searchGoodsForm input:hidden[name=newGoods]").val('40');
  1074. fnFilterSliderMove(0,5);
  1075. fnDcRateFilterSliderMove(0,10);
  1076. $('.filter_content .sort').find('input[type=checkbox]').each(function (idx){
  1077. $(this).prop('checked',false);
  1078. });
  1079. gagaInfiniteScroll.pageStatus.filterHtml = '';
  1080. gagaInfiniteScroll.pageStatus.filterStatHtml = '';
  1081. $("#filterData").html('');
  1082. fnCategoryGoodsInfiniteScrollInit();
  1083. fnGoodsListSearch();
  1084. }
  1085. // 필터 초기화
  1086. var fnMobFilterReset = function (){
  1087. $(".list_defult").hide();
  1088. $("#searchGoodsForm input:hidden[name=brandGroupArr]").remove();
  1089. $("#searchGoodsForm input:hidden[name=sizeArr]").remove();
  1090. $("#searchGoodsForm input:hidden[name=dcRateFrom]").remove();
  1091. $("#searchGoodsForm input:hidden[name=dcRateTo]").remove();
  1092. $("#searchGoodsForm input:hidden[name=priceFrom]").remove();
  1093. $("#searchGoodsForm input:hidden[name=priceTo]").remove();
  1094. $("#searchGoodsForm input:hidden[name=ageArr]").remove();
  1095. $("#searchGoodsForm input:hidden[name=seasonArr]").remove();
  1096. $("#searchGoodsForm input:hidden[name=colorArr]").remove();
  1097. $("#searchGoodsForm input:hidden[name=benefitArr]").remove();
  1098. $("#searchGoodsForm input:hidden[name=newGoods]").val('');
  1099. $("#unisex").prop('checked',false);
  1100. $("#unisex").attr('onclick','fnResetListIdx();fnFilterOption(this,\'on\');');
  1101. $("#searchGoodsForm input:hidden[name=unisex]").remove();
  1102. $("#newGoods").prop('checked',false);
  1103. $("#newGoods").attr('onclick','fnResetListIdx();fnFilterOption(this,\'on\');');
  1104. $('.allFilter .chkFilter').find('input[type=checkbox]').each(function (idx){
  1105. $(this).prop('checked',false);
  1106. });
  1107. $('.allFilter .chkFilter .daps1').find('span').each(function (idx){
  1108. $(this).remove();
  1109. });
  1110. gagaInfiniteScroll.pageStatus.filterHtml = '';
  1111. gagaInfiniteScroll.pageStatus.filterStatHtml = '';
  1112. fnCategoryGoodsInfiniteScrollInit();
  1113. fnGoodsListSearch();
  1114. }
  1115. //****************상품리스트 end **********************************