function openWinS(url,width,height,pname) { var argv = openWinS.arguments; var argc = openWinS.arguments.length; var scl = (argc>4) ? "yes" : "no"; var top = parseInt((screen.height / 3) - (height / 2)); var left = parseInt((screen.width / 3) - (width / 2)); if(top < 0) top = 0; if(left < 0) left = 0; var str = 'scrollbars=' + scl + ',' + 'width=' + width + ',height=' + height + ',top=' + top + ',left=' + left + '';; var fc = window.open(url, pname, str); fc.focus(); return fc; } function PicPrevWin(url, pname){ if(!window.HOME_URL) window.HOME_URL = '/'; var fc = openWinS(window.HOME_URL + 'util/?cmd=imageview&src=' + encodeURIComponent(url), 500, 360, pname); fc.focus(); } function InsertTextarea(obj, text, selected) { obj.focus(); document.execCommand('insertText', false, text); if (selected) { var end = obj.selectionEnd; obj.setSelectionRange(end - text.length, end); } } function FindTextarea(obj, text){ var is_find = false; if(text!=null && text!=''){ var startIndex = obj.value.indexOf(text); if(startIndex !== -1) { // 문자열이 존재하면 var endIndex = startIndex + text.length; obj.setSelectionRange(startIndex, endIndex); // 범위를 선택 obj.focus(); // 포커스를 텍스트 영역에 설정 is_find = true; } } if(!is_find){ obj.focus(); obj.setSelectionRange(obj.value.length, obj.value.length); // 맨마지막으로 이동 } } function selection_copy(obj){ // 엘리먼트 텍스트 클립보드로 복사 if(window.getSelection){ var selected = window.getSelection(); selected.selectAllChildren(obj); }else if(document.body.createTextRange) { var range = document.body.createTextRange(); range.moveToElementText(obj); range.select(); } document.execCommand('copy'); setTimeout(function(){ if(window.getSelection){ window.getSelection().removeAllRanges(); } else if (document.selection) { document.selection.empty(); } }, 100); } function getByte(message){ var nbytes = 0; for (i=0; i 4) { nbytes += 2; } else if (ch == '\n') { if (message.charAt(i-1) != '\r') { nbytes += 1; } } else if (ch == '<' || ch == '>') { nbytes += 4; } else { nbytes += 1; } } return nbytes; } function getParam(varName){ var ret_str = ""; var str = location.search; var ptr = str.indexOf(varName+"="); if(ptr>-1){ ptr += varName.length+1; var ptr2 = str.indexOf("&", ptr); if(ptr2!=-1){ ret_str = str.substring(ptr, ptr2); }else{ ret_str = str.substring(ptr, str.length); } } return ret_str; } function number_format(n){ var sgn = n<0 ? -1 : 1; if(sgn<0) n = -n; var str = "" + n + ""; var t_val = ''; if(str.indexOf(".")>0){ var f_val = str.substring(0, str.indexOf(".")); t_val = str.substring(str.indexOf("."), str.length); str = f_val; } var retValue = ""; for (iii = 0; iii < str.length; iii++) { if (iii > 0 && (iii % 3) == 0) { retValue = str.charAt(str.length - iii - 1) + "," + retValue; } else { retValue = str.charAt(str.length - iii - 1) + retValue; } } retValue += t_val; if (retValue == "0") { return "0"; } return (sgn<0?'-':'') + retValue; } function escapeHtml(text) { return text.replace(/&/g, "&").replace(//g, ">").replace(/"/g, """).replace(/'/g, "'"); } var sc_ajax = function(fn_callback, v_data, v_method, v_url, v_async, v_refresh, v_user, v_password) { this.XMLHttp = this.createHttpRequest(); if (!this.ck_made_XMLHttp()) { return false; } if (v_url) { this.sendRequest(fn_callback, v_data, v_method, v_url, v_async, v_refresh, v_user, v_password); } } sc_ajax.prototype.ck_made_XMLHttp = function() { if (!this.XMLHttp) { return false; } else { return true; } } sc_ajax.prototype.createHttpRequest = function() { if (!document.getElementById) { return null; } if (window.ActiveXObject) { try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e2) { return null; } } } else if (window.XMLHttpRequest) { return new XMLHttpRequest(); } else { return null; } } sc_ajax.prototype.sendRequest = function(fn_callback, v_data, v_method, v_url, v_async, v_refresh, v_user, v_password) { if (!this.ck_made_XMLHttp) return false; if (v_refresh == null) v_refresh = false; if (v_refresh || v_method.toUpperCase() == 'GET'){ if(v_url.indexOf('?') == -1){ v_url += "?"; }else{ v_url += "&"; } } var times = (new Date()).getTime().toString(); if (v_refresh) v_url += '_tt' + times.substr(5) + '=' + times; var XMLHttp = this.XMLHttp; if (v_async == undefined) v_async = true; if (window.XMLHttpRequest && !window.document.all) { XMLHttp.onload = function() { fn_callback(XMLHttp); } } else { XMLHttp.onreadystatechange = function() { if (XMLHttp.readyState == 4) { fn_callback(XMLHttp); } } } v_data = this.uniEncode(v_data); this.XMLHttp.open(v_method, v_url, v_async, v_user, v_password); this.setEncHeader(); this.XMLHttp.send(v_data); } sc_ajax.prototype.uniEncode = function(v_data) { if (!this.ck_made_XMLHttp) return false; if (v_data != null && v_data != '') { var encdata = ''; if(typeof v_data == 'string'){ var v_data_a = v_data.split("&"); for (i = 0; i < v_data_a.length; i++) { var dataq = v_data_a[i].split('='); encdata += (encdata!=''?'&':'') + encodeURIComponent(dataq[0]) + '=' + encodeURIComponent(dataq[1]); } }else if(typeof v_data == 'object'){ for(var k in v_data){ encdata += (encdata!=''?'&':'') + encodeURIComponent(k) + '=' + encodeURIComponent(v_data[k]); } } } else { encdata = ""; } return encdata; } sc_ajax.prototype.setEncHeader = function() { if (!this.ck_made_XMLHttp) return false; var contentTypeUrlenc = 'application/x-www-form-urlencoded; charset=UTF-8'; var contentTypeUrlenc_multipart = 'multipart/form-data; charset=UTF-8'; if (!window.opera) { this.XMLHttp.setRequestHeader('Content-Type', contentTypeUrlenc); //this.XMLHttp.setRequestHeader('User-Agent', navigator.userAgent); this.XMLHttp.setRequestHeader('Accept-Language', "ko"); } else { if ((typeof this.XMLHttp.setRequestHeader) == 'function') this.XMLHttp.setRequestHeader('Content-Type', contentTypeUrlenc); //this.XMLHttp.setRequestHeader('User-Agent', navigator.userAgent); this.XMLHttp.setRequestHeader('Accept-Language', "ko"); } } function val2ReadStr(val){ var rgNumber = ['','일','이','삼','사','오','육','칠','팔','구']; var rgRepeat = ['','십','백','천']; var rgUnit = ['','만','억','조','경','해','자','양','구','간','정', '재', '극']; var strNumber = '' + val; var iUnitIndex = parseInt(strNumber.length / 4); var iIndex = strNumber.length % 4 - 1; var iNumberIndex = 0; var iTmp = 0; var strResult = ''; while(iUnitIndex>=0){ while(iIndex>=0){ iTmp = strNumber.charAt(iNumberIndex) * 1; strResult += (iTmp==1 && iIndex != 0) ? '' : rgNumber[iTmp]; strResult += (iTmp==0) ? '' : rgRepeat[iIndex]; iNumberIndex++; iIndex--; } iIndex = 3; strResult += (iTmp==0 && (strNumber.substring(iNumberIndex-4, iNumberIndex) * 1)==0 ? '' : rgUnit[iUnitIndex]) + ''; iUnitIndex--; } if(strResult.substring(strResult.length-1, strResult.length) == ' '){ strResult = strResult.substring(0, strResult.length-1); } return strResult; } function getByte(message){ var nbytes = 0; for (i=0; i 4) { nbytes += 2; } else if (ch == '\n') { if (message.charAt(i-1) != '\r') { nbytes += 1; } } else if (ch == '<' || ch == '>') { nbytes += 4; } else { nbytes += 1; } } return nbytes; } function trim(strSource) { re = /^ +| +$|^\n+|\n+$|^\r+$|\r+$/g; return strSource.replace(re, ''); } if(typeof ''.trim == 'undefined'){ String.prototype.trim = function(){ re = /^ +| +$|^\n+|\n+$|^\r+$|\r+$/g; return this.replace(re, ''); }; } function getCookieVal (offset) { var endstr = document.cookie.indexOf (";", offset); if (endstr == -1) endstr = document.cookie.length; return unescape(document.cookie.substring(offset, endstr)); } function GetCookie(name) { var arg = name + "="; var alen = arg.length; var clen = document.cookie.length; var i = 0; while (i < clen) { var j = i + alen; if (document.cookie.substring(i, j) == arg) return getCookieVal (j); i = document.cookie.indexOf(" ", i) + 1; if (i == 0) break; } return null; } function SetCookie (name, value) { var argv = SetCookie.arguments; var argc = SetCookie.arguments.length; var expires = (2 < argc) ? argv[2] : null; var path = (3 < argc) ? argv[3] : null; var domain = (4 < argc) ? argv[4] : null; var secure = (5 < argc) ? argv[5] : false; document.cookie = name + "=" + escape (value) + ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + ((path == null) ? "" : ("; path=" + path)) + ((domain == null) ? "" : ("; domain=" + domain)) + ((secure == true) ? "; secure" : ""); } function eventOccur(evEle, evType){ event.preventDefault(); if(evEle.fireEvent){ evEle.fireEvent('on' + evType); }else{ var mouseEvent = document.createEvent('MouseEvents'); mouseEvent.initEvent(evType, true, false); var transCheck = evEle.dispatchEvent(mouseEvent); if(!transCheck){ } } return false; } function phoneNumber(el) { if(event.keyCode == 8) return; el.value = _phoneNumber(el.value); } function _phoneNumber(tel) { if (!tel) return ""; let val = tel.replace(/\D/g, ""); let res = ''; if (/^[1-9]/.test(val)) { // 1~9로 시작 (1577 등) if (val.length === 4) return val + "-"; if (val.length < 4) return val; res = val.substring(0, 4) + "-" + val.substring(4, 8); } else if (val.startsWith("02")) { // 02 서울 if (val.length === 2) return val + "-"; if (val.length < 2) return val; if (val.length === 6) return val.substring(0, 2) + "-" + val.substring(2, 6) + "-"; if (val.length < 6) return val.substring(0, 2) + "-" + val.substring(2); if (val.length < 10) return val.substring(0, 2) + "-" + val.substring(2, 5) + "-" + val.substring(5); res = val.substring(0, 2) + "-" + val.substring(2, 6) + "-" + val.substring(6, 10); } else if (/^050/.test(val)) { // 050x 시작 (4자리-3/4자리-4자리) if (val.length === 4) return val + "-"; if (val.length < 4) return val; if (val.length < 8) return val.substring(0, 4) + "-" + val.substring(4); if (val.length < 12) return val.substring(0, 4) + "-" + val.substring(4, 7) + "-" + val.substring(7); res = val.substring(0, 4) + "-" + val.substring(4, 8) + "-" + val.substring(8, 12); } else { // 070, 010, 031 등 (3자리 시작) if (val.length === 3) return val + "-"; if (val.length < 3) return val; if (val.length === 7) return val.substring(0, 3) + "-" + val.substring(3, 7) + "-"; if (val.length < 7) return val.substring(0, 3) + "-" + val.substring(3); if (val.length < 11) return val.substring(0, 3) + "-" + val.substring(3, 6) + "-" + val.substring(6); res = val.substring(0, 3) + "-" + val.substring(3, 7) + "-" + val.substring(7, 11); } return res; } function ssNumber(el) { if(event.keyCode == 8) return; el.value = _ssNumber(el.value); } function _ssNumber(value) { value = value.replace(/[^0-9]/g, "") var pattern = new RegExp("^([0-9]{6})([0-9]{7})?"); var arr = value.replace(pattern, "$1-$2").replace(/--/g, "-").split("-"); if(arr[1]) arr[1] = arr[1].substring(0, 7); return arr.join("-", arr); } function bizNumber(el) { if(event.keyCode == 8) return; el.value = _bizNumber(el.value); } function _bizNumber(value) { value = value.replace(/[^0-9]/g, "") var pattern = new RegExp("^([0-9]{3})([0-9]{2})?([0-9]{5})?"); var arr = value.replace(pattern, "$1-$2-$3").replace(/--/g, "-").split("-"); if(arr[2]) arr[2] = arr[2].substring(0, 5); return arr.join("-", arr); } function dateNumber(el) { if(event.keyCode == 8) return; el.value = _dateNumber(el.value); } function _dateNumber(value) { value = value.replace(/[^0-9]/g, "") var pattern = new RegExp("^([0-9]{4})([0-9]{2})?([0-9]{2})?"); var arr = value.replace(pattern, "$1-$2-$3").replace(/--/g, "-").split("-"); if(arr[2]) arr[2] = arr[2].substring(0, 2); return arr.join("-", arr); } function check_email(el){ if(el.value=="") return true; var email=/^([A-Za-z0-9_\.\-]{1,64})(@{1})([A-Za-z0-9_\-]{1,30})(.{1})([A-Za-z0-9_\-]{2,10})(.{1}[A-Za-z]{2,10})?(.{1}[A-Za-z\-]{2,10})?$/; if (!email.test(el.value)){ return false; } return true; }