PageSourceSearch

https://econews.co.kr/vendors/NaverTalkTalk/navertalktalk.js

js econews.co.kr collected 2026-10-06 10:29:54 UTC 23,433 bytes, 548 lines download raw bytes

1/**
2 * 톡톡 배너스크립트 설정값
3 */
4var TALK_PARTNER_CENTER_STATIC_URL; // 톡톡 파트너센터 STATIC(CDN) URL
5var TALK_PARTNER_CENTER_URL; // 톡톡 파트너센터 URL
6var TALK_CHAT_URL; // 톡톡 채팅 URL
7var TALK_ENV; // 톡톡 환경정보
8
9/**
10 * 톡톡배너 설정
11 * - 파트너센터 및 채팅 URL 초기화 외
12 */
13function initTalkBannerConfig() {
14	// 스크립트 요청 URL 확인
15	var srcUrl = getScriptSrcUrl();
16	//console.log("srcUrl: " + srcUrl);
17	// 요청 URL 파라미터 확인
18	var env = "real";
19	var queryString = srcUrl.substring(srcUrl.indexOf("?") + 1, srcUrl.length);
20	var params = queryString.split("&");
21	for(var i = 0; i < params.length; i++) {
22		var name  = params[i].substring(0,params[i].indexOf("="));
23		var value = params[i].substring(params[i].indexOf("=") + 1, params[i].length);
24		if(isNaN(parseInt(value))) {
25			params[i] = params[i].replace(value, "'" + value + "'");
26		}
27		eval(params[i]);
28	}
29	TALK_ENV = env;
30	//console.log("TALK_ENV: " + TALK_ENV);
31	// 파트너센터 및 채팅 URL 초기화
32	TALK_PARTNER_CENTER_STATIC_URL = srcUrl.substring(0, srcUrl.indexOf("/js/banner/talk_banner.js"));
33	//console.log("TALK_PARTNER_CENTER_STATIC_URL: " + TALK_PARTNER_CENTER_STATIC_URL);
34	if(TALK_ENV == "real") {
35		TALK_PARTNER_CENTER_URL = "https://partner.talk.naver.com";
36		TALK_CHAT_URL = "http://talk.naver.com";
37	} else if(TALK_ENV == "beta") {
38		TALK_PARTNER_CENTER_URL = "https://beta-partner.talk.naver.com";
39		TALK_CHAT_URL = "http://beta.talk.naver.com";
40	} else if(TALK_ENV == "dev") {
41		TALK_PARTNER_CENTER_URL = "https://dev-partner.talk.naver.com";
42		TALK_CHAT_URL = "http://dev.talk.naver.com";
43	} else if(TALK_ENV == "dev2") {
44		TALK_PARTNER_CENTER_URL = "https://dev2-partner.talk.naver.com";
45		TALK_CHAT_URL = "http://dev2.talk.naver.com";
46	} else if(TALK_ENV == "local") {
47		TALK_PARTNER_CENTER_URL = "https://local-partner.talk.naver.com";
48		TALK_CHAT_URL = "http://dev.talk.naver.com";
49	}
50	//console.log("TALK_PARTNER_CENTER_URL: " + TALK_PARTNER_CENTER_URL);
51	//console.log("TALK_CHAT_URL: " + TALK_CHAT_URL);
52}
53
54/**
55 * 톡톡 스크립트 src URL 반환
56 */
57function getScriptSrcUrl() {
58	var srcUrl = "";
59	if(document.getElementById("talk_banner")) {
60		srcUrl = document.getElementById("talk_banner").getAttribute("src");
61	} else {
62		var scriptNode = document.getElementsByTagName("script");
63		for(var i = 0; i < scriptNode.length; i++) {
64			var src = scriptNode[i].getAttribute("src");
65			if(src && src.indexOf("talk_banner.js") != -1) {
66				srcUrl = src;
67				break;
68			}
69		}	
70	}
71	return srcUrl;
72}
73
74/**
75 * 톡톡배너정보 JSONP 요청
76 */
77function requestTalkBannerInfo() {
78	var talk_banner_divs = getElementsByClassNameCompatible("talk_banner_div");
79	if (talk_banner_divs.length) {
80		var dataPage = talk_banner_divs[0].getAttribute("data-page");
81		var dataPC = talk_banner_divs[0].getAttribute("data-pc");
82		var dataMobile = talk_banner_divs[0].getAttribute("data-mobile");
83		var userAgentDevice = (navigator.userAgent.indexOf("iPhone") > -1 || navigator.userAgent.indexOf("Android") > -1) ? 'mobile' : 'pc';
84		var canIShowDevice = (dataPC === 'Y' && userAgentDevice === 'pc') || (dataMobile === 'Y' && userAgentDevice === 'mobile');
85	
86		if ((dataPage === "all" || (dataPage === "main" && location.pathname === '/')) && canIShowDevice) {
87			for(var i = 0; i < talk_banner_divs.length; i++) {
88				var bannerNo = talk_banner_divs[i].getAttribute("data-id");
89				var refUrl = talk_banner_divs[i].getAttribute("data-ref"); // snippetUrl
90				var scriptNode = document.createElement("script");
91				scriptNode.type = "text/javascript";
92				scriptNode.src = TALK_PARTNER_CENTER_URL + "/banners/" + bannerNo + "?callback=talkBannerCallback";
93				if(refUrl) {
94					scriptNode.src += "&ref=" + refUrl;
95				}
96				document.getElementsByTagName('body')[0].appendChild(scriptNode);
97			}
98		}
99	}
100}
101
102/**
103 * 톡톡배너정보 JSONP 콜백
104 */
105function talkBannerCallback(response, refUrl) {
106	if(response.success) {
107		// 배너단말타입에 따른 CSS파일 로드
108		loadTalkBannerCss(response.data);
109		// 톡톡배너 생성
110		generateTalkBanner(response.data);
111	}
112}
113
114/**
115 * 톡톡배너 CSS파일 로드
116 * - 배너단말타입에 해당하는 CSS 로드
117 */
118function loadTalkBannerCss(bannerInfo) {
119	var headNode = document.getElementsByTagName("head")[0];
120	var linkNode = document.createElement("link");
121	linkNode.type = "text/css";
122	linkNode.rel = "stylesheet";
123	if(bannerInfo.bannerDeviceType == "PC") {
124		linkNode.href = TALK_PARTNER_CENTER_STATIC_URL + "/css/talk_banner.css";
125	} else if(bannerInfo.bannerDeviceType == "MOBILE") {
126		// linkNode.href = TALK_PARTNER_CENTER_STATIC_URL + "/css/m/talk_banner.css";
127		linkNode.href = TALK_PARTNER_CENTER_STATIC_URL + "/css/talk_banner.css";
128	}
129	headNode.appendChild(linkNode);
130}
131
132/**
133 * 톡톡배너 마크업 스크립트 생성
134 */
135function generateTalkBanner(bannerInfo) {
136    // 유입메시지 테스트 링크
137    // bannerInfo = { ...bannerInfo, refUrl: "https://www.youtube.com/watch?v=HofBTLQ1XAg" };
138
139	// // 기본형
140	// if(bannerInfo.bannerType == "BASIC") {
141		if(bannerInfo.bannerDeviceType == "PC") {
142			// 기본형 PC 타입
143			createTalkBannerBasicType(bannerInfo);
144		} else if(bannerInfo.bannerDeviceType == "MOBILE") {
145			// 모바일 이슈처리 스크립트 로드
146			loadTalkBannerMobileScript();
147			// 기본형 Mobile 타입
148			createTalkBannerBasicType(bannerInfo);
149		}
150	// // 명함형	
151	// } else if(bannerInfo.bannerType == "BUSINESSCARD") {
152	// 	if(bannerInfo.bannerDeviceType == "PC") {
153	// 		// 명함형 PC 타입
154	// 		createTalkBannerBusinesscardType(bannerInfo);
155	// 	} else if(bannerInfo.bannerDeviceType == "MOBILE") {
156	// 		// 모바일 이슈처리 스크립트 로드
157	// 		loadTalkBannerMobileScript();
158	// 		// 명함형 Mobile 타입
159	// 		createTalkBannerBusinesscardType(bannerInfo);
160	// 	}
161	// // 블로그	
162	// } else if(bannerInfo.bannerType == "BLOG") {
163	// 	if(bannerInfo.bannerDeviceType == "PC") {
164	// 		// 블로그 PC 타입
165	// 		createTalkBannerBlogType(bannerInfo);
166	// 	} else if(bannerInfo.bannerDeviceType == "MOBILE") {
167	// 		// 블로그 Mobile 타입은 지원하지 않음
168	// 	}
169	// }
170}
171
172/**
173 * 모바일전용 스크립트 로드
174 * - 배너타입이 Mobile 일때, 모바일 스크립트를 head 에 추가한다.
175 */
176function loadTalkBannerMobileScript() {
177	var headNode = document.getElementsByTagName("head")[0];
178	var scriptNode = document.createElement("script");
179	// 기기별 분기처리로 인한 script: 이 부분은 body 이전에 선언되어야 함
180	scriptNode.innerText = "document.documentElement.setAttribute('data-useragent', navigator.userAgent);";
181	headNode.appendChild(scriptNode);
182}
183
184/**
185 * [기본형]타입 배너 생성
186 */
187function createTalkBannerBasicType(bannerInfo) {
188	// 배너정보 확인
189	var bannerNo = bannerInfo.id;
190	/*var bannerType = bannerInfo.bannerType;
191	var bannerDeviceType = bannerInfo.bannerDeviceType;
192	var bannerName = bannerInfo.bannerName;*/
193	var colorType = bannerInfo.colorType;
194	var width = bannerInfo.width;
195	var height = bannerInfo.height;
196	var mainText = bannerInfo.mainText ? bannerInfo.mainText : "";
197	var responseImpossibleMainText = bannerInfo.responseImpossibleMainText ? bannerInfo.responseImpossibleMainText : "";
198	var bannerStatus = bannerInfo.bannerStatus;
199	var accountId = bannerInfo.accountId;
200	// 배너상태
201	var talk_preview_area_div = document.createElement("div");
202	var talk_preview_area_div_class = "talk_preview_area";
203	if(bannerStatus != "NORMAL") talk_preview_area_div_class += " off";
204	talk_preview_area_div.setAttribute("class", talk_preview_area_div_class);
205	// 배너링크
206	var talk_banner_link_a = document.createElement("a");
207	talk_banner_link_a.setAttribute("href", "#");
208	if(bannerStatus == "NORMAL") {
209		var canIRefUrl = location.href.includes(`${location.origin}/products/`);	// 유입 스크립트 삽입 할지
210		var refUrl = canIRefUrl ? "?ref=" + encodeURIComponent(bannerInfo?.refUrl || location.href) : '';
211		talk_banner_link_a.setAttribute("onclick", "javascript:window.open('" + TALK_CHAT_URL + "/" + accountId + refUrl + "', 'talktalk', 'scrollbars=1, resizable=1, width=486, height=745');return false;");
212	}
213	talk_banner_link_a.setAttribute("class", "talk_banner_link");
214	// 배너컬러타입
215	var talk_banner_preview_div = document.createElement("div");
216	var talk_banner_preview_div_class = "talk_banner_preview";
217	if(colorType == "WHITE") talk_banner_preview_div_class += " talk_expose_white";
218	if(colorType == "GREY") talk_banner_preview_div_class += " talk_expose_grey";
219	if(colorType == "GREEN") talk_banner_preview_div_class += " talk_expose_green";
220	if(colorType == "BLACK") talk_banner_preview_div_class += " talk_expose_black";
221	talk_banner_preview_div.setAttribute("class", talk_banner_preview_div_class);
222	// 배너 사이즈
223	var talk_banner_preview_div_style = bannerInfo.bannerType == "BASIC" ? "width:" + width + "px;height:" + height + "px;align-content:center;" : 'align-content:center;padding:5px 15px;gap:10px;';
224	talk_banner_preview_div.setAttribute("style", talk_banner_preview_div_style);
225	var ico_talk_banner_span = document.createElement("span");
226	ico_talk_banner_span.setAttribute("class", "ico_talk_banner");
227	ico_talk_banner_span.innerHTML = "톡톡";
228	// 배너문구
229	var talk_banner_desc_em = document.createElement("em");
230	var talk_banner_desc_em_class = "talk_banner_desc";
231	if(bannerStatus == "NORMAL") {
232		if(mainText) {
233			talk_banner_desc_em.innerHTML = mainText;
234			talk_banner_preview_div_class += " on";
235			talk_banner_preview_div.setAttribute("class", talk_banner_preview_div_class);
236		} else {
237			talk_banner_desc_em_class += " talk_hide";
238		}
239	} else {
240		if(responseImpossibleMainText) {
241			talk_banner_desc_em.innerHTML = responseImpossibleMainText;
242			talk_banner_preview_div_class += " on";
243			talk_banner_preview_div.setAttribute("class", talk_banner_preview_div_class);
244		} else {
245			talk_banner_desc_em_class += " talk_hide";
246		}
247	}
248	talk_banner_desc_em.setAttribute("class", talk_banner_desc_em_class);
249	talk_banner_desc_em.innerHTML = "톡톡 문의";
250	// 엘리먼트 조합
251	talk_banner_preview_div.appendChild(ico_talk_banner_span);
252	// em 태그 앞뒤에 공백 추가(margin + 4px 처리)
253	talk_banner_preview_div.appendChild(document.createTextNode(" "));
254	talk_banner_preview_div.appendChild(talk_banner_desc_em);
255	talk_banner_preview_div.appendChild(document.createTextNode(" "));
256	talk_banner_link_a.appendChild(talk_banner_preview_div);
257	talk_preview_area_div.appendChild(talk_banner_link_a);
258	// 배너 엘리먼트 등록
259	var talk_banner_divs = getElementsByClassNameCompatible("talk_banner_div");
260	for(var i = 0; i < talk_banner_divs.length; i++) {
261		if(talk_banner_divs[i].getAttribute("data-id") == bannerNo && 
262			(!talk_banner_divs[i].getAttribute("data-ref") || talk_banner_divs[i].getAttribute("data-ref") == refUrl)) {		
263			if(!talk_banner_divs[i].hasChildNodes()) {
264				talk_banner_divs[i].appendChild(talk_preview_area_div.cloneNode(true));
265			}
266		}
267	}
268}
269
270/**
271 * [명함형]타입 배너 생성
272 */
273function createTalkBannerBusinesscardType(bannerInfo) {
274	// 배너정보 확인
275	var bannerNo = bannerInfo.id;
276	/*var bannerType = bannerInfo.bannerType;
277	var bannerName = bannerInfo.bannerName;*/
278	var bannerDeviceType = bannerInfo.bannerDeviceType;
279	var colorType = bannerInfo.colorType;
280	var width = bannerInfo.width;
281	var height = bannerInfo.height;
282	var mainText = bannerInfo.mainText ? bannerInfo.mainText : "";
283	var detailText = bannerInfo.detailText ? bannerInfo.detailText : "";
284	var responseImpossibleMainText = bannerInfo.responseImpossibleMainText ? bannerInfo.responseImpossibleMainText : "";
285	var responseImpossibleDetailText = bannerInfo.responseImpossibleDetailText ? bannerInfo.responseImpossibleDetailText : "";
286	var bannerStatus = bannerInfo.bannerStatus;
287	var accountId = bannerInfo.accountId;
288	// 배너상태
289	var talk_preview_area_div = document.createElement("div");
290	var talk_preview_area_div_class = "talk_preview_area";
291	if(bannerStatus != "NORMAL") talk_preview_area_div_class += " off";
292	talk_preview_area_div.setAttribute("class", talk_preview_area_div_class);
293	// 배너링크
294	var talk_banner_link_a = document.createElement("a");
295	talk_banner_link_a.setAttribute("href", "#");
296	if(bannerStatus == "NORMAL") {
297		var refUrl = bannerInfo.refUrl ? encodeURIComponent(bannerInfo.refUrl) : encodeURIComponent(location.href);
298		talk_banner_link_a.setAttribute("onclick", "javascript:window.open('" + TALK_CHAT_URL + "/" + accountId + "?ref=" + refUrl + "', 'talktalk', 'scrollbars=1, resizable=1, width=486, height=745');return false;");
299	}
300	talk_banner_link_a.setAttribute("class", "talk_banner_link");
301	// 배너컬러타입
302	var talk_banner_preview_div = document.createElement("div");
303	var talk_banner_preview_div_class = "talk_banner_preview banner_type_card";
304	if(colorType == "WHITE") talk_banner_preview_div_class += " talk_expose_white";
305	if(colorType == "GREY") talk_banner_preview_div_class += " talk_expose_grey";
306	if(colorType == "GREEN") talk_banner_preview_div_class += " talk_expose_green";
307	if(colorType == "BLACK") talk_banner_preview_div_class += " talk_expose_black";
308	talk_banner_preview_div.setAttribute("class", talk_banner_preview_div_class);
309	// 배너 사이즈
310	var talk_banner_preview_div_style = "width:" + width + "px;height:" + height + "px;";
311	talk_banner_preview_div.setAttribute("style", talk_banner_preview_div_style);
312	var talk_banner_preview_inner_div = document.createElement("div");
313	talk_banner_preview_inner_div.setAttribute("class", "talk_banner_preview_inner");
314	var ico_talk_banner_span = document.createElement("span");
315	ico_talk_banner_span.setAttribute("class", "ico_talk_banner");
316	ico_talk_banner_span.innerHTML = "톡톡";
317	// 주요문구
318	var talk_banner_desc_em = document.createElement("em");
319	var talk_banner_desc_em_class = "talk_banner_desc";
320	if(bannerStatus == "NORMAL") {
321		if(mainText) {
322			talk_banner_desc_em.innerHTML = mainText;
323		} else {
324			talk_banner_desc_em_class += " talk_hide";
325		}
326	} else {
327		if(responseImpossibleMainText) {
328			talk_banner_desc_em.innerHTML = responseImpossibleMainText;	
329		} else {
330			talk_banner_desc_em_class += " talk_hide";
331		}
332	}
333	talk_banner_desc_em.setAttribute("class", talk_banner_desc_em_class);
334	// 상세문구
335	var talk_banner_detail_p = document.createElement("p");
336	var talk_banner_detail_p_class = "talk_banner_detail";
337	if(bannerStatus == "NORMAL") {
338		if(detailText) {
339			talk_banner_detail_p.innerHTML = detailText;
340		} else {
341			talk_banner_detail_p_class += " talk_hide";
342		}
343	} else {
344		if(responseImpossibleMainText) {
345			talk_banner_detail_p.innerHTML = responseImpossibleDetailText;	
346		} else {
347			talk_banner_detail_p_class += " talk_hide";
348		}
349	}
350	talk_banner_detail_p.setAttribute("class", talk_banner_detail_p_class);
351	// 문의하기 버튼
352	if(bannerDeviceType == "PC") {
353		var talk_banner_consult_div = document.createElement("div");
354		var talk_banner_consult_strong = document.createElement("strong");
355		talk_banner_consult_strong.setAttribute("class", "talk_banner_consult");
356		talk_banner_consult_strong.innerHTML = "문의하기";
357	}
358	// 엘리먼트 조합
359	talk_banner_preview_inner_div.appendChild(ico_talk_banner_span);
360	talk_banner_preview_inner_div.appendChild(talk_banner_desc_em);
361	talk_banner_preview_inner_div.appendChild(talk_banner_detail_p);
362	if(bannerDeviceType == "PC") {
363		talk_banner_preview_inner_div.appendChild(talk_banner_consult_strong);
364	}
365	talk_banner_preview_div.appendChild(talk_banner_preview_inner_div);
366	talk_banner_link_a.appendChild(talk_banner_preview_div);
367	talk_preview_area_div.appendChild(talk_banner_link_a);
368	// 배너 엘리먼트 등록
369	var talk_banner_divs = getElementsByClassNameCompatible("talk_banner_div");
370	for(var i = 0; i < talk_banner_divs.length; i++) {
371		if(talk_banner_divs[i].getAttribute("data-id") == bannerNo && 
372				(!talk_banner_divs[i].getAttribute("data-ref") || talk_banner_divs[i].getAttribute("data-ref") == refUrl)) {	
373			if(!talk_banner_divs[i].hasChildNodes()) {
374				talk_banner_divs[i].appendChild(talk_preview_area_div.cloneNode(true));
375			}
376		}
377	}
378}
379
380/**
381 * [블로그]타입 배너 생성
382 */
383function createTalkBannerBlogType(bannerInfo) {
384	// 배너정보 확인
385	var bannerNo = bannerInfo.id;
386	var bannerDeviceType = "PC"
387	/*var bannerType = bannerInfo.bannerType;
388	var bannerDeviceType = bannerInfo.bannerDeviceType;
389	var bannerName = bannerInfo.bannerName;
390	var colorType = bannerInfo.colorType;*/
391	var width = bannerInfo.width;
392	var height = bannerInfo.height;
393	var mainText = bannerInfo.mainText ? bannerInfo.mainText : "";
394	var detailText = bannerInfo.detailText ? bannerInfo.detailText : "";
395	var responseImpossibleMainText = bannerInfo.responseImpossibleMainText ? bannerInfo.responseImpossibleMainText : "";
396	var responseImpossibleDetailText = bannerInfo.responseImpossibleDetailText ? bannerInfo.responseImpossibleDetailText : "";
397	var bannerStatus = bannerInfo.bannerStatus;
398	var accountId = bannerInfo.accountId;
399	var profileImageUrl;
400	if(bannerInfo.profileImageUrl) {
401		profileImageUrl = bannerInfo.profileImageUrl.startsWith('https://') ? bannerInfo.profileImageUrl : TALK_PARTNER_CENTER_URL + "/" + bannerInfo.profileImageUrl;
402	} else {
403		profileImageUrl = TALK_PARTNER_CENTER_STATIC_URL + "/img/@tmp_no_profileimg.png";
404	}
405	// 배너상태
406	var talk_preview_area_div = document.createElement("div");
407	var talk_preview_area_div_class = "talk_preview_area";
408	if(bannerStatus != "NORMAL") talk_preview_area_div_class += " off";
409	talk_preview_area_div.setAttribute("class", talk_preview_area_div_class);
410	var talk_banner_preview_div = document.createElement("div");
411	talk_banner_preview_div.setAttribute("class", "talk_banner_preview banner_type_blog");
412	// 배너 사이즈
413	var talk_banner_preview_div_style = "width:" + width + "px;height:" + height + "px;";
414	talk_banner_preview_div.setAttribute("style", talk_banner_preview_div_style);
415	var talkpartner_img_area_div = document.createElement("div");
416	talkpartner_img_area_div.setAttribute("class", "talkpartner_img_area");
417	// 프로필이미지
418	var talkpartner_profile_img = document.createElement("img");
419	talkpartner_profile_img.setAttribute("class", "talkpartner_profile");
420	talkpartner_profile_img.setAttribute("width", "80");
421	talkpartner_profile_img.setAttribute("height", "80");
422	talkpartner_profile_img.setAttribute("alt", "판매자 프로필");
423	talkpartner_profile_img.setAttribute("src", profileImageUrl);
424	talkpartner_profile_img.setAttribute("onerror", "this.src='" + TALK_PARTNER_CENTER_STATIC_URL + "/img/@tmp_no_profileimg.png'");
425	var talkpartner_thumb_span = document.createElement("span");
426	talkpartner_thumb_span.setAttribute("class", "talkpartner_thumb");
427	var talk_banner_preview_inner_div = document.createElement("div");
428	talk_banner_preview_inner_div.setAttribute("class", "talk_banner_preview_inner");
429	// 주요문구
430	var talk_banner_desc_em = document.createElement("em");
431	var talk_banner_desc_em_class = "talk_banner_desc";
432	if(bannerStatus == "NORMAL") {
433		if(mainText) {
434			talk_banner_desc_em.innerHTML = mainText;
435		} else {
436			talk_banner_desc_em_class += " talk_hide";
437		}
438	} else {
439		if(responseImpossibleMainText) {
440			talk_banner_desc_em.innerHTML = responseImpossibleMainText;	
441		} else {
442			talk_banner_desc_em_class += " talk_hide";
443		}
444	}
445	talk_banner_desc_em.setAttribute("class", talk_banner_desc_em_class);
446	// 상세문구
447	var talk_banner_detail_p = document.createElement("p");
448	var talk_banner_detail_p_class = "talk_banner_detail";
449	if(bannerStatus == "NORMAL") {
450		if(detailText) {
451			talk_banner_detail_p.innerHTML = detailText;
452		} else {
453			talk_banner_detail_p_class += " talk_hide";
454		}
455	} else {
456		if(responseImpossibleMainText) {
457			talk_banner_detail_p.innerHTML = responseImpossibleDetailText;	
458		} else {
459			talk_banner_detail_p_class += " talk_hide";
460		}
461	}
462	talk_banner_detail_p.setAttribute("class", talk_banner_detail_p_class);
463	// 배너링크
464	var btn_bn_talk_button = document.createElement("button");
465	btn_bn_talk_button.setAttribute("class", "btn_bn_talk");
466	if(bannerStatus == "NORMAL") {
467		var refUrl = bannerInfo.refUrl ? encodeURIComponent(bannerInfo.refUrl) : encodeURIComponent(location.href);
468		btn_bn_talk_button.setAttribute("onclick", "javascript:window.open('" + TALK_CHAT_URL + "/" + accountId + "?ref=" + refUrl + "', 'talktalk', 'scrollbars=1, resizable=1, width=486, height=745');return false;");
469	} else {
470		btn_bn_talk_button.setAttribute("disabled", "disabled");
471	}
472	var talk_btn_txt_span = document.createElement("span");
473	talk_btn_txt_span.setAttribute("class", "talk_btn_txt");
474	talk_btn_txt_span.innerHTML = "톡톡하기";
475	// 엘리먼트 조합
476	btn_bn_talk_button.appendChild(talk_btn_txt_span);
477	talk_banner_preview_inner_div.appendChild(talk_banner_desc_em);
478	talk_banner_preview_inner_div.appendChild(talk_banner_detail_p);
479	talkpartner_img_area_div.appendChild(talkpartner_profile_img);
480	talkpartner_img_area_div.appendChild(talkpartner_thumb_span);
481	talk_banner_preview_div.appendChild(talkpartner_img_area_div);
482	talk_banner_preview_div.appendChild(talk_banner_preview_inner_div);
483	talk_banner_preview_div.appendChild(btn_bn_talk_button);
484	talk_preview_area_div.appendChild(talk_banner_preview_div);
485	// 배너 엘리먼트 등록
486	var talk_banner_divs = getElementsByClassNameCompatible("talk_banner_div");
487	for(var i = 0; i < talk_banner_divs.length; i++) {
488		if(talk_banner_divs[i].getAttribute("data-id") == bannerNo && 
489				(!talk_banner_divs[i].getAttribute("data-ref") || talk_banner_divs[i].getAttribute("data-ref") == refUrl)) {	
490			if(!talk_banner_divs[i].hasChildNodes()) {
491				talk_banner_divs[i].appendChild(talk_preview_area_div.cloneNode(true));
492			}
493		}
494	}
495}
496/*##########################################################################################*/
497/**
498 * [IE8] getElementsByClassName 미지원 관련 처리
499 */
500function getElementsByClassNameCompatible(className) {
501	if(document.getElementsByClassName) {
502		return document.getElementsByClassName(className);
503	} 
504    var regEx = new RegExp('(^| )' + className+'( |$)');
505	var nodes = new Array();
506    var elements = document.body.getElementsByTagName("*");
507	var len = elements.length;
508    for(var i=0; i < len ; i++) {
509        if(regEx.test(elements[i].className)) {
510			nodes.push(elements[i]);
511		}
512	}
513	elements = null;
514    return nodes;
515}
516/*##########################################################################################*/
517/**
518 * 톡톡배너 초기화
519 */
520(function() {
521	// domready start
522	var fns = [], listener
523		, doc = typeof document === 'object' && document
524		, hack = doc && doc.documentElement.doScroll
525		, domContentLoaded = 'DOMContentLoaded'
526		, loaded = doc && (hack ? /^loaded|^c/ : /^loaded|^i|^c/).test(doc.readyState)
527
528	if (!loaded && doc)
529		doc.addEventListener(domContentLoaded, listener = function () {
530			doc.removeEventListener(domContentLoaded, listener)
531			loaded = 1
532			while (listener = fns.shift()) listener()
533		})
534
535	var addDomReadyCallback = function (fn) {
536		loaded ? setTimeout(fn, 0) : fns.push(fn)
537	}
538	// domready end
539
540	// 01. 설정 초기화
541	//initTalkBannerConfig();
542	addDomReadyCallback(initTalkBannerConfig);
543	// 02. 배너정보 요청
544	//requestTalkBannerInfo();
545	addDomReadyCallback(requestTalkBannerInfo);
546	// 03. 이후는 콜백함수에서 처리
547}());
548/*##########################################################################################*/

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.