PageSourceSearch

https://www.kjc.or.kr/include/js/global_common.js

js kjc.or.kr collected 2026-10-08 16:30:57 UTC 33,979 bytes, 1,071 lines download raw bytes

1
2	var CreateDummy = function(){
3		var DummyVal;
4		now = new Date();
5		DummyVal = now.getFullYear().toString()+now.getMonth().toString()+now.getDay().toString()+now.getHours().toString()+now.getMinutes().toString()+now.getSeconds().toString()+now.getMilliseconds().toString();
6		return DummyVal;
7	}
8
9	function Right(Original_String, Split_Length){
10		if (Split_Length <= 0){
11			return "";
12		}else if (Split_Length > String(Original_String).length){
13			return Original_String;
14		}else {
15			var iLen = String(Original_String).length;
16			return String(Original_String).substring(iLen, iLen - Split_Length);
17		}
18	}
19
20	function Left(Original_String, Split_Length){
21		if (Split_Length <= 0){
22			return "";
23		}else if (Split_Length > String(Original_String).length){
24			return Original_String;
25		}else {
26			return String(Original_String).substring(0, Split_Length);
27		}
28	}
29
30	/* input text 빈칸 확인
31	   사용방법 : if(input_value_null_chk("INPUT_ID", "출력될메시지") == false){return;}
32	   메시지 출력 화면 : [입력한메시지] 를(을) 입력하세요!
33	   mTrim 공백제거 함수 */
34
35	//String.prototype.trim = function(str) {
36		//str = this != window ? this : str;
37		//return str.replace(/^\s+/g,'').replace(/\s+$/g,'');
38	//}
39
40	function mTrim(txt){
41		return txt.replace(/(^\s*)|(\s*$)g/,"");
42	}
43
44	function input_value_null_chk(chk_obj, chk_obj_info){
45		var chk_obj = document.getElementById(chk_obj);
46		if(!mTrim(chk_obj.value)){
47			alert(chk_obj_info + " 를(을) 입력하세요.");
48			chk_obj.focus();
49			return false;
50		}else{
51			return true;
52		}
53	}
54
55	/* input radio 빈칸 확인
56	   사용방법 : if(input_radio_value_null_chk("INPUT_NAME", "출력될메시지") == false){return;}
57	   메시지 출력 화면 : [입력한메시지] 를(을) 입력하세요. */
58	function input_radio_value_null_chk(chk_radio_obj, chk_radio_obj_info){
59		var chk_obj = document.getElementsByName(chk_radio_obj);
60		var radio_chk_set = false;
61		for(var chk_i = 0; chk_i < chk_obj.length; chk_i++){
62			if(chk_obj[chk_i].checked){radio_chk_set = true;}
63		}
64		if (radio_chk_set == false){
65			alert(chk_radio_obj_info + " 를(을) 선택하세요.");
66			chk_obj[0].focus();
67			return false;
68		}else{
69			return true;
70		}
71	}
72
73	/* input radio 선택 value 확인
74	   사용방법 : get_input_radio_value("INPUT_RADIO_NAME")
75	   선택한 radio value 값 반환, 선택된거 없을시 "null" 반환 */
76	function get_input_radio_value(chk_radio_obj){
77		var chk_obj = document.getElementsByName(chk_radio_obj);
78		for(var chk_i = 0; chk_i < chk_obj.length; chk_i++){
79			if(chk_obj[chk_i].checked){
80				radio_chk_set = true;
81				return chk_obj[chk_i].value;
82			}
83		}
84		return "null";
85	}
86
87	/* input radio 체크 전체 해제
88	   사용방법 : get_input_radio_value("INPUT_RADIO_NAME")
89	   선택한 radio 체크를 모두 해제 */
90	function All_Radio_Un_Check(chk_radio_obj){
91		var chk_obj = document.getElementsByName(chk_radio_obj);
92		for(var chk_i = 0; chk_i < chk_obj.length; chk_i++){
93			if(chk_obj[chk_i].checked){
94				chk_obj[chk_i].checked = false;
95			}
96		}
97	}
98
99	/* input checkbox 하나도 선택 안되어 있는지 확인
100	   사용방법 : if(check_box_select("INPUT_NAME", "출력될메시지") == false){return;} */
101	function check_box_select(checkbox_name, alert_str){
102		var chk_obj = document.getElementsByName(checkbox_name);
103		var checkbox_chk_set = false;
104		for(var chk_i = 0; chk_i < chk_obj.length; chk_i++){
105			if(chk_obj[chk_i].checked){checkbox_chk_set = true;}
106		}
107		if (checkbox_chk_set == false){
108			alert(alert_str + " 를(을) 선택하세요.");
109			chk_obj[0].focus();
110			return false;
111		}else{
112			return true;
113		}
114	}
115
116	/* ID 값 찾아서 반환 */
117	function GetById(element_id){
118		return document.getElementById(element_id);
119	}
120
121	/* 입력한 숫자값의 최대치 설정
122	   사용방법 : if(input_value_limit_chk("INPUT_ID", "출력될메시지", 최대값(숫자형)) == false){return;} */
123	function input_value_limit_chk(input_id, input_name, input_limit){
124		var chk_input_name = input_name;
125		var chk_input_id = input_id;
126		var chk_input_limit = input_limit;
127		var chk_input_obj = document.getElementById(chk_input_id);
128		var chk_input_val = chk_input_obj.value;
129		var reg_num = /^\d+(\.?\d{1,6})?$/;
130		if (chk_input_val != ""){
131			if(reg_num.test(chk_input_val)){
132				if (parseFloat(chk_input_val) > parseFloat(chk_input_limit)){
133					alert(chk_input_name + " 은(는) 최대 " + chk_input_limit + " 까지입니다.");
134					chk_input_obj.focus();
135					return false;
136				}
137			}else{
138				alert("숫자만 입력할수 있습니다.\n\n소수점은 6자리까지만 입력할수 있습니다.");
139				chk_input_obj.focus();
140				return false;
141			}
142		}
143	}
144
145	/* textarea 글자수 제한
146	   textarea 속성에 maxlength 값을 지정해 줘야 함
147	   사용방법 : onblur="TArea_Limit(this);"
148				  포커스 잃는 순간 maxlength 값만큼 잘림 */
149	function TArea_Limit(textarea_obj){
150		var maxLength = parseInt(textarea_obj.getAttribute("maxlength"));
151
152		if(textarea_obj.value.length > maxLength){
153			textarea_obj.value = textarea_obj.value.substring(0,maxLength);
154		}
155	}
156
157	/* 이메일 확인
158	   사용방법 : if(email_chk_reg("Input_ID") == false){return;} */
159	function email_chk_reg(chk_email_id){
160		var chk_email = document.getElementById(chk_email_id)
161		var reg_email=/^[-A-Za-z0-9_]+[-A-Za-z0-9_.]*[@]{1}[-A-Za-z0-9_]+[-A-Za-z0-9_.]*[.]{1}[A-Za-z]{2,5}$/;
162		if(chk_email.value.match(reg_email) != null){
163			return true;
164		}else{
165			alert("E-mail을 바르게 입력하세요.");
166			chk_email.focus();
167			return false;
168		}
169	}
170
171	/* 이메일 확인2
172	   사용방법 : if(email_chk_reg_2("Input_ID", "Input_ID2") == false){return;} */
173	function email_chk_reg_2(chk_email_id, chk_email_id_2){
174		var chk_email = document.getElementById(chk_email_id).value + "@" + document.getElementById(chk_email_id_2).value
175		var reg_email=/^[-A-Za-z0-9_]+[-A-Za-z0-9_.]*[@]{1}[-A-Za-z0-9_]+[-A-Za-z0-9_.]*[.]{1}[A-Za-z]{2,5}$/;
176		if(reg_email.test(chk_email)){
177			return true;
178		}else{
179			alert("E-mail을 바르게 입력하세요.");
180			document.getElementById(chk_email_id).focus();
181			return false;
182		}
183	}
184
185	/* 전화번호 확인
186	   사용방법 : if(phone_num_chk_reg("Input_ID", "Input_ID", "Input_ID") == false){return;} */
187	function phone_num_chk_reg(phone_chk_1_id, phone_chk_2_id, phone_chk_3_id){
188		var phone_chk_num1 = document.getElementById(phone_chk_1_id);
189		var phone_chk_num2 = document.getElementById(phone_chk_2_id);
190		var phone_chk_num3 = document.getElementById(phone_chk_3_id);
191		var reg_phone = /^0\d{1,2}-\d{3,4}-\d{4}$/;
192		if(reg_phone.test(phone_chk_num1.value + "-" + phone_chk_num2.value + "-" + phone_chk_num3.value)){
193			return true;
194		}else{
195			alert("전화번호를 바르게 입력하세요.");
196			phone_chk_num1.focus();
197			return false;
198		}
199	}
200
201	/* 전화번호 확인2
202	   사용방법 : if(phone_num_chk_reg2("Input_ID") == false){return;} */
203	function phone_num_chk_reg2(phone_chk_1_id){
204		var phone_chk_num1 = document.getElementById(phone_chk_1_id);
205		var reg_phone = /^0\d{1,2}-\d{3,4}-\d{4}$/;
206		if(reg_phone.test(phone_chk_num1.value)){
207			return true;
208		}else{
209			alert("전화번호를 바르게 입력하세요.");
210			phone_chk_num1.focus();
211			return false;
212		}
213	}
214
215	/* FAX번호 확인
216	   사용방법 : if(fax_num_chk_reg("Input_ID", "Input_ID", "Input_ID") == false){return;} */
217	function fax_num_chk_reg(fax_chk_1_id, fax_chk_2_id, fax_chk_3_id){
218		var fax_chk_num1 = document.getElementById(fax_chk_1_id);
219		var fax_chk_num2 = document.getElementById(fax_chk_2_id);
220		var fax_chk_num3 = document.getElementById(fax_chk_3_id);
221		var reg_fax = /^0\d{1,2}-\d{3,4}-\d{4}$/;
222		if(reg_fax.test(fax_chk_num1.value + "-" + fax_chk_num2.value + "-" + fax_chk_num3.value)){
223			return true;
224		}else{
225			alert("FAX번호를 바르게 입력하세요.");
226			fax_chk_num1.focus();
227			return false;
228		}
229	}
230
231	/* FAX번호 확인2
232	   사용방법 : if(fax_num_chk_reg("Input_ID", "Input_ID", "Input_ID") == false){return;} */
233	function fax_num_chk_reg2(fax_chk_1_id){
234		var fax_chk_num1 = document.getElementById(fax_chk_1_id);
235		var reg_fax = /^0\d{1,2}-\d{3,4}-\d{4}$/;
236		if(reg_fax.test(fax_chk_num1.value)){
237			return true;
238		}else{
239			alert("FAX번호를 바르게 입력하세요.");
240			fax_chk_num1.focus();
241			return false;
242		}
243	}
244
245	/* 핸드폰번호 확인
246	   사용방법 : if(hp_num_chk_reg("Input_ID", "Input_ID", "Input_ID") == false){return;} */
247	function hp_num_chk_reg(hp_chk_1_id, hp_chk_2_id, hp_chk_3_id){
248		var hp_chk_num1 = document.getElementById(hp_chk_1_id);
249		var hp_chk_num2 = document.getElementById(hp_chk_2_id);
250		var hp_chk_num3 = document.getElementById(hp_chk_3_id);
251		var reg_hp = /^01[016789]-\d{3,4}-\d{4}$/;
252		if(reg_hp.test(hp_chk_num1.value + "-" + hp_chk_num2.value + "-" + hp_chk_num3.value)){
253			return true;
254		}else{
255			alert("핸드폰번호를 바르게 입력하세요.");
256			hp_chk_num1.focus();
257			return false;
258		}
259	}
260
261	/* 핸드폰번호 확인2
262	   사용방법 : if(hp_num_chk_reg2("Input_ID") == false){return;} */
263	function hp_num_chk_reg2(hp_chk_1_id){
264		var hp_chk_num1 = document.getElementById(hp_chk_1_id);
265		var reg_hp = /^01[016789]-\d{3,4}-\d{4}$/;
266		if(reg_hp.test(hp_chk_num1.value)){
267			return true;
268		}else{
269			alert("핸드폰번호를 바르게 입력하세요.");
270			hp_chk_num1.focus();
271			return false;
272		}
273	}
274
275	/* 숫자 입력 확인 [ 정수, 소수 만 입력 ]
276	   사용방법 : if(input_value_number_chk_reg("Input_ID") == false){return;} */
277	function input_value_number_chk_reg(chk_value_number_id){
278		var chk_value = document.getElementById(chk_value_number_id);
279		if(chk_value.value == ""){return true;}
280		var reg_num = /^\d+(\.?\d+)?$/;
281		if(reg_num.test(chk_value.value)){
282			return true;
283		}else{
284			alert("숫자만 입력할수 있습니다.");
285			chk_value.focus();
286			return false;
287		}
288	}
289
290	/* 파일 확장자 확인
291	   사용방법 :  act_flag = 1:그림 , 2:문서, 3:그림+문서, 4:엑셀파일
292					 버튼 눌렀을때 사용 : if(file_ext_chk_reg('Input_ID', 'act_flag') == false){return;}
293					 파일 불러올때 사용 : onchange="file_ext_chk_reg('Input_ID', 'act_flag');" */
294	function file_ext_chk_reg(file_ext_obj_id, act_flag){
295		var ext_chk_obj = document.getElementById(file_ext_obj_id);
296		var ext_chk_reg;
297		var ext_chk_txt;
298		if(act_flag == "1"){
299			ext_chk_reg = /\.(jpg|gif|png)$/;
300			ext_chk_txt = "jpg, gif, png";
301		}else if(act_flag == "2"){
302			ext_chk_reg = /\.(doc|docx|xls|xlsx|hwp|pdf|ppt|pptx|pps|ppsx)$/;
303			ext_chk_txt = "doc, docx, xls, xlsx, hwp, pdf, ppt, pptx, pps, ppsx";
304		}else if(act_flag == "3"){
305			ext_chk_reg = /\.(jpg|gif|png|doc|docx|xls|xlsx|hwp|pdf|ppt|pptx|pps|ppsx|zip)$/;
306			ext_chk_txt = "jpg, gif, png, doc, docx, xls, xlsx, hwp, pdf, ppt, pptx, pps, ppsx, zip";
307		}else if(act_flag == "4"){
308			ext_chk_reg = /\.(xls|xlsx)$/;
309			ext_chk_txt = "xls, xlsx";
310		}else if(act_flag == "5"){
311			ext_chk_reg = /\.(xls)$/;
312			ext_chk_txt = "xls";
313		}else if(act_flag == "6"){
314			ext_chk_reg = /\.(xlsm)$/;
315			ext_chk_txt = "xlsm";
316		}else{
317			alert("정상적인 Flag값을 입력하세요");
318			return false;
319		}
320		if(ext_chk_reg.test(ext_chk_obj.value.toLowerCase())){
321			//file_explan_check(file_ext_obj_id);
322			return true;
323		}else{
324			if (ext_chk_obj.value != ""){
325				alert("사용할수 없는 확장자입니다\n\n업로드 가능 파일 형식 : \n" + ext_chk_txt);
326				ext_chk_obj.value = "";
327				ext_chk_obj.focus();
328				return false;
329			}
330		}
331	}
332
333	/* 입력 날짜 정상인지 확인
334	   사용방법 : if(isDate_Ex("2013-01-01") == false){return;} */
335	function isDate_Ex(Date_Str){
336		if (Date_Str.length > 0){
337			var arrDay = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
338			var arrValue = Date_Str.split("-");
339			if (parseInt(arrValue[0]) % 4 == 0 || parseInt(arrValue[0]) % 100 == 0 || parseInt(arrValue[0]) % 400 == 0){
340				arrDay[1] = 29;
341			}
342
343			if (parseInt(arrValue[0]) < 1900){
344				return false;
345			}else if (parseInt(arrValue[0]) > 2100){
346				return false;
347			}else{
348				if (parseInt(arrValue[1]) < 1 || parseInt(arrValue[1]) > 12){
349					return false;
350				}else if (parseInt(arrValue[2]) < 1 || parseInt(arrValue[2]) > arrDay[parseInt(arrValue[1])-1]){
351					return false;
352				}else{
353					return true;
354				}
355			}
356		}else{
357			return false;
358		}
359	}
360
361	/* 파일 다운로드 onclick="file_download(카테고리, 원본 파일 이름, 서버에 업로드 된 파일 이름);" */
362	function file_download(category_, org_file_name_, new_file_name){
363		// innerHTML은 틍으로 들고와서 그대로 집어넣기 때문에 엑션같은 것을은 사라져서 append로 태그들을 추가만 시킴
364		/*
365		if (document.getElementById("filedownload_form") == null){
366			down_html = "<form id='filedownload_form' name='filedownload_form' method='post' target='filedownload_iframe' action='/include/common/filedown.jsp'>";
367			down_html += "	<input type='hidden' id='category' name='category' value='' />";
368			down_html += "	<input type='hidden' id='org_file' name='org_file' value='' />";
369			down_html += "	<input type='hidden' id='new_file' name='new_file' value='' />";
370			down_html += "</form>";
371			down_html += "<iframe name='filedownload_iframe' id='filedownload_iframe' width='1' height='1' style='display:none;'></iframe>";
372			document.body.innerHTML += down_html;
373		}
374		document.filedownload_form.category.value = category_;
375		document.filedownload_form.org_file.value = org_file_name_;
376		document.filedownload_form.new_file.value = new_file_name;
377		document.filedownload_form.submit();
378		*/
379		if ($("#filedownload_form").size() == 0){
380			$("body").append(
381				$(document.createElement("form")).attr({
382					"name" : "filedownload_form",
383					"id" : "filedownload_form",
384					"target" : "filedownload_iframe",
385					"method" : "post",
386					"action" : "/include/common/filedown.jsp"
387				}).append($(document.createElement("input")).attr({
388					"type" : "hidden",
389					"name" : "category",
390					"id" : "filedownload_form_category",
391				})).append($(document.createElement("input")).attr({
392					"type" : "hidden",
393					"name" : "org_file",
394					"id" : "filedownload_form_org_file",
395				})).append($(document.createElement("input")).attr({
396					"type" : "hidden",
397					"name" : "new_file",
398					"id" : "filedownload_form_new_file",
399				}))
400			).append($(document.createElement("iframe")).attr({
401					"name" : "filedownload_iframe",
402					"id" : "filedownload_iframe"
403				}).css({
404					"display" : "none",
405					"width" : "0px",
406					"height" : "0px"
407				})
408			);
409		}
410		$("#filedownload_form_category").val(category_);
411		$("#filedownload_form_org_file").val(org_file_name_);
412		$("#filedownload_form_new_file").val(new_file_name);
413		$("#filedownload_form").submit();
414
415	}
416
417	function global_loading_progress(loading_type){
418		if (loading_type){
419			$("#loading_progress").css("display", "inline-block");
420		}else{
421			$("#loading_progress").css("display", "none");
422		}
423	}
424	
425	function file_ext_chk_reg_tech(file_obj,file_ext_obj_id, act_flag){
426		var ext_chk_obj = document.getElementById(file_ext_obj_id);
427		var ext_chk_reg;
428		var ext_chk_txt;
429		var fileLimitSize = 10;
430		if(act_flag == "1"){
431			ext_chk_reg = /\.(xlsx)$/;
432			ext_chk_txt = "xlsx";
433		}else if(act_flag == "2"){
434			ext_chk_reg = /\.(doc|docx|xls|xlsx|hwp|pdf|ppt|pptx|pps|ppsx)$/;
435			ext_chk_txt = "doc, docx, xls, xlsx, hwp, pdf, ppt, pptx, pps, ppsx";
436		}else if(act_flag == "3"){
437			ext_chk_reg = /\.(jpg|gif|png|doc|docx|xls|xlsx|hwp|pdf|ppt|pptx|pps|ppsx|zip)$/;
438			ext_chk_txt = "jpg, gif, png, doc, docx, xls, xlsx, hwp, pdf, ppt, pptx, pps, ppsx, zip";
439		}else if(act_flag == "4"){
440			fileLimitSize = 100;
441			ext_chk_reg = /\.(zip)$/;
442			ext_chk_txt = "zip";
443		}else{
444			alert("정상적인 Flag값을 입력하세요");
445			return false;
446		}
447		if(ext_chk_reg.test(ext_chk_obj.value.toLowerCase())){
448			var fileTarget = $(file_obj);
449
450			var limitSize = 1024 * 1024 * fileLimitSize;
451			var fileSize = '';
452			var filename ='';
453			
454			if (window.FileReader) {
455				var fileSize =  $(file_obj)[0].files[0].size;
456				if(fileSize > limitSize){
457					alert('File Size '+fileLimitSize+' Max');
458					$(file_obj).val('');
459					$(file_obj).siblings('.upload-name').val('파일선택');
460					return false;
461				}
462				 filename = $(file_obj)[0].files[0].name;
463			} else {
464				filename = $(file_obj).val().split('/').pop().split('\\').pop();
465			}
466							
467			$(file_obj).siblings('.upload-name').val(filename);
468			
469		}else{
470			if (ext_chk_obj.value != ""){
471				alert("사용할수 없는 확장자입니다\n\n업로드 가능 파일 형식 : \n" + ext_chk_txt);
472				$(file_obj).focus();
473				$(file_obj).val('');
474				$(file_obj).siblings('.upload-name').val('파일선택');
475				return false;
476			}
477		}	
478	}
479	
480	(function($) {
481	    $.fn.hasVerticalScrollBar = function() {
482	        return this.get(0) ? this.get(0).scrollHeight > this.innerHeight() : false;
483	    }
484	})(jQuery);
485	 
486	
487function CheckStrLen(maxlen){
488	var temp; //들어오는 문자값...
489	var msglen;
490	msglen = maxlen*2;
491	var value= document.getElementById("tech_content").value;
492
493	l = document.getElementById("tech_content").value.length; 
494	tmpstr = "" ;
495
496	if (l == 0){
497		value = maxlen*2;
498	}else {
499		
500		for(k=0;k<l;k++){
501			temp =value.charAt(k);
502			if (escape(temp).length > 4) msglen -= 2;
503			else msglen--;
504		 if(msglen < 0) {
505			 	/* alert("총 영문 "+(maxlen*2)+"자 한글 " + maxlen + "자 까지 보내실수 있습니다."+tmpstr);
506				document.getElementById("tech_content").value= tmpstr; */
507				break;		
508			}else {
509				tmpstr += temp;
510			} 
511
512		} 
513
514	}
515	
516	if($("#tech_content").hasVerticalScrollBar()){
517		alert('스크롤 영역 밖으로 작성 하실 수 없습니다.');
518		while($("#tech_content").hasVerticalScrollBar()){
519			console.log((tmpstr.length-1));
520			tmpstr = tmpstr.substring(0,(tmpstr.length-1));
521			document.getElementById("tech_content").value= tmpstr;
522		}
523	}
524}
525
526
527
528function TextCheckStrLen(maxlen,thisObj){
529	var temp; //들어오는 문자값...
530	var msglen;
531	msglen = maxlen*2;
532	var value= $(thisObj).val();
533
534	l = $(thisObj).val().length; 
535
536	tmpstr = "" ;
537	if (l == 0){
538		value = maxlen*2;
539	}else {
540		
541		for(k=0;k<l;k++){
542			temp =value.charAt(k);
543			if (escape(temp).length > 4) msglen -= 2;
544			else msglen--;
545		 if(msglen < 0) {
546			 	alert("총 영문 "+(maxlen*2)+"자 한글 " + maxlen + "자 까지 작성 할 수 있습니다.");
547			 	$(thisObj).val(tmpstr) ;
548				break;		
549			}else {
550				tmpstr += temp;
551			} 
552
553		} 
554
555	}
556}
557
558// 성식이 추가 2020-11-17 시작
559function form_submit(form_obj, form_target, form_action, form_enctype, proc_form_obj){
560	if (form_enctype == 'multipart/form-data'){
561		form_action += '?CSRFToken=' + $('input[type=\'hidden\'][name=\'CSRFToken\']').val();
562	}else{
563		form_enctype = 'application/x-www-form-urlencoded';
564	}
565
566	$(form_obj).prop({
567		'target': form_target,
568		'action': form_action,
569		'enctype': form_enctype
570	}).submit();
571}
572function go_move(formObj,url){
573	var $paging_form = formObj ;
574	form_submit($paging_form, '_self', url, '');
575}
576function go_data_reset (resetObj){
577	var $reset_datas = resetObj;
578	
579	$reset_datas.each(function(idx, obj) {
580		
581		
582		if( $(this).prop("type").indexOf("select") > -1 ) {
583			$(this).find('option:first').prop("selected", true);
584		}else if( $(this).prop("type").indexOf("radio") > -1 || $(this).prop("type").indexOf("checkbox") > -1 ){
585			$(this).prop("checked",false);
586		}else{
587			$(this).val( '' );
588		}
589		
590		var read_datas = $(this).attr('class') +"";
591		if( read_datas.indexOf('readonly_datas') > - 1 ) {
592			if( $(this).prop("type").indexOf("select") > -1 ) {
593				$(this).unbind("change").unbind("focus");
594				$(this).parent().removeClass('read_span');
595			}else{
596				$(this).removeAttr("readonly");
597				$(this).removeClass('readonly_css');
598			}
599			
600		}
601	});
602}
603function commonReturnObject( e_obj ){
604	var $put_datas_cls = e_obj;
605	var return_array_obj = new Object();
606
607	var returnName = "";
608	var forCnt = 0;
609
610	$put_datas_cls.each(function(idx, obj) {
611		var name =  $(this).attr('name');
612		
613		if( !(returnName.indexOf(name) > -1) ){
614			if (forCnt == 0)   returnName = name  ;
615			else  returnName =  returnName+ "|" + name;
616			forCnt ++ ; 
617		}
618	});
619	var nameArr = returnName.split("|");
620	for(var i = 0 ; i < nameArr.length ;i++){
621		var $setObj = $put_datas_cls.filter("[name=\'"+nameArr[i]+"\']");
622		
623
624		if( $setObj.prop("type").indexOf("radio") > -1 && $setObj.is(":checked") ) {
625			
626			
627			return_array_obj[  $setObj.attr('name') ] = $("[name=\'"+nameArr[i]+"\']:checked").val() ;
628
629		}else if( $setObj.prop("type").indexOf("checkbox") > -1 && $setObj.is(":checked") ){
630
631			arryReturnObjSet($setObj , return_array_obj);
632
633		} else if( $setObj.prop("type").indexOf("textarea") > -1 || $setObj.prop("type").indexOf("text") > -1 
634			|| $setObj.prop("type").indexOf("select") > -1 
635			|| $setObj.prop("type").indexOf("hidden") > -1){
636
637			arryReturnObjSet($setObj , return_array_obj);
638		}
639
640		
641	}
642	console.log(return_array_obj);
643	return return_array_obj ;
644}
645	
646	
647	
648
649function arryReturnObjSet(thisObj , return_array_obj){
650	if($(thisObj).length > 1 ){
651		var arr = new Array();
652		$(thisObj).each(function(i,e){
653			arr.push($(e).val());
654		});
655		return_array_obj[  $(thisObj).attr('name')  ] = arr; 
656	} else {
657		return_array_obj[  $(thisObj).attr('name') ] = $(thisObj).val();
658	}
659	
660	return return_array_obj;
661}
662
663function commonFileUploadAjax( formDatas ,url,redirect_url ,moveforms){
664		global_loading_progress(true);
665	    $.ajax({
666			url : url,
667			type : "post",
668			async : true,
669			data : formDatas,
670	        enctype: "multipart/form-data", 
671			dataType : 'json',
672			processData: false,
673            contentType: false,
674			success : function(json) {
675				var result_data = json.in_result;
676				var proc_msg_json = "";
677				var proc_alert_json = "";
678				$.each(result_data, function(j_index){
679					var result_data_detail = result_data[j_index].in_result_data;
680					proc_msg_json = result_data_detail.proc_msg;
681					proc_alert_json = result_data_detail.proc_alert;
682				});
683				if (proc_msg_json == "OK"){
684					if(proc_alert_json != "" && proc_alert_json != null){
685						alert(proc_alert_json);
686					} 
687					if(redirect_url =="" ) redirect_url = location.pathname;
688					
689					
690					if(redirect_url =="/admin/japan/job_application_write.jsp"){
691						location.reload();
692					}else{
693						go_move(moveforms,redirect_url);
694					}
695
696					
697				}else if (proc_msg_json == "NO"){
698					if(proc_alert_json != "" && proc_alert_json != null){
699						alert(proc_alert_json);
700					}else{
701						alert('해당 작업에 실패 하였습니다.\n관리자에게 문의 해주세요.');
702					}
703	
704				}
705			},
706			error : function(x, e) {
707				console.log(x)
708			},
709			complete : function() {
710				global_loading_progress(false);
711			}
712		});
713} 
714function commonDataSaveFnc(confirmText,url,redirect_url,saveforms,moveforms,fileforms){
715	if (confirmText =='' || confirm( confirmText )){
716		
717		global_loading_progress(true);
718		
719		$.ajax({
720			url : url,
721			data : saveforms ,
722			dataType : 'json',
723			type : 'post',
724			success: function(json){
725				
726				var result_data = json.in_result;
727				var proc_msg_json = "";
728				var proc_alert_json = "";
729				$.each(result_data, function(j_index){
730					var result_data_detail = result_data[j_index].in_result_data;
731					proc_msg_json = result_data_detail.proc_msg;
732					proc_alert_json = result_data_detail.proc_alert;
733					proc_return_idx = result_data_detail.return_idx;
734				});
735				if (proc_msg_json == "OK"){
736					if(proc_alert_json != "" && proc_alert_json != null){
737						alert(proc_alert_json);
738					} 
739					if(redirect_url =="" ) redirect_url = location.pathname;
740					go_move(moveforms,redirect_url);
741
742					
743				}else if (proc_msg_json == "NO"){
744					if(proc_alert_json != "" && proc_alert_json != null){
745						alert(proc_alert_json);
746					}else{
747						alert('해당 작업에 실패 하였습니다.\n관리자에게 문의 해주세요.');
748					}
749	
750				}else if (proc_msg_json == "FILE_UPLOAD"){
751					$('#f_form_idx').val(proc_return_idx);
752					var form = $('form[name=\''+fileforms+'\']:first')[0];
753					var formDatas = new FormData(form);
754					commonFileUploadAjax( formDatas,url,redirect_url ,moveforms );
755				}
756			},
757			error: function(request,status,error){
758				console.log("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
759			},
760			complete: function(){
761				global_loading_progress(false);
762			}
763		});
764	}
765}
766
767function commonshowPop(url,setData,targetPop){
768	$.ajax({
769		async : true,
770		url : url,
771		data : setData,
772		dataType : 'json',
773		type : 'post',
774		success : function(data) {
775
776			var obj = data;
777				for (var i = 0; i < obj.length; ++i) {
778				var aglist = obj[i];	
779				
780				for( var j = 0; j < Object.keys(aglist).length; j ++ ){
781					var setVal = aglist [ Object.keys(aglist)[j] ] ;	
782					var $setObj = $(targetPop).find("[name=\'"+Object.keys(aglist)[j]+"\']"); 
783					$(targetPop).find('select , input ').each(function(idx, obj) {
784						if( $(this).prop("type").indexOf("select") > -1 ) {
785							selectOptionCheck( setVal ,  $setObj ) ;
786						}else if( $(this).prop("type").indexOf("radio") > -1 || $(this).prop("type").indexOf("checkbox") > -1 ){
787							if(($setObj.attr('name') == $(this).attr("name")) && setVal == $(this).val()) {
788								$(this).prop("checked",true);
789								$(this).trigger("click");
790								
791							}else if(($setObj.attr('name') == $(this).attr("name")) ) {
792								$(this).prop("checked",false);
793							}
794						} else if( $setObj.prop("type").indexOf("textarea") > -1 || $setObj.prop("type").indexOf("text") > -1 
795							|| $setObj.prop("type").indexOf("hidden") > -1){
796							$setObj.val( setVal );
797						}
798					});
799
800					var $popObjs = $(targetPop).find("[name=\'"+Object.keys(aglist)[j]+"\']"); 
801					var read_datas = $popObjs.attr('class') +"";
802					
803					if( read_datas.indexOf('readonly_datas') > - 1 ) {
804						if( $popObjs.prop("type").indexOf("select") > -1 ) {
805	 
806							$popObjs.on('change',function(){
807								this.selectedIndex = this.initialSelect;
808							});
809							$popObjs.on('focus',function(){
810								this.initialSelect = this.selectedIndex;
811							});
812							$popObjs.parent().addClass('read_span');
813						}else{
814							$popObjs.prop('readonly','true') ;
815							$popObjs.addClass('readonly_css');
816						}
817						
818					}
819					
820				}
821			}
822			
823		},
824		error : function(x, e) {
825			alert(e+x);
826		},
827		complete : function() {
828			//$(targetPop).css('display','block');
829		}
830	});
831}
832
833function commonshowPop_Ver2(url,setData,targetPop,async,method){
834	var returnB = false;
835	$.ajax({
836		async : async,
837		url : url,
838		data : setData,
839		dataType : 'json',
840		type : method,
841		success : function(data) {
842			returnB = true;
843			var obj = data;
844				for (var i = 0; i < obj.length; ++i) {
845				var aglist = obj[i];	
846				
847				for( var j = 0; j < Object.keys(aglist).length; j ++ ){
848					var setVal = aglist [ Object.keys(aglist)[j] ] ;	
849					var $setObj = $(targetPop).find("[name=\'"+Object.keys(aglist)[j]+"\']"); 
850					$(targetPop).find('select , input ').each(function(idx, obj) {
851						if( $(this).prop("type").indexOf("select") > -1 ) {
852							selectOptionCheck( setVal ,  $setObj ) ;
853						}else if( $(this).prop("type").indexOf("radio") > -1 || $(this).prop("type").indexOf("checkbox") > -1 ){
854							if(($setObj.attr('name') == $(this).attr("name")) && setVal == $(this).val()) {
855								$(this).prop("checked",true);
856								$(this).trigger("click");
857								
858							}else if(($setObj.attr('name') == $(this).attr("name")) ) {
859								$(this).prop("checked",false);
860							}
861						} else if( $setObj.prop("type").indexOf("textarea") > -1 || $setObj.prop("type").indexOf("text") > -1 
862							|| $setObj.prop("type").indexOf("hidden") > -1){
863							$setObj.val( setVal );
864						}
865					});
866
867					var $popObjs = $(targetPop).find("[name=\'"+Object.keys(aglist)[j]+"\']"); 
868					var read_datas = $popObjs.attr('class') +"";
869					
870					if( read_datas.indexOf('readonly_datas') > - 1 ) {
871						if( $popObjs.prop("type").indexOf("select") > -1 ) {
872	 
873							$popObjs.on('change',function(){
874								this.selectedIndex = this.initialSelect;
875							});
876							$popObjs.on('focus',function(){
877								this.initialSelect = this.selectedIndex;
878							});
879							$popObjs.parent().addClass('read_span');
880						}else{
881							$popObjs.prop('readonly','true') ;
882							$popObjs.addClass('readonly_css');
883						}
884						
885					}
886					
887				}
888			}
889			
890		},
891		error : function(x, e) {
892			alert(e+x);
893		},
894		complete : function() {
895			//$(targetPop).css('display','block');
896		}
897	});
898	return returnB;
899}
900
901function commonValidata(checkValue,checkText,data_cls){
902	var textSp = checkText.split('|');
903
904	var $put_datas_cls = data_cls;
905	var nameArr = checkValue.split("|");
906	
907	for(var i = 0 ; i < nameArr.length ;i++){
908		var $setObj = $put_datas_cls.filter("[name=\'"+nameArr[i]+"\']");
909		
910		if( $setObj.prop("type").indexOf("radio") > -1 && !($setObj.is(":checked")) ) {
911			alert( textSp[i] );
912			$setObj[0].focus();
913			return false;
914
915		}else if( $setObj.prop("type").indexOf("checkbox") > -1 && !($setObj.is(":checked"))  ){
916			alert( textSp[i] );
917			$setObj[0].focus();
918			return false;
919		} else if( $setObj.val() =="" ){
920			alert( textSp[i] );
921			$setObj.focus();
922			return false;
923		}
924	}
925	return true;
926}
927function returnObject(keyName,keyVal){
928
929	var keyNameSp = keyName.split('|');
930	var keyValSp = keyVal.split('|');
931	var data = new Object() ;
932	for(var i = 0; i< keyNameSp.length; i++){
933		data[ keyNameSp[i] ]  = keyValSp[i] ; 
934	}
935	return data;
936}
937function selectOptionCheck(checkVal,obj){
938
939	if(checkVal!="" && checkVal!=null) {
940		$(obj).find("option").each(function() {
941			if(this.value == checkVal) {
942				$(this).attr('selected','selected');
943				return false;
944			}
945		});
946	}
947}
948function radioChkClick(thisObj,whereObj) {
949	var ob = whereObj;
950	if($(thisObj).is(":checked")==true){
951		$(ob).attr('disabled',false);
952	}else{
953		$(ob).val('').attr('disabled',true);
954	}
955}
956function getNumber(obj){
957	var rgx1 = /\D/g;  // /[^0-9]/g 와 같은 표현
958	
959     var num01;
960     var num02;
961     num01 = obj.value;
962     num02 = num01.replace(rgx1,"");
963     num01 = setComma(num02);
964     obj.value =  num01;
965
966}
967
968function setComma(inNum){
969     var rgx2 = /(\d+)(\d{3})/; 
970     var outNum;
971     outNum = inNum; 
972     while (rgx2.test(outNum)) {
973          outNum = outNum.replace(rgx2, '$1' + ',' + '$2');
974      }
975     return outNum;
976
977}
978function commonClosePop(targetPop){
979	$(targetPop).css('display','none');
980	go_data_reset ( $(targetPop).find('select , input ') );
981}
982function commonClosePop_textarea_plus(targetPop){
983	$(targetPop).css('display','none');
984	go_data_reset ( $(targetPop).find('select , input , textarea ') );
985}
986
987/*function incPostScriptWrite(){
988	var isHttps = window.location.toString().search(/https/i) > -1;
989	var incPostUrl = "";
990
991	if (isHttps){
992		incPostUrl = "https://spi.maps.daum.net/imap/map_js_init/postcode.v2.js"
993	}else{
994		incPostUrl = "http://dmaps.daum.net/map_js_init/postcode.v2.js"
995	}
996
997	document.write("<script type=\"text/javascript\" src=\""+incPostUrl+"\"></script>");
998}*/
999
1000function incPostScriptWrite(){
1001	var isHttps = window.location.toString().search(/https/i) > -1;
1002	var incPostUrl = "";
1003
1004	if (isHttps){
1005		incPostUrl = "https://t1.kakaocdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js"
1006	}else{
1007		incPostUrl = "https://t1.kakaocdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js"
1008	}
1009
1010	document.write("<script type=\"text/javascript\" src=\""+incPostUrl+"\"></script>");
1011}
1012
1013function postcode_search(pcode, raddr){
1014	var width = 500;
1015	var height = 600;
1016	var themeObj = {
1017		bgColor:'#F7F9FD',
1018		emphTextColor:'#141B79'
1019	};
1020	new kakao.Postcode({
1021		theme:themeObj,
1022		oncomplete:function(data){
1023			var fullAddr = '';
1024			var extraAddr = '';
1025			if (data.userSelectedType === 'R'){
1026				fullAddr = data.roadAddress; 
1027			}else{
1028				fullAddr = data.roadAddress;
1029			}
1030			if(data.bname !== ''){
1031				extraAddr += data.bname;
1032			}
1033			if(data.buildingName !== ''){
1034				extraAddr += (extraAddr !== '' ? ', ' + data.buildingName : data.buildingName);
1035			}
1036			fullAddr += (extraAddr !== '' ? ' ('+ extraAddr +')' : '');
1037			$('#' + pcode).val(data.zonecode);
1038			//$('#' + pcode_1).val(data.postcode1); //우편번호
1039			//$('#' + pcode_2).val(data.postcode2);	//우편번호
1040			$('#' + raddr).val(fullAddr);
1041		}, onclose:function(state){
1042			if(state === 'COMPLETE_CLOSE'){
1043				$('#' + raddr).next().focus();
1044			}
1045		}
1046	}).open({
1047		left:(window.screen.width / 2) - (width / 2),
1048		top:(window.screen.height /2) - (height / 2)
1049	});
1050}
1051//대문자 변경
1052function Upper(e,r)
1053{
1054   r.value = r.value.toUpperCase();
1055}
1056//숫자만
1057function numeric(e,r)
1058{
1059   r.value = r.value.replace(/\D/gi,"");
1060}
1061// 성식이 추가 2020-11-17 끝
1062$(document).on("keyup", "input:text[numberOnly]", function() {
1063	$(this).number(true);
1064}).on("change", "input:text[numberOnly]", function() {
1065	$(this).number(true);
1066})
1067
1068$(document).on("keyup", "input:text[numberHyphenOnly]", function() {
1069	$(this).val( $(this).val().replace(/[^0-9:\-]/gi,"") );}).on("change", "input:text[numberHyphenOnly]", function() {
1070		$(this).val( $(this).val().replace(/[^0-9:\-]/gi,"") );})
1071	

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.