PageSourceSearch

https://www.korea.kr/jsV5/livere8_lib.js

js korea.kr collected 2026-09-24 08:44:05 UTC 269,529 bytes, 7,510 lines download raw bytes

1LivereLib = function() {
2
3    this.mergedMemberData = false;
4    this.reloadSyncCount = 0;
5    this.baseServerURL = "dev.livere.co.kr";
6
7    this.charset = typeof(document.charset) == "undefined" ? document.characterSet : document.charset;
8    this.doctype = document.doctype != null || document.compatMode == "CSS1Compat" ? true : false;
9    this.quirks = document.compatMode == "BackCompat" ? true : false;
10    this.ie6 = navigator.userAgent.indexOf("MSIE 6");
11    this.libType = "A";
12    this.replyAdIndex = 0;
13
14    this.setSecure = function(protocol) {
15        livereSharedData.protocol = protocol;
16        livereSharedData.url = protocol + livereLib.baseServerURL;
17        livereSharedData.common.api_login_url = protocol + livereLib.baseServerURL + "/API_Service";
18    };
19
20    this.dispatchEvent = function(paramData) {
21        jQuery(this).trigger(paramData['type'], paramData);
22    };
23
24    var initDataRequest = false;
25    this.dataInited = function() {
26        if (!initDataRequest) {
27            initDataRequest = true;
28            return false;
29        }
30        return initDataRequest;
31    };
32
33    this.loadingComplete = function() {
34        jQuery("#livereReplyLoading").remove();
35        jQuery("#liverePlugIn").css("display", "block");
36        return false;
37    };
38
39    this.isLogged = function() {
40
41        if (!livereLib.mergedMemberData) {
42            livereLib.fire(null, "updateLinkAccData");
43        }
44
45        var s_datas = livereLib.getSmartLoginData();
46        var returnFlag = false;
47        if (s_datas) {
48            jQuery(s_datas['linkage_accs']).each(function(ii, vv) {
49                if (eval(vv).member_islogin == '1') returnFlag = true;
50            });
51        }
52
53        return returnFlag;
54    };
55
56    this.isOwner = function(member_group_seq) {
57        if (!livereLib.mergedMemberData) {
58            livereLib.fire(null, "updateLinkAccData");
59        }
60
61        var s_datas = livereLib.getSmartLoginData();
62        var returnFlag = false;
63        if (s_datas) {
64            jQuery(s_datas['linkage_accs']).each(function(ii, vv) {
65                if (eval(vv).member_group_seq == member_group_seq) returnFlag = true;
66            });
67        }
68
69        return returnFlag;
70    };
71
72    this.isPrimary = function(member_seq) {
73
74        if (!livereLib.mergedMemberData) {
75            livereLib.fire(null, "updateLinkAccData");
76        }
77        var s_datas = livereLib.getSmartLoginData();
78        if (typeof(s_datas) == 'object') {
79            var group_data = s_datas['group_data'];
80            return group_data.primary_member_seq == member_seq;
81        } else
82            return false;
83    };
84
85    this.fire = function(params, commands) {
86        params = params == null ? {} : params;
87        if (commands == 'customAPI') {
88            livereLib.control.customAPI(params);
89        } else {
90            var fun = eval("livereLib.control." + commands);
91            if (typeof(fun) == 'function') {
92                params['command'] = commands;
93                fun(params);
94            }
95        }
96    };
97
98    this.setRedirectPath = function() {
99        if (typeof(livereLib.redirect_path) == 'string') {
100            livereSharedData.smartLogin.redirect_path = encodeURIComponent(livereLib.redirect_path);
101        } else {
102            if (typeof(livereSharedData.smartLogin.redirect_path) == 'string') {
103                livereSharedData.smartLogin.redirect_path = livereSharedData.smartLogin.redirect_path;
104            } else {
105                livereSharedData.smartLogin.redirect_path = encodeURIComponent(window.location.href);
106            }
107        }
108    };
109
110
111    this.smartLoginInited = false;
112
113    this.isSecure = !! (location.protocol == 'https:');
114
115    this.start = function(callbackFunction) {
116        try {
117            var t = eval("jQuery");
118            window.jQueryImport = true;
119            livereLib.starting(callbackFunction);
120        } catch (e) {
121            var head = document.getElementsByTagName('head')[0];
122            var script = document.createElement('script');
123            script.type = 'text/javascript';
124            script.charset = "UTF-8";
125            var loaded = false;
126            script.onreadystatechange = function() {
127                if (this.readyState == 'loaded' || this.readyState == 'complete') {
128                    if (loaded) return;
129                    loaded = true;
130                    window.jQueryImport = true;
131                    livereLib.starting(callbackFunction);
132                }
133            };
134            script.onload = function() {
135                if (loaded) return;
136                loaded = true;
137                window.jQueryImport = true;
138                livereLib.starting(callbackFunction);
139            };
140            script.src = "https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js";
141
142            head.appendChild(script);
143        }
144    };
145
146    this.starting = function(callbackFunction) {
147        if (!window.binded) {
148            window.eventBinding();
149        }
150
151        if (livereLib.smartLoginInited) {
152            if (typeof(callbackFunction) == 'function') {
153                callbackFunction();
154            }
155            return;
156        }
157
158        livereLib.smartLoginInited = true;
159        livereLib.setRedirectPath();
160
161        livereSharedData.smartLogin.smartlogin_seq = smartlogin_seq;
162        livereSharedData.common.consumer_seq = consumer_seq;
163
164        var request = livereLib.url("smartlogin", null);
165
166        jQuery.getJSON(request, function(data) {
167
168            var result = livereLib.util.toJson(data);
169
170            livereSharedData.smartLogin.datas = result.resultData;
171
172            livereLib.fire(null, "updateLinkAccData");
173
174            var eventData = {};
175            eventData['type'] = 'livereEvent';
176            eventData['key'] = 'commitProperties';
177            eventData['value'] = 'smartlogin';
178
179            livereLib.dispatchEvent(eventData);
180
181            if (typeof(callbackFunction) == 'function') {
182                callbackFunction();
183            }
184
185            syncManager.init();
186        });
187    };
188
189    this.livereInited = false;
190    this.initLivereReply = function(params) {
191        if (livereLib.livereInited) return;
192        livereLib.livereInited = true;
193
194        var request = livereLib.url("livereDataLoad", params);
195        jQuery.getJSON(request, function(data) {
196            var result = livereLib.util.toJson(data);
197            livereSharedData.livereReply.consumer_status = result['CONSUMER_STATUS'];
198            livereSharedData.livereReply.managers = result['MANAGERS'];
199            livereSharedData.livereReply.livere_data = result['LIVERE'];
200            livereSharedData.livereReply.plugin_data = result['PLUGINS'];
201            livereSharedData.livereReply.rep_data = result['REP'];
202            livereSharedData.livereReply.reply_data = result['RE_LIST'];
203            livereSharedData.livereReply.initMessage = result['initMessage'];
204            livereSharedData.livereReply.message_emotion = result['message_emotion'];
205            livereSharedData.livereReply.livere_ad = result['livere_ad'];
206            livereSharedData.livereReply.livere_contents = result['livere_contents'];
207            livereSharedData.livereReply.livere_tenping = result['tenping_ad'];
208            livereSharedData.livereReply.livere_cizionad = result['cizion_ad'];
209            livereSharedData.livereReply.livere_replyad = shuffleArray(result['reply_ad']);
210
211            livereSharedData.livereReply.fakenews_campaign_message = result['fakenews_messages'];
212
213            livereLib.allCssLoad();
214
215            var fun = function() {
216                var eventData = {};
217                eventData['type'] = 'livereEvent';
218                eventData['key'] = 'livereDataInitComplete';
219                eventData['value'] = 'livereReply';
220
221                livereLib.dispatchEvent(eventData);
222            };
223
224            livereLib.fire(fun, "pluginLoad");
225        });
226
227        function shuffleArray(array) {
228            if (!array){
229
230                return null;
231            }
232
233            for (var i = 0; i < array.length - 1; i++) {
234                var j = i + Math.floor(Math.random() * (array.length - i));
235
236                var temp = array[j];
237                array[j] = array[i];
238                array[i] = temp;
239            }
240
241            return array;
242        }
243    };
244
245    this.renewLivere = function(n_refer, n_title) {
246        refer = n_refer;
247        title = n_title;
248
249        jQuery("#" + livereSharedData.livereReply.livere_data.targetDiv + " > *").remove();
250
251        if (livereSharedData.livereReply.livere_data.use_emotions > 0) {
252            jQuery("#" + livereSharedData.livereReply.livere_data.emotions_target_div + " > *").remove();
253        }
254
255        livereLib.livereInited = false;
256        livereLib.smartLoginInited = false;
257        livereSmartLogin.inited = false;
258        livereSharedData.livereReply.rep_data = null;
259        livereReply = new Livere(livere_seq, refer, title);
260        livereLib.start();
261    };
262
263    this.control = {};
264
265    this.control.pluginLoad = function(callbackFunction) {
266
267        if (livereLib.util.isEmpty(livereSharedData.livereReply.plugin_data) && livereLib.util.isEmpty(livereSharedData.livereReply.livere_data.custom_script_path)) {
268            callbackFunction();
269            return;
270        }
271
272        if (livereLib.util.isEmpty(livereSharedData.livereReply.plugin_data))
273            livereSharedData.livereReply.plugin_data = [];
274
275        if (!livereLib.util.isEmpty(livereSharedData.livereReply.livere_data.custom_script_path))
276            livereSharedData.livereReply.plugin_data.push({
277                script_path: livereSharedData.livereReply.livere_data.custom_script_path
278            });
279
280
281        var loaded_plugin_length = 0;
282        var plugin_length = livereSharedData.livereReply.plugin_data.length;
283        jQuery(livereSharedData.livereReply.plugin_data).each(function(ii, vv) {
284
285            if (!livereLib.util.isEmpty(vv.css_path)) livereLib.cssLoad(vv.css_path);
286            if (!livereLib.util.isEmpty(vv.custom_css_path)) livereLib.cssLoad(vv.custom_css_path);
287            vv.script_path = vv.script_path;
288            jQuery.getScript(vv.script_path, function() {
289                var var_id = vv.id;
290                var plugin = eval("livereReply." + var_id);
291
292                if (plugin) {
293                    if (vv.param_data != '') {
294                        var params = vv.param_data.split(",");
295                        jQuery(params).each(function(xx, vals) {
296                            var value = eval("vv.param" + (xx + 1));
297                            eval("livereReply." + var_id + "." + vals + " = '" + value + "';");
298                        });
299                    }
300                    plugin.init();
301                }
302
303                if (++loaded_plugin_length >= plugin_length) {
304                    callbackFunction();
305                }
306            });
307        });
308
309
310    };
311    this.control.s_s = function(params) {
312        params = params == null ? {} : params;
313
314        var request = livereLib.url("API_Livere", params);
315        jQuery.getJSON(request, function(data) {
316
317        });
318    };
319    this.control.getMessage = function(params) {
320        params = params == null ? {} : params;
321
322        var request = livereLib.url("API_Livere", params);
323        jQuery.getJSON(request, function(data) {
324            if (data.result == "200") {
325                var eventData = {
326                    type: "livereEvent",
327                    key: "getMessageComplete",
328                    value: data,
329                    requestData: params
330                };
331
332                livereLib.dispatchEvent(eventData);
333            }
334        });
335    };
336    this.control.action = function(params) {
337        params = params == null ? {} : params;
338
339        var request = livereLib.url("API_Livere", params);
340        jQuery.getJSON(request, function(data) {
341            var result = livereLib.util.toJson(data);
342
343            var eventData = {
344                type: "livereEvent",
345                key: "actionComplete",
346                value: result,
347                requestData: params
348            };
349
350            livereLib.dispatchEvent(eventData);
351
352            livereLib.processComplete();
353        });
354    };
355    this.control.customAPI = function(params) {
356        params = params == null ? {} : params;
357
358        var callbackFun = params['callback'];
359        var eventKeyStr = params['eventKey'];
360
361        params['callback'] = null;
362
363        var request = livereLib.url("API_Livere", params);
364
365        jQuery.getJSON(request, function(data) {
366            var result = livereLib.util.toJson(data);
367            if (!livereLib.util.isEmpty(callbackFun)) {
368                var fun = eval(callbackFun);
369                fun(data);
370            }
371            if (!livereLib.util.isEmpty(eventKeyStr)) {
372                var eventData = {};
373                eventData['type'] = 'livereEvent';
374                eventData['key'] = eventKeyStr;
375                eventData['value'] = result;
376
377                livereLib.dispatchEvent(eventData);
378            }
379            livereLib.processComplete();
380        });
381    };
382    this.control.snsAction = function(params) {
383        params = params == null ? {} : params;
384
385        var request = livereLib.url("API_Livere", params);
386        jQuery.getJSON(request, function(data) {
387            var result = livereLib.util.toJson(data);
388
389            var eventData = {};
390            eventData['type'] = 'livereEvent';
391            eventData['key'] = 'snsActionComplete';
392            eventData['value'] = result;
393
394            livereLib.dispatchEvent(eventData);
395        });
396    };
397    this.control.searchMemberData = function(params) {
398        params = params == null ? {} : params;
399
400        var request = livereLib.url("API_Livere", params);
401        jQuery.getJSON(request, function(data) {
402            var result = livereLib.util.toJson(data);
403
404            var eventData = {};
405            eventData['type'] = 'livereEvent';
406            eventData['key'] = 'searchMemberDataComplete';
407            eventData['value'] = result;
408
409            livereLib.dispatchEvent(eventData);
410        });
411    };
412    this.control.getExCount = function(params) {
413        params = params == null ? {} : params;
414        var url = "https://secure.livere.co.kr/count/getCount.php?livereCallBack=?&type=" + params['type'];
415        url += "&" + params['key'] + "=" + params['value'];
416
417        jQuery.getJSON(url, function(data) {
418            var eventData = {};
419            eventData['type'] = 'livereEvent';
420            eventData['key'] = 'getExCountComplete';
421            eventData['value'] = data;
422
423            livereLib.dispatchEvent(eventData);
424        });
425    };
426    this.control.plusExCount = function(params) {
427        params = params == null ? {} : params;
428        var url = "https://secure.livere.co.kr/count/plusCount.php?livereCallBack=?&type=" + params['type'];
429        url += "&" + params['key'] + "=" + params['value'] + "&plus=" + params['plus'];
430
431        jQuery.getJSON(url, function(data) {
432            var eventData = {};
433            eventData['type'] = 'livereEvent';
434            eventData['key'] = 'plusExCountComplete';
435            eventData['value'] = data;
436
437            livereLib.dispatchEvent(eventData);
438        });
439    };
440    this.articleActionFlag = false;
441    this.control.articleAction = function(params) {
442
443        if (livereLib.articleActionFlag) return;
444        livereLib.articleActionFlag = true;
445
446        params = params == null ? {} : params;
447
448        var request = livereLib.url("API_Livere", params);
449        jQuery.getJSON(request, function(data) {
450            var result = livereLib.util.toJson(data);
451
452            result['reply'] = params['reply'];
453
454            var eventData = {};
455            eventData['type'] = 'livereEvent';
456            eventData['key'] = 'articleActionComplete';
457            eventData['value'] = result;
458
459            livereLib.dispatchEvent(eventData);
460            livereLib.processComplete();
461            livereLib.articleActionFlag = false;
462        });
463    };
464    this.control.deleteReply = function(params) {
465        params = params == null ? {} : params;
466
467        params['command'] = 'deleteReply';
468        params['reply_seq'] = livereLib.util.isEmpty(params['reply_seq']) ? params['target_seq'] : params['reply_seq'];
469
470        var request = livereLib.url("API_Livere", params);
471
472        jQuery.getJSON(request, function(data) {
473            var result = livereLib.util.toJson(data);
474            result['reply'] = livereReply.getReplyObject(params.target_seq);
475
476            var eventData = {};
477            eventData['type'] = 'livereEvent';
478            eventData['key'] = 'replyDeleteEvent';
479            eventData['value'] = result;
480
481            livereLib.dispatchEvent(eventData);
482            livereLib.processComplete();
483        });
484    };
485
486    this.control.changeUserData = function(params) {
487        var request = livereLib.url("API_Livere", params);
488        jQuery.getJSON(request, function(data) {
489            var result = livereLib.util.toJson(data);
490
491            livereSharedData.smartLogin.datas = result.resultData;
492
493            livereLib.fire(null, "updateLinkAccData");
494
495            var eventData = {};
496            eventData['type'] = 'livereEvent';
497            eventData['key'] = 'renewMemberData';
498            eventData['value'] = 'fin';
499
500            livereLib.dispatchEvent(eventData);
501            livereLib.processComplete();
502        });
503    };
504
505    this.control.serviceLogout = function(params) {
506
507        var needSyncOff = false;
508
509        if (!livereLib.util.isEmpty(syncManager.syncMembership) && eval(syncManager.syncMembership).member_islogin == 1 && eval(syncManager.syncMembership).member_seq == params['member_seq']) {
510            needSyncOff = true;
511        }
512
513        jQuery(livereSharedData.smartLogin.datas.linkage_accs).each(function(ii, vv) {
514            if (eval(vv).member_seq = params['member_seq']) {
515                needSyncLogout = true;
516                return false;
517            };
518        });
519
520        params = params == null ? {} : params;
521        var request = livereLib.url("API_Livere", params);
522
523        jQuery.getJSON(request, function(data) {
524            var result = livereLib.util.toJson(data);
525            if (result.result == '200') {
526
527                if (result.command == 'clearLoginData') {
528
529                    livereSharedData.smartLogin.datas.accessable_group_data = null;
530
531                    jQuery(livereSharedData.smartLogin.datas.linkage_accs).each(function(ii, vv) {
532                        eval(vv).member_islogin = '0';
533                    });
534
535                    var eventData = {};
536                    eventData['type'] = 'livereEvent';
537                    eventData['key'] = 'livereLogout';
538                    eventData['value'] = 'fin';
539
540                    livereLib.dispatchEvent(eventData);
541                } else {
542                    livereSharedData.smartLogin.datas = result.resultData;
543                    livereLib.fire(null, "updateLinkAccData");
544
545                    var eventData = {};
546                    eventData['type'] = 'livereEvent';
547                    eventData['key'] = 'renewMemberData';
548                    eventData['value'] = 'fin';
549
550                    livereLib.dispatchEvent(eventData);
551                }
552
553                if (needSyncOff)
554                    syncManager.syncOff();
555
556            } else {
557                livereLib.control.checkError(result);
558            }
559            livereLib.processComplete();
560        });
561
562    };
563    this.control.setPosting     = function( params ) {
564        params = params == null ? {} : params;
565        var request = livereLib.url( "API_Livere" , params );
566
567        jQuery.getJSON( request , function(data) {
568            var result = livereLib.util.toJson( data );
569            if( result.result == '200' ) {
570                livereSharedData.smartLogin.datas = result.resultData;
571                livereLib.fire( null , "updateLinkAccData" );
572
573                var eventData = {};
574                eventData['type']   = 'livereEvent';
575                eventData['key']    = 'renewMemberData';
576                eventData['value']  = result;
577                eventData['requestData'] = params;
578
579                livereLib.dispatchEvent( eventData );
580            } else {
581                livereLib.control.checkError( result );
582            }
583            livereLib.processComplete();
584        } );
585    };
586    this.control.setPrimary     = function( params ) {
587        params = params == null ? {} : params;
588
589        var request = livereLib.url( "API_Livere" , params );
590
591        jQuery.getJSON( request , function(data) {
592            var result = livereLib.util.toJson( data );
593            if( result.result == '200' ) {
594                livereSharedData.smartLogin.datas = result.resultData;
595                livereLib.fire( null , "updateLinkAccData" );
596
597                var eventData = {};
598                eventData['type']   = 'livereEvent';
599                eventData['key']    = 'renewMemberData';
600                eventData['value']  = result;
601                eventData['requestData'] = params;
602
603                livereLib.dispatchEvent( eventData );
604            } else {
605                livereLib.control.checkError( result );
606            }
607            livereLib.processComplete();
608        } );
609    };
610    this.control.livereLogout   = function( params ) {
611
612        var needSyncOff = false;
613        if( !livereLib.util.isEmpty(syncManager.syncMembership) && eval(syncManager.syncMembership).member_islogin == 1 ) {
614            needSyncOff = true;
615        }
616
617        params = params == null ? {} : params;
618        params = params.type == 'click' ? {} : params;
619        params['command'] = 'livereLogout';
620
621        if(params.reloadmode) {
622            needSyncOff=false;
623            livereLib.reloadSyncCount++;
624        }
625
626        var request = livereLib.url( "API_Livere" , params );
627        jQuery.getJSON( request , function(data) {
628            var result = livereLib.util.toJson( data );
629            if( result.result == '200' ) {
630
631                livereSharedData.smartLogin.datas.accessable_group_data = null;
632
633                jQuery( livereSharedData.smartLogin.datas.linkage_accs ).each( function( ii , vv ) {
634                    eval( vv ).member_islogin = '0';
635                } );
636
637                var eventData = {};
638                eventData['type']   = 'livereEvent';
639                eventData['key']    = 'livereLogout';
640                eventData['value']  = result;
641                eventData['requestData'] = params;
642
643                livereLib.dispatchEvent( eventData );
644
645                if( needSyncOff )
646                    syncManager.syncOff();
647
648                if(params.reloadmode && livereLib.reloadSyncCount < 3) {
649                    syncManager.tryLogin = false;
650                    syncManager.syncStart();
651                }
652
653            } else {
654                livereLib.control.checkError( result );
655            }
656            livereLib.processComplete();
657        } );
658    };
659
660    this.control.renewMemberData = function(params) {
661        params = params == null ? {} : params;
662        params['command'] = 'sessionLogin';
663
664        var request = livereLib.url("API_Livere", params, true);
665        jQuery.getJSON(request, livereLib.control.renewMemberProcess);
666    };
667
668    this.control.renewMemberProcess = function(params) {
669        var result = livereLib.util.toJson(params);
670
671        livereSharedData.smartLogin.datas = result.resultData;
672        livereLib.fire(null, "updateLinkAccData");
673
674        var eventData = {};
675        eventData['type'] = 'livereEvent';
676        eventData['key'] = 'renewMemberData';
677        eventData['value'] = 'fin';
678
679        livereLib.dispatchEvent(eventData);
680        livereLib.processComplete();
681    };
682
683    this.control.updateLinkAccData = function(params) {
684
685        var smartlogindata = livereLib.getSmartLoginData();
686
687        if (smartlogindata != null) {
688            var group_data = smartlogindata['group_data'];
689            var linkage_accs = smartlogindata['linkage_accs'];
690
691            if (group_data != null) {
692
693                var member_datas = group_data['member_datas'];
694
695                jQuery(linkage_accs).each(function(ii, linked_acc) {
696                    linked_acc = eval(linked_acc);
697                    jQuery(member_datas).each(function(ii, login_acc) {
698                        if (linked_acc.name == login_acc.member_domain) {
699                            jQuery.extend(linked_acc, login_acc);
700                            livereLib.mergedMemberData = true;
701                        }
702                    });
703                });
704            }
705        }
706
707    };
708
709    this.control.writeReply = function(params) {
710        var request = livereLib.url("API_Livere", params);
711
712        jQuery.getJSON(request, function(data) {
713            livereLib.processComplete();
714
715            var result = livereLib.util.toJson(data);
716            if (result.result == '200') {
717
718                var reply = result.resultData;
719                livereSharedData.livereReply.rep_data.rep_seq = reply.rep_seq;
720                reply.regdate = result.requestDate;
721
722                var eventData = {};
723                eventData['type'] = 'livereEvent';
724                eventData['key'] = 'writeDone';
725                eventData['value'] = reply;
726
727                livereLib.dispatchEvent(eventData);
728            } else {
729                if (result.result == '520') {
730                    alert(result.message);
731                    return;
732                }
733
734                if (result.result >= 1500 && result.result <= 1502) {
735                    alert(livereLib.getMessage('plasterBlock' + (result.result - 1499)));
736
737                    return;
738                }
739            }
740        });
741    };
742
743    this.control.checkError = function(result) {
744        return;
745        if (!livereLib.util.isEmpty(result)) {
746            switch (result.result) {
747                case 1200:
748                    window.location.href = livereSharedData.url + "/API_Livere" + "?command=redirect&redirect_path=" + encodeURIComponent(window.location.href);
749                    break;
750                default:
751                    break;
752            }
753        }
754    };
755
756    this.control.relationAction = function(params) {
757        var request = livereLib.url("API_Livere", params);
758        jQuery.getJSON(request, function(data) {
759            var result = livereLib.util.toJson(data);
760
761            var eventData = {};
762            eventData['type'] = 'livereEvent';
763            eventData['key'] = 'relationComplete';
764            eventData['value'] = result;
765
766            livereLib.dispatchEvent(eventData);
767            livereLib.processComplete();
768        });
769    };
770
771    this.control.getCount = function(params) {
772        var request = livereLib.url("API_Livere", params);
773
774        jQuery.getJSON(request, function(data) {
775            var result = livereLib.util.toJson(data);
776            if (result.result == '200') {
777
778                var replyData = result.resultData;
779
780                var eventData = {};
781                eventData['type'] = 'livereEvent';
782                eventData['key'] = 'getCountComplete';
783                eventData['value'] = replyData;
784
785                livereLib.dispatchEvent(eventData);
786
787                livereLib.processComplete();
788            }
789        });
790    };
791    this.control.getArticle = function(params) {
792        var request = livereLib.url("API_Livere", params);
793
794        jQuery.getJSON(request, function(data) {
795            var result = livereLib.util.toJson(data);
796            var replyData = result.resultData;
797
798            var eventData = {};
799            eventData['type'] = 'livereEvent';
800            eventData['key'] = 'getArticleComplete';
801            eventData['value'] = replyData;
802
803            livereLib.dispatchEvent(eventData);
804
805            livereLib.processComplete();
806        });
807    };
808
809    this.processing = false;
810    this.wakeUpEvent = null;
811    this.control.processing = function(callBackFunc) {
812        if (!livereLib.processing) {
813            callBackFunc();
814        } else {
815            if (livereLib.util.isEmpty(livereLib.wakeUpEvent)) {
816                livereLib.wakeUpEvent = setTimeout(function() {
817                    livereLib.processing = false;
818                    livereLib.wakeUpEvent = null;
819                }, 500);
820            } else {
821                alert(livereLib.getMessage("proccesingMsg_8"));
822            }
823        }
824    };
825
826    this.processComplete = function() {
827        livereLib.dispatchEvent({
828            type: "livereEvent",
829            key: "processComplete"
830        });
831    };
832
833    this.initRepData = function() {
834        params = {
835            refer: refer,
836            title: title,
837            command: 'initRepData'
838        };
839        var request = livereLib.url("API_Livere", params);
840        jQuery.getJSON(request);
841    };
842
843    this.smartloginInit = function() {
844        if (!livereLib.dataInited()) {
845
846            livereLib.setRedirectPath();
847
848            var params = {
849                redirect_path: livereSharedData.smartLogin.redirect_path,
850                smartlogin_seq: smartlogin_seq,
851                consumer_seq: consumer_seq
852            };
853
854            livereLib.fire(params, "smartLoginStart");
855        }
856    };
857
858    this.getReply = function(reply_seq) {
859        return livereReply.getReplyObject(reply_seq);
860    };
861
862    this.getMemberDataByServiceName = function(serviceName) {
863        var returnService = null;
864        jQuery(serviceArray).each(function(ii, vv) {
865            if (vv.name == serviceName) {
866                returnService = eval(vv);
867            }
868        });
869        return returnService;
870    };
871
872    this.getSmartLoginData = function() {
873        var u_data = livereSharedData.smartLogin.datas;
874
875        if (u_data != null) {
876            var returnObject = {
877                linkage_accs: u_data.linkage_accs,
878                group_data: u_data.accessable_group_data,
879                member_datas: u_data.accessable_group_data ? u_data.accessable_group_data.member_datas : null,
880                sync_type: u_data.sync_type,
881                sync_acc: u_data.sync_acc,
882                custom_script_path: u_data.custom_script_path,
883                button_container: u_data.button_container,
884                view_container: u_data.view_container,
885                checkurl: u_data.checkurl,
886                loginurl: u_data.loginurl,
887                logouturl: u_data.logouturl
888            };
889
890            var endSvc = ["yozm", "cyworld", "me2day"];
891
892            jQuery.each(returnObject.linkage_accs, function(i,v) {
893                if(livereLib.util.inArray(endSvc, v) !== -1) {
894                    returnObject.linkage_accs.splice(i,1);
895                }
896            });
897
898            if( returnObject.member_datas !== null ){
899                jQuery.each(returnObject.member_datas, function(i,v){
900                    if (livereLib.util.inArray(endSvc, v.member_domain) !== -1
901                        && returnObject.member_datas[i].member_islogin === 1
902                        && returnObject.member_datas[i].member_ispost === 1) {
903
904                        var requestParams = { "member_seq" : returnObject.member_datas[i].member_seq };
905                        livereLib.fire(requestParams, "setPosting");
906                        returnObject.member_datas[i].member_ispost = 0;
907                    }
908                });
909            }
910
911
912            return returnObject;
913        }
914
915        return null;
916    };
917
918    this.readyObject = function(objName) {
919        var obj = navigator.appName.indexOf("Microsoft") != -1 ? window[objName] : window.document[objName];
920        if (typeof(obj.startWithPrimaryData) == 'function') {
921            obj.startWithPrimaryData(livereLib.getPrimaryDomain());
922        }
923    };
924
925    this.debug = function(obj) {
926        livereLib.util.debug(obj);
927    };
928
929    this.alert = function(obj) {
930        txtValue = "";
931
932        if (typeof(obj) == 'string') {
933            txtValue = obj;
934        } else {
935            obj = eval(obj);
936
937            for (var x in obj) {
938                txtValue += [x, obj[x]] + "\n\r\n";
939            }
940        }
941
942        alert(txtValue);
943    };
944
945    this.getPrimaryDomain = function() {
946        var domain_object = null;
947        var s_l = livereLib.getSmartLoginData();
948
949        if (s_l != null && s_l.member_datas != null) {
950            var prim_mem_seq = s_l.group_data.primary_member_seq;
951            jQuery.each(s_l.member_datas, function(ii, vv) {
952                if (vv.member_seq == prim_mem_seq) {
953                    domain_object = eval(vv.member_domain);
954                    return false;
955                }
956            });
957            return domain_object;
958        }
959        return null;
960    };
961
962    this.getPrimaryDomainToString = function() {
963        var data = livereLib.getPrimaryDomain();
964        if (data == null) return "";
965        var str = "";
966        str += "{";
967        str += "'member_domain':'" + data.member_domain + "' ,";
968        str += "'member_group_seq' : '" + data.member_group_seq + "',";
969        str += "'member_icon': '" + data.member_icon + "',";
970        str += "'member_name': '" + data.member_name + "',";
971        str += "'member_id': '" + data.member_id + "',";
972        str += "'member_islogin': '" + data.member_islogin + "',";
973        str += "'member_ispost': '" + data.member_ispost + "' ,";
974        str += "'member_seq': '" + data.member_seq + "' ,";
975        str += "'member_pw': '" + data.member_pw + "'";
976        str += "}";
977        return str;
978    };
979
980
981    this.request = function(params, callback) {
982        var url = params['url'];
983        params['url'] = null;
984        var paramsString = livereLib.util.objectToParameters(params);
985        var requestURL = url + "?" + paramsString + "&livereCallBack=?&dummy=" + Math.random();
986        jQuery.getJSON(requestURL, function(data) {
987            if (typeof(callback) == 'function') callback(data);
988        });
989    };
990
991
992    this.url = function(urlAddon, params) {
993        urlAddon = this.getUrl(urlAddon);
994
995        var paramsString = "";
996
997        if (params != null) {
998            paramsString = livereLib.util.objectToParameters(params);
999        }
1000
1001        paramsString = paramsString == "" ? "?" : paramsString + "&";
1002        paramsString += "dummy=" + Math.random() + "&livereCallback=?";
1003
1004        if (paramsString.indexOf("smartlogin_seq=") < 0 && livereSharedData.smartLogin.smartlogin_seq)
1005            paramsString += "&smartlogin_seq=" + livereSharedData.smartLogin.smartlogin_seq;
1006
1007        if (paramsString.indexOf("consumer_seq=") < 0)
1008            paramsString += "&consumer_seq=" + livereSharedData.common.consumer_seq;
1009
1010        if (paramsString.indexOf("rep_seq=") < 0 && livereSharedData.livereReply.rep_data)
1011            paramsString += "&rep_seq=" + livereSharedData.livereReply.rep_data.rep_seq;
1012
1013        if (paramsString.indexOf("livere_seq=") < 0 && livereSharedData.livereReply.livere_seq)
1014            paramsString += "&livere_seq=" + livereSharedData.livereReply.livere_seq;
1015
1016        if (paramsString.indexOf("?") == 0) {
1017            paramsString = paramsString.substring(1);
1018        }
1019
1020        return livereSharedData.url + "/" + urlAddon + "?" + paramsString;
1021    };
1022
1023    this.normalUrl = function(url, params) {
1024        url = "http://" + url;
1025        var paramsString = livereLib.util.objectToParameters(params);
1026        if (paramsString != "")
1027            return url += "?" + paramsString;
1028        return url;
1029    };
1030
1031    this.getUrl = function(val) {
1032        var charset = this.charset.toUpperCase();
1033        var flag = (charset == "UTF-8" || charset == "UTF8" || charset == "UTF");
1034
1035        switch (val) {
1036            case "upload":
1037                return flag ? val : "upload_kr";
1038            case "livereDataLoad":
1039                return flag ? val : "livereDataLoad_kr";
1040            case "smartlogin":
1041                return flag ? val : "smartlogin_kr";
1042            case "API_Livere":
1043                return flag ? val : "API_Livere_kr";
1044            case "External_Auth_API":
1045                return flag ? val : "External_Auth_API_kr";
1046
1047            default:
1048                return val;
1049        }
1050    };
1051
1052    this.jsLoad = function(js_name, js_src) {
1053        var loadComplete = function() {
1054            var eventData = {};
1055            eventData["type"]   = "livereEvent";
1056            eventData["key"]    = "livereJSLoadComplete";
1057            eventData["value"]  = js_name
1058            livereLib.dispatchEvent( eventData );
1059        };
1060
1061        try {
1062            var t = eval(js_name);
1063            eval("window." + js_name + "Import = " + "true;");
1064            loadComplete();
1065        } catch (e) {
1066            var head    = document.getElementsByTagName("head")[0];
1067            var script  = document.createElement("script");
1068            script.type = "text/javascript";
1069            script.charset = "UTF-8";
1070            var loaded = false;
1071            script.onreadystatechange= function () {
1072                if (this.readyState == "loaded" || this.readyState == "complete") {
1073                    if (loaded)return;
1074                    loaded = true;
1075                    eval("window." + js_name + "Import = " + "true;");
1076                    loadComplete();
1077                }
1078            };
1079            script.onload = function () {
1080                if (loaded)return;
1081                loaded = true;
1082                eval("window." + js_name + "Import = " + "true;");
1083                loadComplete();
1084            };
1085            script.src = js_src;
1086
1087            head.appendChild(script);
1088        }
1089    };
1090
1091    this.cssLoad = function(cssPath) {
1092        if (!window.livere_cssArray) window.livere_cssArray = Array();
1093        jQuery(window.livere_cssArray).each(function(ii, vv) {
1094            if (vv == cssPath) cssPath = null;
1095            return true;
1096        });
1097
1098        if (!livereLib.util.isEmpty(cssPath)) {
1099            window.livere_cssArray.push(cssPath);
1100            var head = document.getElementsByTagName('head')[0];
1101            var link = document.createElement('link');
1102            link.type = "text/css";
1103            link.rel = "stylesheet";
1104            link.href = cssPath;
1105
1106            head.appendChild(link);
1107        }
1108    };
1109
1110    this.allCssLoad = function(){
1111        var customCssPath = null;
1112        var customMCssPath = null;
1113
1114        /*jQuery("#livereContainer").append(this.htmlFactory.replyLoading);*/
1115
1116        if (livereSharedData.livereReply.livere_data.load_default_css == '1') {
1117            var msieversion = livereLib.util.msieversion();
1118            if( msieversion != 0 && msieversion <= 8 ){
1119                livereLib.cssLoad("https://101.livere.co.kr/css/default_livere8.css");
1120            }else{
1121                livereLib.cssLoad("https://101.livere.co.kr/css/default_livere8_gzip.css");
1122            }
1123
1124            if (livereSharedData.livereReply.livere_data.load_default_m_css == '1') {
1125                // Auto Off
1126                customCssPath = !livereLib.util.isEmpty(livereSharedData.livereReply.livere_data.css_path) ? livereSharedData.livereReply.livere_data.css_path : "";
1127                customMCssPath = !livereLib.util.isEmpty(livereSharedData.livereReply.livere_data.mobile_css_path) ? livereSharedData.livereReply.livere_data.mobile_css_path : "";
1128
1129                if (!livereLib.util.isEmpty(customCssPath)) {
1130                    // PC
1131                    livereLib.cssLoad(customCssPath);
1132                } else if (!livereLib.util.isEmpty(customMCssPath)) {
1133                    // M
1134                    livereLib.cssLoad("https://101.livere.co.kr/css/default_livere8_m.css");
1135                    livereLib.cssLoad(customMCssPath);
1136                }
1137            } else {
1138                // Auto On
1139                if (!livereLib.util.isMobileVisitor()) {
1140                    // PC
1141                    customCssPath = !livereLib.util.isEmpty(livereSharedData.livereReply.livere_data.css_path) ? livereSharedData.livereReply.livere_data.css_path : "";
1142
1143                    if (!livereLib.util.isEmpty(customCssPath)) {
1144                        livereLib.cssLoad(customCssPath);
1145                    }
1146                } else {
1147                    // M
1148                    livereLib.cssLoad("https://101.livere.co.kr/css/default_livere8_m.css");
1149                    customMCssPath = !livereLib.util.isEmpty(livereSharedData.livereReply.livere_data.mobile_css_path) ? livereSharedData.livereReply.livere_data.mobile_css_path : "";
1150
1151                    if (!livereLib.util.isEmpty(customMCssPath)) {
1152                        livereLib.cssLoad(customMCssPath);
1153                    }
1154                }
1155            }
1156        } else {
1157            customCssPath = !livereLib.util.isEmpty(livereSharedData.livereReply.livere_data.css_path) ? livereSharedData.livereReply.livere_data.css_path : "";
1158            customMCssPath = !livereLib.util.isEmpty(livereSharedData.livereReply.livere_data.mobile_css_path) ? livereSharedData.livereReply.livere_data.mobile_css_path : "";
1159
1160            if (!livereLib.util.isEmpty(customCssPath)) {
1161                // PC
1162                livereLib.cssLoad(customCssPath);
1163            } else if (!livereLib.util.isEmpty(customMCssPath)) {
1164                // M
1165                livereLib.cssLoad(customMCssPath);
1166            }
1167        }
1168    }
1169
1170    this.setRegdate = function(reply) {
1171        reply.reply_regdate = reply.regdate.year + 1900 + "-" + livereLib.util.addZero(parseInt(reply.regdate.month) + 1) + "-" + livereLib.util.addZero(reply.regdate.date);
1172        reply.reply_regdate += " " + livereLib.util.addZero(reply.regdate.hours) + ":" + livereLib.util.addZero(reply.regdate.minutes) + ":" + livereLib.util.addZero(reply.regdate.seconds);
1173    };
1174
1175    this.getMessage = function(messageKey) {
1176        var message = null;
1177        if (!livereLib.util.isEmpty(window.livereCustomMessage)) {
1178            message = eval("window.livereCustomMessage." + messageKey);
1179        }
1180
1181        if(livereLib.util.isEmpty(message) && livereSharedData.livereReply.message_emotion) {
1182            message = eval("livereSharedData.livereReply.message_emotion." + messageKey);
1183        }
1184
1185        if(livereLib.util.isEmpty(message) && livereSharedData.livereReply.initMessage) {
1186            message = eval("livereSharedData.livereReply.initMessage." + messageKey);
1187        }
1188
1189        return message;
1190    };
1191
1192    this.userActionHistoryArrays = {};
1193    this.userActionHistory = function(type, seq) {
1194        var arrObject = eval("livereLib.userActionHistoryArrays." + type);
1195        if (!arrObject) {
1196            arrObject = eval("livereLib.userActionHistoryArrays." + type + " = Array();");
1197        }
1198
1199        var result = false;
1200        jQuery(arrObject).each(function(ii, vv) {
1201            if (seq == vv) {
1202                result = true;
1203                return false;
1204            }
1205        });
1206
1207        if (!result) arrObject.push(seq);
1208
1209        return result;
1210    }
1211
1212    this.util = {};
1213    this.util.inArray = function(arr, obj) {
1214        if(Array.prototype.indexOf) {
1215            return arr.indexOf(obj);
1216        } else {
1217            for (var i = 0; i < this.length; i++) {
1218                if (this[i] == obj) {
1219                    return i;
1220                }
1221            }
1222
1223            return -1;
1224        }
1225    };
1226    this.util.beforeRegdate = function(regdate) {
1227
1228        var r_regdate = livereLib.util.replaceAll(regdate,'-','/'),
1229            nowDate = new Date().getTime(),
1230            writeDate = new Date(r_regdate).getTime(),
1231            interval = nowDate - writeDate,
1232            second = 1000,
1233            minute = second*60,
1234            hour = minute*60,
1235            day = hour*24,
1236            month = day*30,
1237            year = month*12,
1238            result = '약 ';
1239
1240        if(parseInt(interval/second) < 59) {
1241            return '방금 전';
1242        }
1242 else if(parseInt(interval/minute) < 59) {
1243            result += parseInt(interval/minute) + '분'
1244        } else if(parseInt(interval/hour) < 23) {
1245            result += parseInt(interval/hour) + '시간';
1246        } else if(parseInt(interval/day) < 32) {
1247            result += parseInt(interval/day) + '일';
1248        } else if(parseInt(interval/month) < 12) {
1249            result += parseInt(interval/month) + '개월';
1250        } else {
1251            var remainder = interval%year;
1252
1253            result += parseInt(interval/year) + '년';
1254            if(parseInt(remainder/month) > 0) result += parseInt(remainder/month) + '개월';
1255        }
1256
1257        return result + ' 전';
1258    };
1259
1260    this.util.matchingRegExp = function(reply) {
1261        var regExp = {
1262            url : new RegExp(/((([A-Za-z]{3,9}:(?:\/\/)?)(?:[\-;:&=\+\$,\w]+@)?[A-Za-z0-9\.\-]+|(?:www\.|[\-;:&=\+\$,\w]+@)[A-Za-z0-9\.\-]+)((?:\/[\+~%\/\.\w\-_]*)?\??(?:[\-\+=&;%@\.\w_]*)#?(?:[\.\!\/\\\w]*))?)/),
1263            only : new RegExp("[0-9]{11}", "gi"),
1264            social  : new RegExp("(?:[0-9]{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[1,2][0-9]|3[0,1]))-[1-6][0-9]{6}", "gi"),
1265            passport: new RegExp("[a-zA-Z]{1,2}[0-9]{7,8}", "gi"),
1266            driver  : new RegExp("[0-9]{2}[-][0-9]{6}[-][0-9]{2}", "gi"),
1267            phone : new RegExp("01[016789][-~]([0-9]{3,4})[-~]([0-9]{4})" ,"gi"),
1268            credit : new RegExp("[34569][0-9]{3}-~?[0-9]{4}-~?[0-9]{4}-~?[0-9]{4}","gi"),
1269            health : new RegExp("[1257][-~][0-9]{10}","gi"),//|'/\s/'
1270            bank : new RegExp("([0-9]{2}[-~][0-9]{2}-~?[0-9]{6}|[0-9]{3}-~?([0-9]{5,6}[-~][0-9]{3}|[0-9]{6}-~?[0-9]{5}|[0-9]{2,3}-~?[0-9]{6}|[0-9]{2}-~?[0-9]{7}|[0-9]{2}-~?[0-9]{4,6}-~?[0-9]|[0-9]{5}-~?[0-9]{3}-~?[0-9]{2}|[0-9]{2}-~?[0-9]{5}[-~.][0-9]{3}|[0-9]{4}-~?[0-9]{4}-~?[0-9]{3}|[0-9]{6}[-~.][0-9]{2}-~?[0-9]{3}|[0-9]{2}-~?[0-9]{2}-~?[0-9]{7})|[0-9]{4}-~?([0-9]{3}-~?[0-9]{6}|[0-9]{2}-~?[0-9]{6}-~?[0-9])|[0-9]{5}-~?[0-9]{2}-~?[0-9]{6}|[0-9]{6}-~?[0-9]{2}-~?[0-9]{5,6})","gi"),
1271            foreigner : new RegExp("([01][0-9]{5}[~-]+[1-8][0-9]{6}|[2-9][0-9]{5}[~-]+[1256][0-9]{6})","gi")
1272        };
1273
1274        var repl = {
1275            url : '#URL#',
1276            only : '***********',
1277            social  : "******-*******",
1278            passport: "********",
1279            driver  : "**-******-**",
1280            phone : "***-****-****",
1281            credit : "****-****-****-****",
1282            health : "*-**********",
1283            bank : "**-**-******",
1284            foreigner : "***"
1285        };
1286
1287        var tempUrl = null;
1288
1289        for(var i in regExp) {
1290            if(regExp[i].test(reply) === true) {
1291                if ( i === 'url' ) {
1292                    tempUrl = reply.match(regExp[i])[0];
1293                }
1294
1295                reply = reply.replace(regExp[i], repl[i]);
1296            }
1297        }
1298
1299        reply = livereLib.util.replaceAll(reply, '#URL#', tempUrl);
1300
1301        return reply;
1302    };
1303
1304    this.util.autoLink = function(obj) {
1305        if (livereLib.util.isEmpty(obj)) return;
1306        var re = /((http|https|ftp):\/\/[\w?=&.\/-;#~%-]+(?![\w\s?&.\/;#~%"=-]*>))/g;
1307        return obj.replace(re, '<a href="$1" target="_blank">$1</a>');
1308    };
1309
1310    this.util.recobell = function(str) {
1311        return str.replace("&rccode=lvRc", "").replace("?rccode=lvRc", "");
1312    };
1313
1314    this.util.isEmpty = function(value) {
1315        return (typeof(value) == 'undefined' || value == null || value == '' || value == 'null') ? true : false;
1316    };
1317
1318    this.util.mouseClickCalc = function(e) {
1319        this.x = e.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
1320        this.y = e.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
1321        return this;
1322    };
1323
1324    this.util.centerCalc = function(targetObject, obj_width) {
1325        var top = ($(window).height() - $(targetObject).outerHeight()) / 2;
1326        var left = ($(window).width() - obj_width) / 2;
1327        return {
1328            left: left,
1329            top: top
1330        };
1331    };
1332    this.util.getLoginPageURL = function(serviceName) {
1333        var url = livereSharedData.common.api_login_url + "?service=" + serviceName + "&redirect_path=";
1334        url += typeof(livereSharedData.smartLogin.redirect_path) == 'string' ? livereSharedData.smartLogin.redirect_path : encodeURIComponent(window.location.href);
1335        return url;
1336    };
1337    this.util.stripProtocol = function(url) {
1338        if (url != null && url.indexOf("//") > 0) {
1339            url = url.substring(url.indexOf("//") + 2);
1340        }
1341        return url;
1342    };
1343    this.util.formToParameters = function(fmObject) {
1344        var params = "";
1345        for (i = 0; i < fmObject.length; i++) {
1346            if (fmObject[i].type != "button" && fmObject[i].value != "") {
1347                if (fmObject[i].type == "checkbox") {
1348                    params += fmObject[i].name + "=" + (fmObject[i].checked ? "1" : "0");
1349                } else {
1350                    params += fmObject[i].name + "=" + encodeURIComponent(fmObject[i].value);
1351                }
1352                params = i != (fmObject.length - 1) ? params += "&" : params;
1353            }
1354        }
1355        return params;
1356    };
1357    this.util.objectToParameters = function(object) {
1358
1359        var paramsString = "";
1360
1361        jQuery.each(object, function(ii, vv) {
1362            paramsString += (ii + "=" + encodeURIComponent(vv) + "&");
1363        });
1364
1365        if (paramsString != "") {
1366            var value = paramsString.substring(paramsString.length - 1);
1367            if (value == "&")
1368                paramsString = paramsString.substring(0, paramsString.length - 1);
1369        }
1370
1371        return paramsString;
1372    };
1373    this.util.addZero = function(val) {
1374        return val < 10 ? "0" + val : val;
1375    };
1376    this.util.timer = function(time, fun) {
1377        setTimeout(time, fun);
1378    };
1379    this.util.alert = function(memo, command) {
1380        alert(memo + "\r\n" + command);
1381    };
1382
1383    this.util.isMobileVisitor = function() {
1384        var mobileKeyWords = new Array('iphone', 'ipod', 'blackberry', 'android', 'windows ce', 'lg', 'mot', 'samsung', 'sonyericsson', 'iemobile');
1385        var padKeyWords = new Array('ipad', 'shw-m180s', 'shw-m380k' ,'shw-m480k' , 'sm-p600');
1386        var returnFlag = false;
1387        jQuery(mobileKeyWords).each(function(ii, vv) {
1388            var agent = navigator.userAgent.toLowerCase();
1389            if (agent.match(vv) != null) {
1390                returnFlag = true;
1391                return false;
1392            }
1393        });
1394
1395        if (returnFlag) {
1396            jQuery(padKeyWords).each(function(ii, vv) {
1397                var agent = navigator.userAgent.toLowerCase();
1398                if (agent.match(vv) != null) {
1399                    returnFlag = false;
1400                    return false;
1401                }
1402            });
1403        }
1404
1405        return returnFlag;
1406    };
1407
1408    this.util.isTouchDevice = function() {
1409        return !!("ontouchstart" in window);
1410    };
1411
1412    this.util.replaceAll = function(str, orgStr, repStr) {
1413        return str.split(orgStr).join(repStr);
1414    };
1415
1416    this.util.toolTip = function(obj) {
1417        if (livereLib.notUseTooltip) return false;
1418
1419        jQuery.each(obj, function(ii, vv) {
1420            jQuery(vv).bind("mouseenter focus", function() {
1421
1422                if (jQuery(this).attr("rel") != "tooltip") return false;
1423
1424                jQuery(".livereToolTip").remove();
1425                var tooltip = jQuery("<div class='livereToolTip'><p class='livereToolTipInner'></p></div>");
1426
1427                if (!livereLib.util.isEmpty(jQuery(vv).attr("aria-label"))) {
1428                    tooltip.find(".livereToolTipInner").html(jQuery(vv).attr("aria-label"));
1429                } else if (!livereLib.util.isEmpty(jQuery(vv).attr("title"))) {
1430                    tooltip.find(".livereToolTipInner").html(jQuery(vv).attr("title"));
1431                } else {
1432                    tooltip.find(".livereToolTipInner").html(jQuery(vv).find("span").text());
1433                }
1434
1435                jQuery("body").append(tooltip);
1436
1437                var objOffsetTop = jQuery(vv).offset().top;
1438                var objOffsetLeft = jQuery(vv).offset().left;
1439
1440                var tooltipOffsetTop = objOffsetTop - tooltip.outerHeight(true);
1441                var tooltipOffsetLeft = objOffsetLeft - tooltip.outerWidth(true) / 2 + jQuery(vv).outerWidth(true) / 2;
1442
1443                var objScrollTop = jQuery(window).scrollTop() + tooltip.outerHeight(true);
1444
1445                if (objScrollTop >= objOffsetTop) { // arrow top
1446                    tooltipOffsetTop = objOffsetTop + jQuery(vv).outerHeight(true);
1447                    tooltip.addClass("livereToolTipArrow_top");
1448                } else { // arrow bottom
1449                    tooltip.addClass("livereToolTipArrow_bottom");
1450                }
1451
1452                var tooltipOverflowSize = objOffsetLeft + tooltip.outerWidth(true) - jQuery(window).width();
1453
1454                if (tooltipOffsetLeft > 0 && tooltipOverflowSize > 0) {
1455                    tooltipOffsetLeft = objOffsetLeft - tooltipOverflowSize - (jQuery(window).width() - (objOffsetLeft + jQuery(vv).outerWidth(true)));
1456
1457                    if (tooltipOffsetLeft < 0) { // arrow center
1458                        tooltipOffsetLeft = objOffsetLeft - tooltip.outerWidth(true) / 2 + jQuery(vv).outerWidth(true) / 2;
1459                        tooltip.addClass("livereToolTipArrow_center");
1460                    } else { // arrow right
1461                        tooltip.addClass("livereToolTipArrow_right");
1462                    }
1463                } else { // arrow left
1464                    if (tooltipOffsetLeft < 0) {
1465                        tooltipOffsetLeft = objOffsetLeft;
1466                        tooltip.addClass("livereToolTipArrow_left");
1467                    } else { // arrow center
1468                        tooltip.addClass("livereToolTipArrow_center");
1469                    }
1470                }
1471
1472                tooltip.css({
1473                    "top": tooltipOffsetTop,
1474                    "left": tooltipOffsetLeft
1475                });
1476
1477            }).bind("click mouseleave blur", function() {
1478                jQuery(".livereToolTip").remove();
1479            });
1480        });
1481    };
1482
1483    this.util.toJson2 = function(str) {
1484        return str;
1485    };
1486    this.util.toJson = function(str) {
1487        return str;
1488    };
1489
1490    this.util.viewExtended = false;
1491    this.util.debugInited = false;
1492    this.util.debugInit = function() {
1493        if (livereLib.util.debugInited) return;
1494        livereLib.util.debugInited = true;
1495
1496        jQuery("body").prepend("<textarea id='debugTextArea' style='width: 500px; height: 150px;'></textarea><input type='button' value='extends' />");
1497    };
1498    this.util.debug = function(obj, isAppend) {
1499        txtValue = "";
1500
1501        if (typeof(obj) == 'string') {
1502            txtValue = obj;
1503        } else {
1504            obj = eval(obj);
1505
1506            for (var x in obj) {
1507                txtValue += [x, obj[x]] + "\n\r\n";
1508            }
1509        }
1510
1511        if (jQuery("#debugTextArea").length > 0) {
1512            txtValue = new Date().toString() + "\r\n" + txtValue;
1513
1514            txtValue = isAppend ? txtValue + "\r\n\r\n=======================================\r\n\r\n" + jQuery("#debugTextArea").val() : txtValue;
1515
1516            jQuery("#debugTextArea").val(txtValue);
1517        }
1518
1519    };
1520    this.util.msieversion= function(){
1521        var ua = window.navigator.userAgent
1522        var msie = ua.indexOf ( "MSIE " )
1523        if ( msie > 0 )      // If Internet Explorer, return version number
1524            return parseInt (ua.substring (msie+5, ua.indexOf (".", msie )))
1525        else                 // If another browser, return 0
1526            return 0
1527    };
1528
1529};
1530
1531SyncManager = function() {
1532
1533    this.tryLogin = false;
1534    this.reload = false;
1535    this.syncStart = function() {
1536        if (syncManager.syncMembership) {
1537            var syncService = eval(syncManager.syncMembership);
1538
1539            if (!syncManager.tryLogin) {
1540                syncManager.tryLogin = true;
1541
1542                var syncProcess = function(additionalResult) {
1543                    if (syncService.member_islogin != 1 && !livereLib.util.isEmpty(additionalResult.user_id) && !livereLib.util.isEmpty(additionalResult.user_name)) {
1544                        var params = {};
1545                        params['member_id'] = additionalResult.user_id;
1546                        params['member_name'] = additionalResult.user_name;
1547
1548                        if (!livereLib.util.isEmpty(additionalResult.user_icon)) {
1549                            params['member_icon'] = additionalResult.user_icon;
1550                        } else if (!livereLib.util.isEmpty(additionalResult.user_image)) {
1551                            params['member_icon'] = additionalResult.user_image;
1552                        }
1553
1554                        var request = livereLib.url("External_Auth_API", params);
1555
1556                        jQuery.getJSON(request, livereLib.control.renewMemberProcess);
1557                    }
1558                    //자체 회원 ê³„ì • 충돌
1559                    if(syncService.member_id !== undefined) {
1560                        if (!livereLib.util.isEmpty(additionalResult.user_id) && syncService.member_id != additionalResult.user_id) {
1561                            livereLib.fire({
1562                                reloadmode: true
1563                            }, 'livereLogout');
1564                        }
1565                    }
1566                };
1567
1568                if (syncManager.syncAccessType == 1 || syncManager.syncAccessType == 2) {
1569                    jQuery.getScript(syncManager.checkurl, function() {
1570                        if (typeof(additionalResult) == 'object') {
1571                            syncManager.reload = true;
1572                            syncProcess(additionalResult);
1573                        } else {
1574                            if (syncManager.syncAccessType == 2 && syncService.member_islogin == 1) {
1575                                livereLib.fire({
1576                                    member_seq: syncService.member_seq
1577                                }, "serviceLogout");
1578                            }
1579                        }
1580                    });
1581
1582                } else {
1583                    if (typeof(additionalResult) == 'object') {
1584                        syncProcess(additionalResult);
1585                    } else {
1586                        if (syncManager.syncAccessType == 4 && syncService.member_islogin == 1) {
1587                            livereLib.fire({
1588                                member_seq: syncService.member_seq
1589                            }, "serviceLogout");
1590                        }
1591                    }
1592                }
1593
1594            }
1595        }
1596
1597    };
1598
1599    this.syncOff = function() {
1600        jQuery.getScript(syncManager.checkurl, function() {
1601            if (typeof(additionalResult) == 'object') {
1602                if (syncManager.logouturl.indexOf("javascript:") == 0) {
1603                    eval(syncManager.logouturl);
1604                } else {
1605                    window.location.href = syncManager.logouturl;
1606                }
1607            }
1608        });
1609    };
1610
1611    this.syncCheck = function() {
1612        if (syncManager.syncMembership) {
1613            syncManager.syncStart();
1614        }
1615    };
1616
1617    this.init = function() {
1618        var smartlogindata = livereLib.getSmartLoginData();
1619
1620        if (smartlogindata.sync_type != '0') {
1621            syncManager.syncAccessType = smartlogindata.sync_type;
1622            syncManager.syncMembership = smartlogindata.sync_acc;
1623
1624            var re_path = livereSharedData.smartLogin.redirect_path;
1625            syncManager.checkurl = smartlogindata.checkurl;
1626            if (syncManager.checkurl.indexOf("?") > 0) {
1627                syncManager.checkurl += "&dummy=" + Math.random();
1628            } else {
1629                syncManager.checkurl += "?dummy=" + Math.random();
1630            }
1631            syncManager.loginurl = smartlogindata.loginurl.replace("[[REDIRECT_URL]]", re_path);
1632            syncManager.logouturl = smartlogindata.logouturl.replace("[[REDIRECT_URL]]", re_path);
1633
1634            var service = eval(syncManager.syncMembership);
1635
1636            service.loginGate = function(url) {
1637                if (!livereLib.util.isEmpty(syncManager.loginurl)) {
1638                    if (syncManager.loginurl.indexOf("javascript:") == 0) {
1639                        eval(syncManager.loginurl);
1640                    } else if (syncManager.loginurl.indexOf("popup:") == 0) {
1641                        var url = syncManager.loginurl.replace("popup:", "").split(",");
1642                        window.open(url[0], "login", "width=" + url[1] + ",height=" + url[2]);
1643                    } else {
1644                        var params = {
1645                            command: "redirect",
1646                            redirect_path: syncManager.loginurl
1647                        };
1648                        var request = livereLib.url("API_Livere", params);
1649                        window.location.href = request;
1650                    }
1651                }
1652            };
1653
1654            syncManager.syncCheck();
1655        }
1656    };
1657
1658};
1659
1660/*
1661 *  livere js area
1662 */
1663
1664HTMLFactory = function() {
1665    this.defaultHtml = function() {
1666        var formHTML = "";
1667
1668        formHTML += "<div id='liverePlugIn' class='" + livereLib.libType + "-type'>";
1669        formHTML += "   <h3 class='livereNone'>" + livereLib.getMessage("pluginHeadTitle_8") + "</h3>";
1670        formHTML += "   <div id='livereWriteForm'>";
1671        formHTML += "       <div id='livereWriteFormTop'>";
1672        formHTML += "           <span id='livereSNSLoginTitle'>" + livereLib.getMessage("socialLogin_8") + "</span>";
1673        formHTML += "           <div id='livereSNSLoginIconContainer'>";
1674        formHTML += "               <ul id='livereLogged' class='livereNone'></ul>";
1675        formHTML += "               <ul id='livereNotLogged'></ul>";
1676        formHTML += "           </div>";
1677        formHTML += "       </div>";
1678        formHTML += "       <div id='livereWriteFormMiddle'>";
1679        formHTML += "           <div id='livereWriteFromMiddleLeft'>";
1680        formHTML += "               <ul id='liverePrimaryStatus'>";
1681        formHTML += "                   <li>";
1682        formHTML += "                       <span id='liverePrimaryThumb'>";
1683        formHTML += "                           <img src='https://101.livere.co.kr/images/_.gif' onerror='this.src=\"https://101.livere.co.kr/images/ver8/guest.png\";'/>";
1684        formHTML += "                       </span>";
1685        formHTML += "                   </li>";
1686        formHTML += "               </ul>";
1687        formHTML += "           </div>";
1688        formHTML += "           <div id='livereWriteFormMiddleRightContainer'>";
1689        formHTML += "               <label for='livere_contentText' class='livereNone'>" + livereLib.getMessage("contentInputArea") + "</label>";
1690        formHTML += "               <ul id='livereWriteFormMiddleRight' class='livereWriteFormWrapper'>";
1691        formHTML += "                   <li class='livereAccInfoWrapper'>";
1692        formHTML += "                       <p id='livereAccInfo' class='livereAccInfo'></p>";
1693        formHTML += "                   </li>";
1694        formHTML += "                   <li id='livereWriteParamsForm' class='livereContentTextForm'>";
1695        formHTML += "                       <input id='livere_short_url' name='livere_short_url' type='hidden' />";
1696        formHTML += "                       <input id='livere_name' name='livere_name' type='hidden' />";
1697        formHTML += "                       <input id='livere_parent_seq' name='livere_parent_seq' type='hidden' />";
1698        formHTML += "                       <textarea tabindex='0' id='livere_contentText' class='livere_contentText' name='livere_content' targetName='livereParentStrCount' title='" + livereLib.getMessage("contentInputArea") + "' aria-label='" + livereLib.getMessage("contentInputArea") + "'>" + livereLib.getMessage("title") + "</textarea>";
1699        formHTML += "                   </li>";
1700        formHTML += "                   <li id='livereWriteFormFunction' class='livereFunctionContainer'>";
1701        formHTML += "                       <ul id='livereFunctionWrapper' class='livereFunctionWrapper'>";
1702        formHTML += "                           <li class='livereTextCountWrapper'>";
1703        formHTML += "                               <strong id='livereParentStrCount'>0</strong>/<span id='livereStrMaxCount'>" + livereSharedData.livereReply.livere_data.content_maxlen + "</span>";
1704        formHTML += "                           </li>";
1705        formHTML += "                       </ul>";
1706        formHTML += "                   </li>";
1707        formHTML += "                   <li id='livereWriteFormMiddleBottom'>";
1708        formHTML += "                       <button type='button' id='livereWriteBtn' class='livereWriteBtn livereBtn2'><span class='livereFont5'>
1708" + livereLib.getMessage("sendBtn") + "</span></button>";
1709        formHTML += "                   </li>";
1710        formHTML += "               </ul>";
1711        formHTML += "           </div>";
1712        formHTML += "       </div>";
1713        formHTML += "       <div id='livereHome'><span id='livereHomeBtn'><a href='http://www.livere.com' title='" + livereLib.getMessage("livereHome_8") + " - " + livereLib.getMessage('openWindow') + "' aria-label='" + livereLib.getMessage("livereHome_8") + " - " + livereLib.getMessage('openWindow') + "' target='_blank'>Powered by <strong class='livereColor1'>Live</strong><strong class='livereColor2'>Re</strong></a></span></div>";
1714        formHTML += "   </div>";
1715        formHTML += "</div>";
1716
1717        return formHTML;
1718    };
1719
1720    this.isMobileLogin = function() {
1721        var html = "";
1722
1723        html += "<div id='livereMobileLoginContainer'>";
1724        html += "   <button type='button' id='livereIsMobileBtn'><span>" + livereLib.getMessage("smartLoginNotLoggedBtn_8") + "</span></button>";
1725        html += "   <dl id='livereShareSNS' class='livereShareSNSWrapper'>";
1726        html += "       <dt><span class='livereFont6'>" + livereLib.getMessage("shareSNS_8") + "</span></dt>";
1727        html += "   </dl>";
1728        html += "</div>";
1729
1730        return html;
1731    };
1732
1733    this.isLoggedSNS = function(domain) {
1734        var html = "";
1735        html += "<dd class='livereShareSNS livereFavicon_mobile_L livereFavicon_mobile_L_" + domain + " livere_t_indent' rel='tooltip' aria-label='" + eval(domain).title + "' >" + eval(domain).title + "</dd>";
1736        return html;
1737    };
1738
1739    this.all_logout = function() {
1740        var all_logout = "";
1741
1742        all_logout += "<button type='button' id='livereLogoutBtn' class='livereBtn3'><span class='livereFont6'>" + livereLib.getMessage("all_logout") + "</span></button>";
1743
1744        return all_logout;
1745    };
1746
1747    this.linkage_accountHtmlObject = function(domain) {
1748        var accountHtmlObject = "";
1749        accountHtmlObject += "<li id='livere_" + domain.name + "'>";
1750
1751        if (domain.member_islogin != 1) {
1752            accountHtmlObject += "  <button type='button' class='livereSNSLoginIcon livereClick livereBtn1' clickType='snsLoginBtn' rel='tooltip'>";
1753            accountHtmlObject += "      <span class='livereSNSImage_B livere_t_indent'>" + livereLib.getMessage("loginPageOpen_8") + "</span>";
1754        } else {
1755            accountHtmlObject += "  <button type='button' class='livereSNSLoginIcon livereClick livereBtn1' clickType='snsLoginBtn' rel='tooltip'>";
1756            accountHtmlObject += "      <span class='livereSNSImage_B livere_t_indent'>" + livereLib.getMessage("primarySet_8") + "</span>";
1757        }
1758
1759        accountHtmlObject += "  </button>";
1760
1761        if ( domain.posting_enable === 1 || (domain.name === 'naver' && typeof isNaverPosting !== 'undefined' ) ){
1762            accountHtmlObject += "  <input id='livereSNSPostCheck_" + domain.name + "' class='livereSNSPostCheck livereClick livereCheckBtn' type='checkbox' clickType='snsPostingCheck' rel='tooltip' aria-label='" + livereLib.getMessage("replyPostConf_8") + "' title='" + livereLib.getMessage("replyPostConf_8") + "' />";
1763            accountHtmlObject += "  <label for='livereSNSPostCheck_" + domain.name + "' class='livereNone'>" + livereLib.getMessage("replyPostConf_8") + "</label>";
1764        }
1765
1766        accountHtmlObject += "</li>";
1767        accountHtmlObject = livereLib.util.replaceAll(accountHtmlObject, "#DOMAIN#", domain.title);
1768
1769        return accountHtmlObject;
1770    };
1771
1772    this.setPrimarySNSFavicon = function() {
1773        var setPrimarySNSFavicon = "";
1774
1775        setPrimarySNSFavicon += "<span id='liverePrimarySNSFavicon' class='livere_t_indent'>" + livereLib.getMessage("isPrimary_8") + "</span>";
1776
1777        return setPrimarySNSFavicon;
1778    };
1779
1780    this.defaultListHeader = function() {
1781        var listHeaderHTML = "";
1782
1783        listHeaderHTML += "<div id='livereReplySort'>";
1784        listHeaderHTML += " <strong id='livereReplyCountWrapper' class='livereFont8'>" + livereLib.getMessage("replyTotalCount_8") + " <b id='livereReplyCount' class='livereFont4'>" + livereSharedData.livereReply.rep_data.total_count + "</b></strong>";
1785        listHeaderHTML += " <ul id='livereSortTabWrapper'>";
1786        listHeaderHTML += "     <li id='livereSort_new_wrapper'><button type='button' id='livereSort_new' class='livereSortTabBtn livereBtn3 livereSorted'><span class='livereFont4'>
1786" + livereLib.getMessage("time") + "</span></button></li>";
1787        listHeaderHTML += "     <li id='livereSort_good_wrapper'><button type='button' id='livereSort_good' class='livereSortTabBtn livereBtn3'><span>" + livereLib.getMessage("good") + "</span></button></li>";
1788        listHeaderHTML += "     <li id='livereSort_bad_wrapper'><button type='button' id='livereSort_bad' class='livereSortTabBtn livereBtn3'><span>" + livereLib.getMessage("bad") + "</span></button></li>";
1789        listHeaderHTML += " </ul>";
1790        listHeaderHTML += "</div>";
1791        listHeaderHTML += "<div id='livereReplyWrapper'></div>";
1792        listHeaderHTML += "<div id='livereNavigatorWrapper'></div>";
1793
1794        return listHeaderHTML;
1795    };
1796
1797    this.defaultParentReplyHtml = function(reply) {
1798        var member_domain_Upper = reply.member_domain.substr(0, 1).toUpperCase() + reply.member_domain.substr(1, reply.member_domain.length);
1799        var wrapper = "<div class='livereParentReplyWrapper'></div>";
1800
1801        var replyThumb = "";
1802
1803        if ( reply.member_url != "" ){
1804            replyThumb += "<button type='button' class='livereReplyThumb livereReplyTumb_" + reply.member_domain + "' rel='tooltip' aria-label='" + livereLib.getMessage("profilePageOpen_8") + "' title='" + livereLib.getMessage("profilePageOpen_8") + "'>";
1805        } else {
1806            replyThumb += "<button type='button' class='livereReplyThumb livereReplyTumb_" + reply.member_domain + " livereReplyNoProf' >";
1807        }
1808
1809
1810        if (reply.member_icon.indexOf("api.twitter.com/1/users") > -1) reply.member_icon = "https://si0.twimg.com/sticky/default_profile_images/default_profile_1_normal.png";
1811
1812        if (livereLib.isSecure) {
1813            if (reply.member_domain == "twitter" || reply.member_domain == "facebook") {
1814                replyThumb += " <img class='livereReplyThumb_L' alt='" + livereLib.getMessage("profileImg_8") + "' src='" + reply.member_icon.replace("http://", "https://") + "'/>";
1815            } else if (reply.member_domain == "cyworld") {
1816                replyThumb += " <img class='livereReplyThumb_L' alt='" + livereLib.getMessage("profileImg_8") + "' src='https://101.livere.co.kr/images/ver8/unknown_profile.gif'/>";
1817            } else {
1818                replyThumb += " <img class='livereReplyThumb_L' alt='" + livereLib.getMessage("profileImg_8") + "' src='" + reply.member_icon.replace("http://", "https://secure.livere.co.kr:8443/") + "'/>";
1819            }
1820        } else {
1821            replyThumb += " <img class='livereReplyThumb_L' alt='" + livereLib.getMessage("profileImg_8") + "' src='" + reply.member_icon + "'/>";
1822        }
1823
1824        if (!livereLib.switchMobileView) {
1825            if (reply.member_domain != "guest") {
1826                replyThumb += " <span class='livereThumbFavicon livereFavicon_L livereFavicon_L_" + reply.member_domain + "'></span>";
1827            }
1828        }
1829        replyThumb += "</button>";
1830
1831        replyThumb = livereLib.util.replaceAll(replyThumb, "#DOMAIN#", member_domain_Upper);
1832        reply.replyThumb = jQuery(replyThumb);
1833
1834        var replyBody = "";
1835        replyBody += "<div class='livereReplyBodyContainer'>";
1836        replyBody += "  <dl class='livereReplyBody'>";
1837        replyBody += "      <dt class='livereArticleUserInfoWrapper'>";
1838        replyBody += "          <ul class='livereArticleUserInfo'>";
1839
1840        if ( reply.member_url != "" ){
1841            replyBody += "              <li><button type='button' class='livereReplyWriterName livereBtn3' aria-label='" + livereLib.getMessage("profilePageOpen_8") + "' title='" + livereLib.getMessage("profilePageOpen_8") + "'>";
1842        } else {
1843            replyBody += "              <li><button type='button' class='livereReplyWriterName livereBtn3 livereReplyNoProf' >";
1844        }
1845
1846        if (livereLib.switchMobileView) {
1847            replyBody += "  <span class='livereFavicon_mobile_L livereFavicon_mobile_L_" + reply.member_domain + " livereFont9'>" + reply.name + "</span>";
1848        } else {
1849            replyBody += "  <span class='livereFont9'>" + reply.name + "</span>";
1850        }
1851
1852        replyBody += "                  </button></li>";
1853        replyBody += "              <li><span class='livereReplyWritedRegdate livereFont3'>" + reply.reply_regdate + "</span></li>";
1854        replyBody += "          </ul>";
1855        replyBody += "      </dt>";
1856        replyBody += "      <dd class='livereArticleText'>";
1857        replyBody += "          <p>" + reply.content + "</p>";
1858        replyBody += "      </dd>";
1859        replyBody += "      <dd class='livereReplyFuncWrapper'>";
1860        replyBody += "          <ul class='livereReplyFunc'>";
1861
1862        if (livereReply.status.sort == "new" || livereReply.force
1862UseReplyFunc) {
1863            replyBody += "              <li><button type='button' class='livereReply_addchild livereReplyFuncBtn livereBtn3' targetName='addchild'><span class='livereReplyFuncFavicon livereFont3'>" + livereLib.getMessage("replyBtn") + "</span></button></li>";
1864        }
1865
1866        var m_police_bundle = livereLib.getMessage('police_bundle'),
1867            police_bundle_arr = m_police_bundle.split(',');
1868        replyBody += "              <li class='livereReply_police_wrapper'>";
1869        replyBody += "                  <button type='button' class='livereReply_police livereReplyFuncBtn livereBtn3' targetName='police'><span class='livereReplyFuncFavicon livereFont3'>" + livereLib.getMessage("police") + "</span></button>";
1870        /*replyBody += "                    <dl class='livere_police_layer' style='display:none;'>";
1871         replyBody += "                     <dt class='livere_police_layer_top'>";
1872         replyBody += "                         <span>" + police_bundle_arr[0] + "</span>"
1873         replyBody += "                     </dt>";
1874         replyBody += "                     <dd class='livere_police_layer_content' >";
1875         replyBody += "                     <label for='livere_police_centet_select' class='livereNone'>" + police_bundle_arr[1] + "</label>";
1876         replyBody += "                         <select id='livere_police_centet_select' class='livere_police_centet_select' name='report' title='" + police_bundle_arr[1] + "'>";
1877         replyBody += "                             <option value='0'>" + police_bundle_arr[1] + "</option>"
1878         replyBody += "                             <option value='1'>" + police_bundle_arr[2] + "</option>"
1879         replyBody += "                             <option value='2'>" + police_bundle_arr[3] + "</option>"
1880         replyBody += "                             <option value='3'>" + police_bundle_arr[4] + "</option>"
1881         replyBody += "                             <option value='4'>" + police_bundle_arr[5] + "</option>"
1882         replyBody += "                         </select><br>";
1883         replyBody += "                         <div class='livere_police_layer_txt' style='display:none;'>"
1884         replyBody += "                             <label for='livere_report_txt' class='livereNone' >" + police_bundle_arr[6] + "</label>"
1885         replyBody += "                             <textarea id='livere_report_txt' title='" + police_bundle_arr[6] + "' class='livere_report_txt'></textarea>";
1886         replyBody += "                         </div>"
1887         replyBody += "                         <button class='livere_report_btn' type='button'><span>" + police_bundle_arr[7] + "</span></button>"
1888         replyBody += "                         <button class='livere_police_layer_close' type='button' aria-label='" + livereLib.getMessage('close_8') + "'><span>X</span></button>"
1889         replyBody += "                     </dd>";
1890         replyBody += "                 </dl>";*/
1891        replyBody += "              </li>";
1892        replyBody += "              <li><button type='button' class='livereReply_delete livereReplyFuncBtn livereBtn3' targetName='delete'><span class='livereReplyFuncFavicon livereFont3'>" + livereLib.getMessage("deletebtn") + "</span></button></li>";
1893        replyBody += "          </ul>";
1894        replyBody += "      </dd>";
1895        replyBody += "      <dd class='livereChildReplyWrapper'></dd>";
1896        replyBody += "  </dl>";
1897        replyBody += "</div>";
1898
1899        var evaluationBtn = "";
1900        evaluationBtn += "<ul class='livereReplyEvaluation'>";
1901        evaluationBtn += "  <li class='livereReply_good_wrapper'><button type='button' class='livereReply_good livereReplyEvaluationBtn livereBtn1' targetName='good' rel='tooltip' aria-label='" + livereLib.getMessage("goodbtn") + "'><span class='livere_t_indent'>" + livereLib.getMessage("goodbtn") + "</span><strong class='livereReply_good_count'>" + reply.good + "</strong></button></li>";
1902        evaluationBtn += "  <li class='livereReply_bad_wrapper'><button type='button' class='livereReply_bad livereReplyEvaluationBtn livereBtn1' targetName='bad' rel='tooltip' aria-label='" + livereLib.getMe
1902ssage("badbtn") + "'><span class='livere_t_indent'>" + livereLib.getMessage("badbtn") + "</span><strong class='livereReply_bad_count'>" + reply.bad + "</strong></button></li>";
1903        evaluationBtn += "</ul>";
1904
1905        var septSNS = "";
1906        if (!livereLib.util.isEmpty(reply.septSNSObj)) {
1907            septSNS += "<dl class='livereSharedSNSWrapper'>";
1908            septSNS += "    <dt><span class='livereFont6'>" + livereLib.getMessage("sharedSNS_8") + "</span></dt>";
1909
1910            jQuery.each(reply.septSNSObj.reverse(), function(ii, vv) {
1911                septSNS += "<dd class='livereSharedSNS livereFavicon_L livereFavicon_L_" + vv + " livere_t_indent' rel='tooltip' aria-label='" + vv.substr(0, 1).toUpperCase() + vv.substr(1, vv.length) + "' >" + vv.substr(0, 1).toUpperCase() + vv.substr(1, vv.length) + "</dd>";
1912            });
1913
1914            septSNS += "</dl>";
1915        }
1916
1917        replyBody = livereLib.util.replaceAll(replyBody, "#DOMAIN#", member_domain_Upper);
1918        reply.replyBody = jQuery(replyBody);
1919
1920        if (livereLib.switchMobileView) {
1921            reply.replyBody.find(".livereReplyFuncWrapper").append(evaluationBtn);
1922            reply.replyBody.find(".livereReplyFuncWrapper").before(septSNS);
1923        } else {
1924            reply.replyBody.find(".livereArticleText").prepend(evaluationBtn);
1925            reply.replyBody.find(".livereReplyFuncWrapper").append(septSNS);
1926        }
1927
1928        reply.wrapper = jQuery(wrapper);
1929        reply.wrapper.append(reply.replyThumb);
1930        reply.wrapper.append(reply.replyBody);
1931        reply.wrapper.data(reply);
1932
1933        return reply;
1934    };
1935
1936    this.defaultEmptyReplyHtmlObject = function() {
1937        var reply = {};
1938        var wrapper = "<div class='livereParentReplyWrapper livereEmptyReplyWrapper'></div>";
1939
1940        var replyThumb = "";
1941        replyThumb += "<button type='button' class='livereReplyThumb'>";
1942        replyThumb += " <img class='livereReplyThumb_L' alt='" + livereLib.getMessage("profileImg_8") + "' src='https://101.livere.co.kr/images/ver8/delete.png'/>";
1943        replyThumb += "</button>";
1944
1945        replyThumb = livereLib.util.replaceAll(replyThumb, "#DOMAIN#", livereLib.getMessage("deletedReply_8"));
1946        reply.replyThumb = jQuery(replyThumb);
1947
1948        var replyBody = "";
1949        replyBody += "<div class='livereReplyBodyContainer'>";
1950        replyBody += "  <dl class='livereReplyBody'>";
1951        replyBody += "      <dt>";
1952        replyBody += "          <span class='livereFont9'>" + livereLib.getMessage("deletedReply_8") + "</span>";
1953        replyBody += "      </dt>";
1954        replyBody += "      <dd class='livereArticleText'>";
1955        replyBody += "          <p class='livereDeletedText'><span>" + livereLib.getMessage("deleteReplyMsg_8") + "</span></p>";
1956        replyBody += "      </dd>";
1957        replyBody += "      <dd class='livereChildReplyWrapper'></dd>";
1958        replyBody += "  </dl>";
1959        replyBody += "</div>";
1960
1961        reply.replyBody = jQuery(replyBody);
1962
1963        reply.wrapper = jQuery(wrapper);
1964        reply.wrapper.append(reply.replyThumb);
1965        reply.wrapper.append(reply.replyBody);
1966
1967        return reply;
1968    };
1969
1970    this.defaultChildReplyHtml = function(reply) {
1971        var member_domain_Upper = reply.member_domain.substr(0, 1).toUpperCase() + reply.member_domain.substr(1, reply.member_domain.length);
1972        var wrapper = "<div class='livereChildReply'></div>";
1973
1974        var replyThumb = "";
1975
1976        if ( reply.member_url != "" ){
1977            replyThumb += "<button type='button' class='livereReplyThumb livereReplyTumb_" + reply.member_domain + "' rel='tooltip' aria-label='" + livereLib.getMessage("profilePageOpen_8") + "'>";
1978        } else {
1979            replyThumb += "<button type='button' class='livereReplyThumb livereReplyTumb_" + reply.member_domain + " livereReplyNoProf' >";
1980        }
1981
1982
1983        if (reply.member_icon.indexOf("api.twitter.com/1/users") > -1) reply.member_icon = "https://si0.twimg.com/sticky/default_profile_images/default_profile_1_normal.png";
1984
1985        if (livereLib.isSecure) {
1986            if (reply.member_domain == "twitter" || reply.member_domain == "facebook") {
1987                replyThumb += " <img class='livereReplyThumb_S' alt='" + livereLib.getMe
1987ssage("profileImg_8") + "' src='" + reply.member_icon.replace("http://", "https://") + "'/>";
1988            } else if (reply.member_domain == "cyworld") {
1989                replyThumb += " <img class='livereReplyThumb_L' alt='" + livereLib.getMessage("profileImg_8") + "' src='https://101.livere.co.kr/images/ver8/unknown_profile.gif'/>";
1990            } else {
1991                replyThumb += " <img class='livereReplyThumb_S' alt='" + livereLib.getMessage("profileImg_8") + "' src='" + reply.member_icon.replace("http://", "https://secure.livere.co.kr:8443/") + "'/>";
1992            }
1993        } else {
1994            replyThumb += " <img class='livereReplyThumb_S' alt='" + livereLib.getMessage("profileImg_8") + "' src='" + reply.member_icon + "'/>";
1995        }
1996
1997        if (!livereLib.switchMobileView) {
1998            if (reply.member_domain != "guest") {
1999                replyThumb += " <span class='livereThumbFavicon livereFavicon_S livereFavicon_S_" + reply.member_domain + "'></span>";
2000            }
2001        }
2002
2003        replyThumb += "</button>";
2004
2005        replyThumb = livereLib.util.replaceAll(replyThumb, "#DOMAIN#", member_domain_Upper);
2006        reply.replyThumb = jQuery(replyThumb);
2007
2008        var replyBody = "";
2009        replyBody += "<dl class='livereReplyBody'>";
2010        replyBody += "  <dt class='livereArticleUserInfoWrapper'>";
2011        replyBody += "      <ul class='livereArticleUserInfo'>";
2012
2013        if(reply.member_url != ""){
2014            replyBody += "          <li><button type='button' class='livereReplyWriterName livereBtn3' aria-label='" + livereLib.getMessage("profilePageOpen_8") + "'>";
2015        } else {
2016            replyBody += "          <li><button type='button' class='livereReplyWriterName livereBtn3 livereReplyNoProf' >";
2017        }
2018
2019        if (livereLib.switchMobileView) {
2020            replyBody += "              <span class='livereFavicon_mobile_S livereFavicon_mobile_S_" + reply.member_domain + " livereFont9'>" + reply.name + "</span>";
2021        } else {
2022            replyBody += "              <span class='livereFont9'>" + reply.name + "</span>";
2023        }
2024
2025        var m_police_bundle = livereLib.getMessage('police_bundle'),
2026            police_bundle_arr = m_police_bundle.split(',');
2027
2028        replyBody += "              </button></li>";
2029        replyBody += "          <li><span class='livereReplyWritedRegdate livereFont3'>" + reply.reply_regdate + "</span></li>";
2030        replyBody += "      </ul>";
2031        replyBody += "  </dt>";
2032        replyBody += "  <dd class='livereArticleText'>";
2033        replyBody += "      <p>" + reply.content + "</p>";
2034        replyBody += "  </dd>";
2035        replyBody += "  <dd class='livereReplyFuncWrapper'>";
2036        replyBody += "      <ul class='livereReplyFunc'>";
2037        replyBody += "          <li class='livereReply_police_wrapper'><button type='button' class='livereReply_police livereReplyFuncBtn livereBtn3' targetName='police'><span class='livereReplyFuncFavicon livereFont3'>" + livereLib.getMessage("police") + "</span></button>";
2038        /*replyBody += "            <dl class='livere_police_layer' style='display:none;'>";
2039         replyBody += "             <dt class='livere_police_layer_top'>";
2040         replyBody += "                 <span>" + police_bundle_arr[0] + "</span>"
2041         replyBody += "             </dt>";
2042         replyBody += "             <dd class='livere_police_layer_content'>";
2043         replyBody += "                 <label for='livere_police_centet_select' class='livereNone'>" + police_bundle_arr[1] + "</label>";
2044         replyBody += "                 <select id='livere_police_centet_select' class='livere_police_centet_select' name='report' aria-label='" + police_bundle_arr[1] + "'>";
2045         replyBody += "                     <option value='0'>" + police_bundle_arr[1] + "</option>"
2046         replyBody += "                     <option value='1'>" + police_bundle_arr[2] + "</option>"
2047         replyBody += "                     <option value='2'>" + police_bundle_arr[3] + "</option>"
2048         replyBody += "                     <option value='3'>
2048" + police_bundle_arr[4] + "</option>"
2049         replyBody += "                     <option value='4'>" + police_bundle_arr[5] + "</option>"
2050         replyBody += "                 </select><br>";
2051         replyBody += "                 <div class='livere_police_layer_txt' style='display:none;'>"
2052         replyBody += "                     <label for='livere_report_txt' class='livereNone' >" + police_bundle_arr[6] + "</label>"
2053         replyBody += "                     <textarea id='livere_report_txt' title='" + police_bundle_arr[6] + "' class='livere_report_txt'></textarea>";
2054         replyBody += "                 </div>"
2055         replyBody += "                 <button class='livere_report_btn' type='button'><span>" + police_bundle_arr[7] + "</span></button>"
2056         replyBody += "                 <button class='livere_police_layer_close' type='button' aria-label='" + livereLib.getMessage('close_8') + "'><span>X</span></button>"
2057         replyBody += "             </dd>";
2058         replyBody += "         </dl>";*/
2059        replyBody += "          </li>";
2060        replyBody += "          <li><button type='button' class='livereReply_delete livereReplyFuncBtn livereBtn3' targetName='delete'><span class='livereReplyFuncFavicon livereFont3'>" + livereLib.getMessage("deletebtn") + "</span></button></li>";
2061        replyBody += "      </ul>";
2062        replyBody += "  </dd>";
2063        replyBody += "</dl>";
2064
2065        var septSNS = "";
2066        if (!livereLib.util.isEmpty(reply.septSNSObj)) {
2067            septSNS += "<dl class='livereSharedSNSWrapper'>";
2068            septSNS += "    <dt><span class='livereFont6'>" + livereLib.getMessage("sharedSNS_8") + "</span></dt>";
2069
2070            jQuery.each(reply.septSNSObj.reverse(), function(ii, vv) {
2071                septSNS += "<dd class='livereSharedSNS livereFavicon_L livereFavicon_L_" + vv + " livere_t_indent' rel='tooltip' aria-label='" + vv.substr(0, 1).toUpperCase() + vv.substr(1, vv.length) + "' >" + vv.substr(0, 1).toUpperCase() + vv.substr(1, vv.length) + "</dd>";
2072            });
2073
2074            septSNS += "</dl>";
2075        }
2076
2077        replyBody = livereLib.util.replaceAll(replyBody, "#DOMAIN#", member_domain_Upper);
2078        reply.replyBody = jQuery(replyBody);
2079
2080        if (livereLib.switchMobileView) {
2081            reply.replyBody.find(".livereReplyFuncWrapper").before(septSNS);
2082        } else {
2083            reply.replyBody.find(".livereReplyFuncWrapper").append(septSNS);
2084        }
2085
2086        reply.wrapper = jQuery(wrapper);
2087        reply.wrapper.append(reply.replyThumb);
2088        reply.wrapper.append(reply.replyBody);
2089        reply.wrapper.data(reply);
2090
2091        return reply;
2092    };
2093
2094    this.childReplyWriteFormHtml = function() {
2095
2096        var childReplyWriteForm = "";
2097        childReplyWriteForm += "<div id='livereChildReplyWriteForm' class='livereChildReply'>";
2098        childReplyWriteForm += "    <span id='livereChildReplyWriteFormArrow'></span>";
2099        childReplyWriteForm += "    <label for='livere_childContentText' class='livereNone'>" + livereLib.getMessage("reContentInputArea") + "</label>";
2100        childReplyWriteForm += "    <ul class='livereWriteFormWrapper'>";
2101        childReplyWriteForm += "        <li class='livereAccInfoWrapper'>";
2102        childReplyWriteForm += "            <p class='livereAccInfo'></p>";
2103        childReplyWriteForm += "        </li>";
2104        childReplyWriteForm += "        <li class='livereContentTextForm'>";
2105        childReplyWriteForm += "            <textarea id='livere_childContentText' class='livere_contentText' name='livere_childContent' targetName='livereChildStrCount' title='" + livereLib.getMessage("reContentInputArea") + "' aria-label='" + livereLib.getMessage("reContentInputArea") + "'></textarea>";
2106        childReplyWriteForm += "        </li>";
2107        childReplyWriteForm += "        <li class='livereFunctionContainer'>";
2108
2109        childReplyWriteForm += "            <ul class='livereFunctionWrapper'>";
2110        childReplyWriteForm += "                <li class='livereTextCountWrapper'>";
2111        childReplyWriteForm += "                    <strong id='livereChildStrCount'>0</strong>/<span id='livereStrMaxCount'>" + livereSharedData.livereReply.livere_data.content_maxlen + "</span>";
2112        childReplyWriteForm += "                </li>";
2113        childReplyWriteForm += "            </ul>";
2114        childReplyWriteForm += "        </li>";
2115        childReplyWriteForm += "        <li class='livereWriteFormMiddleBottom'>";
2116        childReplyWriteForm += "            <button type='button' id='livereChildWriteBtn' class='livereWriteBtn livereBtn2'>";
2117        childReplyWriteForm += "                <span class='livereFont5'>" + livereLib.getMessage("sendBtn") + "</span>";
2118        childReplyWriteForm += "            </button>";
2119        childReplyWriteForm += "        </li>";
2120        childReplyWriteForm += "    </ul>";
2121        childReplyWriteForm += "</div>";
2122
2123        return childReplyWriteForm;
2124    };
2125
2126    this.moreBtn = function() {
2127        var moreBtn = "";
2128
2129        moreBtn += "<p id='livereMoreBtnWrapper'>";
2130        moreBtn += "    <button type='button' id='livereMoreBtn' class='livereBtn1'>";
2131        moreBtn += "        <span>" + livereLib.getMessage("moreBtn") + "</span>";
2132        moreBtn += "    </button>";
2133        moreBtn += "</p>";
2134
2135        return moreBtn;
2136    };
2137
2138    this.replyLoading = function() {
2139        var replyLoading = "";
2140
2141        replyLoading += "<div id='livereReplyLoading' class='livereParentReplyWrapper'>";
2142        replyLoading += "   <p>";
2143        replyLoading += "       <img src='https://101.livere.co.kr/images/ver8/viewLoading.gif' />";
2144        replyLoading += "   </p>";
2145        replyLoading += "</div>";
2146
2147        return replyLoading;
2148    };
2149
2150    this.replyAdHtml = function(data) {
2151        var html = '';
2152
2153        html += '<div class="lv-replyad-wrapper">';
2154        html += '   <a href="' + data.shortUrl + '" class="lv-replyad-profile"  target="_blank">';
2155        html += '       <img src="' + data.profile_img + '">';
2156        html += '   </a>';
2157        html += '   <div class="lv-replyad-body-wrapper">';
2158        html += '       <dl class="lv-replyad-body">';
2159        html += '           <dt class="lv-replyad-info">';
2160        html += '               <ul>';
2161        html += '                   <li class="lv-replyad-info-name">' + data.name + '</li>';
2162        html += '                   <li class="lv-replyad-info-title">' + data.message.nameTitle + '</li>';
2163        html += '               </ul>';
2164        html += '           </dt>';
2165        html += '           <dd class="lv-replyad-content">';
2166        html += '               <span>' + data.body + '</span>';
2167        html += '           </dd>';
2168        html += '           <dd class="lv-replyad-link-wrapper">';
2169        html += '               <a href="' + data.shortUrl + '" class="lv-replyad-alink" target="_blank">';
2170        html += '                   <div class="lv-replyad-link">';
2171        html += '                       <div class="lv-replyad-thumbnail">';
2172        html += '                           <img src="' + data.thumbnail + '" alt="' + data.message.thumbnailImg + '" onerror="">';
2173        html += '                       </div>';
2174        html += '                       <div class="lv-replyad-desc">';
2175        html += '                           <span class="lv-replyad-desc-title">' + data.title + '</span>';
2176        html += '                           <span class="lv-replyad-desc-content">' + data.description + '</span>';
2177        html += '                           <span class="lv-replyad-desc-url">' + data.url + '</span>';
2178        html += '                       </div>';
2179        html += '                   </div>';
2180        html += '               </a>';
2181        html += '           </dd>';
2182        
2183        if (data.total_count > 0) {
2184            html += '           <dd class="lv-replyad-link-btn">';
2185            html += '               <button type="button" data-seq="' + data.id + '">';
2186            html += '                   <span>' + data.message.participation + '</span>';
2187            html += '                   <span class="lv-replyad-count">(' + data.total_count + ' ' + data.message.people + ')</span>';
2188            html += '               </button>';
2189            html += '           </dd>';
2190        }
2191        
2192        html += '       </dl>';
2193        html += '   </div>';
2194        html += '</div>';
2195
2196        return jQuery(html);
2197    };
2198};
2199
2200Livere = function(livere_seq, refer, title) {
2201    this.isWriteForm = false;
2202    this.htmlFactory = new HTMLFactory();
2203
2204    // recobell
2205    if(refer.indexOf("rccode=lvRc") > -1) {
2206        refer = livereLib.util.recobell(refer);
2207    }
2208
2209    livereSharedData.livereReply.livere_seq = livere_seq;
2210    livereSharedData.livereReply.refer = refer;
2211    livereSharedData.livereReply.title = title;
2212
2213    this.fire = function(command) {
2214        var fireData = {};
2215        fireData['ownerObject'] = this;
2216
2217        livereLib.fire(fireData, command);
2218    };
2219
2220    this.init = function() {
2221        livereSharedData.livereReply.livere_seq = livere_seq;
2222        livereSharedData.livereReply.refer = refer;
2223        livereSharedData.livereReply.title = title;
2224
2225        var params = {
2226            refer: livereSharedData.livereReply.refer,
2227            title: livereSharedData.livereReply.title,
2228            version: 8
2229        };
2230
2231        livereLib.initLivereReply(params);
2232    };
2233
2234    this.secondStep = function() {
2235        if(livereSharedData.livereReply.livere_data.use_stickers) {
2236            livereReply.callToModule("livereSticker");
2237        }
2238
2239        var trident = navigator.userAgent.match(/Trident\/(\d)/i);
2240        if((livereSharedData.livereReply.livere_data.use_actionbar
2241            && !livereLib.util.isTouchDevice())
2242            || (livereSharedData.livereReply.livere_data.use_actionbar
2243            && trident != null)) {
2244            livereReply.callToModule("livereActionBar");
2245        }
2246
2247        if (!jQuery("#" + livereSharedData.livereReply.livere_data.targetDiv).length > 0) {
2248            return;
2249        }
2250
2251        var wf = jQuery(livereReply.htmlFactory.defaultHtml());
2252
2253        wf.find("#livereWriteBtn").click(function() {
2254            livereLib.fire(function() {
2255                livereLib.processing = true;
2256                livereReply.write();
2257            }, "processing");
2258            jQuery(this).focus();
2259        });
2260
2261        wf.find("#livere_contentText").bind("change keyup input", function(e) {
2262            livereReply.textValidate(this);
2263        });
2264
2265        /* isTouchDevice */
2266        if (livereLib.switchMobileView) {
2267            jQuery("#" + livereSharedData.livereReply.livere_data.targetDiv).addClass("livere_mobile");
2268
2269            wf.find("#livereWriteFormTop").hide();
2270
2271            var isMobileLogin = jQuery(livereReply.htmlFactory.isMobileLogin());
2272
2273            livereLib.isMobileSmartloginView = false;
2274            isMobileLogin.find("#livereIsMobileBtn").click(function() {
2275                if( livereLib.isMobileSmartloginView ){
2276                    livereLib.isMobileSmartloginView = false;
2277                    livereSmartLogin.close();
2278                    return;
2279                }else{
2280                    livereLib.isMobileSmartloginView = true;
2281                }
2282                livereSmartLogin.usedWriteForm = true;
2283                livereSmartLogin.initOpened();
2284            });
2285
2286            wf.find("#livereWriteForm").prepend(isMobileLogin);
2287        }
2288
2289        if (!livereLib.util.isTouchDevice()) jQuery("#" + livereSharedData.livereReply.livere_data.targetDiv).addClass("livereReply_useMouseOver");
2290
2291        jQuery("#" + livereSharedData.livereReply.livere_data.targetDiv).append(wf);
2292
2293        var data = {};
2294        data["type"] = "livereEvent";
2295        data["key"] = "writeFormCreated";
2296        data["value"] = "true";
2297
2298        livereLib.dispatchEvent(data);
2299
2300        livereReply.setAccounts();
2301
2302        if (livereSharedData.livereReply.livere_data.listviewable == 1 && livereSharedData.livereReply.reply_data)
2303            livereReply.setReplyList(livereSharedData.livereReply.reply_data);
2304
2305        /*livereLib.loadingComplete();*/
2306    };
2307
2308    this.callToModule = function(m_name) {
2309        var modulePath = "https://101.livere.co.kr/js/" + m_name + ".js";
2310        jQuery.getScript(modulePath, function() {
2311            eval(m_name).start();
2312        });
2313    };
2314
2315    this.textValidate = function(obj) {
2316        var textareaObj = jQuery(obj);
2317        var max_len = livereSharedData.livereReply.livere_data.content_maxlen;
2318        var str_len = textareaObj.val().length;
2319
2320        jQuery("#" + textareaObj.attr("targetName")).text(str_len);
2321
2322        if (str_len > max_len) {
2323            textareaObj.val(textareaObj.val().substring(0, (max_len))).focus();
2324            alert(livereLib.getMessage("textCount_8").replace("#TEXTCOUNT#", max_len));
2325            livereReply.textValidate(obj);
2326        }
2327    };
2328
2329    this.setAccounts = function() {
2330        var loggedTarget = jQuery("#livereLogged");
2331        var notLoggedTarget = jQuery("#livereNotLogged");
2332
2333        loggedTarget.empty();
2334        notLoggedTarget.empty();
2335
2336        var s_datas = livereLib.getSmartLoginData();
2337
2338        jQuery.each(s_datas.linkage_accs, function(ii, acc) {
2339            var account = eval(acc);
2340
2341            account.icon = jQuery(livereReply.htmlFactory.linkage_accountHtmlObject(account));
2342
2343            livereLib.util.toolTip(account.icon.find("[rel=tooltip]"));
2344
2345            account.icon.find("[clickType]").click(function() {
2346                livereReply.iconClick(account.name, jQuery(this));
2347            });
2348
2349            livereReply.injectLoginData(account);
2350
2351            if (!livereLib.util.isEmpty(account.member_islogin) && account.member_islogin == "1") {
2352                account.icon.addClass("livere_loggedSNS");
2353                loggedTarget.append(account.icon);
2354                if (!livereLib.util.isEmpty(account.member_ispost) && account.member_ispost == "1") {
2355                    account.icon.find(".livereSNSPostCheck").attr({
2356                        "checked": true
2357                    });
2358                }
2359            } else {
2360                account.icon.find(".livereSNSPostCheck").remove();
2361                notLoggedTarget.append(account.icon);
2362            }
2363        });
2364
2365        jQuery("#livereLogoutBtn").remove();
2366        if (livereLib.isLogged()) {
2367            var all_logout = jQuery(livereReply.htmlFactory.all_logout());
2368            all_logout.click(function() {
2369                livereLib.fire(function() {
2370                    livereLib.processing = true;
2371                    livereLib.fire({}, "livereLogout");
2372                }, "processing");
2373            });
2374
2375            jQuery("#livereWriteFormTop").append(all_logout);
2376        }
2377
2378        var eventData = {};
2379        eventData['type'] = 'livereEvent';
2380        eventData['key'] = 'livereCreationComplete';
2381
2382        livereLib.dispatchEvent(eventData);
2383    };
2384
2385    this.iconClick = function(account_name, clickObj) {
2386
2387        livereLib.fire(function() {
2388            var account = window[account_name];
2389
2390            if (account.member_islogin != '1') {
2391                account.loginGate();
2392
2393                if (clickObj.attr("type") == "checkbox") {
2394                    clickObj.attr("checked", false);
2395                }
2396            } else {
2397                livereLib.processing = true;
2398
2399                var requestParams = {};
2400                requestParams['member_seq'] = account.member_seq;
2401
2402                switch (clickObj.attr("clickType")) {
2403                    case "snsLoginBtn":
2404                        livereLib.fire(requestParams, "setPrimary");
2405                        break;
2406                    case "snsPostingCheck":
2407                        livereLib.fire(requestParams, "setPosting");
2408                        break;
2409                }
2410            }
2411        }, "processing");
2412    };
2413
2414    this.injectLoginData = function(account) {
2415        var s_l = livereLib.getSmartLoginData();
2416
2417        if (s_l.member_datas)
2418            jQuery.each(s_l.member_datas, function(ii, login_acc) {
2419                if (account.name == login_acc.member_domain) {
2420                    jQuery.extend(account, login_acc);
2421                }
2422            });
2423    };
2424
2425    this.drawPrimaryUserData = function() {
2426        var logged = livereLib.isLogged();
2427        jQuery("#livereLogged").removeClass("livereNone")
2428            .removeClass(function(idx, hasClassNames) {
2429                var matchedClass = hasClassNames.match(/livere_p_[a-zA-Z0-9_]*/g) || [];
2430                return matchedClass.join(" ");
2431            });
2432
2433        jQuery(".livereAccInfoWrapper").removeClass(function(idx, hasClassNames) {
2434            var matchedClass = hasClassNames.match(/livere_pWriter_[a-zA-Z0-9_]*/g) || [];
2435            return matchedClass.join(" ");
2436        });
2437
2438        var primaryMember = livereLib.getPrimaryDomain();
2439
2440        if (logged && !livereLib.util.isEmpty(primaryMember)) {
2441            var p_domain = eval(primaryMember.member_domain);
2442
2443            p_domain.icon.addClass("livere_primary");
2444            jQuery("#livereLogged").addClass("livere_p_" + primaryMember.member_domain);
2445
2446            if (primaryMember.member_domain == "kakao" && primaryMember.member_icon ==  null) primaryMember.member_icon = "https://101.livere.co.kr/images/ver8/guest.png";
2447
2448            if (primaryMember.member_icon.indexOf("api.twitter.com/1/users") > -1) primaryMember.member_icon = "https://si0.twimg.com/sticky/default_profile_images/default_profile_1_normal.png";
2449
2450            if (livereLib.isSecure) {
2451                if (primaryMember.member_domain == "twitter" || primaryMember.member_domain == "facebook" || primaryMember.member_domain == "kakao") {
2452                    jQuery("#liverePrimaryThumb > img").attr("src", primaryMember.member_icon.replace("http://", "https://"));
2453                } else {
2454                    jQuery("#liverePrimaryThumb > img").attr("src", primaryMember.member_icon.replace("http://", "https://secure.livere.co.kr:8443/"));
2455                }
2456            } else if (primaryMember.member_domain == "google_plus" && primaryMember.member_icon.indexOf("guest.png") > -1) {
2457                jQuery("#liverePrimaryThumb > img").attr("src", "https://101.livere.co.kr/images/ver8/googleplus_unknown.png");
2458            } else {
2459                jQuery("#liverePrimaryThumb > img").attr("src", primaryMember.member_icon);
2460            }
2461
2462            jQuery("#liverePrimaryThumb > img").attr("alt", livereLib.getMessage("profileImg_8").replace("#DOMAIN#", primaryMember.title));
2463            jQuery("#liverePrimaryThumb").removeClass("notLoggedThumb");
2464            jQuery("#livere_name").val(primaryMember.member_name);
2465            jQuery(".livereAccInfo").html(primaryMember.member_name).addClass("livereFont5");
2466            jQuery(".livereAccInfoWrapper").addClass("livere_pWriter_" + primaryMember.member_domain);
2467
2468            livereReply.currentInputText = jQuery("#livere_contentText").val() != jQuery("#livere_contentText")[0].defaultValue ? jQuery("#livere_contentText").val() : "";
2469
2470            jQuery("#livere_contentText").attr("disabled", false).val(livereReply.currentInputText);
2471            jQuery("#livere_" + primaryMember.member_domain).prepend(livereReply.htmlFactory.setPrimarySNSFavicon()).find(".livereSNSImage_B").text(primaryMember.member_domain + " " + livereLib.getMessage("isPrimary_8"));
2472
2473            if (livereLib.switchMobileView) {
2474                var s_data = livereLib.getSmartLoginData();
2475
2476                jQuery("#livereShareSNS").find(".livereShareSNS").remove();
2477
2478                var isNotShare = true;
2479                jQuery.each(s_data.linkage_accs, function(ii, vv) {
2480                    if (eval(vv).member_islogin == 1 && eval(vv).member_ispost == 1 && eval(vv).posting_enable === 1) {
2481                        jQuery("#livereShareSNS").append(livereReply.htmlFactory.isLoggedSNS(vv));
2482                        isNotShare = false;
2483                    }
2484                });
2485
2486                isNotShare ? jQuery("#livereShareSNS").addClass("livereNone") : jQuery("#livereShareSNS").removeClass("livereNone");
2487
2488                jQuery("#livereIsMobileBtn").addClass("livereSmartBtnIsLogged");
2489                jQuery("#livereIsMobileBtn > span").text(livereLib.getMessage("smartLoginLoggedBtn_8"));
2490            }
2491        } else {
2492            jQuery("#livereLogged").addClass("livereNone");
2493            jQuery("#liverePrimaryThumb > img").attr({
2494                "src": "https://101.livere.co.kr/images/_.gif",
2495                "alt": livereLib.getMessage("beforeLoggedImg_8")
2496            });
2497            jQuery("#liverePrimaryThumb").addClass("notLoggedThumb");
2498            jQuery("#livere_name").val();
2499            jQuery(".livereAccInfo").html(livereLib.getMessage("snsid")).removeClass("livereFont5");
2500            jQuery("#livere_contentText").attr("disabled", true).val(livereLib.getMessage("title"));
2501            jQuery("#liverePrimarySNSFavicon").remove();
2502
2503            if (livereLib.switchMobileView) {
2504                jQuery("#livereShareSNS").addClass("livereNone");
2505                jQuery("#livereIsMobileBtn").removeClass("livereSmartBtnIsLogged");
2506                jQuery("#livereIsMobileBtn >
2506 span").text(livereLib.getMessage("smartLoginNotLoggedBtn_8"));
2507            }
2508        }
2509
2510        var eventData = {};
2511        eventData["type"] = "livereEvent";
2512        eventData["key"] = "drawPrimaryUserDataComplete";
2513        eventData["value"] = primaryMember;
2514
2515        livereLib.dispatchEvent(eventData);
2516    };
2517
2518    this.writeHookers = [];
2519    this.writeDoneHookers = [];
2520    this.writeHooker = function(fun, isDoneHooker) {
2521        if (isDoneHooker)
2522            livereReply.writeDoneHookers.push(fun);
2523        else
2524            livereReply.writeHookers.push(fun);
2525    };
2526
2527    this.write = function(force) {
2528        if (!livereLib.isLogged() && !force) {
2529            alert(livereLib.getMessage("needLogin"));
2530            livereLib.processComplete();
2531            return false;
2532        }
2533
2534        if (livereLib.util.isEmpty(jQuery("#livere_contentText").val())) {
2535            alert(livereLib.getMessage("emptyContentLog"));
2536            livereLib.processComplete();
2537            jQuery('#livere_contentText').trigger('focus');
2538            return false;
2539        }
2540
2541        var hookerDone;
2542        jQuery(livereReply.writeHookers).each(function(ii, vv) {
2543            var fn = eval(vv);
2544            hookerDone = fn();
2545        });
2546
2547        if (typeof(hookerDone) != "undefined") {
2548
2549            if (!hookerDone) {
2550                jQuery(livereReply.writeDoneHookers).each(function(ii, vv) {
2551                    var fn = eval(vv);
2552                    fn();
2553                });
2554
2555                livereLib.processComplete();
2556                return false;
2557            }
2558        }
2559
2560        var fmInputs = jQuery("#livereWriteParamsForm").children();
2561
2562        var params = {};
2563        jQuery.each(fmInputs, function(ii, vv) {
2564            params[vv.name.replace("livere_", "")] = jQuery(vv).val();
2565        });
2566
2567        var primary = livereLib.getPrimaryDomain();
2568
2569        if (livereLib.isLogged() && !livereLib.util.isEmpty(primary)) {
2570
2571            if (!livereLib.util.isEmpty(jQuery("#liverePrimaryThumb > img").attr("src"))) {
2572                params["member_icon"] = jQuery("#liverePrimaryThumb > img").attr("src");
2573            }
2574
2575            params["member_domain"] = primary.member_domain;
2576            params["member_seq"] = primary.member_seq;
2577            params["name"] = primary.member_name;
2578        }
2579
2580        // descipriton check
2581        var description = "";
2582
2583        if (!livereLib.util.isEmpty(livereReply.desc)) {
2584            description = livereReply.desc;
2585        } else if (!livereLib.util.isEmpty(livereReply.description)) {
2586            description = livereReply.description;
2587        } else {
2588            jQuery("meta").each(function(ii, vv) {
2589                var obj = jQuery(vv);
2590                obj.attr("name", (obj.attr("name") + "").toLowerCase());
2591            });
2592
2593            var desc_meta = jQuery("meta[name='description']");
2594            if (desc_meta.length > 0 && !livereLib.util.isEmpty(desc_meta.attr("content"))) {
2595                description = desc_meta.attr("content");
2596            }
2597
2598            if (description.length > 300) {
2599                description = description.substr(0, 299);
2600            }
2601        }
2602        params["description"] = description;
2603
2604        params["refer"] = refer;
2605        params["title"] = title;
2606
2607        // facebook og:image check
2608        var logo = "";
2609        var og_image = jQuery("meta[property='og:image']");
2610        if (!livereLib.util.isEmpty(livereReply.logo)) {
2611            logo = livereReply.logo;
2612        } else if (og_image.length > 0 && !livereLib.util.isEmpty(og_image.attr("content"))) {
2613            logo = og_image.attr("content");
2614        }
2615        params["logo"] = logo;
2616
2617        // swf video posting
2618        if (!livereLib.util.isEmpty(livereReply.videosrc)) params["swf"] = livereReply.videosrc;
2619        if (!livereLib.util.isEmpty(livereReply.videothumb)) params["swfthumb"] = livereReply.videothumb;
2620
2621        if (!livereLib.util.isEmpty(livereReply.site)) params["site"] = livereReply.site;
2622
2623        //filter
2624        var validate_content = livereLib.util.matchingRegExp(params["content"]);
2625        params["content"] = validate_content;
2626
2627        if(typeof isNaverPosting !== 'undefined') {
2628            params.is_event = 'on';
2629        }
2630
2631        livereLib.fire(params, "writeReply");
2632    };
2633
2634    this.writeDoneComplete = function(r_data) {
2635        jQuery("#livere_parent_seq").val("");
2636        jQuery("#livere_contentText").val("");
2637        jQuery("#livereParentStrCount").html("0");
2638        jQuery("#livereReplyCount").text(++livereSharedData.livereReply.rep_data.total_count);
2639
2640        jQuery(livereReply.writeDoneHookers).each(function(ii, vv) {
2641            var fn = eval(vv);
2642            fn();
2643        });
2644    };
2645
2646    this.getReplyObject = function(value, type) {
2647        switch (type) {
2648            default: var returnObject = null;
2649                jQuery(livereReply.listArray).each(function(ii, vv) {
2650                    if (vv.reply_seq == value) {
2651                        returnObject = vv;
2652                        return false;
2653                    }
2654                });
2655
2656                return returnObject;
2657                break;
2658        }
2659    };
2660
2661    this.getArticle = function(pageNo) {
2662        if (!livereReply.status.nowListLoading) {
2663            livereReply.status.nowListLoading = true;
2664
2665            var params = {};
2666            params["calltype"] = livereReply.status.calltype;
2667            params["command"] = "getArticle";
2668            params["sort"] = livereReply.status.sort;
2669            params["viewpage"] = pageNo ? pageNo : livereReply.status.viewPage;
2670
2671            if (!livereLib.util.isEmpty(livereReply.status.search_key)) {
2672                params["search_key"] = livereReply.status.search_key;
2673                params["search_value"] = livereReply.status.search_value;
2674            }
2675
2676            livereLib.fire(params, "getArticle");
2677        }
2678    };
2679
2680    this.getArticleHandler = function(replyData) {
2681
2682        var tabs = jQuery("#livereSortTabWrapper").find("li");
2683        jQuery.each(tabs, function(ii, vv) {
2684            jQuery(vv).find("button").removeClass("livereSorted").find("span").removeClass("livereFont4");
2685        });
2686
2687        var sortId = livereReply.status.sort == "past" ? "new" : livereReply.status.sort;
2688        jQuery("#livereSort_" + sortId).addClass("livereSorted").find("span").addClass("livereFont4");
2689
2690        if (livereReply.status.viewPage == 1) {
2691            jQuery("#livereReplyWrapper").empty();
2692            livereReply.listArray = [];
2693        }
2694
2695        if (jQuery("#livereReplyLoading").length > 0) {
2696            jQuery("#livereReplyLoading").remove();
2697        }
2698
2699        livereReply.setReplyList(replyData);
2700
2701        livereReply.status.nowListLoading = false;
2702    };
2703
2704    this.setListHeader = function() {
2705        if (jQuery("#livereReplySort").length != 0) return;
2706
2707        var listHeader = jQuery(livereReply.htmlFactory.defaultListHeader());
2708
2709        jQuery(listHeader).find("#livereSortTabWrapper button").click(function() {
2710            var id = jQuery(this).attr("id");
2711            id = id.replace("livereSort_", "");
2712
2713            livereLib.fire(function() {
2714                livereLib.processing = true;
2715
2716                if (livereReply.status.viewPage == 1 && livereReply.status.sort == id) {
2717                    livereLib.processComplete();
2718                    return;
2719                }
2720
2721                livereReply.status.sort = livereReply.listReversed && id == "new" ? "past" : id;
2722                livereReply.status.viewPage = 1;
2723                livereReply.status.search_key = null;
2724                livereReply.status.search_value = null;
2725
2726                livereReply.getArticle();
2727            }, "processing");
2728        });
2729
2730        if (livereReply.inverseWriteForm) {
2731            jQuery("#livereWriteForm").before(listHeader);
2732        } else {
2733            jQuery("#livereWriteForm").after(listHeader);
2734        }
2735
2736        if ( jQuery("#livereWriteForm #livereHome").length > -1 ) {
2737            jQuery("#livereNavigatorWrapper").after(jQuery("#livereWriteForm #livereHome"));
2738        }
2739
2740        var eventData = {};
2741        eventData['type'] = 'livereEvent';
2742        eventData['key'] = 'setListHeaderComplete';
2743        eventData['value'] = listHeader;
2744
2745        livereLib.dispatchEvent(eventData);
2746
2747        livereReply.listArray = [];
2748    };
2749
2750    this.setReplyAd = function() {
2751        var replyAdDatas = livereSharedData.livereReply.livere_replyad;
2752
2753        if (!replyAdDatas || replyAdDatas.length < 1) return;
2754
2755        if (livereLib.replyAdIndex >= replyAdDatas.length) {
2756            livereLib.replyAdIndex = 0;
2757        } 
2758
2759        var dispData = replyAdDatas[livereLib.replyAdIndex],
2760            $html = livereReply.htmlFactory.replyAdHtml(dispData);
2761
2762        jQuery('#livereReplyWrapper').append($html);
2763
2764        livereLib.replyAdIndex++;
2765
2766        return;
2767    };
2768
2769    this.setReplyAdEvent = function() {
2770        var replyAdDatas = livereSharedData.livereReply.livere_replyad;
2771
2772        jQuery('#livereReplyWrapper').on('click', '.lv-replyad-link-btn button', function() {
2773            var dataSeq = jQuery(this).attr('data-seq');
2774
2775            jQuery.each(replyAdDatas, function(idx, value) {
2776                if (value.id == dataSeq) {
2777                    window.open(value.shortUrl);
2778
2779                    return false;
2780                }
2781            });
2782
2783            return;
2784        });
2785    };
2786
2787    this.setReplyList = function(replyListData) {
2788
2789        if (!livereLib.util.isEmpty(replyListData) && replyListData.length > 0) {
2790
2791            livereReply.sowingList = true;
2792
2793            jQuery.each(replyListData, function(idx, replyData) {
2794                livereReply.setReply(replyData);
2795
2796                if ((idx + 1) % 5 == 0) {
2797                    livereReply.setReplyAd();
2798                }
2799            });
2800
2801            livereReply.sowingList = false;
2802
2803            livereReply.setMoreBtn(replyListData.length);
2804        }
2805
2806        var eventData = {};
2807        eventData["type"] = "livereEvent";
2808        eventData["key"] = "getArticleHandlerComplete";
2809        eventData["value"] = livereReply.listArray;
2810
2811        livereLib.dispatchEvent(eventData);
2812    };
2813
2814    this.setReplySwitcher = function(reply) {
2815        reply.reply_regdate = reply.regdate.year + 1900 + "-" + livereLib.util.addZero(parseInt(reply.regdate.month) + 1) + "-" + livereLib.util.addZero(reply.regdate.date);
2816        reply.reply_regdate += " " + livereLib.util.addZero(reply.regdate.hours) + ":" + livereLib.util.addZero(reply.regdate.minutes) + ":" + livereLib.util.addZero(reply.regdate.seconds);
2817
2818        reply.septSNSObj = reply.sept_sns.split(",").reverse();
2819
2820        if (reply.member_domain == 'sociallg') {
2821            if (!livereLib.util.isEmpty(reply.member_url) && !livereLib.util.isEmpty(reply.member_icon)) {
2822                // member_url is not null
2823                // member_image is not null
2824                // member_doman is sociallg
2825                // member_domain change
2826
2827                if (reply.member_url.indexOf("twitter") > -1) {
2828                    reply.member_domain = "twitter";
2829                } else if (reply.member_url.indexOf("facebook") > -1) {
2830                    reply.member_domain = "facebook";
2831                } else if (reply.member_url.indexOf("me2day") > -1) {
2832                    reply.member_domain = "me2day";
2833                } else if (reply.member_url.indexOf("yozm") > -1) {
2834                    reply.member_domain = "yozm";
2835                } else if (reply.member_url.indexOf("cyworld") > -1) {
2836                    reply.member_domain = "cyworld";
2837                } else if (reply.member_url.indexOf("tistory") > -1) {
2838                    reply.member_domain = "tistory";
2839                } else if (reply.member_url.indexOf("weibo") > -1) {
2840                    reply.member_domain = "weibo_sina";
2841                }
2842
2843            }
2844        }
2845
2846        return reply.reply_seq == reply.parent_seq ? livereReply.htmlFactory.defaultParentReplyHtml(reply) : livereReply.htmlFactory.defaultChildReplyHtml(reply);
2847    };
2848
2849    this.setReply = function(replyData) {
2850
2851        if (livereReply.getReplyObject(replyData.reply_seq)) {
2852            return;
2853        }
2854
2855        if ((livereReply.status.sort == "good" || livereReply.status.sort == "bad") && !livereReply.forceSubReply) {
2856            replyData.parent_seq = replyData.reply_seq;
2857        }
2858
2859        var service = eval(replyData.member_domain);
2860
2861        livereReply.setListHeader();
2862
2863        replyData = livereReply.setReplySwitcher(replyData);
2864
2865        // 160429
2866        if(replyData.name === "관리자" && replyData.member_domain === "guest" && replyData.info3 === "admin") {
2867            replyData.wrapper.find(".livereReply_delete").remove();
2868        }
2869
2870        var imgSrc = replyData.wrapper.find(".livereReplyThumb img").attr("src");
2871        var img = new Image();
2872
2873        img.onerror = function() {
2874            replyData.wrapper.find(".livereReplyThumb img").attr("src", "https://101.livere.co.kr/images/ver8/unknown_profile.gif");
2875        };
2876
2877        img.src = imgSrc.length > 0 ? imgSrc : "Not Image";
2878
2879        livereLib.util.toolTip(replyData.wrapper.find("[rel=tooltip]"));
2880
2881        replyData.wrapper.find(".livereReplyThumb").click(function() {
2882            livereReply.openMyPage(replyData);
2883        });
2884
2885        replyData.wrapper.find(".livereReplyWriterName").click(function() {
2886            livereReply.openMyPage(replyData);
2887        });
2888
2889        replyData.wrapper.find(".livereReply_addchild").click(function() {
2890            if (!livereReply.forceUseReplyFunc)
2891                var targetObj = jQuery(this);
2892            livereLib.fire(function() {
2893                livereLib.processing = true;
2894                livereReply.replyFunction(targetObj, replyData);
2895            }, "processing");
2896        });
2897
2898        replyData.wrapper.find(".livereReply_delete").click(function() {
2899            if (!livereReply.forceUseReplyFunc)
2900                var targetObj = jQuery(this);
2901            livereLib.fire(function() {
2902                livereLib.processing = true;
2903                livereReply.replyFunction(targetObj, replyData);
2904            }, "processing");
2905        });
2906
2907        replyData.wrapper.find(".livereReply_good").click(function() {
2908            if (!livereReply.forceUseReplyFunc)
2909                var targetObj = jQuery(this);
2910            livereLib.fire(function() {
2911                livereLib.processing = true;
2912                livereReply.replyFunction(targetObj, replyData);
2913            }, "processing");
2914        });
2915
2916        replyData.wrapper.find(".livereReply_bad").click(function() {
2917            if (!livereReply.forceUseReplyFunc)
2918                var targetObj = jQuery(this);
2919            livereLib.fire(function() {
2920                livereLib.processing = true;
2921                livereReply.replyFunction(targetObj, replyData);
2922            }, "processing");
2923        });
2924
2925        replyData.wrapper.find(".livereReply_police").click(function() {
2926
2927            var targetObj = jQuery(this);
2928
2929            if (!livereLib.isLogged()) {
2930                alert(livereLib.getMessage("needLogin"));
2931                return;
2932            }
2933
2934            livereLib.fire(function() {
2935                livereLib.processing = true;
2936                livereReply.replyFunction(targetObj, replyData);
2937            }, "processing");
2938            /*var targetObj = jQuery(this);
2939
2940             var policyObj = targetObj.parent();
2941
2942             if (!livereLib.isLogged()) {
2943             alert(livereLib.getMessage("needLogin"));
2944             return;
2945             }
2946             policyObj.find('.livere_police_layer').slideDown(200);
2947             policyObj.find('.livere_police_layer_close').click(function() {
2948             policyObj.find('.livere_police_layer').slideUp(200);
2949             targetObj.focus();
2950             });
2951             policyObj.find('.livere_police_centet_select').change(function() {
2952             if (policyObj.find(".livere_police_centet_select option:selected").val() == 4) policyObj.find('.livere_police_layer_txt').slideDown(200);
2953             else policyObj.find('.livere_police_layer_txt').slideUp(200);
2954             });
2955             policyObj.find('.livere_police_layer_content .livere_report_btn').click(function() {
2956             replyData.report_flag = policyObj.find(".livere_police_centet_select option:selected").val();
2957             if (replyData.report_flag == 0) {
2958             var m_police_bundle = livereLib.getMessage('police_bundle'),
2959             police_bundle_arr = m_police_bundle.split(',');
2960             alert(police_bundle_arr[8]);
2961             return;
2962             }
2963             replyData.report_txt = policyObj.find('.livere_report_txt').val();
2964             livereLib.fire(function() {
2965             livereLib.processing = true;
2966             livereReply.replyFunction(targetObj, replyData);
2967             }, "processing");
2968             });*/
2969
2970            var eventData = {};
2971            eventData["type"] = "livereEvent";
2972            eventData["key"] = "policeLayerDrawComplete";
2973            eventData["value"] = replyData;
2974
2975            livereLib.dispatchEvent(eventData);
2976        });
2977
2978        replyData.wrapper.removeClass("livereNone");
2979
2980        var primary_domain = livereLib.getPrimaryDomain();
2981        var rep_admin_seq = livereSharedData.livereReply.rep_data.admin_seq;
2982        var livere_admin_seq = livereSharedData.livereReply.livere_data.admin_seq;
2983        var member_group_seq = primary_domain == null ? -1 : primary_domain.member_group_seq;
2984
2985        if (member_group_seq != rep_admin_seq && member_group_seq != livere_admin_seq && !livereReply.isOwner(replyData) && replyD
2985ata.member_group_seq != 0) {
2986            replyData.wrapper.find(".livereReply_delete").parent().hide();
2987        }
2988
2989        livereReply.listArray.push(replyData);
2990
2991        if (replyData.reply_seq == replyData.parent_seq) {
2992            if (livereReply.sowingList || livereReply.listReversed) {
2993                jQuery("#livereReplyWrapper").append(replyData.wrapper);
2994            } else {
2995                jQuery("#livereReplyWrapper").prepend(replyData.wrapper);
2996            }
2997        } else {
2998            var parentReply = null;
2999            jQuery.each(livereReply.listArray, function(ii, vv) {
3000                if (vv.reply_seq == replyData.parent_seq) {
3001                    parentReply = vv;
3002                    return false;
3003                }
3004            });
3005
3006            if (parentReply == null) {
3007                var emptyReply = livereReply.htmlFactory.defaultEmptyReplyHtmlObject();
3008                emptyReply.isEmpty = true;
3009                emptyReply.reply_seq = replyData.parent_seq;
3010                emptyReply.regdate = replyData.regdate;
3011
3012                livereReply.listArray.push(emptyReply);
3013                jQuery("#livereReplyWrapper").append(emptyReply.wrapper);
3014
3015                parentReply = emptyReply;
3016                parentReply.wrapper.removeClass("livereNone");
3017            }
3018
3019            parentReply.replyBody.find(".livereChildReplyWrapper").append(replyData.wrapper);
3020
3021
3022        }
3023
3024        if (livereReply.loadedFirstReply) {
3025            replyData.wrapper.find(".livereParentReplyThumb").focus();
3026            livereReply.loadedFirstReply = false;
3027        }
3028
3029        var eventData = {};
3030        eventData["type"] = "livereEvent";
3031        eventData["key"] = "setReplyComplete";
3032        eventData["value"] = replyData;
3033
3034        livereLib.dispatchEvent(eventData);
3035    };
3036
3037    this.isOwner = function(replyData) {
3038        var pri = livereLib.getPrimaryDomain();
3039        if (pri == null)
3040            return false;
3041
3042        return replyData.member_group_seq == pri.member_group_seq ? true : false;
3043    };
3044
3045    this.dynamicDeleteBtn = function() {
3046        var r_list = livereReply.listArray;
3047
3048        if (!livereLib.util.isEmpty(r_list)) {
3049            var p_data = livereLib.getPrimaryDomain();
3050            var rep_admin_seq = livereSharedData.livereReply.rep_data.admin_seq;
3051            var livere_admin_seq = livereSharedData.livereReply.livere_data.admin_seq;
3052
3053            jQuery.each(r_list, function(ii, vv) {
3054                if (!livereLib.util.isEmpty(p_data)) {
3055                    if (vv.member_group_seq == p_data.member_group_seq || livereReply.isOwner(vv) || rep_admin_seq == p_data.member_group_seq || livere_admin_seq == p_data.member_group_seq) {
3056                        vv.wrapper.find(".livereReply_delete").parent().show();
3057                    }
3058                } else {
3059                    if (vv.member_group_seq != 0)
3060                        vv.wrapper.find(".livereReply_delete").parent().hide();
3061                }
3062            });
3063        }
3064    };
3065
3066    this.deleteHandler = function(result) {
3067        if (result.result == "200") {
3068            var target_object = livereReply.getReplyObject(result.resultData.reply_seq),
3069                childReply = target_object.wrapper.find('.livereChildReply');
3070            // 160608
3071            if(childReply.length > 0) {
3072                target_object.wrapper.replaceWith(function(){
3073                    var wrapper = livereReply.htmlFactory.defaultEmptyReplyHtmlObject().wrapper;
3074                    jQuery.each(childReply, function(ii, vv){
3075                        wrapper.find('.livereChildReplyWrapper').eq(0).append(vv);
3076                    });
3077                    return wrapper;
3078                });
3079            } else {
3080                target_object.wrapper.remove();
3081            }
3082
3083            jQuery("#livereReplyCount").text(--livereSharedData.livereReply.rep_data.total_count);
3084
3085            var newListArray = [];
3086            jQuery(livereReply.listArray).each(function(ii, vv) {
3087                if (vv.reply_seq != result.resultData.reply_seq) {
3088                    newListArray.push(vv);
3089                }
3090            });
3091            livereReply.listArray = newListArray;
3092
3093            if(livereSharedData.livereReply.rep_data.total_count <= 0) {
3094                jQuery('#livereReplySort, #livereReplyWrapper, #livereNavigatorWrapper').remove();
3095                jQuery('#livereHome').appendTo('#livereWriteForm');
3096            }
3097        }
3098    };
3099
3100    this.openMyPage = function(r_data) {
3101        var service = eval(r_data.member_domain);
3102        service.openUserPage(r_data);
3103    };
3104
3105    this.replyFunction = function(obj, r_data) {
3106
3107        var wrapper = r_data.wrapper;
3108        var reply_data = wrapper.data();
3109
3110        var btn_name = obj.attr("targetName");
3111
3112        var params = {
3113            reply_seq: r_data.reply_seq,
3114            do_name: btn_name
3115        };
3116
3117
3118        if (r_data.member_group_seq > 0) {
3119            params['target_member_group_seq'] = reply_data.member_group_seq;
3120        }
3121
3122        switch (btn_name) {
3123            case "good":
3124                params["do_code"] = 201;
3125                if (livereLib.isLogged()) {
3126                    params["member_group_seq"] = livereLib.getPrimaryDomain().member_group_seq;
3127                }
3128                break;
3129            case "bad":
3130                params["do_code"] = 202;
3131                if (livereLib.isLogged()) {
3132                    params["member_group_seq"] = livereLib.getPrimaryDomain().member_group_seq;
3133                }
3134                break;
3135            case "police":
3136                params["do_code"] = 203;
3137                params["do_code"] = 203;
3138                if (livereLib.isLogged()) {
3139                    params["member_group_seq"] = livereLib.getPrimaryDomain().member_group_seq;
3140                    params["report_flag"] = r_data.report_flag;
3141                    params["report_txt"] = r_data.report_txt;
3142                    params["site"] = r_data.site;
3143                } else {
3144                    alert("need login");
3145                    return;
3146                }
3147                break;
3148            case "addchild":
3149                if (!livereLib.isLogged()) {
3150                    alert(livereLib.getMessage("needLogin"));
3151                    livereLib.processComplete();
3152                } else {
3153                    livereReply.addChildWriteForm(r_data);
3154                }
3155                return;
3156            case "qoute":
3157                if (!livereLib.isLogged()) {
3158                    alert(livereLib.getMessage("needLogin"));
3159                    livereLib.processComplete();
3160                } else {
3161                    livereLib.processComplete();
3162                }
3163                return;
3164            case "delete":
3165                if (!livereLib.isLogged()) {
3166                    alert(livereLib.getMessage("needLogin"));
3167                    livereLib.processComplete();
3168                } else {
3169                    if (confirm(livereLib.getMessage("deleteConfirm"))) {
3170                        livereLib.fire(params, "deleteReply");
3171                    }
3172
3173                    livereLib.processComplete();
3174                }
3175                return;
3176        }
3177
3178        if (livereLib.userActionHistory(params["do_code"] == 203 ? "police" : "procon", r_data.reply_seq)) {
3179            if (params["do_code"] == 203) alert(livereLib.getMessage("police_duplicate_message"));
3180            else alert(livereLib.getMessage("duplicate"));
3181
3182            livereLib.processComplete();
3183        } else {
3184            livereLib.fire(params, "action");
3185        }
3186    };
3187
3188    this.addChildWriteForm = function(r_data) {
3189        if (r_data.wrapper.find("#livereChildReplyWriteForm").length > 0) {
3190            r_data.wrapper.find("#livereChildReplyWriteForm").remove();
3191            livereLib.processComplete();
3192            return;
3193        } else {
3194            jQuery("#livereChildReplyWriteForm").remove();
3195            livereLib.processComplete();
3196        }
3197
3198        var childWriteForm = jQuery(livereReply.htmlFactory.childReplyWriteFormHtml());
3199
3200        childWriteForm.find("#livere_childContentText").bind("change keyup input", function(e) {
3201            livereReply.textValidate(this);
3202        });
3203
3204        childWriteForm.find("#livereChildWriteBtn").click(function() {
3205            if (livereLib.isLogged()) {
3206                jQuery("#livere_parent_seq").val(r_data.reply_seq);
3207                jQuery("#livere_contentText").val(jQuery("#livere_childContentText").val());
3208
3209                livereReply.write();
3210
3211                jQuery(childWriteForm).remove();
3212            } else {
3213                alert(livereLib.getMessage("needLogin"));
3214                return;
3215            }
3216        });
3217
3218        childWriteForm.removeClass("livereNone");
3219
3220        r_data.wrapper.find(".livereChildReplyWrapper").prepend(childWriteForm);
3221
3222        var s_data = livereLib.getSmartLoginData();
3223        var m_datas = s_data.member_datas;
3224        var writerName = "";
3225        var rt_text = "";
3226
3227        if (!livereLib.util.isEmpty(s_data)) {
3228            jQuery.each(m_datas, function(ii, vv) {
3229                if (vv.member_domain == r_data.member_domain && vv.member_islogin != 0) {
3230                    writerName = vv.member_name;
3231
3232                    var params = {
3233                        member_seq: vv.member_seq
3234                    };
3235                    livereLib.fire(params, "setPrimary");
3236
3237                    switch (r_data.member_domain) {
3238                        case "twitter":
3239                            rt_text = "@" + r_data.name + " ";
3240                            break;
3241                        case "me2day":
3242                            rt_text = "\\" + r_data.name + "\\ ";
3243                            break;
3244                        case "yozm":
3245                            rt_text = "@" + r_data.name + "@ ";
3246                            break;
3247                    }
3248
3249                    childWriteForm.find("#livere_childContentText").focus().val(rt_text);
3250
3251                    return false;
3252                } else {
3253                    livereReply.drawPrimaryUserData();
3254                }
3255            });
3256
3257            var eventData = {};
3258            eventData["type"] = "livereEvent";
3259            eventData["key"] = "addChildWriteFormCreated";
3260            eventData["value"] = r_data;
3261
3262            livereLib.dispatchEvent(eventData);
3263        } else {
3264            alert(livereLib.getMessage("needLogin"));
3265            livereLib.processComplete();
3266            return;
3267        }
3268    };
3269
3270    this.actionCompleteHandler = function(result, requestData) {
3271        switch (result.result) {
3272            case 200:
3273                if( requestData["do_code"] == 300 || requestData["do_code"] == 400
3274                    || requestData["do_code"] == 500 || requestData["do_code"] == 600 ) break;
3275
3276                var reply_object = livereReply.getReplyObject(requestData["reply_seq"]);
3277                var target_reply_html = reply_object.wrapper.find(".livereReplyEvaluation .livereReply_" + requestData["do_name"] + "_count");
3278                var currVal = target_reply_html.text();
3279                target_reply_html.text(++currVal);
3280                if (requestData["do_code"] == 203) alert(livereLib.getMessage("police_accept_message"));
3281                else alert(livereLib.getMessage("actionbtntext"));
3282                break;
3283            default:
3284                if (requestData["do_code"] == 203) alert(livereLib.getMessage("police_duplicate_message"));
3285                else alert(livereLib.getMessage("duplicate"));
3286                break;
3287        }
3288    };
3289
3290    this.loadedFirstReply = false;
3291
3292    this.setMoreBtn = function(listLength) {
3293        if (listLength >= livereSharedData.livereReply.livere_data.rowsnum) {
3294            if (livereReply.listArray.length == livereSharedData.livereReply.rep_data.total_count) return true;
3295
3296            var moreBtnObject = jQuery(livereReply.htmlFactory.moreBtn());
3297
3298            moreBtnObject.click(function() {
3299                jQuery(this).remove();
3300                livereReply.loadedFirstReply = true; // Use reply foucs
3301                jQuery("#livereReplyWrapper").append(livereReply.htmlFactory.replyLoading());
3302                livereReply.getArticle(++livereReply.status.viewPage);
3303            });
3304
3305            jQuery("#livereNavigatorWrapper").empty().append(moreBtnObject);
3306
3307            var eventData = {};
3308            eventData["type"] = "livereEvent";
3309            eventData["key"] = "setMoreBtnComplete";
3310
3311            livereLib.dispatchEvent(eventData);
3312        }
3313    };
3314
3315    this.checkAD = function(callback) {
3316        if (location.protocol !== 'https:') {
3317            jQuery.getJSON('http://da.livere.co.kr/load/' + consumer_seq + '/0?callback=?', function(data) {
3318                callback(data);
3319            });
3320        }
3321    };
3322
3323    this.status = {};
3324    this.status.nowListLoading = false;
3325    this.status.calltype = "rep_seq";
3326    this.status.viewPage = 1;
3327    this.status.sort = "new";
3328};
3329
3330
3331/*
3332 *  livere SmartLogin js area
3333 */
3334
3335LivereSmartLogin = function() {
3336    this.htmlFactory;
3337    this.inited = false;
3338    this.container;
3339    this.smartEventBinded = false;
3340
3341    this.init = function() {
3342        if (!livereSmartLogin.inited) {
3343            if (!livereSmartLogin.smartEventBinded) {
3344                livereSmartLogin.eventBinding();
3345            }
3346
3347            var params = {};
3348            if (!livereLib.util.isEmpty(livereLib.message_seq)) {
3349                params["message_seq"] = livereLib.message_seq;
3350            } else if (!livereLib.util.isEmpty(livereSharedData.livereReply.livere_seq)) {
3351                params["livere_seq"] = livereSharedData.livereReply.livere_seq;
3352            } else {
3353                params["message_seq"] = 1;
3354            }
3355
3356            livereLib.fire(params, "getMessage");
3357        }
3358
3359        livereSmartLogin.onlySmartLoginActivate = true;
3360    };
3361
3362    this.initCallback = function(message) {
3363        livereSmartLogin.initMessage = message.resultData;
3364        livereSmartLogin.inited = true;
3365
3366        livereSmartLogin.htmlFactory = new LivereSmartLoginHTMLFactory();
3367        var msieversion = livereLib.util.msieversion();
3368        if( msieversion != 0 && msieversion <= 8 ){
3369            livereLib.cssLoad("https://101.livere.co.kr/css/default_smartlogin8.css");
3370        }else{
3371            livereLib.cssLoad("https://101.livere.co.kr/css/default_smartlogin8_gzip.css");
3372        }
3373
3374
3375        var s_datas = livereLib.getSmartLoginData();
3376        livereSmartLogin.container = s_datas.view_container;
3377
3378        if (jQuery("#" + livereSmartLogin.container).length == 0 && livereLib.switchMobileView) {
3379            //jQuery("#" + livereSharedData.livereReply.livere_data.targetDiv).prepend( "<div id='" + livereSmartLogin.container + "' class='livere_mobile'></div>" );
3380            jQuery("#livereIsMobileBtn").after("<div id='" + livereSmartLogin.container + "' class='livere_mobile'></div>");
3381        }
3382
3383        var customScript = s_datas.custom_script_path;
3384
3385        if (!livereLib.util.isEmpty(customScript)) {
3386            jQuery.getScript(customScript);
3387        }
3388
3389        livereSmartLogin.drawSmartloginData();
3390    };
3391
3392    this.eventBinding = function() {
3393
3394        jQuery(livereLib).bind('livereEvent', function(event, param) {
3395
3396            var key = param['key'];
3397            var value = param['value'];
3398            var requestData = param['requestData'];
3399
3400            switch (key) {
3401                case "getMessageComplete":
3402                    livereSmartLogin.initCallback(value);
3403                    break;
3404                case "renewMemberData":
3405                case "livereLogout":
3406                    livereSmartLogin.drawSmartloginData();
3407                    break;
3408                case "livereSmartLoginDrawComplete":
3409                    livereSmartLogin.open();
3410                    livereSmartLogin.removeSmartSnsChkbox();
3411
3412                    break;
3413            }
3414        });
3415    };
3416    this.removeSmartSnsChkbox = function() {
3417        jQuery(".livere_mobile #smartLoginContent_list #smartLogin_tistory.on .loginSns_right").css("display", "none");
3418        jQuery(".livere_mobile #smartLoginContent_list #smartLogin_google_plus.on .loginSns_right").css("display", "none");
3419        jQuery(".livere_mobile #smartLoginContent_list #smartLogin_cyworld.on .loginSns_right").css("display", "none");
3420    }
3421
3422
3423    this.getMessage = function(messageKey) {
3424        var message = null;
3425        if (!livereLib.util.isEmpty(window.livereCustomMessage)) {
3426            message = eval("window.livereCustomMessage." + messageKey);
3427        }
3428        return livereLib.util.isEmpty(message) ? eval("livereSmartLogin.initMessage." + messageKey) : message;
3429    };
3430
3431    this.drawSmartloginData = function() {
3432
3433        jQuery("#" + livereSmartLogin.container).empty();
3434        jQuery("#" + livereSmartLogin.container).append(livereSmartLogin.htmlFactory.defaultSmartLogin());
3435        jQuery("#smartLogin_close").click(livereSmartLogin.close);
3436
3437        livereLib.util.toolTip(jQuery("#smartLogin_close"));
3438
3439        var smartloginData = livereLib.getSmartLoginData();
3440        var linkage_accs = smartloginData['linkage_accs'];
3441
3442        jQuery(linkage_accs).each(function(ii, acc) {
3443            var acc = eval(acc);
3444
3445            var accHtml = livereSmartLogin.htmlFactory.getSmartLoginObject(acc);
3446
3447            accHtml.data(acc);
3448            accHtml.attr("id", "smartLogin_" + acc.name).find(".loginTitle").text(acc.title);
3449            accHtml.attr("id", "smartLogin_" + acc.name).find(".loginIcon").attr("rel", "tooltip");
3450
3451            if (acc.member_islogin == "1") {
3452                accHtml.addClass("on");
3453                accHtml.attr("id", "smartLogin_" + acc.name).find(".loginIcon_text").text(livereSmartLogin.getMessage("primarySet_8").replace("#DOMAIN#", acc.title));
3454                accHtml.attr("id", "smartLogin_" + acc.name).find(".loginTitle").text(acc.member_name.length > 10 ? acc.member_name.substr(0, 10) + "..." : acc.member_name);
3455                accHtml.find("#loginSnsCheckbox_" + acc.name).attr({
3456                    "rel": "tooltip",
3457                    "aria-label": livereSmartLogin.getMessage("replyPost
3457Conf_8").replace("#DOMAIN#", acc.title)
3458                });
3459
3460                if (acc.member_ispost) {
3461                    accHtml.find(".loginCheckBox")
3462                        .removeClass("check_off")
3463                        .addClass("check_on");
3464                    accHtml.find("#loginSnsCheckbox_" + acc.name).attr({
3465                        "checked": true
3466                    });
3467                }
3468
3469                accHtml.find(".loginIcon").click(livereSmartLogin.snsPostingHandler);
3470                accHtml.find(".loginCheckBoxOrigin").click(livereSmartLogin.snsPostingHandler);
3471                accHtml.find(".loginCheckBox").text(livereSmartLogin.getMessage("replyPostConf_8").replace("#DOMAIN#", acc.title));
3472            } else {
3473                accHtml.addClass("off livere_hand");
3474                accHtml.attr("id", "smartLogin_" + acc.name).find(".loginIcon_text").text(livereSmartLogin.getMessage("loginPageOpen_8").replace("#DOMAIN#", acc.title));
3475                accHtml.find(".loginCheckBoxOrigin").remove();
3476                accHtml.click(function() {
3477                    acc.loginGate();
3478                    livereSmartLogin.currentStatusChange = true;
3479                });
3480            }
3481
3482            livereLib.util.toolTip(accHtml.find("[rel=tooltip]"));
3483
3484            jQuery('#smartLoginContent_list').append(accHtml);
3485        });
3486
3487        // logout btn active
3488        if (livereLib.isLogged()) {
3489            jQuery("#smartLogout").fadeIn(1000);
3490            var primary = livereLib.getPrimaryDomain();
3491            jQuery("#smartLogin_" + primary.member_domain).addClass("primary");
3492            jQuery("#smartLogout").click(livereLib.control.livereLogout);
3493        } else {
3494            jQuery("#smartLogout").fadeOut(1000);
3495        }
3496
3497        if (livereLib.switchMobileView) {
3498            jQuery("#checkin_tip").click(function() {
3499                if (jQuery("#checkin_tip_layer").length == 0) {
3500                    var guide = jQuery(livereSmartLogin.htmlFactory.smartLoginGuide());
3501
3502                    guide.find("#tip_layer_close").click(function() {
3503                        guide.remove();
3504                    });
3505                    guide.find("#smartLogin_close").click(function() {
3506                        guide.remove();
3507                    });
3508
3509                    jQuery("#smartLoginWrapper").prepend(guide);
3510                }
3511            });
3512        }
3513
3514
3515
3516        var eventData = {};
3517        eventData["type"] = "livereEvent";
3518        eventData["key"] = "livereSmartLoginDrawComplete";
3519        livereLib.dispatchEvent(eventData);
3520
3521
3522        jQuery("#smartLogin_done").click(livereSmartLogin.close);
3523    }
3524
3525    this.snsPostingHandler = function() {
3526        livereSmartLogin.currentStatusChange = true;
3527
3528        var clickedObject = jQuery(this);
3529        var icon = clickedObject.parents(".snsContainer");
3530
3531        var is_postingCliecked = clickedObject.parents(".loginSns_right").length;
3532        var is_setPrimaryCliecked = clickedObject.parents(".loginSns_left").length;
3533
3534        var loginData = icon.data();
3535
3536        var requestParams = {};
3537        requestParams['member_seq'] = loginData.member_seq;
3538
3539        if (is_postingCliecked == 1) {
3540            livereLib.fire(requestParams, "setPosting");
3541        } else if (is_setPrimaryCliecked == 1) {
3542            livereLib.fire(requestParams, "setPrimary");
3543        }
3544    };
3545
3546    this.initOpened = function() {
3547        livereSmartLogin.init();
3548        if (livereSmartLogin.inited) {
3549            livereSmartLogin.open();
3550        }
3551    };
3552
3553    this.beforeParent = null;
3554    this.open = function() {
3555        if (livereSmartLogin.usedWriteForm) {
3556            if (!jQuery("#" + livereSmartLogin.container).parent().hasClass("livere_mobile")) {
3557
3558                livereSmartLogin.beforeParent = jQuery("#" + livereSmartLogin.container).parent();
3559                jQuery("#" + livereSmartLogin.container).removeClass("livere_mobile");
3560                //jQuery("#" + livereSharedData.livereReply.livere_data.targetDiv).prepend( jQuery("#" + livereSmartLogin.container) );
3561                jQuery("#livereIsMobileBtn").after(jQuery("#" + livereSmartLogin.container));
3562            }
3563
3564            livereSmartLogin.usedWriteForm = false;
3565        } else {
3566            if (!livereSmartLogin.currentStatusChange) {
3567                if (livereSmartLogin.beforeParent) {
3568                    jQuery(livereSmartLogin.beforeParent).append(jQuery("#" + livereSmartLogin.container));
3569                    livereSmartLogin.beforeParent = null;
3570                }
3571
3572                if (livereLib.switchMobileView) {
3573                    jQuery("#" + livereSmartLogin.container).addClass("livere_mobile");
3574                }
3575
3576            } else {
3577                livereSmartLogin.currentStatusChange = false;
3578            }
3579        }
3580
3581        if (livereSmartLogin.onlySmartLoginActivate) {
3582            jQuery("#" + livereSmartLogin.container).show();
3583        }
3584    };
3585
3586    this.close = function() {
3587        livereLib.isMobileSmartloginView = false;
3588        jQuery("#" + livereSmartLogin.container).hide();
3589    };
3590}
3591
3592LivereSmartLoginHTMLFactory = function() {
3593    this.defaultSmartLogin = function() {
3594        var html = "";
3595        html += "<div id='smartLoginWrapper'>";
3596        html += "   <div id='smartLoginTop'>";
3597        html += "       <div id='smartLoginTop_title'>";
3598        html += "           <div id='title_left'>";
3599        html += "               <span id='livere_logo'></span>";
3600        html += "               <span id='smartLogin_logo'>" + livereSmartLogin.getMessage("smartLoginTitle_8") + "</span>";
3601        html += "           </div>";
3602        html += "           <div id='title_right'>";
3603        html += "               <button type='button' id='smartLogin_close' rel='tooltip'><span>" + livereSmartLogin.getMessage("close_8") + "</span></button>";
3604        html += "           </div>";
3605        html += "       </div>";
3606        html += "   </div>";
3607        html += "   <div id='smartLoginContent'>";
3608        html += "       <div id='smartLoginContent_top'>";
3609        html += "           <div id='contentTop_left'>";
3610        html += "               <span id='leftDes'>" + livereSmartLogin.getMessage("smartLoginDesc_8") + "</span>";
3611        html += "           </div>";
3612        html += "           <div id='contentTop_right'>";
3613        html += "               <button type='button' id='smartLogout'>";
3614        html += "                   <span id='logoutTxt'>" + livereSmartLogin.getMessage("all_logout") + "</span>";
3615        html += "               </button>";
3616
3617        if (livereLib.switchMobileView) {
3618            html += "               <button type='button' id='checkin_tip'>";
3619            html += "                   <span id='checkin_tip_txt'>" + livereSmartLogin.getMessage("smartLoginHelp_8") + "</span>";
3620            html += "               </button>";
3621        }
3622
3623        html += "           </div>";
3624        html += "       </div>";
3625        html += "       <ul id='smartLoginContent_list'>";
3626        html += "       </ul>";
3627
3628        if (livereLib.switchMobileView) {
3629            html += "           <button type='button' id='smartLogin_done'>";
3630            html += "               <span id='smartLogin_done_txt'>" + livereSmartLogin.getMessage("submitBtn_8") + "</span>";
3631            html += "           </button>";
3632        }
3633
3634        html += "   </div>";
3635
3636        html += "<a id='S_liverePowered' href='http://www.livere.com' title='" + livereSmartLogin.getMessage("livereHome_8") + " - " + livereSmartLogin.getMessage('openWindow') + "' aria-label='" + livereSmartLogin.getMessage("livereHome_8") + " - " + livereSmartLogin.getMessage('openWindow') + "' target='_blank'>Powered by <strong class='livereColor1'>Live</strong><strong class='livereColor2'>Re</strong></a>";
3637
3638        html += "</div>";
3639
3640        return html;
3641    };
3642
3643    this.smartLoginGuide = function() {
3644        var tipDesc = livereSmartLogin.getMessage("smartLoginTipDesc_8").split("|");
3645        var html = "";
3646
3647        html += "<div id='checkin_tip_layer'>";
3648        html += "   <div id='tip_layer_title'>";
3649        html += "       <strong id='livere_checkin_title'>" + livereSmartLogin.getMessage("smartLoginHelpTitle_8") + "</strong>";
3650        html += "       <button id='tip_layer_close'><span>" + livereSmartLogin.getMessage("close_8") + "</span></button>";
3651        html += "   </div>";
3652        html += "   <div id='tip_layer_content'>";
3653        html += "       <ul>";
3654        html += "           <li id='tip_check' class='tip_content_text'><b>" + livereSmartLogin.getMessage("smartLoginCheck_8") + "</b>" + tipDesc[0] + "</li>";
3655        html += "           <li id='tip_uncheck' class='tip_content_text'><b>" + livereSmartLogin.getMessage("smartLoginUnCheck_8") + "</b>" + tipDesc[1] + "</li>";
3656        html += "           <li id='tip_primary_acc' class='tip_content_text'><b>" + livereSmartLogin.getMessage("primaryset") + "</b>" + tipDesc[2] + "</li>";
3657        html += "           <li id='tip_logout' class='tip_content_text'><b>" + livereSmartLogin.getMessage("all_logout") + "</b>" + tipDesc[3] + "</li>";
3658        html += "       </ul>";
3659        html += "   </div>";
3660        html += "</div>";
3661
3662        return html;
3663    };
3664
3665    this.getSmartLoginObject = function(data) {
3666        var html = "<li class='snsContainer snsLoginBox login_wrapper'>";
3667
3668        html += "   <p class='loginSns_left'>";
3669        html += "       <span class='primary_acc'></span>";
3670        html += "       <button type='button' class='loginIcon'><span class='loginIcon_text'></span></button>";
3671        html += "   </p>";
3672        html += "   <p class='loginSns_center'>";
3673        html += "       <span class='loginTitle'></span>";
3674        html += "   </p>";
3675        html += "   <p class='loginSns_right'>";
3676
3677        if ( data.posting_enable === 1 || (data.name === 'naver' && typeof isNaverPosting !== 'undefined') ){
3678            html += "       <label for='loginSnsCheckbox_" + data.name + "' class='loginCheckBox check_off'>" + livereSmartLogin.getMessage("replyPostConf_8").replace("#DOMAIN#", data.name) + "</label>";
3679            html += "       <input id='loginSnsCheckbox_" + data.name + "' class='loginCheckBoxOrigin' type='checkbox' />";
3680        }
3681
3682        html += "   </p>";
3683
3684        html += "</li>";
3685
3686        return jQuery(html);
3687    };
3688}
3689
3690/*
3691 *  livere widzet area
3692 */
3693LivereActionWidzetHTMLFactory = function() {
3694    this.containerHTML = function() {
3695        var containerHTML = "";
3696
3697        containerHTML += "<dl id='#WIDZET_ID#' class='livereActionWidzet'>";
3698        containerHTML += "  <dt id='livereActionWidzetTitleWrapper'><span id='livereActionWidzetTitle' class='livereAction_t_indent'>LiveRe Widzet</span></dt>";
3699        containerHTML += "  <dd id='livereActionEmotionContainer'>";
3700        containerHTML += "      <ul id='livereActionEmotionWrapper'>";
3701        containerHTML += "      </ul>";
3702        containerHTML += "  </dd>";
3703        containerHTML += "  <dd id='livereActionDomainContainer'>";
3704        containerHTML += "          <ul id='livereActionSNSButtonContainer'>";
3705        containerHTML += "          </ul>";
3706        containerHTML += "  </dd>";
3707        containerHTML += "</dl>";
3708
3709        return containerHTML;
3710    };
3711
3712    this.emotionBtn = function() {
3713        var emotionBtn = "";
3714
3715        emotionBtn += "<li class='livereActionEmotionBtnWrapper'>";
3716        emotionBtn += " <button type='button' id='#EMOTION_ID#' class='livereActionEmotionBtn livereActionBtn1' aria-label='#EMOTION_TYPE#'>";
3717        emotionBtn += "     <span>#EMOTION_TYPE#</span>";
3718        emotionBtn += "     <strong>#EMOTION_COUNT#</strong>";
3719        emotionBtn += " </button>";
3720        emotionBtn += "</li>";
3721
3722        return emotionBtn;
3723    };
3724
3725    this.snsBtn = function() {
3726        var snsBtn = "";
3727
3728        snsBtn += "<li id='livereAction_#SNS_ID#_wrapper' class='livereActionSNSButtonWrapper'>";
3729        snsBtn += " <button type='button' type='button' id='livereAction_#SNS_ID#' class='livereActionSNSButton livereActionBtn2' rel='tooltip' aria-label='#TOOLTIP#'>";
3730        snsBtn += "     <span class='livereAction_t_indent'>#SNS_ID#</span>";
3731        snsBtn += "     <strong>#SNS_COUNT#</strong>";
3732        snsBtn += " </button>";
3733        snsBtn += "</li>";
3734
3735        return snsBtn;
3736    };
3737
3738    this.postingLayer = function() {
3739        var postingLayer = "";
3740
3741        postingLayer += "<div id='livereActionPostingContainer'>";
3742        postingLayer += "   <dl id='livereActionPostingLayer'>";
3743        postingLayer += "       <dt id='livereActionPostingTop_#DOMAIN#' class='livereActionPostingTop livereAction_AfterClear'>";
3744        postingLayer += "           <strong id='livereActionPostingTitle'>
3744" + livereLib.getMessage("actionWidzetLayerTitle_8") + "</strong>";
3745        postingLayer += "           <button type='button' id='livereActionPostingClose' class='livereActionBtn4' rel='tooltip'>";
3746        postingLayer += "               <span class='livereAction_t_indent'>" + livereLib.getMessage("close_8") + "</span>";
3747        postingLayer += "           </button>";
3748        postingLayer += "       </dt>";
3749        postingLayer += "       <dd id='livereActionPostingMiddle' class='livereAction_AfterClear'>";
3750        postingLayer += "           <p id='livereActionPostingMemberName'>#MEMBER_NAME#</p>";
3751        postingLayer += "           <div id='livereActionPostingThumbWrapper'>";
3752        postingLayer += "               <img id='livereActionPostingThumb' src='#MEMBER_ICON#' alt='" + livereLib.getMessage("profileImg_8") + "' />";
3753        postingLayer += "               <span id='livereActionPostingFavi_#DOMAIN#' class='livereActionPostingFavi'></span>";
3754        postingLayer += "           </div>";
3755        postingLayer += "           <label for='livereActionPostingText' class='livereAction_None'>" + livereLib.getMessage("actionWidzetContentInput_8") + "</label>";
3756        postingLayer += "           <textarea id='livereActionPostingText' targetName='livereActionPostingTextCount'></textarea>";
3757        postingLayer += "       </dd>";
3758        postingLayer += "       <dd id='livereActionPostingBottom' class='livereAction_AfterClear'>";
3759        postingLayer += "           <p id='livereActionPostingTextCountWrapper'><strong id='livereActionPostingTextCount'>0</strong>/<span id='livereActionPostingTextMaxCount'>" + livereSharedData.livereReply.livere_data.content_maxlen + "</span></p>";
3760        postingLayer += "           <button type='button' id='livereActionPostingSubmitBtn' class='livereActionBtn3'><span>" + livereLib.getMessage("actionWidzetSendBtn_8") + "</span></button>";
3761        postingLayer += "       </dd>";
3762        postingLayer += "       <dd id='livereActionPostingPersonContainer'>";
3763        postingLayer += "           <dl id='livereActionPostingPersonWrapper'>";
3764        postingLayer += "               <dt id='livereActionPostingPersonTop'>";
3765        postingLayer += "                   <span id='livereActionPostingPersonTitle'>" + livereLib.getMessage("actionWidzetSharedBy_8") + "</span>";
3766        postingLayer += "               </dt>";
3767        postingLayer += "               <dd id='livereActionPostingPersonMiddle' class='livereAction_AfterClear'>";
3768        postingLayer += "                   <button type='button' id='livereActionPostingPersonCarouselBtn_left' class='livereActionPostingPersonCarouselBtn'><span class='livereAction_t_indent'>" + livereLib.getMessage("prevBtn_8") + "</span></button>";
3769        postingLayer += "                   <div id='livereActionPostingPersonCarouselContainer'>";
3770        postingLayer += "                       <ul id='livereActionPostingPersonCarousel'>";
3771        postingLayer += "                       </ul>";
3772        postingLayer += "                   </div>";
3773        postingLayer += "                   <button type='button' id='livereActionPostingPersonCarouselBtn_right' class='livereActionPostingPersonCarouselBtn'><span class='livereAction_t_indent'>" + livereLib.getMessage("nextBtn_8") + "</span></button>";
3774        postingLayer += "               </dd>";
3775        postingLayer += "           </dl>";
3776        postingLayer += "       </dd>";
3777        postingLayer += "   </dl>";
3778        postingLayer += "</div>";
3779
3780        return postingLayer;
3781    };
3782
3783    this.postingPersonBtn = function() {
3784        var postingPersonBtn = "";
3785
3786        postingPersonBtn += "<li class='livereActionPostingPersonBtnWrapper'>";
3787        postingPersonBtn += "   <button type='button' class='livereActionPostingPersonThumbBtn livereActionBtn4 livereActionPostingPerson_#DOMAIN#'>";
3788        postingPersonBtn += "       <img class='livereActionPostingPersonThumb' src='#PERSON_ICON#' alt='" + livereLib.getMessage("profileImg_8") + "'/>";
3789        postingPersonBtn += "       <span class='livereActionPostingPersonFavi livereAction_t_indent'>#DOMAIN#</span>";
3790        postingPersonBtn += "   </button>";
3791        postingPersonBtn += "</li>";
3792
3793        return postingPersonBtn;
3794    };
3795};
3796
3797LivereActionWidzet = function() {
3798    this.start = function() {
3799        if (livereSharedData.livereReply.livere_data.use_emotions) {
3800            this.html = new LivereActionWidzetHTMLFactory();
3801            this.target_div = livereSharedData.livereReply.livere_data.emotions_target_div;
3802            this.widzet_id = "livereActionWidzet" + new Date().getTime();
3803            this.emotions = livereSharedData.livereReply.livere_data.emotions.split(",");
3804            this.actions = livereSharedData.livereReply.rep_data.actions;
3805            var msieversion = livereLib.util.msieversion();
3806            if( msieversion != 0 && msieversion <= 8 ){
3807                livereLib.cssLoad("https://101.livere.co.kr/css/default_actionwidzet8.css");
3808            }else{
3809                livereLib.cssLoad("https://101.livere.co.kr/css/default_actionwidzet8_gzip.css");
3810            }
3811
3812
3813            livereActionWidzet.init();
3814        }
3815    };
3816
3817    this.init = function() {
3818        var c_this = this;
3819        var s_data = livereLib.getSmartLoginData();
3820        var container = c_this.html.containerHTML();
3821
3822        container = container.replace("#WIDZET_ID#", c_this.widzet_id);
3823        container = jQuery(container);
3824
3825        jQuery("#" + c_this.target_div).append(container);
3826
3827        c_this.handlers();
3828        c_this.drawActionBtns();
3829        c_this.drawSNSBtns();
3830    };
3831
3832    this.handlers = function() {
3833        if (window.livereActionWidzetBind) return;
3834
3835        window.livereActionWidzetBind = true;
3836
3837        jQuery(livereLib).bind('livereEvent', function(event, param) {
3838
3839            var key = param['key'];
3840            var value = param['value'];
3841            var requestData = param['requestData'];
3842
3843            switch (key) {
3844                case "drawActionBtnsComplete":
3845                    /*
3846                     jQuery( document ).ready( function() {
3847                     livereActionWidzet.resizeElement();
3848                     } );
3849                     */
3850                    break;
3851                case "renewMemberData":
3852                case "livereLogout":
3853                    livereActionWidzet.drawSNSBtns();
3854                    break;
3855            }
3856        });
3857    };
3858    /*
3859     this.resizeElement = function() {
3860     jQuery( window ).resize( function() {
3861     var carouselWidth = jQuery("#livereActionEmotionWrapper").width() - ( jQuery("#livereActionDomainLeftBtn").outerWidth(true) + jQuery("#livereActionDomainRightBtn").outerWidth(true) );
3862
3863     jQuery("#livereActionSNSButtonCarousel").width( carouselWidth );
3864     } ).resize();
3865     };
3866     */
3867    this.drawActionBtns = function() {
3868        var c_this = this;
3869
3870        jQuery.each(c_this.emotions, function(ii, vv) {
3871            var emotion = c_this.html.emotionBtn();
3872            emotion = emotion.replace("#EMOTION_ID#", "livereAction_" + vv);
3873            emotion = livereLib.util.replaceAll(emotion, "#EMOTION_TYPE#", livereLib.getMessage(vv));
3874            emotion = emotion.replace("#EMOTION_COUNT#", eval("c_this.actions." + vv));
3875
3876            emotion = c_this.emotionBtnFunc(emotion);
3877
3878            jQuery("#livereActionEmotionWrapper").append(emotion);
3879        });
3880
3881        var eventData = {};
3882        eventData["type"] = "livereEvent";
3883        eventData["key"] = "drawActionBtnsComplete";
3884
3885        livereLib.dispatchEvent(eventData);
3886    };
3887
3888    this.drawSNSBtns = function() {
3889        var c_this = this;
3890        var s_data = livereLib.getSmartLoginData();
3891        jQuery("#livereActionSNSButtonContainer").empty();
3892
3893        jQuery.each(s_data.linkage_accs, function(ii, vv) {
3894
3895            //if(vv === 'naver') return true; //by lsw
3896
3897            var acc = c_this.html.snsBtn();
3898
3899            var snsCount = eval("c_this.actions." + vv);
3900
3901            if (snsCount > -1) {
3902                acc = livereLib.util.replaceAll(acc, "#SNS_ID#", vv);
3903                acc = acc.replace("#SNS_COUNT#", snsCount);
3904
3905                if (eval(vv).member_islogin != 1) {
3906                    acc = acc.replace("#TOOLTIP#", livereLib.getMessage("loginPageOpen_8").replace("#DOMAIN#", eval(vv).title));
3907                } else {
3908                    acc = acc.replace("#TOOLTIP#", livereLib.getMessage("actionWidzetLayerOpen_8").replace("#DOMAIN#", eval(vv).title));
3909                }
3910
3911                acc = c_this.snsBtnFunc(acc);
3912
3913                livereLib.util.toolTip(acc.find("[rel=tooltip]"));
3914
3915                jQuery("#livereActionSNSButtonContainer").append(acc);
3916            }
3917        });
3918
3919        var eventData = {};
3920        eventData["type"] = "livereEvent";
3921        eventData["key"] = "drawSNSBtnsComplete";
3922
3923        livereLib.dispatchEvent(eventData);
3924    };
3925
3926    this.emotionBtnFunc = function(emotion) {
3927        var c_this = this;
3928        emotion = jQuery(emotion);
3929
3930        emotion.find(".livereActionEmotionBtn").click(function() {
3931            var label = this.id.replace("livereAction_", "");
3932            c_this.emotionBtnAction(label);
3933        });
3934
3935        return emotion;
3936    };
3937
3938    this.emotionBtnAction = function(label) {
3939
3940        if (!livereLib.isLogged()) {
3941            alert(livereLib.getMessage("needLogin"));
3942            return;
3943        }
3944
3945        if (!livereLib.userActionHistory("emotion", refer)) {
3946
3947            var params = {
3948                command: "action",
3949                do_code: 300,
3950                label: label
3951            }
3952
3953            var request = livereLib.url("API_Livere", params);
3954
3955            jQuery.getJSON(request, function(data) {
3956                if (data.result == 200) {
3957                    var obj = jQuery("#livereAction_" + label + " strong");
3958                    obj.text(parseInt(obj.text()) + 1);
3959                    alert(livereLib.getMessage('actionbtntext'));
3960                } else {
3961                    alert(livereLib.getMessage('duplicate'));
3962                }
3963            });
3964        } else {
3965            alert(livereLib.getMessage('duplicate'));
3966        }
3967
3968    };
3969
3970    this.carouselFlag = false;
3971    this.snsBtnFunc = function(acc) {
3972        var c_this = this;
3973        acc = jQuery(acc);
3974
3975        acc.find(".livereActionSNSButton").click(function() {
3976            var service = this.id.replace("livereAction_", "");
3977            var postingLayer = c_this.html.postingLayer();
3978
3979            service = eval(service);
3980            if (service.name == "yozm") {
3981                alert("�ㅼ쓬 而ㅻ��덉��댁뀡�� �붿쬁(Yozm) �쒕퉬�� 醫낅즺�� �곕씪 ï¿½ì‡±ì” é‡‰ëš®â”ï¿½ë¨¯ê½Œ �붿쬁 愿��⑤맂 湲곕뒫 åï¿½ï¿½ë¨¯ì”  以묐떒�⑥쓣 ï¿½ëš®ì ®ï¿½ì’•â”°ï¿½ëˆë–Ž. \n- ï¿½ì‡±ì” é‡‰ëš®â” �� -");
3982                return false;
3983            }else if( service.name == "me2day" ){
3984                alert("èª˜ëª…ë‹¾ï¿½ê³—ì” (me2day) �쒕퉬�� 醫낅즺�� �곕씪 ï¿½ì‡±ì” é‡‰ëš®â”ï¿½ë¨¯ê½Œ èª˜ëª…ë‹¾ï¿½ê³—ì”  愿��⑤맂 湲곕뒫 åï¿½ï¿½ë¨¯ì”  以묐떒�⑥쓣 
3984ï¿½ëš®ì ®ï¿½ì’•â”°ï¿½ëˆë–Ž. \n- ï¿½ì‡±ì” é‡‰ëš®â” �� -");
3985                return false;
3986            }else if( service.name == "cyworld" ){
3987                alert("ï¿½ëª„ì” ï¿½ë¶¾ë±¶ï¿½ï¿½ Cæ¿¡ì’“ë ‡ �쒕퉬�� 醫낅즺�� �곕씪 ï¿½ì‡±ì” é‡‰ëš®â”ï¿½ë¨¯ê½Œ Cæ¿¡ì’“ë ‡ 愿��⑤맂 湲곕뒫 åï¿½ï¿½ë¨¯ì”  以묐떒�⑥쓣 ï¿½ëš®ì ®ï¿½ì’•â”°ï¿½ëˆë–Ž. \n- ï¿½ì‡±ì” é‡‰ëš®â” �� -");
3988                return false;
3989            }
3990            if (!livereLib.isLogged() || service.member_islogin != 1) {
3991                service.loginGate();
3992                return false;
3993            }
3994
3995            jQuery("#livereActionPostingContainer").remove();
3996
3997            postingLayer = postingLayer.replace("#DOMAIN_NAME#", service.title);
3998            postingLayer = livereLib.util.replaceAll(postingLayer, "#DOMAIN#", service.member_domain);
3999            postingLayer = postingLayer.replace("#MEMBER_NAME#", service.member_name);
4000
4001            if (service.member_icon.indexOf("api.twitter.com/1/users") > -1) service.member_icon = "https://si0.twimg.com/sticky/default_profile_images/default_profile_1_normal.png";
4002
4003            if (livereLib.isSecure) {
4004                if (service.member_domain == "twitter" || service.member_domain == "facebook") {
4005                    postingLayer = postingLayer.replace("#MEMBER_ICON#", service.member_icon.replace("http://", "https://"));
4006                } else {
4007                    postingLayer = postingLayer.replace("#MEMBER_ICON#", service.member_icon.replace("http://", "https://secure.livere.co.kr:8443/"));
4008                }
4009            } else {
4010                postingLayer = postingLayer.replace("#MEMBER_ICON#", service.member_icon);
4011            }
4012
4013            postingLayer = jQuery(postingLayer);
4014
4015            var postingPersonParams = {};
4016            postingPersonParams["command"] = "getArticleTableList";
4017            postingPersonParams["member_domain"] = service.name;
4018
4019            var postingPersonUrl = livereLib.url("API_Livere", postingPersonParams);
4020
4021            jQuery.getJSON(postingPersonUrl, function(data) {
4022                if (data.result == 200) {
4023                    var personCount = data.resultData.count;
4024                    var personData = data.resultData.list;
4025
4026                    if (personCount == 0) {
4027                        postingLayer.find("#livereActionPostingPersonMiddle").addClass("livereActionPostingPersonEmpty").append("<p>
4027" + livereLib.getMessage("actionWidzetSharedByMsg_8") + "</p>");
4028                        return false;
4029                    }
4030
4031                    jQuery.each(personData, function(ii, vv) {
4032                        var postingPersonBtn = c_this.html.postingPersonBtn();
4033
4034                        if (vv.member_icon.indexOf("api.twitter.com/1/users") > -1) vv.member_icon = "https://si0.twimg.com/sticky/default_profile_images/default_profile_1_normal.png";
4035
4036                        if (livereLib.isSecure) {
4037                            if (vv.member_domain == "twitter" || vv.member_domain == "facebook") {
4038                                postingPersonBtn = postingPersonBtn.replace("#PERSON_ICON#", vv.member_icon.replace("http://", "https://"));
4039                            } else {
4040                                postingPersonBtn = postingPersonBtn.replace("#PERSON_ICON#", vv.member_icon.replace("http://", "https://secure.livere.co.kr:8443/"));
4041                            }
4042                        } else {
4043                            postingPersonBtn = postingPersonBtn.replace("#PERSON_ICON#", vv.member_icon);
4044                        }
4045
4046                        postingPersonBtn = livereLib.util.replaceAll(postingPersonBtn, "#DOMAIN#", vv.member_domain);
4047
4048                        postingPersonBtn = jQuery(postingPersonBtn);
4049
4050                        postingPersonBtn.find(".livereActionPostingPersonThumbBtn").click(function() {
4051                            window.open(vv.member_url);
4052                        });
4053
4054                        postingLayer.find("#livereActionPostingPersonCarousel").append(postingPersonBtn);
4055
4056                        var postingPersonBtnWidth = postingPersonBtn.outerWidth(true);
4057                        if (personCount > 5) {
4058                            postingLayer.find("#livereActionPostingPersonMiddle").addClass("livereActionPostingPersonCarouselActive");
4059                            postingLayer.find("#livereActionPostingPersonCarousel").css("width", postingPersonBtnWidth * personCount);
4060                        } else {
4061                            postingLayer.find("#livereActionPostingPersonCarousel").css("width", postingPersonBtn.outerWidth(true) * 5);
4062                        }
4063                    });
4064                } else {
4065                    postingLayer.find("#livereActionPostingPersonMiddle").addClass("livereActionPostingPersonEmpty").append("<p>" + livereLib.getMessage("actionWidzetSharedByMsg_8") + "</p>");
4066                }
4067            });
4068
4069            c_this.carouselFlag = false;
4070            postingLayer.find(".livereActionPostingPersonCarouselBtn").click(function() {
4071                if (c_this.carouselFlag) return false;
4072
4073                c_this.carouselFlag = true;
4074
4075                var id = this.id.replace("livereActionPostingPersonCarouselBtn_", "");
4076                var marginLinear = postingLayer.find(".livereActionPostingPersonBtnWrapper").outerWidth(true);
4077                switch (id) {
4078                    case "left":
4079                        if (postingLayer.find("#livereActionPostingPersonCarousel").css("left").replace("px", "") == 0) {
4080                            c_this.carouselFlag = false;
4081                            return false;
4082                        }
4083
4084                        postingLayer.find("#livereActionPostingPersonCarousel").animate({
4085                            "left": "+=" + marginLinear
4086                        }, 200, function() {
4087                            c_this.carouselFlag = false;
4088                        });
4089                        break;
4090                    case "right":
4091                        postingLayer.find("#livereActionPostingPersonCarousel").animate({
4092                            "left": "-=" + marginLinear
4093                        }, 200, function() {
4094                            c_this.carouselFlag = false;
4095                        });
4096                        break;
4097                }
4098            });
4099
4100            livereLib.util.toolTip(postingLayer.find("[rel=tooltip]"));
4101
4102            postingLayer.find("#livereActionPostingClose").click(function() {
4103                acc.find("#livereAction_" + service.member_domain).focus();
4104                postingLayer.remove();
4105            });
4106
4107            postingLayer.find("#livereActionPostingText").bind("change keyup input", function() {
4108                livereActionWidzet.textValidate(this);
4109            });
4110
4111            postingLayer.find("#livereActionPostingSubmitBtn").click(function() {
4112                var params = {
4113                    service: service.member_domain,
4114                    do_code: 600,
4115                    content: postingLayer.find("#livereActionPostingText").val(),
4116                    title: livereSharedData.livereReply.rep_data.title
4117                };
4118
4119                // site check
4120                if (!livereLib.util.isEmpty(livereReply.site)) params["site"] = livereReply.site;
4121
4122                // logo check
4123                var logo = "";
4124                var og_image = jQuery("meta[property='og:image']");
4125                if (og_image.length > 0 && !livereLib.util.isEmpty(og_image.attr("content"))) {
4126                    logo = og_image.attr("content");
4127                }
4128                params['logo'] = logo;
4129
4130                // descipriton check
4131                var description = "";
4132                if (!livereLib.util.isEmpty(livereActionWidzet.description)) {
4133                    description = livereActionWidzet.description;
4134                } else if (!livereLib.util.isEmpty(livereReply.desc)) {
4135                    description = livereReply.desc;
4136                } else if (!livereLib.util.isEmpty(livereReply.description)) {
4137                    description = livereReply.description;
4138                } else {
4139                    jQuery("meta").each(function(ii, vv) {
4140                        var obj = jQuery(vv);
4141                        obj.attr("name", (obj.attr("name") + "").toLowerCase());
4142                    });
4143
4144                    var desc_meta = jQuery("meta[name='description']");
4145                    if (desc_meta.length > 0 && !livereLib.util.isEmpty(desc_meta.attr("content"))) {
4146                        description = desc_meta.attr("content");
4147                    }
4148                }
4149
4150                params['description'] = description;
4151                params['refer'] = refer;
4152
4153                livereLib.fire(params, "action");
4154
4155                acc.find("#livereAction_" + service.member_domain + " strong").text(parseInt(acc.find("#livereAction_" + service.member_domain + " strong").text()) + 1);
4156                acc.find("#livereAction_" + service.member_domain).focus();
4157
4158                alert(livereLib.getMessage("actionWidzetSubmitMsg_8"));
4159                postingLayer.remove();
4160            });
4161
4162            acc.append(postingLayer);
4163
4164            var eventData = {};
4165            eventData["type"] = "livereEvent";
4166            eventData["key"] = "postingLayerCreated";
4167
4168            livereLib.dispatchEvent(eventData);
4169        });
4170
4171        return acc;
4172    };
4173
4174    this.textValidate = function(obj) {
4175        var textareaObj = jQuery(obj);
4176        var max_len = livereSharedData.livereReply.livere_data.content_maxlen;
4177        var str_len = textareaObj.val().length;
4178
4179        jQuery("#" + textareaObj.attr("targetName")).text(str_len);
4180
4181        if (str_len > max_len) {
4182            alert(livereLib.getMessage("textCount_8").replace("#TEXTCOUNT#", max_len));
4183            textareaObj.val(textareaObj.val().substring(0, (max_len - 2))).focus();
4184            livereActionWidzet.textValidate(obj);
4185        }
4186    };
4187};
4188
4189
4190/*
4191 *  livere service area
4192 */
4193
4194var yozm = {
4195    name: "yozm",
4196    title: "Yozm",
4197    openType: "window",
4198    loginGate: function() {
4199        window.open(livereLib.util.getLoginPageURL(yozm.name));
4200    },
4201    openUserPage: function(replyData) {
4202        window.open(replyData.member_url);
4203    }
4204};
4205
4206var twitter = {
4207    name: "twitter",
4208    title: "Twitter",
4209    openType: "window",
4210    loginGate: function() {
4211        window.open(livereLib.util.getLoginPageURL(twitter.name));
4212    },
4213    openUserPage: function(replyData) {
4214        window.open(replyData.member_url);
4215    }
4216};
4217
4218var me2day = {
4219    name: "me2day",
4220    title: "Me2day",
4221    openType: "window",
4222    loginGate: function() {
4223        window.open(livereLib.util.getLoginPageURL(me2day.name));
4224    },
4225    openUserPage: function(replyData) {
4226        window.open(replyData.member_url);
4227    }
4228};
4229
4230var facebook = {
4231    name: "facebook",
4232    title: "Facebook",
4233    openType: "window",
4234    loginGate: function() {
4235        window.open(livereLib.util.getLoginPageURL(facebook.name));
4236    },
4237    openUserPage: function(replyData) {
4238        window.open(replyData.member_url);
4239    }
4240};
4241
4242var facebook_gr = {
4243    name: "facebook_gr",
4244    title: "Facebook",
4245    openType: "window",
4246    loginGate: function() {
4247        window.open(livereLib.util.getLoginPageURL(facebook_gr.name));
4248    },
4249    openUserPage: function(replyData) {
4250        window.open(replyData.member_url);
4251    }
4252};
4253
4254var cyworld = {
4255    name: "cyworld",
4256    title: "Cyworld",
4257    openType: "window",
4258    loginGate: function() {
4259        window.open(livereLib.util.getLoginPageURL(cyworld.name));
4260    },
4261    openUserPage: function(replyData) {
4262        window.open(replyData.member_url);
4263    }
4264};
4265
4266var tistory = {
4267    name: "tistory",
4268    title: "Tistory",
4269    openType: "window",
4270    loginGate: function() {
4271        window.open(livereLib.util.getLoginPageURL(tistory.name));
4272    },
4273    openUserPage: function(replyData) {
4274        window.open(replyData.member_url);
4275    }
4276};
4277
4278var open_y_jp = {
4279    name: "open_y_jp",
4280    title: "Yahoo Japan",
4281    loginGate: function() {
4282        window.open(livereLib.util.getLoginPageURL("openid") + "&name=" + open_y_jp.name);
4283    },
4284    openUserPage: function(replyData) {}
4285};
4286
4287var open_y = {
4288    name: "open_y",
4289    title: "Yahoo",
4290    loginGate: function() {
4291        window.open(livereLib.util.getLoginPageURL("openid") + "&name=" + open_y.name);
4292    },
4293    openUserPage: function(replyData) {}
4294};
4295
4296var mixi = {
4297    name: "mixi",
4298    title: "Mixi",
4299    loginGate: function() {
4300        window.open(livereLib.util.getLoginPageURL(mixi.name));
4301    },
4302    openUserPage: function(replyData) {
4303        window.open(replyData.member_url);
4304    }
4305};
4306
4307var weibo_sina = {
4308    name: "weibo_sina",
4309    title: "Weibo",
4310    loginGate: function() {
4311        window.open(livereLib.util.getLoginPageURL(weibo_sina.name));
4312    },
4313    openUserPage: function(replyData) {
4314        window.open(replyData.member_url);
4315    }
4316};
4317
4318var google_plus = {
4319    name: "google_plus",
4320    title: "GooglePlus",
4321    loginGate: function() {
4322        window.open(livereLib.util.getLoginPageURL(google_plus.name));
4323    },
4324    openUserPage: function(replyData) {
4325        window.open(replyData.member_url);
4326    }
4327};
4328
4329var linkedIn = {
4330    name: "linkedIn",
4331    title: "LinkedIn",
4332    loginGate: function() {
4333        window.open(livereLib.util.getLoginPageURL(linkedIn.name));
4334    },
4335    openUserPage: function(replyData) {
4336        window.open(replyData.member_url);
4337    }
4338};
4339
4340var naver = {
4341    name: "naver",
4342    title: "Naver",
4343    loginGate: function() {
4344        window.open(livereLib.util.getLoginPageURL(naver.name));
4345    },
4346    openUserPage: function(replyData) {
4347        window.open(replyData.member_url);
4348    }
4349};
4350
4351
4352if(typeof kakao === 'object'){
4353    kakao.name = "kakao";
4354    kakao.title = "Kakao";
4355    kakao.loginGate = function(){
4356        window.open(livereLib.util.getLoginPageURL(kakao.name));
4357    };
4358    kakao.openUserPage = function(replyData) {
4359        if ( replyData.member_url != "" ){
4360            window.open(replyData.member_url);
4361        }
4362    };
4363} else {
4364    var kakao = {
4365        name: "kakao",
4366        title: "Kakao",
4367        loginGate: function() {
4368            window.open(livereLib.util.getLoginPageURL(kakao.name));
4369        },
4370        openUserPage: function(replyData) {
4371            if ( replyData.member_url != "" ){
4372                window.open(replyData.member_url);
4373            }
4374        }
4375    };
4376}
4377
4378var instagram = {
4379    name: "instagram",
4380    title: "Instagram",
4381    loginGate: function() {
4382        window.open(livereLib.util.getLoginPageURL(instagram.name));
4383    },
4384    openUserPage: function(replyData) {
4385        if ( replyData.member_url != "" ){
4386            window.open(replyData.member_url);
4387        }
4388    }
4389};
4390
4391var livere = {
4392    name: "livere",
4393    title: "LiveRe",
4394    loginGate: function() {
4395        window.open(livereLib.util.getLoginPageURL(livere.name));
4396    },
4397    openUserPage: function(replyData) {}
4398};
4399
4400var guest = {
4401    name: "guest",
4402    title: "Guest",
4403    loginGate: function() {},
4404    openUserPage: function() {}
4405};
4406var elle = {
4407    name: "elle",
4408    title: "Elle",
4409    loginGate: function() {},
4410    openUserPage: function() {}
4411};
4412var kyobobook = {
4413    name: "kyobobook",
4414    title: "Kyobobook",
4415    loginGate: function() {},
4416    openUserPage: function() {}
4417};
4418var sunfull = {
4419    name: "sunfull",
4420    title: "Sunfull",
4421    loginGate: function() {},
4422    openUserPage: function() {}
4423};
4424var kbs = {
4425    name: "kbs",
4426    title: "KBS",
4427    loginGate: function() {},
4428    openUserPage: function() {}
4429};
4430var bongjashop = {
4431    name: "bongjashop",
4432    title: "Bongjashop",
4433    loginGate: function() {},
4434    openUserPage: function() {}
4435};
4436var hopestart = {
4437    name: "hopestart",
4438    title: "Hopestart",
4439    loginGate: function() {},
4440    openUserPage: function() {}
4441};
4442var ilovepc = {
4443    name: "ilovepc",
4444    title: "ILovePC",
4445    loginGate: function() {},
4446    openUserPage: function() {}
4447};
4448var gsretail = {
4449    name: "gsretail",
4450    title: "GSretail",
4451    loginGate: function() {},
4452    openUserPage: function(replyData) {
4453        window.open('http://www.gsretail.com/');
4454    }
4455};
4456var mediainnews = {
4457    name: "mediainnews",
4458    title: "Mediainnews",
4459    loginGate: function() {},
4460    openUserPage: function() {}
4461};
4462var dcmcafe = {
4463    name: "dcmcafe",
4464    title: "DCMCafe",
4465    loginGate: function() {},
4466    openUserPage: function() {}
4467};
4468var oclock = {
4469    name: "oclock",
4470    title: "OClock",
4471    loginGate: function() {},
4472    openUserPage: function() {}
4473};
4474var sangsanguniv = {
4475    name: "sangsanguniv",
4476    title: "Sangsanguniv",
4477    loginGate: function() {},
4478    openUserPage: function() {}
4479};
4480var fnnews = {
4481    name: "fnnews",
4482    title: "Fnnews",
4483    loginGate: function() {},
4484    openUserPage: function() {}
4485};
4486var nocut = {
4487    name: "nocut",
4488    title: "nocut",
4489    loginGate: function() {},
4490    openUserPage: function() {}
4491};
4492var kbsworld_eng = {
4493    name: "kbsworld_eng",
4494    title: "KBS",
4495    loginGate: function() {},
4496    openUserPage: function() {}
4497};
4498var sba = {
4499    name: "sba",
4500    title: "sba",
4501    loginGate: function() {},
4502    openUserPage: function() {}
4503};
4504var ibk = {
4505    name: "ibk",
4506    title: "IBK",
4507    loginGate: function() {},
4508    openUserPage: function() {}
4509};
4510var busancityhall = {
4511    name: "busancityhall",
4512    title: "ToktokBusan",
4513    loginGate: function() {},
4514    openUserPage: function() {}
4515};
4516var cdnews = {
4517    name: "cdnews",
4518    title: "Cdnews",
4519    loginGate: function() {},
4520    openUserPage: function() {}
4521};
4522var veritas = {
4523    name: "veritas",
4524    title: "Veritas",
4525    loginGate: function() {},
4526    openUserPage: function() {}
4527};
4528var incable = {
4529    name: "incable",
4530    title: "Incable",
4531    loginGate: function() {},
4532    openUserPage: function() {}
4533};
4534var etomedia = {
4535    name: "etomedia",
4536    title: "Etomedia",
4537    loginGate: function() {},
4538    openUserPage: function() {}
4539};
4540var ganghwa114 = {
4541    name: "ganghwa114",
4542    title: "Ganghwa114",
4543    loginGate: function() {},
4544    openUserPage: function() {}
4545};
4546var gjfocus = {
4547    name: "gjfocus",
4548    title: "Gjfocus",
4549    loginGate: function() {},
4550    openUserPage: function() {}
4551};
4552var thefact = {
4553    name: "thefact",
4554    title: "Thefact",
4555    loginGate: function() {},
4556    openUserPage: function() {}
4557};
4558var sportsseoul = {
4559    name: "sportsseoul",
4560    title: "sportsseoul",
4561    loginGate: function() {},
4562    openUserPage: function() {}
4563};
4564var mediawhy = {
4565    name: "mediawhy",
4566    title: "Mediawhy",
4567    loginGate: function() {},
4568    openUserPage: function() {}
4569};
4570var playit = {
4571    name: "playit",
4572    title: "Playit",
4573    loginGate: function() {},
4574    openUserPage: function() {}
4575};
4576var dailylog = {
4577    name: "dailylog",
4578    title: "Dailylog",
4579    loginGate: function() {},
4580    openUserPage: function() {}
4581};
4582var citinature = {
4583    name: "citinature",
4584    title: "Citinature",
4585    loginGate: function() {},
4586    openUserPage: function() {}
4587};
4588var jejuopens = {
4589    name: "jejuopens",
4590    title: "Jejuopens",
4591    loginGate: function() {},
4592    openUserPage: function() {}
4593};
4594var mbn = {
4595    name: "mbn",
4596    title: "MBN",
4597    loginGate: function() {},
4598    openUserPage: function() {}
4599};
4600var autoherald = {
4601    name: "autoherald",
4602    title: "Autoherald",
4603    loginGate: function() {},
4604    openUserPage: function() {}
4605};
4606var samsungseri = {
4607    name: "samsungseri",
4608    title: "seri",
4609    loginGate: function() {},
4610    openUserPage: function() {}
4611};
4612var changupcom = {
4613    name: "changupcom",
4614    title: "Changupcom",
4615    loginGate: function() {},
4616    openUserPage: function() {}
4617};
4618var headlinejeju = {
4619    name: "headlinejeju",
4620    title: "Headlinejeju",
4621    loginGate: function() {},
4622    openUserPage: function() {}
4623};
4624var kgnews = {
4625    name: "kgnews",
4626    title: "Kgnews",
4627    loginGate: function() {},
4628    openUserPage: function() {}
4629};
4630var focusnews = {
4631    name: "focusnews",
4632    title: "FOCUS",
4633    loginGate: function() {},
4634    openUserPage: function() {}
4635};
4636var seoulsba = {
4637    name: "seoulsba",
4638    title: "Seoulsba",
4639    loginGate: function() {},
4640    openUserPage: function() {}
4641};
4642var kbmaeil = {
4643    name: "kbmaeil",
4644    title: "Kbmaeil",
4645    loginGate: function() {},
4646    openUserPage: function() {}
4647};
4648var geniepark = {
4649    name: "geniepark",
4650    title: "Geniepark",
4651    loginGate: function() {},
4652    openUserPage: function() {}
4653};
4654var veritas_a = {
4655    name: "veritas_a",
4656    title: "Veritas_a",
4657    loginGate: function() {},
4658    openUserPage: function() {}
4659};
4660var enterwa = {
4661    name: "enterwa",
4662    title: "Veritas_a",
4663    loginGate: function() {},
4664    openUserPage: function() {}
4665};
4666var firstlook = {
4667    name: "firstlook",
4668    title: "firstlook",
4669    loginGate: function() {},
4670    openUserPage: function() {}
4671};
4672var gndaily = {
4673    name: "gndaily",
4674    title: "Gndaily",
4675    loginGate: function() {},
4676    openUserPage: function() {}
4677};
4678var goodnewspress = {
4679    name: "goodnewspress",
4680    title: "Goodnewspress",
4681    loginGate: function() {},
4682    openUserPage: function() {}
4683};
4684var sentv = {
4685    name: "sentv",
4686    title: "SENTV",
4687    loginGate: function() {},
4688    openUserPage: function() {}
4689};
4690var newskorea = {
4691    name: "newskorea",
4692    title: "Newskorea",
4693    loginGate: function() {},
4694    openUserPage: function() {}
4695};
4696var asan = {
4697    name: "asan",
4698    title: "ASAN",
4699    loginGate: function() {},
4700    openUserPage: function() {}
4701};
4702var newtimes = {
4703    name: "newtimes",
4704    title: "Newtimes",
4705    loginGate: function() {},
4706    openUserPage: function() {}
4707};
4708var bundangnews = {
4709    name: "bundangnews",
4710    title: "Bundangnews",
4711    loginGate: function() {},
4712    openUserPage: function() {}
4713};
4714var chungcheongtv = {
4715    name: "chungcheongtv",
4716    title: "Chungcheongtv",
4717    loginGate: function() {},
4718    openUserPage: function() {}
4719};
4720var foodnews = {
4721    name: "foodnews",
4722    title: "Foodnews",
4723    loginGate: function() {},
4724    openUserPage: function() {}
4725};
4726var ngtv = {
4727    name: "ngtv",
4728    title: "Ngtv",
4729    loginGate: function() {},
4730    openUserPage: function() {}
4731};
4732var upkorea = {
4733    name: "upkorea",
4734    title: "Upkorea",
4735    loginGate: function() {},
4736    openUserPage: function() {}
4737};
4738var jnuri = {
4739    name: "jnuri",
4740    title: "Jnuri",
4741    loginGate: function() {},
4742    openUserPage: function() {}
4743};
4744var andongnews = {
4745    name: "andongnews",
4746    title: "Andongnews",
4747    loginGate: function() {},
4748    openUserPage: function() {}
4749};
4750var kyobostory = {
4751    name: "kyobostory",
4752    title: "KyoboStory",
4753    loginGate: function() {},
4754    openUserPage: function() {}
4755};
4756var newshyu = {
4757    name: "newshyu",
4758    title: "Newshyu",
4759    loginGate: function() {},
4760    openUserPage: function() {}
4761};
4762var storyk = {
4763    name: "storyk",
4764    title: "Storyk",
4765    loginGate: function() {},
4766    openUserPage: function() {}
4767};
4768var campustoday = {
4769    name: "campustoday",
4770    title: "Campustoday",
4771    loginGate: function() {},
4772    openUserPage: function() {}
4773};
4774var weeklytoday = {
4775    name: "weeklytoday",
4776    title: "Weeklytoday",
4777    loginGate: function() {},
4778    openUserPage: function() {}
4779};
4780var kban = {
4781    name: "kban",
4782    title: "KBAN",
4783    loginGate: function() {},
4784    openUserPage: function() {}
4785};
4786var newsrise = {
4787    name: "newsrise",
4788    title: "Newsrise",
4789    loginGate: function() {},
4790    openUserPage: function() {}
4791};
4792var gimpoin = {
4793    name: "gimpoin",
4794    title: "Gimpoin",
4795    loginGate: function() {},
4796    openUserPage: function() {}
4797};
4798var gnewsdaily = {
4799    name: "gnewsdaily",
4800    title: "Gnewsdaily",
4801    loginGate: function() {},
4802    openUserPage: function() {}
4803};
4804var ittoday = {
4805    name: "ittoday",
4806    title: "Ittoday",
4807    loginGate: function() {},
4808    openUserPage: function() {}
4809};
4810var interfootball = {
4811    name: "interfootball",
4812    title: "Interfootball",
4813    loginGate: function() {},
4814    openUserPage: function() {}
4815};
4816var imaeil = {
4817    name: "imaeil",
4818    title: "Imaeil",
4819    loginGate: function() {},
4820    openUserPage: function() {}
4821};
4822var kyeongin = {
4823    name: "kyeongin",
4824    title: "Kyeongin",
4825    loginGate: function() {},
4826    openUserPage: function() {}
4827};
4828var daejeonnews = {
4829    name: "daejeonnews",
4830    title: "Daejeonnews",
4831    loginGate: function() {},
4832    openUserPage: function() {}
4833};
4834var glebbangzip = {
4835    name: "glebbangzip",
4836    title: "Glebbangzip",
4837    loginGate: function() {},
4838    openUserPage: function() {}
4839};
4840var seongdongnews = {
4841    name: "seongdongnews",
4842    title: "Seongdongnews",
4843    loginGate: function() {},
4844    openUserPage: function() {}
4845};
4846var hgtimes = {
4847    name: "hgtimes",
4848    title: "Hgtimes",
4849    loginGate: function() {},
4850    openUserPage: function() {}
4851};
4852var vop = {
4853    name: "vop",
4854    title: "Vop",
4855    loginGate: function() {},
4856    openUserPage: function() {}
4857};
4858var hankyung = {
4859    name: "hankyung",
4860    title: "Hankyung",
4861    loginGate: function() {},
4862    openUserPage: function() {}
4863};
4864var hk_biz = {
4865    name: "hk_biz",
4866    title: "Hankyung Magazine",
4867    loginGate: function() {},
4868    openUserPage: function() {}
4869};
4870var nahnews = {
4871    name: "nahnews",
4872    title: "Nahnews",
4873    loginGate: function() {},
4874    openUserPage: function() {}
4875};
4876var ikoreanspirit = {
4877    name: "ikoreanspirit",
4878    title: "Ikoreanspirit",
4879    loginGate: function() {},
4880    openUserPage: function() {}
4881};
4882var iusm = {
4883    name: "iusm",
4884    title: "Iusm",
4885    loginGate: function() {},
4886    openUserPage: function() {}
4887};
4888var asiatoday = {
4889    name: "asiatoday",
4890    title: "Asiatoday",
4891    loginGate: function() {},
4892    openUserPage: function() {}
4893};
4894var kgnews2 = {
4895    name: "kgnews2",
4896    title: "Kgnews",
4897    loginGate: function() {},
4898    openUserPage: function() {}
4899};
4900var fntoday = {
4901    name: "fntoday",
4902    title: "Fntoday",
4903    loginGate: function() {},
4904    openUserPage: function() {}
4905};
4906var jobnjoy = {
4907    name: "jobnjoy",
4908    title: "Job&Joy",
4909    loginGate: function() {},
4910    openUserPage: function() {}
4911};
4912var hankookilbo = {
4913    name: "hankookilbo",
4914    title: "Hankookilbo",
4915    loginGate: function() {},
4916    openUserPage: function() {}
4917};
4918var cowalknews = {
4919    name: "cowalknews",
4920    title: "Cowalknews",
4921    loginGate: function() {},
4922    openUserPage: function() {}
4923};
4924var domin = {
4925    name: "domin",
4926    title: "Domin",
4927    loginGate: function() {},
4928    openUserPage: function() {}
4929};
4930var seoulmuseum = {
4931    name: "seoulmuseum",
4932    title: "Seoulmuseum",
4933    loginGate: function() {},
4934    openUserPage: function() {}
4935};
4936var fundu = {
4937    name: "fundu",
4938    title: "Fundu",
4939    loginGate: function() {},
4940    openUserPage: function() {}
4941};
4942var mediatoday = {
4943    name: "mediatoday",
4944    title: "Mediatoday",
4945    loginGate: function() {},
4946    openUserPage: function() {}
4947};
4948var jjan = {
4949    name: "jjan",
4950    title: "Jjan",
4951    loginGate: function() {},
4952    openUserPage: function() {}
4953};
4954var doctorw = {
4955    name: "doctorw",
4956    title: "Doctorw",
4957    loginGate: function() {},
4958    openUserPage: function() {}
4959};
4960var munhwa = {
4961    name: "munhwa",
4962    title: "Munhwa",
4963    loginGate: function() {},
4964    openUserPage: function() {}
4965};
4966var kookje = {
4967    name: "kookje",
4968    title: "Kookje",
4969    loginGate: function() {},
4970    openUserPage: function() {}
4971};
4972var dangdangnews = {
4973    name: "dangdangnews",
4974    title: "Dangdangnews",
4975    loginGate: function() {},
4976    openUserPage: function() {}
4977};
4978var metroseoul = {
4979    name: "metroseoul",
4980    title: "Metroseoul",
4981    loginGate: function() {},
4982    openUserPage: function() {}
4983};
4984var bucheontimes = {
4985    name: "bucheontimes",
4986    title: "bucheontimes",
4987    loginGate: function() {},
4988    openUserPage: function() {}
4989};
4990var pressian = {
4991    name: "pressian",
4992    title: "Pressian",
4993    loginGate: function() {},
4994    openUserPage: function() {}
4995};
4996var digitaltimes = {
4997    name: "digitaltimes",
4998    title: "Digitaltimes",
4999    loginGate: function() {},
5000    openUserPage: function() {}
5001};
5002var itmaeil = {
5003    name: "itmaeil",
5004    title: "Itmaeil",
5005    loginGate: function() {},
5006    openUserPage: function() {}
5007};
5008var inews24 = {
5009    name: "inews24",
5010    title: "Inews24",
5011    loginGate: function() {},
5012    openUserPage: function() {}
5013};
5014var yonhapnews = {
5015    name: "yonhapnews",
5016    title: "Yonhapnews",
5017    loginGate: function() {},
5018    openUserPage: function() {}
5019};
5020var asiae = {
5021    name: "asiae",
5022    title: "Asiae",
5023    loginGate: function() {},
5024    openUserPage: function() {}
5025};
5026var ctjournal = {
5027    name: "ctjournal",
5028    title: "Ctjournal",
5029    loginGate: function() {},
5030    openUserPage: function() {}
5031};
5032var wownet = {
5033    name: "wownet",
5034    title: "Wownet",
5035    loginGate: function() {},
5036    openUserPage: function() {}
5037};
5038var mediajeju = {
5039    name: "mediajeju",
5040    title: "Mediajeju",
5041    loginGate: function() {},
5042    openUserPage: function() {}
5043};
5044var soulplay = {
5045    name: "soulplay",
5046    title: "Soulplay",
5047    loginGate: function() {},
5048    openUserPage: function() {}
5049};
5050var koreajn = {
5051    name: "koreajn",
5052    title: "Koreajn",
5053    loginGate: function() {},
5054    openUserPage: function() {}
5055};
5056var etude = {
5057    name: "etude",
5058    title: "ETUDE",
5059    loginGate: function() {},
5060    openUserPage: function() {}
5061};
5062var stoo = {
5063    name: "stoo",
5064    title: "STOO",
5065    loginGate: function() {},
5066    openUserPage: function() {}
5067};
5068var channelit = {
5069    name: "channelit",
5070    title: "Channelit",
5071    loginGate: function() {},
5072    openUserPage: function() {}
5073};
5074var bulkyo21 = {
5075    name: "bulkyo21",
5076    title: "Bulkyo21",
5077    loginGate: function() {},
5078    openUserPage: function() {}
5079};
5080var sisafocus = {
5081    name: "sisafocus",
5082    title: "Sisaocus",
5083    loginGate: function() {},
5084    openUserPage: function() {}
5085};
5086var industrysolutio = {
5087    name: "industrysolutio",
5088    title: "Industrysolutions",
5089    loginGate: function() {},
5090    openUserPage: function() {}
5091};
5092var iwet = {
5093    name: "iwet",
5094    title: "Iwet",
5095    loginGate: function() {},
5096    openUserPage: function() {}
5097};
5098var seoulshinmun = {
5099    name: "seoulshinmun",
5100    title: "Seoulshinmun",
5101    loginGate: function() {},
5102    openUserPage: function() {}
5103};
5104var sisain = {
5105    name: "sisain",
5106    title: "Sisain",
5107    loginGate: function() {},
5108    openUserPage: function() {}
5109};
5110var kolon = {
5111    name: "kolon",
5112    title: "Kolon",
5113    loginGate: function() {},
5114    openUserPage: function() {}
5115};
5116var daejonilbo = {
5117    name: "daejonilbo",
5118    title: "Daejonilbo",
5119    loginGate: function() {},
5120    openUserPage: function() {}
5121};
5122var YTmembership = {
5123    name: "YTmembership",
5124    title: "T membership",
5125    loginGate: function() {},
5126    openUserPage: function() {}
5127};
5128var reworks = {
5129    name: "reworks",
5130    title: "Reworks",
5131    loginGate: function() {},
5132    openUserPage: function() {}
5133};
5134var seoul = {
5135    name: "seoul",
5136    title: "Seoul",
5137    loginGate: function() {},
5138    openUserPage: function() {}
5139};
5140var happytoday = {
5141    name: "happytoday",
5142    title: "Happytoday",
5143    loginGate: function() {},
5144    openUserPage: function() {}
5145};
5146var shopportal = {
5147    name: "shopportal",
5148    title: "Shopportal",
5149    loginGate: function() {},
5150    openUserPage: function() {}
5151};
5152var channela = {
5153    name: "channela",
5154    title: "ChannelA",
5155    loginGate: function() {},
5156    openUserPage: function() {}
5157};
5158var actorbom = {
5159    name: "actorbom",
5160    title: "Actorbom",
5161    loginGate: function() {},
5162    openUserPage: function() {}
5163};
5164var kmjnews = {
5165    name: "kmjnews",
5166    title: "Kmjnews",
5167    loginGate: function() {},
5168    openUserPage: function() {}
5169};
5170var joongbooilbo = {
5171    name: "joongbooilbo",
5172    title: "Joongbooilbo",
5173    loginGate: function() {},
5174    openUserPage: function() {}
5175};
5176var sisunews = {
5177    name: "sisunews",
5178    title: "Sisunews",
5179    loginGate: function() {},
5180    openUserPage: function() {}
5181};
5182var yeowooji = {
5183    name: "yeowooji",
5184    title: "Yeowooji",
5185    loginGate: function() {},
5186    openUserPage: function() {}
5187};
5188var sociallg = {
5189    name: "sociallg",
5190    title: "Sociallg",
5191    loginGate: function() {},
5192    openUserPage: function() {}
5193};
5194var ggfocus = {
5195    name: "ggfocus",
5196    title: "GGfocus",
5197    loginGate: function() {},
5198    openUserPage: function() {}
5199};
5200var gobalnews = {
5201    name: "gobalnews",
5202    title: "Gobalnews",
5203    loginGate: function() {},
5204    openUserPage: function() {}
5205};
5206var newsnjoy = {
5207    name: "newsnjoy",
5208    title: "Newsnjoy",
5209    loginGate: function() {},
5210    openUserPage: function() {}
5211};
5212var workingilbo = {
5213    name: "workingilbo",
5214    title: "Workingilbo",
5215    loginGate: function() {},
5216    openUserPage: function() {}
5217};
5218var everynews = {
5219    name: "everynews",
5220    title: "Everynews",
5221    loginGate: function() {},
5222    openUserPage: function() {}
5223};
5224var mbs = {
5225    name: "mbs",
5226    title: "MBS",
5227    loginGate: function() {},
5228    openUserPage: function() {}
5229};
5230var han = {
5231    name: "han",
5232    title: "Hankyoreh",
5233    loginGate: function() {},
5234    openUserPage: function() {}
5235};
5236var newshankuk = {
5237    name: "newshankuk",
5238    title: "Newshankuk",
5239    loginGate: function() {},
5240    openUserPage: function() {}
5241};
5242var gnews = {
5243    name: "gnews",
5244    title: "Gnews",
5245    loginGate: function() {},
5246    openUserPage: function() {}
5247};
5248var chtoday = {
5249    name: "chtoday",
5250    title: "Christian Today",
5251    loginGate: function() {},
5252    openUserPage: function() {}
5253};
5254var digue = {
5255    name: "digue",
5256    title: "Digue6",
5257    loginGate: function() {},
5258    openUserPage: function() {}
5259};
5260var bizwatch = {
5261    name: "bizwatch",
5262    title: "Bizwatch",
5263    loginGate: function() {},
5264    openUserPage: function() {}
5265};
5266var hknewstoday = {
5267    name: "hknewstoday",
5268    title: "Hknewstoday",
5269    loginGate: function() {},
5270    openUserPage: function() {}
5271};
5272var sejongpac = {
5273    name: "sejongpac",
5274    title: "sejongpac",
5275    loginGate: function() {},
5276    openUserPage: function() {}
5277};
5278var newdaily = {
5279    name: "newdaily",
5280    title: "newdaily",
5281    loginGate: function() {},
5282    openUserPage: function() {}
5283};
5284var starsian = {
5285    name: "starsian",
5286    title: "Starsian",
5287    loginGate: function() {},
5288    openUserPage: function() {}
5289};
5290var newstap = {
5291    name: "newstap",
5292    title: "Newstap",
5293    loginGate: function() {},
5294    openUserPage: function() {}
5295};
5296var mk = {
5297    name: "mk",
5298    title: "MK",
5299    loginGate: function() {},
5300    openUserPage: function() {}
5301};
5302var sbs = {
5303    name: "sbs",
5304    title: "SBS",
5305    loginGate: function() {},
5306    openUserPage: function() {}
5307};
5308var mrtong = {
5309    name: "mrtong",
5310    title: "MrTong",
5311    loginGate: function() {},
5312    openUserPage: function() {}
5313};
5314var yeongnamilbo = {
5315    name: "yeongnamilbo",
5316    title: "Yeongnamilbo",
5317    loginGate: function() {},
5318    openUserPage: function() {}
5319};
5320var boannews = {
5321    name: "boannews",
5322    title: "Boannews",
5323    loginGate: function() {},
5324    openUserPage: function() {}
5325};
5326var kukinews = {
5327    name: "kukinews",
5328    title: "Kukinews",
5329    loginGate: function() {},
5330    openUserPage: function() {}
5331};
5332var ytn = {
5333    name: "ytn",
5334    title: "YTN",
5335    loginGate: function() {},
5336    openUserPage: function() {}
5337};
5338var nonsannews = {
5339    name: "nonsannews",
5340    title: "Nonsan News",
5341    loginGate: function() {},
5342    openUserPage: function() {}
5343};
5344var babynews = {
5345    name: "babynews",
5346    title: "Babynews",
5347    loginGate: function() {},
5348    openUserPage: function() {}
5349};
5350var zkic = {
5351    name: "zkic",
5352    title: "zkic",
5353    loginGate: function() {},
5354    openUserPage: function() {}
5355};
5356var pressbyple = {
5357    name: "pressbyple",
5358    title: "Pressbyple",
5359    loginGate: function() {},
5360    openUserPage: function() {}
5361};
5362var dailian = {
5363    name: "dailian",
5364    title: "Dailian",
5365    loginGate: function() {},
5366    openUserPage: function() {}
5367};
5368var dhnews = {
5369    name: "dhnews",
5370    title: "Dhnews",
5371    loginGate: function() {},
5372    openUserPage: function() {}
5373};
5374var bccard = {
5375    name: "bccard",
5376    title: "BCcard",
5377    loginGate: function() {},
5378    openUserPage: function() {}
5379};
5380var icross_family = {
5381    name: "icross_family",
5382    title: "icross_family",
5383    loginGate: function() {},
5384    openUserPage: function() {}
5385};
5386var icross_kcr = {
5387    name: "icross_kcr",
5388    title: "icross_kcr",
5389    loginGate: function() {},
5390    openUserPage: function() {}
5391};
5392var wolsero = {
5393    name: "wolsero",
5394    title: "wolsero",
5395    loginGate: function() {},
5396    openUserPage: function() {}
5397};
5398var thepr = {
5399    name: "thepr",
5400    title: "The-pr",
5401    loginGate: function() {},
5402    openUserPage: function() {}
5403};
5404var dailygrid = {
5405    name: "dailygrid",
5406    title: "Dailygrid",
5407    loginGate: function() {},
5408    openUserPage: function() {}
5409};
5410var khgames = {
5411    name: "khgames",
5412    title: "Khgames",
5413    loginGate: function() {},
5414    openUserPage: function() {}
5415};
5416var pifan = {
5417    name: "pifan",
5418    title: "PIFAN",
5419    loginGate: function() {},
5420    openUserPage: function() {}
5421};
5422var segyecom = {
5423    name: "segyecom",
5424    title: "Segyecom",
5425    loginGate: function() {},
5426    openUserPage: function() {}
5427};
5428var happybeangen = {
5429    name: "happybeangen",
5430    title: "Happybeangen",
5431    loginGate: function() {},
5432    openUserPage: function() {}
5433};
5434var busrugy = {
5435    name: "busrugy",
5436    title: "Dreamfull",
5437    loginGate: function() {},
5438    openUserPage: function() {}
5439};
5440var ohmynews = {
5441    name: "ohmynews",
5442    title: "Ohmynews",
5443    loginGate: function() {},
5444    openUserPage: function() {}
5445};
5446var jungle = {
5447    name: "jungle",
5448    title: "Jungle",
5449    loginGate: function() {},
5450    openUserPage: function() {}
5451};
5452var busan = {
5453    name: "busan",
5454    title: "Busan",
5455    loginGate: function() {},
5456    openUserPage: function() {}
5457};
5458var samsung_card = {
5459    name: "samsung_card",
5460    title: "Samsung_card",
5461    loginGate: function() {},
5462    openUserPage: function() {}
5463};
5464var cosmopolitan = {
5465    name: "cosmopolitan",
5466    title: "Cosmopolitan",
5467    loginGate: function() {},
5468    openUserPage: function() {}
5469};
5470var gaonchart = {
5471    name: "gaonchart",
5472    title: "Gaonchart",
5473    loginGate: function() {},
5474    openUserPage: function() {}
5475};
5476var childfund_seoul = {
5477    name: "childfund_seoul",
5478    title: "Childfund",
5479    loginGate: function() {},
5480    openUserPage: function() {}
5481};
5482var gamemeca = {
5483    name: "gamemeca",
5484    title: "Game Meca",
5485    loginGate: function() {},
5486    openUserPage: function() {}
5487};
5488var bpnews = {
5489    name: "bpnews",
5490    title: "Isisanews",
5491    loginGate: function() {},
5492    openUserPage: function() {}
5493};
5494var newscj = {
5495    name: "newscj",
5496    title: "Newscj",
5497    loginGate: function() {},
5498    openUserPage: function() {}
5499};
5500var dtnews = {
5501    name: "dtnews",
5502    title: "Dtnews",
5503    loginGate: function() {},
5504    openUserPage: function() {}
5505};
5506var cchannel = {
5507    name: "cchannel",
5508    title: "Cchannel",
5509    loginGate: function() {},
5510    openUserPage: function() {}
5511};
5512var isori = {
5513    name: "isori",
5514    title: "Isori",
5515    loginGate: function() {},
5516    openUserPage: function() {}
5517};
5518var stckorea = {
5519    name: "stckorea",
5520    title: "Stckorea",
5521    loginGate: function() {},
5522    openUserPage: function() {}
5523};
5524var seongjuro = {
5525    name: "seongjuro",
5526    title: "Seongjuro",
5527    loginGate: function() {},
5528    openUserPage: function() {}
5529};
5530var egbsnews = {
5531    name: "egbsnews",
5532    title: "Egbsnews",
5533    loginGate: function() {},
5534    openUserPage: function() {}
5535};
5536var redpiano = {
5537    name: "redpiano",
5538    title: "Redpiano",
5539    loginGate: function() {},
5540    openUserPage: function() {}
5541};
5542var mohaji = {
5543    name: "mohaji",
5544    title: "Mohazine",
5545    loginGate: function() {},
5546    openUserPage: function() {}
5547};
5548var onlinefair = {
5549    name: "onlinefair",
5550    title: "Onlinefair",
5551    loginGate: function() {},
5552    openUserPage: function() {}
5553};
5554var cledor = {
5555    name: "cledor",
5556    title: "Cledor",
5557    loginGate: function() {},
5558    openUserPage: function() {}
5559};
5560var ipnnews = {
5561    name: "ipnnews",
5562    title: "Ipnnews",
5563    loginGate: function() {},
5564    openUserPage: function() {}
5565};
5566var edaily = {
5567    name: "edaily",
5568    title: "Edaily",
5569    loginGate: function() {},
5570    openUserPage: function() {}
5571};
5572var gsinews = {
5573    name: "gsinews",
5574    title: "Gsinews",
5575    loginGate: function() {},
5576    openUserPage: function() {}
5577};
5578var amstory = {
5579    name: "amstory",
5580    title: "Am-story",
5581    loginGate: function() {},
5582    openUserPage: function() {}
5583};
5584var yeongcheon = {
5585    name: "yeongcheon",
5586    title: "Yeongcheon",
5587    loginGate: function() {},
5588    openUserPage: function() {}
5589};
5590var ibk_give = {
5591    name: "ibk_give",
5592    title: "IBK-give",
5593    loginGate: function() {},
5594    openUserPage: function() {}
5595};
5596var gybnews = {
5597    name: "gybnews",
5598    title: "Gybnews",
5599    loginGate: function() {},
5600    openUserPage: function() {}
5601};
5602var cwin = {
5603    name: "cwin",
5604    title: "Cwin",
5605    loginGate: function() {},
5606    openUserPage: function() {}
5607};
5608var gimpo = {
5609    name: "gimpo",
5610    title: "Gimpo",
5611    loginGate: function() {},
5612    openUserPage: function() {}
5613};
5614var livestarnews = {
5615    name: "livestarnews",
5616    title: "LiveStarnews",
5617    loginGate: function() {},
5618    openUserPage: function() {}
5619};
5620var visualdivenews = {
5621    name: "visualdivenews",
5622    title: "Visualdivenews",
5623    loginGate: function() {},
5624    openUserPage: function() {}
5625};
5626var nongaek = {
5627    name: "nongaek",
5628    title: "Nongaek",
5629    loginGate: function() {},
5630    openUserPage: function() {}
5631};
5632var gynews = {
5633    name: "gynews",
5634    title: "Gynews",
5635    loginGate: function() {},
5636    openUserPage: function() {}
5637};
5638var ujbnews = {
5639    name: "ujbnews",
5640    title: "UJBnews",
5641    loginGate: function() {},
5642    openUserPage: function() {}
5643};
5644var kgib = {
5645    name: "kgib",
5646    title: "Kyeonggi",
5647    loginGate: function() {},
5648    openUserPage: function() {}
5649};
5650var healthandpeople = {
5651    name: "healthandpeople",
5652    title: "Healthandpeople",
5653    loginGate: function() {},
5654    openUserPage: function() {}
5655};
5656var bluekoreadotcom = {
5657    name: "bluekoreadotcom",
5658    title: "Bluekoreadotcom",
5659    loginGate: function() {},
5660    openUserPage: function() {}
5661};
5662var yachtpia = {
5663    name: "yachtpia",
5664    title: "Yachtpia",
5665    loginGate: function() {},
5666    openUserPage: function() {}
5667};
5668var goodmorningcc = {
5669    name: "goodmorningcc",
5670    title: "Goodmorningcc",
5671    loginGate: function() {},
5672    openUserPage: function() {}
5673};
5674var tiptipnews = {
5675    name: "tiptipnews",
5676    title: "Tiptipnews",
5677    loginGate: function() {},
5678    openUserPage: function() {}
5679};
5680var sklte = {
5681    name: "sklte",
5682    title: "Sklte",
5683    loginGate: function() {},
5684    openUserPage: function() {}
5685};
5686var busancity = {
5687    name: "busancity",
5688    title: "Busan",
5689    loginGate: function() {},
5690    openUserPage: function() {}
5691};
5692var badatv = {
5693    name: "badatv",
5694    title: "Badatv",
5695    loginGate: function() {},
5696    openUserPage: function() {}
5697};
5698var kimponews = {
5699    name: "kimponews",
5700    title: "Kimponews",
5701    loginGate: function() {},
5702    openUserPage: function() {}
5703};
5704var toonburi = {
5705    name: "toonburi",
5706    title: "Toonburi",
5707    loginGate: function() {},
5708    openUserPage: function() {}
5709};
5710var betanews = {
5711    name: "betanews",
5712    title: "Betanews",
5713    loginGate: function() {},
5714    openUserPage: function() {}
5715};
5716var newsbaro = {
5717    name: "newsbaro",
5718    title: "Newsbaro",
5719    loginGate: function() {},
5720    openUserPage: function() {}
5721};
5722var rapportian = {
5723    name: "rapportian",
5724    title: "Rapportian",
5725    loginGate: function() {},
5726    openUserPage: function() {}
5727};
5728var msf = {
5729    name: "msf",
5730    title: "Msf",
5731    loginGate: function() {},
5732    openUserPage: function() {}
5733};
5734var whysnews = {
5735    name: "whysnews",
5736    title: "Whysnews",
5737    loginGate: function() {},
5738    openUserPage: function() {}
5739};
5740var plus_m = {
5741    name: "plus_m",
5742    title: "Plus-m",
5743    loginGate: function() {},
5744    openUserPage: function() {}
5745};
5746var m25 = {
5747    name: "m25",
5748    title: "m25",
5749    loginGate: function() {},
5750    openUserPage: function() {}
5751};
5752var doc3news = {
5753    name: "doc3news",
5754    title: "Doc3news",
5755    loginGate: function() {},
5756    openUserPage: function() {}
5757};
5758var topgear = {
5759    name: "topgear",
5760    title: "Topgear",
5761    loginGate: function() {},
5762    openUserPage: function() {}
5763};
5764var tenniskorea = {
5765    name: "tenniskorea",
5766    title: "Tennis Korea",
5767    loginGate: function() {},
5768    openUserPage: function() {}
5769};
5770var newsjeju = {
5771    name: "newsjeju",
5772    title: "Newsjeju",
5773    loginGate: function() {},
5774    openUserPage: function() {}
5775};
5776var dreamfull = {
5777    name: "dreamfull",
5778    title: "Dreamfull",
5779    loginGate: function() {},
5780    openUserPage: function() {}
5781};
5782var hyundaimnsoft = {
5783    name: "hyundaimnsoft",
5784    title: "hyundaimnsoft",
5785    loginGate: function() {},
5786    openUserPage: function() {}
5787};
5788var gijangnews = {
5789    name: "gijangnews",
5790    title: "Gijangnews",
5791    loginGate: function() {},
5792    openUserPage: function() {}
5793};
5794var kceic = {
5795    name: "kceic",
5796    title: "Kceic",
5797    loginGate: function() {},
5798    openUserPage: function() {}
5799};
5800var kmedinews = {
5801    name: "kmedinews",
5802    title: "Kmedinews",
5803    loginGate: function() {},
5804    openUserPage: function() {}
5805};
5806var iincheon = {
5807    name: "iincheon",
5808    title: "Iincheon",
5809    loginGate: function() {},
5810    openUserPage: function() {}
5811};
5812var ebn = {
5813    name: "ebn",
5814    title: "Ebn",
5815    loginGate: function() {},
5816    openUserPage: function() {}
5817};
5818var sportworldi = {
5819    name: "sportworldi",
5820    title: "Sportworldi",
5821    loginGate: function() {},
5822    openUserPage: function() {}
5823};
5824var amnews = {
5825    name: "amnews",
5826    title: "Amnews",
5827    loginGate: function() {},
5828    openUserPage: function() {}
5829};
5830var ipcs21 = {
5831    name: "ipcs21",
5832    title: "Ipcs21",
5833    loginGate: function() {},
5834    openUserPage: function() {}
5835};
5836var kferi = {
5837    name: "kferi",
5838    title: "Kferi",
5839    loginGate: function() {},
5840    openUserPage: function() {}
5841};
5842var shnews = {
5843    name: "shnews",
5844    title: "Shnews",
5845    loginGate: function() {},
5846    openUserPage: function() {}
5847};
5848var iksannews = {
5849    name: "iksannews",
5850    title: "Iksannews",
5851    loginGate: function() {},
5852    openUserPage: function() {}
5853};
5854var habitatkorea = {
5855    name: "habitatkorea",
5856    title: "Habitatkorea",
5857    loginGate: function() {},
5858    openUserPage: function() {}
5859};
5860var vtimes = {
5861    name: "vtimes",
5862    title: "vtimes",
5863    loginGate: function() {},
5864    openUserPage: function() {}
5865};
5866var danceable = {
5867    name: "danceable",
5868    title: "Danceable",
5869    loginGate: function() {},
5870    openUserPage: function() {}
5871};
5872var youngsamsung2 = {
5873    name: "youngsamsung2",
5874    title: "Youngsamsung",
5875    loginGate: function() {},
5876    openUserPage: function() {}
5877};
5878var gg = {
5879    name: "gg",
5880    title: "gg",
5881    loginGate: function() {},
5882    openUserPage: function() {}
5883};
5884var seoulfuture = {
5885    name: "seoulfuture",
5886    title: "Seoulfuture",
5887    loginGate: function() {},
5888    openUserPage: function() {}
5889};
5890var samsunglife = {
5891    name: "samsunglife",
5892    title: "Samsunglife",
5893    loginGate: function() {},
5894    openUserPage: function() {}
5895};
5896var gonggamkr = {
5897    name: "gonggamkr",
5898    title: "Gonggamkr",
5899    loginGate: function() {},
5900    openUserPage: function() {}
5901};
5902var goodneighbors = {
5903    name: "goodneighbors",
5904    title: "Goodneighbors",
5905    loginGate: function() {},
5906    openUserPage: function() {}
5907};
5908var osan = {
5909    name: "osan",
5910    title: "Osan",
5911    loginGate: function() {},
5912    openUserPage: function() {}
5913};
5914var munhwanews = {
5915    name: "munhwanews",
5916    title: "Munhwanews",
5917    loginGate: function() {},
5918    openUserPage: function() {}
5919};
5920var namdoi = {
5921    name: "namdoi",
5922    title: "Namdoi",
5923    loginGate: function() {},
5924    openUserPage: function() {}
5925};
5926var tour2000 = {
5927    name: "tour2000",
5928    title: "Tour2000",
5929    loginGate: function() {},
5930    openUserPage: function() {}
5931};
5932var gjnewstong = {
5933    name: "gjnewstong",
5934    title: "Gjnewstong",
5935    loginGate: function() {},
5936    openUserPage: function() {}
5937};
5938var sisajournal = {
5939    name: "sisajournal",
5940    title: "Sisajournal",
5941    loginGate: function() {},
5942    openUserPage: function() {}
5943};
5944var sportsq = {
5945    name: "sportsq",
5946    title: "Sportsq",
5947    loginGate: function() {},
5948    openUserPage: function() {}
5949};
5950var woorizine = {
5951    name: "woorizine",
5952    title: "Woorizine",
5953    loginGate: function() {},
5954    openUserPage: function() {}
5955};
5956var adrnews = {
5957    name: "adrnews",
5958    title: "Adrnews",
5959    loginGate: function() {},
5960    openUserPage: function() {}
5961};
5962var cbsjapan = {
5963    name: "cbsjapan",
5964    title: "Cbsjapan",
5965    loginGate: function() {},
5966    openUserPage: function() {}
5967};
5968var newsmeka = {
5969    name: "newsmeka",
5970    title: "Newsmeka",
5971    loginGate: function() {},
5972    openUserPage: function() {}
5973};
5974var mbnmoney = {
5975    name: "mbnmoney",
5976    title: "Mbnmoney",
5977    loginGate: function() {},
5978    openUserPage: function() {}
5979};
5980var timenews = {
5981    name: "timenews",
5982    title: "Timenews",
5983    loginGate: function() {},
5984    openUserPage: function() {}
5985};
5986
5987var bbangdat = {
5988    name: "bbangdat",
5989    title: "Bbangdat",
5990    loginGate: function() {},
5991    openUserPage: function() {}
5992};
5993
5994var brcity = {
5995    name: "brcity",
5996    title: "brcity",
5997    loginGate: function() {},
5998    openUserPage: function() {}
5999};
6000
6001var thefirstmedia = {
6002    name: "thefirstmedia",
6003    title: "Thefirstmedia",
6004    loginGate: function() {},
6005    openUserPage: function() {}
6006};
6007
6008var thesejong = {
6009    name: "thesejong",
6010    title: "Thesejong",
6011    loginGate: function() {},
6012    openUserPage: function() {}
6013};
6014
6015var lgcare = {
6016    name: "lgcare",
6017    title: "Lgcare",
6018    loginGate: function() {},
6019    openUserPage: function() {}
6020};
6021
6022var globalnewsa = {
6023    name: "globalnewsa",
6024    title: "Globalnewsa",
6025    loginGate: function() {},
6026    openUserPage: function() {}
6027};
6028
6029var healnews = {
6030    name: "healnews",
6031    title: "Healnews",
6032    loginGate: function() {},
6033    openUserPage: function() {}
6034};
6035
6036var gonggamphoto = {
6037    name: "gonggamphoto",
6038    title: "I-PIN",
6039    loginGate: function() {},
6040    openUserPage: function() {}
6041};
6042
6043var siheungjounal = {
6044    name: "siheungjounal",
6045    title: "Siheungjounal",
6046    loginGate: function() {},
6047    openUserPage: function() {}
6048};
6049
6050var spi = {
6051    name: "spi",
6052    title: "the classy",
6053    loginGate: function() {},
6054    openUserPage: function() {}
6055};
6056
6057var jungculture = {
6058    name: "jungculture",
6059    title: "Jungculture",
6060    loginGate: function() {},
6061    openUserPage: function() {}
6062};
6063
6064var espoir = {
6065    name: "espoir",
6066    title: "Espoir",
6067    loginGate: function() {},
6068    openUserPage: function() {}
6069};
6070
6071var mbc = {
6072    name: "mbc",
6073    title: "Mbc",
6074    loginGate: function() {},
6075    openUserPage: function() {}
6076};
6077
6078var mainnews = {
6079    name: "mainnews",
6080    title: "Mainnews",
6081    loginGate: function() {},
6082    openUserPage: function() {}
6083};
6084
6085var queen = {
6086    name: "queen",
6087    title: "Queen",
6088    loginGate: function() {},
6089    openUserPage: function() {}
6090};
6091
6092var areyou = {
6093    name: "areyou",
6094    title: "Areyou",
6095    loginGate: function() {},
6096    openUserPage: function() {}
6097};
6098
6099var ksngn = {
6100    name: "ksngn",
6101    title: "Ksngn",
6102    loginGate: function() {},
6103    openUserPage: function() {}
6104};
6105
6106var gibnews = {
6107    name: "gibnews",
6108    title: "Gibnews",
6109    loginGate: function() {},
6110    openUserPage: function() {}
6111};
6112
6113var khan = {
6114    name: "khan",
6115    title: "Khan",
6116    loginGate: function() {},
6117    openUserPage: function() {}
6118};
6119
6120var cctoday = {
6121    name: "cctoday",
6122    title: "Cctoday",
6123    loginGate: function() {},
6124    openUserPage: function() {}
6125};
6126
6127var medicalreport = {
6128    name: "medicalreport",
6129    title: "Medicalreport",
6130    loginGate: function() {},
6131    openUserPage: function() {}
6132};
6133
6134var arte = {
6135    name: "arte",
6136    title: "Arte",
6137    loginGate: function() {},
6138    openUserPage: function() {}
6139};
6140
6141var arte = {
6142    name: "arte",
6143    title: "Arte",
6144    loginGate: function() {},
6145    openUserPage: function() {}
6146};
6147
6148var hanbeot = {
6149    name: "hanbeot",
6150    title: "Hanbeot",
6151    loginGate: function() {},
6152    openUserPage: function() {}
6153};
6154
6155var dmtourmall = {
6156    name: "dmtourmall",
6157    title: "Dmtourmall",
6158    loginGate: function() {},
6159    openUserPage: function() {}
6160};
6161
6162var wefmall = {
6163    name: "wefmall",
6164    title: "Wefmall",
6165    loginGate: function() {},
6166    openUserPage: function() {}
6167};
6168
6169var ecotoday = {
6170    name: "ecotoday",
6171    title: "Ecotoday",
6172    loginGate: function() {},
6173    openUserPage: function() {}
6174};
6175
6176var wbdaily = {
6177    name: "wbdaily",
6178    title: "Wbdaily",
6179    loginGate: function() {},
6180    openUserPage: function() {}
6181};
6182
6183var suomi = {
6184    name: "suomi",
6185    title: "Suomi",
6186    loginGate: function() {},
6187    openUserPage: function() {}
6188};
6189
6190var jeonbukin = {
6191    name: "jeonbukin",
6192    title: "Jeonbukin",
6193    loginGate: function() {},
6194    openUserPage: function() {}
6195};
6196
6197var lafent = {
6198    name: "lafent",
6199    title: "Lafent",
6200    loginGate: function() {},
6201    openUserPage: function() {}
6202};
6203
6204var themetn = {
6205    name: "themetn",
6206    title: "Themetn",
6207    loginGate: function() {},
6208    openUserPage: function() {}
6209};
6210
6211var lnews = {
6212    name: "lnews",
6213    title: "Lnews",
6214    loginGate: function() {},
6215    openUserPage: function() {}
6216};
6217
6218var worldkorean = {
6219    name: "worldkorean",
6220    title: "Worldkorean",
6221    loginGate: function() {},
6222    openUserPage: function() {}
6223};
6224
6225var ccej = {
6226    name: "ccej",
6227    title: "Ccej",
6228    loginGate: function() {},
6229    openUserPage: function() {}
6230};
6231
6232var fullrange = {
6233    name: "fullrange",
6234    title: "Fullrange",
6235    loginGate: function() {},
6236    openUserPage: function() {}
6237};
6238
6239var ipopnews = {
6240    name: "ipopnews",
6241    title: "Ipopnews",
6242    loginGate: function() {},
6243    openUserPage: function() {}
6244};
6245
6246var ntoday = {
6247    name: "ntoday",
6248    title: "Ntoday",
6249    loginGate: function() {},
6250    openUserPage: function() {}
6251};
6252
6253var yureka = {
6254    name: "yureka",
6255    title: "Yureka",
6256    loginGate: function() {},
6257    openUserPage: function() {}
6258};
6259
6260var teamandteam = {
6261    name: "teamandteam",
6262    title: "Teamandteam",
6263    loginGate: function() {},
6264    openUserPage: function() {}
6265};
6266
6267var dailycosmetic = {
6268    name: "dailycosmetic",
6269    title: "Dailycosmetic",
6270    loginGate: function() {},
6271    openUserPage: function() {}
6272};
6273
6274var csbtv = {
6275    name: "csbtv",
6276    title: "Csbtv",
6277    loginGate: function() {},
6278    openUserPage: function() {}
6279};
6280
6281var viva100 = {
6282    name: "viva100",
6283    title: "Viva100",
6284    loginGate: function() {},
6285    openUserPage: function() {}
6286};
6287
6288var kfhi = {
6289    name: "kfhi",
6290    title: "Kfhi",
6291    loginGate: function() {},
6292    openUserPage: function() {}
6293};
6294
6295
6296var wisdomhouse = {
6297    name: "wisdomhouse",
6298    title: "Wisdomhouse",
6299    loginGate: function() {},
6300    openUserPage: function() {}
6301};
6302
6303var aaf = {
6304    name: "aaf",
6305    title: "Aaf",
6306    loginGate: function() {},
6307    openUserPage: function() {}
6308};
6309
6310var kofac = {
6311    name: "kofac",
6312    title: "Kofac",
6313    loginGate: function() {},
6314    openUserPage: function() {}
6315};
6316
6317var babyu = {
6318    name: "babyu",
6319    title: "Babyu",
6320    loginGate: function() {},
6321    openUserPage: function() {}
6322}
6323
6324var socialdesign = {
6325    name: "socialdesign",
6326    title: "Socialdesign",
6327    loginGate: function() {},
6328    openUserPage: function() {}
6329}
6330
6331var jbpost = {
6332    name: "jbpost",
6333    title: "Jbpost",
6334    loginGate: function() {},
6335    openUserPage: function() {}
6336}
6337
6338var jbpost = {
6339    name: "jbpost",
6340    title: "Jbpost",
6341    loginGate: function() {},
6342    openUserPage: function() {}
6343}
6344
6345var thepingpong = {
6346    name: "thepingpong",
6347    title: "Thepingpong",
6348    loginGate: function() {},
6349    openUserPage: function() {}
6350}
6351
6352var soonsports = {
6353    name: "soonsports",
6354    title: "Soonsports",
6355    loginGate: function() {},
6356    openUserPage: function() {}
6357}
6358
6359var miral = {
6360    name: "miral",
6361    title: "Miral",
6362    loginGate: function() {},
6363    openUserPage: function() {}
6364}
6365
6366var sport_seoul = {
6367    name: "sport_seoul",
6368    title: "sportsseoul",
6369    loginGate: function() {},
6370    openUserPage: function() {}
6371}
6372
6373var samsung_store = {
6374    name: "samsung_store",
6375    title: "Samsung_store",
6376    loginGate: function() {},
6377    openUserPage: function() {}
6378}
6379
6380var theartist = {
6381    name: "theartist",
6382    title: "Theartist",
6383    loginGate: function() {},
6384    openUserPage: function() {}
6385}
6386
6387var economictoday = {
6388    name: "economictoday",
6389    title: "Economictoday",
6390    loginGate: function() {},
6391    openUserPage: function() {}
6392}
6393
6394var dailystage = {
6395    name: "dailystage",
6396    title: "Dailystage",
6397    loginGate: function() {},
6398    openUserPage: function() {}
6399}
6400
6401var dailygaewon = {
6402    name: "dailygaewon",
6403    title: "Dailygaewon",
6404    loginGate: function() {},
6405    openUserPage: function() {}
6406}
6407
6408var eco2day = {
6409    name: "eco2day",
6410    title: "Eco2day",
6411    loginGate: function() {},
6412    openUserPage: function() {}
6413}
6414
6415var etoday = {
6416    name: "etoday",
6417    title: "Etoday",
6418    loginGate: function() {},
6419    openUserPage: function() {}
6420}
6421
6422var womennet = {
6423    name: "womennet",
6424    title: "Womennet",
6425    loginGate: function() {},
6426    openUserPage: function() {}
6427}
6428
6429var columning = {
6430    name: "columning",
6431    title: "Columning",
6432    loginGate: function() {},
6433    openUserPage: function() {}
6434}
6435
6436var ywn25 = {
6437    name: "ywn25",
6438    title: "ywn25",
6439    loginGate: function() {},
6440    openUserPage: function() {}
6441}
6442
6443var latimes = {
6444    name: "latimes",
6445    title: "latimes",
6446    loginGate: function() {},
6447    openUserPage: function() {}
6448}
6449
6450var makeon = {
6451    name: "makeon",
6452    title: "makeon",
6453    loginGate: function() {},
6454    openUserPage: function() {}
6455}
6456
6457var semaseoul = {
6458    name: "semaseoul",
6459    title: "semaseoul",
6460    loginGate: function() {},
6461    openUserPage: function() {}
6462}
6463
6464var boa = {
6465    name: "boa",
6466    title: "boa",
6467    loginGate: function() {},
6468    openUserPage: function() {}
6469}
6470
6471var lifeplanet = {
6472    name: "lifeplanet",
6473    title: "Lifeplanet",
6474    loginGate: function() {},
6475    openUserPage: function() {}
6476}
6477
6478var cmni = {
6479    name: "cmni",
6480    title: "Cmni",
6481    loginGate: function() {},
6482    openUserPage: function() {}
6483}
6484
6485var cctvnews = {
6486    name: "cctvnews",
6487    title: "Cctvnews",
6488    loginGate: function() {},
6489    openUserPage: function() {}
6490}
6491
6492var epnc = {
6493    name: "epnc",
6494    title: "Epnc",
6495    loginGate: function() {},
6496    openUserPage: function() {}
6497}
6498
6499var embeddedworld = {
6500    name: "embeddedworld",
6501    title: "Embeddedworld",
6502    loginGate: function() {},
6503    openUserPage: function() {}
6504}
6505
6506var weddingtv = {
6507    name: "weddingtv",
6508    title: "Weddingtv",
6509    loginGate: function() {},
6510    openUserPage: function() {}
6511}
6512
6513var medimap = {
6514    name: "medimap",
6515    title: "Medimap",
6516    loginGate: function() {},
6517    openUserPage: function() {}
6518}
6519
6520var tvj = {
6521    name: "tvj",
6522    title: "Tvj",
6523    loginGate: function() {},
6524    openUserPage: function() {}
6525}
6526
6527var thegoodinpeople = {
6528    name: "thegoodinpeople",
6529    title: "Thegoodinpeople",
6530    loginGate: function() {},
6531    openUserPage: function() {}
6532}
6533
6534var ybtour = {
6535    name: "ybtour",
6536    title: "Ybtour",
6537    loginGate: function() {},
6538    openUserPage: function() {}
6539}
6540
6541var goodfaith = {
6542    name: "goodfaith",
6543    title: "Goodfaith",
6544    loginGate: function() {},
6545    openUserPage: function() {}
6546}
6547
6548var hynews = {
6549    name: "hynews",
6550    title: "Hynews",
6551    loginGate: function() {},
6552    openUserPage: function() {}
6553}
6554
6555var pping = {
6556    name: "pping",
6557    title: "pping",
6558    loginGate: function() {},
6559    openUserPage: function() {}
6560}
6561
6562var dongbujungang = {
6563    name: "dongbujungang",
6564    title: "Dongbujungang",
6565    loginGate: function() {},
6566    openUserPage: function() {}
6567}
6568
6569var duolac = {
6570    name: "duolac",
6571    title: "Duolac",
6572    loginGate: function() {},
6573    openUserPage: function() {}
6574}
6575
6576var jejuweekly = {
6577    name: "jejuweekly",
6578    title: "Jejuweekly",
6579    loginGate: function() {},
6580    openUserPage: function() {}
6581}
6582
6583var tournews21 = {
6584    name: "tournews21",
6585    title: "TourKorea",
6586    loginGate: function() {},
6587    openUserPage: function() {}
6588}
6589
6590var sportsin = {
6591    name: "sportsin",
6592    title: "Sportsin",
6593    loginGate: function() {},
6594    openUserPage: function() {}
6595}
6596
6597var watsons = {
6598    name: "watsons",
6599    title: "Watsons",
6600    loginGate: function() {},
6601    openUserPage: function(replyData) {
6602        window.open('http://watsons.gsretail.com/');
6603    }
6604}
6605
6606var gmaker = {
6607    name: "gmaker",
6608    title: "G-maker",
6609    loginGate: function() {},
6610    openUserPage: function() {}
6611}
6612
6613var tourbaksa = {
6614    name: "tourbaksa",
6615    title: "Tourbaksa",
6616    loginGate: function() {},
6617    openUserPage: function() {}
6618}
6619
6620var godpia = {
6621    name: "godpia",
6622    title: "Godpia",
6623    loginGate: function() {},
6624    openUserPage: function() {}
6625}
6626
6627var catholicpress = {
6628    name: "catholicpress",
6629    title: "Catholicpress",
6630    loginGate: function() {},
6631    openUserPage: function() {}
6632}
6633
6634var incheonilbo = {
6635    name: "incheonilbo",
6636    title: "incheonilbo",
6637    loginGate: function() {},
6638    openUserPage: function() {}
6639}
6640
6641var unaeil = {
6642    name: "unaeil",
6643    title: "unaeil",
6644    loginGate: function() {},
6645    openUserPage: function() {}
6646}
6647
6648var popcard = {
6649    name: "popcard",
6650    title: "popcard",
6651    loginGate: function() {},
6652    openUserPage: function(replyData) {
6653        window.open('http://www.popcard.co.kr/');
6654    }
6655}
6656
6657var k_pots = {
6658    name: "k_pots",
6659    title: "Kpots",
6660    loginGate: function() {},
6661    openUserPage: function() {}
6662}
6663
6664var h_dmc = {
6665    name: "h_dmc",
6666    title: "h_dmc",
6667    loginGate: function() {},
6668    openUserPage: function() {}
6669}
6670
6671var spotvnews = {
6672    name: "spotvnews",
6673    title: "spotvnews",
6674    loginGate: function() {},
6675    openUserPage: function() {}
6676}
6677
6678var megastudy = {
6679    name: "megastudy",
6680    title: "megastudy",
6681    loginGate: function() {},
6682    openUserPage: function() {}
6683}
6684
6685var yonginilbo = {
6686    name: "yonginilbo",
6687    title: "Yonginilbo",
6688    loginGate: function() {},
6689    openUserPage: function() {}
6690}
6691
6692var fpn119 = {
6693    name: "fpn119",
6694    title: "fpn119",
6695    loginGate: function() {},
6696    openUserPage: function() {}
6697}
6698
6699var planetsports = {
6700    name: "planetsports",
6701    title: "Planetsports",
6702    loginGate: function() {},
6703    openUserPage: function() {}
6704}
6705
6706var justmedia = {
6707    name: "justmedia",
6708    title: "justmedia",
6709    loginGate: function() {},
6710    openUserPage: function() {}
6711}
6712
6713var boan24 = {
6714    name: "boan24",
6715    title: "boan24",
6716    loginGate: function() {},
6717    openUserPage: function() {}
6718}
6719
6720var viewers = {
6721    name: "viewers",
6722    title: "viewers",
6723    loginGate: function() {},
6724    openUserPage: function() {}
6725}
6726
6727var cjdonors = {
6728    name: "cjdonors",
6729    title: "cjdonors",
6730    loginGate: function() {},
6731    openUserPage: function() {}
6732}
6733
6734var naon = {
6735    name: "naon",
6736    title: "naon",
6737    loginGate: function() {},
6738    openUserPage: function() {}
6739}
6740
6741var geojetimes = {
6742    name: "geojetimes",
6743    title: "geojetimes",
6744    loginGate: function() {},
6745    openUserPage: function() {}
6746}
6747
6748var ilpn = {
6749    name: "ilpn",
6750    title: "ilpn",
6751    loginGate: function() {},
6752    openUserPage: function() {}
6753}
6754
6755var paichainews = {
6756    name: "paichainews",
6757    title: "paichainews",
6758    loginGate: function() {},
6759    openUserPage: function() {}
6760}
6761
6762var tnttour = {
6763    name: "tnttour",
6764    title: "tnttour",
6765    loginGate: function() {},
6766    openUserPage: function() {}
6767}
6768
6769var obsnews = {
6770    name: "obsnews",
6771    title: "obsnews",
6772    loginGate: function() {},
6773    openUserPage: function() {}
6774}
6775
6776var whitepaper = {
6777    name: "whitepaper",
6778    title: "whitepaper",
6779    loginGate: function() {},
6780    openUserPage: function() {}
6781}
6782
6783var news1star = {
6784    name: "news1star",
6785    title: "news1star",
6786    loginGate: function() {},
6787    openUserPage: function() {}
6788}
6789
6790var newsdot = {
6791    name: "newsdot",
6792    title: "newsdot",
6793    loginGate: function() {},
6794    openUserPage: function() {}
6795}
6796
6797var ceoreporter = {
6798    name: "ceoreporter",
6799    title: "ceoreporter",
6800    loginGate: function() {},
6801    openUserPage: function() {}
6802}
6803
6804var petpolmagazine = {
6805    name: "petpolmagazine",
6806    title: "petpolmagazine",
6807    loginGate: function() {},
6808    openUserPage: function() {}
6809}
6810
6811var beffreport = {
6812    name: "beffreport",
6813    title: "beffreport",
6814    loginGate: function() {},
6815    openUserPage: function() {}
6816}
6817
6818var ktv = {
6819    name: "ktv",
6820    title: "ktv",
6821    loginGate: function() {},
6822    openUserPage: function() {}
6823}
6824
6825var redcross = {
6826    name: "redcross",
6827    title: "redcross",
6828    loginGate: function() {},
6829    openUserPage: function() {}
6830}
6831
6832var kinews = {
6833    name: "kinews",
6834    title: "kinews",
6835    loginGate: function() {},
6836    openUserPage: function() {}
6837}
6838
6839var kocca = {
6840    name: "kocca",
6841    title: "kocca",
6842    loginGate: function() {},
6843    openUserPage: function() {}
6844}
6845
6846var chungjungone_e = {
6847    name: "chungjungone_e",
6848    title: "chungjungone_e",
6849    loginGate: function() {},
6850    openUserPage: function() {}
6851}
6852
6853var meatbusine = {
6854    name: "chungjungone_e",
6855    title: "chungjungone_e",
6856    loginGate: function() {},
6857    openUserPage: function() {}
6858}
6859
6860var chungjungone_e = {
6861    name: "chungjungone_e",
6862    title: "chungjungone_e",
6863    loginGate: function() {},
6864    openUserPage: function() {}
6865}
6866
6867var meatbusiness = {
6868    name: "meatbusiness",
6869    title: "meatbusiness",
6870    loginGate: function() {},
6871    openUserPage: function() {}
6872}
6873
6874var newspen = {
6875    name: "newspen",
6876    title: "newspen",
6877    loginGate: function() {},
6878    openUserPage: function() {}
6879}
6880
6881var sisaweek = {
6882    name: "sisaweek",
6883    title: "sisaweek",
6884    loginGate: function() {},
6885    openUserPage: function() {}
6886}
6887
6888var hapdongnews = {
6889    name: "hapdongnews",
6890    title: "hapdongnews",
6891    loginGate: function() {},
6892    openUserPage: function() {}
6893}
6894
6895var intronews = {
6896    name: "intronews",
6897    title: "Intronews",
6898    loginGate: function() {},
6899    openUserPage: function() {}
6900};
6901
6902var serviceArray = [instagram, kakao, naver, linkedIn, google_plus, twitter, me2day, facebook, facebook_gr, yozm, cyworld, tistory, guest, open_y_jp, open_y, mixi, elle, kyobobook, newspen, hapdongnews, meatbusiness, sunfull, kbs, bongjashop, hopestart, ilovepc, gsretail, mediainnews, dcmcafe, oclock, sangsanguniv, fnnews, nocut, kbsworld_eng, sba, ibk, busancityhall, cdnews, veritas, incable, etomedia, ganghwa114, thefact, sportsseoul, gjfocus, mediawhy, playit, dailylog, citinature, jejuopens, mbn, autoherald, samsungseri, changupcom, headlinejeju, kgnews, focusnews, seoulsba, kbmaeil, geniepark, veritas_a, enterwa, firstlook, gndaily, goodnewspress, sentv, newskorea, asan, newtimes, bundangnews, chungcheongtv, foodnews, ngtv, upkorea, jnuri, andongnews, kyobostory, newshyu, storyk, campustoday, weeklytoday, kban, newsrise, gimpoin, ittoday, gnewsdaily, interfootball, imaeil, daejeonnews, kyeongin, glebbangzip, seongdongnews, hgtimes, vop, hankyung, hk_biz, nahnews, ikoreanspirit, iusm, asiatoday, kgnews2, fntoday, jobnjoy, hankookilbo, cowalknews, domin, seoulmuseum, fundu, jjan, mediatoday, doctorw, munhwa, kookje, dangdangnews, metroseoul, bucheontimes, pressian, digitaltimes, itmaeil, inews24, yonhapnews, asiae, ctjournal, wownet, mediajeju, soulplay, koreajn, etude, stoo, channelit, bulkyo21, sisafocus, industrysolutio, iwet, seoulshinmun, sisain, kolon, daejonilbo, YTmembership, reworks, seoul, happytoday, shopportal, channela, actorbom, kmjnews, joongbooilbo, sisunews, yeowooji, sociallg, ggfocus, gobalnews, newsnjoy, workingilbo, everynews, mbs, han, newshankuk, gnews, chtoday, digue, bizwatch, hknewstoday, sejongpac, newdaily, starsian, newstap, mk, sbs, mrtong, yeongnamilbo, boannews, kukinews, ytn, nonsannews, babyne
6902ws, zkic, pressbyple, dailian, dhnews, bccard, icross_family, icross_kcr, wolsero, thepr, dailygrid, khgames, pifan, segyecom, happybeangen, busrugy, ohmynews, jungle, busan, samsung_card, cosmopolitan, childfund_seoul, gaonchart, gamemeca, bpnews, newscj, dtnews, cchannel, isori, stckorea, seongjuro, egbsnews, redpiano, mohaji, onlinefair, cledor, ipnnews, edaily, gsinews, amstory, yeongcheon, ibk_give, gybnews, cwin, gimpo, livestarnews, visualdivenews, nongaek, gynews, ujbnews, kgib, healthandpeople, bluekoreadotcom, yachtpia, goodmorningcc, sklte, busancity, badatv, kimponews, toonburi, betanews, newsbaro, rapportian, msf, whysnews, plus_m, m25, doc3news, topgear, tenniskorea, newsjeju, dreamfull, hyundaimnsoft, gijangnews, kceic, kmedinews, iincheon, ebn, sportworldi, amnews, ipcs21, kferi, shnews, iksannews, habitatkorea, vtimes, danceable, youngsamsung2, gg, seoulfuture, samsunglife, gonggamkr, goodneighbors, osan, munhwanews, namdoi, tour2000, gjnewstong, sisajournal, sportsq, woorizine, adrnews, cbsjapan, newsmeka, mbnmoney, timenews, bbangdat, brcity, thefirstmedia, thesejong, lgcare, globalnewsa, healnews, gonggamphoto, siheungjounal, spi, jungculture, espoir, mbc, mainnews, queen, areyou, ksngn, gibnews, khan, cctoday, medicalreport, arte, hanbeot, dmtourmall, wefmall, ecotoday, wbdaily, suomi, jeonbukin, lafent, themetn, lnews, worldkorean, ccej, fullrange, ipopnews, ntoday, yureka, teamandteam, dailycosmetic, csbtv, viva100, kfhi, wisdomhouse, aaf, kofac, babyu, socialdesign, jbpost, thepingpong, soonsports, miral, sport_seoul, samsung_store, economictoday, theartist, etoday, womennet, columning, ywn25, latimes, makeon, semaseoul, boa, lifeplanet, cmni, cctvnews, epnc, embeddedworld, weddingtv, medimap, tvj, thegoodinpeople, ybtour, goodfaith, hynews, pping, dongbujungang, duolac, jejuweekly, tournews21, sportsin, watsons, gmaker, tourbaksa, godpia, catholicpress, incheonilbo, unaeil, popcard, k_pots, spotvnews, megastudy, yonginilbo, fpn119, planetsports, justmedia, boan24, viewers, cjdonors, naon, geojetimes, ilpn, paichainews, tnttour, obsnews, whitepaper, news1star, newsdot, ceoreporter, petpolmagazine, beffreport, ktv, redcross, kinews, kocca, chungjungone_e, sisaweek, intronews];
6903
6904window.eventBinding = function() {
6905
6906    window.binded = true;
6907
6908    /*
6909     *  event handlers
6910     */
6911    jQuery(livereLib).bind('livereEvent', function(event, param) {
6912
6913        if (livereReply == null) return;
6914
6915        var key = param['key'];
6916        var value = param['value'];
6917        var requestData = param['requestData'];
6918
6919        switch (key) {
6920            case "commitProperties":
6921                if (livereLib.util.isTouchDevice()) {
6922                    livereLib.notUseTooltip = true;
6923                    //livereLib.switchMobileView = true;
6924                }
6925                livereReply.init();
6926                break;
6927            case "livereDataInitComplete":
6928                // LivereAD
6929                window.livereAdFlag = false;
6930                window.liverePvFlag = false;
6931
6932                livereReply.secondStep();
6933                livereActionWidzet.start();
6934
6935                if(livereSharedData.livereReply.consumer_status==1){
6936                    jQuery('#livereWriteForm').remove();
6937                    jQuery('.livereReply_addchild').remove();
6938                }
6939
6940                //kpi
6941                if (livereSharedData.livereReply.rep_data) {
6942                    LivereKpi.init();
6943                }
6944
6945                //reply ad
6946                if (livereSharedData.livereReply.livere_replyad) {
6947                    livereReply.setReplyAdEvent();
6948                }
6949                break;
6950            case "writeFormCreated":
6951                livereReply.isWriteForm = true;
6952                livereContents.init(livereSharedData.livereReply.livere_contents);
6953                break;
6954            case "livereCreationComplete":
6955                //livereReply.removeSnsChkbox();
6956                if (livereReply.isWriteForm) {
6957                    livereReply.drawPrimaryUserData();
6958                }
6959                //DB에 그룹핑이 ì €ìž¥ë˜ì–´ 있어 다른 SNS로그인만 하더라도 자체 회원이 로그인 되버리는 경우 때문에
6960                if (!livereLib.util.isEmpty(syncManager.syncMembership) && eval(syncManager.syncMembership).member_islogin == 1 && !livereLib.util.isEmpty(eval(syncManager.syncMembership).member_seq) && syncManager.reload == false) {
6961                    syncManager.tryLogin = false;
6962                    syncManager.syncCheck();
6963                }
6964                if (window.livereAdFlag === false) {
6965                    livereAD.init();
6966                }
6967
6968                //liveRePVLog.init();
6969
6970                //kpi
6971                //LivereKpi.init();
6972                break;
6973            case "processComplete":
6974                livereLib.processing = false;
6975                break;
6976            case "renewMemberData":
6977                livereReply.setAccounts();
6978                livereReply.dynamicDeleteBtn();
6979                //if (livereLib.isLogged()){ jQuery(".livere_loggedSNS.livere_primary button").focus(); }
6980                break;
6981            case "livereLogout":
6982                livereReply.setAccounts();
6983                livereReply.dynamicDeleteBtn();
6984                break;
6985            case "writeDone":
6986                livereReply.writeDoneComplete(value);
6987                livereReply.setReply(value);
6988                break;
6989            case "getArticleComplete":
6990                livereReply.getArticleHandler(value);
6991                break;
6992            case "getArticleHandlerComplete":
6993                break;
6994            case "replyDeleteEvent":
6995                livereReply.deleteHandler(value);
6996                break;
6997            case "actionComplete":
6998                livereReply.actionCompleteHandler(value, requestData);
6999                /*jQuery('#livere_police_layer').slideUp(200);*/
7000                break;
7001            case "postingLayerCreated" :
7002                break;
7003            case "drawABSNSBtnsPrimaryUserDataComplete" :
7004                break;
7005            case "livereSmartLoginDrawComplete" :
7006                break;
7007            case "drawSNSBtnsComplete" :
7008                break;
7009        }
7010    });
7011};
7012
7013var syncManager = new SyncManager();
7014var livereLib = new LivereLib();
7015var livereSmartLogin = new LivereSmartLogin();
7016var livereActionWidzet = new LivereActionWidzet();
7017
7018var livereSharedData = {};
7019var livereReply = null;
7020
7021livereSharedData.url = "//" + livereLib.baseServerURL;
7022livereSharedData.common = {};
7023livereSharedData.common.api_login_url = "//" + livereLib.baseServerURL + "/API_Service";
7024livereSharedData.smartLogin = {};
7025livereSharedData.livereReply = {};
7026
7027// if (!Array.indexOf) {
7028//     Array.prototype.indexOf = function (obj, start) {
7029//         for (var i = (start || 0); i < this.length; i++) {
7030//             if (this[i] == obj) {
7031//                 return i;
7032//             }
7033//         }
7034//         return -1;
7035//     }
7036// }
7037
7038LiveRePVLog = function() {
7039    this.init = function() {
7040        if (window.location.protocol == "https:") {
7041            return;
7042        }
7043
7044        if(!liveRePVLog.isLoaded) {
7045            liveRePVLog.isLoaded = true;
7046            liveRePVLog.loaded();
7047
7048            liveRePVLog.writeForm = jQuery("#livereWriteForm");
7049            if(liveRePVLog.writeForm.length > 0) {
7050                jQuery(window).scroll(function() {
7051                    liveRePVLog.writeForm.borderline_top = liveRePVLog.writeForm.offset().top - jQuery(this).height();
7052                    liveRePVLog.writeForm.borderline_bottom = liveRePVLog.writeForm.offset().top + liveRePVLog.writeForm.outerHeight();
7053                    liveRePVLog.writeForm.targetScrollTop = liveRePVLog.writeForm.offset().top - 50;
7054                    liveRePVLog.triggerScrollTop = jQuery(this).scrollTop();
7055
7056                    if(liveRePVLog.triggerScrollTop > liveRePVLog.writeForm.borderline_top
7057                        && liveRePVLog.triggerScrollTop < liveRePVLog.writeForm.borderline_bottom
7058                        && !liveRePVLog.isScrollViewChecked) {
7059                        liveRePVLog.isScrollViewChecked = true;
7060                        setTimeout(liveRePVLog.scrollView, 1000);
7061                    }
7062                }).scroll();
7063            }
7064        }
7065    };
7066
7067    this.getDevice = function() {
7068        var strUserAgent = navigator.userAgent.toLowerCase();
7069        var arrMatches = strUserAgent.match(/(iphone|ipod|ipad)/);
7070        var arrMatches2 = strUserAgent.match(/(android)/);
7071
7072        if (arrMatches) {
7073            // IOS
7074            return "ios";
7075        } else if (arrMatches2) {
7076            // Android
7077            return "android";
7078        } else {
7079            // PC
7080            return "pc";
7081        }
7082    };
7083
7084    this.loaded = function() {
7085        var params = {
7086            "consumer_seq"  : livereSharedData.common.consumer_seq,
7087            "livere_seq"    : livereSharedData.livereReply.livere_seq,
7088            "rep_seq"       : livereSharedData.livereReply.rep_data.rep_seq,
7089            "refer"         : livereSharedData.livereReply.rep_data.refer,
7090            "device"        : liveRePVLog.getDevice(),
7091            "target"        : "loaded"
7092        };
7093
7094        var url = liveRePVLog.pvLogAPI(params);
7095        //jQuery.getJSON(url);
7096    };
7097
7098    this.scrollView = function(){
7099        var params = {
7100            "consumer_seq"  : livereSharedData.common.consumer_seq,
7101            "livere_seq"    : livereSharedData.livereReply.livere_seq,
7102            "rep_seq"       : livereSharedData.livereReply.rep_data.rep_seq,
7103            "refer"         : livereSharedData.livereReply.rep_data.refer,
7104            "target"        : "scrollview"
7105        };
7106
7107        var url = liveRePVLog.pvLogAPI(params);
7108        jQuery.getJSON(url);
7109    };
7110
7111    this.pvLogAPI = function(params) {
7112        var pvLog_url = "http://121.78.90.104:8383/pv";
7113        var paramsString = "";
7114
7115        if (params != null) {
7116            paramsString = livereLib.util.objectToParameters(params);
7117        }
7118
7119        paramsString = paramsString == "" ? "?" : paramsString + "&";
7120        paramsString += "dummy=" + Math.random() + "&callback=?";
7121
7122        if (paramsString.indexOf("?") == 0) {
7123            paramsString = paramsString.substring(1);
7124        }
7125        return pvLog_url + "?" + paramsString;
7126    };
7127};
7128
7129var liveRePVLog = new LiveRePVLog();
7130
7131LivereAD = function() {
7132
7133    this.init = function(){
7134        if ( typeof livereSharedData.livereReply.livere_ad != 'undefined' && livereSharedData.livereReply.livere_ad.status == 0 ){
7135            var ad_data = livereSharedData.livereReply.livere_ad;
7136
7137            /* GDN */
7138            if(ad_data.ad_type == 'gdn'){
7139                jQuery("#"+livereSharedData.livereReply.livere_data.targetDiv).before(livereAD.gdnAdFactory(ad_data));
7140                /* CRITEO */
7141            }else if(ad_data.ad_type == 'criteo'){
7142                jQuery("#"+livereSharedData.livereReply.livere_data.targetDiv).before(livereAD.criteoAdFactory(ad_data));
7143                /* TG */
7144            }else if(ad_data.ad_type == 'tg'){
7145                jQuery("#"+livereSharedData.livereReply.livere_data.targetDiv).before(livereAD.tgAdFactory(ad_data));
7146                /* REAL CLICK */
7147            }else if(ad_data.ad_type == 'rc'){
7148                jQuery("#"+livereSharedData.livereReply.livere_data.targetDiv).before(livereAD.rcAdFactory(ad_data));
7149                /* adop */
7150            }else if(ad_data.ad_type == 'adop'){
7151                jQuery("#"+livereSharedData.livereReply.livere_data.targetDiv).before(livereAD.adopFactory(ad_data));
7152                /* ta */
7153            }else if (ad_data.ad_type == 'ta'){
7154                jQuery("#"+livereSharedData.livereReply.livere_data.targetDiv).before(livereAD.taFactory(ad_data));
7155            }
7156            window.livereAdFlag = true;
7157        }
7158    };
7159
7160    this.tgAdFactory = function(ad_data) {
7161        var zoneid = ad_data.zone_id;
7162        if( livereLib.util.isTouchDevice() && ad_data.mobile_zone_id != '' ) {
7163            zoneid = ad_data.mobile_zone_id;
7164        }
7165        var tg_u = (location.protocol=='https:'?'https://adtg.widerplanet.com/delivery/wfr.php':'http://adtg.widerplanet.com/delivery/wfr.php');
7166        var tg_html = '<div id="livere_ad" style="width:100%; text-align:center; margin-bottom:5px; display:inline-block;">';
7167        tg_html += "<ifr" + "ame frameborder='0' scrolling='no' border='0' marginwidth='0' marginheight='0' width='100%' height='90' src='"+tg_u;
7168        tg_html += "?zoneid="+zoneid;
7169        tg_html += '&cb=' + Math.floor(Math.random()*99999999999);
7170        tg_html += (document.charset ? '&charset='+document.charset : (document.characterSet ? '&charset='+document.characterSet : ''));
7171        tg_html += "&loc=" + escape(window.location);
7172        if (document.referrer) tg_html += "&referer=" + escape(document.referrer);
7173        if (document.title) tg_html += "&title=" + escape(document.title);
7174        if (document.mmm_fo) tg_html += "&mmm_fo=1";
7175        tg_html += "'><\/ifr"+"ame></div>";
7176        return tg_html;
7177    };
7178
7179    this.gdnAdFactory = function(ad_data) {
7180        var html = "";
7181        if( livereLib.util.isTouchDevice() ) {
7182            html += '<div id="livere_ad" style="width:100%; text-align:center; margin-bottom:5px; display:inline-block;""><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- ADCIZ_MO --> <ins class="adsbygoogle"style="display:inline-block;width:'+ad_data.width+'px;height:'+ad_data.height+'px"data-ad-client="'+ad_data.adunit_id+'"data-ad-slot="'+ad_data.mobile_zone_id+'"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script></div>';
7183        }else{
7184            html += '<div id="livere_ad" style="width:100%; text-align:center; margin-bottom:5px; display:inline-block;""><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- ADCIZ_PC --> <ins class="adsbygoogle"style="display:block"data-ad-client="'+ad_data.adunit_id+'"data-ad-slot="'+ad_data.zone_id+'"data-ad-format="horizontal"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script></div>';
7185        }
7186        return html;
7187    };
7188
7189    this.criteoAdFactory = function(ad_data) {
7190        var html = "";
7191        if( livereLib.util.isTouchDevice() && ad_data.mobile_iframe_id != '' ) {
7192            html += "<div id='livere_ad' style='width:100%; text-align:center; margin-bottom:5px; display:inline-block;'><iframe id='" + ad_data.mobile_iframe_id + "' name='" + ad_data.mobile_iframe_id + "' src='http://cas.criteo.com/delivery/afr.php?zoneid=" + ad_data.mobile_zone_id + "&ct0=INSERT_CLICK_URL" + "&ttx_page_url=" + location.href + "' framespacing='0' frameborder='no' scrolling='no' width='"+ad_data.width+"' height='"+ad_data.height+"'></iframe></div>";
7193        }else if(livereLib.util.isTouchDevice() && ad_data.mobile_iframe_id == ''){
7194            return html;
7195        }else{
7196            html += "<div id='livere_ad' style='width:100%; text-align:center; margin-bottom:5px; display:inline-block;'><iframe id='" + ad_data.iframe_id + "' name='" + ad_data.iframe_id + "' src='http://cas.criteo.com/delivery/afr.php?zoneid=" + ad_data.zone_id + "&ct0=INSERT_CLICK_URL" + "&ttx_page_url=" + location.href +"' framespacing='0' frameborder='no' scrolling='no' width='"+ad_data.width_pc+"' height='"+ad_data.height_pc+"'></iframe></div>";
7197        }
7198        return html;
7199    };
7200
7201    this.rcAdFactory = function(ad_data) {
7202        var html = "";
7203        if( livereLib.util.isTouchDevice()) {
7204            html += "<div id='livere_ad' style='width:100%; text-align:center; margin-bottom:5px; display:inline-block;'><iframe src='http://adv.realclick.co.kr/ad_headcopy/remon_czon" + ad_data.mobile_zone_id + "_iframe.html' width='"+ad_data.width+"' height='"+ad_data.height+"' frameborder='0' marginwidth='0' marginheight='0' topmargin='0' scrolling='no' align='center'></iframe></div>";
7205        }else{
7206            html += "<div id='livere_ad' style='width:100%; text-align:center; margin-bottom:5px; display:inline-block;'><iframe src='http://click.realclick.co.kr/ad_headcopy/czon" + ad_data.zone_id + "_iframe.html' width='"+ad_data.width_pc+"' height='"+ad_data.height_pc+"' frameborder='0' marginwidth='0' marginheight='0' topmargin='0' scrolling='no' align='center'></iframe></div>";
7207        }
7208        return html;
7209    };
7210
7211    this.adopFactory = function(ad_data) {
7212        var html = "",
7213            loc = location.href;
7214
7215        if (window.parent) {
7216            loc = window.parent.location.href;
7217        } 
7218
7219        if( livereLib.util.isTouchDevice()) {
7220            html += "<div id='livereAd' style='width:100%; text-align:center; margin-bottom:5px; display:inline-block;'>";
7221            html +=     "<iframe src='//compass.adop.cc/RD/" + ad_data.mobile_zone_id + "?type=iframe&loc=" + encodeURIComponent(loc) + "&amp;
7221size_width=" + ad_data.width + "&amp;size_height=" + ad_data.height + "' id='" + ad_data.mobile_zone_id + "' frameborder='0' marginwidth='0' marginheight='0' paddingwidth='0' paddingheight='0' scrolling='no' width='" + ad_data.width + "' height='" + ad_data.height + "'></iframe>";
7222            html += "</div>";
7223        }else{
7224            html += "<div id='livereAd' style='width:100%; text-align:center; margin-bottom:5px; display:inline-block;'>";
7225            html += "    <iframe src='//compass.adop.cc/RD/" + ad_data.zone_id + "?type=iframe&loc=" + encodeURIComponent(loc) + "&amp;size_width=" + ad_data.width_pc + "&amp;size_height=" + ad_data.height_pc + "' id='" + ad_data.zone_id + "' frameborder='0' marginwidth='0' marginheight='0' paddingwidth='0' paddingheight='0' scrolling='no' width='" + ad_data.width_pc + "' height='" + ad_data.height_pc + "'></iframe>";
7226            html += "</div>";
7227        }
7228        return html;
7229    };
7230
7231    this.taFactory = function(ad_data) {
7232        var html = "";
7233        if( livereLib.util.isTouchDevice()) {
7234            html += '<div id="livere_ad" style="width:100%; text-align:center; margin-bottom:5px; display:inline-block;"><iframe frameborder="0" marginwidth="0" marginheight="0" scrolling="NO" width="' + ad_data.width + '" height="' + ad_data.height + '" src="http://adx-exchange.toast.com/open/integration.html?pub_code=' + ad_data.adunit_id + '&area_code=' + ad_data.mobile_zone_id + '&pag=' + ad_data.livere_seq + '&ttx_page_url=' + location.href + '&ttx_direct_url=' + ad_data.mobile_iframe_id + '" allowtransparency="true" ></iframe></div>';
7235        }else{
7236            html += '<div id="livere_ad" style="width:100%; text-align:center; margin-bottom:5px; display:inline-block;"><iframe frameborder="0" marginwidth="0" marginheight="0" scrolling="NO" width="' + ad_data.width_pc + '" height="' + ad_data.height_pc + '" src="http://adx-exchange.toast.com/open/integration.html?pub_code=' + ad_data.adunit_id + '&area_code=' + ad_data.zone_id + '&pag=' + ad_data.livere_seq + '&ttx_page_url=' + location.href + '&ttx_direct_url=' + ad_data.iframe_id + '" allowtransparency="true" ></iframe></div>';
7237        }
7238        return html;
7239    };
7240};
7241
7242var livereAD = new LivereAD();
7243
7244LivereContents = function() {
7245    this.init = function(obj) {
7246        var isMobile = livereLib.util.isMobileVisitor(),
7247            linkType = location.protocol === 'https:' ? 's' : 'p',
7248            isIos = navigator.userAgent.toLowerCase().match(/(iphone|ipod|ipad)/),
7249            parentDiv = jQuery('#' + livereSharedData.livereReply.livere_data.targetDiv),
7250            gdn = false,
7251            tenping = false,
7252            cssData;
7253
7254        if ( livereSharedData.livereReply.livere_data.css_path ) {
7255            cssData = livereContents.customCssData(livereSharedData.livereReply.livere_data.css_path);
7256        }
7257
7258        if ( obj && ((!isMobile && obj.ad_status_pc === 1) || (isMobile && obj.ad_status_m === 1)) ) {
7259            gdn = true;
7260        }
7261
7262        if( obj && obj.ad_tenping > 0) {
7263            tenping = true;
7264        }
7265
7266        if( obj && obj.log_status === 1) {
7267            livereContents.appendrbTag();
7268            livereContents.sendRecommendApi();
7269        }
7270
7271        if( obj && obj.box_status !== 0) {
7272            livereContents.bindSetAtypeHeightEvent();
7273            livereContents.contentsFactory(gdn, obj, linkType, parentDiv, cssData, isIos, tenping);
7274        }
7275
7276        livereContents.sidebarFactory(obj, linkType, cssData, isIos);
7277    };
7278
7279    this.rbTagProps = function() {
7280        var thumnail = jQuery("meta[property='og:image']").attr("content"),
7281            locale = jQuery("html").attr("lang"),
7282            n_title = jQuery("meta[property='og:title']").attr("content"),
7283            n_site = jQuery("meta[property='og:url']").attr("content"),
7284            reply_content = "";
7285
7286        thumnail = thumnail ? thumnail : "";
7287
7288        locale = locale ? locale : "ko";
7289
7290        n_title = n_title ? n_title : livereSharedData.livereReply.title;
7291        n_title = livereLib.util.replaceAll(n_title, "'", livereLib.getMessage("single_quotation"));
7292        n_title = livereLib.util.replaceAll(n_title, "\"", livereLib.getMe
7292ssage("double_quotation"));
7293
7294        n_site = n_site ? n_site : location.href;
7295
7296        if (livereSharedData.livereReply.reply_data && livereSharedData.livereReply.reply_data[0]) {
7297            reply_content = livereLib.util.replaceAll(livereSharedData.livereReply.reply_data[0].content, "<br />", " ");
7298            reply_content = reply_content.substring(0, 50);
7299        }
7300
7301        var propArr = [
7302            { "prop" : "cuid" , "value" : livereSharedData.livereReply.livere_contents.cuid },
7303            { "prop" : "type" , "value" : "product" },
7304            { "prop" : "itemId" , "value" : livereSharedData.livereReply.refer },
7305            { "prop" : "itemName" , "value" : n_title },
7306            { "prop" : "itemUrl" , "value" : n_site },
7307            { "prop" : "itemImage" , "value" : thumnail },
7308            { "prop" : "replyCount" , "value" : livereSharedData.livereReply.rep_data.total_count },
7309            { "prop" : "locale" , "value" : locale },
7310            { "prop" : "replyContent" , "value" : reply_content }
7311        ];
7312        return propArr;
7313    };
7314
7315    this.appendrbTag = function() {
7316        var $head = jQuery("head");
7317
7318        function _rbTag(prop, value) {
7319            return "<meta property='rb:" + prop + "' content='" + value + "' />";
7320        };
7321
7322        jQuery.each(livereContents.rbTagProps(), function(i,v) {
7323            $head.append(_rbTag(v.prop, v.value));
7324        });
7325    };
7326
7327    this.sendRecommendApi = function() {
7328        var rbAgent = livereLib.util.isMobileVisitor() ? "MW" : "PW";
7329
7330        window._rblqueue = typeof _rblqueue !== "undefined" ? _rblqueue : [];
7331        _rblqueue.push(['setVar','cuid', livereSharedData.livereReply.livere_contents.cuid ]);
7332        _rblqueue.push(['setVar','device', rbAgent ]);
7333        _rblqueue.push(['setVar','itemId', livereSharedData.livereReply.refer]);
7334        _rblqueue.push(['setVar','userId', 'guest' ]);
7335        _rblqueue.push(['setVar','searchTerm','none']);
7336        _rblqueue.push(['track','view']);
7337        _rblqueue.push(['track','product']);
7338
7339        setTimeout(function() {
7340            (function(s,x){s=document.createElement('script');s.type='text/javascript';
7341                s.async=true;s.defer=true;s.src=(('https:'==document.location.protocol)?'https':'http')+
7342                '://d1hn8mrtxasu7m.cloudfront.net/rblc/js/rblc-apne1.min.js';
7343                x=document.getElementsByTagName('script')[0];x.parentNode.insertBefore(s, x);})();
7344        });
7345    };
7346
7347    this.ieSupport = function() {
7348        var trident = navigator.userAgent.toLowerCase().indexOf('trident'),
7349            msie = navigator.userAgent.toLowerCase().indexOf('msie');
7350
7351        if ( msie > -1 && trident === -1 ) {
7352            return false;
7353        } else {
7354            return true;
7355        }
7356    };
7357
7358    this.customCssData = function(cssPath) {
7359        var tempArr = cssPath.split('/'),
7360            data = {};
7361
7362        data.fileName = tempArr.pop().split('.')[0],
7363        data.folderName = tempArr.pop();
7364
7365        return data;
7366    };
7367
7368    this.bindSetAtypeHeightEvent = function() {
7369        var eventMethod = window.addEventListener ? 'addEventListener' : 'attachEvent',
7370            setLvContents = window[eventMethod],
7371            lvContentsEvent = eventMethod == 'attachEvent' ? 'onmessage' : 'message';
7372
7373        setLvContents(lvContentsEvent, function (e) {
7374            if (e.origin.indexOf('cdn-city.livere.com') === -1) {
7375                return;
7376            }
7377            var childData = jQuery.parseJSON(e.data),
7378                type = childData.type ? childData.type : 'default';
7379
7380            switch (type) {
7381                case 'default':
7382                    jQuery('#' + childData.target).height(childData.height + 'px');
7383                    break;
7384                case 'getTenpingData':
7385                    var targetWindow = jQuery('#livereContentsContainer > iframe')[0].contentWindow,
7386                        params = {
7387                            adData: livereSharedData.livereReply.livere_tenping,
7388                            cizionadData: livereSharedData.livereReply.livere_cizionad,
7389                            type: 'setLvContentTenpingData'
7390                        };
7391
7392                        targetWindow.postMessage(JSON.stringify(params), '*');
7393                    break;
7394            }
7395
7396        }, false);
7397    };
7398
7399    this.contentsFactory = function(gdn, obj, linkType, parentDiv, cssData, ios, tenping) {
7400        var html = '';
7401
7402        if (obj.box_status === 1) {
7403            html = '<div id="livereContentsContainer"><iframe width="100%" height="232px" frameborder="0" scrolling="no" src="//cdn-city.livere.com/liveContents/t/html/articles.html?cs='+consumer_seq+'&ls='+ livere_seq+'&rep_seq='+ livereSharedData.livereReply.rep_data.rep_seq + '&cuid='+livereSharedData.livereReply.livere_contents.cuid +'&cName='+livereSharedData.livereReply.livere_contents.clientName + '&refer='+ window.refer +'&type=' + linkType + '&gdn=' + gdn + '&tenping=' + tenping + '" ></iframe></div>';
7404        } else {
7405            // a type support >= ie8
7406            if (!livereContents.ieSupport()) { return; }
7407
7408            html = '<div id="livereContentsContainer"><iframe width="100%" height="100%" frameborder="0" scrolling="no" style="display:block;
7408" src="//cdn-city.livere.com/liveContents/a/html/articles.html?cs=' + consumer_seq + '&ls=' + livere_seq + '&cuid=' + livereSharedData.livereReply.livere_contents.cuid + '&refer=' + window.refer + '&width=' + parentDiv.width() + '&type=' + linkType + '&rows=' + obj.a_row + '&total=' + obj.a_total;
7409            if (cssData) {
7410                html += '&folder=' + cssData.folderName + '&file=' + cssData.fileName;
7411            }
7412            html += '" ></iframe></div>';
7413
7414        }
7415
7416        parentDiv.after(html);
7417
7418        if (ios) {
7419            jQuery('#livereContentsContainer>iframe').css({'width':'10px', 'min-width':'100%'});
7420        }
7421    };
7422
7423    this.sidebarFactory = function(obj, linkType, cssData, ios) {
7424        var $sidebar = jQuery('#liveContentsSidebar');
7425
7426        if (!$sidebar.length) return;
7427
7428        var html = '<iframe width="100%" height="100%" frameborder="0" scrolling="no" style="display:block" src="//cdn-city.livere.com/liveContents/b/html/articles.html?cs=' + consumer_seq + '&ls=' + livere_seq + '&cuid=' + livereSharedData.livereReply.livere_contents.cuid + '&refer=' + window.refer + '&type=' + linkType + '&articles=' + obj.b_articles + '&total=' + obj.b_total;
7429        if (cssData) {
7430            html += '&folder=' + cssData.folderName + '&file=' + cssData.fileName;
7431        }
7432        html += '" ></iframe>';
7433
7434        $sidebar.append(html);
7435
7436        if (ios) {
7437           $sidebar.css({"width":"10px", "min-width":"100%"});
7438        }
7439    };
7440};
7441
7442var livereContents = new LivereContents();
7443
7444LivereKpi = (function() {
7445    var kpi = {}
7446
7447    kpi.init = function() {
7448        var params = {
7449            consumer_seq  : livereSharedData.common.consumer_seq,
7450            livere_seq    : livereSharedData.livereReply.livere_seq,
7451            rep_seq       : livereSharedData.livereReply.rep_data.rep_seq,
7452            refer         : livereSharedData.livereReply.rep_data.refer,
7453            version       : "8",
7454            command        : "scrollview"
7455        };
7456
7457        kpi.start(params);
7458    }
7459
7460    kpi.start = function(params) {
7461        kpi.events.scroll(params);
7462    }
7463
7464    kpi.events = {
7465        scroll: function(params) {
7466            var target = '#' + livereSharedData.livereReply.livere_data.targetDiv;
7467
7468            if (!jQuery(target).length) {
7469                return;
7470            }
7471
7472            var url = getUrl(params);
7473
7474            jQuery(document).bind('scroll.kpi', function() {
7475                var livereTarget = jQuery(target).offset().top,
7476                    currentHeight = jQuery(window).height(),
7477                    targetHeight = jQuery( '#livereWriteForm' ).height(),
7478                    targetWidth = jQuery(target).width(),
7479                    position = livereTarget - currentHeight + targetHeight;
7480
7481                //스크롤 위치가 position보다 크고 position은 0보다 크거나 ||
7482                // 현재 창 크기안에 라이브리 상단위치가 있을 시 &&
7483                //flag가 false이고 라이브리의 width가 0보다 클 때
7484                if ( ( ( jQuery(document).scrollTop() > position && position > 0 ) ||
7485                    currentHeight > livereTarget ) &&
7486                    !kpi.flag && targetWidth > 0 ) {
7487
7488                    kpi.flag = true;
7489                    jQuery.getJSON(url);
7490                    jQuery(document).unbind('.kpi');
7491                    return;
7492                }
7493
7494            });
7495        }
7496    }
7497
7498    function getUrl(params) {
7499        var kpi_url = "https://dev.livere.co.kr/KPI_Livere?",
7500            paramsString = params != null
7501                ? livereLib.util.objectToParameters(params) + "&"
7502                : "";
7503
7504        paramsString += "dummy=" + Math.random() + "&callback=?";
7505
7506        return kpi_url + paramsString;
7507    };
7508
7509    return kpi;
7510}());

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.