// __mouse_xy : jquery-abuilder.js var browser_type; if (navigator.userAgent.indexOf('MSIE 5') != -1) browser_type = 'IE5'; else if (navigator.userAgent.indexOf('MSIE 6') != -1) browser_type = 'IE6'; else if (navigator.userAgent.indexOf('MSIE 7') != -1) browser_type = 'IE7'; else if (navigator.userAgent.indexOf('MSIE 8') != -1) browser_type = 'IE8'; else if (navigator.userAgent.indexOf('MSIE 9') != -1) browser_type = 'IE9'; else if (navigator.userAgent.indexOf('MSIE 10') != -1) browser_type = 'IE10'; else if (navigator.userAgent.indexOf('MSIE') != -1) browser_type = 'IE'; else if (navigator.userAgent.indexOf('Chrome') != -1) browser_type = 'Chrome'; else if (navigator.userAgent.indexOf('Firefox') != -1) browser_type = 'FF'; else if (navigator.userAgent.indexOf('Safari') != -1) browser_type = 'Safari'; else browser_type = 'ETC'; var PU_host = parse_url(document.location.href); var user_level; function MM_preloadImages() { //v3.0 var d=document; if (d.images){ if (!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if (!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i= 5) j++; //한글 else k++; //영문 } ln = k+(j*2); if (gb == "D" && ln == 0) { alert("내용을 입력하세요."); obj.focus(); obj.select(); return false; } if (obj_print_len_box != '') obj_print_len_box.value = ln; if (len_min != '') { if (ln < len_min) { if (msg != '' && msg != undefined) alert(msg); else alert(len_min+"Byte 이상으로 입력하세요. (현재 "+ ln +" Byte)"); obj.focus(); return false; } } if (ln > len) { if (msg != '' && msg != undefined) alert(msg); else alert(len+"Byte 이내로 입력하세요. (현재 "+ ln +" Byte)"); obj.focus(); return false; } else { if (obj_print_len_box != '') obj_print_len_box.value = ln; return true; } } /*function coloring_box(obj, color) { if (color == '') color = "#EDFBFF;"; obj.style.background = color; } function focus_msg(obj, msg, color) { if (msg != '') alert(msg); if (color != '') coloring_box(obj, color); obj.focus(); }*/ // 입력상자에 숫자만 입력되도록 걸러주는 함수 function ck_number(obj, min, max, msg) { if (obj.value == '') return; minus = ''; if (typeof(msg) == "undefined") msg = ''; x = no_comma(obj.value); // 콤마제거 if (x.charAt(0) == '-') { // 음수인 경우 minus = '-'; // minus flag 에 - 지정 x = x.substring(1, x.length); // 양수로 변환 } if (isNaN(x)) { // 1. 숫자가 아닌경우 메시지 후 원위치 alert("숫자만 입력 하세요."); obj.value = obj.defaultValue; obj.focus(); } else { // 숫자인경우 if (typeof(min) != 'undefined' && min != 0) { // 2. 최소 입력 값 처리 (최소 입력값 보다 작으면 원위치) if (minus + x < min) { // 음수반영 if (msg == '') alert(min + " 이상의 숫자만 입력하세요"); else alert(msg); obj.value = obj.defaultValue obj.focus(); return; } } if (typeof(max) != 'undefined' && max != 0) { // 3. 최대 입력 값 처리 (최대 입력값 보다 크면 원위치) if (minus + x > max) { // 음수반영 if (msg == '') alert(max + " 이하의 숫자만 입력하세요"); else alert(msg); obj.value = obj.defaultValue obj.focus(); return; } } obj.value = minus + number_format(x); // 콤마 찍어서 리턴 } } function ck_number_1(obj) { x = obj.value; if (isNaN(x)) { alert("숫자만 입력 하세요."); obj.value = obj.defaultValue; obj.focus(); } } // 주어진 문자열의 콤마를 없애는 함수 function no_comma(data) { T_data = ''; targ_str = ','; for (NC_i=0; NC_i 3) s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep); if ((s[1] || '').length < prec) { s[1] = s[1] || ''; s[1] += new Array(prec - s[1].length + 1).join('0'); } return s.join(dec); } function check_number(value, min, max) { reg_express = new RegExp('^[0-9]{' + min + ',' + max + '}$'); if (!reg_express.test(value)) return false; } function check_digit(checkval) { val = new String(checkval); len = val.length; for (idx=0; idx 1) { for (i=0; i -3) obj.style.zIndex = obj.style.zIndex - 1; else obj.style.zIndex = 5; } // 태그 감추는 함수 function set_display_tag(tag_name, mode, except_id_header) { tags = document.getElementsByTagName(tag_name); for (i=0; i"); new_label = document.createElement(""); bias_obj.appendChild(new_node); bias_obj.appendChild(new_label); new_label.innerHTML = radio_label; //node_array[value] = ''; i++; } } // 선택된 라디오버튼의 라벨명을 얻는 함수 function get_radio_label(form, name, checked_value, label_head) { if (typeof(label_head) == 'undefined') label_head = 'label_'; var objs = eval('form.' + name); for (i=0,cnt=objs.length; i 0) { // 멀티체크 연결 if (obj.value == '') { for (i=0; i 12 || dd < 1) || (sex != 1 && sex !=2 )) return false; T_jumin_number_one = T_jumin_number.substring(0, 6); T_jumin_number_two = T_jumin_number.substring(7, 14); for (var i = 0; i <=5 ; i++) chk = chk + ((i%8+2) * parseInt(T_jumin_number_one.substring(i,i+1))); for (var i = 6; i <=11 ; i++) chk = chk + ((i%8+2) * parseInt(T_jumin_number_two.substring(i-6,i-5))); chk = 11 - (chk %11) chk = chk % 10 if (chk != T_jumin_number_two.substring(6,7)) return false; return true; } // 주민등록번호 검사 function jumin_check(j1, j2) { if (j1.value.length<6 || j2.value.length<7) return false; var sum_1 = 0; var sum_2 = 0; var at=0; var juminno= j1.value + j2.value; sum_1 = (juminno.charAt(0)*2)+ (juminno.charAt(1)*3)+ (juminno.charAt(2)*4)+ (juminno.charAt(3)*5)+ (juminno.charAt(4)*6)+ (juminno.charAt(5)*7)+ (juminno.charAt(6)*8)+ (juminno.charAt(7)*9)+ (juminno.charAt(8)*2)+ (juminno.charAt(9)*3)+ (juminno.charAt(10)*4)+ (juminno.charAt(11)*5); sum_2=sum_1%11; if (sum_2 == 0) { at = 10; } else { if (sum_2 == 1) at = 11; else at = sum_2; } att = 11 - at; if (juminno.charAt(12) != att) return false; return true } // 쿠키 입력 function set_cookie(name, value, expirehours) { var today = new Date(); today.setTime(today.getTime() + (60*60*1000*expirehours)); document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + today.toGMTString() + ";"; } // 쿠키 얻음 function get_cookie(name) { var find_sw = false; var start, end; var i = 0; for (i=0; i<= document.cookie.length; i++) { start = i; end = start + name.length; if (document.cookie.substring(start, end) == name) { find_sw = true break } } if (find_sw == true) { start = end + 1; end = document.cookie.indexOf(";", start); if (end < start) end = document.cookie.length; return document.cookie.substring(start, end); } return ''; } // 쿠키 지움 function delete_cookie(name) { var today = new Date(); today.setTime(today.getTime() - 1); var value = get_cookie(name); if (value != '') document.cookie = name + "=" + value + "; path=/; expires=" + today.toGMTString(); } // 같은 레코드에 있는 입력값을 변경 또는 체크 하는 함수 function chg_same_idx_obj(obj_source_name, obj_target_name, idx, mode) { obj_source = document.getElementsByName(obj_source_name); obj_target = document.getElementsByName(obj_target_name); switch (mode) { case 'V' : obj_target[idx].value = obj_source[idx].value; break; case 'C' : obj_target[idx].checked = true; break; } } // 선택(체크)된 레코드 이외의 레코드의 입력상자를 비활성화 시키는 함수 function disable_other_idx_obj(checkbox_name, target_boxs, target_boxs_readonly) { obj_checkbox = document.getElementsByName(checkbox_name); cnt = obj_checkbox.length; cnt_target_boxs = target_boxs.length; for (i=0; i 처럼 실제 입력상자는 hidden 으로 처리 함 function chk_sell_enabled(obj, obj_target_name, index, chk_value, unchk_value) { obj_target = document.getElementsByName(obj_target_name); if (typeof(chk_value) == 'undefined') chk_value = 'Y'; if (typeof(unchk_value) == 'undefined') unchk_value = ''; if (obj.checked == true) obj_target[index].value = chk_value; else obj_target[index].value = unchk_value; } // 견적계산 프로그램 function get_estimate_price(form, nm_item, nm_item_stan, nm_price, nm_ea, nm_subsum, nm_tax, nm_total_sum, extra_title, total_sum) { if (typeof(form) == 'undefined') return; total_sum = parseFloat(total_sum); exist_alpa = 0; item_array = document.getElementsByName(nm_item); item_stan_array = document.getElementsByName(nm_item_stan); price_array = document.getElementsByName(nm_price); ea_array = document.getElementsByName(nm_ea); subsum_array = document.getElementsByName(nm_subsum); if (nm_tax != '') tax_array = document.getElementsByName(nm_tax); cnt_price_array = price_array.length; cnt_ea_array = ea_array.length; cnt_subsum_array = subsum_array.length; if (nm_tax != '') cnt_tax_array = tax_array.length; obj_total_sum = eval('form.' + nm_total_sum); if (cnt_price_array != cnt_ea_array || cnt_price_array != cnt_subsum_array) { alert('가격, 수량, 소계 항목의 개수가 서로 다릅니다.'); return; } else { total_item = cnt_price_array; } for (i=0; i TS_compare) { date_compare = new Date(TS_compare * 1000); // 최대 날짜 객체 if (typeof(msg_after) == 'undefined' || msg_after == '') msg = date_compare.toLocaleString() + ' 이전 까지만 선택 가능합니다.\n\n지금 선택하신 날짜는 ' + date_select.toLocaleString() + '입니다.'; else msg = msg_after; alert(msg); T_flag_1 = 'F'; } } if (T_flag_1 == 'F') { for (key in date_objs) { obj = eval('form.' + box_name + '_' + key); if (typeof(obj) != 'undefined') obj.value = ''; } } } } /*// text, textarea 상자의 커서위치 파악 function save_cursor_postion(obj_text_box) { //if (obj_text_box.createTextRange) obj_text_box.currentPos = document.selection.createRange().duplicate(); //cursor_position = key_cursor_position(obj_text_box); }*/ function key_cursor_position(obj) { var pos = 0; if (document.selection) { // IE obj.focus(); var Sel = document.selection.createRange(); var SelLength = document.selection.createRange().text.length; Sel.moveStart('character', -obj.value.length - 1000000); // 끝 부분에서 정확한 삽입이 되지 않아 -1000000 을 추가 함... ?? var fix_pos = 0; if (obj.type == 'textarea') fix_pos = 47; // textarea인 경우 위치값을 보정해 줘야함.. 왜?? pos = Sel.text.length - SelLength - fix_pos; } else if (obj.selectionStart || obj.selectionStart == '0') { // FF, Chrome pos = obj.selectionStart; } return pos; } // 커서 위치에 텍스트를 입력 function text_box_insert_text(obj_text_box, text) { var cursor_position = key_cursor_position(obj_text_box); str_old = obj_text_box.value; str_new = str_old.substring(0, cursor_position) + text + str_old.substring(cursor_position); obj_text_box.value = str_new; } // 키보드 입력시 한글인지 확인 하는 함수 // onKeyPress="is_hangul('한글만 입력할 수 있습니다.')" 형식으로 활용 function is_hangul(msg) { if (event.keyCode < 12592 || event.keyCode > 12687) { if (msg != '') alert(msg); event.returnValue = false } } // 이메일 제공업체 변경 function chg_email_vendor(form, obj, email_2_box) { email_2_box.value = obj.value; EVB_span = document.getElementById(email_2_box.name + '_span'); if (obj.value == '') { email_2_box.readOnly = false; EVB_span.style.display = 'inline'; } else { email_2_box.readOnly = true; EVB_span.style.display = 'none'; } } function set_box_value(obj, str) { obj.value = str; } function show_answer(answer_code) { var obj = document.getElementById(answer_code); if (obj.style.display != 'none') { // 클릭한 레이어가 열려 있으면 hide_answer(obj); return; } else { obj.style.display = ''; } } function hide_answer(obj) { obj.style.display = 'none'; } // 스카이스크래퍼 function sky_scrapper(obj_id, abs_top, rel_top) { var obj = document.getElementById(obj_id); var y; y = Math.max(document.body.scrollTop, document.documentElement.scrollTop) + abs_top; // 페에지 로딩시 포지션 obj.style.top = y + 'px'; obj.style.visibility = "visible"; sky_scrapper_exec(obj_id, abs_top, rel_top); return true; } function sky_scrapper_exec(obj_id, abs_top, rel_top) { var obj = document.getElementById(obj_id); var yMenu1From, yMenu1To, yButtonFrom, yButtonTo, yOffset, timeoutNextCheck, y; yMenu1From = parseInt (obj.style.top, 10); yMenu1To = Math.max(document.body.scrollTop, document.documentElement.scrollTop) + rel_top; // 위쪽 위치 timeoutNextCheck = 500; if ( yMenu1From != yMenu1To ) { yOffset = Math.ceil( Math.abs( yMenu1To - yMenu1From ) / 20); if ( yMenu1To < yMenu1From ) yOffset = -yOffset; if (Math.max(document.body.scrollTop, document.documentElement.scrollTop) > abs_top) { y = parseInt (obj.style.top, 10) + yOffset; obj.style.top = y + 'px'; } else { obj.style.top = abs_top + 'px'; } timeoutNextCheck = 10; } setTimeout (function(){ sky_scrapper_exec(obj_id, abs_top, rel_top); }, timeoutNextCheck); } // 클립보드로 텍스트를 복사 function copy_to_clip(cp_str){ if (window.clipboardData) { window.clipboardData.setData("Text", cp_str); // IE .. } else if (window.netscape) { netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect'); var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard); if (!clip) return; var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable); if (!trans) return; trans.addDataFlavor('text/unicode'); var str = new Object(); var len = new Object(); var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString); var copytext=cp_str; str.data=copytext; trans.setTransferData("text/unicode",str,copytext.length*2); var clipid=Components.interfaces.nsIClipboard; if (!clip) return false; clip.setData(trans,null,clipid.kGlobalClipboard); } alert("Complete copy_to_clip. Use Ctrl+V\n" + cp_str); return false; } // _GET 변수 얻기 function get_get_var(var_name) { var strURL = server_query_string.replace('#;', ''); var T_var_name = strURL.split('?'); if (T_var_name.length > 1) T_var_name.shift(); // 첫 번째 인자를 제거한다. T_var_name = T_var_name.join('?'); T_var_name = T_var_name.split('&'); if (strURL.substring(1).length > 0) { var var_names = new Array; for (i=0;i= 0) { // 남은시간이 1초보다 클때만 day = Math.floor(r_sec / (3600 * 24)); // 남은일수 mod = r_sec % (24 * 3600); hour = Math.floor(mod / 3600); // 남은시간 mod = mod % 3600; min = Math.floor(mod / 60); // 남은분 sec = mod % 60; // 남은초 str_count = (day > 0) ? day + "일 " : ""; // 보여줄 글자를 셋팅 str_count = (hour > 0) ? str_count + hour + "시간 " : (str_count.length > 0) ? str_count + hour + "시간 " : str_count; str_count = (min > 0) ? str_count + min + "분 " : (str_count.length > 0) ? str_count + min + "분 " : str_count; str_count = str_count + sec + "초" } if (( sec <= 0 && str_count == "0초" ) || ( str_count == "" )) str_count = "종료"; // 목표시간에 도달 // 값 출력 view_obj = document.getElementById(view_obj_id); view_obj.innerHTML = str_count; if (str_count != "종료") setTimeout("get_count_down(" + r_time + ", '" + view_obj_id + "')", 1000); // 1초마다 남은시간 갱신 } // 숫자를 제외한 모든문자를 제거하는 함수 function only_number(val){ var reg=/[^\d]/; while(reg.test(val)){ val=val.replace(reg,""); } val = Number(val); return val; } // Parse a URL and return its components, version: 1107.2516, discuss at: http://phpjs.org/functions/parse_url function parse_url(str, component) { var key = ['source', 'scheme', 'authority', 'userInfo', 'user', 'pass', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'fragment'], ini = (this.php_js && this.php_js.ini) || {}, mode = (ini['phpjs.parse_url.mode'] && ini['phpjs.parse_url.mode'].local_value) || 'php', parser = { php: /^(?:([^:\/?#]+):)?(?:\/\/()(?:(?:()(?:([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?()(?:(()(?:(?:[^?#\/]*\/)*)()(?:[^?#]*))(?:\?([^#]*))?(?:#(.*))?)/, strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/, loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/\/?)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/ // Added one optional slash to post-scheme to catch file:/// (should restrict this) }; var m = parser[mode].exec(str), uri = {}, i = 14; while (i--) { if (m[i]) uri[key[i]] = m[i]; } if (component) return uri[component.replace('PHP_URL_', '').toLowerCase()]; if (mode !== 'php') { var name = (ini['phpjs.parse_url.queryKey'] && ini['phpjs.parse_url.queryKey'].local_value) || 'queryKey'; parser = /(?:^|&)([^&=]*)=?([^&]*)/g; uri[name] = {}; uri[key[12]].replace(parser, function ($0, $1, $2) { if ($1) {uri[name][$1] = $2;} }); } delete uri.source; return uri; } function array_unique(arr) { var result = []; for (var i = 0; i < arr.length; i++) if (result.indexOf(arr[i]) == -1) result.push(arr[i]); return result; } function hasClass(ele,cls) { return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)')); } function addClass(ele,cls) { if (!this.hasClass(ele,cls)) ele.className += " "+cls; } function removeClass(ele,cls) { if (hasClass(ele,cls)) { var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)'); ele.className=ele.className.replace(reg,' '); } } function randRange(n_s, n_e) { return Math.floor( (Math.random() * (n_e - n_s + 1)) + n_s ); } function addslashes(str) { str = str.replace(/\\/g,'\\\\'); str = str.replace(/\'/g,'\\\''); str = str.replace(/\"/g,'\\"'); str = str.replace(/\0/g,'\\0'); return str; } function stripslashes(str) { str = str.replace(/\\'/g,'\''); str = str.replace(/\\"/g,'"'); str = str.replace(/\\0/g,'\0'); str = str.replace(/\\\\/g,'\\'); return str; } function calc_rate_value(first, second, third) { var return_value = new Array(); return_value[0] = second * third / first; return_value[1] = second / first; return return_value; } function add_to_favorites(obj, title, url) { if (window.sidebar) { // Mozilla Firefox Bookmark window.sidebar.addPanel(title, url, ''); } else if (window.opera && window.print) { // Opera Hotlist obj.setAttribute('href',url); obj.setAttribute('title',title); obj.setAttribute('rel','sidebar'); obj.click(); } else if (browser_type === 'Chrome') { alert('Ctrl + D 를 누르시면 이 페이지를 저장할 수 있습니다.'); } else if (browser_type === 'Safari') { alert('Ctrl + D 를 누르시면 이 페이지를 저장할 수 있습니다.'); } else { // IE Favorite window.external.AddFavorite(url, title); } return false; } //var errmsg = ''; //var errfld = ''; // 보관용 /* function save_current_pos(objTextArea) { if (objTextArea.createTextRange) objTextArea.currentPos = document.selection.createRange().duplicate(); } function input_special_char(text) { if (objTextArea.createTextRange && objTextArea.currentPos) { var currentPos = objTextArea.currentPos; currentPos.text = currentPos.text.charAt(currentPos.text.length - 1) == ' ' ? text + ' ' : text; } } if (objForm.bc[objForm.bc.selectedIndex].text == '투명') objForm.is_transparency.value = 'Y'; // 실시간 링크 주소 변경 TTT_link.href='insiter.php?design_file=4763.php'; // 선택상자 텍스트 참조 onFocus="this.form.email.value=this.form.category_1.options[this.form.category_1.selectedIndex].text;this.form.homepage.value=this.form.relation_serial_1.options[this.form.relation_serial_1.selectedIndex].text" */