var weditor = []; var file_no = 0; var dialog_field $(function(){ $(document).on('submit', '#frm_topsearch', function() { if ($.trim($(this).find('input[name=str]').val()) == '') { alert('검색어를 입력해주세요.'); $(this).find('input[name=str]').focus(); return false; } return true; }); $(document).on('click', '.gotop a', function() { $('body,html').animate({ scrollTop: 0 }, 100); return false; }); $(document).on('keyup', 'input.chknum,input.chkeng,input.chkengnum,input.chkfloat', function() { var val = $(this).val(); if ($(this).hasClass('chkeng')) $(this).val(val.replace(/[^a-z*^A-Z]/gi, '')); if ($(this).hasClass('chkengnum')) $(this).val(val.replace(/[^a-z*^A-Z*^0-9]/gi, '')); if ($(this).hasClass('chknum')) $(this).val(val.replace(/[^0-9]/gi, '')); if ($(this).hasClass('chkfloat')) $(this).val(val.replace(/[^.*^0-9]/gi, '')); }); $(document).on('change', '.filebox .upload-hidden', function() { if(window.FileReader){ var filename = $(this)[0].files[0].name; } else { var filename = $(this).val().split('/').pop().split('\\').pop(); }; $(this).siblings('.upload-name').val(filename); }); $(document).on('click', '.act_home', function() { location.href = '/'; return false; }); $(document).on('click', '.act_back', function() { history.back(); return false; }); $(document).on('click', '.act_go', function() { location.href = $(this).data('url'); return false; }); $(document).on('click', '.act_submit', function() { $(this).closest('form').trigger('submit'); return false; }); $(document).on('click', '.act_form_reset', function() { $.each($(this).closest('form').find('select'), function() { $(this).find('>option:eq(0)').prop('selected', true); }); $.each($(this).closest('form').find('input:text'), function() { $(this).val(''); }); return false; }); $(document).on('click', '.act_src a', function() { $('#frm_search input[name=equipSrcCd]').val($(this).data('code')); $('#frm_search').trigger('submit'); return false; }); $(document).on('change', 'input:radio[name=ord]', function() { $('#frm_search input[name=ord]').val($(this).val()); $('#frm_search').trigger('submit'); return false; }); $(document).on('click', '.act_scale a', function() { $('#frm_search input[name=scale]').val($(this).data('scale')); $('#frm_search').trigger('submit'); return false; }); $(document).on('change', 'select.select_email_domain', function() { $(this).prev('input:text').val($(this).val()); if ($(this).val() == '') $(this).prev('input:text').focus(); }); $(document).on('click', '.act_download', function() { if (!$(this).data('enc') || $(this).data('enc') == '') { alert('등록된 자료가 없습니다.'); } else location.href = '/common/download.php?type='+$(this).data('type')+'&enc='+$(this).data('enc')+'&file='+$(this).data('file'); return false; }); $(document).on('click', '.act_addr', function() { execDaumPostcode($(this).closest('.adressWrap')); return false; }); $(document).on('click', '.act_withdraw', function() { location.href = '/mypage/withdraw.php'; return false; }); $(document).on('click', '.no-auth', function() { alert($(this).data('alert') ? $(this).data('alert') : '권한이 없습니다.'); if ($(this).data('login') == 'Y') location.href = '/member/login.php?ref='+encodeURIComponent(location.pathname+location.search); return false; }); $(document).on('change', 'input:checkbox.set_user_info', function() { if ($(this).prop('checked')) { $.ajax({ type: 'post', dataType: 'json', data: {'evnMode':'login_info'}, url: '/module/member/member_evn.php', success: function(resp) { $('.user-name').val(resp.user_name); $('.user-dept').val(resp.user_dept); $('.user-position').val(resp.user_position); $('.user-email:eq(0)').val(resp.user_email[0]); $('.user-email:eq(1)').val(resp.user_email[1]); $('.user-phone:eq(0)').val(resp.user_phone[0]); $('.user-phone:eq(1)').val(resp.user_phone[1]); $('.user-phone:eq(2)').val(resp.user_phone[2]); $('.user-mobile:eq(0)').val(resp.user_mobile[0]); $('.user-mobile:eq(1)').val(resp.user_mobile[1]); $('.user-mobile:eq(2)').val(resp.user_mobile[2]); }, error: function(jqXHR, textStatus, errorThrown) { alert(errorThrown); } }); } }); $(document).on('click', '.file .add', function() { var max = $(this).closest('.file').data('max') ? $(this).closest('.file').data('max') : 5; if ($(this).closest('.file').find('.in-file').length >= max) { alert('첨부파일은 '+($(this).closest('.file').find('input:checkbox').length+max)+'개까지 등록 가능합니다.'); } else { $obj = $(this).closest('.file').find('.in-file:first').clone().css('margin-top','4px'); $obj.find('.add').remove(); $obj.find('.del').show(); $obj.find('input').val(''); $obj.find('input:file').attr('id','input_file_'+(++file_no)); $obj.find('input:file').prev('label').attr('for', 'input_file_'+file_no); $(this).closest('.file').find('.in-file:last').after($obj); } return false; }); $(document).on('click', '.file .del', function() { $obj = $(this).closest('.in-file').remove(); return false; }); $(document).on('change', '.cont-check input:checkbox', function() { if ($(this).hasClass('check-all-clear')) { if ($(this).prop('checked')) $(this).closest('.cont-check').find('input:checkbox').not(this).prop('checked', false); } else { if ($(this).prop('checked')) $(this).closest('.cont-check').find('.check-all-clear').prop('checked', false); } }); $(document).on('click', 'button.reset', function() { $(this).closest('form').find('input:text').val(''); $(this).closest('form').find('input:checkbox').not('.check-all-clear').prop('checked', false); if ($(this).closest('form').find('input:checkbox.check-all-clear').length > 0) $(this).closest('form').find('input:checkbox.check-all-clear').prop('checked', true); return false; }); $(document).ready(function() { $.each($('.datepicker'), function() { set_datepicker($(this)); }); if ($('select.select_email_domain').length > 0) { var arr_head = new Array('gmail.com','hanmail.net','hotmail.com','nate.com','naver.com','paran.com','yahoo.co.kr'); $.each($('select.select_email_domain'), function() { $obj = $(this); $obj.empty().append(''); $.each(arr_head, function(idx, val) { $obj.append(''); }); }); } if ($('select.phone').length > 0) { var arr_tel_head = new Array('02','031','032','033','041','042','043','044','051','052','053','054','055','060','061','062','063','064','070','080'); var arr_mobile_head = new Array('010','011','016','017','018','019'); $.each($('select.phone'), function() { $obj = $(this); $obj.empty().append(''); if ($obj.hasClass("tel")) { $.each(arr_tel_head, function(idx, val) { $obj.append(''); }); } if ($obj.hasClass("mobile")) { $.each(arr_mobile_head, function(idx, val) { $obj.append(''); }); } }); } }); }); function set_datepicker($obj) { var conf = { dateFormat: 'yy-mm-dd', monthNamesShort: ['1월','2월','3월','4월','5월','6월','7월','8월','9월','10월','11월','12월'], dayNamesMin: ['일','월','화','수','목','금','토'], weekHeader: 'Wk', changeMonth: true, //월변경가능 changeYear: true, //년변경가능 showMonthAfterYear: true, //년 뒤에 월 표시 showOn: "both", buttonImage: "/common/images/datePicker.jpg", buttonImageOnly: true }; if ($obj.data('min')) conf['minDate'] = $obj.data('min'); if ($obj.data('max')) conf['maxDate'] = $obj.data('max'); $obj.prop('readonly', true).datepicker(conf); } function form_val_chk($frm) { var ok = true; $.each($frm.find('input, select, textarea'), function() { if ($(this).hasClass('req')) { switch ($(this).prop('tagName').toLowerCase()) { case 'select': if ($(this).find('option:selected').length < 1 || $(this).find('option:selected').val() == '') { ok = false; alert($(this).attr('title') ? $(this).attr('title') : '필수 항목을 선택해주세요.'); $(this).focus(); return false; } break; case 'textarea': if ($(this).val().replace(/ /g,'') == '') { ok = false; alert($(this).attr('title') ? $(this).attr('title') : '필수 항목을 입력해주세요.'); $(this).focus(); return false; } break; default: if ($(this).attr('type').toLowerCase() == 'radio' || $(this).attr('type').toLowerCase() == 'checkbox') { if ($(this).attr('name').indexOf('[') > 0) obj_name_cond = 'input[name*="'+$(this).attr('name').substr(0, $(this).attr('name').indexOf('['))+'["]:checked'; else obj_name_cond = 'input[name="'+$(this).attr('name')+'"]:checked'; if ($frm.find(obj_name_cond).length < 1) { ok = false; alert($(this).attr('title') ? $(this).attr('title') : '필수 항목을 선택해주세요.'); return false; } } else if ($(this).val().replace(/ /g,'') == '') { ok = false; alert($(this).attr('title') ? $(this).attr('title') : '필수 항목을 입력해주세요.'); if ($(this).attr('type').toLowerCase() != 'hidden') $(this).focus(); return false; } break; } } if ($(this).data('pattern') && $(this).val().replace(/ /g,'') != '') { if (!pattern_check($(this).data('pattern'), $(this).val())) { $(this).focus(); ok = false; return false; } } if ($(this).data('minlen') && $(this).val().replace(/ /g,'') != '') { if ($(this).val().length < $(this).data('minlen')) { alert($(this).data('minlen')+'자 이상 입력해주세요.'); $(this).focus(); ok = false; return false; } } }); if ($frm.find('.date_range').length > 0) { $.each($frm.find('.date_range'), function() { if ($(this).find('input.calendar:eq(0)').val() != '' && $(this).find('input.calendar:eq(1)').val() && $(this).find('input.calendar:eq(0)').val() > $(this).find('input.calendar:eq(1)').val()) { alert('시작일은 종료일보다 클 수 없습니다.'); $(this).find('input.calendar:eq(0)').focus(); ok = false; return false; } }); } if (ok && $frm.find('input.agreeY:not(:checked)').length > 0) { alert($frm.find('input.agreeY:not(:checked)').attr('title')+'해주셔야 등록이 가능합니다.'); ok = false; } return ok; } function pattern_check(pattern, str) { var type = { 'eng' : {'reg':/^[a-z|A-Z]+$/ , 'msg':'영문만 입력 가능합니다.'}, 'engnum' : {'reg':/^[(a-z|A-Z)0-9]+$/ , 'msg':'영문과 숫자만 입력 가능합니다.'}, 'id' : {'reg':/^[(a-z|A-Z)0-9]+[_]*[(a-z|A-Z)0-9]+$/ , 'msg':'영문, 숫자, _(언더바)만 입력 가능합니다.'}, 'phone' : {'reg':/^\d{2,4}-\d{3,4}-\d{4}$/ , 'msg':'전화번호 형식이 맞지 않습니다.'}, 'num' : {'reg':/^[0-9]+$/ , 'msg':'숫자만 입력 가능합니다'}, 'wordnum' : {'reg':/^([0-9]+[a-z|A-Z]+)|([a-z|A-Z]+[0-9]+)$/ , 'msg':'영문과 숫자를 혼합하여 입력해야 합니다.'}, 'email' : {'reg':/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/ , 'msg':'메일 형식이 맞지 않습니다.'} } if (type[pattern]['reg'].test(str)) return true; else { alert(type[pattern]['msg']); return false; } } String.prototype.toMask=function(mask) { var data = this; data = data.replace(/[^a-z|^A-Z|^\d]/g,''); var len = data.length; var result = ''; var j = 0; for(var i = 0; i < len; i++){ result += data.charAt(i); j++; if (j < mask.length && '-:|/'.indexOf(mask.charAt(j)) != -1 ) result += mask.charAt(j++); } return result; } String.prototype.toTel=function() { var data = this; if(data == null) return ""; var sTel = data.replace(/(\(|\)|-)/g,""); if(sTel.length <= 4) return sTel; var seoul = false; if(sTel.substr(0,2) == "02") seoul = true; var mask = ""; var len = sTel.length; if(len <= 8) { if(len == 8) mask = "9999-9999"; else mask = "999-9999"; } else { if(seoul) { if(sTel.length == 9) mask = "99-999-9999"; else mask = "99-9999-9999"; } else { if(sTel.length == 10) mask = "999-999-9999"; else if(sTel.length == 11) mask = "999-9999-9999"; else mask = "9999-9999-9999"; } } return sTel.toMask(mask).substr(0,14); }; // 다음 주소검색 function execDaumPostcode($cont) { var p_width = $(document).width() < 550 ? '98%' : 530; $lyr_addr = $('
').appendTo('body'); $lyr_addr.dialog({ resizable:false, modal:true, height:570, width:p_width, close: function() { $('#lyr_addr').remove(); } }); daum.postcode.load(function(){ new daum.Postcode({ oncomplete: function(data) { $('#lyr_addr').dialog('close'); $cont.find('.in_zonecode').val(data.zonecode); $cont.find('.in_addr1').val(data.roadAddress); $cont.find('.in_addr2').val('').focus(); } }).embed($('#lyr_addr')[0]); }); } function download(boardid,b_idx,idx){ var win = window.open("/module/board/download.php?boardid="+boardid+"&b_idx="+b_idx+"&idx="+idx,"download","width=100,height=100,menubars=0, toolbars=0"); win.focus(); }