PageSourceSearch

https://www.westelm.co.kr/assets/js/eshop/eshop-common.js?ver=20210930

js westelm.co.kr collected 2026-10-08 23:21:24 UTC 34,204 bytes, 870 lines download raw bytes

1(function($) {
2    _CAT_PATH = "CPATH";
3    _SEARCH_PATH = "SPATH";
4    //GNB 카테고리 path 삭제
5    $(".all-cat-box a").on("click",function(){ $.sessionStorage.remove(_CAT_PATH);});
6
7    /* SNS 공유하기- facebook, 링크 복사 시작 */
8 	var _url = decodeURIComponent(window.location.href);//공유할 url
9
10	//페이스북 sns 공유
11	$(document).on("click",".fb",function(e){
12		e.preventDefault();
13		var url = 'http://www.facebook.com/sharer/sharer.php?u=' + _url;
14        window.open(url);
15	})
16
17    //클립보드 복사
18	$(document).on("click",".link",function(e){
19		e.preventDefault();
20		//복사한 값을 넣을 임시 input 붙여넣기
21		var html = "<input id='clip_target' type='text' value='' style='position:absolute;top:-9999em;'/>";
22		$(this).append(html);
23
24		//input 박스에 값 설정
25		$('#clip_target').val(_url);
26		//input 박스 셀렉트
27		$('#clip_target').select();
28
29		//셀렉트 한 input 박스를 복사
30		try {
31			var successful = document.execCommand('copy');
32			if(successful){
33				alert("URL이 복사 되었습니다. 원하시는 곳에 붙여넣기 해 주세요.");
34			}else {
35				alert('이 브라우저는 지원하지 않습니다.');
36			}
37		} catch (err) {
38			alert('이 브라우저는 지원하지 않습니다.');
39		}
40    });
41
42	/* SNS 공유하기- facebook, Kakao, 링크 복사 끝 */
43    $.eshop = {
44        STRCHK : /,|"|'|script|\\|<|>/,
45        priceComma : function (){
46            //방향키 인경우는 제외 처리(글쓰다가 앞으로 다시 안가지는 경우때문)
47            if (event.keyCode >= 37 && event.keyCode <= 40)
48                return;
49            var val = this.value;
50            var re = /[^0-9]/gi;   //0~9 까지만 허용
51            val = val.replace(re, "");
52            val = $.eshop.setComma(val);
53            this.value = val;
54        },
55        setComma : function(num){
56        	if(typeof(num) =="number") {
57        		num = num.toString();
58        	} else if(typeof(num) =="string") {
59
60        	} else {
61        		//console.error("[Function setComma] : number 혹은 string 유형을 입력하세요.");
62        		return num;
63        	}
64            return num.replace(/(\d)(?=(?:\d{3})+(?!\d))/g,"$1,");
65        },
66        removeChar : function(num){
67            return num.replace(/[^0-9]/gi, "");
68        },
69        removeComma : function(str){
70
71            return str.replace(/,/g,'');
72        },
73        addToCart: function(goodsSn, compGoodsSn, qty ,goodsType){
74            var data = [];
75            var datas = [];
76            data.push({
77                "goodsSn":goodsSn,
78                "qty" : qty
79            });
80		    datas.push({"cartVOList":data,"goodsType": goodsType});
81		    $.eshop.callCart(datas, true, false);
82        },
83        buyNow :function(obj){
84            var datas = [];
85            $.each(obj, function(a,b){
86              var data = [];
87              data.push({
88                    "goodsSn":b.goodsSn,
89                    "qty" : b.qty
90                });
91                datas.push({cartVOList :data , goodsType: b.goodsType , immedPurYn : "Y"});
92            })
93
94		    $.eshop.callCart(datas, false, true,function(){$(location).attr("href","/order"); });
95        },
96        callCart: function(data, common, immedPurYn, callbackfun){
97            var cartVOList = [];
98            var url = "/cart/insert";
99            var sendData = {"cartVOList": data};
100            //console.log(immedPurYn)
101            if(immedPurYn){
102                url = "/order/prepare";
103                sendData = {"cartVOList": data, "immedPurYn" : "Y"};
104            }
105            $.ajax({
106                url : url,
107                method : "post",
108                contentType: "application/json",
109                dataType : "json", // json으로 주고받을때는 꼭 있어야 함
110                data : JSON.stringify(sendData),
111                success : function (result) {
112                    if(result.resultCode === "00"){
113                        // 애드패커 개발 / 커스텀 이벤트 - 장바구니
114                        if(!immedPurYn){
115                            $.each(data, function(i, cartData){
116                                $.each(cartData.cartVOList || [], function(j, cartItem){
117                                    NAP.q.push(['event', 'add_to_cart', {
118                                        prod_id: cartItem.goodsSn,
119                                        pur_quantity: cartItem.qty
120                                    }]);
121                                });
122                            });
123                        }
124                        //alert("장바구니 담았소");
125                        if(common){
126                            util.modalOpen($('.d-cart'), $(this));
127                        }else if(callbackfun !== null && callbackfun !== undefined) {
128                            callbackfun.call(null,result, immedPurYn);
129                        }
130                        //바로구매가 아닐때만 장바구니 카운트 변경 스크립트 실행
131                        if(!immedPurYn){
132                            if(result.resultData.cartCnt === 0){
133                            $(".util-links").find(".cnt").hide();
134                            }
135                            else{
136                                $(".util-links").find(".cnt").show();
137                            }
138                        }
139
140                        $(".util-links").find(".cnt").text(result.resultData.cartCnt);
141                    }else{
142                        alert(result.resultMsg);
143                    }
144                }
145		    });
146        },
147        numberonly : function (){
148            //방향키 인경우는 제외 처리(글쓰다가 앞으로 다시 안가지는 경우때문)
149            if (event.keyCode >= 37 && event.keyCode <= 40)
150                return;
151            var val = this.value;
152            var re = /[^0-9]/gi;   //0~9 까지만 허용
153            val = val.replace(re, "");
154            this.value = val;
155        },
156        numberqty : function (){
157            //방향키 인경우는 제외 처리(글쓰다가 앞으로 다시 안가지는 경우때문)
158            if (event.keyCode >= 37 && event.keyCode <= 40)
159                return;
160            var val = this.value;
161            var re = /[^0-9]/gi;   //0~9 까지만 허용
162            val = val.replace(re, "");
163            if(val === "") val=1;
164            this.value = val;
165        },
166        checkTextareaCnt: function ($obj, id){
167        	var targetLength = $obj.val().length;
168
169        	var $target;
170            if (util.isEmpty(id)) {
171                $target = $obj.next();
172            } else {
173                $target = $("#" + id);
174            }
175        	//maxLength 구하기
176            var maxLength = $target.html().split("/")[1];
177            maxLength = $.eshop.removeComma(maxLength);
178
179            if (targetLength > maxLength) {
180                alert(maxLength + "자를 초과 입력 할 수 없습니다.");
181                var csutStr = $obj.val().substr(0, maxLength);
182                $obj.val(csutStr);
183                targetLength = maxLength;
184            }
185            //현재 글자수 보여주기
186            $target.html(util.comma(targetLength) + "/" + util.comma(maxLength));
187        }, comImgField :{
188        	v: {
189        		delSns: []
190        	}
191        	, init : function () {
192        		this.bind.init();
193        	}, bind: {
194        		init: function() {
195        			this.fileClick();
196        			this.fileChange();
197        			this.delImg();
198
199        		}, fileClick: function () {
200        			$("#fileAdd").on("click", function () {
201        				// 선택된 index 파일 open
202        				$("input[name=inputFile]:last").trigger("click");
203        			});
204        		}, fileChange: function () {  // 파일업로드시 이미지 노출 & 유효성 검사
205        			$("input[name=inputFile]").off().on("change", function () {
206        				$.eshop.comImgField.action.fileValidation(this);
207        			});
208        		}, delImg: function () {
209        			$("a[name=imgDel]").off().on("click", function () {
210        				if(confirm($.eshop.msg.confirm.picDelete)){
211        					var index = $(this).parent().parent().find("span").index($(this).parent());
212            				$.eshop.comImgField.action.removeImg(index, $(this).parent().find("input:hidden").val());
213        				}
214        			});
215        		}
216        	}, action: {
217        		fileValidation: function ($input) {
218        			// $input : 파일업로드 input 객체
219        			if ($($input).val()!="") {
220        				//파일크기 확인
221        		    	if($input.files[0].size > (1024 * 1024 * 10)){
222        			    	alert($.eshop.msg.alert.pic_capa);
223        			    	$($input).val("");
224        			    	return;
225        			    }
226        		        //확장자 확인
227        		    	var ext = $($input).val().split('.').pop().toLowerCase();
228        				if($.inArray(ext, ['gif','png','jpg','jpeg']) == -1) {
229        					alert($.eshop.msg.alert.pic_ext);
230        					$($input).val("");
231        					return;
232        				}
233        				$.eshop.comImgField.render.previewImg($input);
234        			}
235        		}, removeImg: function (index, sn) {
236        			if(sn) { // 수정할 때 불러온 파일SN 있을 경우 지운파일의 SN 푸시
237        				$.eshop.comImgField.v.delSns.push(sn);
238        			}
239        			$("#delFileSns").val($.eshop.comImgField.v.delSns);
240        			$($("span[name=fileImgSpan]")[index]).remove();
241        			$($("input[name=inputFile]")[index]).remove();
242        			if($("span[name=fileImgSpan]").length === 5){
243        				$("#fileAdd").hide();
244        			} else {
245        				$("#fileAdd").show();
246        			}
247
248        		}
249        	}, render: {
250        		previewImg: function ($input) {
251        			if ( window.FileReader ) {
252       				 /*IE 9 이상에서는 FileReader  이용*/
253       				var reader = new FileReader();
254       			        reader.onload = function (e) {
255       			        	$.eshop.comImgField.render.renderImg(e.target.result);
256       			        };
257       			        reader.readAsDataURL($input.files[0]);
258       			        return $input.files[0].name;  // 파일명 return
259	       			} else {
260	       				 /* IE8 전용 이미지 미리보기 */
261	       				$input.select();
262	       				var src = document.selection.createRange().text;
263	       				$.eshop.comImgField.render.renderImg(src);
264	       				var n = src.substring(src.lastIndexOf('\\') + 1);
265	       				return n; // 파일명 return
266	       			}
267        		}, renderImg: function (src) {
268        			var innerHtml ='';
269        			innerHtml += '<span class="file-img" name="fileImgSpan">';
270        			innerHtml += '	<img src="' + src + '" alt="" name="fileImg">';
271        			innerHtml += '	<a href="#javascript:;" class="del" name="imgDel">삭제</a>';
272        			innerHtml += '</span>'
273        			innerHtml += '<input type="file" name="inputFile" style="display:none;"/>';  // 이 다음 파일 위한 파일태그
274
275        			$("#fileAdd").before(innerHtml);
276
277        			if($("span[name=fileImgSpan]").length === 5){
278        				$("#fileAdd").hide()
279        			} else {
280        				$("#fileAdd").show()
281        			}
282        			// 파일 변경 재바인딩
283        			$.eshop.comImgField.bind.fileChange();
284        			$.eshop.comImgField.bind.delImg();
285        		}
286        	}
287        }, pop: {
288        	duplSubmitFlag: false
289        	, fnSubmit: function(){ // 중복등록 X
290        		if($.eshop.pop.duplSubmitFlag){
291        			return false;
292        		} else {
293        			$.eshop.pop.duplSubmitFlag = true;
294        			return true;
295        		}
296        	}
297        }, msg: {
298        	confirm: {
299        		inqInsert: "입력하신 문의를 등록합니다."
300        		, inqUpdate: "수정을 완료합니다."
301        		, inqDelete: "등록하신 문의를 삭제합니다."
302        		, qnaDelete: "등록하신 Q&A를 삭제합니다."
303        		, vocDelete: "등록하신 고객의소리를 삭제합니다."
304        		, inqCancel: "문의 등록을 취소합니다.\n입력중이던 내용은 저장되지 않습니다."
305        		, picDelete: "선택하신 사진을 삭제 하시겠습니까?"
306        		, asDelete: "등록하신 온라인 A/S 신청을 삭제합니다."
307        		, asInsert: "입력하신 온라인 A/S 신청을 등록합니다."
308        		, update: "수정을 완료합니다."
309        		, asCancel: "온라인 A/S 신청 등록을 취소합니다.\n입력중이던 내용은 저장되지 않습니다."
310        	}, alert: {
311        		title: "제목을 입력 해 주세요"
312				, title_minlength: "제목은 최소 5자 이상입니다."
313				, typeCd: "의견분류를 선택 해 주세요"
314				, inqType: "문의유형을 선택 해 주세요"
315				, quest: "내용을 입력 해 주세요"
316				, quest_minlength: "내용은 최소 10자 이상입니다."
317				, pic_ext: "JPG, PNG, GIF 만 등록 가능합니다."
318				, pic_capa: "사진은 개당 10MB 이하, 전체 50MB 이하\n로만 등록 가능합니다."
319				, asBuyerNm: "구매시 등록 이름을 입력 해 주세요"
320				, asBuyerHp: "구매시 등록 휴대폰 번호를 입력 해 주세요"
321				, asPurAgnt: "구입 대리점을 입력 해 주세요"
322				, asReqArtc: "A/S요청품목을 입력 해 주세요"
323				, asItem: "A/S항목을 선택 해 주세요"
324				, sbc: "내용을 입력 해 주세요"
325				, sbc_minlength: "내용은 최소 10자 이상입니다."
326				, asPurPftm: "구입시기를 입력 해 주세요."
327				, postNo: "주소를 입력 해 주세요."
328				, draddr2: "상세주소를 입력 해 주세요."
329        	}
330        }
331        , addWish : function(goodsSn,obj){
332
333        	$.ajax({
334                type:"post",
335                url:"/mypage/insertWishList",
336                data: {"goodsSn":goodsSn},
337                dataType:"json",
338                success : function(data) {
339                	if( data.resultCode == "00" ){
340                		if( data.resultData == "0000" ){
341                   		 	alert("찜한 상품 목록에 추가되었습니다.");
342                   		 	if(obj.hasClass("btn-util")){
343                                obj.removeClass("btn-util").addClass("btn-confirm");
344                            }else{
345                   		 	    obj.addClass("on");
346                            }
347
348                   	 	}
349                    	else if(data.resultData =="0007"){
350                    	    util.modalOpen($('.d-login'), $(this));
351                    	}
352                    	else if(data.resultData =="0008"){
353                    		alert("최대 등록 가능한 개수를 초과하였습니다.")
354                    	}
355                    	else if(data.resultData =="0009") {
356                			alert("이미 찜한 상품 목록에 추가된 상품입니다.");
357                		}
358                	}
359                	else{
360        	       		 alert("처리중 오류가 발생하였습니다.");
361        	       	}
362        		}
363          	});
364
365        }
366        ,delWish :function(goodsSn,obj){
367            $.ajax({
368                type:"post",
369                url:"/mypage/deleteWish",
370                data: {goodsSn : goodsSn},
371                dataType:"JSON",
372                success : function(data) {
373                 if( data.resultCode == '00' ){
374                        //alert("찜한상품 목록에서 삭제되었습니다.");
375                     if(obj.hasClass("btn-confirm")){
376                        obj.removeClass("btn-confirm").addClass("btn-util");
377                    }else{
378                        obj.removeClass("on");
379                    }
380                 }else
381                 {
382                     alert("처리중 오류가 발생하였습니다.");
383                 }
384
385                }
386            });
387        }
388        ,selectSoldout : function(goodsSn, cmpoGoodsSn){
389
390            $.ajax({
391                url: "/mypage/saveRestock",
392                method: "post",
393                data: "goodsSn="+goodsSn+"&cmpoGoodsSn="+cmpoGoodsSn,
394                dataType: "json",
395                success: function (data) {
396                	if(data.resultCode === "00"){
397                    	if(data.resultData === "0000"){
398                    		alert("재입고 알림이 신청 되셨습니다.\n해당 내용은 마이페이지 > 재입고 알림 페이지\n에서 확인 하실 수 있습니다.");
399                    	} else if(data.resultData === "0009"){
400                    		alert("재입고 알림이 이미 신청된 상품입니다.\n알림취소는 마이페이지 > 재입고 알림 페이지\n에서 하실 수 있습니다.");
401                    	} else if(data.resultData === "0008"){
402                    		alert("재입고 알림 신청은 최대 10개 까지만 가능합니다.");
403                    	} else {
404
405                    		util.modalOpen($('.d-login'), $(this));
406                    	}
407                    }else{
408                        alert(data.resultMsg);
409                    }
410                },
411                fail:function(){
412                    alert("처리중 오류가 발생하셨습니다.");
413                }
414            });
415		}
416        ,getCoupon : function(cpnSn, obj) {
417            if(!cpnSn) {
418                alert("올바른 쿠폰이 아닙니다.");
419                return;
420            }
421            $.ajax({
422                url : "/coupon/membercouponissue",
423                dataType : "json",
424                contentType: "application/json",
425                data : {"cpnSn":cpnSn},
426                success : function (result) {
427                    if(result.resultCode === "00"){
428                        alert("쿠폰이 다운로드 되었습니다.\n(다운로드 된 쿠폰은 마이페이지\n내 쿠폰함에서 확인하실 수 있습니다.)");
429                        //$(obj).addClass("disabled");
430                        // 해당 펑션은 장바구니에서만 사용하는것이 확인 됨
431                        window.location.reload();
432                    }else{
433                        alert(result.resultMsg);
434                    }
435                },
436                error : function(jqXHR, textStatus, errorThrown) {
437                    if(jqXHR.status==461) {
438                        if(confirm("쿠폰 다운로드를 위해\n로그인이 필요합니다.")) {
439                            window.location.href = "/login?returnUrl="+$(location).attr("href");
440                        }
441                    }
442                }
443            });
444        }
445        ,getCouponAll : function(goodsSn,goodsQty){
446            $.ajax({
447                url : "/coupon/goodsqtycouponissue",
448                dataType : "json",
449                contentType: "application/json",
450                data : {"goodsSn":goodsSn,"goodsQty" : goodsQty},
451                success : function (result) {
452                    if(result.resultCode === "00"){
453                        alert("쿠폰이 다운로드 되었습니다.\n(다운로드 된 쿠폰은 마이페이지\n내 쿠폰함에서 확인하실 수 있습니다.)");
454                        // 해당 펑션은 장바구니에서만 사용하는것이 확인 됨
455                        window.location.reload();
456                    }else{
457                        alert(result.resultMsg);
458                    }
459                },
460                error : function(jqXHR, textStatus, errorThrown) {
461                    if(jqXHR.status==461) {
462                        if(confirm("쿠폰 다운로드를 위해\n로그인이 필요합니다.")) {
463                            window.location.href = "/login?returnUrl="+$(location).attr("href");
464                        }
465                    }
466                }
467            });
468        }
469        ,closeTopBnr : function(){
470            $.sessionStorage.set("leadBnr","N");
471        }
472    };
473    //리드배너 체크
474    if(!$.sessionStorage.get("leadBnr")){
475        $(".top-banner").show();
476    }
477
478    $(document).on("click",".d-add-to-wish",function(e){
479        e.preventDefault();
480
481        if($(this).hasClass("on") && $(this).hasClass("btn-wish")){
482            $.eshop.delWish($(this).data("goods_sn"),$(this));
483        }else{
484            $.eshop.addWish($(this).data("goods_sn"),$(this));
485        }
486
487
488
489    });
490    //재입고알림
491	$(document).on("click",".d-c-sold-btn",function(e){
492	    e.preventDefault();
493	    $.eshop.selectSoldout($(this).data("goods_sn"),"");
494    });
495
496    $(document).on("keyup","input[data-valid-number]",$.eshop.numberonly);
497    $(document).on("keyup","input[data-valid-qty]",$.eshop.numberqty);
498    $(document).on("keyup","input[data-valid-price]",$.eshop.priceComma);
499    $(document).on("click","a[href='#;']",function(e){e.preventDefault();});
500    $(document).on("click",".d-add-to-cart",function(e){
501        e.preventDefault();
502        $.eshop.addToCart($(this).data("goods_sn"),"",1,$(this).data("goods_type"));
503    });
504
505 /****
506     *  main script
507     */
508    $(".d-main-catsn").on("click",function(){
509        if($("#"+$(this).data("key")).find("div").length === 0){
510            var $div = $("#"+$(this).data("key"));
511            $.ajax({
512                url : "/main/bestgoods/"+$(this).data("catsn"),
513                method : "post",
514                dataType : "html",
515                success : function (result) {
516                    $div.html(result);
517                    gridSwiperSlider.reInit($(".grid-tab-cont .grid-cont", $div.closest(".grid-tab-wrap")));
518                }
519            });
520        }
521    });
522    $(".d-main-md-catsn").on("click",function(){
523        if($("#"+$(this).data("key")).find("div").length === 0){
524            var $div = $("#"+$(this).data("key"));
525            $.ajax({
526                url : "/main/mdgoods/"+$(this).data("catsn"),
527                method : "post",
528                dataType : "html",
529                success : function (result) {
530                    $div.html(result);
531                    gridSwiperSlider.reInit($(".grid-tab-cont .grid-cont", $div.closest(".grid-tab-wrap")));
532                }
533            });
534        }
535    });
536    //kcp 팝업
537    $(document).on("click",".d-kcppop",function() {
538
539        var site_cd_chk = '';
540        var site_info_chk = $('form[name="shop_check"] > input[name="site_info"]').val();
541
542        if ( 'WS' == site_info_chk ) {
543            $('form[name="shop_check"] > input[name="site_cd"]').attr('value', $('form[name="shop_check"] > input[name="ws_site_cd"]').val());
544        } else if ( 'PB' == site_info_chk ) {
545            $('form[name="shop_check"] > input[name="site_cd"]').attr('value', $('form[name="shop_check"] > input[name="pb_site_cd"]').val());
546        } else if ( 'PK' == site_info_chk ) {
547            $('form[name="shop_check"] > input[name="site_cd"]').attr('value', $('form[name="shop_check"] > input[name="pk_site_cd"]').val());
548        } else if ( 'WE' == site_info_chk ) {
549            $('form[name="shop_check"] > input[name="site_cd"]').attr('value', $('form[name="shop_check"] > input[name="we_site_cd"]').val());
550        } else {
551            $('form[name="shop_check"] > input[name="site_cd"]').attr('value', $('form[name="shop_check"] > input[name="ws_site_cd"]').val());
552        }
553
554        var popW = 500;
555        var popH = 450;
556        var left = Math.ceil((window.screen.width - popW) / 2);
557        var top = Math.ceil((window.screen.height - popH) / 2);
558        var status  = "menubar=no,scrollbars=no,resizable=no,status=no,top="+top+",left="+left+",height="+popH+",width="+popW;
559        var obj     = window.open('', 'kcp_pop', status);
560
561        document.shop_check.method = "post";
562        document.shop_check.target = "kcp_pop";
563        document.shop_check.action = "http://admin.kcp.co.kr/Modules/escrow/kcp_pop.jsp";
564        document.shop_check.submit();
565    });
566
567})(jQuery);
568
569
570var element_layer = document.getElementById('layer');
571
572function closeDaumPostcode() {
573    element_layer.style.display = 'none';
574}
575
576// 주소 레이어 팝업 호출
577function fnAddrPop(){
578
579	  new kakao.Postcode({
580	      oncomplete: function(data) {
581
582	    	  var fullRoadAddr = data.roadAddress;
583	          var extraRoadAddr = '';
584
585	          if(data.bname !== '' && /[동|로|가]$/g.test(data.bname)){
586	              extraRoadAddr += data.bname;
587	          }
588	          if(data.buildingName !== '' && data.apartment === 'Y'){
589	             extraRoadAddr += (extraRoadAddr !== '' ? ', ' + data.buildingName : data.buildingName);
590	          }
591	          if(extraRoadAddr !== ''){
592	              extraRoadAddr = ' (' + extraRoadAddr + ')';
593	          }
594	          if(fullRoadAddr !== ''){
595	              fullRoadAddr += extraRoadAddr;
596	          }
597	          $("#postNo").val( data.zonecode ).change();
598
599		      if( !util.isEmpty(data.jibunAddress) ){
600		    	  $("#addr1").val(data.jibunAddress)
601		      }else{
602		    	  $("#addr1").val(data.autoJibunAddress)
603		      }
604	          $("#draddr1").val(fullRoadAddr);
605	          $("#draddrBldgNm").val(data.buildingName);
606	          $("#addr2").val("");
607	          $("#draddr2").val("");
608	          $("#draddr2").focus();
609
610          element_layer.style.display = 'none';
611      },
612      width : '100%',
613      height : '100%',
614      maxSuggestItems : 5
615  }).embed(element_layer);
616
617  element_layer.style.display = 'block';
618
619  initLayerPosition();
620}
621
622function initLayerPosition(){
623    var width = 600;
624    var height = 500;
625    var borderWidth = 2;
626
627    element_layer.style.width = width + 'px';
628    element_layer.style.height = height + 'px';
629    element_layer.style.border = borderWidth + 'px solid';
630    element_layer.style.left = (((window.innerWidth || document.documentElement.clientWidth) - width)/2 - borderWidth) + 'px';
631    element_layer.style.top = (((window.innerHeight || document.documentElement.clientHeight) - height)/2 - borderWidth) + 'px';
632}
633
634//	주소 팝업 호출
635function fnOpenAddrPop(){
636
637	  new kakao.Postcode({
638	      oncomplete: function(data) {
639
640	    	  var fullRoadAddr = data.roadAddress;
641	          var extraRoadAddr = '';
642
643	          if(data.bname !== '' && /[동|로|가]$/g.test(data.bname)){
644	              extraRoadAddr += data.bname;
645	          }
646	          if(data.buildingName !== '' && data.apartment === 'Y'){
647	             extraRoadAddr += (extraRoadAddr !== '' ? ', ' + data.buildingName : data.buildingName);
648	          }
649	          if(extraRoadAddr !== ''){
650	              extraRoadAddr = ' (' + extraRoadAddr + ')';
651	          }
652	          if(fullRoadAddr !== ''){
653	              fullRoadAddr += extraRoadAddr;
654	          }
655	          $("#postNo").val( data.zonecode ).change();
656
657		      if( !util.isEmpty(data.jibunAddress) ){
658		    	  $("#addr1").val(data.jibunAddress)
659		      }else{
660		    	  $("#addr1").val(data.autoJibunAddress)
661		      }
662	          $("#draddr1").val(fullRoadAddr);
663	          $("#draddrBldgNm").val(data.buildingName);
664	          $("#addr2").val("");
665	          $("#draddr2").val("");
666	          $("#draddr2").focus();
667
668	      }
669}).open();
670
671}
672
673
674//쿠키 설정
675function setCookie(cookieName, value, exdays){
676    var exdate = new Date();
677    exdate.setDate(exdate.getDate() + exdays);
678    var cookieValue = escape(value) + ((exdays==null) ? "" : "; expires=" + exdate.toGMTString())+";path=/;";
679    document.cookie = cookieName + "=" + cookieValue;
680}
681
682//쿠키 삭제
683function deleteCookie(cookieName){
684    var expireDate = new Date();
685    expireDate.setDate(expireDate.getDate() - 1);
686    document.cookie = cookieName + "= " + "; expires=" + expireDate.toGMTString()+";path=/;";
687}
688
689//쿠키 정보가져옴
690function getCookie(cookieName) {
691    cookieName = cookieName + '=';
692    var cookieData = document.cookie;
693    var start = cookieData.indexOf(cookieName);
694    var cookieValue = '';
695    if(start != -1){
696        start += cookieName.length;
697        var end = cookieData.indexOf(';', start);
698        if(end == -1)end = cookieData.length;
699        cookieValue = cookieData.substring(start, end);
700    }
701    return unescape(cookieValue);
702}
703
704/**********************
705 * HPoint 처리 시작
706 **********************/
707//로그인
708function fnLogin(mcustNo, returnUrl, loginHpYn){
709
710	var unMcustNo = mcustNo;
711
712	$.ajax({
713        type:"post",
714        url:"/mbr/selectUserLoginInfo",
715        data:{mcustNo:unMcustNo, loginHpYn:loginHpYn},
716        dataType:"JSON",
717        cache:false,
718        async:false,
719        success : function(data) {
720        	var custInfo = data.response;
721        	if( custInfo.code == '0000' ){
722				deleteCookie("HPNT_SSO_FAIL_YN");
723        		if (util.isEmpty(returnUrl)) {
724        			//location.href="/index";
725        			console.log("o");
726        			location.reload();
727        		} else {
728        			location.href=returnUrl;
729        		}
730        	}else if( custInfo.code == '3000' ){
731        		fnShowUnLayer(unMcustNo); // 동시가입 팝업 호출
732        	}else if( custInfo.code == '0004' ){
733        		location.href="/mbr/mbrTempPasswordChg"; // 패스워드 변경 처리 (임시 비밀번호)
734        	}
735        }
736  });
737}
738
739//간편가입 창을 호출한다.
740function fnEasnAdms(mcustNo){
741
742	var httpUrl = "";
743
744	// 도메인 분기처리
745	if( _host.indexOf("dev.williams-sonoma.co.kr") > -1
746	 || _host.indexOf("dev.potterybarn.co.kr") > -1
747	 || _host.indexOf("dev.potterybarnkids.co.kr") > -1
748	 || _host.indexOf("dev.westelm.co.kr") > -1
749	){
750		httpUrl = "https://dev.h-point.co.kr:29835";
751	}else{
752		httpUrl = "https://www.h-point.co.kr";
753	}
754
755
756	var $form = $('<form></form>');
757    $form.attr('action', httpUrl + '/cu/join/simpJoinStart.nhd');
758    $form.attr('method', 'post');
759    //$form.attr('target', 'umbSimpJoinPop');
760    $form.append('<input type="hidden" value="D070" name="prtnrId">');
761    $form.append('<input type="hidden" value="1650" name="chnnlId">');
762    $form.append('<input type="hidden" value="' + mcustNo + '" name="ssoMcustNo">');
763    $form.appendTo('body');
764    $form.attr("target","popHInfEasnAdms");
765	openTab("", "popHInfEasnAdms", "800", "650");
766	$form.submit();
767
768}
769
770//동시가입 버튼 클릭시 호출
771function fnHInfSmtmAdms(){
772
773	var httpUrl = "";
774
775	// 도메인 분기처리
776	if( _host.indexOf("dev.williams-sonoma.co.kr") > -1
777	 || _host.indexOf("dev.potterybarn.co.kr") > -1
778	 || _host.indexOf("dev.potterybarnkids.co.kr") > -1
779	 || _host.indexOf("dev.westelm.co.kr") > -1
780	){
781		httpUrl = "https://dev.h-point.co.kr:29835";
782	}else{
783		httpUrl = "https://www.h-point.co.kr";
784	}
785
786	var varDomain = location.host;
787	var $form = $('<form></form>');
788    $form.attr('action', httpUrl + '/cu/join/start.nhd');
789    $form.attr('method', 'post');
790    //$form.attr('target', 'umbSimpJoinPop');
791    $form.append('<input type="hidden" value="D070" name="prtnrId">');
792    $form.append('<input type="hidden" value="1650" name="chnnlId">');
793    $form.append('<input type="hidden" name="frnchId">');
794    $form.append('<input type="hidden" name="brnchId">');
795    $form.append('<input type="hidden" value="02" name="prtnrRegGb">');
796    $form.append('<input type="hidden" value="' + varDomain + '" name="ptcoReqnMdaInf">');
797    $form.appendTo('body');
798    $form.attr("target","popHInfEasnAdms");
799	openTab("", "popHInfEasnAdms", "800", "650");
800	$form.submit();
801}
802
803function fnHInfCvrt(mbrSn){
804
805	var httpUrl = "";
806
807	// 도메인 분기처리
808	if( _host.indexOf("dev.williams-sonoma.co.kr") > -1
809	 || _host.indexOf("dev.potterybarn.co.kr") > -1
810	 || _host.indexOf("dev.potterybarnkids.co.kr") > -1
811	 || _host.indexOf("dev.westelm.co.kr") > -1
812	){
813		httpUrl = "https://dev.h-point.co.kr:29835";
814	}else{
815		httpUrl = "https://www.h-point.co.kr";
816	}
817
818	$.ajax({
819        type:"post",
820        url:"/mbr/selectHInfCvrtUserInfo",
821        data:{mbrSn:mbrSn},
822        dataType:"JSON",
823        cache:false,
824        async:false,
825        success : function(data) {
826
827        	var result = data.resultData;
828        	var hpNo = result.hpNo1 + "" + result.hpNo2 + "" + result.hpNo3;
829
830        	var varDomain = location.host;
831        	var $form = $('<form></form>');
832            $form.attr('action', httpUrl + '/cu/join/start.nhd');
833            $form.attr('method', 'post');
834            //$form.attr('target', 'umbSimpJoinPop');
835            $form.append('<input type="hidden" value="D070" 				name="prtnrId" 			/>');
836            $form.append('<input type="hidden" value="1650" 				name="chnnlId" 			/>');
837            $form.append('<input type="hidden" value="'+result.mbrNm+'" 	name="custNm"  			/>');
838            $form.append('<input type="hidden" value="'+result.bday+'"   	name="birthDt" 			/>');
839            $form.append('<input type="hidden" value="'+hpNo+'"   			name="mophNo"  			/>');
840            $form.append('<input type="hidden" value="'+result.mbrId+'"   	name="chId"    			/>');
841            $form.append('<input type="hidden" value="'+result.mbrSn+'"   	name="custUniqKey"  	/>');
842            $form.append('<input type="hidden" value="'+result.eml+'"   	name="email"  			/>');
843            $form.append('<input type="hidden" value="03" 					name="prtnrRegGb"		/>');
844            $form.append('<input type="hidden" value="' + varDomain + '" 	name="ptcoReqnMdaInf"	/>');
845            $form.appendTo('body');
846            $form.attr("target","popHInfCvrtAdms");
847        	openTab("", "popHInfCvrtAdms", "800", "650");
848        	$form.submit();
849
850        }
851  });
852
853}
854
855// 새탭 호출
856function openTab(url, popId, width, height){
857	window.open(url, popId);
858}
859
860//팝업 호출
861function openPop(url, popId, width, height){
862	window.open(url, popId, "width="+width+",height="+height);
863}
864/**********************
865 * HPoint 처리 종료
866 **********************/
867
868
869
870

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.