PageSourceSearch

https://straffic.co.kr/rsc/en/js/plugin/pg_common.js

js straffic.co.kr collected 2026-10-04 09:17:22 UTC 75,564 bytes, 2,083 lines download raw bytes

1
2function stripslashes (str) {
3  // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
4  // +   improved by: Ates Goral (http://magnetiq.com)
5  // +      fixed by: Mick@el
6  // +   improved by: marrtins
7  // +   bugfixed by: Onno Marsman
8  // +   improved by: rezna
9  // +   input by: Rick Waldron
10  // +   reimplemented by: Brett Zamir (http://brett-zamir.me)
11  // +   input by: Brant Messenger (http://www.brantmessenger.com/)
12  // +   bugfixed by: Brett Zamir (http://brett-zamir.me)
13  // *     example 1: stripslashes('Kevin\'s code');
14  // *     returns 1: "Kevin's code"
15  // *     example 2: stripslashes('Kevin\\\'s code');
16  // *     returns 2: "Kevin\'s code"
17  return (str + '').replace(/\\(.?)/g, function (s, n1) {
18    switch (n1) {
19    case '\\':
20      return '\\';
21    case '0':
22      return '\u0000';
23    case '':
24      return '';
25    default:
26      return n1;
27    }
28  });
29}
30
31//이미지 확장자 체크
32function checkImgFile(obj,tg_name) {
33	var filename = $(obj).val().substring($(obj).val().lastIndexOf('\\')+1);
34	var ext = filename.substring(filename.lastIndexOf('.')+1).toLowerCase();
35	if (ext == "jpg"  || ext == "png"  || ext == "gif"  ||
36		ext == "ppt"  || ext == "xls"  || ext == "doc"  ||
37		ext == "pptx" || ext == "xlsx" || ext == "docx" ||
38		ext == "zip"  || ext == "txt"  || ext == "pdf"
39	) {
40		$(tg_name).val( filename );
41		return true;
42	} else {
43		alert("업로드가능한 파일이 아닙니다. 다시 선택해 주세요.");
44		return false;
45	}
46}
47
48//이미지 확장자 체크
49function checkFile(obj,tg_name) {
50	var filename = $(obj).val().substring($(obj).val().lastIndexOf('\\')+1);
51	var ext = filename.substring(filename.lastIndexOf('.')+1).toLowerCase();
52	if (ext == "jpg"  || ext == "png"  || ext == "gif" ) {
53		$(tg_name).val( filename );
54		return true;
55	} else {
56		alert("이미지 파일이 아닙니다. 다시 선택해 주세요.");
57		return false;
58	}
59}
60
61	/// onFocus="clearText(this)" onBlur="clearTextOut(this)"
62	function clearText(y){
63		if (y.defaultValue==y.value){
64			y.value = "";
65		}
66	}
67	function clearTextOut(y){
68		if (y.value==""){
69			y.value = y.defaultValue;
70		}
71	}
72
73	function clearImg(y){
74		y.style.backgroundImage='url(none)';
75	}
76
77	function popup(url,id,w,h,sc){
78		if(sc!="") sc = "yes";
79		var window_left = (screen.width-640)/2;
80		var window_top = (screen.height-480)/2;
81	   //showModalDialog
82		window.open(url,id,'width=' + w + ',height=' + h + ',status=no,scrollbars='+ sc +',menubar=no,top=' + window_top + ',left=' + window_left + '');
83	}
84	function popup2(url,id,w,h,sc){
85		if(sc!="") sc = "yes";
86		var window_left = (screen.width-640)/2;
87		var window_top = (screen.height-480)/2;
88		showModalDialog(url,id,'width=' + w + ',height=' + h + ',status=no,scrollbars='+ sc +',menubar=no,top=' + window_top + ',left=' + window_left + '');
89	}
90
91     function frmIdCheck(nv){
92
93        var nameVal = nv.split(",")
94        var inputName = new Array();
95        var inputText,thislimit,inputValu;
96        var n_cnt = nameVal.length;
97        for(n=0;n<n_cnt;n++){
98		   inputName[n] = $("#"+nameVal[n]);
99		}
100
101        var x_cnt = inputName.length;
102        for(x=0;x<x_cnt;x++){
103
104            inputText = inputName[x].attr('title');
105            thislimit = inputName[x].attr('txtlimit');
106            inputChks = inputName[x].attr('chk');
107
108                    inputValu = inputName[x].val();
109                    if(!inputValu ){
110                            alert(inputText+"를(을) 입력해주세요");
111                            inputName[x].focus();
112                           return false;
113                    }else{
114                        if(thislimit){ ///txtlimit='n'
115                            var valcnt = inputValu.length;
116                            if(thislimit > valcnt){
117                                    alert(inputText+"의 글자 수가 작습니다.");
118                                    inputName[x].focus();
119                                    return false;
120                            }
121                        }
122                    }
123
124					if(inputChks){
125						if(inputChks=="email"){
126						    var EmailChkExp = /([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
127							if(!EmailChkExp.test(inputName[x].val())) {
128								alert('이메일 주소가 유효하지 않습니다');
129									inputName[x].focus();
130								return false;
131							}
132						}
133						if(inputChks=="number"){
134						    var NumberChkExp = /[^0-9.]/gi;
135							if(NumberChkExp.test(inputName[x].val())== true ) {
136								alert('숫자만 입력해주세요');
137									inputName[x].focus();
138								return false;
139							}
140						}
141						if(inputChks=="eng"){
142						    var NumberChkExp = /[^a-zA-Z]/g;;
143							if(NumberChkExp.test(inputName[x].val())== true ) {
144								alert('영문만 입력해주세요');
145									inputName[x].focus();
146								return false;
147							}
148						}
149					} ///CHK
150
151         }
152        return true;
153    }
154
155	/// onsubmit="return frmCheck('name,name2');"
156    function frmCheck(nv){
157
158        var nameVal = nv.split(",")
159        var inputName = new Array();
160        var inputText,thislimit,inputValu;
161        var n_cnt = nameVal.length;
162        for(n=0;n<n_cnt;n++){
163
164			var sVal = $("input[name="+nameVal[n]+"]").val();
165			var sVal_1 = $("textarea[name="+nameVal[n]+"]").val();
166			var sVal_2 = $("file[name="+nameVal[n]+"]").val();
167
168			if(sVal==undefined){
169				inputName[n] = $("textarea[name="+nameVal[n]+"]");				
170				if(sVal_1==undefined) {
171					inputName[n] = $("select[name="+nameVal[n]+"]");
172				}
173			}else{
174				inputName[n] = $("input[name="+nameVal[n]+"]");
175			}
176
177		}
178
179        var x_cnt = inputName.length;
180        for(x=0;x<x_cnt;x++){
181
182            inputText = inputName[x].attr('title');
183            inputRead = inputName[x].attr('readonly');
184            inputType = inputName[x].attr('type');
185            inputChks = inputName[x].attr('chk');      //입력타입 email number eng fileimg
186            thislimit = inputName[x].attr('txtlimit'); //글자수 txtlimit='n'
187
188				if(inputType=="radio"){
189                     if(!$(":radio[name="+nameVal[x]+"]:checked").val()){
190                        alert(inputText+"를(을) 체크해주세요");
191                        return false;
192                     }
193
194                }else if(inputType=="checkbox"){
195                    if($("input:checkbox[name="+nameVal[x]+"]").is(":checked") != true ){
196                        alert(inputText+"를(을) 체크해주세요");
197                        return false;
198                    }
199                    /// 값가져오기 $('input:checkbox [ id="checkbox_id" ]').val();
200
201                }else if(inputType=="text" || inputType=="textarea"){
202
203                    inputValu = inputName[x].val();
204                    if(!inputValu ){
205						if (inputRead=="readonly"){
206                            alert(inputText+"이(가) 입력 되지 않았습니다.");
207                            inputName[x].focus();
208                           return false;
209						}else{
210                            alert(inputText+"를(을) 입력해주세요");
211                            inputName[x].focus();
212                           return false;
213						}
214					}else{
215                        if(thislimit){ ///txtlimit='n'
216                            var valcnt = inputValu.length;
217                            if(thislimit > valcnt){
218                                    alert(inputText+"의 글자 수가 작습니다.");
219                                    inputName[x].focus();
220                                    return false;
221                            }
222                        }
223                    }
224
225					if(inputChks){
226						if(inputChks=="idcheck"){
227							  if(inputValu < 5 || inputValu > 20) {
228								 alert("아이디는 5 ~ 20자의 영문 소문자나 숫자 또는 조합된 문자열이어야 합니다!");
229								 return false;
230							  }
231							  for(var i = 0; i < inputValu.length; i++) {
232								 var chr = inputValu.substr(i,1);
233								 if((chr < '0' || chr > '9') && (chr < 'a' || chr > 'z')) {
234									alert("아이디는 5 ~ 20자의 영문 소문자나 숫자 또는 조합된 문자열이어야 합니다!");
235									return false;
236								 }
237
238							  }
239						}
240
241						//관리자 아이디체크 
242						if(inputChks=="idcheck_1"){
243							  if(inputValu < 5 || inputValu > 20) {
244								 alert("아이디는 5 ~ 20자의 영문 소문자나 숫자 또는 조합된 문자열이어야 합니다!");
245								 return false;
246							  }
247							  for(var i = 0; i < inputValu.length; i++) {
248								 var chr = inputValu.substr(i,1);
249								 if((chr < '0' || chr > '9') && (chr < 'a' || chr > 'z')) {
250									alert("아이디는 5 ~ 20자의 영문 소문자나 숫자 또는 조합된 문자열이어야 합니다!");
251									return false;
252								 }
253
254							  }
255						}
256
257
258						if(inputChks=="email"){
259						    var EmailChkExp = /([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
260							if(!EmailChkExp.test(inputName[x].val())) {
261								alert('이메일 주소가 유효하지 않습니다');
262									inputName[x].focus();
263								return false;
264							}
265						}
266						if(inputChks=="number"){
267						    var NumberChkExp = /[^0-9.]/gi;
268							if(NumberChkExp.test(inputName[x].val())== true ) {
269								alert('숫자만 입력해주세요');
270									inputName[x].focus();
271								return false;
272							}
273						}
274						if(inputChks=="eng"){
275						    var NumberChkExp = /[^a-zA-Z]/g;;
276							if(NumberChkExp.test(inputName[x].val())== true ) {
277								alert('영문만 입력해주세요');
278									inputName[x].focus();
279								return false;
280							}
281						}
282
283					} ///CHK
284                }else if(inputType=="hidden"){
285                    inputValu = inputName[x].val();
286                    if(!inputValu ){
287                        alert(inputText+"의 값이 없습니다.");
288                        return false;
289                    }
290                }else if(inputType=="password"){
291                    inputValu = inputName[x].val();
292
293					//비밀번호 확인 검사
294					if(inputChks=="pwcheck"){
295						  if (signform.upasswd.value != signform.upasswd1.value) {
296							 alert("입력하신 비밀번호가 일치하지 않습니다.\n다시 확인하시고 입력하여 주십시오.");
297							 signform.upasswd1.focus();
298							 signform.upasswd1.select();
299							 return false;
300						  }
301					}
302
303
304                    if(!inputValu ){
305                            alert(inputText+"를(을) 입력해주세요");
306                            inputName[x].focus();
307                           return false;
308                    }else{
309                        if(thislimit){
310                            var valcnt = inputValu.length;
311                            if(thislimit > valcnt){
312								alert(inputText+"의 글자 수가 작습니다.");
313								inputName[x].focus();
314								return false;
315                            }
316                        }
317                    }
318                }else{ ///select
319                    inputValu = inputName[x].val();
320                    if(!inputValu ){
321                        alert(inputText+"를 선택해 주세요.");
322						inputName[x].focus();
323                        return false;
324                    }
325
326					if(inputChks=="fileimg"){ //이미지 파일 첨부인 경우 체크 						
327						var no  = inputValu.lastIndexOf(".");
328						var FilelastChkExp = inputValu.substr(no+1, 3);
329						if ((FilelastChkExp.toUpperCase() != "JPG") && (FilelastChkExp.toUpperCase() != "GIF") && (FilelastChkExp.toUpperCase() != "PNG")) {
330							alert("jpg, png, gif 파일만 업로드 가능합니다.");
331							inputName[x].focus();
332							return false;
333						}
334					}
335					if(inputChks=="fileadd"){ //파일 첨부인 경우 체크 						
336						var no  = inputValu.lastIndexOf(".");
337						var FilelastChkExp = inputValu.substr(no+1, 3);
338						if ((FilelastChkExp.toUpperCase() != "JPG") && (FilelastChkExp.toUpperCase() != "GIF") && (FilelastChkExp.toUpperCase() != "PNG") && (FilelastChkExp.toUpperCase() != "XLS") && (FilelastChkExp.toUpperCase() != "XLSX") && (FilelastChkExp.toUpperCase() != "PDF") && (FilelastChkExp.toUpperCase() != "HWP") && (FilelastChkExp.toUpperCase() != "DOC") && (FilelastChkExp.toUpperCase() != "TEXT") && (FilelastChkExp.toUpperCase() != "PPT") && (FilelastChkExp.toUpperCase() != "PPTX")) {
339							alert("jpg, png, gif, xls,xlsx,pdf,hwp,doc,text,ppt,pptx 파일만 업로드 가능합니다.");
340							inputName[x].focus();
341							return false;
342						}
343					}
344
345                } //inputType
346
347
348
349         }
350		
351		return true;	
352        
353    } //end frmCheck)_;
354
355    function frmCheck_signform2(nv){
356
357        var nameVal = nv.split(",")
358        var inputName = new Array();
359        var inputText,thislimit,inputValu;
360        var n_cnt = nameVal.length;
361        for(n=0;n<n_cnt;n++){
362
363			var sVal = $("input[name="+nameVal[n]+"]").val();
364			var sVal_1 = $("textarea[name="+nameVal[n]+"]").val();
365			var sVal_2 = $("file[name="+nameVal[n]+"]").val();
366
367			if(sVal==undefined){
368				inputName[n] = $("textarea[name="+nameVal[n]+"]");				
369				if(sVal_1==undefined) {
370					inputName[n] = $("select[name="+nameVal[n]+"]");
371				}
372			}else{
373				inputName[n] = $("input[name="+nameVal[n]+"]");
374			}
375
376		}
377
378        var x_cnt = inputName.length;
379        for(x=0;x<x_cnt;x++){
380
381            inputText = inputName[x].attr('title');
382            inputRead = inputName[x].attr('readonly');
383            inputType = inputName[x].attr('type');
384            inputChks = inputName[x].attr('chk');      //입력타입 email number eng fileimg
385            thislimit = inputName[x].attr('txtlimit'); //글자수 txtlimit='n'
386
387				if(inputType=="radio"){
388                     if(!$(":radio[name="+nameVal[x]+"]:checked").val()){
389                        alert(inputText+"를(을) 체크해주세요");
390                        return false;
391                     }
392
393                }else if(inputType=="checkbox"){
394                    if($("input:checkbox[name="+nameVal[x]+"]").is(":checked") != true ){
395                        alert(inputText+"를(을) 체크해주세요");
396                        return false;
397                    }
398                    /// 값가져오기 $('input:checkbox [ id="checkbox_id" ]').val();
399
400                }else if(inputType=="text" || inputType=="textarea"){
401
402                    inputValu = inputName[x].val();
403                    if(!inputValu ){
404						if (inputRead=="readonly"){
405                            alert(inputText+"이(가) 입력 되지 않았습니다.");
406                            inputName[x].focus();
407                           return false;
408						}else{
409							if(inputChks=="fm_post"){
410								if(!myeditor.outputBodyHTML()) {
411									alert(inputText+"를(을) 입력해주세요");
412									return false;
413								}
414							} else {
415								alert(inputText+"를(을) 입력해주세요");
416								inputName[x].focus();
417								return false;
418							}
419                           
420						}
421					}else{
422                        if(thislimit){ ///txtlimit='n'
423                            var valcnt = inputValu.length;
424                            if(thislimit > valcnt){
425                                    alert(inputText+"의 글자 수가 작습니다.");
426                                    inputName[x].focus();
427                                    return false;
428                            }
429                        }
430                    }
431
432					if(inputChks){
433						if(inputChks=="idcheck"){
434							  if(inputValu < 5 || inputValu > 20) {
435								 alert("아이디는 5 ~ 20자의 영문 소문자나 숫자 또는 조합된 문자열이어야 합니다!");
436								 return false;
437							  }
438							  for(var i = 0; i < inputValu.length; i++) {
439								 var chr = inputValu.substr(i,1);
440								 if((chr < '0' || chr > '9') && (chr < 'a' || chr > 'z')) {
441									alert("아이디는 5 ~ 20자의 영문 소문자나 숫자 또는 조합된 문자
441열이어야 합니다!");
442									return false;
443								 }
444							  }
445						}
446						//관리자 아이디체크 
447						if(inputChks=="idcheck_1"){
448							  if(inputValu < 5 || inputValu > 20) {
449								 alert("아이디는 5 ~ 20자의 영문 소문자나 숫자 또는 조합된 문자열이어야 합니다!");
450								 return false;
451							  }
452							  for(var i = 0; i < inputValu.length; i++) {
453								 var chr = inputValu.substr(i,1);
454								 if((chr < '0' || chr > '9') && (chr < 'a' || chr > 'z')) {
455									alert("아이디는 5 ~ 20자의 영문 소문자나 숫자 또는 조합된 문자열이어야 합니다!");
456									return false;
457								 }
458
459							  }
460						}
461
462
463						if(inputChks=="email"){
464						    var EmailChkExp = /([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
465							if(!EmailChkExp.test(inputName[x].val())) {
466								alert('이메일 주소가 유효하지 않습니다');
467									inputName[x].focus();
468								return false;
469							}
470						}
471						if(inputChks=="number"){
472						    var NumberChkExp = /[^0-9.]/gi;
473							if(NumberChkExp.test(inputName[x].val())== true ) {
474								alert('숫자만 입력해주세요');
475									inputName[x].focus();
476								return false;
477							}
478						}
479						if(inputChks=="eng"){
480						    var NumberChkExp = /[^a-zA-Z]/g;;
481							if(NumberChkExp.test(inputName[x].val())== true ) {
482								alert('영문만 입력해주세요');
483									inputName[x].focus();
484								return false;
485							}
486						}
487						if(inputChks=="email_check"){
488						    var NumberChkExp = /[ㄱ-ㅎ|ㅏ-ㅣ|가-힣]/;
489							if(NumberChkExp.test(inputName[x].val())== true ) {
490								alert('한글 입력은 불가능 합니다.');
491									inputName[x].focus();
492								return false;
493							}
494						}
495
496					} ///CHK
497                }else if(inputType=="hidden"){
498                    inputValu = inputName[x].val();
499                    if(!inputValu ){
500                        alert(inputText+"를(을) 선택해주세요");
501                        return false;
502                    }
503                }else if(inputType=="password"){
504                    inputValu = inputName[x].val();
505
506					//비밀번호 확인 검사
507					if(inputChks=="pwcheck"){
508						  var PwChkExp = /^(?=.*[a-zA-Z])(?=.*[!@#$%^*+=-])(?=.*[0-9]).{6,16}$/;
509						  if(!PwChkExp.test(inputName[x].val())) {
510								alert('비밀번호는 영문, 숫자, 특수문자 조합으로 사용가능합니다.');
511								inputName[x].focus();
512								return false;
513						  }
514
515						  if (signform.upasswd.value != signform.upasswd1.value) {
516							 alert("입력하신 비밀번호가 일치하지 않습니다.\n다시 확인하시고 입력하여 주십시오.");
517							 signform.upasswd1.focus();
518							 signform.upasswd1.select();
519							 return false;
520						  }
521					}
522
523
524                    if(!inputValu ){
525                            alert(inputText+"를(을) 입력해주세요");
526                            inputName[x].focus();
527                           return false;
528                    }else{
529                        if(thislimit){
530                            var valcnt = inputValu.length;
531                            if(thislimit > valcnt){
532								alert(inputText+"의 글자 수가 작습니다.");
533								inputName[x].focus();
534								return false;
535                            }
536                        }
537                    }
538                }else{ ///select
539                    inputValu = inputName[x].val();
540                    if(!inputValu ){
541                        alert(inputText+"를 선택해 주세요.");
542						inputName[x].focus();
543                        return false;
544                    }
545
546					if(inputChks=="fileimg"){ //이미지 파일 첨부인 경우 체크 						
547						var no  = inputValu.lastIndexOf(".");
548						var FilelastChkExp = inputValu.substr(no+1, 3);
549						if ((FilelastChkExp.toUpperCase() != "JPG") && (FilelastChkExp.toUpperCase() != "GIF") && (FilelastChkExp.toUpperCase() != "PNG")) {
550							alert("jpg, png, gif 파일만 업로드 가능합니다.");
551							inputName[x].focus();
552							return false;
553						}
554					}
555					if(inputChks=="fileadd"){ //파일 첨부인 경우 체크 						
556						var no  = inputValu.lastIndexOf(".");
557						var FilelastChkExp = inputValu.substr(no+1, 3);
558						if ((FilelastChkExp.toUpperCase() != "JPG") && (FilelastChkExp.toUpperCase() != "GIF") && (FilelastChkExp.toUpperCase() != "PNG") && (FilelastChkExp.toUpperCase() != "XLS") && (FilelastChkExp.toUpperCase() != "XLSX") && (FilelastChkExp.toUpperCase() != "PDF") && (FilelastChkExp.toUpperCase() != "HWP") && (FilelastChkExp.toUpperCase() != "DOC") && (FilelastChkExp.toUpperCase() != "TEXT") && (FilelastChkExp.toUpperCase() != "PPT") && (FilelastChkExp.toUpperCase() != "PPTX")) {
559							alert("jpg, png, gif, xls,xlsx,pdf,hwp,doc,text,ppt,pptx 파일만 업로드 가능합니다.");
560							inputName[x].focus();
561							return false;
562						}
563					}
564
565                } //inputType
566
567
568
569         }
570
571		if(document.getElementById("fm_post")){
572			myeditor.outputBodyHTML()	//에디터 삽입관련
573		}
574
575		if(document.getElementById("fm_post1")){
576			myeditor1.outputBodyHTML()	//에디터 삽입관련
577		}
578
579		if(document.getElementById("fm_post2")){
580			myeditor2.outputBodyHTML()	//에디터 삽입관련
581		}
582		if(document.getElementById("fm_post3")){
583			myeditor3.outputBodyHTML()	//에디터 삽입관련
584		}
585
586        signform2.submit();
587
588    } //end frmCheck_signform2(nv){
589
590
591    function frmCheck_new(nv){
592
593        var nameVal = nv.split(",")
594        var inputName = new Array();
595        var inputText,thislimit,inputValu;
596        var n_cnt = nameVal.length;
597        for(n=0;n<n_cnt;n++){
598
599			var sVal = $("input[name="+nameVal[n]+"]").val();
600			var sVal_1 = $("textarea[name="+nameVal[n]+"]").val();
601			var sVal_2 = $("file[name="+nameVal[n]+"]").val();
602
603			if(sVal==undefined){
604				inputName[n] = $("textarea[name="+nameVal[n]+"]");				
605				if(sVal_1==undefined) {
606					inputName[n] = $("select[name="+nameVal[n]+"]");
607				}
608			}else{
609				inputName[n] = $("input[name="+nameVal[n]+"]");
610			}
611
612		}
613
614        var x_cnt = inputName.length;
615        for(x=0;x<x_cnt;x++){
616
617            inputText = inputName[x].attr('title');
618            inputRead = inputName[x].attr('readonly');
619            inputType = inputName[x].attr('type');
620            inputChks = inputName[x].attr('chk');      //입력타입 email number eng fileimg
621            thislimit = inputName[x].attr('txtlimit'); //글자수 txtlimit='n'
622
623				if(inputType=="radio"){
624                     if(!$(":radio[name="+nameVal[x]+"]:checked").val()){
625                        alert(inputText+"를(을) 체크해주세요");
626                        return false;
627                     }
628
629                }else if(inputType=="checkbox"){
630                    if($("input:checkbox[name="+nameVal[x]+"]").is(":checked") != true ){
631                        alert(inputText+"를(을) 체크해주세요");
632                        return false;
633                    }
634                    /// 값가져오기 $('input:checkbox [ id="checkbox_id" ]').val();
635
636                }else if(inputType=="text" || inputType=="textarea"){
637
638                    inputValu = inputName[x].val();
639                    if(!inputValu ){
640						if (inputRead=="readonly"){
641                            alert(inputText+"이(가) 입력 되지 않았습니다.");
642                            inputName[x].focus();
643                           return false;
644						}else{
645							if(inputChks=="fm_post"){
646								if(!myeditor.outputBodyHTML()) {
647									alert(inputText+"를(을) 입력해주세요");
648									return false;
649								}
650							} else {
651								alert(inputText+"를(을) 입력해주세요");
652								inputName[x].focus();
653								return false;
654							}
655                           
656						}
657					}else{
658                        if(thislimit){ ///txtlimit='n'
659                            var valcnt = inputValu.length;
660                            if(thislimit > valcnt){
661                                    alert(inputText+"의 글자 수가 작습니다.");
662                                    inputName[x].focus();
663                                    return false;
664                            }
665                        }
666                    }
667
668					if(inputChks){
669						if(inputChks=="idcheck"){
670							  if(inputValu < 5 || inputValu > 20) {
671								 alert("아이디는 5 ~ 20자의 영문 소문자나 숫자 또는 조합된 문자열이어야 합니다!");
672								 return false;
673							  }
674							  for(var i = 0; i < inputValu.length; i++) {
675								 var chr = inputValu.substr(i,1);
676								 if((chr < '0' || chr > '9') && (chr < 'a' || chr > 'z')) {
677									alert("아이디는 5 ~ 20자의 영문 소문자나 숫자 또는 조합된 문자열이어야 합니다!");
678									return false;
679								 }
680							  }
681						}
682						//관리자 아이디체크 
683						if(inputChks=="idcheck_1"){
684							  if(inputValu < 5 || inputValu > 20) {
685								 alert("아이디는 5 ~ 20자의 영문 소문자나 숫자 또는 조합된 문자열이어야 합니다!");
686								 return false;
687							  }
688							  for(var i = 0; i < inputValu.length; i++) {
689								 var chr = inputValu.substr(i,1);
690								 if((chr < '0' || chr > '9') && (chr < 'a' || chr > 'z')) {
691									alert("아이디는 5 ~ 20자의 영문 소문자나 숫자 또는 조합된 문자열이어야 합니다!");
692									return false;
693								 }
694
695							  }
696						}
697
698
699						if(inputChks=="email"){
700						    var EmailChkExp = /([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
701							if(!EmailChkExp.test(inputName[x].val())) {
702								alert('이메일 주소가 유효하지 않습니다');
703									inputName[x].focus();
704								return false;
705							}
706						}
707						if(inputChks=="number"){
708						    var NumberChkExp = /[^0-9.]/gi;
709							if(NumberChkExp.test(inputName[x].val())== true ) {
710								alert('숫자만 입력해주세요');
711									inputName[x].focus();
712								return false;
713							}
714						}
715						if(inputChks=="eng"){
716						    var NumberChkExp = /[^a-zA-Z]/g;;
717							if(NumberChkExp.test(inputName[x].val())== true ) {
718								alert('영문만 입력해주세요');
719									inputName[x].focus();
720								return false;
721							}
722						}
723						if(inputChks=="email_check"){
724						    var NumberChkExp = /[ㄱ-ㅎ|ㅏ-ㅣ|가-힣]/;
725							if(NumberChkExp.test(inputName[x].val())== true ) {
726								alert('한글 입력은 불가능 합니다.');
727									inputName[x].focus();
728								return false;
729							}
730						}
731
732					} ///CHK
733                }else if(inputType=="hidden"){
734                    inputValu = inputName[x].val();
735                    if(!inputValu ){
736                        alert(inputText+"를(을) 선택해주세요");
737                        return false;
738                    }
739                }else if(inputType=="password"){
740                    inputValu = inputName[x].val();
741
742					//비밀번호 확인 검사
743					if(inputChks=="pwcheck"){
744						  var PwChkExp = /^(?=.*[a-zA-Z])(?=.*[!@#$%^*+=-])(?=.*[0-9]).{6,16}$/;
745						  if(!PwChkExp.test(inputName[x].val())) {
746								alert('비밀번호는 영문, 숫자, 특수문자 조합으로 사용가능합니다.');
747								inputName[x].focus();
748								return false;
749						  }
750
751						  if (signform.upasswd.value != signform.upasswd1.value) {
752							 alert("입력하신 비밀번호가 일치하지 않습니다.\n다시 확인하시고 입력하여 주십시오.");
753							 signform.upasswd1.focus();
754							 signform.upasswd1.select();
755							 return false;
756						  }
757					}
758
759
760                    if(!inputValu ){
761                            alert(inputText+"를(을) 입력해주세요");
762                            inputName[x].focus();
763                           return false;
764                    }else{
765                        if(thislimit){
766                            var valcnt = inputValu.length;
767                            if(thislimit > valcnt){
768								alert(inputText+"의 글자 수가 작습니다.");
769								inputName[x].focus();
770								return false;
771                            }
772                        }
773                    }
774                }else{ ///select
775                    inputValu = inputName[x].val();
776                    if(!inputValu ){
777                        alert(inputText+"를 선택해 주세요.");
778						inputName[x].focus();
779                        return false;
780                    }
781
782					if(inputChks=="fileimg"){ //이미지 파일 첨부인 경우 체크 						
783						var no  = inputValu.lastIndexOf(".");
784						var FilelastChkExp = inputValu.substr(no+1, 3);
785						if ((FilelastChkExp.toUpperCase() != "JPG") && (FilelastChkExp.toUpperCase() != "GIF") && (FilelastChkExp.toUpperCase() != "PNG")) {
786							alert("jpg, png, gif 파일만 업로드 가능합니다.");
787							inputName[x].focus();
788							return false;
789						}
790					}
791					if(inputChks=="fileadd"){ //파일 첨부인 경우 체크 						
792						var no  = inputValu.lastIndexOf(".");
793						var FilelastChkExp = inputValu.substr(no+1, 3);
794						if ((FilelastChkExp.toUpperCase() != "JPG") && (FilelastChkExp.toUpperCase() != "GIF") && (FilelastChkExp.toUpperCase() != "PNG") && (FilelastChkExp.toUpperCase() != "XLS") && (FilelastChkExp.toUpperCase() != "XLSX") && (FilelastChkExp.toUpperCase() != "PDF") && (FilelastChkExp.toUpperCase() != "HWP") && (FilelastChkExp.toUpperCase() != "DOC") && (FilelastChkExp.toUpperCase() != "TEXT") && (FilelastChkExp.toUpperCase() != "PPT") && (FilelastChkExp.toUpperCase() != "PPTX")) {
795							alert("jpg, png, gif, xls,xlsx,pdf,hwp,doc,text,ppt,pptx 파일만 업로드 가능합니다.");
796							inputName[x].focus();
797							return false;
798						}
799					}
800
801                } //inputType
802
803
804
805         }
806
807		if(document.getElementById("fm_post")){
808			myeditor.outputBodyHTML()	//에디터 삽입관련
809		}
810
811		if(document.getElementById("fm_post1")){
812			myeditor1.outputBodyHTML()	//에디터 삽입관련
813		}
814
815		if(document.getElementById("fm_post2")){
816			myeditor2.outputBodyHTML()	//에디터 삽입관련
817		}
818		if(document.getElementById("fm_post3")){
819			myeditor3.outputBodyHTML()	//에디터 삽입관련
820		}
821
822        signform.submit();
823
824    } //end frmCheck_new(nv){
825
826
827  function frmCheck_eng(nv){
828
829        var nameVal = nv.split(",")
830        var inputName = new Array();
831        var inputText,thislimit,inputValu;
832        var n_cnt = nameVal.length;
833        for(n=0;n<n_cnt;n++){
834
835			var sVal = $("input[name="+nameVal[n]+"]").val();
836			var sVal_1 = $("textarea[name="+nameVal[n]+"]").val();
837			var sVal_2 = $("file[name="+nameVal[n]+"]").val();
838
839			if(sVal==undefined){
840				inputName[n] = $("textarea[name="+nameVal[n]+"]");				
841				if(sVal_1==undefined) {
842					inputName[n] = $("select[name="+nameVal[n]+"]");
843				}
844			}else{
845				inputName[n] = $("input[name="+nameVal[n]+"]");
846			}
847
848		}
849
850        var x_cnt = inputName.length;
851        for(x=0;x<x_cnt;x++){
852
853            inputText = inputName[x].attr('title');
854            inputRead = inputName[x].attr('readonly');
855            inputType = inputName[x].attr('type');
856            inputChks = inputName[x].attr('chk');      //입력타입 email number eng fileimg
857            thislimit = inputName[x].attr('txtlimit'); //글자수 txtlimit='n'
858
859				if(inputType=="radio"){
860                     if(!$(":radio[name="+nameVal[x]+"]:checked").val()){
861                        alert("Please check "+inputText);
862                        return false;
863                     }
864
865                }else if(inputType=="checkbox"){
866                    if($("input:checkbox[name="+nameVal[x]+"]").is(":checked") != true ){
867                        alert("Please check "+inputText);
868                        return false;
869                    }
870                    /// 값가져오기 $('input:checkbox [ id="checkbox_id" ]').val();
871
872                }else if(inputType=="text" || inputType=="textarea"){
873
874                    inputValu = inputName[x].val();
875                    if(!inputValu ){
876						if (inputRead=="readonly"){
877                            alert(inputText+"이(가) 입력 되지 않았습니다.");
878                            inputName[x].focus();
879                           return false;
880						}else{
881							alert("Please enter "+inputText);
882                            inputName[x].focus();
883                           return false;
884						}
885					}else{
886                        if(thislimit){ ///txtlimit='n'
887                            var valcnt = inputValu.length;
888                            if(thislimit > valcnt){
889                                    alert(inputText+"의 글자 수가 작습니다.");
890                                    inputName[x].focus();
891                                    return false;
892                            }
893                        }
894                    }
895
896					if(inputChks){
897						if(inputChks=="idcheck"){
898							  if(inputValu < 5 || inputValu > 20) {
899								 alert("아이디는 5 ~ 20자의 영문 소문자나 숫자 또는 조합된 문자열이어야 합니다!");
900								 return false;
901							  }
902							  for(var i = 0; i < inputValu.length; i++) {
903								 var chr = inputValu.substr(i,1);
904								 if((chr < '0' || chr > '9') && (chr < 'a' || chr > 'z')) {
905									alert("아이디는 5 ~ 20자의 영문 소문자나 숫자 또는 조합된 문자열이어야 합니다!");
906									return false;
907								 }
908							  }
909						}
910						//관리자 아이디체크 
911						if(inputChks=="idcheck_1"){
912							  if(inputValu < 5 || inputValu > 20) {
913								 alert("아이디는 5 ~ 20자의 영문 소문자나 숫자 또는 조합된 문자열이어야 합니다!");
914								 return false;
915							  }
916							  for(var i = 0; i < inputValu.length; i++) {
917								 var chr = inputValu.substr(i,1);
918								 if((chr < '0' || chr > '9') && (chr < 'a' || chr > 'z')) {
919									alert("아이디는 5 ~ 20자의 영문 소문자나 숫자 또는 조합된 문자열이어야 합니다!");
920									return false;
921								 }
922
923							  }
924						}
925
926
927						if(inputChks=="email"){
928						    var EmailChkExp = /([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
929							if(!EmailChkExp.test(inputName[x].val())) {
930								alert('이메일 주소가 유효하지 않습니다');
931									inputName[x].focus();
932								return false;
933							}
934						}
935						if(inputChks=="number"){
936						    var NumberChkExp = /[^0-9.]/gi;
937							if(NumberChkExp.test(inputName[x].val())== true ) {
938								alert('숫자만 입력해주세요');
939									inputName[x].focus();
940								return false;
941							}
942						}
943						if(inputChks=="eng"){
944						    var NumberChkExp = /[^a-zA-Z]/g;;
945							if(NumberChkExp.test(inputName[x].val())== true ) {
946								alert('영문만 입력해주세요');
947									inputName[x].focus();
948								return false;
949							}
950						}
951
952					} ///CHK
953                }else if(inputType=="hidden"){
954                    inputValu = inputName[x].val();
955                    if(!inputValu ){
956                        alert("Please enter "+inputText);
957                        return false;
958                    }
959                }else if(inputType=="password"){
960                    inputValu = inputName[x].val();
961
962					//비밀번호 확인 검사
963					if(inputChks=="pwcheck"){
964						  var PwChkExp = /^(?=.*[a-zA-Z])(?=.*[!@#$%^*+=-])(?=.*[0-9]).{6,16}$/;
965						  if(!PwChkExp.test(inputName[x].val())) {
966								alert('비밀번호는 영문, 숫자, 특수문자 조합으로 사용가능합니다.');
967								inputName[x].focus();
968								return false;
969						  }
970
971						  if (signform.upasswd.value != signform.upasswd1.value) {
972							 alert("입력하신 비밀번호가 일치하지 않습니다.\n다시 확인하시고 입력하여 주십시오.");
973							 signform.upasswd1.focus();
974							 signform.upasswd1.select();
975							 return false;
976						  }
977					}
978
979
980                    if(!inputValu ){
981							alert("Please enter "+inputText);
982                            inputName[x].focus();
983                           return false;
984                    }else{
985                        if(thislimit){
986                            var valcnt = inputValu.length;
987                            if(thislimit > valcnt){
988								alert(inputText+"의 글자 수가 작습니다.");
989								inputName[x].focus();
990								return false;
991                            }
992                        }
993                    }
994                }else{ ///select
995                    inputValu = inputName[x].val();
996                    if(!inputValu ){
997                        alert("Please enter "+inputText);
998						inputName[x].focus();
999                        return false;
1000                    }
1001
1002					if(inputChks=="fileimg"){ //이미지 파일 첨부인 경우 체크 						
1003						var no  = inputValu.lastIndexOf(".");
1004						var FilelastChkExp = inputValu.substr(no+1, 3);
1005						if ((FilelastChkExp.toUpperCase() != "JPG") && (FilelastChkExp.toUpperCase() != "GIF") && (FilelastChkExp.toUpperCase() != "PNG")) {
1006							alert("jpg, png, gif 파일만 업로드 가능합니다.");
1007							inputName[x].focus();
1008							return false;
1009						}
1010					}
1011					if(inputChks=="fileadd"){ //파일 첨부인 경우 체크 						
1012						var no  = inputValu.lastIndexOf(".");
1013						var FilelastChkExp = inputValu.substr(no+1, 3);
1014						if ((FilelastChkExp.toUpperCase() != "JPG") && (FilelastChkExp.toUpperCase() != "GIF") && (FilelastChkExp.toUpperCase() != "PNG") && (FilelastChkExp.toUpperCase() != "XLS") && (FilelastChkExp.toUpperCase() != "XLSX") && (FilelastChkExp.toUpperCase() != "PDF") && (FilelastChkExp.toUpperCase() != "HWP") && (FilelastChkExp.toUpperCase() != "DOC") && (FilelastChkExp.toUpperCase() != "TEXT") && (FilelastChkExp.toUpperCase() != "PPT") && (FilelastChkExp.toUpperCase() != "PPTX")) {
1015							alert("jpg, png, gif, xls,xlsx,pdf,hwp,doc,text,ppt,pptx 파일만 업로드 가능합니다.");
1016							inputName[x].focus();
1017							return false;
1018						}
1019					}
1020
1021                } //inputType
1022
1023
1024
1025         }
1026
1027		if(document.getElementById("fm_post")){
1028			myeditor.outputBodyHTML()	//에디터 삽입관련
1029		}
1030		if(document.getElementById("fm_post1")){
1031			myeditor1.outputBodyHTML()	//에디터 삽입관련
1032		}
1033        signform.submit();
1034
1035    } //end frmCheck_eng(nv){
1036
1037    function frmCheck_cha(nv){
1038
1039        var nameVal = nv.split(",")
1040        var inputName = new Array();
1041        var inputText,thislimit,inputValu;
1042        var n_cnt = nameVal.length;
1043        for(n=0;n<n_cnt;n++){
1044
1045			var sVal = $("input[name="+nameVal[n]+"]").val();
1046			var sVal_1 = $("textarea[name="+nameVal[n]+"]").val();
1047			var sVal_2 = $("file[name="+nameVal[n]+"]").val();
1048
1049			if(sVal==undefined){
1050				inputName[n] = $("textarea[name="+nameVal[n]+"]");				
1051				if(sVal_1==undefined) {
1052					inputName[n] = $("select[name="+nameVal[n]+"]");
1053				}
1054			}else{
1055				inputName[n] = $("input[name="+nameVal[n]+"]");
1056			}
1057
1058		}
1059
1060        var x_cnt = inputName.length;
1061        for(x=0;x<x_cnt;x++){
1062
1063            inputText = inputName[x].attr('title');
1064            inputRead = inputName[x].attr('readonly');
1065            inputType = inputName[x].attr('type');
1066            inputChks = inputName[x].attr('chk');      //입력타입 email number eng fileimg
1067            thislimit = inputName[x].attr('txtlimit'); //글자수 txtlimit='n'
1068
1069				if(inputType=="radio"){
1070                     if(!$(":radio[name="+nameVal[x]+"]:checked").val()){
1071                        alert(inputText+"를(을) 체크해주세요");
1072                        return false;
1073                     }
1074
1075                }else if(inputType=="checkbox"){
1076                    if($("input:checkbox[name="+nameVal[x]+"]").is(":checked") != true ){
1077                        alert(inputText+"를(을) 체크해주세요");
1078                        return false;
1079                    }
1080                    /// 값가져오기 $('input:checkbox [ id="checkbox_id" ]').val();
1081
1082                }else if(inputType=="text" || inputType=="textarea"){
1083
1084                    inputValu = inputName[x].val();
1085                    if(!inputValu ){
1086						if (inputRead=="readonly"){
1087                            alert(inputText+"이(가) 입력 되지 않았습니다.");
1088                            inputName[x].focus();
1089                           return false;
1090						}else{
1091                            alert(inputText+"를(을) 입력해주세요");
1092                            inputName[x].focus();
1093                           return false;
1094						}
1095					}else{
1096                        if(thislimit){ ///txtlimit='n'
1097                            var valcnt = inputValu.length;
1098                            if(thislimit > valcnt){
1099                                    alert(inputText+"의 글자 수가 작습니다.");
1100                                    inputName[x].focus();
1101                                    return false;
1102                            }
1103                        }
1104                    }
1105
1106					if(inputChks){
1107						if(inputChks=="idcheck"){
1108							  if(inputValu < 5 || inputValu > 20) {
1109								 alert("아이디는 5 ~ 20자의 영문 소문자나 숫자 또는 조합된 문자열이어야 합니다!");
1110								 return false;
1111							  }
1112							  for(var i = 0; i < inputValu.length; i++) {
1113								 var chr = inputValu.substr(i,1);
1114								 if((chr < '0' || chr > '9') && (chr < 'a' || chr > 'z')) {
1115									alert("아이디는 5 ~ 20자의 영문 소문자나 숫자 또는 조합된 문자열이어야 합니다!");
1116									return false;
1117								 }
1118							  }
1119						}
1120						//관리자 아이디체크 
1121						if(inputChks=="idcheck_1"){
1122							  if(inputValu < 5 || inputValu > 20) {
1123								 alert("아이디는 5 ~ 20자의 영문 소문자나 숫자 또는 조합된 문자열이어야 합니다!");
1124								 return false;
1125							  }
1126							  for(var i = 0; i < inputValu.length; i++) {
1127								 var chr = inputValu.substr(i,1);
1128								 if((chr < '0' || chr > '9') && (chr < 'a' || chr > 'z')) {
1129									alert("아이디는 5 ~ 20자의 영문 소문자나 숫자 또는 조합된 문자열이어야 합니다!");
1130									return false;
1131								 }
1132
1133							  }
1134						}
1135
1136
1137						if(inputChks=="email"){
1138						    var EmailChkExp = /([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
1139							if(!EmailChkExp.test(inputName[x].val())) {
1140								alert('이메일 주소가 유효하지 않습니다');
1141									inputName[x].focus();
1142								return false;
1143							}
1144						}
1145						if(inputChks=="number"){
1146						    var NumberChkExp = /[^0-9.]/gi;
1147							if(NumberChkExp.test(inputName[x].val())== true ) {
1148								alert('숫자만 입력해주세요');
1149									inputName[x].focus();
1150								return false;
1151							}
1152						}
1153						if(inputChks=="eng"){
1154						    var NumberChkExp = /[^a-zA-Z]/g;;
1155							if(NumberChkExp.test(inputName[x].val())== true ) {
1156								alert('영문만 입력해주세요');
1157									inputName[x].focus();
1158								return false;
1159							}
1160						}
1161
1162					} ///CHK
1163                }else if(inputType=="hidden"){
1164                    inputValu = inputName[x].val();
1165                    if(!inputValu ){
1166                        alert(inputText+"를(을) 선택해주세요");
1167                        return false;
1168                    }
1169                }else if(inputType=="password"){
1170                    inputValu = inputName[x].val();
1171
1172					//비밀번호 확인 검사
1173					if(inputChks=="pwcheck"){
1174						  var PwChkExp = /^(?=.*[a-zA-Z])(?=.*[!@#$%^*+=-])(?=.*[0-9]).{6,16}$/;
1175						  if(!PwChkExp.test(inputName[x].val())) {
1176								alert('비밀번호는 영문, 숫자, 특수문자 조합으로 사용가능합니다.');
1177								inputName[x].focus();
1178								return false;
1179						  }
1180
1181						  if (signform.upasswd.value != signform.upasswd1.value) {
1182							 alert("입력하신 비밀번호가 일치하지 않습니다.\n다시 확인하시고 입력하여 주십시오.");
1183							 signform.upasswd1.focus();
1184							 signform.upasswd1.select();
1185							 return false;
1186						  }
1187					}
1188
1189
1190                    if(!inputValu ){
1191                            alert(inputText+"를(을) 입력해주세요");
1192                            inputName[x].focus();
1193                           return false;
1194                    }else{
1195                        if(thislimit){
1196                            var valcnt = inputValu.length;
1197                            if(thislimit > valcnt){
1198								alert(inputText+"의 글자 수가 작습니다.");
1199								inputName[x].focus();
1200								return false;
1201                            }
1202                        }
1203                    }
1204                }else{ ///select
1205                    inputValu = inputName[x].val();
1206                    if(!inputValu ){
1207                        alert(inputText+"를 선택해 주세요.");
1208						inputName[x].focus();
1209                        return false;
1210                    }
1211
1212					if(inputChks=="fileimg"){ //이미지 파일 첨부인 경우 체크 						
1213						var no  = inputValu.lastIndexOf(".");
1214						var FilelastChkExp = inputValu.substr(no+1, 3);
1215						if ((FilelastChkExp.toUpperCase() != "JPG") && (FilelastChkExp.toUpperCase() != "GIF") && (FilelastChkExp.toUpperCase() != "PNG")) {
1216							alert("jpg, png, gif 파일만 업로드 가능합니다.");
1217							inputName[x].focus();
1218							return false;
1219						}
1220					}
1221					if(inputChks=="fileadd"){ //파일 첨부인 경우 체크 						
1222						var no  = inputValu.lastIndexOf(".");
1223						var FilelastChkExp = inputValu.substr(no+1, 3);
1224						if ((FilelastChkExp.toUpperCase() != "JPG") && (FilelastChkExp.toUpperCase() != "GIF") && (FilelastChkExp.toUpperCase() != "PNG") && (FilelastChkExp.toUpperCase() != "XLS") && (FilelastChkExp.toUpperCase() != "XLSX") && (FilelastChkExp.toUpperCase() != "PDF") && (FilelastChkExp.toUpperCase() != "HWP") && (FilelastChkExp.toUpperCase() != "DOC") && (FilelastChkExp.toUpperCase() != "TEXT") && (FilelastChkExp.toUpperCase() != "PPT") && (FilelastChkExp.toUpperCase() != "PPTX")) {
1225							alert("jpg, png, gif, xls,xlsx,pdf,hwp,doc,text,ppt,pptx 파일만 업로드 가능합니다.");
1226							inputName[x].focus();
1227							return false;
1228						}
1229					}
1230
1231                } //inputType
1232
1233
1234
1235         }
1236
1237		if(document.getElementById("fm_post")){
1238			myeditor.outputBodyHTML()	//에디터 삽입관련
1239		}
1240		if(document.getElementById("fm_post1")){
1241			myeditor1.outputBodyHTML()	//에디터 삽입관련
1242		}
1243        signform.submit();
1244
1245    } //end frmCheck_cha(nv){
1246
1247
1248    function frmCheck_cha(nv){
1249
1250        var nameVal = nv.split(",")
1251        var inputName = new Array();
1252        var inputText,thislimit,inputValu;
1253        var n_cnt = nameVal.length;
1254        for(n=0;n<n_cnt;n++){
1255
1256			var sVal = $("input[name="+nameVal[n]+"]").val();
1257			var sVal_1 = $("textarea[name="+nameVal[n]+"]").val();
1258			var sVal_2 = $("file[name="+nameVal[n]+"]").val();
1259
1260			if(sVal==undefined){
1261				inputName[n] = $("textarea[name="+nameVal[n]+"]");				
1262				if(sVal_1==undefined) {
1263					inputName[n] = $("select[name="+nameVal[n]+"]");
1264				}
1265			}else{
1266				inputName[n] = $("input[name="+nameVal[n]+"]");
1267			}
1268
1269		}
1270
1271        var x_cnt = inputName.length;
1272        for(x=0;x<x_cnt;x++){
1273
1274            inputText = inputName[x].attr('title');
1275            inputRead = inputName[x].attr('readonly');
1276            inputType = inputName[x].attr('type');
1277            inputChks = inputName[x].attr('chk');      //입력타입 email number eng fileimg
1278            thislimit = inputName[x].attr('txtlimit'); //글자수 txtlimit='n'
1279
1280				if(inputType=="radio"){
1281                     if(!$(":radio[name="+nameVal[x]+"]:checked").val()){
1282                        alert(inputText+"를(을) 체크해주세요");
1283                        return false;
1284                     }
1285
1286                }else if(inputType=="checkbox"){
1287                    if($("input:checkbox[name="+nameVal[x]+"]").is(":checked") != true ){
1288                        alert(inputText+"를(을) 체크해주세요");
1289                        return false;
1290                    }
1291                    /// 값가져오기 $('input:checkbox [ id="checkbox_id" ]').val();
1292
1293                }else if(inputType=="text" || inputType=="textarea"){
1294
1295                    inputValu = inputName[x].val();
1296                    if(!inputValu ){
1297						if (inputRead=="readonly"){
1298                            alert(inputText+"이(가) 입력 되지 않았습니다.");
1299                            inputName[x].focus();
1300                           return false;
1301						}else{
1302                            alert(inputText+"를(을) 입력해주세요");
1303                            inputName[x].focus();
1304                           return false;
1305						}
1306					}else{
1307                        if(thislimit){ ///txtlimit='n'
1308                            var valcnt = inputValu.length;
1309                            if(thislimit > valcnt){
1310                                    alert(inputText+"의 글자 수가 작습니다.");
1311                                    inputName[x].focus();
1312                                    return false;
1313                            }
1314                        }
1315                    }
1316
1317					if(inputChks){
1318						if(inputChks=="idcheck"){
1319							  if(inputValu < 5 || inputValu > 20) {
1320								 alert("아이디는 5 ~ 20자의 영문 소문자나 숫자 또는 조합된 문자열이어야 합니다!");
1321								 return false;
1322							  }
1323							  for(var i = 0; i < inputValu.length; i++) {
1324								 var chr = inputValu.substr(i,1);
1325								 if((chr < '0' || chr > '9') && (chr < 'a' || chr > 'z')) {
1326									alert("아이디는 5 ~ 20자의 영문 소문자나 숫자 또는 조합된 문자열이어야 합니다!");
1327									return false;
1328								 }
1329							  }
1330						}
1331						//관리자 아이디체크 
1332						if(inputChks=="idcheck_1"){
1333							  if(inputValu < 5 || inputValu > 20) {
1334								 alert("아이디는 5 ~ 20자의 영문 소문자나 숫자 또는 조합된 문자열이어야 합니다!");
1335								 return false;
1336							  }
1337							  for(var i = 0; i < inputValu.length; i++) {
1338								 var chr = inputValu.substr(i,1);
1339								 if((chr < '0' || chr > '9') && (chr < 'a' || chr > 'z')) {
1340									alert("아이디는 5 ~ 20자의 영문 소문자나 숫자 또는 조합된 문자열이어야 합니다!");
1341									return false;
1342								 }
1343
1344							  }
1345						}
1346
1347
1348						if(inputChks=="email"){
1349						    var EmailChkExp = /([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
1350							if(!EmailChkExp.test(inputName[x].val())) {
1351								alert('이메일 주소가 유효하지 않습니다');
1352									inputName[x].focus();
1353								return false;
1354							}
1355						}
1356						if(inputChks=="number"){
1357						    var NumberChkExp = /[^0-9.]/gi;
1358							if(NumberChkExp.test(inputName[x].val())== true ) {
1359								alert('숫자만 입력해주세요');
1360									inputName[x].focus();
1361								return false;
1362							}
1363						}
1364						if(inputChks=="eng"){
1365						    var NumberChkExp = /[^a-zA-Z]/g;;
1366							if(NumberChkExp.test(inputName[x].val())== true ) {
1367								alert('영문만 입력해주세요');
1368									inputName[x].focus();
1369								return false;
1370							}
1371						}
1372
1373					} ///CHK
1374                }else if(inputType=="hidden"){
1375                    inputValu = inputName[x].val();
1376                    if(!inputValu ){
1377                        alert(inputText+"를(을) 선택해주세요");
1378                        return false;
1379                    }
1380                }else if(inputType=="password"){
1381                    inputValu = inputName[x].val();
1382
1383					//비밀번호 확인 검사
1384					if(inputChks=="pwcheck"){
1385						  var PwChkExp = /^(?=.*[a-zA-Z])(?=.*[!@#$%^*+=-])(?=.*[0-9]).{6,16}$/;
1386						  if(!PwChkExp.test(inputName[x].val())) {
1387								alert('비밀번호는 영문, 숫자, 특수문자 조합으로 사용가능합니다.');
1388								inputName[x].focus();
1389								return false;
1390						  }
1391
1392						  if (signform.upasswd.value != signform.upasswd1.value) {
1393							 alert("입력하신 비밀번호가 일치하지 않습니다.\n다시 확인하시고 입력하여 주십시오.");
1394							 signform.upasswd1.focus();
1395							 signform.upasswd1.select();
1396							 return false;
1397						  }
1398					}
1399
1400
1401                    if(!inputValu ){
1402                            alert(inputText+"를(을) 입력해주세요");
1403                            inputName[x].focus();
1404                           return false;
1405                    }else{
1406                        if(thislimit){
1407                            var valcnt = inputValu.length;
1408                            if(thislimit > valcnt){
1409								alert(inputText+"의 글자 수가 작습니다.");
1410								inputName[x].focus();
1411								return false;
1412                            }
1413                        }
1414                    }
1415                }else{ ///select
1416                    inputValu = inputName[x].val();
1417                    if(!inputValu ){
1418                        alert(inputText+"를 선택해 주세요.");
1419						inputName[x].focus();
1420                        return false;
1421                    }
1422
1423					if(inputChks=="fileimg"){ //이미지 파일 첨부인 경우 체크 						
1424						var no  = inputValu.lastIndexOf(".");
1425						var FilelastChkExp = inputValu.substr(no+1, 3);
1426						if ((FilelastChkExp.toUpperCase() != "JPG") && (FilelastChkExp.toUpperCase() != "GIF") && (FilelastChkExp.toUpperCase() != "PNG")) {
1427							alert("jpg, png, gif 파일만 업로드 가능합니다.");
1428							inputName[x].focus();
1429							return false;
1430						}
1431					}
1432					if(inputChks=="fileadd"){ //파일 첨부인 경우 체크 						
1433						var no  = inputValu.lastIndexOf(".");
1434						var FilelastChkExp = inputValu.substr(no+1, 3);
1435						if ((FilelastChkExp.toUpperCase() != "JPG") && (FilelastChkExp.toUpperCase() != "GIF") && (FilelastChkExp.toUpperCase() != "PNG") && (FilelastChkExp.toUpperCase() != "XLS") && (FilelastChkExp.toUpperCase() != "XLSX") && (FilelastChkExp.toUpperCase() != "PDF") && (FilelastChkExp.toUpperCase() != "HWP") && (FilelastChkExp.toUpperCase() != "DOC") && (FilelastChkExp.toUpperCase() != "TEXT") && (FilelastChkExp.toUpperCase() != "PPT") && (FilelastChkExp.toUpperCase() != "PPTX")) {
1436							alert("jpg, png, gif, xls,xlsx,pdf,hwp,doc,text,ppt,pptx 파일만 업로드 가능합니다.");
1437							inputName[x].focus();
1438							return false;
1439						}
1440					}
1441
1442                } //inputType
1443
1444
1445
1446         }
1447
1448		if(document.getElementById("fm_post")){
1449			myeditor.outputBodyHTML()	//에디터 삽입관련
1450		}
1451		if(document.getElementById("fm_post1")){
1452			myeditor1.outputBodyHTML()	//에디터 삽입관련
1453		}
1454        signform.submit();
1455
1456    } //end frmCheck_cha(nv){
1457
1458
1459   function frmCheck_jp(nv){
1460
1461        var nameVal = nv.split(",")
1462        var inputName = new Array();
1463        var inputText,thislimit,inputValu;
1464        var n_cnt = nameVal.length;
1465        for(n=0;n<n_cnt;n++){
1466
1467			var sVal = $("input[name="+nameVal[n]+"]").val();
1468			var sVal_1 = $("textarea[name="+nameVal[n]+"]").val();
1469			var sVal_2 = $("file[name="+nameVal[n]+"]").val();
1470
1471			if(sVal==undefined){
1472				inputName[n] = $("textarea[name="+nameVal[n]+"]");				
1473				if(sVal_1==undefined) {
1474					inputName[n] = $("select[name="+nameVal[n]+"]");
1475				}
1476			}else{
1477				inputName[n] = $("input[name="+nameVal[n]+"]");
1478			}
1479
1480		}
1481
1482        var x_cnt = inputName.length;
1483        for(x=0;x<x_cnt;x++){
1484
1485            inputText = inputName[x].attr('title');
1486            inputRead = inputName[x].attr('readonly');
1487            inputType = inputName[x].attr('type');
1488            inputChks = inputName[x].attr('chk');      //입력타입 email number eng fileimg
1489            thislimit = inputName[x].attr('txtlimit'); //글자수 txtlimit='n'
1490
1491				if(inputType=="radio"){
1492                     if(!$(":radio[name="+nameVal[x]+"]:checked").val()){
1493                        alert(inputText+"를(을) 체크해주세요");
1494                        return false;
1495                     }
1496
1497                }else if(inputType=="checkbox"){
1498                    if($("input:checkbox[name="+nameVal[x]+"]").is(":checked") != true ){
1499                        alert(inputText+"를(을) 체크해주세요");
1500                        return false;
1501                    }
1502                    /// 값가져오기 $('input:checkbox [ id="checkbox_id" ]').val();
1503
1504                }else if(inputType=="text" || inputType=="textarea"){
1505
1506                    inputValu = inputName[x].val();
1507                    if(!inputValu ){
1508						if (inputRead=="readonly"){
1509                            alert(inputText+"이(가) 입력 되지 않았습니다.");
1510                            inputName[x].focus();
1511                           return false;
1512						}else{
1513                            alert(inputText+"를(을) 입력해주세요");
1514                            inputName[x].focus();
1515                           return false;
1516						}
1517					}else{
1518                        if(thislimit){ ///txtlimit='n'
1519                            var valcnt = inputValu.length;
1520                            if(thislimit > valcnt){
1521                                    alert(inputText+"의 글자 수가 작습니다.");
1522                                    inputName[x].focus();
1523                                    return false;
1524                            }
1525                        }
1526                    }
1527
1528					if(inputChks){
1529						if(inputChks=="idcheck"){
1530							  if(inputValu < 5 || inputValu > 20) {
1531								 alert("아이디는 5 ~ 20자의 영문 소문자나 숫자 또는 조합된 문자열이어야 합니다!");
1532								 return false;
1533							  }
1534							  for(var i = 0; i < inputValu.length; i++) {
1535								 var chr = inputValu.substr(i,1);
1536								 if((chr < '0' || chr > '9') && (chr < 'a' || chr > 'z')) {
1537									alert("아이디는 5 ~ 20자의 영문 소문자나 숫자 또는 조합된 문자열이어야 합니다!");
1538									return false;
1539								 }
1540							  }
1541						}
1542						//관리자 아이디체크 
1543						if(inputChks=="idcheck_1"){
1544							  if(inputValu < 5 || inputValu > 20) {
1545								 alert("아이디는 5 ~ 20자의 영문 소문자나 숫자 또는 조합된 문자열이어야 합니다!");
1546								 return false;
1547							  }
1548							  for(var i = 0; i < inputValu.length; i++) {
1549								 var chr = inputValu.substr(i,1);
1550								 if((chr < '0' || chr > '9') && (chr < 'a' || chr > 'z')) {
1551									alert("아이디는 5 ~ 20자의 영문 소문자나 숫자 또는 조합된 문자열이어야 합니다!");
1552									return false;
1553								 }
1554
1555							  }
1556						}
1557
1558
1559						if(inputChks=="email"){
1560						    var EmailChkExp = /([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
1561							if(!EmailChkExp.test(inputName[x].val())) {
1562								alert('이메일 주소가 유효하지 않습니다');
1563									inputName[x].focus();
1564								return false;
1565							}
1566						}
1567						if(inputChks=="number"){
1568						    var NumberChkExp = /[^0-9.]/gi;
1569							if(NumberChkExp.test(inputName[x].val())== true ) {
1570								alert('숫자만 입력해주세요');
1571									inputName[x].focus();
1572								return false;
1573							}
1574						}
1575						if(inputChks=="eng"){
1576						    var NumberChkExp = /[^a-zA-Z]/g;;
1577							if(NumberChkExp.test(inputName[x].val())== true ) {
1578								alert('영문만 입력해주세요');
1579									inputName[x].focus();
1580								return false;
1581							}
1582						}
1583
1584					} ///CHK
1585                }else if(inputType=="hidden"){
1586                    inputValu = inputName[x].val();
1587                    if(!inputValu ){
1588                        alert(inputText+"를(을) 선택해주세요");
1589                        return false;
1590                    }
1591                }else if(inputType=="password"){
1592                    inputValu = inputName[x].val();
1593
1594					//비밀번호 확인 검사
1595					if(inputChks=="pwcheck"){
1596						  var PwChkExp = /^(?=.*[a-zA-Z])(?=.*[!@#$%^*+=-])(?=.*[0-9]).{6,16}$/;
1597						  if(!PwChkExp.test(inputName[x].val())) {
1598								alert('비밀번호는 영문, 숫자, 특수문자 조합으로 사용가능합니다.');
1599								inputName[x].focus();
1600								return false;
1601						  }
1602
1603						  if (signform.upasswd.value != signform.upasswd1.value) {
1604							 alert("입력하신 비밀번호가 일치하지 않습니다.\n다시 확인하시고 입력하여 주십시오.");
1605							 signform.upasswd1.focus();
1606							 signform.upasswd1.select();
1607							 return false;
1608						  }
1609					}
1610
1611
1612                    if(!inputValu ){
1613                            alert(inputText+"를(을) 입력해주세요");
1614                            inputName[x].focus();
1615                           return false;
1616                    }else{
1617                        if(thislimit){
1618                            var valcnt = inputValu.length;
1619                            if(thislimit > valcnt){
1620								alert(inputText+"의 글자 수가 작습니다.");
1621								inputName[x].focus();
1622								return false;
1623                            }
1624                        }
1625                    }
1626                }else{ ///select
1627                    inputValu = inputName[x].val();
1628                    if(!inputValu ){
1629                        alert(inputText+"를 선택해 주세요.");
1630						inputName[x].focus();
1631                        return false;
1632                    }
1633
1634					if(inputChks=="fileimg"){ //이미지 파일 첨부인 경우 체크 						
1635						var no  = inputValu.lastIndexOf(".");
1636						var FilelastChkExp = inputValu.substr(no+1, 3);
1637						if ((FilelastChkExp.toUpperCase() != "JPG") && (FilelastChkExp.toUpperCase() != "GIF") && (FilelastChkExp.toUpperCase() != "PNG")) {
1638							alert("jpg, png, gif 파일만 업로드 가능합니다.");
1639							inputName[x].focus();
1640							return false;
1641						}
1642					}
1643					if(inputChks=="fileadd"){ //파일 첨부인 경우 체크 						
1644						var no  = inputValu.lastIndexOf(".");
1645						var FilelastChkExp = inputValu.substr(no+1, 3);
1646						if ((FilelastChkExp.toUpperCase() != "JPG") && (FilelastChkExp.toUpperCase() != "GIF") && (FilelastChkExp.toUpperCase() != "PNG") && (FilelastChkExp.toUpperCase() != "XLS") && (FilelastChkExp.toUpperCase() != "XLSX") && (FilelastChkExp.toUpperCase() != "PDF") && (FilelastChkExp.toUpperCase() != "HWP") && (FilelastChkExp.toUpperCase() != "DOC") && (FilelastChkExp.toUpperCase() != "TEXT") && (FilelastChkExp.toUpperCase() != "PPT") && (FilelastChkExp.toUpperCase() != "PPTX")) {
1647							alert("jpg, png, gif, xls,xlsx,pdf,hwp,doc,text,ppt,pptx 파일만 업로드 가능합니다.");
1648							inputName[x].focus();
1649							return false;
1650						}
1651					}
1652
1653                } //inputType
1654
1655
1656
1657         }
1658
1659		if(document.getElementById("fm_post")){
1660			myeditor.outputBodyHTML()	//에디터 삽입관련
1661		}
1662		if(document.getElementById("fm_post1")){
1663			myeditor1.outputBodyHTML()	//에디터 삽입관련
1664		}
1665        signform.submit();
1666
1667    } //end frmCheck_jp(nv){
1668
1669
1670//
1671//    // mini jQuery plugin that formats to two decimal places
1672//    (function($) {
1673//        $.fn.currencyFormat = function() {
1674//            this.each( function( i ) {
1675//                $(this).change( function( e ){
1676//                    if( isNaN( parseFloat( this.value ) ) ) return;
1677//                    this.value = parseFloat(this.value).toFixed(2);
1678//                });
1679//            });
1680//            return this; //for chaining
1681//        }
1682//    })( jQuery );
1683//
1684//    // apply the currencyFormat behaviour to elements with 'currency' as their class
1685//    $( function() {
1686//        $('.currency').currencyFormat();
1687//     });
1688
1689function fillzero(obj, len) {
1690  obj= '000000000000000'+obj;
1691  return obj.substring(obj.length-len);
1692}
1693//사용법 fillzero(33, 5);
1694//ê²°ê³¼ 00033
1695
1696function numberFormat(val){
1697    var number = val.toString();
1698    var minus = false;
1699
1700    if (number.length > 3) {
1701        if (number.charAt(0) == '-') {
1702            number = number.substr(1);
1703            minus = true;
1704        }
1705        var mod = number.length % 3;
1706        var div = number.length / 3;
1707        var output = (mod > 0 ? (number.substring(0, mod)) : "");
1708        for (var i = 0; i < Math.floor(div); i++) {
1709            if ((mod == 0) && (i == 0)) {
1710                output += number.substring(mod + 3 * i, mod + 3 * i + 3);
1711            } else {
1712                output += "," + number.substring(mod + 3 * i, mod + 3 * i + 3);
1713            }
1714        }
1715        if (minus) {
1716            return "-"+ output;
1717        } else {
1718            return output;
1719        }
1720    } else {
1721        return number;
1722    }
1723}
1724
1725/*  modal_name  띄우려는 내용에 해당하는 레이어 */
1726function modal_pop ( modal_id ,title, width) {
1727	$(function() {
1728		$( modal_id ).dialog({
1729			'autoOpen': true,
1730			'title' : title,
1731			'modal': true,
1732			'draggable': false,
1733			'resizable': false,
1734			'width': width,
1735				'buttons': {
1736					"닫기": function() {
1737						$( this ).dialog( "close" );
1738						history.back();
1739					}
1740				}
1741
1742			});
1743	});
1744}
1745
1746//modal_open ( 'modal_id', 'modal_title', modal_width, true, false, 'calendar1_id', 'calendar2_id' )
1747function modal_open ( modal_id, modal_title, modal_width, modal_resizable, modal_button, calendar1_id, calendar2_id ) {
1748	$(function() {
1749		$( modal_id ).dialog({
1750			'autoOpen': false,
1751			'title': modal_title,
1752			'resizable': modal_resizable,
1753			'closeOnEscape': true ,
1754			'buttons': [],
1755			'modal': true
1756		});
1757		if (modal_width > 0 ) {
1758			$( modal_id ).dialog({
1759				'width': modal_width
1760			});
1761		}
1762		if (modal_button) {
1763			$( modal_id ).dialog({
1764				'buttons': {
1765					"닫기": function() {
1766						$( this ).dialog( "close" );
1767					}
1768				}
1769			});
1770		}
1771	});
1772
1773	if ( calendar1_id.length > 0 )
1774	{
1775		$(function() {
1776			$( "#"+calendar1_id ).datepicker( );
1777		});
1778	}
1779	if ( calendar2_id.length > 0 )
1780	{
1781		$(function() {
1782			$( "#"+calendar2_id ).datepicker( );
1783		});
1784	}
1785
1786	$( modal_id ).dialog( "open" );
1787	return false;
1788}
1789
1790//모달창으로 메시지를 보여줌.
1791function view_msg ( modal_id, modal_title, msg ) {
1792	$( "#"+modal_id ).html( msg );
1793	modal_open ( "#"+modal_id, modal_title, 0, false, false, "", "" );
1794}
1795
1796 /*  //사용법
1797     javascript:parent.fancyboxClose();
1798     javascript:fancyboxOpen('../blank.html');
1799 */
1800// fancybox팝업창열기
1801function fancyboxOpen(u,w){
1802	if(w==''){
1803	    $.fancybox.open({'type': 'iframe','padding' : 0,'href' : u });
1804	}else{
1805	    $.fancybox.open({'type': 'iframe','padding' : 0,'href' : u, 'width' : w });
1806	}
1807}
1808// fancybox팝업창닫기
1809function fancyboxClose(){
1810    $.fancybox.close();
1811}
1812// fancybox팝업창열기 사이즈 지정
1813function fancyboxOpen_w(u,w){
1814    $.fancybox.open({'type': 'iframe','padding' : 0,'href' : u, 'width' : w });
1815}
1816
1817//달력 관련
1818//$(function() {
1819//	$( "#view_sdate" ).datepicker( );
1820//	$( "#view_edate" ).datepicker( );
1821//});
1822//end 달력 관련
1823
1824
1825
1826//체크박스 전체선택
1827function checkall(frm){
1828   var i=0;
1829   if(frm.chklist.length){
1830
1831   }else{
1832      if(frm.allCheck.checked){
1833         frm.chklist.checked=true;
1834      }else{
1835         frm.chklist.checked=false;
1836      }
1837   }
1838
1839   if(frm.chklist.length > 1){
1840      for(i=0; i<frm.chklist.length; i++){
1841         if(frm.allCheck.checked){
1842            frm.chklist[i].checked=true;
1843         }else{
1844            frm.chklist[i].checked=false;
1845      }
1846    }
1847  }
1848} //end checkall(frm)
1849
1850
1851function rawurlencode (str) {
1852  // From: http://phpjs.org/functions
1853  // +   original by: Brett Zamir (http://brett-zamir.me)
1854  // +      input by: travc
1855  // +      input by: Brett Zamir (http://brett-zamir.me)
1856  // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
1857  // +      input by: Michael Grier
1858  // +   bugfixed by: Brett Zamir (http://brett-zamir.me)
1859  // +      input by: Ratheous
1860  // +      reimplemented by: Brett Zamir (http://brett-zamir.me)
1861  // +   bugfixed by: Joris
1862  // +      reimplemented by: Brett Zamir (http://brett-zamir.me)
1863  // %          note 1: This reflects PHP 5.3/6.0+ behavior
1864  // %        note 2: Please be aware that this function expects to encode into UTF-8 encoded strings, as found on
1865  // %        note 2: pages served as UTF-8
1866  // *     example 1: rawurlencode('Kevin van Zonneveld!');
1867  // *     returns 1: 'Kevin%20van%20Zonneveld%21'
1868  // *     example 2: rawurlencode('http://kevin.vanzonneveld.net/');
1869  // *     returns 2: 'http%3A%2F%2Fkevin.vanzonneveld.net%2F'
1870  // *     example 3: rawurlencode('http://www.google.nl/search?q=php.js&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:en-US:unofficial&client=firefox-a');
1871  // *     returns 3: 'http%3A%2F%2Fwww.google.nl%2Fsearch%3Fq%3Dphp.js%26ie%3Dutf-8%26oe%3Dutf-8%26aq%3Dt%26rls%3Dcom.ubuntu%3Aen-US%3Aunofficial%26client%3Dfirefox-a'
1872  str = (str + '').toString();
1873
1874  // Tilde should be allowed unescaped in future versions of PHP (as reflected below), but if you want to reflect current
1875  // PHP behavior, you would need to add ".replace(/~/g, '%7E');" to the following.
1876  return encodeURIComponent(str).replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28').
1877  replace(/\)/g, '%29').replace(/\*/g, '%2A');
1878}
1879/**
1880 * 스트링의 바이트 수를 센다(length를 하면 한글도 길이1로 나오는데 바이트 수는 2가 된다)
1881 * @param obj   : textfield ,textarea objec
1882 * @return 바이트 수
1883 */
1884function FFGetByteLength( obj ){
1885	var msg = obj;
1886	var str = new String(msg);
1887	var len = str.length;
1888	var count = 0;
1889
1890	for (k=0 ; k<len ; k++){
1891		temp = str.charAt(k);
1892
1893		if (escape(temp).length > 4) {
1894			count += 2;
1895		}
1896		else if (temp == '\r' && str.charAt(k+1) == '\n') { // \r\n일 경우
1897			count += 2;
1898		}
1899		else if (temp != '\n') {
1900			count++;
1901		}
1902	}
1903	return count;
1904}
1905/**
1906 * 스트링을 바이트 수만큼 자른다. 물론 한글을 깨지지 않게 잘라준다(한글이 짤릴경우 버림을 취한다)
1907 * maxlength만큼 자른 후 obj의 값을 자른 결과로 setting한다
1908 * @param obj       : textfield ,textarea objec
1909 * @param mexlength : 최대길이
1910 */
1911
1912function FFCutByteString( obj, maxlength) {
1913	var str,msg;
1914	var len=0;
1915	var temp;
1916	var count;
1917	count = 0;
1918
1919	msg = obj;
1920	str = new String(msg);
1921	len = str.length;
1922
1923	for(k=0 ; k<len ; k++) {
1924		temp = str.charAt(k);
1925
1926		if(escape(temp).length > 4) {
1927			count += 2;
1928		}
1929		else if (temp == '\r' && str.charAt(k+1) == '\n') { // \r\n일 경우
1930			count += 2;
1931		}
1932		else if(temp != '\n') {
1933			count++;
1934		}
1935		if(count > maxlength) {
1936			str = str.substring(0,k);
1937			break;
1938		}
1939	}
1940	obj.value = str;
1941}
1942// Trim
1943function Trim(obj1){
1944	obj1 = obj1.replace(/^(\s+)|(\s+)$/g, "")
1945	return obj1;
1946}
1947
1948
1949//===== 오른쪽 마우스 막는 스크립트시작 ======= //
1950/*
1951document.oncontextmenu = function(){return false}
1952if(document.layers) {
1953	window.captureEvents(Event.MOUSEDOWN);
1954	window.onmousedown = function(e){
1955		if(e.target==document)return false;
1956	}
1957}
1958else {
1959	document.onmousedown = function(){return false}
1960}*/
1961//===== 오른쪽 마우스 막는 스크립트 끝 ======= //
1962
1963// 문자열 공백제거 함수 ##################################################
1964// Ex) str = "    테 스   트   ".stripspace(); => str = "테스트";
1965String.prototype.stripspace = function() {
1966	return this.replace(/ /g, '');
1967}
1968// 숫자입력 확인 ##################################################
1969function numberOnly(obj, isDec) {
1970	if (!isDec) isDec = false;
1971	if (obj.disabled) return false;
1972
1973	var num = obj.value.stripspace();
1974	if (num == "") return false;
1975
1976	if (!checkNum(num, isDec)) {
1977		//alert ("숫자만 입력해주세요.");
1978		num = stripCharFromNum(num, isDec);
1979		obj.blur(); obj.focus();
1980	}
1981	num = stripCharFromNum(stripComma(num), isDec);
1982
1983	var arrNum = num.split(".");
1984	if (arrNum.length > 1) {
1985		obj.value = arrNum[0]+"."+arrNum[1];
1986	}
1987	else {
1988		obj.value = arrNum[0];
1989	}
1990}
1991
1992// 숫자 확인 ##################################################
1993function checkNum(value, isDec) {
1994	var RegExp;
1995
1996	if (!isDec) isDec = false;
1997	RegExp = (isDec) ? /^-?[\d\.]*$/ : /^-?[\d]*$/;
1998
1999	return RegExp.test(value)? true : false;
2000}
2001// 숫자 3자리수마다 콤마(,) 찍기 ##################################################
2002function formatComma(num, pos) {
2003	if (!pos) pos = 0;  //소숫점 이하 자리수
2004	var re = /(-?\d+)(\d{3}[,.])/;
2005
2006	var strNum = stripComma(num.toString());
2007	var arrNum = strNum.split(".");
2008
2009	arrNum[0] += ".";
2010
2011    while (re.test(arrNum[0])) {
2012        arrNum[0] = arrNum[0].replace(re, "$1,$2");
2013    }
2014
2015	if (arrNum.length > 1) {
2016		if (arrNum[1].length > pos) {
2017			arrNum[1] = arrNum[1].substr(0, pos);
2018		}
2019		return arrNum.join("");
2020	}
2021	else {
2022		return arrNum[0].split(".")[0];
2023	}
2024}
2025
2026// 콤마(,) 제거 ##################################################
2027function stripComma(str) {
2028    var re = /,/g;
2029    return str.replace(re, "");
2030}
2031// Radio(CheckBox) 설정값 가져오기 ##################################################
2032function getRadioVal(obj) {
2033	var i, value = "";
2034
2035	if (obj) {
2036		if (typeof(obj.length) == "undefined") {
2037			if (obj.checked) {
2038				value = obj.value;
2039			}
2040		}
2041		else {
2042			for (i=0; i<obj.length; i++) {
2043				if (obj[i].checked) {
2044					value = obj[i].value;
2045					break;
2046				}
2047			}
2048		}
2049	}
2050	return value;
2051}
2052
2053// Radio 설정하기 ##################################################
2054
2055// 숫자 문자열에서 문자열 제거 ##################################################
2056function stripCharFromNum(value, isDec) {
2057	var i;
2058	var minus = "-";
2059	var nums = "1234567890"+((isDec) ? "." : "");
2060	var result = "";
2061
2062	for(i=0; i<value.length; i++) {
2063		numChk = value.charAt(i);
2064		if (i == 0 && numChk == minus) {
2065			result += minus;
2066		}
2067		else {
2068			for(j=0; j<nums.length; j++) {
2069				if(numChk == nums.charAt(j)) {
2070					result += nums.charAt(j);
2071					break;
2072				}
2073			}
2074		}
2075	}
2076	return result;
2077}
2078
2079////////////////// 3자리수마다 콤마 찍기 입력폼에서 사용 
2080function WithCommas(x,vname) {
2081	$('#'+vname).val(formatComma(x));	
2082}
2083

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.