var tagUserList=false;$(document).ready(function(){$(".showMsgBox").on("click",function(e){e.preventDefault();$(".cancelBtn").trigger("click");$(".emotion").addClass('hidden');$(".msg-textarea-input").val("");var pid=$(this).data('pid');$(".MsgBox-"+pid).toggleClass('hidden');dealTagUserDOM();}) $(".send_msg").on("click",function(){$('.emotion').addClass('hidden');$(".MsgBox").addClass('hidden');let that=$(this);if(that.attr('disabled')=='disabled'){return false;} that.attr('disabled',true);var tag_uid=$(this).attr("data-tagid");var tag_uname=$(this).attr("data-taguname");var pid=$(this).data('pid');var tid=$(this).data('tid');var page=$(this).data('p');var msg_pid='#msg_'+pid;var msg=stripHtml($(msg_pid).val());var msg_area=get_msg_area($(this));if(tag_uid>0&&tag_uname!=''){msg=msg.replace("@"+tag_uname,"@"+tag_uid);} var msg_obj=check_msg(msg,tag_uname.length+1);if(!msg_obj['status']){$(".MsgBox").removeClass('hidden');msg_area.addClass('is-error');msg_area.find('.o-formError span').html(msg_obj['err_msg']);$(msg_pid).focus();return false;} localStorageEmotion();var post_obj={'mode':'add','pid':pid,'tid':tid,'msg':msg,'page':page,'tag_uid':tag_uid,'tag_uname':tag_uname} $.post('/ajax/forum/message.php',post_obj,function(result){that.removeAttr('disabled');if(result['status']=='success'){if($(".msg-"+pid).length==0){build_msg_area(msg_pid,pid);} $(msg_pid).val('');var cnt=build_content(pid,tid,result['data'],1,0,1);if($(".msg-"+pid).html().indexOf('floor-show')==-1){cnt=cnt.replace('floor-show','');} cnt=styleSmileFormat(cnt);$(".msg-"+pid).append(cnt);}else if(result['status']=='fail'){if(result['link']){login_confirm(result['link']);}else if(result['error-popup']){var link='';if(result['error']['link']&&result['error']['link']!=''){link=result['error']['link'];} form_popup(result['error']['msg'],link);}else{$.fancyAlert({popUpsize:'c-popUp--sm',icon:'c-icon--lightboxMsg c-icon--clapGn',titlesize:'t4',title:result['error'],msgsize:'o-fSubMini',message:'',smallBtn:true,model:true,close:''});}}},"json");}) $(".showMsg").on("click",function(e){e.preventDefault();$(".cancelBtn").trigger("click");var listtotal=$(this).data('magtotal');var pid=$(this).data('pid');var tid=$(this).data('tid');var Msg=".msg-"+pid;$(this).toggleClass('is-open');if($(Msg+" > .floor-show").length==0&&$(Msg+" > .floor-hide").length==0){var post_obj={'pid':pid} $.post('/ajax/forum/message_list.php',post_obj,function(result){if(result["status"]=="success"){listtotal=result["data_total"];msg_item_total=$(Msg).find('.msgItem').length;var flag=listtotal-msg_item_total;if(result["data"]!=null||listtotal>0){var cnt="";$.each(result["data"],function(index,value){cnt+=build_content(pid,tid,value,index,listtotal,flag);});cnt=styleSmileFormat(cnt);$(Msg).html(cnt);if(listtotal>result["data"].length){$(Msg).attr('data-blackmsg-total',(listtotal-result["data"].length));}}}},"json");$(this).find('span').text('收合留言');$(this).data("magtotal",listtotal);}else{if($(Msg+' > .floor-hide').css("display")!="none"){$(Msg+' > .floor-hide').hide();black_total=($(Msg).data('blackmsg-total'))?$(Msg).data('blackmsg-total'):0;listtotal=(listtotal+black_total);if(listtotal>2){var total=listtotal-2;if(isMobile){$(this).find('span').text('更多('+total+')');}else{$(this).find('span').text('還有 '+total+' 則留言');}}}else{$(Msg+' > .floor-hide').show();$(this).find('span').text('收合留言');}}}) var dark='';if($('link[href^="https:\/\/attach2\.mobile01\.com\/css\/main-set-dark.css"]').length||$('link[href^="https:\/\/attach2\.mobile01\.com\/css\/mobile-main-set-dark.css"]').length){dark='dark/';$(".emotionList .l-tab__container img").each(function(){var that=$(this);var srccontent=that.attr("src");if(typeof(srccontent)!='undefined'){srccontent.replace(/\/\/attach2\.mobile01\.com\/images\/emotions\/(?!.*dark\/)(.*?).gif/ig,function(matched,p1){that.attr("src",'//attach2.mobile01.com/images/emotions/dark/'+p1+'.gif');});}});} var reg_str=$.map(smile_arr,function(val,key){return key;}).join('|');var searchText="\\[("+reg_str+")\\]";var regExp=new RegExp(searchText,'g');$('.msgContent').each(function(){var html=$(this).html();var newhtml=styleSmileFormat(html);$(this).html(newhtml);});function styleSmileFormat(propertyName){function replaceSmile(match,offset){var index=offset.replace(/(\.|\+|\$|\^)/g,"\\$1");var img='' return img;} return propertyName.replace(regExp,replaceSmile);} $(document).on("click",'.emotionBtn',function(e){e.preventDefault();var html=$('.emotionList').html();if(isMobile){$(this).closest('.l-replyItem__main').find('.emotion').html(html).toggleClass('hidden');new Swiper('[data-tab-slider="fixWidth"]',{slideClass:'c-tabNav__item',wrapperClass:'c-tabNav__wrap',slidesPerView:$('[data-tab-slider="fixWidth"] .c-tabNav__item').length>=4?4:$('[data-tab-slider="fixWidth"] .c-tabNav__item').length,watchOverflow:true,spaceBetween:0,navigation:{nextEl:'.o-tabSwiperNav--next',prevEl:'.o-tabSwiperNav--prev',disabledClass:'is-disabled'},breakpointsInverse:true,breakpoints:{1024:{slidesPerView:$('[data-tab-slider="fixWidth"] .c-tabNav__item').length>=4?4:$('[data-tab-slider="fixWidth"] .c-tabNav__item').length}}});}else{$(this).closest('.l-leaveMsg__msg').find('.emotion').html(html).toggleClass('hidden');}});$(document).on('click','.emotion > .l-tab__container > a, .emotion > a',function(e){if(isMobile){var input_area=$(this).closest('.l-replyItem__main').find('.msg-textarea-input');}else{var input_area=$(this).closest('.l-leaveMsg__msg').find('.msg-textarea-input');} var add_text='['+$(this).find('img').attr('title')+']';input_area.insertAtCaret(add_text);});$.fn.extend({insertAtCaret:function(myValue){return this.each(function(){if(document.selection){this.focus();var sel=document.selection.createRange();sel.text=myValue;this.focus();}else if(this.selectionStart||this.selectionStart=='0'){var startPos=this.selectionStart;var endPos=this.selectionEnd;var scrollTop=this.scrollTop;this.value=this.value.substring(0,startPos)+ myValue+this.value.substring(endPos,this.value.length);this.focus();this.selectionStart=startPos+myValue.length;this.selectionEnd=startPos+myValue.length;this.scrollTop=scrollTop;}else{this.value+=myValue;this.focus();}});}});if(!isMobile){build_fance_select("#msg_violation_type");} $(document).on("click touchstart",'.msgreport',function(e){e.preventDefault();var mid=$(this).data('mid');var pid=$(this).data('pid');var page=$(this).data('page');$.fancybox.open({src:'#popUpMsgReport',type:'inline',opts:{beforeShow:function(instance,current){$("#popup_mid").val(mid);$("#popup_pid").val(pid);$("#popup_page").val(page);}}});});$(document).on("click",'#popup_msend',function(){var post_obj={'pid':$("#popup_pid").val(),'mid':$("#popup_mid").val(),'page':$("#popup_page").val(),'report_type':$("#msg_violation_type").val()};form_post($(this),"ajax/forum/message_report.php",post_obj);});$(document).on("click touchstart",'.msgshare',function(e){e.preventDefault();var mid=$(this).data('mid');share_url(mid);});$(document).on("click touchstart",'.msgedit',function(e){e.preventDefault();$(".cancelBtn").trigger("click");$(".MsgBox").addClass('hidden');dealTagUserDOM();var pid=$(this).data('pid');var tid=$(this).data('tid');var mid=$(this).data('mid');var page=$(this).data('page');var thisDom=$(this).closest('.msgItem') var msg_temp=thisDom.find('.msgContent').html().trim();var re_smile=//g;var msg=msg_temp.replace(re_smile,'[$1]');var re_tagUser=/]*>([^<]*)<\/a>/i;var storageMsg=stripHtml(msg.replace(re_tagUser,'[@$1]-[@$2]'));var tag_id=0;var tag_name='';var uArray=msg.match(re_tagUser);if(Array.isArray(uArray)){tag_id=uArray[1];tag_name=uArray[2];tagUserList=true;} msg=stripHtml(msg.replace(re_tagUser,'@$2'));var msgLight=msg.length;if(tag_name.length>0){msgLight=msgLight-tag_name.length-1;} window.localStorage.setItem('usermsg',storageMsg);if(isMobile){var EditHtml='
'+ ''+ '
'+ '
'+ '
'+ ''+ '
'+ '';thisDom.find('.msgContent').html(EditHtml);}else{$('.messageList .msgContent').css({"max-height":"none"});var EditHtml='
'+ '
'+ ''+ ''+msgLight+'/100'+ ''+ ''+ '
'+ '
'+ '確定'+ '
'+ '
';thisDom.find('.msgContent').html(EditHtml).after('
');} thisDom.find('.msgTool').hide();});$(document).on("click touchstart",'.send_edit_msg',function(e){e.preventDefault();$('.emotion').addClass('hidden');var tag_uid=$(this).attr("data-tagid");var tag_uname=$(this).attr("data-taguname");var page=$(this).data('page');var pid=$(this).data('pid');var tid=$(this).data('tid');var mid=$(this).data('mid');var msg_mid='#msgEdit_'+mid;var msg=stripHtml($(msg_mid).val());if(tag_uid>0&&tag_uname!=''){msg=msg.replace("@"+tag_uname,"@"+tag_uid);} $('.msgItem').removeClass('is-error');var msg_area=$(this).closest('.msgItem');var msg_obj=check_msg(msg,tag_uname.length+1);if(!msg_obj['status']){msg_area.addClass('is-error');msg_area.find('.o-formError span').html(msg_obj['err_msg']);$(msg_mid).focus();return false;} localStorageEmotion();var post_obj={'mode':'edit','page':page,'tid':tid,'pid':pid,'mid':mid,'msg':msg,'tag_uid':tag_uid,'tag_uname':tag_uname} $.post('/ajax/forum/message.php',post_obj,function(result){if(result['status']=='success'){var msg=styleSmileFormat(result['data']['msg']);editDom(msg_area,msg);}else if(result['status']=='fail'){if(result['link']){login_confirm(result['link']);}else{$.fancyAlert({popUpsize:'c-popUp--sm',icon:'c-icon--lightboxMsg c-icon--clapGn',titlesize:'t4',title:result['error'],msgsize:'o-fSubMini',message:'',smallBtn:true,model:true,close:''});}}},"json");}) $(document).on("click touchstart",'.cancelBtn',function(e){e.preventDefault();$(".c-list-group").removeClass('is-active');var msg=stripHtml(window.localStorage.getItem('usermsg'));window.localStorage.removeItem('usermsg');var thisDom=$(this).closest('.msgItem');var tagUser=/\[@([0-9]*)\]-\[@([^\]]*)\]/g;msg=msg.replace(tagUser,'$2');msg=styleSmileFormat(msg);editDom(thisDom,msg);});$(document).on('click','.mag_user_link',function(e){$(".c-list-group").removeClass('is-active');var id=$(this).data('id');if(isMobile){var thisDom=$(this).closest('.l-replyItem__main');var input_area=thisDom.find('.msg-textarea-input');}else{var thisDom=$(this).closest('.l-leaveMsg__msg');var input_area=thisDom.find('.msg-textarea-input');} var uname=$(this).find(".uname").html();var add_text=uname+' ';input_area.insertAtCaret(add_text);thisDom.find('.send_msg, .send_edit_msg').attr('data-tagid',id).attr('data-taguname',uname);});});function dealTagUserDOM(){tagUserList=false;$(".c-list-group").removeClass('is-active');$('.send_msg, .send_edit_msg').attr('data-tagid','0');$('.send_msg, .send_edit_msg').attr('data-taguname','');} function editDom(thisDom,msg){thisDom.find('.msgContent').html(msg);thisDom.find('.o-formError').remove();thisDom.find('.emotion').remove();thisDom.removeClass('is-error');thisDom.find('.msgTool').show();if(!isMobile){$('.messageList .msgContent').css({"max-height":"4.2em"});}} function get_msg_area(that){$('.MsgBox').removeClass('is-error');return that.closest('.MsgBox');} function date(time){var date_time=new Date();time=time*1000;date_time.setTime(time);var year=date_time.getFullYear();var month=('0'+(date_time.getMonth()+1)).substr(-2);var date=('0'+date_time.getDate()).substr(-2);var hour=('0'+date_time.getHours()).substr(-2);var minute=('0'+date_time.getMinutes()).substr(-2);return year+"-"+month+"-"+date+" "+hour+":"+minute;};function check_msg(msg,tag_uname_length){if($.trim(msg)==''){return{'status':false,'err_msg':'請輸入留言'};} var chk_wording=check_wording(msg);if(chk_wording!=''){return{'status':false,'err_msg':'禁用注音符號:'+chk_wording};} var msgLength=msg.length;if(tag_uname_length>0){msgLength=msgLength-tag_uname_length;} if(msgLength>100){return{'status':false,'err_msg':'留言不得超過100個字'};} return{'status':true,'content':msg};} function check_wording(text){var regex=/[\u3105-\u3129\u02CA\u02C7\u02CB\u02D9]/;var match=regex.exec(text);if(match!=null){return match[0];} return '';} function stripHtml(html){let doc=new DOMParser().parseFromString(html,'text/html');return doc.body.textContent||"";} function msgBoxHeight(msg,mode){var msgboxH=44;if(msg.scrollHeight>=msgboxH){$(msg).css({"height":msg.scrollHeight+'px'});} if(!isMobile){var thisDom=$(msg).closest('.l-leaveMsg__msg');if(msg.scrollHeightmsg.clientHeight){thisDom.find('.l-searchBar__item').css({"vertical-align":"top"});thisDom.find('.msg-word-count').css({"top":"8px"});thisDom.find('.emotionBtn').css({"top":"8px"});if(mode=='edit'){thisDom.find('.msg-textarea-input').css({"padding-right":"110px"});thisDom.find('.cancelBtn').css({"top":"8px"});}}}} function tagPerson(msg,mode){var thisMsg=msg.value;if(isMobile){var thisDom=$(msg).closest('.l-replyItem__main');}else{var thisDom=$(msg).closest('.l-leaveMsg__msg');} if(mode=='add'){var thisboxDom=thisDom.find('.send_msg');}else{var thisboxDom=thisDom.find('.send_edit_msg');} var taguname=thisboxDom.attr('data-taguname');var tagnameLength=taguname.length;var findtagname=taguname.substr(0,tagnameLength-1);if(tagnameLength>0){if(thisMsg.substr(thisMsg.length-tagnameLength,tagnameLength)=='@'+findtagname){$(msg).val(thisMsg.replace('@'+findtagname,""));dealTagUserDOM();tagnameLength=0;}else{tagnameLength=tagnameLength+1;} return tagnameLength;} var lastmag=msg.value.substr(msg.value.length-1,1) if(lastmag!='@'){dealTagUserDOM();return false;} if(tagUserList){return false;} var element=msg;var coordinates=getCoordinates(element,element.selectionEnd);var left=coordinates.left;var pid=$(msg).data('pid');var post_obj={'pid':pid} var parentDom=$(msg).closest('.messageList');if(parentDom.find('.mag_users').length==0){$.post('/ajax/forum/message_users.php',post_obj,function(result){if(result["status"]=="success"){if(result["data"]!=null){var cnt="";$.each(result["data"],function(index,value){cnt+=build_user_content(value);});parentDom.find('.MsgBox').after('');var html=parentDom.find('.mag_users').html();var msg_user_html='
'+html+'
';thisDom.find('.o-formError').before(msg_user_html);thisDom.find('.mag_user_list').css("margin-left",left+"px");}}},"json");}else{if(thisDom.find('.mag_user_list').length==0){var html=parentDom.find('.mag_users').html();var msg_user_html='
'+html+'
';thisDom.find('.o-formError').before(msg_user_html);}else{thisDom.find('.mag_user_list').addClass('is-active');} thisDom.find('.mag_user_list').css("margin-left",left+"px");} tagUserList=true;return 0;} function build_user_content(data){var list=''+ ''+data.uname+''+ ''+data.uname+''+ '';return list;} function checkLength(msg){var tagnameLength=tagPerson(msg,'add');msgBoxHeight(msg);var maxChars=100;var msg_area=get_msg_area($(msg));var wordLength=msg.value.length;if(wordLength>0&&tagnameLength>0){wordLength=wordLength-tagnameLength;if(wordLength<0){wordLength=0;}} if(isMobile){$(msg).closest('.l-replyItem__main').find('.msg-word-count').html(wordLength+'/100');}else{$(msg).closest('.msg-textarea-area').find('.msg-word-count').html(wordLength+'/100');} if(msg.value.length>maxChars){msg_area.addClass('is-error');msg_area.find('.o-formError span').html('留言不得超過100個字');}else{msg_area.removeClass('is-error');} return true;} function checkEditLength(msg){var tagnameLength=tagPerson(msg,'edit');msgBoxHeight(msg,'edit');var maxChars=100;$('.msgItem').removeClass('is-error');var msg_area=$(msg).closest('.msgItem');var wordLength=msg.value.length;if(wordLength>0&&tagnameLength>0){wordLength=wordLength-tagnameLength;if(wordLength<0){wordLength=0;}} $(msg).closest('.msgContent').find('.msg-word-count').html(wordLength+'/100');if(msg.value.length>maxChars){msg_area.addClass('is-error');msg_area.find('.o-formError span').html('留言不得超過100個字');}else{msg_area.removeClass('is-error');} return true;} var properties=['direction','boxSizing','width','paddingTop','paddingRight','paddingBottom','paddingLeft'];function getCoordinates(element,position){var div=document.createElement('div');div.id='input-textarea-position-div';document.body.appendChild(div);var style=div.style;var computed=window.getComputedStyle?window.getComputedStyle(element):element.currentStyle;style.wordWrap='break-word';properties.forEach(function(prop){style[prop]=computed[prop];});div.textContent=element.value.substring(0,position);var span=document.createElement('span');span.textContent=element.value.substring(position)||'.';div.appendChild(span);var coordinates={left:span.offsetLeft};document.body.removeChild(div);return coordinates;}