function QuickReply(oOptions)
{this.opt=oOptions;this.bCollapsed=this.opt.bDefaultCollapsed;}
QuickReply.prototype.quote=function(iMessageId,sSessionId,bTemplateUpgraded)
{if(this.bCollapsed)
{if(bTemplateUpgraded)
return true;else
{window.location.href=smf_prepareScriptUrl(this.opt.sScriptUrl)+'action=post;quote='+ iMessageId+';topic='+ this.opt.iTopicId+'.'+ this.opt.iStart+';sesc='+ sSessionId;return false;}}
else
{if(window.XMLHttpRequest)
{ajax_indicator(true);getXMLDocument(smf_prepareScriptUrl(this.opt.sScriptUrl)+'action=quotefast;quote='+ iMessageId+';sesc='+ sSessionId+';xml',this.onQuoteReceived);}
else
reqWin(smf_prepareScriptUrl(this.opt.sScriptUrl)+'action=quotefast;quote='+ iMessageId+';sesc='+ sSessionId,240,90);if(navigator.appName=='Microsoft Internet Explorer')
window.location.hash=this.opt.sJumpAnchor;else
window.location.hash='#'+ this.opt.sJumpAnchor;return false;}}
QuickReply.prototype.onQuoteReceived=function(oXMLDoc)
{var sQuoteText='';for(var i=0;i<oXMLDoc.getElementsByTagName('quote')[0].childNodes.length;i++)
sQuoteText+=oXMLDoc.getElementsByTagName('quote')[0].childNodes[i].nodeValue;replaceText(sQuoteText,document.forms.postmodify.message);ajax_indicator(false);}
QuickReply.prototype.swap=function()
{document.getElementById(this.opt.sImageId).src=this.opt.sImagesUrl+"/"+(this.bCollapsed?this.opt.sImageCollapsed:this.opt.sImageExpanded);document.getElementById(this.opt.sContainerId).style.display=this.bCollapsed?'':'none';this.bCollapsed=!this.bCollapsed;}
function QuickModify(oOptions)
{this.opt=oOptions;this.bInEditMode=false;this.sCurMessageId='';this.oCurMessageDiv=null;this.oCurSubjectDiv=null;this.sMessageBuffer='';this.sSubjectBuffer='';this.bXmlHttpCapable=this.isXmlHttpCapable();if(this.bXmlHttpCapable)
{for(var i=document.images.length- 1;i>=0;i--)
if(document.images[i].id.substr(0,14)=='modify_button_')
document.images[i].style.display='';}}
QuickModify.prototype.isXmlHttpCapable=function()
{if(typeof(window.XMLHttpRequest)=='undefined')
return false;if(typeof(window.opera)!='undefined')
{var test=new XMLHttpRequest();if(typeof(test.setRequestHeader)!='function')
return false;}
return true;}
QuickModify.prototype.modifyMsg=function(iMessageId,sSessionId)
{if(!this.bXmlHttpCapable)
return;if(this.bInEditMode)
this.modifyCancel();this.bInEditMode=true;ajax_indicator(true);this.tmpMethod=getXMLDocument;this.tmpMethod(smf_prepareScriptUrl(this.opt.sScriptUrl)+'action=quotefast;quote='+ iMessageId+';sesc='+ sSessionId+';modify;xml',this.onMessageReceived);delete this.tmpMethod;}
QuickModify.prototype.onMessageReceived=function(XMLDoc)
{var sBodyText='',sSubjectText='';ajax_indicator(false);this.sCurMessageId=XMLDoc.getElementsByTagName('message')[0].getAttribute('id');if(!document.getElementById(this.sCurMessageId))
return this.modifyCancel();for(var i=0;i<XMLDoc.getElementsByTagName("message")[0].childNodes.length;i++)
sBodyText+=XMLDoc.getElementsByTagName("message")[0].childNodes[i].nodeValue;this.oCurMessageDiv=document.getElementById(this.sCurMessageId);this.sMessageBuffer=getInnerHTML(this.oCurMessageDiv);sBodyText=sBodyText.replace(/\$/g,'{&dollarfix;$}');setInnerHTML(this.oCurMessageDiv,this.opt.sTemplateBodyEdit.replace(/%msg_id%/g,this.sCurMessageId.substr(4)).replace(/%body%/,sBodyText).replace(/\{&dollarfix;\$\}/g,'$'));this.oCurSubjectDiv=document.getElementById('subject_'+ this.sCurMessageId.substr(4));this.sSubjectBuffer=getInnerHTML(this.oCurSubjectDiv);sSubjectText=XMLDoc.getElementsByTagName('subject')[0].childNodes[0].nodeValue.replace(/\$/g,'{&dollarfix;$}');setInnerHTML(this.oCurSubjectDiv,this.opt.sTemplateSubjectEdit.replace(/%subject%/,sSubjectText).replace(/\{&dollarfix;\$\}/g,'$'));return true;}
QuickModify.prototype.modifyCancel=function()
{if(this.oCurMessageDiv)
{setInnerHTML(this.oCurMessageDiv,this.sMessageBuffer);setInnerHTML(this.oCurSubjectDiv,this.sSubjectBuffer);}
this.bInEditMode=false;return false;}
QuickModify.prototype.modifySave=function(sSessionId)
{if(!this.bInEditMode)
return true;var i,x=new Array();x[x.length]='subject='+ escape(document.forms.quickModForm['subject'].value.replace(/&#/g,"&#38;#").php_to8bit()).replace(/\+/g,"%2B");x[x.length]='message='+ escape(document.forms.quickModForm['message'].value.replace(/&#/g,"&#38;#").php_to8bit()).replace(/\+/g,"%2B");x[x.length]='topic='+ parseInt(document.forms.quickModForm.elements['topic'].value);x[x.length]='msg='+ parseInt(document.forms.quickModForm.elements['msg'].value);ajax_indicator(true);sendXMLDocument.call(this,smf_prepareScriptUrl(this.opt.sScriptUrl)+"action=jsmodify;topic="+ this.opt.iTopicId+";sesc="+ sSessionId+";xml",x.join("&"),this.onModifyDone);return false;}
QuickModify.prototype.onModifyDone=function(XMLDoc)
{ajax_indicator(false);if(!XMLDoc||!XMLDoc.getElementsByTagName('smf')[0])
{this.modifyCancel();return;}
var message=XMLDoc.getElementsByTagName('smf')[0].getElementsByTagName('message')[0];var body=message.getElementsByTagName('body')[0];var error=message.getElementsByTagName('error')[0];if(body)
{var bodyText='';for(i=0;i<body.childNodes.length;i++)
bodyText+=body.childNodes[i].nodeValue;this.sMessageBuffer=this.opt.sTemplateBodyNormal.replace(/%body%/,bodyText.replace(/\$/g,'{&dollarfix;$}')).replace(/\{&dollarfix;\$\}/g,'$');setInnerHTML(this.oCurMessageDiv,this.sMessageBuffer);var oSubject=message.getElementsByTagName('subject')[0];var sSubjectText=oSubject.childNodes[0].nodeValue.replace(/\$/g,'{&dollarfix;$}');this.sSubjectBuffer=this.opt.sTemplateSubjectNormal.replace(/%msg_id%/g,this.sCurMessageId.substr(4)).replace(/%subject%/,sSubjectText).replace(/\{&dollarfix;\$\}/g,'$');setInnerHTML(this.oCurSubjectDiv,this.sSubjectBuffer);if(oSubject.getAttribute('is_first')=='1')
setInnerHTML(document.getElementById('top_subject'),this.opt.sTemplateTopSubject.replace(/%subject%/,sSubjectText).replace(/\{&dollarfix;\$\}/g,'$'));if(this.opt.bShowModify)
setInnerHTML(document.getElementById('modified_'+ this.sCurMessageId.substr(4)),message.getElementsByTagName('modified')[0].childNodes[0].nodeValue);addReflections();}
else if(error)
{setInnerHTML(document.getElementById('error_box'),error.childNodes[0].nodeValue);document.forms.quickModForm.message.style.border=error.getAttribute('in_body')=='1'?this.opt.sErrorBorderStyle:'';document.forms.quickModForm.subject.style.border=error.getAttribute('in_subject')=='1'?this.opt.sErrorBorderStyle:'';}}
function InTopicModeration(oOptions)
{this.opt=oOptions;this.bButtonsShown=false;this.iNumSelected=0;this.init();}
InTopicModeration.prototype.init=function()
{for(var i=0,n=this.opt.aMessageIds.length;i<n;i++)
{var oCheckbox=document.createElement('input');oCheckbox.type='checkbox';oCheckbox.className='check';oCheckbox.name='msgs[]';oCheckbox.value=this.opt.aMessageIds[i];oCheckbox.instanceRef=this;oCheckbox.onclick=function(){this.instanceRef.handleClick(this);}
var oCheckboxContainer=document.getElementById(this.opt.sCheckboxContainerMask+ this.opt.aMessageIds[i]);oCheckboxContainer.appendChild(oCheckbox);oCheckboxContainer.style.display='';}}
InTopicModeration.prototype.handleClick=function(oCheckbox)
{if(!this.bButtonsShown)
{if(this.opt.bCanRemove)
smf_addButton(this.opt.sButtonStrip,this.opt.bUseImageButton,{sId:this.opt.sSelf+'_remove_button',sText:this.opt.sRemoveButtonLabel,sImage:this.opt.sRemoveButtonImage,sUrl:'#',sCustom:' onclick="return '+ this.opt.sSelf+'.handleSubmit(\'remove\')"'});if(this.opt.bCanRestore)
smf_addButton(this.opt.sButtonStrip,this.opt.bUseImageButton,{sId:this.opt.sSelf+'_restore_button',sText:this.opt.sRestoreButtonLabel,sImage:this.opt.sRestoreButtonImage,sUrl:'#',sCustom:' onclick="return '+ this.opt.sSelf+'.handleSubmit(\'restore\')"'});this.bButtonsShown=true;}
this.iNumSelected+=oCheckbox.checked?1:-1;if(this.opt.bCanRemove&&!this.opt.bUseImageButton)
setInnerHTML(document.getElementById(this.opt.sSelf+'_remove_button'),this.opt.sRemoveButtonLabel+' ['+ this.iNumSelected+']');if(this.opt.bCanRestore&&!this.opt.bUseImageButton)
setInnerHTML(document.getElementById(this.opt.sSelf+'_restore_button'),this.opt.sRestoreButtonLabel+' ['+ this.iNumSelected+']');}
InTopicModeration.prototype.handleSubmit=function(sSubmitType)
{var oForm=document.getElementById(this.opt.sFormId);var oInput=document.createElement('input');oInput.type='hidden';oInput.name='sc';oInput.value=this.opt.sSessionId;oForm.appendChild(oInput);switch(sSubmitType)
{case'remove':if(!confirm(this.opt.sRemoveButtonConfirm))
return false;oForm.action=oForm.action.replace(/;restore_selected=1/,'');break;case'restore':if(!confirm(this.opt.sRestoreButtonConfirm))
return false;oForm.action=oForm.action+';restore_selected=1';break;default:return false;break;}
oForm.submit();return true;}
function expandThumb(thumbID)
{var img=document.getElementById('thumb_'+ thumbID);var link=document.getElementById('link_'+ thumbID);var tmp=img.src;img.src=link.href;link.href=tmp;img.style.width='';img.style.height='';return false;}
function QuickPM(name)
{quick_pm_mode=name?true:!quick_pm_mode;oQuickReply.bCollapsed=true;oQuickReply.swap();if(quick_pm_mode)
{document.getElementById('change_quick').innerHTML=change_quick_reply;document.getElementById('title_quick').innerHTML=title_quick_pm;document.getElementById('postmodify').action=smf_scripturl+"?action=pm;sa=send2";document.postmodify.post.value=send_message_pm;document.postmodify.subject.value="";if(name)
document.postmodify.to.value+=(document.postmodify.to.value!=''?', "':'"')+ name+'"';document.getElementById('quickReplyWarning').style.display="none";document.getElementById('quickPMWarning').style.display="";document.getElementById('quickPMContent').style.display="";document.postmodify.subject.focus();}
else
{document.getElementById('quickPMContent').style.display="none";document.getElementById('change_quick').innerHTML=change_quick_pm;document.getElementById('title_quick').innerHTML=title_quick_reply;document.getElementById('postmodify').action=smf_scripturl+"?action=post2";document.postmodify.post.value=send_message_reply;document.postmodify.subject.value=subject_post;document.getElementById('quickReplyWarning').style.display="";document.getElementById('quickPMWarning').style.display="none";document.postmodify.message.focus();}
if(name)
return false;}
