search.js 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825
  1. //**************** 검색 상품리스트 start **********************************
  2. var categoryGoodsList = [];
  3. var cnt = 1;
  4. var email = '';
  5. var fnCreateGoodsList = function(result, ithrCd, contentLoc, goodsUrl, lastPage, endRow, appGb) {
  6. console.log('search fnCreateGoodsList');
  7. var tag = '';
  8. var rank = 0;
  9. if(lastPage!='1'){
  10. rank = endRow;
  11. }
  12. $.each(result.dataList, function(idx, item) {
  13. // if (idx < 4) {
  14. // categoryGoodsList.push(item.goodsCd);
  15. // }
  16. if(!gagajf.isNull(item.goodsCd)){
  17. tag += '<div class="item_prod" >';
  18. tag += ' <div class="item_state';
  19. if(!gagajf.isNull(item.sizes)){
  20. var sizeArr = item.sizes.split(",");
  21. let soldOutCnt = 0;
  22. for(let i=0; i<sizeArr.length; i++){
  23. var sizeInfo = sizeArr[i].split(":");
  24. var sizeVal = sizeInfo[0];
  25. var soldOutYn = sizeInfo[1];
  26. if(soldOutYn=='Y'){
  27. soldOutCnt++;
  28. }
  29. }
  30. if(sizeArr.length==soldOutCnt){
  31. tag += ' soldout';
  32. }
  33. }
  34. tag += '">';
  35. tag += ' <button type="button" class="itemLike';
  36. if(item.likeIt == 'likeit'){
  37. tag += ' likeit';
  38. }
  39. tag += ' "';
  40. if(appGb == 'Mob'){
  41. tag += ' onClick="cfnMoPutWishList(this);" goodsCd=\''+item.goodsCd+'\', ithrCd=\'\', contentsLoc=\'\', planDtlSq=\'\'>관심상품 추가</button>';
  42. }else{
  43. tag += ' onClick="cfnPutWishList(this);" goodsCd=\''+item.goodsCd+'\', ithrCd=\'\', contentsLoc=\'\', planDtlSq=\'\'>관심상품 추가</button>';
  44. }
  45. tag += '<a href="javascript:void(0);" class="itemLink" onclick="fnClickGoodsCd(\''+item.goodsCd+'\',\'\');">';
  46. tag += ' <div class="itemPic">';
  47. if(!gagajf.isNull(item.videos)){
  48. var videoArr = item.videos.split(",");
  49. var videoGb = '';
  50. var videoUrl = '';
  51. for(let i=0; i<videoArr.length; i++){
  52. var videoInfo = videoArr[i].split(":");
  53. videoGb = videoInfo[0];
  54. videoUrl = videoInfo[1];
  55. }
  56. if(videoGb=='Y'){
  57. tag += '<iframe id="pdThumbVideo" class="pd_mov" src="https://www.youtube.com/embed/'+videoUrl+'?autoplay=1&mute=1"></iframe>';
  58. //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>';
  59. }else{
  60. tag += '<iframe id="pdThumbVideo" class="pd_mov" src="'+_kollusMediaUrl+'/'+videoUrl+'?enable_initialize_focus=false&autoplay&mute&controls_activation=none" allow="fullscreen" allowFullScreen></iframe>';
  61. }
  62. }
  63. tag += ' <img class=" vLHTC pd_img" src="'+item.sysImgNm+'" data-img="'+item.sysImgNm2+'" onerror="noneImg(this)">';
  64. if(!gagajf.isNull(item.sizes) && item.selfGoodsYn=='Y'){
  65. var sizeArr = item.sizes.split(",");
  66. var minSize;
  67. var maxSize;
  68. var sizeVal = '';
  69. var soldOutYn = '';
  70. tag +='<div class="itemOpt">';
  71. if(sizeArr.length>5){
  72. for(let i=0; i<sizeArr.length; i++){
  73. var sizeInfo = sizeArr[i].split(":");
  74. sizeVal = sizeInfo[0];
  75. soldOutYn = sizeInfo[1];
  76. if(i==0){
  77. minSize = sizeVal;
  78. }else if(i==sizeArr.length-1){
  79. maxSize = sizeVal;
  80. }
  81. }
  82. tag +=' <div class="exc">';
  83. tag +=' <span>'+minSize+'</span> ~ <span>'+maxSize+'</span> 사이즈가 있습니다.';
  84. tag +=' </div>';
  85. }else{
  86. tag += '<ul>';
  87. for(let i=0; i<sizeArr.length; i++){
  88. var sizeInfo = sizeArr[i].split(":");
  89. sizeVal = sizeInfo[0];
  90. soldOutYn = sizeInfo[1];
  91. if(soldOutYn=='N'){
  92. tag +=' <li>'+sizeVal+'</li>';
  93. }else{
  94. tag +=' <li class="none">'+sizeVal+'</li>';
  95. }
  96. }
  97. tag += '</ul>';
  98. }
  99. tag += ' </div>';
  100. }
  101. tag += ' </div>';
  102. tag += ' <p class="itemBrand">'+item.brandGroupNm+'</p>';
  103. tag += ' <div class="itemName">'+item.goodsFullNm+'</div>';
  104. if(item.goodsTnm != null){
  105. tag += ' <div class="itemComment">'+item.goodsTnm+'</div>';
  106. }
  107. if(appGb != 'Mob'){
  108. tag += ' <p class="itemPrice">'+item.currPrice.addComma()
  109. tag += ' <span class="itemPrice_original">'+item.listPrice.addComma()+'</span>';
  110. if(item.currPrice != item.listPrice){
  111. if(item.listPrice != 0){
  112. tag += ' <span class="itemPercent">'+ Math.round((item.listPrice - item.currPrice) / (item.listPrice * 1.0) * 100) +'%</span>';
  113. }
  114. }
  115. tag += ' </p>';
  116. }else{
  117. tag += ' <p class="itemPrice">';
  118. if(item.currPrice != item.listPrice) {
  119. tag += ' <span class="itemPrice_original">' + item.listPrice.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + '</span>';
  120. }
  121. tag += item.currPrice.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
  122. if(item.currPrice != item.listPrice){
  123. if(item.listPrice != 0){
  124. tag += ' <span class="itemPercent">'+ Math.round((item.listPrice - item.currPrice) / (item.listPrice * 1.0) * 100) +'%</span>';
  125. }
  126. }
  127. tag += ' </p>';
  128. }
  129. tag += ' <div class="itemcolorchip">';
  130. if(!gagajf.isNull(item.colorChips)){
  131. var colorArr = item.colorChips.split(",");
  132. var colorCd = '';
  133. var rgbColor = '';
  134. for(let i=0; i<colorArr.length; i++){
  135. var colorInfo = colorArr[i].split(":");
  136. colorCd = colorInfo[0];
  137. rgbColor = colorInfo[1];
  138. if(rgbColor=='#FFFFFF'){
  139. tag += ' <span class="chip_color" style="background-color: '+rgbColor+';border:1px solid #aaa;" value="'+colorCd+'">'+colorCd+'</span>';
  140. }else{
  141. tag += ' <span class="chip_color" style="background-color: '+rgbColor+'" value="'+colorCd+'">'+colorCd+'</span>';
  142. }
  143. }
  144. }
  145. tag += ' </div>';
  146. if(!gagajf.isNull(item.benefits)){
  147. var iconArr = item.benefits.split(",");
  148. var iconGb = '';
  149. var iconNm = '';
  150. tag += ' <p class="itemBadge">';
  151. let arrCnt;
  152. if(iconArr.length > 2){
  153. arrCnt = 3;
  154. }else{
  155. arrCnt = iconArr.length;
  156. }
  157. for(let i=0; i<arrCnt; i++){
  158. var iconInfo = iconArr[i].split(":");
  159. iconGb = iconInfo[0];
  160. iconNm = iconInfo[1];
  161. tag += ' <span class="badge13" value="'+iconGb+'">'+iconNm+' </span>';
  162. }
  163. tag += ' </p>';
  164. }
  165. tag += ' </a>';
  166. tag += ' </div>';
  167. tag += '</div>';
  168. }
  169. });
  170. return tag;
  171. }
  172. // 인피니트 스크롤 초기화
  173. var fnCategoryGoodsInfiniteScrollInit = function(){
  174. sessionStorage.removeItem(document.location.href);
  175. //History 초기화
  176. $("#listBox").html("");
  177. }
  178. var filterHtml = '';
  179. var filterStatHtml = '';
  180. // 공용,신상 조건
  181. var fnFilterOption = function (obj, stat){
  182. var thisId = $(obj).attr('id');
  183. var tag = '';
  184. if(thisId == 'unisex'){
  185. if(stat=='on'){
  186. $(obj).attr('onclick','fnFilterOption(this,\'off\');');
  187. tag += '<input type="hidden" name="unisex" value="G007_Z"/>\n';
  188. $("#searchGoodsForm").append(tag);
  189. }else{
  190. $(obj).attr('onclick','fnFilterOption(this,\'on\');');
  191. $("#searchGoodsForm input:hidden[name=unisex]").remove();
  192. }
  193. }else{
  194. if(stat=='on'){
  195. $(obj).attr('onclick','fnFilterOption(this,\'off\');');
  196. tag += '<input type="hidden" name="newGoods" value="40"/>\n';
  197. $("#searchGoodsForm").append(tag);
  198. }else{
  199. $(obj).attr('onclick','fnFilterOption(this,\'on\');');
  200. $("#searchGoodsForm input:hidden[name=newGoods]").remove();
  201. }
  202. }
  203. fnCategoryGoodsInfiniteScrollInit();
  204. fnSearchGoodsListSearch();
  205. }
  206. // 상품상세 필터 조회
  207. var filterSel = function (obj, gubun, staus, sizeGb){
  208. gagaInfiniteScroll.pageStatus.filterHtml = filterHtml;
  209. gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
  210. let $obj = $(obj);
  211. if(staus=='on'){
  212. filterStatHtml = '';
  213. if(gubun=='size'){
  214. $(obj).attr('onclick','filterSel(this,\''+gubun+'\',\'off\',\''+sizeGb+'\');');
  215. }else{
  216. $(obj).attr('onclick','filterSel(this,\''+gubun+'\',\'off\',\'\');');
  217. }
  218. $("#filterData").find('span').each(function(idx,item) {
  219. if(gubun=='color'){
  220. if($obj.attr('data-id').replace('#','').trim() == $(this).closest("span").attr('id')) {
  221. $(this).closest("span").remove();
  222. }
  223. }else{
  224. if($obj.attr('data-id') == $(this).closest("span").text()) {
  225. $(this).closest("span").remove();
  226. }
  227. }
  228. });
  229. filterStatHtml = $("#filterData").html();
  230. }else{
  231. if(gubun=='size'){
  232. $(obj).attr('onclick','filterSel(this,\''+gubun+'\',\'on\',\''+sizeGb+'\');');
  233. }else{
  234. $(obj).attr('onclick','filterSel(this,\''+gubun+'\',\'on\',\'\');');
  235. }
  236. let tag = '';
  237. if(gubun=='color'){
  238. tag += '<span id="'+$obj.attr('data-id').replace('#','')+'">';
  239. if($obj.attr('data-id')=='#FFFFFF'){
  240. tag += ' <span class="pdColor-color" style="background-color: #'+$obj.attr('data-id')+';border:1px solid #aaa;" value="'+$obj.attr('data-id')+'"></span>';
  241. }else{
  242. tag += ' <span class="pdColor-color" style="background-color: #'+$obj.attr('data-id')+'" value="'+$obj.attr('data-id')+'"></span>';
  243. }
  244. tag += ' <a href="javascript:void(0);" class="filter_delete" onclick="fnDeleteFilter(this,\''+gubun+'\',\'on\');"></a >';
  245. tag += '</span>';
  246. }else{
  247. tag += '<span>'+$obj.attr('data-id');
  248. if(!gagajf.isNull(sizeGb)){
  249. tag += '<a href="javascript:void(0);" class="filter_delete" onclick="fnDeleteFilter(this,\''+gubun+'\',\'on\',\''+sizeGb+'\');"></a >';
  250. }else{
  251. tag += '<a href="javascript:void(0);" class="filter_delete" onclick="fnDeleteFilter(this,\''+gubun+'\',\'on\',\'\');"></a >';
  252. }
  253. tag += '</span>';
  254. }
  255. $("#filterData").append(tag);
  256. filterStatHtml += tag;
  257. }
  258. gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
  259. fnFilterSet(gubun, sizeGb);
  260. }
  261. var fnFilterSet = function (searchId, sizeGb, appGb){
  262. fnCategoryGoodsInfiniteScrollInit();
  263. $("#searchGoodsForm input:hidden[name="+searchId+"Arr]").remove();
  264. var tag = '';
  265. var mobTag = '';
  266. if(searchId=='size'){
  267. $('#filterForm input[name='+searchId+']:checked').each(function(){
  268. tag = '<input type="hidden" name="'+searchId+'Arr" value="'+$(this).attr('data-id')+'"/>\n';
  269. $("#searchGoodsForm").append(tag);
  270. });
  271. }else{
  272. $('#filterForm input[name='+searchId+']:checked').each(function(){
  273. tag = '<input type="hidden" name="'+searchId+'Arr" value="'+$(this).val()+'"/>\n';
  274. $("#searchGoodsForm").append(tag);
  275. });
  276. }
  277. if(appGb == 'Mob'){
  278. var data = '';
  279. var tag = '';
  280. var filterSet = '';
  281. $('#'+searchId+'FilterDiv').find('.daps1').find('span').html('');
  282. $('#filterForm input[name='+searchId+']:checked').each(function(idx){
  283. if(searchId=='color'){
  284. $('#'+searchId+'FilterDiv').find('.daps1').find('.pic').find('span').html('');
  285. var mobTag = '';
  286. var color = $(this).attr('data-id');
  287. if(color=='FFFFFF'){
  288. mobTag += '<span class="pdColor-color" style="background-color:#'+color+';border:1px solid #aaa;"></span>';
  289. }else{
  290. mobTag += '<span class="pdColor-color" style="background-color:#'+color+'"></span>';
  291. }
  292. $("#"+searchId+"FilterDiv").find('.daps1').find('.pic').append(mobTag);
  293. }else{
  294. $('#'+searchId+'FilterDiv').find('.daps1').find('span').html('');
  295. if(idx>0){
  296. data += ',';
  297. }
  298. data += $(this).attr('data-id');
  299. $("#"+searchId+"FilterDiv").find('.daps1').append('<span class="pic">'+data+'</span>');
  300. }
  301. });
  302. }
  303. fnSetFilterHtml();
  304. fnSearchGoodsListSearch();
  305. }
  306. var fnSetFilterHtml = function (gubun, staus, mobGb){
  307. filterHtml = '';
  308. $('#filterForm input[name=size]:checked').each(function(){
  309. filterHtml += '<input type="hidden" name="sizeArr" value="'+$(this).attr('data-id')+'"/>\n';
  310. });
  311. $('#filterForm input[name=brandGroup]:checked').each(function(){
  312. filterHtml += '<input type="hidden" name="brandGroupArr" value="'+$(this).val()+'"/>\n';
  313. });
  314. $('#filterForm input[name=age]:checked').each(function(){
  315. filterHtml += '<input type="hidden" name="ageArr" value="'+$(this).val()+'"/>\n';
  316. });
  317. $('#filterForm input[name=season]:checked').each(function(){
  318. filterHtml += '<input type="hidden" name="seasonArr" value="'+$(this).val()+'"/>\n';
  319. });
  320. $('#filterForm input[name=color]:checked').each(function(){
  321. filterHtml += '<input type="hidden" name="colorArr" value="'+$(this).val()+'"/>\n';
  322. });
  323. $('#filterForm input[name=benefit]:checked').each(function(){
  324. filterHtml += '<input type="hidden" name="benefitArr" value="'+$(this).val()+'"/>\n';
  325. });
  326. $('#filterForm input[name=price]:checked').each(function(){
  327. filterHtml += '<input type="hidden" name="priceArr" value="'+$(this).val()+'"/>\n';
  328. });
  329. $('#filterForm input[name=dcRate]:checked').each(function(){
  330. filterHtml += '<input type="hidden" name="dcRateArr" value="'+$(this).val()+'"/>\n';
  331. });
  332. if(!gagajf.isNull($("#filterForm input[name=hPriceFrom]").val())){
  333. filterHtml += '<input type="hidden" name="priceFrom" value="'+$("#filterForm input[name=hPriceFrom]").val()+'"/>\n';
  334. }
  335. if(!gagajf.isNull($("#filterForm input[name=hPriceTo]").val())){
  336. filterHtml += '<input type="hidden" name="priceTo" value="'+$("#filterForm input[name=hPriceTo]").val()+'"/>\n';
  337. }
  338. if(!gagajf.isNull($("#filterForm input[name=hDcRateFrom]").val())){
  339. filterHtml += '<input type="hidden" name="dcRateFrom" value="'+$("#filterForm input[name=hDcRateFrom]").val()+'"/>\n';
  340. }
  341. if(!gagajf.isNull($("#filterForm input[name=hDcRateTo]").val())){
  342. filterHtml += '<input type="hidden" name="dcRateTo" value="'+$("#filterForm input[name=hDcRateTo]").val()+'"/>\n';
  343. }
  344. if(!gagajf.isNull($("#searchGoodsForm").find('input[name=cate1No]').val())){
  345. filterHtml += '<input type="hidden" name="cate1No" value="'+$("#searchGoodsForm").find('input[name=cate1No]').val()+'"/>\n';
  346. }
  347. if(!gagajf.isNull($("#searchGoodsForm").find('input[name=cate2No]').val())){
  348. filterHtml += '<input type="hidden" name="cate1No" value="'+$("#searchGoodsForm").find('input[name=cate2No]').val()+'"/>\n';
  349. }
  350. if(!gagajf.isNull($("#searchGoodsForm").find('input[name=cate3No]').val())){
  351. filterHtml += '<input type="hidden" name="cate1No" value="'+$("#searchGoodsForm").find('input[name=cate3No]').val()+'"/>\n';
  352. }
  353. if(!gagajf.isNull($("#searchGoodsForm").find('input[name=cate4No]').val())){
  354. filterHtml += '<input type="hidden" name="cate1No" value="'+$("#searchGoodsForm").find('input[name=cate4No]').val()+'"/>\n';
  355. }
  356. if(!gagajf.isNull($("#searchGoodsForm").find('input[name=cate5No]').val())){
  357. filterHtml += '<input type="hidden" name="cate1No" value="'+$("#searchGoodsForm").find('input[name=cate5No]').val()+'"/>\n';
  358. }
  359. gagaInfiniteScroll.pageStatus.filterHtml = filterHtml;
  360. }
  361. // 상품상세 필터 삭제
  362. var fnDeleteFilter = function (obj, gubun, staus, sizeGb){
  363. if(gubun=='size'){
  364. $("#"+gubun+"FilterDiv #sizeLi"+sizeGb).each(function(idx,item) {
  365. $('#sizeLi'+sizeGb+' .size_btn').each(function (){
  366. if($(obj).closest("span").text() == $(this).find('input').attr('data-id')){
  367. $(this).find('input').click();
  368. }
  369. });
  370. });
  371. }else{
  372. $("#"+gubun+"FilterDiv > ul > li").each(function(idx,item) {
  373. if(gubun == 'color'){
  374. if($(obj).closest("span").attr('id') == $(this).find('input').attr('data-id').trim()){
  375. $(this).find('input').click();
  376. }
  377. }else{
  378. if($(obj).closest("span").text() == $(this).find('input').attr('data-id')){
  379. $(this).find('input').click();
  380. }
  381. }
  382. });
  383. }
  384. $(obj).closest("span").remove();
  385. }
  386. // 정렬 순서
  387. var fnSortingChange = function (obj, sortingType, stat, appGb){
  388. fnCategoryGoodsInfiniteScrollInit();
  389. if(stat != 'back'){
  390. if($("#searchGoodsForm input[name=sortingType]").val()==sortingType){
  391. return;
  392. }
  393. }
  394. if(appGb != 'Mob'){
  395. $("#sortArea").find('li').each(function (){
  396. $(this).find('a').attr('class','off');
  397. });
  398. }else{
  399. $("#sortArea").find('button').each(function (){
  400. $(this).removeClass("on");
  401. });
  402. $("#sorting"+sortingType).addClass("on");
  403. $("#filter").text($("#sorting"+sortingType).find('span').text());
  404. }
  405. $(obj).addClass("on");
  406. if(stat=='back'){
  407. $("#sorting"+sortingType).addClass("on");
  408. }
  409. $("#searchGoodsForm").find("[name=sortingType]").val(sortingType);
  410. $("#searchGoodsForm").find("[name=pageNo]").val(1);
  411. gagaInfiniteScroll.pageStatus.loadPage = 1;
  412. gagaInfiniteScroll.pageStatus.pageNum = [];
  413. gagaInfiniteScroll.pageStatus.sortingType = sortingType;
  414. $('#endPage').hide();
  415. $('#noFilterData').hide();
  416. fnSearchGoodsListSearch();
  417. }
  418. // 상품상세
  419. var fnClickGoodsCd = function (goodsCd, mainColorCd){
  420. let scrollpos = $(window).scrollTop();
  421. localStorage.setItem('scrollpos', scrollpos);
  422. cfnGoToGoodsDetail(goodsCd, mainColorCd);
  423. }
  424. // 카테고리 set test
  425. var fnSetSearchCate = function (obj, status, cate1No, cate2No, cate3No, cate4No, cate5No){
  426. $('.fillter').show();
  427. $("#categorySpan").remove();
  428. gagaInfiniteScroll.pageStatus.filterHtml = filterHtml;
  429. gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
  430. $("#ulAllCate").find('li > a').each(function (){
  431. $(this).parent().find('li').removeClass("on");
  432. $(this).removeClass("on");
  433. $(this).attr('onclick','fnSetSearchCate(this, \'off\','+$(this).attr('data1')+','+$(this).attr('data2')+','+$(this).attr('data3')+','+$(this).attr('data4')+','+$(this).attr('data5')+');');
  434. });
  435. if(status=='on'){
  436. // 필터 제거
  437. filterStatHtml = '';
  438. if($(obj).attr('data-depth') > 1){
  439. $(obj).attr('onclick','fnSetSearchCate(this, \'off\','+$(obj).attr('data1')+','+$(obj).attr('data2')+','+$(obj).attr('data3')+','+$(obj).attr('data4')+','+$(obj).attr('data5')+');');
  440. $(obj).removeClass("on");
  441. $(obj).click();
  442. gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
  443. filterStatHtml = $("#filterData").html();
  444. // 상위카테고리 선택
  445. // let dep = $(obj).attr('data-depth') - 1;
  446. // if(dep>1){
  447. // $(obj).parent().parent().parent().parent().find('[data-depth='+dep+']').click();
  448. // }else{
  449. // $(obj).parent().parent().parent().parent().find('[data-depth='+dep+']').click();
  450. // $(obj).parent().parent().parent().parent().find('[data-depth='+dep+']').parent().find('.sub_cate').css('display','block');
  451. // }
  452. // gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
  453. // filterStatHtml = $("#filterData").html();
  454. }else{
  455. gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
  456. filterStatHtml = $("#filterData").html();
  457. fnSetCateFilter('', '', '', '', '');
  458. }
  459. }else{
  460. if($(obj).attr('data-depth')==1){
  461. $("#ulAllCate").find('li > a').each(function (){
  462. $(this).parent().find('li').removeClass("on");
  463. $(this).removeClass("on");
  464. $(this).attr('onclick','fnSetSearchCate(this, \'off\','+$(this).attr('data1')+','+$(this).attr('data2')+','+$(this).attr('data3')+','+$(this).attr('data4')+','+$(this).attr('data5')+');');
  465. });
  466. $("#ulAllCate").find('li').each(function (){
  467. $(this).find('.sub_cate').css('display','none');
  468. });
  469. $(obj).attr('onclick','fnSetSearchCate(this, \'off\','+$(obj).attr('data1')+','+$(obj).attr('data2')+','+$(obj).attr('data3')+','+$(obj).attr('data4')+','+$(obj).attr('data5')+');');
  470. $(obj).addClass("on");
  471. }else{
  472. $(obj).attr('onclick','fnSetSearchCate(this, \'on\','+$(obj).attr('data1')+','+$(obj).attr('data2')+','+$(obj).attr('data3')+','+$(obj).attr('data4')+','+$(obj).attr('data5')+');');
  473. $(obj).addClass("on");
  474. }
  475. let tag = '';
  476. let cateNm = '';
  477. tag += '<span id="categorySpan">\n';
  478. if(!gagajf.isNull(cate1No)){
  479. cateFullNm = $(obj).attr("cateFullNm");
  480. cateNm = cateFullNm;
  481. }
  482. if(!gagajf.isNull(cate2No)){
  483. cateFullNm = $(obj).attr("cateFullNm");
  484. cateNm = cateFullNm;
  485. }
  486. if(!gagajf.isNull(cate3No)){
  487. cateFullNm = $(obj).attr("cateFullNm");
  488. cateNm = cateFullNm;
  489. }
  490. if(!gagajf.isNull(cate4No)){
  491. cateFullNm = $(obj).attr("cateFullNm");
  492. cateNm = cateFullNm;
  493. }
  494. tag += cateNm;
  495. tag += '<a href="javascript:void(0);" class="filter_delete" onclick="fnDeleteCategoryFilter(this);"></a>\n';
  496. tag += '</span>\n';
  497. $("#filterData").append(tag);
  498. filterStatHtml += tag;
  499. gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
  500. fnSetCateFilter(cate1No, cate2No, cate3No, cate4No, cate5No);
  501. }
  502. }
  503. var fnDeleteCategoryFilter = function (obj){
  504. filterStatHtml = '';
  505. filterStatHtml = $("#filterData").html();
  506. $("#ulAllCate").find('li > a').each(function (){
  507. $(this).removeClass("on");
  508. $(this).parent().removeClass("on");
  509. $(this).parent().find('.sub_cate').css('display','none');
  510. });
  511. $("#searchGoodsForm input:hidden[name=cate1No]").remove();
  512. $("#searchGoodsForm input:hidden[name=cate2No]").remove();
  513. $("#searchGoodsForm input:hidden[name=cate3No]").remove();
  514. $("#searchGoodsForm input:hidden[name=cate4No]").remove();
  515. $("#searchGoodsForm input:hidden[name=cate5No]").remove();
  516. $(obj).closest("span").remove();
  517. fnSetFilterHtml();
  518. fnCategoryGoodsInfiniteScrollInit();
  519. fnSearchGoodsListSearch();
  520. }
  521. // 카테고리 set
  522. var fnSetCateFilter = function (cate1No, cate2No, cate3No, cate4No, cate5No){
  523. fnCategoryGoodsInfiniteScrollInit();
  524. $("#searchGoodsForm input:hidden[name=cate1No]").remove();
  525. $("#searchGoodsForm input:hidden[name=cate2No]").remove();
  526. $("#searchGoodsForm input:hidden[name=cate3No]").remove();
  527. $("#searchGoodsForm input:hidden[name=cate4No]").remove();
  528. $("#searchGoodsForm input:hidden[name=cate5No]").remove();
  529. let tag = '';
  530. if(!gagajf.isNull(cate1No)){
  531. tag += '<input type="hidden" name="cate1No" value="'+cate1No+'"/>';
  532. }
  533. if(!gagajf.isNull(cate2No)){
  534. tag += '<input type="hidden" name="cate2No" value="'+cate2No+'"/>';
  535. }
  536. if(!gagajf.isNull(cate3No)){
  537. tag += '<input type="hidden" name="cate3No" value="'+cate3No+'"/>';
  538. }
  539. if(!gagajf.isNull(cate4No)){
  540. tag += '<input type="hidden" name="cate4No" value="'+cate4No+'"/>';
  541. }
  542. if(!gagajf.isNull(cate5No)){
  543. tag += '<input type="hidden" name="cate5No" value="'+cate5No+'"/>';
  544. }
  545. $("#searchGoodsForm").append(tag);
  546. fnSetFilterHtml();
  547. fnSearchGoodsListSearch();
  548. }
  549. // 필터 가격 확인
  550. var fnCheckPrice = function (data,priceLen){
  551. $("#priceSpan").remove();
  552. // $("#searchGoodsForm input:hidden[name=priceFrom]").remove();
  553. // $("#searchGoodsForm input:hidden[name=priceTo]").remove();
  554. $("#searchGoodsForm input:hidden[name=priceArr]").remove();
  555. let min = data.from;
  556. let max = data.to;
  557. $("#price_input_from").val(custom_values[0]);
  558. $("#price_input_to").val(custom_values[priceLen]);
  559. fnFilterSlider('price' , custom_values[min].addComma(), custom_values[max].addComma());
  560. }
  561. // 필터 할인율 확인
  562. var fnCheckDcRate = function (data){
  563. $("#dcrateSpan").remove();
  564. $("#searchGoodsForm input:hidden[name=dcRateFrom]").remove();
  565. $("#searchGoodsForm input:hidden[name=dcRateTo]").remove();
  566. let min = data.from;
  567. let max = data.to;
  568. $("#price_input_from").val(0);
  569. $("#price_input_to").val(100);
  570. fnFilterSlider('dcrate' , custom_values02[min].replace('%',''), custom_values02[max].replace('%',''));
  571. }
  572. var fnFilterSlider = function (gubun, min, max){
  573. fnCategoryGoodsInfiniteScrollInit();
  574. let tag = '';
  575. let oriMin = '';
  576. let oriMax = '';
  577. filterHtml = '';
  578. filterStatHtml = '';
  579. filterStatHtml = $("#filterData").html();
  580. // $("#searchGoodsForm").find('input[name=priceFrom]').remove();
  581. // $("#searchGoodsForm").find('input[name=priceTo]').remove();
  582. // $("#searchGoodsForm").find('input[name=dcRateFrom]').remove();
  583. // $("#searchGoodsForm").find('input[name=dcRateTo]').remove();
  584. $("#searchGoodsForm").find('input[name=priceArr]').remove();
  585. $("#searchGoodsForm").find('input[name=dcRateArr]').remove();
  586. if(gubun=='price'){
  587. oriMin = $("#price_input_from").val();
  588. oriMax = $("#price_input_to").val();
  589. }else{
  590. oriMin = $("#dcrate_input_from").val();
  591. oriMax = $("#dcrate_input_to").val();
  592. }
  593. if(gubun=='price'){
  594. if(min!=max){
  595. tag += '<span id="priceSpan">'+ min +'원~'+max+'원';
  596. }else{
  597. tag += '<span id="priceSpan">'+max+'원';
  598. }
  599. $("#filterForm").find('input[name=hPriceFrom]').val(min);
  600. $("#filterForm").find('input[name=hPriceTo]').val(max);
  601. }else{
  602. if(min!=max){
  603. tag += '<span id="dcrateSpan">'+ min +'~'+max+'%';
  604. }else{
  605. tag += '<span id="dcrateSpan">'+max+'%';
  606. }
  607. $("#filterForm").find('input[name=hDcRateFrom]').val(min);
  608. $("#filterForm").find('input[name=hDcRateTo]').val(max);
  609. }
  610. tag += '<a href="javascript:void(0);" class="filter_delete" onclick="fnDeleteFilterSlider(this,\''+gubun+'\', \''+oriMin+'\', \''+oriMax+'\');"></a >';
  611. tag += '</span>';
  612. $("#filterData").append(tag);
  613. filterStatHtml += tag;
  614. var tag2 = '';
  615. if(gubun=='price'){
  616. tag2 += '<input type="hidden" name="priceArr" value="'+min.replace(",", "")+','+max.replace(",", "")+'"/>\n';
  617. $("#searchGoodsForm").append(tag2);
  618. }else{
  619. tag2 += '<input type="hidden" name="dcRateArr" value="'+min+','+max+'"/>\n';
  620. $("#searchGoodsForm").append(tag2);
  621. }
  622. gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
  623. fnSetFilterHtml();
  624. fnSearchGoodsListSearch();
  625. }
  626. var fnDeleteFilterSlider = function (obj, gubun, minVal, maxVal){
  627. filterStatHtml = '';
  628. filterStatHtml = $("#filterData").html();
  629. if(gubun=='price'){
  630. $("#searchGoodsForm").find("input:hidden[name=priceArr]").remove();
  631. var $range = $(".dp .js-range-slider01, .sch_result .js-range-slider01");
  632. var $inputFrom = $("#price_input_from");
  633. var $inputTo = $("#price_input_to");
  634. var instance;
  635. instance = $range.data("ionRangeSlider");
  636. instance.update({
  637. from: 0
  638. });
  639. $inputFrom.val(minVal);
  640. instance.update({
  641. to: 5
  642. });
  643. $inputTo.prop("value",maxVal);
  644. $("#filterForm input:hidden[name=priceArr]").remove();
  645. }else{
  646. $("#searchGoodsForm").find("input:hidden[name=dcRateArr]").remove();
  647. var $range = $(".dp .js-range-slider02, .sch_result .js-range-slider02");
  648. var $inputFrom = $("#dcrate_input_from");
  649. var $inputTo = $("#dcrate_input_to");
  650. var instance;
  651. instance = $range.data("ionRangeSlider");
  652. instance.update({
  653. from: 0
  654. });
  655. $inputFrom.prop("value",minVal);
  656. instance.update({
  657. to: 10
  658. });
  659. $inputTo.prop("value",maxVal);
  660. $("#searchGoodsForm input:hidden[name=dcRateArr]").remove();
  661. }
  662. $(obj).closest("span").remove();
  663. fnSetFilterHtml();
  664. fnCategoryGoodsInfiniteScrollInit();
  665. fnSearchGoodsListSearch();
  666. }
  667. // 상품상세 필터 조회
  668. var fnSelectFilerMob = function (obj, gubun, staus, sizeGb){
  669. gagaInfiniteScroll.pageStatus.filterHtml = filterHtml;
  670. gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
  671. let $obj = $(obj);
  672. if(staus=='on'){
  673. if(gubun=='size'){
  674. $(obj).attr('onclick','fnSelectFilerMob(this,\''+gubun+'\',\'off\',\''+sizeGb+'\');');
  675. }else{
  676. $(obj).attr('onclick','fnSelectFilerMob(this,\''+gubun+'\',\'off\',\'\');');
  677. }
  678. $("#filterData").find('span').each(function(idx,item) {
  679. if(gubun=='color'){
  680. if($obj.attr('data-id').replace('#','').trim() == $(this).closest("span").attr('id')) {
  681. $(this).closest("span").remove();
  682. }
  683. }else{
  684. if($obj.attr('data-id') == $(this).closest("span").text()) {
  685. $(this).closest("span").remove();
  686. }
  687. }
  688. });
  689. }else{
  690. if(gubun=='size'){
  691. $(obj).attr('onclick','fnSelectFilerMob(this,\''+gubun+'\',\'on\',\''+sizeGb+'\');');
  692. }else{
  693. $(obj).attr('onclick','fnSelectFilerMob(this,\''+gubun+'\',\'on\',\'\');');
  694. }
  695. }
  696. fnFilterSet(gubun, sizeGb, 'Mob');
  697. }
  698. var fnSetMobCateFilter = function (obj, cate1No, cate2No, cate3No, cate4No, cate5No){
  699. // 활성화 되었을때
  700. if($(obj).hasClass("on")) {
  701. if($(obj).attr('data-depth')==1){
  702. $('#categoryFilterDiv').find('.daps1').find('span').html('');
  703. fnSetCateFilter();
  704. }else if($(obj).attr('data-depth')==2){
  705. $('#categoryFilterDiv').find('.daps1').find('span').html($(obj).parent().parent().parent().find('[data-depth=1]').attr('cateFullNm'));
  706. fnSetCateFilter(cate1No);
  707. }else if($(obj).attr('data-depth')==3){
  708. $('#categoryFilterDiv').find('.daps1').find('span').html($(obj).parent().parent().parent().find('[data-depth=2]').attr('cateFullNm'));
  709. fnSetCateFilter(cate1No, cate2No);
  710. }else if($(obj).attr('data-depth')==4){
  711. $('#categoryFilterDiv').find('.daps1').find('span').html($(obj).parent().parent().parent().find('[data-depth=3]').attr('cateFullNm'));
  712. fnSetCateFilter(cate1No, cate2No, cate3No);
  713. }else{
  714. $('#categoryFilterDiv').find('.daps1').find('span').html($(obj).parent().parent().parent().find('[data-depth=4]').attr('cateFullNm'));
  715. fnSetCateFilter(cate1No, cate2No, cate3No, cate4No);
  716. }
  717. }else{
  718. if($(obj).attr('data-depth')==1){
  719. $("#categoryFilterDiv").find('[data-depth=1]').each(function (){
  720. $("#categoryFilterDiv").find('.daps4').each(function (idx){
  721. $(this).parent().find('a').removeClass('on');
  722. $(this).css('display','none');
  723. });
  724. $("#categoryFilterDiv").find('.daps3').each(function (idx){
  725. $(this).parent().find('a').removeClass('on');
  726. $(this).css('display','none');
  727. });
  728. $("#categoryFilterDiv").find('.daps2').each(function (idx){
  729. $(this).parent().find('a').removeClass('on');
  730. });
  731. $(this).removeClass("on");
  732. $(this).parent().find('ul').css('display','none');
  733. });
  734. $('#categoryFilterDiv').find('.daps1').find('span').html($(obj).attr('cateFullNm'));
  735. fnSetCateFilter(cate1No);
  736. }else if($(obj).attr('data-depth')==2) {
  737. $("#categoryFilterDiv").find('[data-depth=2]').each(function (){
  738. $("#categoryFilterDiv").find('.daps4').each(function (idx){
  739. $(this).parent().find('a').removeClass('on');
  740. $(this).css('display','none');
  741. });
  742. $(this).removeClass("on");
  743. $(this).parent().find('ul').css('display','none');
  744. });
  745. $('#categoryFilterDiv').find('.daps1').find('span').html($(obj).attr('cateFullNm'));
  746. fnSetCateFilter(cate1No, cate2No);
  747. }else if($(obj).attr('data-depth')==3) {
  748. $("#categoryFilterDiv").find('[data-depth=3]').each(function (){
  749. $(this).removeClass("on");
  750. $(this).parent().find('ul').css('display','none');
  751. });
  752. $('#categoryFilterDiv').find('.daps1').find('span').html($(obj).attr('cateFullNm'));
  753. fnSetCateFilter(cate1No, cate2No, cate3No);
  754. }else if($(obj).attr('data-depth')==4) {
  755. $("#categoryFilterDiv").find('[data-depth=4]').each(function (){
  756. $(this).removeClass("on");
  757. $(this).parent().find('ul').css('display','none');
  758. });
  759. $('#categoryFilterDiv').find('.daps1').find('span').html($(obj).attr('cateFullNm'));
  760. fnSetCateFilter(cate1No, cate2No, cate3No, cate4No);
  761. }else{
  762. fnSetCateFilter(cate1No, cate2No, cate3No, cate4No, cate5No);
  763. }
  764. }
  765. }
  766. //****************상품리스트 end **********************************