Files
sms_host20170829/common/js/total.js
T
2026-02-23 10:01:00 +09:00

698 lines
17 KiB
JavaScript

//실국별 실과 디스플레이
var obj1;
obj1 = null;
function buseoDisplay(value){
var obj2;
var sum=0;
if(obj1 != null){
obj1.style.display = "none";
}
for (var j = 0; j < address1.options.length; j++) {
if (address1.options[j].selected == true) {
sum = j;
}
}
obj2 = eval("select_"+address1.options[sum].value);
obj2.style.display = "block";
obj1 = obj2;
}
//보낼사람 추가1(구성원)
function memAdd(chkName){
//var objs = $("input:checkbox[name='"+chkName+"']").attr("checked", true);
var objs = $("input:checkbox[name='"+chkName+"']");
var cnt = objs.size();
for(var i=0;i<=cnt-1;i++){
var obj = objs.eq(i);
if( obj.attr("checked") ){
var text = obj.data("mobile");
var value = "M"+";noname;"+text;
var count = obj.data("count");
add(text, value, count);
}
}
}
//보낼사람 추가2(리스트)
function memAdd_2(selObj, type){
var opt = selObj.length;
if(M_sms == "9"){
alert("권한이 없습니다.\n\n");
}else{
for(i = 0; i < selObj.length; i++){
opt = list_rec.length;
if(selObj.options[i].selected == true){
var chk = false;
for(j = 0;j < opt; j++){
if(list_rec.options[j].value == type+";"+selObj.options[i].value){
chk = true;
}
}
if(chk == false){
list_rec.options[opt] = new Option(type+";"+selObj.options[i].text, type+";"+selObj.options[i].value);
}else{
if(confirm("추가내용중에 중복된 코드["+selObj.options[i].text+"]값이 있습니다.\n\n추가하시겠습니까?")){
list_rec.options[opt] = new Option(type+";"+selObj.options[i].text, type+";"+selObj.options[i].value);
}
}
}
}
}
}
function sMasterAdd(){
var chk = false;
for(j = 0;j < list_rec.length; j++){
if(list_rec.options[j].value == "A;전체"){
chk = true;
}
}
if(chk == false){
if (confirm("전체구성원이 추가됩니다.\n\n추가하시겠습니까?")){
add("A;전체","A;전체");
}
}else{
if(confirm("추가내용중에 중복된 코드[전체]값이 있습니다.\n\n추가하시겠습니까?")){
add("A;전체","A;전체");
}
}
return;
}
function sMasterAdd2(){
var obj = $("#address1 option");
var sumcount = 0;
var addValue = "E;부서전체";
for(var i=0;i<=obj.size()-1;i++){
sumcount += eval( obj.eq(i).data("count") );
}
var addText = "부서전체("+sumcount+")";
var list_rec = $("input:hidden[name='list_rec']");
var chk = false;
for(var i=0;i<=list_rec.size()-1;i++){
if(list_rec.eq(i).val() == addValue){
chk = true;
break;
}
}
if(chk == false){
add(addText, addValue, sumcount);
}else{
if(confirm("추가내용중에 중복된 그룹["+addText+"]이 있습니다.\n\n추가하시겠습니까?")){
add(addText, addValue, count);
}
}
}
//값받아서 바로 추가
function add(text, value, count){
var cnt = $("input:checkbox[name='list_rec_chk']").size();
var maxnum = 0;
var chknum = 0;
var sumcount = 0;
for(var i=0;i<=cnt-1;i++){
var chkobj = $("input:checkbox[name='list_rec_chk']").eq(i);
chknum = chkobj.data("num");
sumcount += eval( chkobj.data("count") );
chknum = eval(chknum);
if(maxnum < chknum){
maxnum = chknum;
}
}
maxnum++;
sumcount += count;
$("div.inner ul.add_num").append("<li id='li_list_"+maxnum+"'><input id='list_rec_"+maxnum+"' data-num='"+maxnum+"' data-count='"+count+"' type='checkbox' name='list_rec_chk' /> <label for='list_rec_"+maxnum+"'>"+text+"</label> <a href='#del' onclick='listDelete("+maxnum+")'><img src='/img/sub/btn_delete.gif' alt='삭제' /></a><input type='hidden' name='list_rec' value='"+value+"' /></li>");
setListCountByValue( sumcount );
}
function listDelete( chknum ){
$("#li_list_"+chknum).remove();
setListCount();
}
function listCheck(){
var chkval = $("#list_check").val();
if( chkval == "Y" ){
$("input:checkbox[name='list_rec_chk']").attr("checked", true);
$("#list_check").val("N");
}else{
$("input:checkbox[name='list_rec_chk']").attr("checked", false);
$("#list_check").val("Y");
}
}
function chkAllByTagName(tagname, type){
$("input:checkbox[name='"+tagname+"']").attr("checked", type);
}
//총 발송인원
function setListCount(){
var objs = $("input:checkbox[name='list_rec_chk']");
var cnt = objs.size();
var sumcount = 0;
for(var i=0;i<=cnt-1;i++){
var chkobj = objs.eq(i);
sumcount += eval( chkobj.data("count") );
}
setListCountByValue( sumcount );
}
function setListCountByValue( sumcount ){
$("div.u_btm div.ctrl strong").text(sumcount);
}
//보낼사람 삭제
function memDel(){
var objs = $("input:checkbox[name='list_rec_chk']");
var cnt = objs.size();
var chknum;
for(var i=0;i<=cnt;i++){
if( objs.eq(i).attr("checked") ){
chknum = objs.eq(i).data("num");
listDelete( chknum );
}
}
}
//전체선택, 전체해재 셀렉트리스트
function selectAll(selObj, type){
var opt = selObj.length;
for(i = 0; i < selObj.length; i++){
selObj.options[i].selected = type;
}
}
//전체선택 체크박스
function chkAll(chkObj, type){
//alert( document.getElementsByTagName('chk_adr_idx').length );
var field = chkObj;//buseo_mem.document.mem_list.check;
if(field.length == null){
field.checked = type;
}else{
for (i = 0; i < field.length; i++){
field[i].checked = type;
}
}
}
function memSelect(){
var bdm_idx = $("#jusoGrp").val();
var sh_keyword = $("#sh_keyword").val();
//window.open("./ajax_addr_list.asp?bdm_idx="+bdm_idx);
$.ajax({
type: "GET",
url: "./ajax_addr_list.asp",
//data: ({ b_l_num:num }),
data: "bdm_idx="+encodeURIComponent(bdm_idx)+"&sh_keyword="+encodeURIComponent(sh_keyword),
dataType:"html",
async:false,
error:function(request, status, error){//(ie 8부터 제대로 작동)
//alert("code:"+request.staus+"\nmessage:"+request.responseText);
alert("주소록조회실패. 증상이 계속되면 관리자에게 문의하세요.");
},
success: function(msg){
$("div.addrlist").html( msg );
}
});
}
function buseoSelectBuseo(){
var bdm_idx = $("#address2").val();
var sh_keyword = "";
buseoSelect(bdm_idx, sh_keyword);
}
function buseoSelectKeyword(){
var bdm_idx = "";
var sh_keyword = $("#sh_buseo_keyword").val();
buseoSelect(bdm_idx, sh_keyword);
}
function buseoSelect(bdm_idx, sh_keyword){
$.ajax({
type: "GET",
url: "./ajax_buseo_list.asp",
//data: ({ b_l_num:num }),
data: "bdm_idx="+encodeURIComponent(bdm_idx)+"&sh_keyword="+encodeURIComponent(sh_keyword),
dataType:"html",
async:false,
error:function(request, status, error){//(ie 8부터 제대로 작동)
//alert("code:"+request.staus+"\nmessage:"+request.responseText);
alert("부서구성원 조회실패. 증상이 계속되면 관리자에게 문의하세요.");
},
success: function(msg){
$("div.mem_box ul.memlist").html( msg );
}
});
}
//전화번호 체크
function addDash(obj) {
var sNoDashNumber = ""; //'-'를 제거한 번호를 저장하는 변수
sNoDashNumber = removeDash(obj);
var iLen = getLeng(sNoDashNumber);
if (event.keyCode != 8) {
switch (iLen) {
case 0:
case 1:
case 2:
break;
case 3:
break;
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
obj.value = sNoDashNumber.substring(0,3) + "-" + sNoDashNumber.substr(3,3) + "-" + sNoDashNumber.substr(6,4) ;
break;
case 11:
obj.value = sNoDashNumber.substring(0,3) + "-" + sNoDashNumber.substr(3,4) + "-" + sNoDashNumber.substr(7,4) ;
break;
//default :
// alert(NO_NUMBER_RE_INPUT); //"없는 번호입니다. 다시 입력해 주세요"
// obj.value = sNoDashNumber.substring(0,4) + "-" + sNoDashNumber.substr(4,4) ;
}
}
}
//dash를 제거한다.
function removeDash(obj) {
var sNoDashNumber = ""; // '-'을 제거한 번호를 저장할 변수
var i = 0;
for (i = 0; i < obj.value.length; i++) {
if ((obj.value).charAt(i) != "-") {
sNoDashNumber += (obj.value).charAt(i);
}
}
return sNoDashNumber;
}
//스트링값을 받아서 바이트 수를 체크한다.
function getLeng(sMessage) {
var iCount = 0 ; //메시지의 바이트를 저장하는 변수
for (var i = 0; i < sMessage.length; i++) { // 0-127 1byte, 128~ 2byte
if ( sMessage.charCodeAt(i) > 127) {
iCount += 2;
}
else {
iCount++;
}
}
return iCount;
}
function add_input(mobile) {
opt_num = mobile.length;
txt = mobile.value;
txt1 = txt.substr(0,3);
if( (txt1 != "011") && (txt1 != "016") && (txt1 != "017") && (txt1 != "018") && (txt1 != "019") && (txt1 != "010") ) {
alert ("이통사번호가 잘못 되었습니다.");
mobile.focus();
return;
}else if( (txt.length < 10) || (txt.length > 13) ) {
alert ("올바르지 않은 휴대폰 번호입니다.");
//str_replace("-","",변수명) 0~99,999,999
mobile.focus();
return;
}
add(txt, "M"+";noname;"+txt, 1);
mobile.value='';
}
function add_input2(mobile) {
opt_num = mobile.length;
txt = mobile;
txt1 = txt.substr(0,3);
if( (txt1 != "011") && (txt1 != "016") && (txt1 != "017") && (txt1 != "018") && (txt1 != "019") && (txt1 != "010") ) {
//alert ("이통사번호가 잘못 되었습니다.");
//mobile.focus();
return;
}else if( (txt.length < 10) || (txt.length > 13) ) {
//alert ("올바르지 않은 휴대폰 번호입니다.");
//str_replace("-","",변수명) 0~99,999,999
//mobile.focus();
return;
}
add(txt, "M"+";noname;"+txt, 1);
mobile.value='';
}
function add_input3(mobile) {
opt_num = mobile.length;
txt = mobile;
txt1 = txt.substr(0,3);
if( (txt1 != "011") && (txt1 != "016") && (txt1 != "017") && (txt1 != "018") && (txt1 != "019") && (txt1 != "010") ) {
//alert ("이통사번호가 잘못 되었습니다.");
//mobile.focus();
//return;
}else if( (txt.length < 10) || (txt.length > 13) ) {
//alert ("올바르지 않은 휴대폰 번호입니다.");
//str_replace("-","",변수명) 0~99,999,999
//mobile.focus();
//return;
}
add("M"+";개인추가;"+txt, "M"+";noname;"+txt);
mobile.value='';
}
function Addr_grp_add(){
var obj = $("#jusoGrp");
var sel_option = obj.find("option:selected");
var addText = sel_option.text();
var addValue = "B;"+sel_option.val();
var count = sel_option.data("count");
var list_rec = $("input:hidden[name='list_rec']");
var chk = false;
for(var i=0;i<=list_rec.size()-1;i++){
if(list_rec.eq(i).val() == addValue){
chk = true;
break;
}
}
if(chk == false){
add(addText, addValue, count);
}else{
if(confirm("추가내용중에 중복된 그룹["+addText+"]이 있습니다.\n\n추가하시겠습니까?")){
add(addText, addValue, count);
}
}
}
function Buseo_grp_add(id){
var obj = $("#"+id);
var sel_options = obj.find("option:selected");
var grp_code = "";
if(id == "address1"){
grp_code = "C";
}else{
grp_code = "D";
}
for(var i=0;i<=sel_options.size()-1;i++){
var sel_option = sel_options.eq(i);
var addText = sel_option.text();
var addValue = grp_code+";"+sel_option.val();
var count = sel_option.data("count");
var list_rec = $("input:hidden[name='list_rec']");
var chk = false;
for(var i=0;i<=list_rec.size()-1;i++){
if(list_rec.eq(i).val() == addValue){
chk = true;
break;
}
}
if(chk == false){
add(addText, addValue, count);
}else{
if(confirm("추가내용중에 중복된 그룹["+addText+"]이 있습니다.\n\n추가하시겠습니까?")){
add(addText, addValue, count);
}
}
}
}
function resizeIframe(fr) {
fr.setExpression('height',aaa.document.body.scrollHeight);
//fr.setExpression('width',aaa.document.body.scrollWidth);
}
function EnterCheck(obj){
if(event.keyCode ==13){
add_input(mobile);
return;
}
}
function msgPrint(msg,top,left,width){
span_msg.innerHTML = msg;
layerMsg.style.left = left;
layerMsg.style.top = top;
layerMsg.style.width = width;
layerMsg.style.display = "block";
}
function msgPrintOut(){
layerMsg.style.display = "none";
}
//--------------문자 바이트 체크------------------
function updateChar(length_limit)
{
var form = document.getElementById("frmMsg");
var length = calculate_msglen(form.message.value);
textlimit.innerText = length;
if (length > length_limit) {
var limit_chk = true;
if( length_limit == 80 ){
if(confirm("80byte를 초과하였습니다. 장문전송으로 전환하시겠습니까?\n\n※ 장문은 수신번호당 3건이 차감됩니다.")){
changeLimit( 2000 );
limit_chk = false;
}else{
form.message.value = form.message.value.replace(/\r\n$/, "");
form.message.value = assert_msglen(form.message.value, length_limit);
}
}
if(limit_chk){
alert("최대 " + length_limit + "byte이므로 초과된 글자수는 자동으로 삭제됩니다.");
form.message.value = form.message.value.replace(/\r\n$/, "");
form.message.value = assert_msglen(form.message.value, length_limit);
}
}
}
//--------------문자열 자르기------------------
function assert_msglen(message, maximum)
{
var inc = 0;
var nbytes = 0;
var msg = "";
var msglen = message.length;
for (i=0; i<msglen; i++) {
var ch = message.charAt(i);
if (escape(ch).length > 4) {
inc = 2;
} else if (ch == '\n') {
if (message.charAt(i-1) != '\r') {
inc = 1;
}
} else if (ch == '<' || ch == '>') {
inc = 4;
} else {
inc = 1;
}
if ((nbytes + inc) > maximum) {
break;
}
nbytes += inc;
msg += ch;
}
textlimit.innerText = nbytes;
return msg;
}
function calculate_msglen(message)
{
var nbytes = 0;
for (i=0; i<message.length; i++) {
var ch = message.charAt(i);
if(escape(ch).length > 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 setCleanMsg(){
if(document.getElementById("frmMsg").message.value == '메세지를 입력하세요!'){
document.getElementById("frmMsg").message.value = '';
}
}
//특수문자----------------------
function etcChar(){
if ((obj=MM_findObj('schar'))!=null) {
if (obj.style) {
obj=obj.style;
}
if(x > 898){
obj.left = 900;
}else{
obj.left = x-100;
}
obj.top = y;
MM_showHideLayers('schar','','show')
}
}
//특수문자끝----------------------
//80바이트 제한 변경(장문발송)
function changeLimit( limit ){
$("#message").data("limit", limit);
$("#span_limit").text( limit );
$("#mms_chk").val( "Y" );
}
//예약 달력 로딩
function calendarSelect(){
var p_year = $("#p_year").val();
var p_month = $("#p_month").val();
//window.open("./ajax_addr_list.asp?bdm_idx="+bdm_idx);
$.ajax({
type: "GET",
url: "./ajax_reserve_calendar.asp",
//data: ({ b_l_num:num }),
data: "p_year="+encodeURIComponent(p_year)+"&p_month="+encodeURIComponent(p_month),
dataType:"html",
async:false,
error:function(request, status, error){//(ie 8부터 제대로 작동)
//alert("code:"+request.staus+"\nmessage:"+request.responseText);
alert("달력조회실패. 증상이 계속되면 관리자에게 문의하세요.");
},
success: function(msg){
$("#table_calendar tbody").html( msg );
}
});
}
//예약날짜 임시저장
function selectDateTemp(y,m,d){
var eForm = document.getElementById("frm_reserve");
eForm.rdate.value = y+"-"+m+"-"+d;
$("#span_reserve_date").text(y+"년 "+m+"월 "+d+"일 ");
}
//예약시간 임시저장
function selectTimeTemp(){
var eForm = document.getElementById("frm_reserve");
var p_time1 = eForm.p_time1.value;
var p_time2 = eForm.p_time2.value;
eForm.time1.value = p_time1;
eForm.time2.value = p_time2;
$("#span_reserve_time").text(p_time1+"시 "+p_time2+"분");
}
//예약설정
function reserveDateTime(){
var eForm = document.getElementById("frmMsg");
var eForm2 = document.getElementById("frm_reserve");
eForm.rdate.value = eForm2.rdate.value;
eForm.time1.value = eForm2.time1.value;
eForm.time2.value = eForm2.time2.value;
eForm.resOrNot.value = "Y";
$("div.phone ul.chk li.date").text( eForm.rdate.value+" "+eForm.time1.value+":"+eForm.time2.value );
}
//예약취소
function resetReserveDateTime(){
var eForm = document.getElementById("frmMsg");
eForm.rdate.value = "";
eForm.time1.value = "";
eForm.time2.value = "";
eForm.resOrNot.value = "N";
$("div.phone ul.chk li.date").text( "" );
}
//최근번호 로딩
function newNumberSelect(){
var requrl = "ajax_new_number.asp";
$.ajax({
type: "GET",
url: requrl,
dataType:"html",
async:false,
error:function(request, status, error){//(ie 8부터 제대로 작동)
//alert("code:"+request.staus+"\nmessage:"+request.responseText);
alert("최근번호조회실패. 증상이 계속되면 관리자에게 문의하세요.");
},
success: function(msg){
$("#detaillayer4 div.popct").html( msg );
}
});
}
//최근메세지 로딩
function newMessageSelect(){
var requrl = "ajax_new_message.asp";
//window.open(requrl);
$.ajax({
type: "GET",
url: requrl,
dataType:"html",
async:false,
error:function(request, status, error){//(ie 8부터 제대로 작동)
//alert("code:"+request.staus+"\nmessage:"+request.responseText);
alert("최근메세지조회실패. 증상이 계속되면 관리자에게 문의하세요.");
},
success: function(msg){
$("#detaillayer7 div.popct ul.sentlist").html( msg );
}
});
}
//메세지 세팅
function setNewMessage(msg){
var obj = $('#message');
obj.val(msg);
updateChar( eval( obj.data('limit') ) );
}