window.addComment=(function(window){var document=window.document;var config={commentReplyClass:'comment-reply-link',commentReplyTitleId:'reply-title',cancelReplyId:'cancel-comment-reply-link',commentFormId:'commentform',temporaryFormId:'wp-temp-form-div',parentIdFieldId:'comment_parent',postIdFieldId:'comment_post_ID'};var MutationObserver=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;var cutsTheMustard='querySelector'in document&&'addEventListener'in window;var supportsDataset=!!document.documentElement.dataset;var cancelElement;var commentFormElement;var respondElement;var observer;if(cutsTheMustard&&document.readyState!=='loading'){ready();}else if(cutsTheMustard){window.addEventListener('DOMContentLoaded',ready,false);}
function ready(){init();observeChanges();}
function init(context){if(!cutsTheMustard){return;}
cancelElement=getElementById(config.cancelReplyId);commentFormElement=getElementById(config.commentFormId);if(!cancelElement){return;}
cancelElement.addEventListener('click',cancelEvent);var submitFormHandler=function(e){if((e.metaKey||e.ctrlKey)&&e.keyCode===13&&document.activeElement.tagName.toLowerCase()!=='a'){commentFormElement.removeEventListener('keydown',submitFormHandler);e.preventDefault();commentFormElement.submit.click();return false;}};if(commentFormElement){commentFormElement.addEventListener('keydown',submitFormHandler);}
var links=replyLinks(context);var element;for(var i=0,l=links.length;i<l;i++){element=links[i];element.addEventListener('click',clickEvent);}}
function replyLinks(context){var selectorClass=config.commentReplyClass;var allReplyLinks;if(!context||!context.childNodes){context=document;}
if(document.getElementsByClassName){allReplyLinks=context.getElementsByClassName(selectorClass);}
else{allReplyLinks=context.querySelectorAll('.'+selectorClass);}
return allReplyLinks;}
function cancelEvent(event){var cancelLink=this;var temporaryFormId=config.temporaryFormId;var temporaryElement=getElementById(temporaryFormId);if(!temporaryElement||!respondElement){return;}
getElementById(config.parentIdFieldId).value='0';var headingText=temporaryElement.textContent;temporaryElement.parentNode.replaceChild(respondElement,temporaryElement);cancelLink.style.display='none';var replyHeadingElement=getElementById(config.commentReplyTitleId);var replyHeadingTextNode=replyHeadingElement&&replyHeadingElement.firstChild;var replyLinkToParent=replyHeadingTextNode&&replyHeadingTextNode.nextSibling;if(replyHeadingTextNode&&replyHeadingTextNode.nodeType===Node.TEXT_NODE&&headingText){if(replyLinkToParent&&'A'===replyLinkToParent.nodeName&&replyLinkToParent.id!==config.cancelReplyId){replyLinkToParent.style.display='';}
replyHeadingTextNode.textContent=headingText;}
event.preventDefault();}
function clickEvent(event){var replyNode=getElementById(config.commentReplyTitleId);var defaultReplyHeading=replyNode&&replyNode.firstChild.textContent;var replyLink=this,commId=getDataAttribute(replyLink,'belowelement'),parentId=getDataAttribute(replyLink,'commentid'),respondId=getDataAttribute(replyLink,'respondelement'),postId=getDataAttribute(replyLink,'postid'),replyTo=getDataAttribute(replyLink,'replyto')||defaultReplyHeading,follow;if(!commId||!parentId||!respondId||!postId){return;}
follow=window.addComment.moveForm(commId,parentId,respondId,postId,replyTo);if(false===follow){event.preventDefault();}}
function observeChanges(){if(!MutationObserver){return;}
var observerOptions={childList:true,subtree:true};observer=new MutationObserver(handleChanges);observer.observe(document.body,observerOptions);}
function handleChanges(mutationRecords){var i=mutationRecords.length;while(i--){if(mutationRecords[i].addedNodes.length){init();return;}}}
function getDataAttribute(element,attribute){if(supportsDataset){return element.dataset[attribute];}
else{return element.getAttribute('data-'+attribute);}}
function getElementById(elementId){return document.getElementById(elementId);}
function moveForm(addBelowId,commentId,respondId,postId,replyTo){var addBelowElement=getElementById(addBelowId);respondElement=getElementById(respondId);var parentIdField=getElementById(config.parentIdFieldId);var postIdField=getElementById(config.postIdFieldId);var element,cssHidden,style;var replyHeading=getElementById(config.commentReplyTitleId);var replyHeadingTextNode=replyHeading&&replyHeading.firstChild;var replyLinkToParent=replyHeadingTextNode&&replyHeadingTextNode.nextSibling;if(!addBelowElement||!respondElement||!parentIdField){return;}
if('undefined'===typeof replyTo){replyTo=replyHeadingTextNode&&replyHeadingTextNode.textContent;}
addPlaceHolder(respondElement);if(postId&&postIdField){postIdField.value=postId;}
parentIdField.value=commentId;cancelElement.style.display='';addBelowElement.parentNode.insertBefore(respondElement,addBelowElement.nextSibling);if(replyHeadingTextNode&&replyHeadingTextNode.nodeType===Node.TEXT_NODE){if(replyLinkToParent&&'A'===replyLinkToParent.nodeName&&replyLinkToParent.id!==config.cancelReplyId){replyLinkToParent.style.display='none';}
replyHeadingTextNode.textContent=replyTo;}
cancelElement.onclick=function(){return false;};try{for(var i=0;i<commentFormElement.elements.length;i++){element=commentFormElement.elements[i];cssHidden=false;if('getComputedStyle'in window){style=window.getComputedStyle(element);}else if(document.documentElement.currentStyle){style=element.currentStyle;}
if((element.offsetWidth<=0&&element.offsetHeight<=0)||style.visibility==='hidden'){cssHidden=true;}
if('hidden'===element.type||element.disabled||cssHidden){continue;}
element.focus();break;}}
catch(e){}
return false;}
function addPlaceHolder(respondElement){var temporaryFormId=config.temporaryFormId;var temporaryElement=getElementById(temporaryFormId);var replyElement=getElementById(config.commentReplyTitleId);var initialHeadingText=replyElement?replyElement.firstChild.textContent:'';if(temporaryElement){return;}
temporaryElement=document.createElement('div');temporaryElement.id=temporaryFormId;temporaryElement.style.display='none';temporaryElement.textContent=initialHeadingText;respondElement.parentNode.insertBefore(temporaryElement,respondElement);}
return{init:init,moveForm:moveForm};})(window);