PageSourceSearch

http://tinnews.co.kr/js/ins_js.js?wdate=1791129006

js tinnews.co.kr collected 2026-10-04 15:52:26 UTC 59,147 bytes, 1,928 lines download raw bytes

1var console = window.console || {log:function(){}};
2
3//카카오톡 보내기
4function executeURLLink(a,b,c,d)
5{
6    kakao.link("talk").send({
7        msg : a,
8        url : b,
9        appid : c,
10        appver : "2.0",
11        appname : d,
12        type : "link"
13    });
14
15}
16
17//카카오스토리 보내기
18function executeKakaoStoryLink(a,b,c,d,e,f,g)
19{
20kakao.link("story").send({
21post : b,
22appid : c,
23appver : "1.0",
24appname : d,
25urlinfo : JSON.stringify({title:a, desc:e, imageurl:[f], type:g})
26});
27}
28
29function MM_openBrWindow(theURL,winName,features) { //v2.0
30      var popup =  window.open(theURL,winName,features);
31 popup.focus();
32}
33
34function swf_view(swf_file,swf_width,swf_height) {
35	
36  document.write("<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0\" width='"+swf_width+"' height='"+swf_height+"'>")
37  document.write("<param name=\"FlashVars\" value=\"menu=sub2\">")
38  document.write("<param name=\"allowScriptAccess\" value=\"always\">")
39  document.write("<param name=movie value='"+swf_file+"'>") 
40  document.write("<param name=\"wmode\" value=\"transparent\">") 
41  document.write("<embed src='"+swf_file+"' quality=\"high\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" width='"+swf_width+"' height='"+swf_height+"' wmode='transparent'></embed>") 
42  document.write("</object>")
43}
44
45
46function reader_checkForm(){
47
48	formObj = document.rc;
49
50     if (formObj.reader_name.value == '')   
51
52     {
53            alert('이름을 입력해 주십시오 ');
54            formObj.reader_name.focus();  
55            return false;
56	 }
57     else if(formObj.reader_title.value == '')     
58    {
59           alert(' 제목을 입력해 주십시오');
60           formObj.reader_title.focus();  
61               return false;
62    }
63	else if(formObj.reader_passwd.value == '')     
64    {
65            alert(' 패스워드를 입력해 주십시오');
66           formObj.reader_passwd.focus();  
67               return false;
68	}
69	else if(formObj.reader_body.value == '')     
70    {
71            alert(' 내용을 입력해 주십시오');
72            formObj.reader_body.focus();  
73               return false;
74	}
75	else if(formObj.nospam.value == '')     
76    {
77            alert(' 스팸검사에 옆의 숫자를 입력해 주십시오');
78           formObj.nospam.focus();  
79               return false;
80	}
81
82
83	 var url="./newnews/ins_reader_add_exe.php";
84	 var parameters="d_mode=input&newsuid="+formObj.newsuid.value+"&reader_title=" + encodeURI(formObj.reader_title.value);
85	     parameters +="&reader_name="+ encodeURI(formObj.reader_name.value);
86	     parameters +="&reader_passwd="+ encodeURI(formObj.reader_passwd.value);
87	     parameters +="&reader_body="+ encodeURI(formObj.reader_body.value);
88	     parameters +="&nospam="+ encodeURI(formObj.nospam.value);
89		 parameters +="&u_id="+ encodeURI(formObj.d_id.value);
90	
91         //alert(parameters);
92		 ajax.ajax_action(url,'post',parameters,r_c,'');
93		 formObj.reader_title.value="";
94		 formObj.reader_name.value="";
95		 formObj.reader_passwd.value="";
96		 formObj.reader_body.value="";
97		 formObj.nospam.value="";
98
99		  return false;
100	  
101 
102}
103
104
105
106
107function reader_checkForm_sign(){
108
109	formObj = document.rc;
110
111     if (formObj.reader_name.value == '')   
112
113     {
114            alert('이름을 입력해 주십시오 ');
115            formObj.reader_name.focus();  
116            return false;
117	 }
118     else if(formObj.reader_title.value == '')     
119    {
120           alert(' 제목을 입력해 주십시오');
121           formObj.reader_title.focus();  
122               return false;
123    }
124	else if(formObj.reader_passwd.value == '')     
125    {
126            alert(' 패스워드를 입력해 주십시오');
127           formObj.reader_passwd.focus();  
128               return false;
129	}
130	else if(formObj.reader_body.value == '')     
131    {
132            alert(' 내용을 입력해 주십시오');
133            formObj.reader_body.focus();  
134               return false;
135	}
136	else if(formObj.nospam.value == '')     
137    {
138            alert(' 스팸검사에 옆의 숫자를 입력해 주십시오');
139           formObj.nospam.focus();  
140               return false;
141	}
142
143	if(!confirm('정당후보자에 대한 지지 또는 반대의 글을 실명인증을 해야 합니다.\r\n 확인을 누르시면 등록이 됨니다.'))
144	{
145                 return false;
146	}
147
148	 var url="/newnews/ins_reader_add_exe.php";
149	 var parameters="d_mode=input&newsuid="+formObj.newsuid.value+"&reader_title=" + encodeURI(formObj.reader_title.value);
150	     parameters +="&reader_name="+ encodeURI(formObj.reader_name.value);
151	     parameters +="&reader_passwd="+ encodeURI(formObj.reader_passwd.value);
152	     parameters +="&reader_body="+ encodeURI(formObj.reader_body.value);
153	     parameters +="&nospam="+ encodeURI(formObj.nospam.value);
154		 parameters +="&u_id="+ encodeURI(formObj.d_id.value);
155		 parameters +="&se_id="+ encodeURI(formObj.se_id.value);
156	
157         //alert(parameters);
158		 ajax.ajax_action(url,'post',parameters,r_c,'');
159		 formObj.reader_title.value="";
160		 formObj.reader_name.value="";
161		 formObj.reader_passwd.value="";
162		 formObj.reader_body.value="";
163		 formObj.nospam.value="";
164
165		  return false;
166	  
167 
168}
169
170
171
172
173function reader_checkForm_body(){
174
175	formObj = document.rc;
176
177     if (formObj.reader_name.value == '')   
178
179     {
180            alert('이름을 입력해 주십시오 ');
181            formObj.reader_name.focus();  
182            return false;
183	 }
184    
185	else if(formObj.reader_passwd.value == '')     
186    {
187            alert(' 패스워드를 입력해 주십시오');
188           formObj.reader_passwd.focus();  
189               return false;
190	}
191	else if(formObj.reader_body.value == '')     
192    {
193            alert(' 내용을 입력해 주십시오');
194            formObj.reader_body.focus();  
195               return false;
196	}
197	else if(formObj.nospam.value == '')     
198    {
199            alert(' 스팸검사에 옆의 숫자를 입력해 주십시오');
200           formObj.nospam.focus();  
201               return false;
202	}
203  
204
205	 var url="./newnews/ins_reader_add_exe.php";
206	 var parameters="d_mode=input&newsuid="+formObj.newsuid.value;
207	     parameters +="&reader_name="+ encodeURI(formObj.reader_name.value);
208	     parameters +="&reader_passwd="+ encodeURI(formObj.reader_passwd.value);
209	     parameters +="&reader_body="+ encodeURI(formObj.reader_body.value);
210	     parameters +="&nospam="+ encodeURI(formObj.nospam.value);
211		 parameters +="&u_id="+ encodeURI(formObj.d_id.value);
212	
213         //alert(parameters);
214		 ajax.ajax_action(url,'post',parameters,r_c,'');
215		 formObj.reader_name.value="";
216		 formObj.reader_passwd.value="";
217		 formObj.reader_body.value="";
218		 formObj.nospam.value="";
219
220		  return false;
221	  
222 
223}
224
225
226function r_c()
227{
228   if (ajax.request.readyState == 4)
229		 {
230         
231			if (ajax.request.status == 200)
232			{
233				result = ajax.request.responseText;
234				if(result=="스팸검사를 정확히 입력해 주십시오.")
235				{
236					alert('스팸검사를 정확히 입력해 주십시오');
237				}
238				else if(result=="뉴스 번호가 없습니다.")
239				{
240					alert('뉴스 번호가 없습니다.');
241				}
242				else
243				{
244					document.getElementById('reader_t').innerHTML = result;
245					alert('등록되었습니다.');	
246				}
247				
248				           
249			}
250			else
251			{
252				alert('입력 에러');
253			}
254		}
255
256}
257
258
259
260
261
262function bbsetc_checkForm(){
263
264	   bbs_etcform = document.b_etc_ok;
265
266	   if (bbs_etcform.bbs_name.value == '') {
267			alert('이름을 입력해 주십시오 ');
268			bbs_etcform.bbs_name.focus();
269			return false;
270		} else if (bbs_etcform.etc_passwd.value == '') {
271			alert(' 패스워드를 입력해 주십시오');
272			bbs_etcform.etc_passwd.focus();  
273			return false;
274		} else if (bbs_etcform.bbs_memo.value == '') {
275			alert(' 내용을 입력해 주십시오');
276			bbs_etcform.bbs_memo.focus();  
277			return false;
278		} else if (bbs_etcform.nospam.value == '') {
279			alert(' 도배 방지를 위한 옆의 숫자를 입력해 주십시오');
280			bbs_etcform.nospam.focus();  
281			return false;
282		}
283
284
285
286	   var url2="./bbs/ins_bbs_etc_add_exe.php";
287	   var parameters="d_mode=input&bbs_uid="+bbs_etcform.bbs_uid.value;
288	      parameters +="&bbs_name="+ encodeURI(bbs_etcform.bbs_name.value);
289	      parameters +="&etc_passwd="+ encodeURI(bbs_etcform.etc_passwd.value);
290	      parameters +="&bbs_memo="+ encodeURI(bbs_etcform.bbs_memo.value);
291	     parameters +="&nospam="+ encodeURI(bbs_etcform.nospam.value);
292	  	 parameters +="&Table="+ encodeURI(bbs_etcform.Table.value);
293	
294       	 ajax.ajax_action(url2,'post',parameters,bbs_r_c,'');
295		 bbs_etcform.bbs_name.value="";
296		 bbs_etcform.etc_passwd.value="";
297		 bbs_etcform.bbs_memo.value="";
298		 bbs_etcform.nospam.value="";
299		  return false;
300
301}
302
303function bbsetc_checkForm_sign(){
304
305	   bbs_etcform = document.b_etc_ok;
306
307	   if (bbs_etcform.bbs_name.value == '') {
308			alert('이름을 입력해 주십시오 ');
309			bbs_etcform.bbs_name.focus();
310			return false;
311		} else if (bbs_etcform.etc_passwd.value == '') {
312			alert(' 패스워드를 입력해 주십시오');
313			bbs_etcform.etc_passwd.focus();  
314			return false;
315		} else if (bbs_etcform.bbs_memo.value == '') {
316			alert(' 내용을 입력해 주십시오');
317			bbs_etcform.bbs_memo.focus();  
318			return false;
319		} else if (bbs_etcform.nospam.value == '') {
320			alert(' 도배 방지를 위한 옆의 숫자를 입력해 주십시오');
321			bbs_etcform.nospam.focus();  
322			return false;
323		}
324
325	if(!confirm('정당후보자에 대한 지지 또는 반대의 글을 실명인증을 해야 합니다.\r\n 확인을 누르시면 등록이 됨니다.'))
326	{
327                 return false;
328	}	
329
330	   var url2="./bbs/ins_bbs_etc_add_exe.php";
331	   var parameters="d_mode=input&bbs_uid="+bbs_etcform.bbs_uid.value;
332	      parameters +="&bbs_name="+ encodeURI(bbs_etcform.bbs_name.value);
333	      parameters +="&etc_passwd="+ encodeURI(bbs_etcform.etc_passwd.value);
334	      parameters +="&bbs_memo="+ encodeURI(bbs_etcform.bbs_memo.value);
335	     parameters +="&nospam="+ encodeURI(bbs_etcform.nospam.value);
336	  	 parameters +="&Table="+ encodeURI(bbs_etcform.Table.value);
337	
338       	 ajax.ajax_action(url2,'post',parameters,bbs_r_c,'');
339		 bbs_etcform.bbs_name.value="";
340		 bbs_etcform.etc_passwd.value="";
341		 bbs_etcform.bbs_memo.value="";
342		 bbs_etcform.nospam.value="";
343		  return false;
344
345}
346
347
348function bbs_r_c()
349{
350   if (ajax.request.readyState == 4)
351		 {
352         
353			if (ajax.request.status == 200)
354			{
355				result = ajax.request.responseText;
356
357				if(result=="스팸검사를 정확히 입력해 주십시오.")
358				{
359					alert('스팸검사를 정확히 입력해 주십시오');
360				}
361				else if(result=="번호가 없습니다.")
362				{
363					alert('번호가 없습니다.');
364				}
365				else
366				{
367					document.getElementById('bbs_etc_b').innerHTML = result;
368					//alert('등록되었습니다.');	
369				}
370				
371				           
372			}
373			else
374			{
375				alert('입력 에러');
376			}
377		}
378
379}
380
381
382function reader_point_add(r_uid)
383{
384      
385	   var url2="/newnews/ins_reader_add_exe.php?d_mode=point&r_uid="+r_uid;
386	  
387	   ajax.ajax_action(url2,'get','',r_ok,'');
388	  // return false;
389
390}
391
392function r_ok()
393{
394
395      if (ajax.request.readyState == 4)
396		 {
397         
398			if (ajax.request.status == 200)
399			{
400				result = ajax.request.responseText;
401				var r_v = result.split(':');
402                 
403				 document.getElementById('u_p_s_'+r_v[0]).innerHTML = r_v[1]; 
404				alert('추천되었습니다.');	
405				
406				
407				           
408			}
409			else
410			{
411				alert('입력 에러');
412			}
413		}
414
415}
416
417
418function ins_main_create()
419{
420
421	alert('aaa');
422
423}
424
425
426
427
428function vod_main_view(v_uid)
429{
430       
431	   var url2="/newnews/ins_news_vod_main_view.php?d_mode=get&v_uid="+v_uid;
432	   ajax.ajax_action(url2,'get','',vod_ok,'');
433	  
434
435}
436
437
438
439function vod_main_view_sub(v_uid)
440{
441        var agent=navigator.userAgent.toLowerCase();
442		var is_iphone = (agent.indexOf('iphone')!=-1);
443		var is_andriod = (agent.indexOf('mobile')!=-1);
444		if(is_iphone)
445		{
446		  os_type="iphone";
447		}
448		else if(is_andriod)
449		{
450		  os_type="android";
451		}
452		else
453		{
454		 
455		  os_type="pc";
456		   
457		}
458
459		
460       
461	   var url2="/newnews/ins_news_vod_main_view_sub.php?d_mode=get&v_uid="+v_uid+"&os_type="+os_type;
462	   ajax.ajax_action(url2,'get','',vod_ok,'');
463	  
464	  
465
466}
467
468
469
470function reader_view_main()
471{
472	    	
473       
474	   var url2="/newnews/ins_reader_view_main.php";
475	   ajax.ajax_action(url2,'get','',vod_ok,'');
476	  
477
478}
479
480
481
482function vod_main_view_imtv(v_uid)
483{
484       
485	   var url2="/newnews/ins_news_vod_main_view_imtv.php?d_mode=get&v_uid="+v_uid;
486	   ajax.ajax_action(url2,'get','',vod_ok,'');
487	  
488
489}
490
491function vod_ok()
492{
493
494      if (ajax.request.readyState == 4)
495		 {
496         
497			if (ajax.request.status == 200)
498			{
499				result = ajax.request.responseText;
500			  
501			    document.getElementById('ins_vod_main').innerHTML = result; 
502				
503				
504				           
505			}
506			else
507			{
508				alert('입력 에러');
509			}
510		}
511
512}
513
514
515function vod_main_view_skin9(v_uid)
516{
517       
518	   var url2="/newnews/ins_news_vod_main_view_skin9.php?d_mode=get&v_uid="+v_uid;
519	   ajax.ajax_action(url2,'get','',vod_ok,'');
520	  
521
522}
523
524
525
526function vod_main_view_skin_sbctv_net(v_uid)
527{
528	var url2="/newnews/ins_news_vod_main_view_sbctv_net.php?d_mode=get&v_uid="+v_uid;
529	   ajax.ajax_action(url2,'get','',vod_ok,'');
530
531}
532/// 기사본문글자크기 조정
533var font_a=14;
534function fontsizeasc() {
535	font_a=font_a+2;
536	document.all.textinput.style.fontSize=font_a;
537}
538function fontsizedesc() {
539	font_a=font_a-2;
540	document.all.textinput.style.fontSize=font_a;
541}
542
543
544//무단복사 방지 마우스 드래드 금지
545function mou()
546{
547//<![CDATA[
548(function(){
549 var cancel=function(e){
550  if (window.event) {
551   window.event.cancelBubble = true;
552   window.event.returnValue = false;
553  }
554  if (e && e.stopPropagation && e.preventDefault) {
555   e.stopPropagation();
556   e.preventDefault();
557  }
558  return false;
559 };
560 var block=function(e){
561  e = e || window.event;
562  var t=e.srcElement || e.target;
563  var tag=t.tagName;
564  if (e && tag==='HTML' || tag==='INPUT' || tag==='TEXTAREA' || tag==='BUTTON' || tag==='SELECT' || tag==='OPTION' || tag==='EMBED' || tag==='OBJECT') { return; }
565  if (e.type==='keydown' || e.type=='keyup') {
566   // keyboard event : only block ctrl-A, ctrl-a, ctrl-C, ctrl-c, meta-A, meta-a, meta-C, meta-c
567   if ((e.ctrlKey || e.metaKey) && (e.keyCode == 65 || e.keyCode == 97 || e.keyCode == 67 || e.keyCode == 99)) { return cancel(e); }
568  } else if(e.type == "contextmenu"){
569   //alert('무단복사를 막기 위해 마우스 드래그 금지가 설정되어 있습니다');
570   return cancel(e);
571  } else {
572   return cancel(e);
573  }
574 }
575 var addEvent = function(el, type, fn){
576     if (window.addEventListener) {
577         el.addEventListener(type, fn, false);
578     }
579     else if (window.attachEvent) {
580         el.attachEvent('on' + type, fn);
581     }
582     else {
583         el['on' + type] = fn;
584     }
585 }
586 var addBlockEvent = function(){
587  addEvent(document.body,'keydown',block);
588  addEvent(document.body,'keyup',block);
589  addEvent(document.body,'mouseup',block);
590  addEvent(document.body,'mousedown',block);
591  addEvent(document.body,'dragstart',block);
592  addEvent(document.body,'selectstart',block);
593  addEvent(document.body,'copy',block);
594  addEvent(document.body,'contextmenu', block);
595 }
596 addEvent(window,'load',addBlockEvent);
597})();
598//]]>
599}
600
601//날개배너 스크롤-s
602function layerPosition(direction,time,tmp){
603	var blayer_R, blayer_L, D;
604	window["blayer_" + direction] = document.getElementById("Scroll_" + direction);
605	if(window["blayer_" + direction]) {
606	window["blayer_" + direction].style.top = document.body.scrollTop + tmp;
607	D = "layerPosition('"+direction+"',"+time+","+tmp+")";
608	setTimeout(D,time);
609	}
610}
611
612//window.onload = function(){
613    if(typeof jQuery == 'undefined') {
614        var jqueryElement = document.createElement('script');
615        jqueryElement.src = 'https://code.jquery.com/jquery-1.7.2.min.js';
616		
617		if(jqueryElement.addEventListener) {
618			jqueryElement.addEventListener("load",callback,false);
619		} else if(jqueryElement.readyState) {
620			jqueryElement.onreadystatechange = callback;
621		}		
622
623		document.getElementsByTagName('head')[0].appendChild(jqueryElement);
624		
625		function callback() {
626			if(typeof jQuery != 'undefined') {
627				var J = $.noConflict(); //플러그인 간의 충돌을 제거합니다.
628		 
629				J(document).ready(function() {
630					layerPosition("L",100,0);
631					layerPosition("R",100,0);
632				});
633			}
634		}        
635    } else {
636		$(document).ready(function() {
637			layerPosition("L",100,0);
638			layerPosition("R",100,0);
639		});
640	}
641//}
642//날개배너 스크롤-e
vendor: 14,673 bytes, lines 642-1177
642
643
644/*! https://mths.be/punycode v1.4.1 by @mathias */
645;(function(root) {
646
647	/** Detect free variables */
648	var freeExports = typeof exports == 'object' && exports &&
649		!exports.nodeType && exports;
650	var freeModule = typeof module == 'object' && module &&
651		!module.nodeType && module;
652	var freeGlobal = typeof global == 'object' && global;
653	if (
654		freeGlobal.global === freeGlobal ||
655		freeGlobal.window === freeGlobal ||
656		freeGlobal.self === freeGlobal
657	) {
658		root = freeGlobal;
659	}
660
661	/**
662	 * The `punycode` object.
663	 * @name punycode
664	 * @type Object
665	 */
666	var punycode,
667
668	/** Highest positive signed 32-bit float value */
669	maxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1
670
671	/** Bootstring parameters */
672	base = 36,
673	tMin = 1,
674	tMax = 26,
675	skew = 38,
676	damp = 700,
677	initialBias = 72,
678	initialN = 128, // 0x80
679	delimiter = '-', // '\x2D'
680
681	/** Regular expressions */
682	regexPunycode = /^xn--/,
683	regexNonASCII = /[^\x20-\x7E]/, // unprintable ASCII chars + non-ASCII chars
684	regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g, // RFC 3490 separators
685
686	/** Error messages */
687	errors = {
688		'overflow': 'Overflow: input needs wider integers to process',
689		'not-basic': 'Illegal input >= 0x80 (not a basic code point)',
690		'invalid-input': 'Invalid input'
691	},
692
693	/** Convenience shortcuts */
694	baseMinusTMin = base - tMin,
695	floor = Math.floor,
696	stringFromCharCode = String.fromCharCode,
697
698	/** Temporary variable */
699	key;
700
701	/*--------------------------------------------------------------------------*/
702
703	/**
704	 * A generic error utility function.
705	 * @private
706	 * @param {String} type The error type.
707	 * @returns {Error} Throws a `RangeError` with the applicable error message.
708	 */
709	function error(type) {
710		throw new RangeError(errors[type]);
711	}
712
713	/**
714	 * A generic `Array#map` utility function.
715	 * @private
716	 * @param {Array} array The array to iterate over.
717	 * @param {Function} callback The function that gets called for every array
718	 * item.
719	 * @returns {Array} A new array of values returned by the callback function.
720	 */
721	function map(array, fn) {
722		var length = array.length;
723		var result = [];
724		while (length--) {
725			result[length] = fn(array[length]);
726		}
727		return result;
728	}
729
730	/**
731	 * A simple `Array#map`-like wrapper to work with domain name strings or email
732	 * addresses.
733	 * @private
734	 * @param {String} domain The domain name or email address.
735	 * @param {Function} callback The function that gets called for every
736	 * character.
737	 * @returns {Array} A new string of characters returned by the callback
738	 * function.
739	 */
740	function mapDomain(string, fn) {
741		var parts = string.split('@');
742		var result = '';
743		if (parts.length > 1) {
744			// In email addresses, only the domain name should be punycoded. Leave
745			// the local part (i.e. everything up to `@`) intact.
746			result = parts[0] + '@';
747			string = parts[1];
748		}
749		// Avoid `split(regex)` for IE8 compatibility. See #17.
750		string = string.replace(regexSeparators, '\x2E');
751		var labels = string.split('.');
752		var encoded = map(labels, fn).join('.');
753		return result + encoded;
754	}
755
756	/**
757	 * Creates an array containing the numeric code points of each Unicode
758	 * character in the string. While JavaScript uses UCS-2 internally,
759	 * this function will convert a pair of surrogate halves (each of which
760	 * UCS-2 exposes as separate characters) into a single code point,
761	 * matching UTF-16.
762	 * @see `punycode.ucs2.encode`
763	 * @see <https://mathiasbynens.be/notes/javascript-encoding>
764	 * @memberOf punycode.ucs2
765	 * @name decode
766	 * @param {String} string The Unicode input string (UCS-2).
767	 * @returns {Array} The new array of code points.
768	 */
769	function ucs2decode(string) {
770		var output = [],
771		    counter = 0,
772		    length = string.length,
773		    value,
774		    extra;
775		while (counter < length) {
776			value = string.charCodeAt(counter++);
777			if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
778				// high surrogate, and there is a next character
779				extra = string.charCodeAt(counter++);
780				if ((extra & 0xFC00) == 0xDC00) { // low surrogate
781					output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
782				} else {
783					// unmatched surrogate; only append this code unit, in case the next
784					// code unit is the high surrogate of a surrogate pair
785					output.push(value);
786					counter--;
787				}
788			} else {
789				output.push(value);
790			}
791		}
792		return output;
793	}
794
795	/**
796	 * Creates a string based on an array of numeric code points.
797	 * @see `punycode.ucs2.decode`
798	 * @memberOf punycode.ucs2
799	 * @name encode
800	 * @param {Array} codePoints The array of numeric code points.
801	 * @returns {String} The new Unicode string (UCS-2).
802	 */
803	function ucs2encode(array) {
804		return map(array, function(value) {
805			var output = '';
806			if (value > 0xFFFF) {
807				value -= 0x10000;
808				output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);
809				value = 0xDC00 | value & 0x3FF;
810			}
811			output += stringFromCharCode(value);
812			return output;
813		}).join('');
814	}
815
816	/**
817	 * Converts a basic code point into a digit/integer.
818	 * @see `digitToBasic()`
819	 * @private
820	 * @param {Number} codePoint The basic numeric code point value.
821	 * @returns {Number} The numeric value of a basic code point (for use in
822	 * representing integers) in the range `0` to `base - 1`, or `base` if
823	 * the code point does not represent a value.
824	 */
825	function basicToDigit(codePoint) {
826		if (codePoint - 48 < 10) {
827			return codePoint - 22;
828		}
829		if (codePoint - 65 < 26) {
830			return codePoint - 65;
831		}
832		if (codePoint - 97 < 26) {
833			return codePoint - 97;
834		}
835		return base;
836	}
837
838	/**
839	 * Converts a digit/integer into a basic code point.
840	 * @see `basicToDigit()`
841	 * @private
842	 * @param {Number} digit The numeric value of a basic code point.
843	 * @returns {Number} The basic code point whose value (when used for
844	 * representing integers) is `digit`, which needs to be in the range
845	 * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is
846	 * used; else, the lowercase form is used. The behavior is undefined
847	 * if `flag` is non-zero and `digit` has no uppercase form.
848	 */
849	function digitToBasic(digit, flag) {
850		//  0..25 map to ASCII a..z or A..Z
851		// 26..35 map to ASCII 0..9
852		return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);
853	}
854
855	/**
856	 * Bias adaptation function as per section 3.4 of RFC 3492.
857	 * https://tools.ietf.org/html/rfc3492#section-3.4
858	 * @private
859	 */
860	function adapt(delta, numPoints, firstTime) {
861		var k = 0;
862		delta = firstTime ? floor(delta / damp) : delta >> 1;
863		delta += floor(delta / numPoints);
864		for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {
865			delta = floor(delta / baseMinusTMin);
866		}
867		return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
868	}
869
870	/**
871	 * Converts a Punycode string of ASCII-only symbols to a string of Unicode
872	 * symbols.
873	 * @memberOf punycode
874	 * @param {String} input The Punycode string of ASCII-only symbols.
875	 * @returns {String} The resulting string of Unicode symbols.
876	 */
877	function decode(input) {
878		// Don't use UCS-2
879		var output = [],
880		    inputLength = input.length,
881		    out,
882		    i = 0,
883		    n = initialN,
884		    bias = initialBias,
885		    basic,
886		    j,
887		    index,
888		    oldi,
889		    w,
890		    k,
891		    digit,
892		    t,
893		    /** Cached calculation results */
894		    baseMinusT;
895
896		// Handle the basic code points: let `basic` be the number of input code
897		// points before the last delimiter, or `0` if there is none, then copy
898		// the first basic code points to the output.
899
900		basic = input.lastIndexOf(delimiter);
901		if (basic < 0) {
902			basic = 0;
903		}
904
905		for (j = 0; j < basic; ++j) {
906			// if it's not a basic code point
907			if (input.charCodeAt(j) >= 0x80) {
908				error('not-basic');
909			}
910			output.push(input.charCodeAt(j));
911		}
912
913		// Main decoding loop: start just after the last delimiter if any basic code
914		// points were copied; start at the beginning otherwise.
915
916		for (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {
917
918			// `index` is the index of the next character to be consumed.
919			// Decode a generalized variable-length integer into `delta`,
920			// which gets added to `i`. The overflow checking is easier
921			// if we increase `i` as we go, then subtract off its starting
922			// value at the end to obtain `delta`.
923			for (oldi = i, w = 1, k = base; /* no condition */; k += base) {
924
925				if (index >= inputLength) {
926					error('invalid-input');
927				}
928
929				digit = basicToDigit(input.charCodeAt(index++));
930
931				if (digit >= base || digit > floor((maxInt - i) / w)) {
932					error('overflow');
933				}
934
935				i += digit * w;
936				t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
937
938				if (digit < t) {
939					break;
940				}
941
942				baseMinusT = base - t;
943				if (w > floor(maxInt / baseMinusT)) {
944					error('overflow');
945				}
946
947				w *= baseMinusT;
948
949			}
950
951			out = output.length + 1;
952			bias = adapt(i - oldi, out, oldi == 0);
953
954			// `i` was supposed to wrap around from `out` to `0`,
955			// incrementing `n` each time, so we'll fix that now:
956			if (floor(i / out) > maxInt - n) {
957				error('overflow');
958			}
959
960			n += floor(i / out);
961			i %= out;
962
963			// Insert `n` at position `i` of the output
964			output.splice(i++, 0, n);
965
966		}
967
968		return ucs2encode(output);
969	}
970
971	/**
972	 * Converts a string of Unicode symbols (e.g. a domain name label) to a
973	 * Punycode string of ASCII-only symbols.
974	 * @memberOf punycode
975	 * @param {String} input The string of Unicode symbols.
976	 * @returns {String} The resulting Punycode string of ASCII-only symbols.
977	 */
978	function encode(input) {
979		var n,
980		    delta,
981		    handledCPCount,
982		    basicLength,
983		    bias,
984		    j,
985		    m,
986		    q,
987		    k,
988		    t,
989		    currentValue,
990		    output = [],
991		    /** `inputLength` will hold the number of code points in `input`. */
992		    inputLength,
993		    /** Cached calculation results */
994		    handledCPCountPlusOne,
995		    baseMinusT,
996		    qMinusT;
997
998		// Convert the input in UCS-2 to Unicode
999		input = ucs2decode(input);
1000
1001		// Cache the length
1002		inputLength = input.length;
1003
1004		// Initialize the state
1005		n = initialN;
1006		delta = 0;
1007		bias = initialBias;
1008
1009		// Handle the basic code points
1010		for (j = 0; j < inputLength; ++j) {
1011			currentValue = input[j];
1012			if (currentValue < 0x80) {
1013				output.push(stringFromCharCode(currentValue));
1014			}
1015		}
1016
1017		handledCPCount = basicLength = output.length;
1018
1019		// `handledCPCount` is the number of code points that have been handled;
1020		// `basicLength` is the number of basic code points.
1021
1022		// Finish the basic string - if it is not empty - with a delimiter
1023		if (basicLength) {
1024			output.push(delimiter);
1025		}
1026
1027		// Main encoding loop:
1028		while (handledCPCount < inputLength) {
1029
1030			// All non-basic code points < n have been handled already. Find the next
1031			// larger one:
1032			for (m = maxInt, j = 0; j < inputLength; ++j) {
1033				currentValue = input[j];
1034				if (currentValue >= n && currentValue < m) {
1035					m = currentValue;
1036				}
1037			}
1038
1039			// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,
1040			// but guard against overflow
1041			handledCPCountPlusOne = handledCPCount + 1;
1042			if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
1043				error('overflow');
1044			}
1045
1046			delta += (m - n) * handledCPCountPlusOne;
1047			n = m;
1048
1049			for (j = 0; j < inputLength; ++j) {
1050				currentValue = input[j];
1051
1052				if (currentValue < n && ++delta > maxInt) {
1053					error('overflow');
1054				}
1055
1056				if (currentValue == n) {
1057					// Represent delta as a generalized variable-length integer
1058					for (q = delta, k = base; /* no condition */; k += base) {
1059						t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
1060						if (q < t) {
1061							break;
1062						}
1063						qMinusT = q - t;
1064						baseMinusT = base - t;
1065						output.push(
1066							stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))
1067						);
1068						q = floor(qMinusT / baseMinusT);
1069					}
1070
1071					output.push(stringFromCharCode(digitToBasic(q, 0)));
1072					bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
1073					delta = 0;
1074					++handledCPCount;
1075				}
1076			}
1077
1078			++delta;
1079			++n;
1080
1081		}
1082		return output.join('');
1083	}
1084
1085	/**
1086	 * Converts a Punycode string representing a domain name or an email address
1087	 * to Unicode. Only the Punycoded parts of the input will be converted, i.e.
1088	 * it doesn't matter if you call it on a string that has already been
1089	 * converted to Unicode.
1090	 * @memberOf punycode
1091	 * @param {String} input The Punycoded domain name or email address to
1092	 * convert to Unicode.
1093	 * @returns {String} The Unicode representation of the given Punycode
1094	 * string.
1095	 */
1096	function toUnicode(input) {
1097		return mapDomain(input, function(string) {
1098			return regexPunycode.test(string)
1099				? decode(string.slice(4).toLowerCase())
1100				: string;
1101		});
1102	}
1103
1104	/**
1105	 * Converts a Unicode string representing a domain name or an email address to
1106	 * Punycode. Only the non-ASCII parts of the domain name will be converted,
1107	 * i.e. it doesn't matter if you call it with a domain that's already in
1108	 * ASCII.
1109	 * @memberOf punycode
1110	 * @param {String} input The domain name or email address to convert, as a
1111	 * Unicode string.
1112	 * @returns {String} The Punycode representation of the given domain name or
1113	 * email address.
1114	 */
1115	function toASCII(input) {
1116		return mapDomain(input, function(string) {
1117			return regexNonASCII.test(string)
1118				? 'xn--' + encode(string)
1119				: string;
1120		});
1121	}
1122
1123	/*--------------------------------------------------------------------------*/
1124
1125	/** Define the public API */
1126	punycode = {
1127		/**
1128		 * A string representing the current Punycode.js version number.
1129		 * @memberOf punycode
1130		 * @type String
1131		 */
1132		'version': '1.4.1',
1133		/**
1134		 * An object of methods to convert from JavaScript's internal character
1135		 * representation (UCS-2) to Unicode code points, and back.
1136		 * @see <https://mathiasbynens.be/notes/javascript-encoding>
1137		 * @memberOf punycode
1138		 * @type Object
1139		 */
1140		'ucs2': {
1141			'decode': ucs2decode,
1142			'encode': ucs2encode
1143		},
1144		'decode': decode,
1145		'encode': encode,
1146		'toASCII': toASCII,
1147		'toUnicode': toUnicode
1148	};
1149
1150	/** Expose `punycode` */
1151	// Some AMD build optimizers, like r.js, check for specific condition patterns
1152	// like the following:
1153	if (
1154		typeof define == 'function' &&
1155		typeof define.amd == 'object' &&
1156		define.amd
1157	) {
1158		define('punycode', function() {
1159			return punycode;
1160		});
1161	} else if (freeExports && freeModule) {
1162		if (module.exports == freeExports) {
1163			// in Node.js, io.js, or RingoJS v0.8.0+
1164			freeModule.exports = punycode;
1165		} else {
1166			// in Narwhal or RingoJS v0.7.0-
1167			for (key in punycode) {
1168				punycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);
1169			}
1170		}
1171	} else {
1172		// in Rhino or a web browser
1173		root.punycode = punycode;
1174	}
1175
1176}(this));
1177
1178function ascii_to_unicode(src) {
1179	var Pattern = /\/[0-9]{1,}/;
1180	var ss = src.match(Pattern);
1181
1182	var src2 = src.replace("http://", "").replace("https://", "").replace("www.", "");
1183	var src3 = src.replace("http://", "").replace("https://", "").replace("www.", "").replace(ss[0], "");
1184	var de = 'http://www.' + punycode.toUnicode(src3) + ss[0];
1185	return de;
1186}
1187
1188/* SNS보내기 URL복사 */
1189showPopup = function() {
1190	var IE=(document.all)?true:false;
1191	var src = $(location).attr('href');
1192	if (IE) {
1193		if(confirm("이 글의 주소를 클립보드에 복사하시겠습니까?"))
1194		window.clipboardData.setData("Text", src);
1195	} else {
1196		prompt("이 글의 주소입니다. Ctrl+C를 눌러 클립보드로 복사하세요", src);
1197	}
1198}
1199//한글도메인용
1200showPopup_han = function() {
1201	var IE=(document.all)?true:false;
1202	var src = ascii_to_unicode($(location).attr('href'));
1203	if (IE) {
1204		if(confirm("이 글의 주소를 클립보드에 복사하시겠습니까?"))
1205		window.clipboardData.setData("Text", src);
1206	} else {
1207		prompt("이 글의 주소입니다. Ctrl+C를 눌러 클립보드로 복사하세요", src);
1208	}
1209}
1210/* //SNS보내기 URL복사 */
1211
1212/* 모바일_바로가기 */
1213function mobile_shortcut(){
1214	if($('#mobile_shortcut').length < 1 ) {
1215		$('body').before('<p id="mobile_shortcut2" style="clear:both;margin:0 0 0 0"><a href="/m_g.php?out=ok" style="display:block;padding:50px 0;border-top:1px solid #e7e7e7;background:#f3f3f3;text-align:center;text-decoration:none"><span style="font-family:AppleSDGothicNeo-SemiBold;vertical-align:middle;font-size:50px;color:#0006FF;text-align:center;text-decoration:none;font-weight:bold;">모바일 버전으로 보기<img src="/img/ico_arrow.png?w=160726" style="vertical-align:middle;margin:-3px 0 0 7px;*margin-top:-1px;" alt="모바일 버전으로 이동"></span></a></p>');
1216		$('body').after('<p id="mobile_shortcut" style="clear:both;margin:10px 0 0"><a href="/m_g.php?out=ok" style="display:block;padding:50px 0;border-top:1px solid #e7e7e7;background:#f3f3f3;text-align:center;text-decoration:none"><span style="font-family:AppleSDGothicNeo-SemiBold;vertical-align:middle;font-size:50px;color:#0006FF;text-align:center;text-decoration:none;font-weight:bold;">모바일 버전으로 보기<img src="/img/ico_arrow.png?w=160726" style="vertical-align:middle;margin:-3px 0 0 7px;*margin-top:-1px;" alt="모바일 버전으로 이동"></span></a></p>');
1217	}
1218}
1219/* //모바일_바로가기 */
1220
1221/* 즐겨찾기/북마크 */
1222function bookmarksite(title,url){
1223	var browser = {
1224		chk : navigator.userAgent.toLowerCase()
1225	};
1226
1227	browser = {
1228		ie : browser.chk.indexOf('msie') != -1,
1229		ie6 : browser.chk.indexOf('msie 6') != -1,
1230		ie7 : browser.chk.indexOf('msie 7') != -1,
1231		ie8 : browser.chk.indexOf('msie 8') != -1,
1232		ie9 : browser.chk.indexOf('msie 9') != -1,
1233		ie10 : browser.chk.indexOf('msie 10') != -1,
1234		ie11 : browser.chk.indexOf('rv:11') != -1,
1235		chrome : browser.chk.indexOf('chrome') != -1,
1236		firefox : browser.chk.indexOf('firefox') != -1,
1237		safari : browser.chk.indexOf('safari') != -1,
1238		opera : browser.chk.indexOf('opr') != -1
1239	};
1240
1241	if(browser.ie || browser.ie11){
1242		window.external.AddFavorite(url, title);
1243	}else if(browser.opera || browser.firefox || browser.safari || browser.chrome){
1244		alert("Ctrl+D키를 누르시면 즐겨찾기에 추가하실 수 있습니다.");
1245	}else{
1246		alert("지원하지 않는 브라우저입니다.");
1247	}
1248}
1249/* //즐겨찾기/북마크 */
1250
1251/* 본문 사이 광고 : 시작 */
1252function tree_ad(line, style, up_down) {
1253	line = typeof line !== 'undefined' ? line : 1;
1254	style = typeof style !== 'undefined' ? style : 'float:right; width:336px; height:280px; padding: 0 0 0 10px; position: relative; z-index:999999999;';
1255	up_down = typeof up_down !== 'undefined' ? up_down : 'up';
1256	//text-align: center; width:100%; height:280px; padding: 10px 0 10px 0; position: relative; z-index:999999999;
1257	var p_i = 0;
1258	var div_i = 0;
1259	var chk = 0;
1260
1261	$("#textinput").find('p').each(function(){
1262		if($.trim(this.innerHTML) !== "&nbsp;" && this.innerHTML !== " ") {
1263			p_i++;
1264			if(p_i==line) {
1265				var index = $('#textinput p').index(this);
1266				if(up_down=='up') {
1267					$("#textinput p:eq("+index+")").before("<div id='tree_line_" + line + "' style='" + style + "'></div>");
1268				} else {
1269					$("#textinput p:eq("+index+")").after("<div id='tree_line_" + line + "' style='" + style + "'></div>");
1270				}
1271				window['tree_line_'+line] = $("#tree_line_"+line);
1272				window['tree_line_tmp_'+line] = $("#tree_line_tmp_"+line);
1273				window['tree_line_tmp_'+line].css('display','block');
1274				window['tree_line_'+line].append(window['tree_line_tmp_'+line]);
1275				chk = 1;
1276				return false;
1277			}
1278		}
1279	});
1280	
1281	if(chk==0) {
1282		$("#textinput").find('div').each(function(){
1283			if($.trim(this.innerHTML) !== "&nbsp;" && $.trim(this.innerHTML) !== "" && $(this).attr('class') !== 'thumb_box' && $(this).attr('id').indexOf('tree_line_') !== -1) {
1284				div_i++;
1285				if(div_i==line) {
1286					var index2 = $('#textinput div').index(this);
1287					if(up_down=='up') {
1288						$("#textinput div:eq("+index2+")").before("<div id='tree_line_" + line + "' style='" + style + "'></div>");
1289					} else {
1290						$("#textinput div:eq("+index2+")").after("<div id='tree_line_" + line + "' style='" + style + "'></div>");
1291					}
1292					window['tree_line_'+line] = $("#tree_line_"+line);
1293					window['tree_line_tmp_'+line] = $("#tree_line_tmp_"+line);
1294					window['tree_line_tmp_'+line].css('display','block');
1295					window['tree_line_'+line].append(window['tree_line_tmp_'+line]);
1296					return false;
1297				}
1298			}
1299		});
1300	}
1301}
1302/* 본문 사이 광고 : 끝 */
1303
1304if(typeof jQuery != 'undefined') {
1305	$(document).ready(function(){
1306		
1307		// 좋아요 
1308     
1309	  $('.btn_like').click(function(i)
1310		{
1311			
1312			 var uid = $(this).attr("data-uid");
1313			 var domain = $(this).attr("data-domain");
1314			 var title = $(this).attr("data-title");
1315			 var fdata = "d_mode=input&uid="+uid+"&domain="+domain+"&title="+title;
1316			 
1317			 $(this).attr('class','btn_like_on');
1318
1319			$.ajax({
1320				type: "POST",
1321				url: "https://tts2.inswave.net/php_bin/ins_wave_like_el.php",
1322				data: fdata,
1323				cache: false,
1324				async: false,
1325				success: function(data){
1326					if(data) {
1327						$('.like_cnt').html(data);
1328						var todayDate = new Date(); 
1329                        todayDate.setDate( todayDate.getDate() + 3600*30*365 ); 
1330                        document.cookie = "uid_"+uid+ "=" + escape(uid) + "; path=/; expires=" + todayDate.toGMTString() + ";" 
1331
1332					}  else {
1333			
1334					}
1335				}
1336             });
1337		
1338		 });
1339		 
1340		//tts
1341	  $("#tts_on").click(function(){
1342		  var a= $(this).attr('tts_url');
1343		  var b= $(this).attr('tts_uid');
1344		  var c= $(this).attr('speak');
1345		  var  s=document.getElementById("tts_on");
1346		  var data="tts_url="+a+"&tts_uid="+b;
1347				//alert(data);
1348				 $.ajax({
1349					data: data,
1350					type: 'GET',
1351					url: 'http://tts.inswave.net/tts_ins.php',
1352
1353					success:function(args){   
1354						
1355						var audio ="<audio src='"+args+"' id='myaudio'></audio>"; 
1356					
1357						if(c=="on")
1358						{	
1359												 
1360						   s.innerHTML=audio;
1361						  var vid = document.getElementById("myaudio"); 
1362							  vid.play(); 
1363						  $("#tts_on").attr("speak","off");
1364						 
1365						}else 
1366						{
1367						   var vid = document.getElementById("myaudio");  
1368							 vid.pause();
1369						   $("#tts_on").attr("speak","on");
1370												
1371						 }
1372						
1373					},   
1374					
1375					//beforeSend:showRequest,  
1376					error:function(e){  
1377						alert(e.responseText);  
1378					}  
1379				
1380				});
1381	  });
1382	  
1383	  	$('#textinput').find('img').each(function(){
1384             var src_tmp = $(this).attr("src");
1385		     $(this).addClass("img_zoom");
1386
1387		});
1388
1389	  $('.img_zoom').click(function(i)
1390		{
1391			
1392			 var img_name = $(this).attr('src');
1393			 var h =   $(this).height();
1394			 var w =   $(this).width()+80;
1395			
1396			
1397			$.blockUI(
1398			{
1399				
1400				message: '<img src="'+img_name+'" /  id="img_close"  onclick="img_pop_close()" style="cursor:pointer"></div> ',
1401				fadeIn: 700, 
1402				fadeOut: 700, 
1403				//onOverlayClick: $.unblockUI, 
1404				//blockMsgClass: 'PhotoAdd',
1405				css: { 
1406					position: 'absolute',
1407					top: ($(window).scrollTop()+70)+'px',
1408					left: (($(window).width()-w)/2)-100 + 'px', 
1409					width: w+'px' 
1410
1411
1412
1413				} 
1414			});
1415			setTimeout($.unblockUI, 50000);
1416		});
1417
1418
1419
1420
1421	  /* 모바일웹 여부 체크 후 모바일 접속이면 모바일 버전으로 보기 노출 */
1422
1423		var cmaDns = location.href.split("//");
1424		var url_tmp = "http://m."+cmaDns[1].substr(0,cmaDns[1].indexOf("/")).replace(/www./g,'');
1425		var arSplitUrl   = document.URL.split("/");
1426		
1427		$.ajax({
1428			 url: url_tmp+"/chk.php",
1429			 dataType: 'jsonp',
1430			 jsonpCallback: "myCallback",
1431			 success: function (chk) {
1432				if(chk['chk'] == "ok") {
1433					var filter = "win16|win32|win64|mac|macintosh|macintel|macosx";
1434		 
1435					if(navigator.platform){
1436						if(0 > filter.indexOf(navigator.platform.toLowerCase())){
1437							if(arSplitUrl[3]!='admin') {
1438								mobile_shortcut();
1439							}
1440						}
1441					}
1442					console.log(url_tmp+" : 사용중");
1443				} else {
1444					console.log(url_tmp+" : 미사용중");
1445				}
1446			 },
1447			 error: function () {
1448				  console.log(url_tmp+" : 미사용중");
1449			 }
1450		});
1451	/* //모바일웹 여부 체크 후 모바일 접속이면 모바일 버전으로 보기 노출 */
1452	  
1453	});
1454}
1455
1456
1457function img_pop_close(){
1458	$.unblockUI();
1459	//setTimeout($.unblockUI, 1000);
1460};
1461
1462/* 맨하단에서 스크롤시 다음 기사로 이동 */
1463//////////////////////////////////////////////
1464// scroll_next_news                         //
1465// Source : zum https://www.zum.com         //
1466// https://news.zumst.com/scripts/view.js   //
1467//////////////////////////////////////////////
1468// /newnews/ajax_nextnews.php               //
1469/*
1470sub_read_skin.html 또는 serial_read_skin.html 에 적용
1471
1472<!-- scroll next news : start -->
1473<script>
1474wheelEventEnable = true; //사용여부 true,false
1475wheelSectonEnable = false; //섹션1 true,false
1476wheelSecton2Enable = false; //섹션2 true,false
1477fadeOutN = 0; //페이지 전환효과 초 단위
1478</script>
1479<!-- scroll next news : end -->
1480
1481*/
1482
1483if(typeof jQuery != 'undefined') {
1484	
1485var lastchk = false;
1486var wheelEventEnable = false;
1487var wheelSectonEnable = false;
1488var wheelSecton2Enable = false;
1489var wheel_wdate = 'none';
1490var wheel_sc = 'none';
1491var wheel_sc2 = 'none';
1492var fadeOutN = 0;
1493
1494function urlParam(name){
1495    var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href);
1496	var results2 = window.location.href.replace($(location).attr('protocol')+"//"+$(location).attr('host')+'/','');
1497    if (results==null){
1498		if($.isNumeric(results2)) {
1499			return results2;
1500		} else {
1501			return null;
1502		}
1503    }
1504    else{
1505       return results[1] || 0;
1506    }
1507}
1508
1509function nextNews(e) {
1510	var fdata = "";
1511	$.ajax({
1512		type: "POST",
1513		url: "/newnews/ajax_nextnews.php",
1514		data: "mode=wdate&uid="+urlParam('uid'),
1515		cache: false,
1516		async: false,
1517		success: function(data){
1518			if(data.rCode==2) {
1519				if($.isNumeric(data.rWdate)) {
1520					wheel_wdate = data.rWdate;
1521					wheel_sc = data.rSection;
1522					wheel_sc2 = data.rSection2;
1523				}
1524			} else {
1525				window.console && console.log(data.rMsg);
1526			}
1527		}
1528	});
1529	
1530	if(wheelSectonEnable) {
1531		if(wheelSecton2Enable) {
1532			fdata = "mode=next&uid="+urlParam('uid')+"&wdate="+wheel_wdate+"&section="+wheel_sc+"&section2="+wheel_sc2;
1533		} else {
1534			fdata = "mode=next&uid="+urlParam('uid')+"&wdate="+wheel_wdate+"&section="+wheel_sc;
1535		}
1536	} else {
1537		fdata = "mode=next&uid="+urlParam('uid')+"&wdate="+wheel_wdate;
1538	}
1539	
1540	if(fadeOutN) {
1541		fadeOutN = (1000*fadeOutN);
1542	}
1543	
1544	$.ajax({
1545		type: "POST",
1546		url: "/newnews/ajax_nextnews.php",
1547		data: fdata,
1548		cache: false,
1549		async: false,
1550		success: function(data){
1551			if(data.rCode==2) {
1552				if($.isNumeric(data.rUid)) {
1553					if(window.location.pathname=="/serial_read.html") {
1554						$("body").fadeOut(fadeOutN, function () {
1555							location.href = $(location).attr('protocol')+"//"+$(location).attr('host')+"/serial_read.html?uid="+data.rUid;
1556						});
1557					} else {
1558						$("body").fadeOut(fadeOutN, function () {
1559							location.href = $(location).attr('protocol')+"//"+$(location).attr('host')+"/"+data.rUid;
1560						});
1561					}
1562				}
1563			} else {
1564				if(data.rMsg=="last") {
1565					lastchk = true;
1566					$("#lastmsg").fadeIn(200, function () {
1567						setTimeout(function () {
1568							$("#lastmsg").fadeOut(200);
1569						}, 3000);
1570					});
1571				} else {
1572					window.console && console.log(data.rMsg);
1573				}
1574			}
1575		}
1576	});
1577}
1578
1579var wheelEvent = {
1580    enabled: false,
1581    scrollInfo: false,
1582    nextAction: false,
1583    $parentWindow: $(window),
1584    $parentDocument: $(document),
1585
1586    init: function() {
1587		$("body").append('<div id="scrollInfo" style="display: none; width: 100%; position: fixed; bottom: 0px; height: 50px; line-height: 50px; white-space: nowrap; background: #fff; border: 1px solid #ededed; padding: 0 10px; text-align: center;"><p style="font-size: 18px; letter-spacing: -0.7px; color: #212121; color: rgba(0, 0, 0, 0.87);"><strong style="color: #1b52ed;">한번 더 스크롤</strong>하면 다음 기사로 이동합니다.</p></div><div id="lastmsg" style="display: none; width: 100%; position: fixed; bottom: 0px; height: 50px; line-height: 50px; white-space: nowrap; background: #fff; border: 1px solid #ededed; padding: 0 10px; text-align: center;"><p style="font-size: 18px; letter-spacing: -0.7px; color: #212121; color: rgba(0, 0, 0, 0.87);"><strong style="color: #1b52ed;">마지막 기사입니다.</strong></p></div>');
1588
1589        $("html, body").on('mousewheel DOMMouseScroll onmousewheel', function (e) {
1590            wheelEvent.enabled && wheelEvent.executeAction(e);
1591        });
1592
1593        this.$parentDocument.find("html, body").on('mousewheel DOMMouseScroll onmousewheel', function (e) {
1594            wheelEvent.enabled && wheelEvent.executeAction(e);
1595        });
1596
1597		this.$parentWindow.on('keydown',function(e) {
1598            if(wheelEvent.enabled && e.keyCode === 40) {
1599                wheelEvent.executeAction(e);
1600            }
1601        });
1602
1603        this.enabled = true;
1604    },
1605
1606    isLastScroll: function() {
1607		var myHeight = 0;
1608		if (typeof (window.innerHeight) == 'number') { //Chrome
1609			 myHeight = window.innerHeight;
1610		} else if (document.documentElement && document.documentElement.clientHeight) {
1611			 myHeight = document.documentElement.clientHeight;
1612		} else if (document.body && document.body.clientHeight) { //IE9
1613			 myHeight = document.body.clientHeight;
1614		}
1615			
1616		var myScrollTop = "";
1617		if (this.$parentWindow.scrollTop()) {
1618			 myScrollTop = this.$parentWindow.scrollTop();
1619		} else if (document.body && document.body.scrollTop) { //IE9
1620			 myScrollTop = document.body.scrollTop;
1621		}
1622        //return this.$parentWindow.scrollTop() + this.$parentWindow.height() >= this.$parentDocument.height();
1623		return myScrollTop + myHeight >= this.$parentDocument.height();
1624    },
1625
1626    onWheelEvent: function() {
1627        if(!this.isLastScroll()) {
1628            this.offWheelEvent();
1629            return;
1630        }
1631
1632        if(this.$parentDocument.find("#scrollInfo").is(":not(:visible)")) {
1633            this.scrollAlertAction();
1634        }
1635
1636        this.enabled = true;
1637    },
1638
1639    offWheelEvent: function() {
1640        this.enabled = false;
1641    },
1642
1643    executeAction: function(e) {
1644        var isDown = (e.originalEvent.detail > 0 || e.originalEvent.wheelDelta < 0 || e.originalEvent.deltaY > 0 || e.type === 'keydown');
1645
1646        if(isDown && this.$parentDocument.find("#scrollInfo").is(":not(:visible)")) {
1647            this.scrollAlertAction();
1648        }
1649        if(isDown && this.$parentDocument.find("#scrollInfo").is(":visible")){
1650            if(this.scrollInfo && !this.nextAction) {
1651                this.nextAction = true;
1652                nextNews(e);
1653            } else if(lastchk) {
1654				$("#lastmsg").fadeIn(200, function () {
1655					setTimeout(function () {
1656						$("#lastmsg").fadeOut(200);
1657					}, 3000);
1658				});
1659			}
1660        }
1661    },
1662
1663    scrollAlertAction: function() {
1664		if(wheelEventEnable){
1665			if(!this.scrollInfo && this.isLastScroll()) {
1666				this.$parentDocument.find("#scrollInfo").fadeIn(200, function () {
1667					wheelEvent.scrollInfo = true;
1668					setTimeout(function () {
1669						wheelEvent.$parentDocument.find("#scrollInfo").fadeOut(200);
1670						wheelEvent.scrollInfo = false;
1671					}, 3000);
1672				});
1673			}
1674		}
1675    }
1676};
1677
1678$(window).on('load', function() {
1679    wheelEvent.init();
1680
1681    $(parent.window).scroll(function() {
1682        wheelEvent.onWheelEvent();
1683    });
1684});
1685}
1686/* //맨하단에서 스크롤시 다음 기사로 이동 */
1687
1688/* 본문에 유튜브, 네이버 iframe 영상이 있을 경우 iframe에 y_n_video_iframe 클래스 추가-시작 */
1689if(typeof jQuery != 'undefined') {
1690	$(document).ready(function(){
1691		$("#textinput").find('iframe').each(function(){
1692			var if_src = $(this).attr('src');
1693			if(if_src.indexOf('youtube') != -1 || if_src.indexOf('naver') != -1) {
1694				$(this).addClass("y_n_video_iframe");
1695			}
1696		});
1697	});
1698}
1699/* 본문에 유튜브, 네이버 iframe 영상이 있을 경우 iframe에 y_n_video_iframe 클래스 추가-끝 */
1700
1701/* 구글 번역기 : 시작 */
1702//<script>googleTranslateE('ko,en,ja,zh-CN,de,fr');</script> 노출시킬 국가 ,구분으로 입력 노출 시킬 위치에 해당 소스 추가
1703function lang_kr(lang) {
1704	var $lang_txt = '';
1705	switch(lang) {
1706		case "gl": $lang_txt = "갈리시아어"; break;
1707		case "gu": $lang_txt = "구자라트어"; break;
1708		case "el": $lang_txt = "그리스어"; break;
1709		case "nl": $lang_txt = "네덜란드어"; break;
1710		case "ne": $lang_txt = "네팔어"; break;
1711		case "no": $lang_txt = "노르웨이어"; break;
1712		case "da": $lang_txt = "덴마크어"; break;
1713		case "de": $lang_txt = "독일어"; break;
1714		case "lo": $lang_txt = "라오어"; break;
1715		case "lv": $lang_txt = "라트비아어"; break;
1716		case "la": $lang_txt = "라틴어"; break;
1717		case "ru": $lang_txt = "러시아어"; break;
1718		case "ro": $lang_txt = "루마니아어"; break;
1719		case "lb": $lang_txt = "룩셈부르크어"; break;
1720		case "lt": $lang_txt = "리투아니아어"; break;
1721		case "mr": $lang_txt = "마라티어"; break;
1722		case "mi": $lang_txt = "마오리어"; break;
1723		case "mk": $lang_txt = "마케도니아어"; break;
1724		case "mg": $lang_txt = "말라가시어"; break;
1725		case "ml": $lang_txt = "말라얄람어"; break;
1726		case "ms": $lang_txt = "말레이어"; break;
1727		case "mt": $lang_txt = "몰타어"; break;
1728		case "mn": $lang_txt = "몽골어"; break;
1729		case "hmn": $lang_txt = "몽어"; break;
1730		case "my": $lang_txt = "미얀마어 (버마어)"; break;
1731		case "eu": $lang_txt = "바스크어"; break;
1732		case "vi": $lang_txt = "베트남어"; break;
1733		case "be": $lang_txt = "벨라루스어"; break;
1734		case "bn": $lang_txt = "벵골어"; break;
1735		case "bs": $lang_txt = "보스니아어"; break;
1736		case "bg": $lang_txt = "불가리아어"; break;
1737		case "sm": $lang_txt = "사모아어"; break;
1738		case "sr": $lang_txt = "세르비아어"; break;
1739		case "ceb": $lang_txt = "세부아노"; break;
1740		case "st": $lang_txt = "세소토어"; break;
1741		case "so": $lang_txt = "소말리아어"; break;
1742		case "sn": $lang_txt = "쇼나어"; break;
1743		case "su": $lang_txt = "순다어"; break;
1744		case "sw": $lang_txt = "스와힐리어"; break;
1745		case "sv": $lang_txt = "스웨덴어"; break;
1746		case "gd": $lang_txt = "스코틀랜드 게일어"; break;
1747		case "es": $lang_txt = "스페인어"; break;
1748		case "sk": $lang_txt = "슬로바키아어"; break;
1749		case "sl": $lang_txt = "슬로베니아어"; break;
1750		case "sd": $lang_txt = "신디어"; break;
1751		case "si": $lang_txt = "신할라어"; break;
1752		case "ar": $lang_txt = "아랍어"; break;
1753		case "hy": $lang_txt = "아르메니아어"; break;
1754		case "is": $lang_txt = "아이슬란드어"; break;
1755		case "ht": $lang_txt = "아이티 크리올어"; break;
1756		case "ga": $lang_txt = "아일랜드어"; break;
1757		case "az": $lang_txt = "아제르바이잔어"; break;
1758		case "af": $lang_txt = "아프리칸스어"; break;
1759		case "sq": $lang_txt = "알바니아어"; break;
1760		case "am": $lang_txt = "암하라어"; break;
1761		case "et": $lang_txt = "에스토니아어"; break;
1762		case "eo": $lang_txt = "에스페란토어"; break;
1763		case "en": $lang_txt = "영어"; break;
1764		case "or": $lang_txt = "오리야어"; break;
1765		case "yo": $lang_txt = "요루바어"; break;
1766		case "ur": $lang_txt = "우르두어"; break;
1767		case "uz": $lang_txt = "우즈베크어"; break;
1768		case "uk": $lang_txt = "우크라이나어"; break;
1769		case "cy": $lang_txt = "웨일즈어"; break;
1770		case "ug": $lang_txt = "위구르어"; break;
1771		case "ig": $lang_txt = "이그보어"; break;
1772		case "yi": $lang_txt = "이디시어"; break;
1773		case "it": $lang_txt = "이탈리아어"; break;
1774		case "id": $lang_txt = "인도네시아어"; break;
1775		case "ja": $lang_txt = "일본어"; break;
1776		case "jw": $lang_txt = "자바어"; break;
1777		case "ka": $lang_txt = "조지아어"; break;
1778		case "zu": $lang_txt = "줄루어"; break;
1779		case "zh-CN": $lang_txt = "중국어(간체)"; break;
1780		case "ny": $lang_txt = "체와어"; break;
1781		case "cs": $lang_txt = "체코어"; break;
1782		case "kk": $lang_txt = "카자흐어"; break;
1783		case "ca": $lang_txt = "카탈로니아어"; break;
1784		case "kn": $lang_txt = "칸나다어"; break;
1785		case "co": $lang_txt = "코르시카어"; break;
1786		case "xh": $lang_txt = "코사어"; break;
1787		case "ku": $lang_txt = "쿠르드어"; break;
1788		case "hr": $lang_txt = "크로아티아어"; break;
1789		case "km": $lang_txt = "크메르어"; break;
1790		case "rw": $lang_txt = "키냐르완다어"; break;
1791		case "ky": $lang_txt = "키르기스어"; break;
1792		case "tl": $lang_txt = "타갈로그어"; break;
1793		case "ta": $lang_txt = "타밀어"; break;
1794		case "tg": $lang_txt = "타지크어"; break;
1795		case "tt": $lang_txt = "타타르어"; break;
1796		case "th": $lang_txt = "태국어"; break;
1797		case "tr": $lang_txt = "터키어"; break;
1798		case "te": $lang_txt = "텔루구어"; break;
1799		case "tk": $lang_txt = "투르크멘어"; break;
1800		case "ps": $lang_txt = "파슈토어"; break;
1801		case "pa": $lang_txt = "펀자브어"; break;
1802		case "fa": $lang_txt = "페르시아어"; break;
1803		case "pt": $lang_txt = "포르투갈어"; break;
1804		case "pl": $lang_txt = "폴란드어"; break;
1805		case "fr": $lang_txt = "프랑스어"; break;
1806		case "fy": $lang_txt = "프리지아어"; break;
1807		case "fi": $lang_txt = "핀란드어"; break;
1808		case "haw": $lang_txt = "하와이어"; break;
1809		case "ha": $lang_txt = "하우사어"; break;
1810		case "hu": $lang_txt = "헝가리어"; break;
1811		case "iw": $lang_txt = "히브리어"; break;
1812		case "hi": $lang_txt = "힌디어"; break;
1813		case "ko": $lang_txt = "한국어"; break;
1814		default: $lang_txt = "한국어"; break;
1815	};
1816	return $lang_txt;
1817}
1818
1819function googleTranslateE(lang) {
1820	lang = typeof lang !== 'undefined' ? lang : 'ko,en,ja,zh-CN,de,fr';
1821	var lang_a = new Array("ko","en","ja","zh-CN","de","fr");
1822	var strArray=lang.split(',');
1823	
1824	var jqueryElement = document.createElement('script');
1825        jqueryElement.src = '//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit';
1826	function googleTranslateE_callback() {}
1827	if(jqueryElement.addEventListener) {
1828		jqueryElement.addEventListener("load",googleTranslateE_callback,false);
1829	} else if(jqueryElement.readyState) {
1830		jqueryElement.onreadystatechange = googleTranslateE_callback;
1831	}		
1832
1833	document.getElementsByTagName('head')[0].appendChild(jqueryElement);
1834	
1835	var styletag = "<style>";
1836		styletag += ".googleTranslate_i {margin: 0 0 0 7px;}";
1837		styletag += ".googleTranslate_i > a > span {background:url('/img/trans-icon.png') no-repeat}";
1838		styletag += ".googleTranslate_i > a.en > span {display: inline-block;width: 24px;height: 24px;vertical-align: middle;margin: 0 5px 0 0;background-position:0 0}";
1839		styletag += ".googleTranslate_i > a.ja > span {display: inline-block;width: 24px;height: 24px;vertical-align: middle;margin: 0 5px 0 0;background-position:-46px 0}";
1840		styletag += ".googleTranslate_i > a.zh-CN > span {display: inline-block;width: 24px;height: 24px;vertical-align: middle;margin: 0 5px 0 0;background-position:-92px 0}";
1841		styletag += ".googleTranslate_i > a.de > span {display: inline-block;width: 24px;height: 24px;vertical-align: middle;margin: 0 5px 0 0;background-position:-138px 0}";
1842		styletag += ".googleTranslate_i > a.fr > span {display: inline-block;width: 24px;height: 24px;vertical-align: middle;margin: 0 5px 0 0;background-position:-184px 0}";
1843		styletag += ".googleTranslate_i > a.ko > span {display: inline-block;width: 24px;height: 24px;vertical-align: middle;margin: 0 5px 0 0;background-position:-230px 0}";
1844		styletag += ".googleTranslate_i > a.es > span {display: inline-block;width: 24px;height: 24px;vertical-align: middle;margin: 0 5px 0 0;background-position:-276px 0}";
1845		styletag += "#google_translate_element,.goog-te-banner-frame, .skiptranslate {display: none!important;}";
1846		styletag += "body{top:0px!important;}";
1847		styletag += "</style>";
1848	$('head').append(styletag);
1849	
1850	$('body').append("<div id='google_translate_element' style='display: none!important;'></div>");
1851	
1852	/*var googleTrans = {
1853		evtPageInit:function(){
1854			var langs = $('.goog-te-menu-frame:first').contents().find('.goog-te-menu2 a');
1855			langs.each(function(){
1856			var txtHtml = $(this).find('span.text').html();
1857			if (txtHtml == "한국어") {
1858				langs.eq($(this).index()).find('span.text').click();
1859			}
1860			});
1861		}
1862	}
1863	googleTrans.evtPageInit();*/
1864		
1865	var viewtag = "<span class='googleTranslate_i'>";
1866	for (var i in strArray)
1867	{
1868		var l = $.trim(strArray[i]);
1869		//if(lang_a.indexOf(l) >= 0)  {
1870			viewtag += "<a href='javascript:;' data-lang='"+l+"' class='"+l+"' title='"+lang_kr(l)+"'><span></span></a>";
1871		//}
1872	}
1873	/*	viewtag += "<a href='javascript:;' data-lang='ko' class='ko'><span></span></a>";
1874		viewtag += "<a href='javascript:;' data-lang='en' class='en'><span></span></a>";
1875		viewtag += "<a href='javascript:;' data-lang='ja' class='ja'><span></span></a>";
1876		viewtag += "<a href='javascript:;' data-lang='zh-CN' class='cn'><span></span></a>";
1877		viewtag += "<a href='javascript:;' data-lang='de' class='de'><span></span></a>";
1878		viewtag += "<a href='javascript:;' data-lang='fr' class='fr'><span></span></a>";*/
1879		viewtag += "</span>";
1880	return document.write(viewtag);
1881}
1882
1883function googleTranslateElementInit() {//, layout: google.translate.TranslateElement.InlineLayout.SIMPLE
1884    new google.translate.TranslateElement({pageLanguage: 'ko', includedLanguages: 'ko,gl,gu,el,nl,ne,no,da,de,lo,lv,la,ru,ro,lb,lt,mr,mi,mk,mg,ml,ms,mt,mn,hmn,my,eu,vi,be,bn,bs,bg,sm,sr,ceb,st,so,sn,su,sw,sv,gd,es,sk,sl,sd,si,ar,hy,is,ht,ga,az,af,sq,am,et,eo,en,or,yo,ur,uz,uk,cy,ug,ig,yi,it,id,ja,jw,ka,zu,zh-CN,ny,cs,kk,ca,kn,co,xh,ku,hr,km,rw,ky,tl,ta,tg,tt,th,tr,te,tk,ps,pa,fa,pt,pl,fr,fy,fi,haw,ha,hu,iw,hi', autoDisplay: false, multilanguagePage: false}, 'google_translate_element');
1885}
1886
1887if(typeof jQuery != 'undefined') {
1888	$(document).ready(function() {
1889		/*$('.googleTranslate_i a').click(function(e) {
1890			e.preventDefault();
1891			var $frame = $('.goog-te-menu-frame:first');
1892			if (!$frame.size()) {
1893				alert("Error: Could not find Google translate frame.");
1894				return false;
1895			}
1896
1897			var langs = $('.goog-te-menu-frame:first').contents().find('.goog-te-menu2 a');
1898			var $lang = $(this).data('lang'),
1899			
1900			$lang_txt = lang_kr($lang);
1901			
1902			langs.each(function(){
1903				var txtHtml = $(this).find('span.text').html();
1904				if (txtHtml == $lang_txt) {
1905					//langs.eq($(this).index()).find('span.text').click();
1906					$(this).find('span.text').click();
1907				}
1908			});
1909			return;
1910		});*/
1911		$('.googleTranslate_i a').click(function(e) {
1912			e.preventDefault();
1913			var gtcombo = document.querySelector('.goog-te-combo');
1914			var $lang = $(this).data('lang'),
1915			
1916			$lang_txt = lang_kr($lang);
1917			
1918			if (gtcombo == null) {
1919				alert("Error: Could not find Google translate Combolist.");
1920				return false;
1921			}
1922			gtcombo.value = $lang;
1923			gtcombo.dispatchEvent(new Event('change'));
1924			return;
1925		});
1926	});
1927}
1928/* 구글 번역기 : 끝 */

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.