// ==UserScript== // @name Comment Buttons // @namespace http:// // @description Adds buttons for simple comment HTML replacement in Blogger. // @include *blogger.com/comment.g* // @include *blogger.com/comment.do // ==/UserScript== function $() { for( var i = 0, node; i < arguments.length; i++ ) if( node = document.getElementById( arguments[i] ) ) return node; } function replaceText() { var txtArea = $('comment-body'); var startPos = txtArea.selectionStart; var endPos = txtArea.selectionEnd; strSelect = txtArea.value.substring(startPos, endPos); switch(this.id) { case 'cmtbold': strSelect = ""+strSelect+""; txtArea.value = txtArea.value.substring(0, startPos) + strSelect + txtArea.value.substring(endPos, txtArea.value.length); break; case 'cmtitalic': strSelect = ""+strSelect+""; txtArea.value = txtArea.value.substring(0, startPos) + strSelect + txtArea.value.substring(endPos, txtArea.value.length); break; case 'cmthref': var url = prompt("Enter the link", "http://"); if (url!=null) { strSelect = ""+strSelect+""; } txtArea.value = txtArea.value.substring(0, startPos) + strSelect + txtArea.value.substring(endPos, txtArea.value.length); break; case 'cmtangry': txtArea.value = txtArea.value.substring(0, endPos) + ":@ " + txtArea.value.substring(endPos, txtArea.value.length); break; case 'cmtbiggrin': txtArea.value = txtArea.value.substring(0, endPos) + ":D " + txtArea.value.substring(endPos, txtArea.value.length); break; case 'cmtblink': txtArea.value = txtArea.value.substring(0, endPos) + ":blink: " + txtArea.value.substring(endPos, txtArea.value.length); break; case 'cmtblush': txtArea.value = txtArea.value.substring(0, endPos) + ":blush: " + txtArea.value.substring(endPos, txtArea.value.length); break; case 'cmtclosedeyes': txtArea.value = txtArea.value.substring(0, endPos) + "-_- " + txtArea.value.substring(endPos, txtArea.value.length); break; case 'cmtcool': txtArea.value = txtArea.value.substring(0, endPos) + ":cool: " + txtArea.value.substring(endPos, txtArea.value.length); break; case 'cmtdry': txtArea.value = txtArea.value.substring(0, endPos) + "<_< " + txtArea.value.substring(endPos, txtArea.value.length); break; case 'cmthappy': txtArea.value = txtArea.value.substring(0, endPos) + "^-^ " + txtArea.value.substring(endPos, txtArea.value.length); break; case 'cmthuh': txtArea.value = txtArea.value.substring(0, endPos) + ":huh: " + txtArea.value.substring(endPos, txtArea.value.length); break; case 'cmtlaugh': txtArea.value = txtArea.value.substring(0, endPos) + ":)) " + txtArea.value.substring(endPos, txtArea.value.length); break; case 'cmtmad': txtArea.value = txtArea.value.substring(0, endPos) + ":mad: " + txtArea.value.substring(endPos, txtArea.value.length); break; case 'cmtmellow': txtArea.value = txtArea.value.substring(0, endPos) + ":mellow: " + txtArea.value.substring(endPos, txtArea.value.length); break; case 'cmtnowink': txtArea.value = txtArea.value.substring(0, endPos) + ":nowink: " + txtArea.value.substring(endPos, txtArea.value.length); break; case 'cmtohmy': txtArea.value = txtArea.value.substring(0, endPos) + ":omg: " + txtArea.value.substring(endPos, txtArea.value.length); break; case 'cmtph34r': txtArea.value = txtArea.value.substring(0, endPos) + ":freak: " + txtArea.value.substring(endPos, txtArea.value.length); break; case 'cmtrolleyes': txtArea.value = txtArea.value.substring(0, endPos) + ":rolleyes: " + txtArea.value.substring(endPos, txtArea.value.length); break; case 'cmtsad': txtArea.value = txtArea.value.substring(0, endPos) + ":( " + txtArea.value.substring(endPos, txtArea.value.length); break; case 'cmtsleep': txtArea.value = txtArea.value.substring(0, endPos) + ":o " + txtArea.value.substring(endPos, txtArea.value.length); break; case 'cmtsmile': txtArea.value = txtArea.value.substring(0, endPos) + ":) " + txtArea.value.substring(endPos, txtArea.value.length); break; case 'cmttongue': txtArea.value = txtArea.value.substring(0, endPos) + ":>p " + txtArea.value.substring(endPos, txtArea.value.length); break; case 'cmttongue2': txtArea.value = txtArea.value.substring(0, endPos) + ":P " + txtArea.value.substring(endPos, txtArea.value.length); break; case 'cmtunsure': txtArea.value = txtArea.value.substring(0, endPos) + ":unsure: " + txtArea.value.substring(endPos, txtArea.value.length); break; case 'cmtwacko': txtArea.value = txtArea.value.substring(0, endPos) + ":wacko: " + txtArea.value.substring(endPos, txtArea.value.length); break; case 'cmtwink': txtArea.value = txtArea.value.substring(0, endPos) + ";) " + txtArea.value.substring(endPos, txtArea.value.length); break; case 'cmtwub': txtArea.value = txtArea.value.substring(0, endPos) + ":wub: " + txtArea.value.substring(endPos, txtArea.value.length); break; } txtArea.focus(); txtArea.setSelectionRange(endPos+3,endPos+3); } function addSmiley(){ var d = $('comments-block'); d.innerHTML = d.innerHTML.replace(/\s:-*\@/g, ' '); d.innerHTML = d.innerHTML.replace(/\s:grin:/g, ' '); d.innerHTML = d.innerHTML.replace(/\s:-*\$/g, ' '); d.innerHTML = d.innerHTML.replace(/\s:-*\(/g, ' '); d.innerHTML = d.innerHTML.replace(/\s:-*D/g, ' '); d.innerHTML = d.innerHTML.replace(/\s:-*P/g, ' '); d.innerHTML = d.innerHTML.replace(/\s:-*P/g, ' '); d.innerHTML = d.innerHTML.replace(/\s:-*P/g, ' '); d.innerHTML = d.innerHTML.replace(/\s:-*P/g, ' '); d.innerHTML = d.innerHTML.replace(/\s:-*P/g, ' '); d.innerHTML = d.innerHTML.replace(/\s:-*P/g, ' '); d.innerHTML = d.innerHTML.replace(/\s:-*P/g, ' '); d.innerHTML = d.innerHTML.replace(/\s:-*P/g, ' '); d.innerHTML = d.innerHTML.replace(/\s:-*P/g, ' '); d.innerHTML = d.innerHTML.replace(/\s:-*P/g, ' '); d.innerHTML = d.innerHTML.replace(/\s:-*P/g, ' '); d.innerHTML = d.innerHTML.replace(/\s:-*P/g, ' '); d.innerHTML = d.innerHTML.replace(/\s:-*P/g, ' '); d.innerHTML = d.innerHTML.replace(/\s:-*P/g, ' '); d.innerHTML = d.innerHTML.replace(/\s:-*P/g, ' '); d.innerHTML = d.innerHTML.replace(/\s:-*P/g, ' '); d.innerHTML = d.innerHTML.replace(/\s:-*P/g, ' '); d.innerHTML = d.innerHTML.replace(/\s:-*P/g, ' '); d.innerHTML = d.innerHTML.replace(/\s:-*P/g, ' '); d.innerHTML = d.innerHTML.replace(/\s:-*P/g, ' '); } var qe=$('html-usage-msg'); var btnStyle=document.createElement('style'); btnStyle.type="text/css"; btnStyle.innerHTML=".btnstyle{border:1px solid whitesmoke;border-right:2px solid silver;border-bottom:2px solid silver;margin:3px;padding:3px 3px 0 3px;width:20px;height:20px;text-align:center;vertical-align:bottom;font-size:18px;float:left;cursor:pointer}.btnstyle:hover{border:1px solid whitesmoke;border-top:2px solid silver;border-left:2px solid silver;}"; insert=document.getElementsByTagName('head'); insert[0].appendChild(btnStyle); qe.innerHTML="
b
"; qe.innerHTML=qe.innerHTML+"
i
"; qe.innerHTML=qe.innerHTML+"
"; qe.innerHTML=qe.innerHTML+"
"; qe.innerHTML=qe.innerHTML+"
"; qe.innerHTML=qe.innerHTML+"
"; qe.innerHTML=qe.innerHTML+"
"; qe.innerHTML=qe.innerHTML+"
"; qe.innerHTML=qe.innerHTML+"
"; qe.innerHTML=qe.innerHTML+"
"; qe.innerHTML=qe.innerHTML+"
"; qe.innerHTML=qe.innerHTML+"
"; qe.innerHTML=qe.innerHTML+"
"; qe.innerHTML=qe.innerHTML+"
"; qe.innerHTML=qe.innerHTML+"
"; qe.innerHTML=qe.innerHTML+"
"; qe.innerHTML=qe.innerHTML+"
"; qe.innerHTML=qe.innerHTML+"
"; qe.innerHTML=qe.innerHTML+"
"; qe.innerHTML=qe.innerHTML+"
"; qe.innerHTML=qe.innerHTML+"
"; qe.innerHTML=qe.innerHTML+"
"; qe.innerHTML=qe.innerHTML+"
"; qe.innerHTML=qe.innerHTML+"
"; qe.innerHTML=qe.innerHTML+"
"; qe.innerHTML=qe.innerHTML+"
"; qe.innerHTML=qe.innerHTML+"
"; qe.innerHTML=qe.innerHTML+"
"; var boldLink=$('cmtbold'); boldLink.addEventListener("click", replaceText, true); var italLink=$('cmtitalic'); italLink.addEventListener("click", replaceText, true); var hrefLink=$('cmthref'); hrefLink.addEventListener("click", replaceText, true); var angryLink=$('cmtangry'); angryLink.addEventListener("click", replaceText, true); var biggrinLink=$('cmtbiggrin'); biggrinLink.addEventListener("click", replaceText, true); var blinkLink=$('cmtblink'); blinkLink.addEventListener("click", replaceText, true); var blushLink=$('cmtblush'); blushLink.addEventListener("click", replaceText, true); var closedeyesLink=$('cmtclosedeyes'); closedeyesLink.addEventListener("click", replaceText, true); var coolLink=$('cmtcool'); coolLink.addEventListener("click", replaceText, true); var dryLink=$('cmtdry'); dryLink.addEventListener("click", replaceText, true); var happyLink=$('cmthappy'); happyLink.addEventListener("click", replaceText, true); var huhLink=$('cmthuh'); huhLink.addEventListener("click", replaceText, true); var laughLink=$('cmtlaugh'); laughLink.addEventListener("click", replaceText, true); var madLink=$('cmtmad'); madLink.addEventListener("click", replaceText, true); var mellowLink=$('cmtmellow'); mellowLink.addEventListener("click", replaceText, true); var nowinkLink=$('cmtnowink'); nowinkLink.addEventListener("click", replaceText, true); var ohmyLink=$('cmtohmy'); ohmyLink.addEventListener("click", replaceText, true); var ph34rLink=$('cmtph34r'); ph34rLink.addEventListener("click", replaceText, true); var rolleyesLink=$('cmtrolleyes'); rolleyesLink.addEventListener("click", replaceText, true); var sadLink=$('cmtsad'); sadLink.addEventListener("click", replaceText, true); var sleepLink=$('cmtsleep'); sleepLink.addEventListener("click", replaceText, true); var smileLink=$('cmtsmile'); smileLink.addEventListener("click", replaceText, true); var tongueLink=$('cmttongue'); tongueLink.addEventListener("click", replaceText, true); var tongue2Link=$('cmttongue2'); tongue2Link.addEventListener("click", replaceText, true); var unsureLink=$('cmtunsure'); unsureLink.addEventListener("click", replaceText, true); var wackoLink=$('cmtwacko'); wackoLink.addEventListener("click", replaceText, true); var winkLink=$('cmtwink'); winkLink.addEventListener("click", replaceText, true); var wubLink=$('cmtwub'); wubLink.addEventListener("click", replaceText, true); window.addEventListener("load", addSmiley, true);