goods.js 42 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208
  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. // tag += ' <img class=" vLHTC pd_img" src="' + item.sysImgNm + '" data-img="' + item.sysImgNm2 + '" onerror="noneImg(this)">';
  271. var imgUrl = "//image.istyle24.com/Upload/ProductImage/";
  272. 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)">';
  273. if (!gagajf.isNull(item.sizes) && item.selfGoodsYn == 'Y') {
  274. var sizeArr = item.sizes.split(",");
  275. var minSize;
  276. var maxSize;
  277. var sizeVal = '';
  278. var soldOutYn = '';
  279. tag += '<div class="itemOpt">';
  280. if (sizeArr.length > 5) {
  281. for (let i = 0; i < sizeArr.length; i++) {
  282. var sizeInfo = sizeArr[i].split(":");
  283. sizeVal = sizeInfo[0];
  284. soldOutYn = sizeInfo[1];
  285. if (i == 0) {
  286. minSize = sizeVal;
  287. } else if (i == sizeArr.length - 1) {
  288. maxSize = sizeVal;
  289. }
  290. }
  291. tag += ' <div class="exc">';
  292. tag += ' <span>' + minSize + '</span> ~ <span>' + maxSize + '</span> 사이즈가 있습니다.';
  293. tag += ' </div>';
  294. } else {
  295. tag += '<ul>';
  296. for (let i = 0; i < sizeArr.length; i++) {
  297. var sizeInfo = sizeArr[i].split(":");
  298. sizeVal = sizeInfo[0];
  299. soldOutYn = sizeInfo[1];
  300. if (soldOutYn == 'N') {
  301. tag += ' <li>' + sizeVal + '</li>';
  302. } else {
  303. tag += ' <li class="none">' + sizeVal + '</li>';
  304. }
  305. }
  306. tag += '</ul>';
  307. }
  308. tag += ' </div>';
  309. }
  310. tag += ' </div>';
  311. tag += ' <p class="itemBrand">' + item.brandGroupNm + '</p>';
  312. if (item.goodsTnm != null && item.goodsTnm != '') {
  313. tag += ' <div class="itemComment">' + item.goodsTnm + '</div>';
  314. }
  315. tag += ' <div class="itemName">' + item.goodsFullNm + '</div>';
  316. if (appGb != 'Mob') {
  317. if(item.goodsType=='G056_D'){
  318. tag += ' <p class="itemPrice">' + item.currPrice.addComma() +'~ ';
  319. }else{
  320. tag += ' <p class="itemPrice">' + item.currPrice.addComma()
  321. }
  322. if (item.currPrice != item.listPrice) {
  323. if (item.listPrice != 0) {
  324. tag += ' <span class="itemPrice_original">' + item.listPrice.addComma() + '</span>';
  325. tag += ' <span class="itemPercent">' + Math.round((item.listPrice - item.currPrice) / (item.listPrice * 1.0) * 100) + '%</span>';
  326. }
  327. }
  328. tag += ' </p>';
  329. } else {
  330. tag += ' <p class="itemPrice">';
  331. if (item.currPrice != item.listPrice) {
  332. if (item.listPrice != 0) {
  333. tag += ' <span class="itemPrice_original">' + item.listPrice.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + '</span>';
  334. }
  335. }
  336. if(item.goodsType=='G056_D'){
  337. tag += item.currPrice.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") +'~ ';
  338. }else{
  339. tag += item.currPrice.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
  340. }
  341. if (item.currPrice != item.listPrice) {
  342. if (item.listPrice != 0) {
  343. tag += ' <span class="itemPercent">' + Math.round((item.listPrice - item.currPrice) / (item.listPrice * 1.0) * 100) + '%</span>';
  344. }
  345. }
  346. tag += ' </p>';
  347. }
  348. tag += ' <div class="itemcolorchip">';
  349. if (!gagajf.isNull(item.colorChips)) {
  350. var colorArr = item.colorChips.split(",");
  351. var colorCd = '';
  352. var rgbColor = '';
  353. for (let i = 0; i < colorArr.length; i++) {
  354. var colorInfo = colorArr[i].split(":");
  355. colorCd = colorInfo[0];
  356. rgbColor = colorInfo[1];
  357. if (rgbColor == '#FFFFFF') {
  358. tag += ' <span class="chip_color" style="background-color: ' + rgbColor + ';border:1px solid #aaa;" value="' + colorCd + '">' + colorCd + '</span>';
  359. } else {
  360. tag += ' <span class="chip_color" style="background-color: ' + rgbColor + '" value="' + colorCd + '">' + colorCd + '</span>';
  361. }
  362. }
  363. }
  364. tag += ' </div>';
  365. if (!gagajf.isNull(item.benefits)) {
  366. var iconArr = item.benefits.split(",");
  367. var iconGb = '';
  368. var iconNm = '';
  369. tag += ' <p class="itemBadge">';
  370. let arrCnt;
  371. if (iconArr.length > 2) {
  372. arrCnt = 3;
  373. } else {
  374. arrCnt = iconArr.length;
  375. }
  376. for (let i = 0; i < arrCnt; i++) {
  377. var iconInfo = iconArr[i].split(":");
  378. iconGb = iconInfo[0];
  379. iconNm = iconInfo[1];
  380. tag += ' <span class="badge13" value="' + iconGb + '">' + iconNm + ' </span>';
  381. }
  382. tag += ' </p>';
  383. }
  384. tag += ' </a>';
  385. tag += ' </div>';
  386. tag += '</div>';
  387. }
  388. });
  389. if (cnt == 1) {
  390. // <!-- Criteo 카테고리/리스팅 태그 -->
  391. window.criteo_q = window.criteo_q || [];
  392. var deviceType = /iPad/.test(navigator.userAgent) ? "t" : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent) ? "m" : "d";
  393. window.criteo_q.push(
  394. {event: "setAccount", account: 6762}, // 이 라인은 업데이트하면 안됩니다
  395. {event: "setEmail", email: criteoEmail}, // 유저가 로그인이 안되 있는 경우 빈 문자열을 전달
  396. {event: "setSiteType", type: deviceType},
  397. {event: "viewList", item: categoryGoodsList} // 가장 위에있는 3개의 상품 ID를 전달
  398. );
  399. // <!-- END 카테고리/리스팅 태그 -->
  400. cnt++;
  401. }
  402. return tag;
  403. }
  404. // 인피니트 스크롤 초기화
  405. var fnCategoryGoodsInfiniteScrollInit = function(){
  406. sessionStorage.removeItem(document.location.href);
  407. //History 초기화
  408. $("#listBox").html("");
  409. }
  410. var filterHtml = '';
  411. var filterStatHtml = '';
  412. // 상품상세 필터 조회
  413. var filterSel = function (obj, gubun, staus, sizeGb){
  414. // fnCategoryGoodsInfiniteScrollInit();
  415. // filterHtml = '';
  416. // filterStatHtml = '';
  417. // console.log('1.filterHtml++'+filterHtml);
  418. // console.log('2.filterStatHtml++'+filterStatHtml);
  419. gagaInfiniteScroll.pageStatus.filterHtml = filterHtml;
  420. gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
  421. let $obj = $(obj);
  422. if(staus=='on'){
  423. filterStatHtml = '';
  424. if(gubun=='size'){
  425. $(obj).attr('onclick','fnResetListIdx();filterSel(this,\''+gubun+'\',\'off\',\''+sizeGb+'\');');
  426. }else{
  427. $(obj).attr('onclick','fnResetListIdx();filterSel(this,\''+gubun+'\',\'off\',\'\');');
  428. }
  429. $("#filterData").find('span').each(function(idx,item) {
  430. if(gubun=='color'){
  431. if($obj.attr('data-id').replace('#','').trim() == $(this).closest("span").attr('id')) {
  432. $(this).closest("span").remove();
  433. }
  434. }else{
  435. if($obj.attr('data-id') == $(this).closest("span").text()) {
  436. $(this).closest("span").remove();
  437. }
  438. }
  439. });
  440. filterStatHtml = $("#filterData").html();
  441. }else{
  442. if(gubun=='size'){
  443. $(obj).attr('onclick','fnResetListIdx();filterSel(this,\''+gubun+'\',\'on\',\''+sizeGb+'\');');
  444. }else{
  445. $(obj).attr('onclick','fnResetListIdx();filterSel(this,\''+gubun+'\',\'on\',\'\');');
  446. }
  447. let tag = '';
  448. if(gubun=='color'){
  449. tag += '<span id="'+$obj.attr('data-id').replace('#','')+'">';
  450. if($obj.attr('data-id')=='#FFFFFF'){
  451. tag += ' <span class="pdColor-color" style="background-color: #'+$obj.attr('data-id')+';border:1px solid #aaa;" value="'+$obj.attr('data-id')+'"></span>';
  452. }else{
  453. tag += ' <span class="pdColor-color" style="background-color: #'+$obj.attr('data-id')+'" value="'+$obj.attr('data-id')+'"></span>';
  454. }
  455. tag += ' <a href="javascript:void(0);" class="filter_delete" onclick="fnDeleteFilter(this,\''+gubun+'\',\'on\');"></a >';
  456. tag += '</span>';
  457. }else{
  458. tag += '<span>'+$obj.attr('data-id');
  459. if(!gagajf.isNull(sizeGb)){
  460. tag += '<a href="javascript:void(0);" class="filter_delete" onclick="fnDeleteFilter(this,\''+gubun+'\',\'on\',\''+sizeGb+'\');"></a >';
  461. }else{
  462. tag += '<a href="javascript:void(0);" class="filter_delete" onclick="fnDeleteFilter(this,\''+gubun+'\',\'on\',\'\');"></a >';
  463. }
  464. tag += '</span>';
  465. }
  466. $("#filterData").append(tag);
  467. filterStatHtml += tag;
  468. }
  469. gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
  470. fnFilterSet(gubun, sizeGb);
  471. }
  472. var fnFilterSet = function (searchId, sizeGb, appGb){
  473. fnCategoryGoodsInfiniteScrollInit();
  474. $("#searchGoodsForm input:hidden[name="+searchId+"Arr]").remove();
  475. var tag = '';
  476. var mobTag = '';
  477. if(searchId=='size'){
  478. $('#filterForm input[name='+searchId+']:checked').each(function(){
  479. tag = '<input type="hidden" name="'+searchId+'Arr" value="'+$(this).attr('data-id')+'"/>\n';
  480. $("#searchGoodsForm").append(tag);
  481. // filterHtml += tag;
  482. });
  483. }else{
  484. $('#filterForm input[name='+searchId+']:checked').each(function(){
  485. tag = '<input type="hidden" name="'+searchId+'Arr" value="'+$(this).val()+'"/>\n';
  486. $("#searchGoodsForm").append(tag);
  487. // filterHtml += tag;
  488. });
  489. if(searchId=='benefit'){
  490. if ($('#newGoods').is(":checked")) {
  491. // tag = '<input type="hidden" name="'+searchId+'Arr" value="40:신상"/>\n';
  492. $("#searchGoodsForm").append(tag);
  493. }
  494. }
  495. }
  496. if(appGb == 'Mob'){
  497. var data = '';
  498. var tag = '';
  499. var filterSet = '';
  500. $('#'+searchId+'FilterDiv').find('.daps1').find('span').html('');
  501. $('#filterForm input[name='+searchId+']:checked').each(function(idx){
  502. if(searchId=='color'){
  503. $('#'+searchId+'FilterDiv').find('.daps1').find('.pic').find('span').html('');
  504. var mobTag = '';
  505. var color = $(this).attr('data-id');
  506. console.log('color::'+$(this).attr('data-id'));
  507. if(color=='FFFFFF'){
  508. mobTag += '<span class="pdColor-color" style="background-color:#'+color+';border:1px solid #aaa;"></span>';
  509. }else{
  510. mobTag += '<span class="pdColor-color" style="background-color:#'+color+'"></span>';
  511. }
  512. $("#"+searchId+"FilterDiv").find('.daps1').find('.pic').append(mobTag);
  513. }else{
  514. $('#'+searchId+'FilterDiv').find('.daps1').find('span').html('');
  515. if(idx>0){
  516. data += ',';
  517. }
  518. data += $(this).attr('data-id');
  519. $("#"+searchId+"FilterDiv").find('.daps1').append('<span class="pic">'+data+'</span>');
  520. }
  521. });
  522. }
  523. fnSetFilterHtml();
  524. // gagaInfiniteScroll.pageStatus.filterHtml = filterHtml;
  525. // gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
  526. fnGoodsListSearch();
  527. }
  528. var fnSetFilterHtml = function (gubun, staus, mobGb){
  529. filterHtml = '';
  530. $('#filterForm input[name=size]:checked').each(function(){
  531. filterHtml += '<input type="hidden" name="sizeArr" value="'+$(this).attr('data-id')+'"/>\n';
  532. });
  533. $('#filterForm input[name=brandGroup]:checked').each(function(){
  534. filterHtml += '<input type="hidden" name="brandGroupArr" value="'+$(this).val()+'"/>\n';
  535. });
  536. $('#filterForm input[name=age]:checked').each(function(){
  537. filterHtml += '<input type="hidden" name="ageArr" value="'+$(this).val()+'"/>\n';
  538. });
  539. $('#filterForm input[name=season]:checked').each(function(){
  540. filterHtml += '<input type="hidden" name="seasonArr" value="'+$(this).val()+'"/>\n';
  541. });
  542. $('#filterForm input[name=color]:checked').each(function(){
  543. filterHtml += '<input type="hidden" name="colorArr" value="'+$(this).val()+'"/>\n';
  544. });
  545. $('#filterForm input[name=benefit]:checked').each(function(){
  546. filterHtml += '<input type="hidden" name="benefitArr" value="'+$(this).val()+'"/>\n';
  547. });
  548. $('#filterForm input[name=price]:checked').each(function(){
  549. filterHtml += '<input type="hidden" name="priceArr" value="'+$(this).val()+'"/>\n';
  550. });
  551. $('#filterForm input[name=dcRate]:checked').each(function(){
  552. filterHtml += '<input type="hidden" name="dcRateArr" value="'+$(this).val()+'"/>\n';
  553. });
  554. let priceVal = '';
  555. if(!gagajf.isNull($("#filterForm input[name=hPriceFrom]").val())){
  556. // filterHtml += '<input type="hidden" name="priceFrom" value="'+$("#filterForm input[name=hPriceFrom]").val()+'"/>\n';
  557. priceVal += $("#filterForm input[name=hPriceFrom]").val().removeComma();
  558. }
  559. if(!gagajf.isNull($("#filterForm input[name=hPriceTo]").val())){
  560. // filterHtml += '<input type="hidden" name="priceTo" value="'+$("#filterForm input[name=hPriceTo]").val()+'"/>\n';
  561. priceVal += ',' + $("#filterForm input[name=hPriceTo]").val().removeComma();
  562. }
  563. filterHtml += '<input type="hidden" name="priceArr" value="'+priceVal+'"/>\n';
  564. let dcRateVal = '';
  565. if(!gagajf.isNull($("#filterForm input[name=hDcRateFrom]").val())){
  566. // filterHtml += '<input type="hidden" name="dcRateFrom" value="'+$("#filterForm input[name=hDcRateFrom]").val()+'"/>\n';
  567. dcRateVal += $("#filterForm input[name=hDcRateFrom]").val();
  568. }
  569. if(!gagajf.isNull($("#filterForm input[name=hDcRateTo]").val())){
  570. // filterHtml += '<input type="hidden" name="dcRateTo" value="'+$("#filterForm input[name=hDcRateTo]").val()+'"/>\n';
  571. dcRateVal += ',' + $("#filterForm input[name=hDcRateTo]").val();
  572. }
  573. filterHtml += '<input type="hidden" name="dcRateArr" value="'+dcRateVal+'"/>\n';
  574. if($('#filterForm').find("input:checkbox[id='unisex']").is(":checked") == true){
  575. filterHtml += '<input type="hidden" name="unisex" value="G007_Z"/>\n';
  576. }
  577. if($('#filterForm').find("input:checkbox[id='newGoods']").is(":checked") == true){
  578. filterHtml += '<input type="hidden" name="newGoods" value="40"/>\n';
  579. }
  580. // console.log('filterHtml>>'+filterHtml);
  581. gagaInfiniteScroll.pageStatus.filterHtml = filterHtml;
  582. }
  583. // 상품상세 필터 삭제
  584. var fnDeleteFilter = function (obj, gubun, staus, sizeGb){
  585. if(gubun=='size'){
  586. $("#"+gubun+"FilterDiv #sizeLi"+sizeGb).each(function(idx,item) {
  587. $('#sizeLi'+sizeGb+' .size_btn').each(function (){
  588. if($(obj).closest("span").text() == $(this).find('input').attr('data-id')){
  589. $(this).find('input').click();
  590. }
  591. });
  592. });
  593. }else{
  594. $("#"+gubun+"FilterDiv > ul > li").each(function(idx,item) {
  595. if(gubun == 'color'){
  596. if($(obj).closest("span").attr('id') == $(this).find('input').attr('data-id').trim()){
  597. $(this).find('input').click();
  598. }
  599. }else{
  600. if($(obj).closest("span").text() == $(this).find('input').attr('data-id')){
  601. $(this).find('input').click();
  602. }
  603. }
  604. });
  605. }
  606. $(obj).closest("span").remove();
  607. fnSetFilterHtml();
  608. }
  609. var fnFilterSliderMove = function (min, max){
  610. var $range = $(".dp .js-range-slider01, .sch_result .js-range-slider01");
  611. var $inputFrom = $("#price_input_from");
  612. var $inputTo = $("#price_input_to");
  613. var instance;
  614. instance = $range.data("ionRangeSlider");
  615. instance.update({
  616. from: min
  617. });
  618. //$inputFrom.val(min);
  619. instance.update({
  620. to: max
  621. });
  622. //$inputTo.prop("value",max);
  623. fnSetFilterHtml();
  624. }
  625. var fnDcRateFilterSliderMove = function (min, max){
  626. var $range = $(".dp .js-range-slider02, .sch_result .js-range-slider02");
  627. var $inputFrom = $("#dcrate_input_from");
  628. var $inputTo = $("#dcrate_input_to");
  629. var instance;
  630. instance = $range.data("ionRangeSlider");
  631. instance.update({
  632. from: min
  633. });
  634. $inputFrom.val(min);
  635. instance.update({
  636. to: max
  637. });
  638. $inputTo.prop("value",max);
  639. fnSetFilterHtml();
  640. }
  641. var fnFilterSlider = function (gubun, min, max){
  642. fnCategoryGoodsInfiniteScrollInit();
  643. let tag = '';
  644. let oriMin = '';
  645. let oriMax = '';
  646. filterHtml = '';
  647. filterStatHtml = '';
  648. filterStatHtml = $("#filterData").html();
  649. // $("#searchGoodsForm").find('input[name=priceFrom]').remove();
  650. // $("#searchGoodsForm").find('input[name=priceTo]').remove();
  651. // $("#searchGoodsForm").find('input[name=dcRateFrom]').remove();
  652. // $("#searchGoodsForm").find('input[name=dcRateTo]').remove();
  653. $("#searchGoodsForm").find('input[name=priceArr]').remove();
  654. $("#searchGoodsForm").find('input[name=dcRateArr]').remove();
  655. if(gubun=='price'){
  656. oriMin = $("#price_input_from").val();
  657. oriMax = $("#price_input_to").val();
  658. }else{
  659. oriMin = $("#dcrate_input_from").val();
  660. oriMax = $("#dcrate_input_to").val();
  661. }
  662. if(gubun=='price'){
  663. if(min!=max){
  664. tag += '<span id="priceSpan">'+ min +'원~'+max+'원';
  665. }else{
  666. tag += '<span id="priceSpan">'+max+'원';
  667. }
  668. $("#filterForm").find('input[name=hPriceFrom]').val(min);
  669. $("#filterForm").find('input[name=hPriceTo]').val(max);
  670. }else{
  671. if(min!=max){
  672. tag += '<span id="dcrateSpan">'+ min +'~'+max+'%';
  673. }else{
  674. tag += '<span id="dcrateSpan">'+max+'%';
  675. }
  676. $("#filterForm").find('input[name=hDcRateFrom]').val(min);
  677. $("#filterForm").find('input[name=hDcRateTo]').val(max);
  678. }
  679. tag += '<a href="javascript:void(0);" class="filter_delete" onclick="fnDeleteFilterSlider(this,\''+gubun+'\', \''+oriMin+'\', \''+oriMax+'\');"></a >';
  680. tag += '</span>';
  681. $("#filterData").append(tag);
  682. filterStatHtml += tag;
  683. var tag2 = '';
  684. if(gubun=='price'){
  685. // tag2 += '<input type="hidden" name="priceFrom" value="'+min.replace(",", "")+'"/>\n';
  686. // tag2 += '<input type="hidden" name="priceTo" value="'+max.replace(",", "")+'"/>\n';
  687. tag2 += '<input type="hidden" name="priceArr" value="'+min.replaceAll(",", "")+','+max.replaceAll(",", "")+'"/>\n';
  688. $("#searchGoodsForm").append(tag2);
  689. // filterHtml += tag2;
  690. // fnCategoryGoodsInfiniteScrollInit();
  691. }else{
  692. // tag2 += '<input type="hidden" name="dcRateFrom" value="'+min+'"/>\n';
  693. // tag2 += '<input type="hidden" name="dcRateTo" value="'+max+'"/>\n';
  694. tag2 += '<input type="hidden" name="dcRateArr" value="'+min+','+max+'"/>\n';
  695. $("#searchGoodsForm").append(tag2);
  696. // fnCategoryGoodsInfiniteScrollInit();
  697. // filterHtml += tag2;
  698. }
  699. gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
  700. fnSetFilterHtml();
  701. fnGoodsListSearch();
  702. }
  703. var fnDeleteFilterSlider = function (obj, gubun, minVal, maxVal){
  704. filterStatHtml = '';
  705. filterStatHtml = $("#filterData").html();
  706. if(gubun=='price'){
  707. // $("#searchGoodsForm").find("input:hidden[name=priceFrom]").remove();
  708. // $("#searchGoodsForm").find("input:hidden[name=priceTo]").remove();
  709. $("#searchGoodsForm").find("input:hidden[name=priceArr]").remove();
  710. var $range = $(".dp .js-range-slider01, .sch_result .js-range-slider01");
  711. var $inputFrom = $("#price_input_from");
  712. var $inputTo = $("#price_input_to");
  713. var instance;
  714. instance = $range.data("ionRangeSlider");
  715. instance.update({
  716. from: 0
  717. });
  718. $inputFrom.val(minVal);
  719. instance.update({
  720. to: 5
  721. });
  722. $inputTo.prop("value",maxVal);
  723. $("#filterForm input:hidden[name=priceArr]").remove();
  724. // $("#filterForm input:hidden[name=priceFrom]").remove();
  725. // $("#filterForm input:hidden[name=priceTo]").remove();
  726. }else{
  727. // $("#searchGoodsForm").find("input:hidden[name=dcRateFrom]").remove();
  728. // $("#searchGoodsForm").find("input:hidden[name=dcRateTo]").remove();
  729. $("#searchGoodsForm").find("input:hidden[name=dcRateArr]").remove();
  730. var $range = $(".dp .js-range-slider02, .sch_result .js-range-slider02");
  731. var $inputFrom = $("#dcrate_input_from");
  732. var $inputTo = $("#dcrate_input_to");
  733. var instance;
  734. instance = $range.data("ionRangeSlider");
  735. instance.update({
  736. from: 0
  737. });
  738. $inputFrom.prop("value",minVal);
  739. instance.update({
  740. to: 10
  741. });
  742. $inputTo.prop("value",maxVal);
  743. $("#searchGoodsForm input:hidden[name=dcRateArr]").remove();
  744. // $("#searchGoodsForm input:hidden[name=dcRateFrom]").remove();
  745. // $("#searchGoodsForm input:hidden[name=dcRateTo]").remove();
  746. }
  747. $(obj).closest("span").remove();
  748. fnSetFilterHtml();
  749. fnCategoryGoodsInfiniteScrollInit();
  750. fnGoodsListSearch();
  751. }
  752. // 정렬 순서
  753. var fnSortingChange = function (obj, sortingType, stat, appGb){
  754. console.log('here sort');
  755. fnCategoryGoodsInfiniteScrollInit();
  756. if(stat != 'back'){
  757. // if($("#searchGoodsForm input[name=sortingType]").val()==sortingType){
  758. // return;
  759. // }
  760. }
  761. if(appGb != 'Mob'){
  762. $("#sortArea").find('li').each(function (){
  763. $(this).find('a').attr('class','off');
  764. });
  765. }else{
  766. $("#sortArea").find('button').each(function (){
  767. $(this).removeClass("on");
  768. });
  769. $("#sorting"+sortingType).addClass("on");
  770. $("#filter").text($("#sorting"+sortingType).find('span').text());
  771. }
  772. $(obj).addClass("on");
  773. if(stat=='back'){
  774. $("#sorting"+sortingType).addClass("on");
  775. }
  776. $("#searchGoodsForm").find("[name=sortingType]").val(sortingType);
  777. $("#searchGoodsForm").find("[name=pageNo]").val(1);
  778. gagaInfiniteScroll.pageStatus.loadPage = 1;
  779. gagaInfiniteScroll.pageStatus.pageNum = [];
  780. gagaInfiniteScroll.pageStatus.sortingType = sortingType;
  781. $('#endPage').hide();
  782. $('#noFilterData').hide();
  783. console.log('here sort2');
  784. fnGoodsListSearch();
  785. }
  786. // 모바일 가격 필터
  787. var filterPriceMob = function (obj, gubun, staus, idx){
  788. if(staus=='on'){
  789. $(obj).attr('onclick','fnResetListIdx();filterPriceMob(this,\''+gubun+'\',\'off\',\''+idx+'\');');
  790. }else{
  791. $(obj).attr('onclick','fnResetListIdx();filterPriceMob(this,\''+gubun+'\',\'on\',\''+idx+'\');');
  792. }
  793. fnFilterSet(gubun, 'price', 'Mob');
  794. }
  795. var filterPriceMobOri = function (obj, gubun, staus, idx){
  796. $("#searchGoodsForm input:hidden[name=priceFrom]").remove();
  797. $("#searchGoodsForm input:hidden[name=priceTo]").remove();
  798. if(staus=='on'){
  799. $(obj).attr('onclick','fnResetListIdx();filterPriceMob(this,\''+gubun+'\',\'off\',\''+idx+'\');');
  800. }else{
  801. $(obj).attr('onclick','fnResetListIdx();filterPriceMob(this,\''+gubun+'\',\'on\',\''+idx+'\');');
  802. }
  803. $('#filterForm input[name=price]').each(function (ind){
  804. $(this).prop("checked",false);
  805. });
  806. let price = $(obj).val().split(",");
  807. let min = price[0];
  808. let max = price[1];
  809. var tag2 = '';
  810. if(staus=='off'){
  811. $("#price"+idx).prop("checked",true);
  812. if(max<1){
  813. tag2 += '<input type="hidden" name="priceFrom" value="'+min.replace(",", "")+'"/>\n';
  814. }else{
  815. tag2 += '<input type="hidden" name="priceFrom" value="'+min.replace(",", "")+'"/>\n';
  816. tag2 += '<input type="hidden" name="priceTo" value="'+max.replace(",", "")+'"/>\n';
  817. }
  818. }else{
  819. $("#searchGoodsForm input:hidden[name=priceFrom]").remove();
  820. $("#searchGoodsForm input:hidden[name=priceTo]").remove();
  821. }
  822. $("#filterForm").find('input[name=hPriceFrom]').val(min);
  823. $("#filterForm").find('input[name=hPriceTo]').val(max);
  824. $('#priceFilterDiv').find('.daps1').find('span').html('');
  825. $('#filterForm input[name=price]:checked').each(function(index){
  826. $("#priceFilterDiv").find('.daps1').append('<span class="pic">'+$("#pricdSpan"+idx).text()+'</span>');
  827. });
  828. $("#searchGoodsForm").append(tag2);
  829. // filterHtml += tag2;
  830. fnCategoryGoodsInfiniteScrollInit();
  831. // gagaInfiniteScroll.pageStatus.filterHtml = filterHtml;
  832. // gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
  833. fnSetFilterHtml('','','Mob');
  834. fnGoodsListSearch();
  835. }
  836. // 모바일 할인 필터
  837. var filterDcRateMob = function (obj, gubun, staus, idx){
  838. if(staus=='on'){
  839. $(obj).attr('onclick','fnResetListIdx();filterDcRateMob(this,\''+gubun+'\',\'off\',\''+idx+'\');');
  840. }else{
  841. $(obj).attr('onclick','fnResetListIdx();filterDcRateMob(this,\''+gubun+'\',\'on\',\''+idx+'\');');
  842. }
  843. fnFilterSet(gubun, 'dcRate', 'Mob');
  844. }
  845. var filterDcRateMobOri = function (obj, gubun, staus, idx){
  846. $("#searchGoodsForm input:hidden[name=dcRateFrom]").remove();
  847. $("#searchGoodsForm input:hidden[name=dcRateTo]").remove();
  848. if(staus=='on'){
  849. $(obj).attr('onclick','fnResetListIdx();filterDcRateMob(this,\''+gubun+'\',\'off\',\''+idx+'\');');
  850. }else{
  851. $(obj).attr('onclick','fnResetListIdx();filterDcRateMob(this,\''+gubun+'\',\'on\',\''+idx+'\');');
  852. }
  853. $('#filterForm input[name=dcRate]').each(function (ind){
  854. $(this).prop("checked",false);
  855. });
  856. let dcRate = $(obj).val().split(",");
  857. let min = dcRate[0];
  858. let max = dcRate[1];
  859. var tag2 = '';
  860. if(staus=='off') {
  861. $("#discount" + idx).prop("checked", true);
  862. if(max<1){
  863. tag2 += '<input type="hidden" name="dcRateFrom" value="'+min.replace(",", "")+'"/>\n';
  864. }else{
  865. tag2 += '<input type="hidden" name="dcRateFrom" value="'+min.replace(",", "")+'"/>\n';
  866. tag2 += '<input type="hidden" name="dcRateTo" value="'+max.replace(",", "")+'"/>\n';
  867. }
  868. }else{
  869. $("#searchGoodsForm input:hidden[name=dcRateFrom]").remove();
  870. $("#searchGoodsForm input:hidden[name=dcRateTo]").remove();
  871. }
  872. $("#filterForm").find('input[name=hDcRateFrom]').val(min);
  873. $("#filterForm").find('input[name=hDcRateTo]').val(max);
  874. $('#dcRateFilterDiv').find('.daps1').find('span').html('');
  875. $('#filterForm input[name=dcRate]:checked').each(function(index){
  876. $("#dcRateFilterDiv").find('.daps1').append('<span class="pic">'+$("#dcRateText"+idx).text()+'</span>');
  877. });
  878. $("#searchGoodsForm").append(tag2);
  879. // filterHtml += tag2;
  880. fnCategoryGoodsInfiniteScrollInit();
  881. // gagaInfiniteScroll.pageStatus.filterHtml = filterHtml;
  882. // gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
  883. fnSetFilterHtml('','','Mob');
  884. fnGoodsListSearch();
  885. }
  886. // 상품상세 필터 조회
  887. var fnSelectFilerMob = function (obj, gubun, staus, sizeGb){
  888. gagaInfiniteScroll.pageStatus.filterHtml = filterHtml;
  889. gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
  890. let $obj = $(obj);
  891. if(staus=='on'){
  892. if(gubun=='size'){
  893. $(obj).attr('onclick','fnResetListIdx();fnSelectFilerMob(this,\''+gubun+'\',\'off\',\''+sizeGb+'\');');
  894. }else{
  895. $(obj).attr('onclick','fnResetListIdx();fnSelectFilerMob(this,\''+gubun+'\',\'off\',\'\');');
  896. }
  897. $("#filterData").find('span').each(function(idx,item) {
  898. if(gubun=='color'){
  899. if($obj.attr('data-id').replace('#','').trim() == $(this).closest("span").attr('id')) {
  900. $(this).closest("span").remove();
  901. }
  902. }else{
  903. if($obj.attr('data-id') == $(this).closest("span").text()) {
  904. $(this).closest("span").remove();
  905. }
  906. }
  907. });
  908. }else{
  909. if(gubun=='size'){
  910. $(obj).attr('onclick','fnResetListIdx();fnSelectFilerMob(this,\''+gubun+'\',\'on\',\''+sizeGb+'\');');
  911. }else{
  912. $(obj).attr('onclick','fnResetListIdx();fnSelectFilerMob(this,\''+gubun+'\',\'on\',\'\');');
  913. }
  914. }
  915. fnFilterSet(gubun, sizeGb, 'Mob');
  916. }
  917. var fnReCheckFilterList = function (){
  918. var searchId = '';
  919. $('#filterForm').find('.allFilter').find('.chkFilter').each(function() {
  920. if(!gagajf.isNull($(this).attr('id'))){
  921. if($(this).attr('id') == 'sizeFilterDiv'){
  922. searchId = 'size';
  923. }else{
  924. searchId = $(this).attr('id').replace('FilterDiv','');
  925. }
  926. }
  927. if(!gagajf.isNull(searchId)){
  928. var data = '';
  929. if(searchId == 'price'){
  930. let priceSpan = '';
  931. $('#searchGoodsForm').find('input[name=priceArr]').each(function (idx){
  932. let formPrice = $(this).val();
  933. $('#filterForm #priceArea').find('li').each(function(index){
  934. let filterPrice = $(this).find('input[name=price]').val();
  935. if(formPrice == filterPrice){
  936. $("#price"+(index+1)).prop('checked',true);
  937. if(idx>0){
  938. priceSpan += ',';
  939. }
  940. priceSpan += $("#pricdSpan"+(index+1)).text();
  941. }
  942. });
  943. });
  944. // $('#filterForm #priceArea').find('li').each(function(index){
  945. // if($(this).find('input[name=price]').prop('checked') == true){
  946. // if(index > 0){
  947. // priceSpan += ',';
  948. // }
  949. // priceSpan += $("#pricdSpan"+(index+1)).text();
  950. // }
  951. // });
  952. $("#priceFilterDiv").find('.daps1').append('<span class="pic">'+priceSpan+'</span>');
  953. }else if(searchId == 'dcRate'){
  954. let dcRateSpan = '';
  955. $('#filterForm #dcRateArea').find('li').each(function(index){
  956. if($(this).find('input[name=dcRate]').prop('checked') == true){
  957. if(index > 1){
  958. dcRateSpan += ',';
  959. }
  960. dcRateSpan += $("#dcRateText"+(index+1)).text();
  961. }
  962. });
  963. $("#dcRateFilterDiv").find('.daps1').append('<span class="pic">'+dcRateSpan+'</span>');
  964. }else{
  965. $('#filterForm input[name='+searchId+']:checked').each(function(idx){
  966. if(searchId=='color'){
  967. $('#'+searchId+'FilterDiv').find('.daps1').find('.pic').find('span').html('');
  968. var mobTag = '';
  969. var color = $(this).attr('data-id');
  970. console.log('color::'+$(this).attr('data-id'));
  971. if(color=='FFFFFF'){
  972. mobTag += '<span class="pdColor-color" style="background-color:#'+color+';border:1px solid #aaa;"></span>';
  973. }else{
  974. mobTag += '<span class="pdColor-color" style="background-color:#'+color+'"></span>';
  975. }
  976. $("#"+searchId+"FilterDiv").find('.daps1').find('.pic').append(mobTag);
  977. }else if(searchId=='brandGroup'){
  978. $('#'+searchId+'FilterDiv').find('.daps1').find('span').html('');
  979. if(idx>0){
  980. data += ',';
  981. }
  982. data += $(this).attr('data-id');
  983. $("#"+searchId+"FilterDiv").find('.daps1').append('<span class="pic">'+data+'</span>');
  984. }else if(searchId=='size'){
  985. $('#'+searchId+'FilterDiv').find('.daps1').find('span').html('');
  986. if(idx>0){
  987. data += ',';
  988. }
  989. data += $(this).attr('data-id');
  990. $("#"+searchId+"FilterDiv").find('.daps1').append('<span class="pic">'+data+'</span>');
  991. }else if(searchId=='season'){
  992. $('#'+searchId+'FilterDiv').find('.daps1').find('span').html('');
  993. if(idx>0){
  994. data += ',';
  995. }
  996. data += $(this).attr('data-id');
  997. $("#"+searchId+"FilterDiv").find('.daps1').append('<span class="pic">'+data+'</span>');
  998. }else if(searchId=='benefit'){
  999. $('#'+searchId+'FilterDiv').find('.daps1').find('span').html('');
  1000. if(idx>0){
  1001. data += ',';
  1002. }
  1003. data += $(this).attr('data-id');
  1004. $("#"+searchId+"FilterDiv").find('.daps1').append('<span class="pic">'+data+'</span>');
  1005. }else{
  1006. $('#'+searchId+'FilterDiv').find('.daps1').find('span').html('');
  1007. if(idx>0){
  1008. data += ',';
  1009. }
  1010. data += $(this).attr('data-id');
  1011. $("#"+searchId+"FilterDiv").find('.daps1').append('<span class="pic">'+data+'</span>');
  1012. }
  1013. });
  1014. }
  1015. }
  1016. });
  1017. }
  1018. /*window.addEventListener('beforeunload', (event) => {
  1019. console.log('addEventListener-1');
  1020. // 표준에 따라 기본 동작 방지
  1021. event.preventDefault();
  1022. // Chrome에서는 returnValue 설정이 필요함
  1023. // event.returnValue = '';
  1024. console.log('addEventListener-2');
  1025. let scrollTop = document.documentElement.scrollTop;
  1026. console.log('addEventListener->'+scrollTop);
  1027. gagaInfiniteScroll.pageStatus.backScroll = scrollTop;
  1028. });*/
  1029. var fnClickGoodsCd = function (goodsCd, mainColorCd){
  1030. // let scrollTop = document.documentElement.scrollTop;
  1031. // gagaInfiniteScroll.pageStatus.backScroll = scrollTop;
  1032. let scrollpos = $(window).scrollTop();
  1033. localStorage.setItem('scrollpos', scrollpos);
  1034. gagajf.setCookie("scrollpos", scrollpos);
  1035. // fnPushHistory();
  1036. cfnGoToGoodsDetail(goodsCd, mainColorCd);
  1037. }
  1038. var fnPushHistory = function(){
  1039. gagaInfiniteScroll.pushHistory(
  1040. gagaInfiniteScroll.pageStatus.nowPage
  1041. , $(window).scrollTop()
  1042. , $('#container').height()
  1043. , gagaInfiniteScroll.pageStatus.loadPage
  1044. , 0
  1045. , gagaInfiniteScroll.obj.$ajaxBox.html()
  1046. , gagaInfiniteScroll.pageStatus.backScroll
  1047. );
  1048. }
  1049. // 필터 초기화
  1050. var fnFilterReset = function (){
  1051. //document.location.href = currUrl;
  1052. $("#searchGoodsForm input:hidden[name=brandGroupArr]").remove();
  1053. $("#searchGoodsForm input:hidden[name=sizeArr]").remove();
  1054. // $("#searchGoodsForm input:hidden[name=dcRateFrom]").remove();
  1055. // $("#searchGoodsForm input:hidden[name=dcRateTo]").remove();
  1056. // $("#searchGoodsForm input:hidden[name=priceFrom]").remove();
  1057. // $("#searchGoodsForm input:hidden[name=priceTo]").remove();
  1058. $("#searchGoodsForm input:hidden[name=priceArr]").remove();
  1059. $("#searchGoodsForm input:hidden[name=dcRateArr]").remove();
  1060. $("#searchGoodsForm input:hidden[name=ageArr]").remove();
  1061. $("#searchGoodsForm input:hidden[name=seasonArr]").remove();
  1062. $("#searchGoodsForm input:hidden[name=colorArr]").remove();
  1063. $("#searchGoodsForm input:hidden[name=benefitArr]").remove();
  1064. $("#searchGoodsForm input:hidden[name=newGoods]").val('');
  1065. $("#unisex").prop('checked',false);
  1066. $("#unisex").attr('onclick','fnResetListIdx();fnFilterOption(this,\'on\');');
  1067. $("#searchGoodsForm input:hidden[name=unisex]").remove();
  1068. $("#newGoods").prop('checked',false);
  1069. $("#newGoods").attr('onclick','fnResetListIdx();fnFilterOption(this,\'on\');');
  1070. // $("#searchGoodsForm input:hidden[name=newGoods]").val('40');
  1071. fnFilterSliderMove(0,5);
  1072. fnDcRateFilterSliderMove(0,10);
  1073. $('.filter_content .sort').find('input[type=checkbox]').each(function (idx){
  1074. $(this).prop('checked',false);
  1075. });
  1076. gagaInfiniteScroll.pageStatus.filterHtml = '';
  1077. gagaInfiniteScroll.pageStatus.filterStatHtml = '';
  1078. $("#filterData").html('');
  1079. fnCategoryGoodsInfiniteScrollInit();
  1080. fnGoodsListSearch();
  1081. }
  1082. // 필터 초기화
  1083. var fnMobFilterReset = function (){
  1084. $(".list_defult").hide();
  1085. $("#searchGoodsForm input:hidden[name=brandGroupArr]").remove();
  1086. $("#searchGoodsForm input:hidden[name=sizeArr]").remove();
  1087. $("#searchGoodsForm input:hidden[name=dcRateFrom]").remove();
  1088. $("#searchGoodsForm input:hidden[name=dcRateTo]").remove();
  1089. $("#searchGoodsForm input:hidden[name=priceFrom]").remove();
  1090. $("#searchGoodsForm input:hidden[name=priceTo]").remove();
  1091. $("#searchGoodsForm input:hidden[name=ageArr]").remove();
  1092. $("#searchGoodsForm input:hidden[name=seasonArr]").remove();
  1093. $("#searchGoodsForm input:hidden[name=colorArr]").remove();
  1094. $("#searchGoodsForm input:hidden[name=benefitArr]").remove();
  1095. $("#searchGoodsForm input:hidden[name=newGoods]").val('');
  1096. $("#unisex").prop('checked',false);
  1097. $("#unisex").attr('onclick','fnResetListIdx();fnFilterOption(this,\'on\');');
  1098. $("#searchGoodsForm input:hidden[name=unisex]").remove();
  1099. $("#newGoods").prop('checked',false);
  1100. $("#newGoods").attr('onclick','fnResetListIdx();fnFilterOption(this,\'on\');');
  1101. $('.allFilter .chkFilter').find('input[type=checkbox]').each(function (idx){
  1102. $(this).prop('checked',false);
  1103. });
  1104. $('.allFilter .chkFilter .daps1').find('span').each(function (idx){
  1105. $(this).remove();
  1106. });
  1107. gagaInfiniteScroll.pageStatus.filterHtml = '';
  1108. gagaInfiniteScroll.pageStatus.filterStatHtml = '';
  1109. fnCategoryGoodsInfiniteScrollInit();
  1110. fnGoodsListSearch();
  1111. }
  1112. //****************상품리스트 end **********************************