var BROWSER_DOWNLOAD_LIMIT_STR = '0.0'; //言語切り替え(header.html)共通変数をセット if(ENTRY_USE == "en"){ var STR_DELETE = 'Delete'; var STR_EXCLUDE = '*Exclusion'; } else if(ENTRY_USE == "cn"){ var STR_DELETE = '删除'; var STR_EXCLUDE = '×除外'; } else if(ENTRY_USE == "tcn"){ var STR_DELETE = '刪除'; var STR_EXCLUDE = '×除外'; }else{ var STR_DELETE = '削除'; var STR_EXCLUDE = '×除外'; } // result送信リストへの追加 // > addrInputId: 入力ボックスの要素ID // > addrListId: 入力アドレスの追加先の要素ID function addLogSendAddr(addrInputId, addrListId) { var $addrInput = $("#" + addrInputId); var addrValue = preg_trim($addrInput.val()); if (addrValue == "") { alert('メールアドレスを入力してください。'); }else if (!chMail(addrValue)){ alert('メールアドレスが不正です。'); }else { var addrInputName = $addrInput.attr("name"); var html = ""; html+= "
"; html+= ""; html+= ""+STR_EXCLUDE+" "; html+= htmlspecialchars(addrValue); html+= "
" $("#" + addrListId).append(html); $addrInput.val(""); } } // result送信リストからの削除 // > elm: 削除する要素の子 function delLogSendAddr(elm) { $(elm).remove() } //送信リストへの追加 function addAddrList() { var SEND_MAIL_LIMIT = 100; var mailaddr = $(":text[name='to_mail[]']").val(); mailaddr = preg_trim(mailaddr); var name = $(":text[name='to_name[]']").val(); if (document.sendmail.addrListNum.value >= SEND_MAIL_LIMIT) { if(ENTRY_USE == "en"){ alert('You can enter up to '+SEND_MAIL_LIMIT+' destination address.'); } else if(ENTRY_USE == "cn"){ alert('一次可输入的收件人为'+SEND_MAIL_LIMIT+'人。'); } else if(ENTRY_USE == "tcn"){ alert('一次可輸入的收件人為'+SEND_MAIL_LIMIT+'人。'); }else{ alert('宛先は一回'+SEND_MAIL_LIMIT+'ヵ所までお願い致します。'); } }else if (mailaddr == "") { if(ENTRY_USE == "en"){ alert('Enter a Email address'); } else if(ENTRY_USE == "cn"){ alert('请输入邮箱地址。'); } else if(ENTRY_USE == "tcn"){ alert('請輸入郵箱位址。'); }else{ alert('メールアドレスを入力してください。'); } }else if (!chMail(mailaddr)){ if(ENTRY_USE == "en"){ alert('Email address is incorrect'); } else if(ENTRY_USE == "cn"){ alert('邮箱地址有错误。'); } else if(ENTRY_USE == "tcn"){ alert('郵箱位址有錯誤。'); }else{ alert('メールアドレスが不正です。'); } }else { var result = document.getElementById("address_list"); var html = ""; html += ""; var html_tmp = htmlspecialchars(name)+"("+htmlspecialchars(mailaddr)+")
"; var do_flg = 0; for (i=1;i<=document.sendmail.addrListNum.value;i++) { if (document.getElementById("address"+i) == null) { html += ""+STR_EXCLUDE+" "; html += html_tmp; html = "
"+html+"
"; if(document.body.insertAdjacentHTML){ // IE, Opera result.insertAdjacentHTML('BeforeEnd',html); }else{ // Mozilla var r=document.createRange(); r.selectNode(result); var t=r.createContextualFragment(html); result.appendChild(t); } do_flg = 1; break; } } var num = eval(document.sendmail.addrListNum.value)+1; if (do_flg == 0) { html += ""+STR_EXCLUDE+" "; html += html_tmp; html = "
"+html+"
"; //result.innerHTML = html; if(document.body.insertAdjacentHTML){ // IE, Opera result.insertAdjacentHTML('BeforeEnd',html); }else{ // Mozilla var r=document.createRange(); r.selectNode(result); var t=r.createContextualFragment(html); result.appendChild(t); } } //追加 //result.insertAdjacentHTML("AfterBegin",html); document.sendmail.addrListNum.value = num; document.sendmail.elements["to_mail[]"][0].value =""; document.sendmail.elements["to_name[]"][0].value =""; if (num == SEND_MAIL_LIMIT) { document.sendmail.elements["to_mail[]"][0].disabled =true; document.sendmail.elements["to_name[]"][0].disabled =true; } } } //送信リストへの追加【cc】 function addAddrListCc() { var SEND_MAIL_LIMIT = 100; var mailaddr = $(":text[name='to_mail_cc[]']").val(); mailaddr = preg_trim(mailaddr); var name = $(":text[name='to_name_cc[]']").val(); if (document.sendmail.addrListNum_cc.value >= SEND_MAIL_LIMIT) { if(ENTRY_USE == "en"){ alert('You can enter up to '+SEND_MAIL_LIMIT+' Email address (Cc.).'); } else if(ENTRY_USE == "cn"){ alert('Cc.请控制在每次'+SEND_MAIL_LIMIT+'处以内。'); } else if(ENTRY_USE == "tcn"){ alert('Cc.請控制在每次'+SEND_MAIL_LIMIT+'處以內。'); }else{ alert('Cc.は一回'+SEND_MAIL_LIMIT+'ヵ所までお願い致します。'); } }else if (mailaddr == "") { if(ENTRY_USE == "en"){ alert('Enter a Email address'); } else if(ENTRY_USE == "cn"){ alert('请输入邮箱地址。'); } else if(ENTRY_USE == "tcn"){ alert('請輸入郵箱位址。'); }else{ alert('メールアドレスを入力してください。'); } }else if (!chMail(mailaddr)){ if(ENTRY_USE == "en"){ alert('Email address is incorrect'); } else if(ENTRY_USE == "cn"){ alert('邮箱地址有错误。'); } else if(ENTRY_USE == "tcn"){ alert('郵箱位址有錯誤。'); }else{ alert('メールアドレスが不正です。'); } }else { var result = document.getElementById("address_list_cc"); var html = ""; html += ""; var html_tmp = htmlspecialchars(name)+"("+htmlspecialchars(mailaddr)+")
"; var do_flg = 0; for (i=1;i<=document.sendmail.addrListNum_cc.value;i++) { if (document.getElementById("address_cc"+i) == null) { html += ""+STR_EXCLUDE+" "; html += html_tmp; html = "
"+html+"
"; if(document.body.insertAdjacentHTML){ // IE, Opera result.insertAdjacentHTML('BeforeEnd',html); }else{ // Mozilla var r=document.createRange(); r.selectNode(result); var t=r.createContextualFragment(html); result.appendChild(t); } do_flg = 1; break; } } var num = eval(document.sendmail.addrListNum_cc.value)+1; if (do_flg == 0) { html += ""+STR_EXCLUDE+" "; html += html_tmp; html = "
"+html+"
"; //result.innerHTML = html; if(document.body.insertAdjacentHTML){ // IE, Opera result.insertAdjacentHTML('BeforeEnd',html); }else{ // Mozilla var r=document.createRange(); r.selectNode(result); var t=r.createContextualFragment(html); result.appendChild(t); } } //追加 //result.insertAdjacentHTML("AfterBegin",html); document.sendmail.addrListNum_cc.value = num; document.sendmail.elements["to_mail_cc[]"][0].value =""; document.sendmail.elements["to_name_cc[]"][0].value =""; if (num == SEND_MAIL_LIMIT) { document.sendmail.elements["to_mail_cc[]"][0].disabled =true; document.sendmail.elements["to_name_cc[]"][0].disabled =true; } } } //送信リストへの追加【bcc】 function addAddrListBcc() { var SEND_MAIL_LIMIT = 100; var mailaddr = $(":text[name='to_mail_bcc[]']").val(); mailaddr = preg_trim(mailaddr); var name = $(":text[name='to_name_bcc[]']").val(); if (document.sendmail.addrListNum_bcc.value >= SEND_MAIL_LIMIT) { if(ENTRY_USE == "en"){ alert('You can enter up to '+SEND_MAIL_LIMIT+' destination address (Bcc.).'); } else if(ENTRY_USE == "cn"){ alert('Bcc.请控制在每次'+SEND_MAIL_LIMIT+'处以内。'); } else if(ENTRY_USE == "tcn"){ alert('Bcc.請控制在每次'+SEND_MAIL_LIMIT+'處以內。'); }else{ alert('Bcc.は一回'+SEND_MAIL_LIMIT+'ヵ所までお願い致します。'); } }else if (mailaddr == "") { if(ENTRY_USE == "en"){ alert('Enter a Email address'); } else if(ENTRY_USE == "cn"){ alert('请输入邮箱地址。'); } else if(ENTRY_USE == "tcn"){ alert('請輸入郵箱位址。'); }else{ alert('メールアドレスを入力してください。'); } }else if (!chMail(mailaddr)){ if(ENTRY_USE == "en"){ alert('Email address is incorrect'); } else if(ENTRY_USE == "cn"){ alert('邮箱地址有错误。'); } else if(ENTRY_USE == "tcn"){ alert('郵箱位址有錯誤。'); }else{ alert('メールアドレスが不正です。'); } }else { var result = document.getElementById("address_list_bcc"); var html = ""; html += ""; var html_tmp = htmlspecialchars(name)+"("+htmlspecialchars(mailaddr)+")
"; var do_flg = 0; for (i=1;i<=document.sendmail.addrListNum_bcc.value;i++) { if (document.getElementById("address_bcc"+i) == null) { html += ""+STR_EXCLUDE+" "; html += html_tmp; html = "
"+html+"
"; if(document.body.insertAdjacentHTML){ // IE, Opera result.insertAdjacentHTML('BeforeEnd',html); }else{ // Mozilla var r=document.createRange(); r.selectNode(result); var t=r.createContextualFragment(html); result.appendChild(t); } do_flg = 1; break; } } var num = eval(document.sendmail.addrListNum_bcc.value)+1; if (do_flg == 0) { html += ""+STR_EXCLUDE+" "; html += html_tmp; html = "
"+html+"
"; //result.innerHTML = html; if(document.body.insertAdjacentHTML){ // IE, Opera result.insertAdjacentHTML('BeforeEnd',html); }else{ // Mozilla var r=document.createRange(); r.selectNode(result); var t=r.createContextualFragment(html); result.appendChild(t); } } //追加 //result.insertAdjacentHTML("AfterBegin",html); document.sendmail.addrListNum_bcc.value = num; document.sendmail.elements["to_mail_bcc[]"][0].value =""; document.sendmail.elements["to_name_bcc[]"][0].value =""; if (num == SEND_MAIL_LIMIT) { document.sendmail.elements["to_mail_bcc[]"][0].disabled =true; document.sendmail.elements["to_name_bcc[]"][0].disabled =true; } } } // グループ情報から取得したアドレスを追加する function addAddrListGroup(target,name,mail) { var SEND_MAIL_LIMIT = 100; var result = ""; var num = ""; var loop = ""; var id = ""; var target_name = ""; var target_mail = ""; var html = ""; if (target == "to") { num = eval(document.sendmail.addrListNum.value)+1; loop = document.sendmail.addrListNum.value; result = document.getElementById("address_list"); id = "address"; target_name = "to_name[]"; target_mail = "to_mail[]"; } else if (target == "cc") { num = eval(document.sendmail.addrListNum_cc.value)+1; loop = document.sendmail.addrListNum_cc.value; result = document.getElementById("address_list_cc"); id = "address_cc"; target_name = "to_name_cc[]"; target_mail = "to_mail_cc[]"; } else { num = eval(document.sendmail.addrListNum_bcc.value)+1; loop = document.sendmail.addrListNum_bcc.value; result = document.getElementById("address_list_bcc"); id = "address_bcc"; target_name = "to_name_bcc[]"; target_mail = "to_mail_bcc[]"; } // これ以上は追加できない if (loop >= SEND_MAIL_LIMIT) { return false; } html = ""; html += ""; html_tmp = htmlspecialchars(name)+"("+htmlspecialchars(mail)+")
"; do_flg = 0; for (i=1;i<=loop;i++) { // 抜けているIDで追加する if (document.getElementById(id+i) == null) { if (target == "to") { html += ""+STR_EXCLUDE+" "; } else if (target == "cc") { html += ""+STR_EXCLUDE+" "; } else { html += ""+STR_EXCLUDE+" "; } html += html_tmp; html = "
"+html+"
"; if(document.body.insertAdjacentHTML){ // IE, Opera result.insertAdjacentHTML('BeforeEnd',html); }else{ // Mozilla var r=document.createRange(); r.selectNode(result); var t=r.createContextualFragment(html); result.appendChild(t); } do_flg = 1; break; } } if (do_flg == 0) { if (target == "to") { html += ""+STR_EXCLUDE+" "; } else if (target == "cc") { html += ""+STR_EXCLUDE+" "; } else { html += ""+STR_EXCLUDE+" "; } html += html_tmp; html = "
"+html+"
"; //result.innerHTML = html; if(document.body.insertAdjacentHTML){ // IE, Opera result.insertAdjacentHTML('BeforeEnd',html); }else{ // Mozilla var r=document.createRange(); r.selectNode(result); var t=r.createContextualFragment(html); result.appendChild(t); } } // 数の更新 if (target == "to") { document.sendmail.addrListNum.value = num; } else if (target == "cc") { document.sendmail.addrListNum_cc.value = num; } else { document.sendmail.addrListNum_bcc.value = num; } // 上限を超えた場合は入力制限 if (num == SEND_MAIL_LIMIT) { if (target == "to") { document.sendmail.elements["to_mail[]"][0].disabled =true; document.sendmail.elements["to_name[]"][0].disabled =true; } else if (target == "cc") { document.sendmail.elements["to_mail_cc[]"][0].disabled =true; document.sendmail.elements["to_name_cc[]"][0].disabled =true; } else if (target == "bcc") { document.sendmail.elements["to_mail_bcc[]"][0].disabled =true; document.sendmail.elements["to_name_bcc[]"][0].disabled =true; } } } //宛先リストからの削除 function delAddrList(n) { var SEND_MAIL_LIMIT = 100; var result = document.getElementById("address"+n); var agt=navigator.userAgent.toLowerCase(); if(document.body.removeNode && !(agt.indexOf("opera") != -1)){ // IE result.removeNode('true'); }else{ // Mozilla, Opera p = result.parentNode; p.removeChild(result); } document.sendmail.addrListNum.value = eval(document.sendmail.addrListNum.value)-1; if (eval(document.sendmail.addrListNum.value) < SEND_MAIL_LIMIT) { $("#to_mail").removeAttr("disabled"); $("#to_name").removeAttr("disabled"); } } //宛先リストからの削除 【cc】 function delAddrListCc(n) { var SEND_MAIL_LIMIT = 100; var result = document.getElementById("address_cc"+n); var agt=navigator.userAgent.toLowerCase(); if(document.body.removeNode && !(agt.indexOf("opera") != -1)){ // IE result.removeNode('true'); }else{ // Mozilla, Opera p = result.parentNode; p.removeChild(result); } document.sendmail.addrListNum_cc.value = eval(document.sendmail.addrListNum_cc.value)-1; if (eval(document.sendmail.addrListNum_cc.value) < SEND_MAIL_LIMIT) { $("#to_mail_cc").removeAttr("disabled"); $("#to_name_cc").removeAttr("disabled"); } } //宛先リストからの削除 【bcc】 function delAddrListBcc(n) { var SEND_MAIL_LIMIT = 100; var result = document.getElementById("address_bcc"+n); var agt=navigator.userAgent.toLowerCase(); if(document.body.removeNode && !(agt.indexOf("opera") != -1)){ // IE result.removeNode('true'); }else{ // Mozilla, Opera p = result.parentNode; p.removeChild(result); } document.sendmail.addrListNum_bcc.value = eval(document.sendmail.addrListNum_bcc.value)-1; if (eval(document.sendmail.addrListNum_bcc.value) < SEND_MAIL_LIMIT) { $("#to_mail_bcc").removeAttr("disabled"); $("#to_name_bcc").removeAttr("disabled"); } } // 正規表現によるtrim function preg_trim(mf) { // 正規表現で空白文字と全角スペースを除外 mf = mf.replace(/(^[\s ]+)|([\s ]+$)/g,""); return mf; } function chMail(mf) { // 2014/10/23 @katsuhara 新gTLD対応 アルファベットを2文字以上に ml =/^[a-zA-Z0-9\"\._\?\+\/-]+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,}|[0-9]{1,3})(\]?)$/; if(!mf.match(ml)) { return false; } return true; } //アドレス帳の内容を通知リストに追加 function insertAdd(name,mailaddr,opt){ var overerr = 0; var SEND_MAIL_LIMIT = 100; if (parent.parent.document.sendmail.addrListNum.value >= SEND_MAIL_LIMIT) { if(ENTRY_USE == "en"){ alert('You can enter up to '+SEND_MAIL_LIMIT+' destination address.'); } else if(ENTRY_USE == "cn"){ alert('一次可输入的收件人为'+SEND_MAIL_LIMIT+'人。'); } else if(ENTRY_USE == "tcn"){ alert('一次可輸入的收件人為'+SEND_MAIL_LIMIT+'人。'); }else{ alert('宛先は一回'+SEND_MAIL_LIMIT+'ヵ所までお願い致します。'); } overerr = 1; }else { var result = parent.parent.document.getElementById("address_list"); html = ""; html += ""; html += htmlspecialchars(name)+"("+htmlspecialchars(mailaddr)+")"; do_flg = 0; for (i=1;i<=parent.parent.document.sendmail.addrListNum.value;i++) { if (parent.parent.document.getElementById("address"+i) == null) { html += ""+STR_EXCLUDE+"
"; html = "
"+html+"
"; if(parent.parent.document.body.insertAdjacentHTML){ // IE, Opera result.insertAdjacentHTML('BeforeEnd',html); }else{ // Mozilla var r=parent.parent.document.createRange(); r.selectNode(result); var t=r.createContextualFragment(html); result.appendChild(t); } do_flg = 1; break; } } num = eval(parent.parent.document.sendmail.addrListNum.value)+1; if (do_flg == 0) { html += ""+STR_EXCLUDE+"
"; html = "
"+html+"
"; if(parent.parent.document.body.insertAdjacentHTML){ // IE, Opera result.insertAdjacentHTML('BeforeEnd',html); }else{ // Mozilla var r=parent.parent.document.createRange(); r.selectNode(result); var t=r.createContextualFragment(html); result.appendChild(t); } } //追加 parent.parent.document.sendmail.addrListNum.value = num; if (num == SEND_MAIL_LIMIT) { parent.parent.document.sendmail.elements["to_mail[]"][0].value =""; parent.parent.document.sendmail.elements["to_name[]"][0].value =""; parent.parent.document.sendmail.elements["to_mail[]"][0].disabled =true; parent.parent.document.sendmail.elements["to_name[]"][0].disabled =true; } } if (opt == 0) { removeGreyBox(); } else { return overerr; } } //アドレス帳の内容を通知リストに追加【cc】 function insertAddcc(name,mailaddr,opt){ var overerr = 0; var SEND_MAIL_LIMIT = 100; if (parent.parent.document.sendmail.addrListNum_cc.value >= SEND_MAIL_LIMIT) { overerr = 1; if(ENTRY_USE == "en"){ alert('You can enter up to '+SEND_MAIL_LIMIT+' Email address (Cc.).'); } else if(ENTRY_USE == "cn"){ alert('Cc.请控制在每次'+SEND_MAIL_LIMIT+'处以内。'); } else if(ENTRY_USE == "tcn"){ alert('Cc.請控制在每次'+SEND_MAIL_LIMIT+'處以內。'); }else{ alert('Cc.は一回'+SEND_MAIL_LIMIT+'ヵ所までお願い致します。'); } }else { var result = parent.parent.document.getElementById("address_list_cc"); html = ""; html += ""; html += htmlspecialchars(name)+"("+htmlspecialchars(mailaddr)+")"; do_flg = 0; for (i=1;i<=parent.parent.document.sendmail.addrListNum_cc.value;i++) { if (parent.parent.document.getElementById("address_cc"+i) == null) { html += ""+STR_EXCLUDE+"
"; html = "
"+html+"
"; if(parent.parent.document.body.insertAdjacentHTML){ // IE, Opera result.insertAdjacentHTML('BeforeEnd',html); }else{ // Mozilla var r=parent.parent.document.createRange(); r.selectNode(result); var t=r.createContextualFragment(html); result.appendChild(t); } do_flg = 1; break; } } num = eval(parent.parent.document.sendmail.addrListNum_cc.value)+1; if (do_flg == 0) { html += ""+STR_EXCLUDE+"
"; html = "
"+html+"
"; if(parent.parent.document.body.insertAdjacentHTML){ // IE, Opera result.insertAdjacentHTML('BeforeEnd',html); }else{ // Mozilla var r=parent.parent.document.createRange(); r.selectNode(result); var t=r.createContextualFragment(html); result.appendChild(t); } } //追加 parent.parent.document.sendmail.addrListNum_cc.value = num; if (num == SEND_MAIL_LIMIT) { parent.parent.document.sendmail.elements["to_mail_cc[]"][0].value =""; parent.parent.document.sendmail.elements["to_name_cc[]"][0].value =""; parent.parent.document.sendmail.elements["to_mail_cc[]"][0].disabled =true; parent.parent.document.sendmail.elements["to_name_cc[]"][0].disabled =true; } } if (opt == 0) { removeGreyBox(); } else { return overerr; } } //アドレス帳の内容を通知リストに追加【bcc】 function insertAddbcc(name,mailaddr,opt){ var overerr = 0; var SEND_MAIL_LIMIT = 100; if (parent.parent.document.sendmail.addrListNum_bcc.value >= SEND_MAIL_LIMIT) { overerr = 1; if(ENTRY_USE == "en"){ alert('You can enter up to '+SEND_MAIL_LIMIT+' destination address (Bcc.).'); } else if(ENTRY_USE == "cn"){ alert('Bcc.请控制在每次'+SEND_MAIL_LIMIT+'处以内。'); } else if(ENTRY_USE == "tcn"){ alert('Bcc.請控制在每次'+SEND_MAIL_LIMIT+'處以內。'); }else{ alert('Bcc.は一回'+SEND_MAIL_LIMIT+'ヵ所までお願い致します。'); } }else { var result = parent.parent.document.getElementById("address_list_bcc"); html = ""; html += ""; html += htmlspecialchars(name)+"("+htmlspecialchars(mailaddr)+")"; do_flg = 0; for (i=1;i<=parent.parent.document.sendmail.addrListNum_bcc.value;i++) { if (parent.parent.document.getElementById("address_bcc"+i) == null) { html += ""+STR_EXCLUDE+"
"; html = "
"+html+"
"; if(parent.parent.document.body.insertAdjacentHTML){ // IE, Opera result.insertAdjacentHTML('BeforeEnd',html); }else{ // Mozilla var r=parent.parent.document.createRange(); r.selectNode(result); var t=r.createContextualFragment(html); result.appendChild(t); } do_flg = 1; break; } } num = eval(parent.parent.document.sendmail.addrListNum_bcc.value)+1; if (do_flg == 0) { html += ""+STR_EXCLUDE+"
"; html = "
"+html+"
"; if(parent.parent.document.body.insertAdjacentHTML){ // IE, Opera result.insertAdjacentHTML('BeforeEnd',html); }else{ // Mozilla var r=parent.parent.document.createRange(); r.selectNode(result); var t=r.createContextualFragment(html); result.appendChild(t); } } //追加 parent.parent.document.sendmail.addrListNum_bcc.value = num; if (num == 10) { parent.parent.document.sendmail.elements["to_mail_bcc[]"][0].value =""; parent.parent.document.sendmail.elements["to_name_bcc[]"][0].value =""; parent.parent.document.sendmail.elements["to_mail_bcc[]"][0].disabled =true; parent.parent.document.sendmail.elements["to_name_bcc[]"][0].disabled =true; } } if (opt == 0) { removeGreyBox(); } else { return overerr; } } //onload時に入力した宛先数が制限数を超える場合、入力欄がdisabled function send_address_num(flg) { var SEND_MAIL_LIMIT = 100; if (document.sendmail) { if (eval(document.sendmail.addrListNum.value) >= SEND_MAIL_LIMIT) { $("#to_mail").attr("disabled","disabled"); $("#to_name").attr("disabled","disabled"); } if(flg) { if (eval(document.sendmail.addrListNum_cc.value) >= SEND_MAIL_LIMIT) { $("#to_mail_cc").attr("disabled","disabled"); $("#to_name_cc").attr("disabled","disabled"); } if (eval(document.sendmail.addrListNum_bcc.value) >= SEND_MAIL_LIMIT) { $("#to_mail_bcc").attr("disabled","disabled"); $("#to_name_bcc").attr("disabled","disabled"); } } } } //複数ファイルアップロードする時に入力タグを追加する function addFileSpace(flg) { if (flg == "upload") { var LIMIT_VAL = 100; } else if (flg == "collect") { var LIMIT_VAL = 100; } var result = document.getElementById("file_list"); if (document.upload.filenum.value >= LIMIT_VAL) { if(ENTRY_USE == "en"){ alert('You can upload up to '+LIMIT_VAL+' files.'); } else if(ENTRY_USE == "cn") { alert('一次上传文件数量请在'+LIMIT_VAL+'以内。'); } else if(ENTRY_USE == "tcn") { alert('一次上傳檔案數量請在'+LIMIT_VAL+'以內。'); }else{ alert('アップロードは1回'+LIMIT_VAL+'ファイル以内でお願い致します。'); } }else { html = ""; do_flg = 0; for (i=1;i<=document.upload.filenum.value;i++) { if (document.getElementById("uploadfile"+i) == null) { html = "
"+html+"  "+STR_DELETE+"
"; if(document.body.insertAdjacentHTML){ // IE, Opera result.insertAdjacentHTML('BeforeEnd',html); }else{ // Mozilla var r=document.createRange(); r.selectNode(result); var t=r.createContextualFragment(html); result.appendChild(t); } do_flg = 1; break; } } num = eval(document.upload.filenum.value )+1; if (do_flg == 0) { html = "
"+html+"  "+STR_DELETE+"
"; if(document.body.insertAdjacentHTML){ // IE, Opera result.insertAdjacentHTML('BeforeEnd',html); }else{ // Mozilla var r=document.createRange(); r.selectNode(result); var t=r.createContextualFragment(html); result.appendChild(t); } } //追加 document.upload.filenum.value = num; } } function delFileSpace(n) { var result = document.getElementById("uploadfile"+n); var agt=navigator.userAgent.toLowerCase(); if(document.body.removeNode && !(agt.indexOf("opera") != -1)){ // IE result.removeNode('true'); }else{ // Mozilla,opera p = result.parentNode; p.removeChild(result); } document.upload.filenum.value = eval(document.upload.filenum.value)-1; } //複数ファイル送信関連 // アドレス帳を開く function fileWind(){ minifileWin = window.open(ENTRY_NAME+"?action=sends_miniwind","ファイル一覧","toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,width=500,height=500"); } function folderChangeMini() { jQuery('#do').append(''); //new Insertion.Bottom('do', ''); //処理開始、連打を避けるため、一時無効になる var parent_id = document.getElementById('parent_id'); //var parent_id = $('parent_id'); var id = parent_id.value; parent_id.disabled = true; var url = ENTRY_NAME; var pars = {action:'sends_miniwind',parent_id:id,change_flg:'1'}; //var pars = 'action=sends_miniwind&parent_id='+id+'&change_flg=1'; var xhttp = jQuery.post(url,pars,function(){folderChangeMiniResult(xhttp);}); /* var myAjax = new Ajax.Request( url, { method: 'post', parameters: pars, onComplete: folderChangeMiniResult }); */ } function folderChangeMiniResult(originalRequest){ //put returned XML in the textarea result = originalRequest.responseText; document.getElementById('filelist').innerHTML = result; //new Element.update('filelist',result); document.getElementById('do').innerHTML = ''; //new Element.update('do',''); var parent_id = document.getElementById('parent_id'); //var parent_id = $('parent_id'); parent_id.disabled = false; } // 一覧から追加 function insertFile(file_id,file_name,file_size) { var FILE_SEND_LIMIT = 100; var is_flg = 0; if (parent.parent.document.sendmail.sendfile_num.value >= FILE_SEND_LIMIT) { if(ENTRY_USE = "en"){ alert('You can upload up to '+FILE_SEND_LIMIT+' files.'); } else if(ENTRY_USE == "cn") { alert('每次发送文件,请控制在'+FILE_SEND_LIMIT+'封以内。'); } else if(ENTRY_USE == "tcn") { alert('每次發送文件,請控制在'+FILE_SEND_LIMIT+'封以內。'); }else{ alert('ファイルは一回'+FILE_SEND_LIMIT+'件までお願い致します。'); } }else { for (i=0;i"; html+=""; html+=file_name+"("+file_size+"B)   "+STR_DELETE+""; html+=""; if(parent.parent.document.body.insertAdjacentHTML){ result.insertAdjacentHTML('BeforeEnd',html); }else{ // Mozilla var r=parent.parent.document.createRange(); r.selectNode(result); var t=r.createContextualFragment(html); result.appendChild(t); } parent.parent.document.sendmail.sendfile_num.value = eval(parent.parent.document.sendmail.sendfile_num.value)+1; } } if (is_flg == 0) { removeGreyBox(); } } //削除 function delSendFile(file_id) { if (document.sendmail.sendfile_num.value <= 1 && document.sendmail.mini_flg.value==0) { if(ENTRY_USE == "en"){ alert('Specify one or more distribute files.'); } else if(ENTRY_USE == "cn"){ alert('请指定一个以上的发送文件。'); } else if(ENTRY_USE == "tcn"){ alert('請指定一個以上的發送檔案。'); }else{ alert('送信ファイルを一つ以上指定してください。'); } } else if(document.sendmail.sendfile_num.value <= 0 && document.sendmail.mini_flg.value==1) { // 不正な削除があった場合 if(ENTRY_USE == "en"){ alert("Illegal access was detected."); } else if(ENTRY_USE == "cn") { alert("探测到非法访问。"); } else if(ENTRY_USE == "tcn") { alert("探測到非法訪問。"); }else{ alert("不正なアクセスを検知しました。"); } }else { var agt=navigator.userAgent.toLowerCase(); var result = document.getElementById("sendfile"+file_id); if(document.body.removeNode && !(agt.indexOf("opera") != -1)){ // IE result.removeNode('true'); }else{ // Mozilla, Opera p = result.parentNode; p.removeChild(result); } document.sendmail.sendfile_num.value = eval(document.sendmail.sendfile_num.value)-1; } } //addressチェックボックスのチェック function addr_addr (id_val,name_val,mail_val) { val = id_val + ":" + name_val + ":" + mail_val; obj = document.addr_init.addr_checks; obj.value = obj.value + "," + val; } //チェックされたアドレスの重複を除く function getUniqueAddr(arr) { var arr2 = new Array(); var arr3 = new Array(); var n = 1; var x = 1; var j = 1; var k = 1; var cnt = 0; while (arr[n]) { cnt = 0; x = 1; while (arr[x]) { if (arr[n] == arr[x]) { cnt++; } x++; } var j = 1; if (arr2) { var flg = 0; while(arr2[j]) { if (arr2[j] == arr[n]) { flg = 1; } j++; } if (flg == 0) { arr2[k] = arr[n]; arr3[k] = arr[n] + ":" + cnt; k++; } } else { arr2[k] = arr[n]; arr3[k] = arr[n] + ":" + cnt; k++; } n++; } return arr3; } //address一括セット function insertAddAll(mltype) { var obj = document.addr_init.addr_checks; var arr = obj.value.split(","); var arr2 = getUniqueAddr(arr); var n = 1; while (arr2[n]) { var arr3 = arr2[n].split(":"); if (arr3[3]%2 == 1) { if (mltype == "") { var overerr = insertAdd(arr3[1],arr3[2],"1"); } else if (mltype == "cc") { var overerr = insertAddcc(arr3[1],arr3[2],"1"); } else if (mltype == "bcc") { var overerr = insertAddbcc(arr3[1],arr3[2],"1"); } } if (overerr == 1) { removeGreyBox(); return 0; } n++; } removeGreyBox(); } // アドレスリミットチェック function checkSendAddrLimit(num, mltype) { var SEND_MAIL_LIMIT = 100; //ToかCcかBccか if(mltype == "_cc") { var str = 'Cc.'; } else if(mltype == "_bcc") { var str = 'Bcc.'; } else { var str = 'To.'; } if (num > SEND_MAIL_LIMIT) { if(ENTRY_USE == "en"){ str = (str == 'To.') ? "Destination address" : str; alert('You can enter up to '+SEND_MAIL_LIMIT+' destination address ('+ str +').'); } else if(ENTRY_USE == "cn"){ str = (str == 'To.') ? "收件人" : str; alert('一次可输入的收件人为'+SEND_MAIL_LIMIT+'人。'); } else if(ENTRY_USE == "tcn"){ str = (str == 'To.') ? "收件人" : str; alert('一次可輸入的收件人為'+SEND_MAIL_LIMIT+'人。'); }else{ str = (str == 'To.') ? "宛先" : str; alert(str + 'は一回'+SEND_MAIL_LIMIT+'ヵ所までお願い致します。'); } return false; } else { return true; } } //Gridの情報を各宛先欄へ追加 function insertSelectAddr(type) { //Gridの選択情報を取得 var res = $(".trSelected"); var res_num = res.size(); if(res_num == 0){ if(ENTRY_USE == "en") { alert("Please select the address."); } else if(ENTRY_USE == "cn") { alert("请选择邮箱地址。"); } else if(ENTRY_USE == "tcn") { alert("請選擇郵箱位址。"); } else { alert("アドレスを選択してください。"); } return false; } else { //既存アドレス情報取得 var list = $("#address_list"+ type); var list_num = $("div", list).size(); //アドレスリミットチェック var cont = res_num + list_num; if(!checkSendAddrLimit(cont, type)) { return false; } else { //ToかCcかBccか if(type == '_cc') { var mltype = "Cc"; } else if (type == "_bcc") { var mltype = "Bcc"; } else { var mltype = ""; } //address?のNoを取得 var i = (list_num > 0) ? parseInt($("div:last", list).attr("id").replace("address" + type,'')) + 1 : 1; var html = ""; //html生成 res.each(function(){ var name = $("input:hidden[@name='to_names[]']",this).val(); var mailaddr = $("input:hidden[@name='to_mails[]']",this).val(); //既にアドレスが登録されている場合は追加しない if($("input:hidden[value="+ mailaddr +"]", list).size() == 0 ) { html += '
'; html += ''; html += ''; html += ""+STR_EXCLUDE+" "; html += (htmlspecialchars(name)+"("+htmlspecialchars(mailaddr)+")
"); html += '
'; //チェックボックスとclassをremove $(this).removeClass("trSelected"); $(this).removeClass("trSelected2"); $("input:checkbox", this).attr('checked',''); ++i; } else { $(this).removeClass("trSelected"); $(this).removeClass("trSelected2"); $("input:checkbox", this).attr('checked',''); } //ヘッダーのチェックを外す var chkflg = $("#checkedFlg"); if(chkflg.val()) $("input:checkbox[@name='addrAllCheck']").attr("checked", false); }); list.append(html); } } } //Gridの情報を各宛先欄へ追加 function insertSelectGroup() { //Gridの選択情報を取得 var res = $(".trSelected"); var res_num = res.size(); if(res_num == 0){ if(ENTRY_USE == "en") { alert("Please select the Group."); } else if(ENTRY_USE == "cn") { alert("请选择邮箱组。"); } else if(ENTRY_USE == "tcn") { alert("請選擇郵箱組。"); } else { alert("グループを選択してください。"); } return false; } //既存アドレス情報取得 var group_ids = $("#group_ids").val(); var arr = []; var group_arr = []; var reset_flg = false; //html生成 res.each(function(){ $(this).removeClass("trSelected"); $(this).removeClass("trSelected2"); $("input:checkbox", this).attr('checked',''); //ヘッダーのチェックを外す var chkflg = $("#checkedFlg"); if(chkflg.val()) $("input:checkbox[@name='groupAllCheck']").attr("checked", false); // なかった時だけ追加 var id = $("input:checkbox[@name='group_id[]']",this).val(); // 0 は未分類として、別処理を行う if (id == 0) { reset_flg = true; } if ($("#group_id"+id).size() == 0) { var name = $("input:hidden[@name='group_name[]']",this).val(); arr.push(id); group_arr.push(name); } }); var str = group_ids; // 未分類時は残っているデータを削除 if (reset_flg) { var del_list = str.split(","); for(i = 0; i < del_list.length; i++) { delGroupList(del_list[i]); } str = ""; } else { // 空の場合は未分類があるので削除 if (str=="") { delGroupList(0); } for(i = 0; i < arr.length; i++) { if (reset_flg == true && arr[i] != 0 ) { continue; } if (arr[i] != 0) { if(str!="") str += ","; str += arr[i]; } var html = ""; html = '
'; if (arr[i] != 0) { html += ''+STR_EXCLUDE+''; } html += ''; html += '  '+htmlspecialchars(group_arr[i])+'
'; $("#selectGroup-list").append(html); } } $("#group_ids").val(str); return true; } // グループ情報を function insertGroupFromMiniwind(group_id,group_name) { var html = ""; html = '
'; html += ''+STR_EXCLUDE+''; html += ''; html += '  '+htmlspecialchars(group_name)+'
'; var str = $("#group_ids").val(); // 空の場合は未分類があるので削除 if (str=="") { delGroupList(0); } if(str!="") {str += ",";} str += group_id; $("#group_ids").val(str); $("#selectGroup-list").append(html); } // アドレス登録(to) function appendAddress(type) { //親画面の宛先情報取得 if(type == 'mailer') { var addr_type = new Array('','_cc',"_bcc"); } else { var addr_type = new Array(''); } //マルチセレクトにアドレスがない場合はエラーとする var res = false; for(i=0; i < addr_type.length; i++) { var cont = $("div","#address_list" + addr_type[i]).size(); if(cont > 0 ) res = true; } if(!res) { if(ENTRY_USE == "en") { alert("Please select the address."); } else if(ENTRY_USE == "cn") { alert("请选择邮箱地址。"); } else if(ENTRY_USE == "tcn") { alert("請選擇郵箱位址。"); } else { alert("アドレスを選択してください。"); } return false; } else { //データを取得し親画面と入れ替え for(i=0; i < addr_type.length; i++) { var list = $("#address_list" + addr_type[i]); var html = ""; html += '
'; html += list.html(); html += '
'; var p_node = parent.parent.$("#address_list" + addr_type[i]); p_node.replaceWith(html); parent.parent.$("input:hidden[name=addrListNum"+ addr_type[i] +"]").val($('div',list).size()); } for(i=0; i < addr_type.length; i++) { var cont = $("div","#address_list" + addr_type[i]).size(); if(cont >= 100) { self.parent.parent.$("#to_name"+addr_type[i]).attr("disabled","disabled"); self.parent.parent.$("#to_mail"+addr_type[i]).attr("disabled","disabled"); } else { self.parent.parent.$("#to_name"+addr_type[i]).removeAttr("disabled"); self.parent.parent.$("#to_mail"+addr_type[i]).removeAttr("disabled"); } } removeGreyBox(); } } // htmlエスケープ function htmlspecialchars(ch) { //console.log("a"); ch = ch.replace(/&/g,"&"); ch = ch.replace(/&amp;/g,"&"); ch = ch.replace(/"/g,"""); ch = ch.replace(/'/g,"'"); ch = ch.replace(//g,">"); return ch; } // htmlアンエスケープ function htmlunspecialchars(ch) { ch = ch.replace(/>/g,">"); ch = ch.replace(/</g,"<"); ch = ch.replace(/'/g,"'"); ch = ch.replace(/"/g,"\""); //ch = ch.replace(/&/g,"&amp;"); ch = ch.replace(/&/g,"&"); return ch; } // BRタグを改行コードに変換 function br2Break(text) { text = text.replace(//ig, "\r\n"); return text; } // 改行コードをBRタグに変換 function break2Br(text) { text = text.replace(/\r\n/g, "
"); text = text.replace(/(\n|\r)/g, "
"); return text; } // アドレスリミットチェック function checkSendFileLimit(num) { var FILE_SEND_LIMIT = 100; if (num > FILE_SEND_LIMIT) { if(ENTRY_USE == "en"){ alert('You can enter up to '+FILE_SEND_LIMIT+' destination address.'); } else if(ENTRY_USE == "cn"){ alert('一次可输入的收件人为'+FILE_SEND_LIMIT+'人。'); } else if(ENTRY_USE == "tcn"){ alert('一次可輸入的收件人為'+FILE_SEND_LIMIT+'人。'); }else{ alert('配布ファイル数は、一回'+FILE_SEND_LIMIT+'個まででお願い致します。'); } return false; } else { return true; } } //Gridの情報を配布ファイル欄へ追加 function insertSelectFile() { //Gridの選択情報を取得 var res = $(".trSelected"); var res_num = res.size(); if(res_num == 0){ if(ENTRY_USE == 'en' ) { alert("Please select the file."); } else if(ENTRY_USE == 'cn') { alert("请选择文件。"); } else if(ENTRY_USE == 'tcn') { alert("選擇檔案。"); } else { alert("ファイルを選択してください。"); } return false; } else { //既存ファイル情報取得 var list = $("#file_list"); var list_num = $("div", list).size(); //アドレスリミットチェック var cont = res_num + list_num; if(!checkSendFileLimit(cont)) { return false; } else { //fileのNoを取得 //var i = (list_num > 0) ? parseInt($("div:last", list).size()) + 1 : 1; var i = document.sendmail.sendfile_num.value; // i が mini だった場合は0にする if(i=='mini'){i=0;} var html = ""; //html生成 res.each(function(){ var name = $("input:hidden[@name='files_names[]']",this).val(); var size = $("input:hidden[@name='files_size[]']",this).val(); var file_id = $("input:hidden[@name='files_ids[]']",this).val(); //既にファイルが登録されている場合は追加しない if( $("input:hidden[value="+ file_id +"]", list).size() == 0 ) { html += '
'; html += ''; html += ''; html += (htmlspecialchars(name)+"("+size+") "); html += ""+STR_DELETE+"
"; html += '
'; //チェックボックスとclassをremove $(this).removeClass("trSelected"); $(this).removeClass("trSelected2"); $("input:checkbox", this).attr('checked',''); ++i; } else { $(this).removeClass("trSelected"); $(this).removeClass("trSelected2"); $("input:checkbox", this).attr('checked',''); } //parent.parent.$("input:hidden[name=sendfile_num]").val(i-1); document.sendmail.sendfile_num.value = i; //ヘッダーのチェックを外す var chkflg = $("#checkedFlg"); if(chkflg.val()) $("input:checkbox[@name='fileAllCheck']").attr("checked", false); }); list.append(html); } } } //追加ファイルリストからの削除 function delFileList(n) { if (document.sendmail.sendfile_num.value != "mini" && document.sendmail.sendfile_num.value <= 1 && document.sendmail.mini_flg.value==0 ) { if(ENTRY_USE == "en"){ alert('Specify one or more distribute files.'); } else if(ENTRY_USE == "cn"){ alert('请指定一个以上的发送文件。'); } else if(ENTRY_USE == "tcn"){ alert('請指定一個以上的發送檔案。'); }else{ alert('送信ファイルを一つ以上指定してください。'); } } else if(document.sendmail.sendfile_num.value <= 0 && document.sendmail.mini_flg.value==1){ // 不正な削除があった場合 if(ENTRY_USE == "en"){ alert("Illegal access was detected."); } else if(ENTRY_USE == "cn") { alert("探测到非法访问。"); } else if(ENTRY_USE == "tcn") { alert("探測到非法訪問。"); }else{ alert("不正なアクセスを検知しました。"); } }else { var FILE_SEND_LIMIT = 100; var result = document.getElementById("sendfile"+n); var agt=navigator.userAgent.toLowerCase(); if(document.body.removeNode && !(agt.indexOf("opera") != -1)){ // IE result.removeNode('true'); }else{ // Mozilla, Opera p = result.parentNode; p.removeChild(result); } document.sendmail.sendfile_num.value = eval(document.sendmail.sendfile_num.value)-1; if (eval(document.sendmail.sendfile_num.value) < FILE_SEND_LIMIT && eval(document.sendmail.sendfile_num.value) > 0) { document.sendmail.elements["file_name[]"][0].disabled =false; document.sendmail.elements["file_id[]"][0].disabled =false; } } } // 追加ファイルの登録 function appendFile() { //マルチセレクトにファイルがない場合はエラーとする var res = false; var cont = $("div","#file_list").size(); if(cont > 0 ) res = true; if(!res) { if(ENTRY_USE == "en") { alert("Please select the files."); }else if(ENTRY_USE == "cn"){ alert("请选择您要追加的文件。"); }else if(ENTRY_USE == "tcn"){ alert("請選擇您要追加的檔案。"); }else { alert("追加するファイルを選択してください。"); } return false; } else { //データを取得し親画面と入れ替え var list = $("#file_list"); var html = ""; html += '
'; html += list.html(); html += '
'; var p_node = parent.parent.$("#sendfile_list"); p_node.replaceWith(html); parent.parent.$("input:hidden[name=sendfile_num]").val($('div',list).size()); removeGreyBox(); } } //Gridの情報を各宛先欄へ追加 // notice_flg 1:宛先件数の制限をなしに function insertSelectAddr_notice(notice_flg) { //Gridの選択情報を取得 var res = $(".trSelected"); var res_num = res.size(); if(res_num == 0){ if(ENTRY_USE == "en") { alert("Please select the address."); } else if(ENTRY_USE == "cn") { alert("请选择邮箱地址。"); } else if(ENTRY_USE == "tcn") { alert("請選擇郵箱位址。"); } else { alert("アドレスを選択してください。"); } return false; } else { //既存アドレス情報取得 var list = $("#address_list_notice"); var list_num = $("div", list).size(); //アドレスリミットチェック var cont = res_num + list_num; if(notice_flg != 1 && !checkSendAddrLimit(cont, "")) { return false; } else { //address?のNoを取得 var i = (list_num > 0) ? parseInt($("div:last", list).attr("id").replace("address_notice",'')) + 1 : 1; var html = ""; //html生成 res.each(function(){ var name = $("input:hidden[@name='user_name[]']",this).val(); var mailaddr = $("input:hidden[@name='mailaddr[]']",this).val(); var noticeuser_id = $("input:checkbox[@name='noticeuser_id[]']",this).val(); //既にアドレスが登録されている場合は追加しない if($("input:hidden[value="+ mailaddr +"]", list).size() == 0 ) { html += '
'; html += ''; html += ''; html += ''; html += ""+STR_EXCLUDE+" "; html += (htmlspecialchars(name)+"("+htmlspecialchars(mailaddr)+")
"); html += '
'; //チェックボックスとclassをremove $(this).removeClass("trSelected"); $(this).removeClass("trSelected2"); $("input:checkbox", this).attr('checked',''); ++i; } else { $(this).removeClass("trSelected"); $(this).removeClass("trSelected2"); $("input:checkbox", this).attr('checked',''); } //ヘッダーのチェックを外す var chkflg = $("#checkedFlg"); if(chkflg.val()) $("input:checkbox[@name='addrAllCheck_notice']").attr("checked", false); }); list.append(html); } } } function appendAddress_notice() { //親画面の宛先情報取得 var addr_type = new Array(''); //マルチセレクトにアドレスがない場合はエラーとする var res = false; for(i=0; i < addr_type.length; i++) { var cont = $("div","#address_list_notice" + addr_type[i]).size(); if(cont > 0 ) res = true; } if(!res) { if(ENTRY_USE == "en") { alert("Please select the address."); } else if(ENTRY_USE == "cn") { alert("请选择邮箱地址。"); } else if(ENTRY_USE == "tcn") { alert("請選擇郵箱位址。"); } else { alert("アドレスを選択してください。"); } return false; } else { //データを取得し親画面と入れ替え for(i=0; i < addr_type.length; i++) { var list = $("#address_list_notice" + addr_type[i]); var html = ""; html += '
'; html += list.html(); html += '
'; var p_node = parent.parent.$("#address_list_notice" + addr_type[i]); p_node.replaceWith(html); parent.parent.$("input:hidden[name=addrListNum_notice"+ addr_type[i] +"]").val($('div',list).size()); } for(i=0; i < addr_type.length; i++) { var cont = $("div","#address_list_notice" + addr_type[i]).size(); if(cont >= 100) { self.parent.parent.$("#user_name"+addr_type[i]).attr("disabled","disabled"); self.parent.parent.$("#mailaddr"+addr_type[i]).attr("disabled","disabled"); self.parent.parent.$("#noticeuser_id"+addr_type[i]).attr("disabled","disabled"); } else { self.parent.parent.$("#user_name"+addr_type[i]).removeAttr("disabled"); self.parent.parent.$("#mailaddr"+addr_type[i]).removeAttr("disabled"); self.parent.parent.$("#noticeuser_id"+addr_type[i]).removeAttr("disabled"); } } removeGreyBox(); } } //宛先リストからの削除 function delAddrList_notice(n) { var SEND_MAIL_LIMIT = 100; var result = document.getElementById("address_notice"+n); var agt=navigator.userAgent.toLowerCase(); if(document.body.removeNode && !(agt.indexOf("opera") != -1)){ // IE result.removeNode('true'); }else{ // Mozilla, Opera p = result.parentNode; p.removeChild(result); } if (document.sendmail) { document.sendmail.addrListNum_notice.value = eval(document.sendmail.addrListNum_notice.value)-1; if (eval(document.sendmail.addrListNum_notice.value) < SEND_MAIL_LIMIT) { $("#mailaddr").removeAttr("disabled"); $("#user_name").removeAttr("disabled"); } } else { document.upload.addrListNum_notice.value = eval(document.upload.addrListNum_notice.value)-1; } } // 通知の宛先リストを空にする function resetNoticeAddressList() { document.sendmail.addrListNum_notice.value = 0; var result = document.getElementById("address_list_notice"); result.innerHTML = ""; } // ブラウザ情報を取得 function getBrowserInfo(type) { if (type == "version") { return ""; } else { return "etc"; } } // GreyBoxを閉じる function removeGreyBox() { parent.parent.tb_remove(); } function onBrowserDlLimit(file_name, dl_type) { var limit = BROWSER_DOWNLOAD_LIMIT_STR; var msg = ""; if (dl_type == "zip") { if(ENTRY_USE == "en"){ msg+= 'The "'+file_name+'", there is a possibility that more than '+limit+'MB when downloading, you can not download from your browser.\n\n'; } else if(ENTRY_USE == "cn"){ msg+= '『'+file_name+'』,有一种可能性,即当下载超过'+limit+'MB,就无法从浏览器下载。\n\n'; } else if(ENTRY_USE == "tcn"){ msg+= '『'+file_name+'』,有一種可能性,即當下載超過'+limit+'MB,就無法從瀏覽器下載。\n\n'; }else{ msg+= '『'+file_name+'』は、ダウンロード時に'+limit+'MBを超える可能性があるため、お使いのブラウザからダウンロードできません。\n\n'; } } else { if(ENTRY_USE == "en"){ msg+= 'The "'+file_name+'", because the file size is greater than '+limit+'MB, you can not download from your browser.\n\n'; } else if(ENTRY_USE == "cn"){ msg+= '『'+file_name+'』,因为文件的大小大于'+limit+'MB,则无法从浏览器下载。\n\n'; } else if(ENTRY_USE == "tcn"){ msg+= '『'+file_name+'』,因為文件的大小大於'+limit+'MB,則無法從瀏覽器下載。\n\n'; }else{ msg+= '『'+file_name+'』 は、ファイルサイズが'+limit+'MBを超えるため、お使いのブラウザからダウンロードできません。\n\n'; } } if(ENTRY_USE == "en"){ msg+= '* It does not correspond to the download of files larger than '+limit+'MB in your browser.'; } else if(ENTRY_USE == "cn"){ msg+= '※它并不对应于文件大于'+limit+'MB在你的浏览器更大的下载。'; } else if(ENTRY_USE == "tcn"){ msg+= '※它並不對應於文件大於'+limit+'MB在你的瀏覽器更大的下載。'; }else{ msg+= '※お使いのブラウザでは'+limit+'MBを超えるファイルサイズのダウンロードに対応しておりません。'; } if(ENTRY_USE == "en"){ msg+= '\n\nPlease try download from other browsers.'; } else if(ENTRY_USE == "cn"){ msg+= '\n\n请从其他浏览器尝试下载。'; } else if(ENTRY_USE == "tcn"){ msg+= '\n\n請從其他瀏覽器嘗試下載。'; }else{ msg+= '\n\n他のブラウザからダウンロードをお試しください。'; } alert(msg); return false; } /** * [機能説明] 配布・収集時のメールアドレス入力欄に、宛先候補を検知するフォームを設置 * @param val string 文字列 (tarou) * @param string 文字列 (Tarou) */ function setAddrDetectForm(type) { var SEND_MAIL_LIMIT = 100; var to_name_id = "to_name" + (type ? "_"+type : ""); var to_mail_id = "to_mail" + (type ? "_"+type : ""); var output = "address_list" + (type ? "_"+type : ""); var out_name = "to_name" + (type ? "_"+type : "") + "[]"; var out_addr = "to_mail" + (type ? "_"+type : "") + "[]"; var add_id = "address" + (type ? "_"+type : ""); var del_func = "delAddrList" + capitalize(type); var addr_list_name = "addrListNum" + (type ? "_"+type : ""); var ukey = getUniqueKey(); var chkName = "_chk"+ukey+"[]"; var btnID = "_btn"+ukey; var ulID = "_ul"+ukey; var errorID = "_error"+ukey; var addrs = []; var main_api = null; var error_api = null; var $textbox = $("#"+to_mail_id); var added_num = parseInt($("input[name='"+addr_list_name+"']").val()); var type_name = "宛先"; if (type == "cc") { type_name = "Cc"; } else if (type == "bcc") { type_name = "Bcc"; } else { if(ENTRY_USE == "en"){ type_name = "destination address"; } else if (ENTRY_USE == "cn"){ type_name = "收件人"; } else if (ENTRY_USE == "tcn") { type_name = "收件人"; } } var closeText = "閉じる"; var title = "#件の"+type_name+"候補を検出しました"; var btnText = "チェックした候補を"+type_name+"へ追加"; var errMsg = type_name+"は#件まで追加できます"; var errNone = "チェックを入れてください"; if(ENTRY_USE == "en"){ closeText = "Close"; title = "# destination candidate detected"; btnText = "Add checked " + type_name; errMsg = "Up to # "+type_name+" can be added"; errNone = "Please check"; } else if(ENTRY_USE == "cn"){ closeText = "关闭"; title = "检测到#个"+type_name+"候选人"; btnText = "将选中的候选人添加到"+type_name; errMsg = "最多可以添加#个"+type_name+""; errNone = "请检查"; } else if(ENTRY_USE == "tcn"){ closeText = "關閉"; title = "檢測到#個"+type_name+"候選人"; btnText = "將選中的候選人添加到"+type_name; errMsg = "最多可以添加#個"+type_name+""; errNone = "請檢查"; } var content = ''; content+= '
'; content+= '
'; content+= '
    '; content+= '
    '; content+= '
    '; var qtip_main = $textbox.qtip({ prerender:true, content: { text: content, button: false,//closeText, title: title, }, position: { my: 'top center', at: 'bottom center' }, style: { classes: 'qtip-bootstrap qtip-rounded' }, show: { event: false }, hide: { event: "unfocus", }, events: { render: function(e, api) { var $error = $("#"+errorID).qtip({ content: " ", position: { my: 'bottom center', at: 'top center' }, style: { classes: 'qtip qtip-error qtip-rounded' }, show: { event:false }, hide: { event: false, inactive: 3000 } }); error_api = $error.qtip("api"); // チェックボックスクリック イベントハンドラ $("#"+ulID).on("click", 'input[name="'+chkName+'"]', function() { var $checked = $('input[name="'+chkName+'"]:checked'); if ($checked.size() > (SEND_MAIL_LIMIT - added_num)) { error_api.set("content.text", errMsg.replace("#", SEND_MAIL_LIMIT - added_num)); error_api.show(); return false; } else { error_api.hide(); return true; } }); // 宛先追加ボタン クリックイベントハンドラ $("#"+btnID).on("click", function() { var $checked = $('input[name="'+chkName+'"]:checked'); var html = ''; var num = added_num; var checked_num = $('input[name="'+chkName+'"]:checked').each(function() { var index = this.value; if (addrs[index]) { var name = addrs[index][0]; var addr = addrs[index][1]; name = htmlspecialchars(typeof name !== "undefined" ? name : ""); addr = htmlspecialchars(addr); num+=1; html+= "
    "; html+= ""+STR_EXCLUDE+" "; html+= ""; html+= ""; html+= name + "(" + addr + ")
    "; html+= "
    "; } }).size(); if (checked_num == 0) { error_api.set("content.text", errNone); error_api.show(); return false; } $("#"+output).append(html); $("input[name='"+addr_list_name+"']").val(num); if ((SEND_MAIL_LIMIT-num) <= 0) { $("#"+to_name_id).prop("disabled", true); $("#"+to_mail_id).prop("disabled", true); } $textbox.val(""); main_api.hide(); }); }, hidden: function(e, api) { error_api.hide(); } } }); main_api = qtip_main.qtip("api"); // テキストボックスをフォーカス、ペースト、キー入力した時に吹き出しを表示 $textbox.on("focus paste keydown", function(e) { setTimeout(function() { added_num = parseInt($("input[name='"+addr_list_name+"']").val()); if (added_num >= SEND_MAIL_LIMIT) { main_api.hide(); return false; } addrs = []; var list = $textbox.val().split(","); var list_num = list.length; $.each(list, function(i, v) { var data = parseAddress(v); if (data) { if (list_num == 1 && i == 0 && typeof data[0] == "undefined") { return false; } addrs.push(data); } }); var addrs_num = addrs.length; if (addrs_num >= 1) { // 吹き出し内のメールアドレスのリスト構築 var html = ''; $.each(addrs, function(i, v) { var name = v[0]; var addr = v[1]; var checked = i < (SEND_MAIL_LIMIT-added_num) ? "checked" : ""; name = htmlspecialchars(typeof name !== "undefined" ? name : ""); addr = htmlspecialchars(addr); html+= '
  • '; }); $("#"+ulID).html(html); $("#qtip-"+main_api.id+"-title").text(title.replace("#", addrs_num)); main_api.show(); main_api.reposition(); } else { main_api.hide(); } }, 1); }); } /** * [機能説明] 先頭の英文字を大文字に変換 * @param val string 文字列 (tarou) * @param string 文字列 (Tarou) */ function capitalize(val) { return val.charAt(0).toUpperCase() + val.slice(1); } /** * [機能説明] メールアドレスを名前、アドレスの配列に分割 * @param val string メールアドレス文字列(hoge@example.com / ほげ / "ほげ" など) * @param array [名前, メールアドレス] */ function parseAddress(val) { var matches = val.trim().match(/^(?:"?([^\"]+?)"?\s*<)?((?:(?:[^<>()\[\]\.,;:\s@\"]+(?:\.[^<>()\[\]\.,;:\s@\"]+)*)|(?:\".+\"))@(?:(?:[^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,}))(?:>)?$/); if (matches) { return [matches[1], matches[2]]; } }