There are 29 previous versions of this script.
Add Syntax Highlighting (this will take a few seconds, probably freezing your browser while it works)
// ==UserScript==
// @name Betapet / Metalpet
// @namespace http://esolu.wordpress.com
// @description Utökar funktionaliteten på Betapet med diverse förbättringar.
// @include http://www.betapet.se/*
// ==/UserScript==
const NAME="Betapet / Metalpet";const VERSION="0.8.6.5 beta";const DEBUG=true;var settings;var maincol=document.evaluate("//div[@id='maincol']",document.body,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null);maincol=maincol.singleNodeValue;var maindiv=document.evaluate("div[@id='mc2']",maincol,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null);maindiv=maindiv.singleNodeValue;var myThreadsGlobal;function schedule(c,b){setTimeout(function(){var d=c.shift();d.call(b);if(c.length>0){setTimeout(arguments.callee,10)}},10)}function BindArguments(c){var b=[];for(var d=1;d<arguments.length;d++){b.push(arguments[d])}return function(){return c.apply(this,b)}}window.thread_callback=function(b){if(typeof GM_xmlhttpRequest!="function"){return}GM_xmlhttpRequest({method:"GET",url:"http://www.betapet.se/forum/thread/?threadid="+b,headers:{Cookie:escape(window.document.cookie)},onload:function(c){var f=c.responseText;var h=f.match(/<td colspan="2" class="msgarea"><strong>(.+?)<\/strong>/)[1];for(var d in myThreadsGlobal){var f=myThreadsGlobal[d];if(typeof f=="string"){var g=f.match(/threadid=(\d+)/)[1];if(g==b){myThreadsGlobal[d]={params:f,title:h,page:0};if(f.match(/page=(\d+)/)){myThreadsGlobal[d].page=f.match(/page=(\d+)/)[1]}}}}GM_setValue("myThreads",uneval(myThreadsGlobal))}})};if(window==window.top){if(!GM_getValue("settings")){settings={checkForNewMessageInterval:60000,checkForNewMessageAlways:true,forumPostMaxHeight:"600px",forumPostLinuxPrettify:false,removeIgnored:false,ignored:"",highLightNicks:"",autoCorrectBadGrammar:true,autoConvertSmilies:true,};setTimeout(ShowSettings,1000)}else{eval("settings = "+GM_getValue("settings")+";")}}var result=document.evaluate('div/div/div[@class="extracontent"]',document.body,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);for(var i=0,LEN=result.snapshotLength;i<LEN;i++){var e=result.snapshotItem(i);e.parentNode.removeChild(e)}if(window.location.pathname.match("/forum/(?:category|thread)")){var my_threads=document.createElement("li");my_threads.innerHTML='<a id="my_threads" style="margin-left: 50px; -moz-border-radius: 5px 5px 0px 0px; text-align: right" href="javascript:void(0)">Mina trådar</a>';var forum_tabs=document.evaluate("div[@id='navlist']/ul",maindiv,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null);forum_tabs=forum_tabs.singleNodeValue;var li_items=document.evaluate("li/a",forum_tabs,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);for(var i=0,len=li_items.snapshotLength;i<len;i++){li_items.snapshotItem(i).setAttribute("style","-moz-border-radius-topright: 5px; -moz-border-radius-topleft: 5px")}forum_tabs.appendChild(my_threads);function ShowMyThreads(){var body=document.body;window.scrollTo(0,0);maindiv.setAttribute("style","visibility:hidden; height:1px;");var wrapper=document.createElement("div");wrapper.setAttribute("id","myThreads");maincol.appendChild(wrapper);var formcontent=document.createElement("div");formcontent.setAttribute("style","margin: 10px");formcontent.setAttribute("id","formcontent");wrapper.appendChild(formcontent);var str=[];str.push("<h1>Mina trådar</h1>");str.push('<fieldset style="padding:5px; margin:5px; width: 100%; -moz-border-radius: 5px; border: 1px solid #ccc; background-color: #f3f3f3"> <legend>Dina senaste inlägg gjordes i dessa trådar:</legend>');if(GM_getValue("myThreads")){var myThreads=eval("("+GM_getValue("myThreads")+")");myThreadsGlobal=myThreads.slice();for(var i=0,LEN=myThreads.length;i<LEN;++i){var thread=myThreads[i];if(typeof thread=="string"){thread_id=thread.match(/threadid=(\d+)/)[1];myThreads[i]='<td colspan="3"><a href="http://www.betapet.se/forum/thread/?'+thread+'">'+thread_id+"</a></td>";setTimeout(BindArguments(window.thread_callback,thread_id),50)}else{myThreads[i]='<td><img src="/forum/ill/open.gif"> <a href="http://www.betapet.se/forum/thread/?'+thread.params+'">'+thread.title+'</a></td><td style="text-align:right">(s. '+thread.page+') <a href="/forum/input/?'+thread.params+'&latestreply"><img src="/forum/ill/latest_reply.gif"></a></td>'}}str.push('<table style="margin: 20px 40px; width: 500px"><tr><th style="text-align:left;">Tråd</th><th style="text-align:right"> </th></tr>');str.push("<tr>"+myThreads.join("</tr><tr>")+"</tr></table>")}else{str.push("<div>Du har ännu inte skrivit i någon tråd sedan data började samlas in.</div>")}str.push("</fieldset>");formcontent.innerHTML=str.join("");wrapper.setAttribute("style","width: 640px;");var cent=document.createElement("center");cent.setAttribute("style","margin: 10px");var cancelbutton=document.createElement("button");cancelbutton.innerHTML="Tillbaka";cancelbutton.addEventListener("click",function(){var e=document.getElementById("myThreads");e.parentNode.removeChild(e);maindiv.setAttribute("style",null);maincol.appendChild(maindiv)},false);cent.appendChild(cancelbutton);wrapper.appendChild(cent)}my_threads.childNodes[0].addEventListener("click",ShowMyThreads,false)}if(window.location.pathname=="/forum/thread/"||window.location.pathname=="/forum/newthread/"){function myScript(){const b="BetaHackQuote";window.GetQuoteCookie=function(){return getCookie(b)};window.getCookie=function(d){var f=d+"=";if(document.cookie.length>0){var g=document.cookie.indexOf(f);if(g!=-1){g+=f.length;var c=document.cookie.indexOf(";",g);if(c==-1){c=document.cookie.length}return unescape(document.cookie.substring(g,c))}}return""};window.createCookie=function(f,g,h){if(h){var d=new Date();d.setTime(d.getTime()+(h*24*60*60*1000));var c="; expires="+d.toGMTString()}else{var c=""}document.cookie=f+"="+escape(g)+c+"; path=/"};window.eraseCookie=function(c){createCookie(c,"",-1)};window.SetQuoteCookie=function(c){window.eraseCookie(b);if(c){window.createCookie(b,c,7)}};window.QuoteWrap=function(t){t=t.replace(/^\s+|\s+$/g,"");const g=55;const f="\u201C";const v="\u201D";const k="\u00A0\u00A0\u00A0\u00A0";const u="\n"+k;const q=false;var p,o,h,w,d;t=k.replace(/.$/,f)+t+v;for(p=-1,h=(d=t.split("\n")).length;++p<h;d[p]+=w){for(w=d[p],d[p]="";w.length>g;d[p]+=w.slice(0,o)+((w=w.slice(o)).length?u:"")){o=q==2||(o=w.slice(0,g+1).match(/\S*(\s)?$/))[1]?g:o.input.length-o[0].length||q==1&&g||o.input.length+(o=w.slice(g).match(/^\S*/)).input.length}}return d.join(u).replace(k+" ",k)};window.CopyQuote=function(f){var d=f.parentNode.parentNode.textContent;var c=window.GetQuoteCookie();if(c.length>0){c+="\n\n"}c+=d+":\n"+window.QuoteWrap(f.parentNode.parentNode.nextSibling.childNodes[1].textContent);window.SetQuoteCookie(c);alert("Citerade "+d+". Klicka på knappen bredvid posta meddelande för att infoga:\n\n"+c);return false};window.PasteQuote=function(){var c=document.newmessage.message;c.value+=window.GetQuoteCookie();window.SetQuoteCookie("");return false};window.PasteLastPost=function(){var c=document.newmessage.message||"";c.value+=unescape(window.getCookie("last_posted_message"));return false}}document.body.appendChild(document.createElement("script")).innerHTML="("+myScript+")()";unsafeWindow.ValidateForm=function(){try{if(unsafeWindow.document.forms.newmessage==undefined){var b=unsafeWindow.document.forms.pageform;if(b.headline.value.length<1){alert("Rubrik saknas.");return false}b=b.message.value}else{var b=unsafeWindow.document.forms.newmessage.message.value}}catch(c){alert("fel");console.debug(c);return false}if(b.length<1){alert("Meddelande saknas.\n");return false}unsafeWindow.createCookie("last_posted_message",b);unsafeWindow.createCookie("justWroteInThread",true);return true}}if(window.location.pathname=="/forum/thread/"){var tbody=document.evaluate("table/tbody",maindiv,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null);tbody=tbody.singleNodeValue;var str=tbody.innerHTML;if(settings.ignored){var pat=new RegExp('<tr><td colspan="2" class="authorarea">(?:<a name="lastreply"></a>)?<a name="([^"]+)"></a><a href="[^"]+?"><b>('+settings.ignored+')</b></a><i>.*?</i></td><td class="datearea">[^<]+</td></tr><tr>',"g");if(settings.removeIgnored){str=str.replace(pat,'<tr style="display: none">')}else{str=str.replace(pat,'<tr><td colspan="3"><a href="#" onclick="document.getElementById(\'censored_msg_$1\').style.display=\'\'; return false;" title="/ignore $2"><img src="http://members.tripod.com/mrnatural3/smiley2/Mute.png" alt="/ignore $2" /></a></td></tr><tr id="censored_msg_$1" style="display: none;">')}}pat=new RegExp('<tr><td colspan="2" class="authorarea">(?:<a name="lastreply"></a>)?<a name="([^"]+)"></a><a href="([^"]+?)"><b>(.+?)</b></a><i>(.*?)</i></td><td class="datearea">',"g");str=str.replace(pat,'<tr><td colspan="2" class="authorarea"><a name="$1"></a><a href="$2"><b>$3</b></a><i>$4</i></td><td class="datearea"> <a href="#" onclick="return window.CopyQuote(this);" title="Kopiera inlägget, citerat"><img width="9" alt=""" src="http://www.optionsnet.gr/liferay-jedi-theme/images/message_boards/quote.png"></a> ');pat=/<i> - (Spelvärd|Administratör|Spelvärd\/Forumvärd)<\/i>/g;str=str.replace(pat,function(b,d,f){var c=' - <a href="#" onclick="return false;" style="color: '+(d=="Administratör"?"red":(d=="Spelvärd"?"green":"blue"))+'; font-weight:bold;" title="'+d+'">';switch(d){case"Spelvärd/Forumvärd":c+="\u265B \u270D";break;case"Administratör":c+="\u265A";break;default:c+="\u265B"}c+="</a>";return c});pat=/<b>([^<]+)<\/b><\/a><i> - Ej medlem längre<\/i>/g;str=str.replace(pat,'<i style="opacity:0.5;">$1 <sup style="color: #999;">\u271D</sup></i></a> ');tbody.innerHTML=str;var rc2=document.getElementById("rc2");rc2.parentNode.removeChild(rc2);maincol.setAttribute("style","width: 640px;");window.TransTable={symbols:[],emoticons:[],grammars:[],};GenerateTransTableSymbols=function(){const d={"!!+1+":"!","([\\.\\,!\\?])\\1\\1\\1+":"<b>$1$1$1</b>","\\b(?:<|<)\\-\\-+\\b":"\u2190","\\b\\-\\-+(?:>|>)\\b":"\u2194"," - ":" — ",};for(var b in d){var c=new RegExp();window.TransTable.symbols.push({pat:c.compile(b,"g"),trans:'<span style="color:#163">'+d[b]+"</span>",})}};GenerateTransTableEmoticons=function(){const d="http://www.lassolinedance.se/l/image/smileys/";const f={":-?\\)+":"happy.gif",":-?\\|":"disappointed.gif",";-?\\)+":"flirting.gif",";-?[Dd]":"chinese.gif",":-?[Oo]":"surprised.gif",":-?[Pp]":"playful.gif",":-?[Dd]":"laughing.gif",":-?[Ss]":"confused.gif",":-?\\(+":"sad.gif",":['~]\\(+":"crying.gif",":-?\\$":"embarrassed.gif",":-?\\*":"innocent.gif","(?:<|<)3":"heart.gif","(?:<|<)\\/3":"broken_heart.gif",};for(var b in f){var c=new RegExp();window.TransTable.emoticons.push({pat:c.compile("([\\s>]|^)("+b+")","g"),trans:'$1<img src="'+d+f[b]+'" alt="$2" />',})}};GenerateTransTableGrammars=function(){const c="[\\wåäöÅÄÖ]";const b=c+"+";const g=c+"*";const h=["t ex|t ex\\.|t\\.ex\\.|t\\.e\\.x\\.","till exempel","dvs|d v s","det vill säga","dem (flesta|främsta|största|andra)","de $1","förren|förrens|förräns|förens","förrän","följdaktligen","följaktligen","dylig("+b+")","dylik$1","brevid","bredvid","("+b+")befodr("+b+")","$1befordr$2","eftersom att","eftersom","medans","medan","medela("+b+")","meddela$1","oxå|ochså","också","odh|ofh|oxh|ovh|ohc","och","nogrann("+b+")","noggrann","sådeles","således","sommr("+b+")","somr$1","igentlig("+b+")","egentlig$1","[gj]ämtemot","gentemot","sammarbeta("+b+")","samarbeta$1","([sg])amml("+b+")","$1aml$2","stämmn("+b+")","stämn$1","(o?(?:väl|an|bort|hemm?))kommn("+b+")","$1komn$2","annordn("+b+")","anordn$1","överrens("+b+")","överens$1","dömm("+b+")","döm$1","vårat","vårt","(våld|in)täckt("+b+")","$1täkt$2","tvugna","tvungna","tunnt","tunt","trotts","trots","sånt","sådant","nån","någon","vaddå+","vad då","nåt","något","iaf","i alla fall","ja e","jag är","d e","det är","e(?= )(?! solu| soul| s )","är","lixom","liksom","e?lr","eller","eru|e ru","är du","d(?![åäö])(?!\\.)","det","väll","väl","asså+","alltså","mkt","mycket","ö+h+",".","e+h+","-","pl[zx]|please","snälla","tillsamans|tilsammans","tillsammans","tidsskrift","tidskrift","(?:särskiljd|särskilld)("+b+")","särskild$1","särskiljt|särskillt","särskilt","säj("+b+")","säg$1","stog","stod","smo","som","hämd","hämnd","hitills|hittils","hittills","hadde","hade","härör("+b+")","härrör$1","("+b+"än)n([dt]"+g+")","$1$2",];for(var d=0;d<h.length-1;d+=2){var f=new RegExp();window.TransTable.grammars.push({pat:f.compile("^"+h[d]+"$","gi"),trans:'<span style="color:#000; border-bottom: 1px dotted #6c9;">'+h[d+1]+"</span>",})}};window.Translate=function(d,c){for(var b in window.TransTable[c]){d=d.replace(TransTable[c][b].pat,window.TransTable[c][b].trans)}return d};window.TranslateEmoticons=function(b){return window.Translate(b,"emoticons")};GenerateTransTableGrammars();GenerateTransTableEmoticons();GenerateTransTableSymbols();var result=document.evaluate('tr/td[@class="photoarea"]',tbody,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);if(result){var replaceAnonymousImageWithGenderSymbol=function(f,d){var c;var b;if(d=="woman"){c="\u2640";b="#f99"}else{c="\u2642";b="#99f"}return'<div title="'+d+'" style="text-decoration: none; font-size:14pt;color:'+b+'; margin: -20px 0 0 -15px;">'+c+"</div>"};var pat=/(?:\<a href="[^"]*"\>\s*)?<img(?: style="display: none;")? src="\/forum\/ill\/userphoto_((?:wo)?man)\.gif"[^>]*>(?:\s*?<\/a>)?/g;var pat2=new RegExp('<a href="([^"]+userid=[^"]+)"><img ([^>]+) width="60"></a>',"g");for(var i=0,len=result.snapshotLength;i<len;i++){var td=result.snapshotItem(i);td.setAttribute("class",null);td.setAttribute("style","vertical-align:top;");var s=td.innerHTML;s=s.replace(pat,replaceAnonymousImageWithGenderSymbol);s=s.replace(pat2,'<a href="$1"><img $2 width="90"></a></td>');td.innerHTML=s}}const quotBugPat=/"([^&"]{13,50})(?:" ;|&quo t;|&qu ot;|&q uot;|& quot;| ")/g;const quotPat=/"([\w\såäöÅÄÖ\.\,\?!\-]{1,100})"/g;const quotBugRestPat=/& ?q ?u ?o ?t ?;/g;const LQ="\u201C";const RQ="\u201D";const citeAuthPat=/^(.+?)\s+(\d{4}-\d{2}-\d{2} \d{2}:\d{2}).*?:\s*?$/g;const citeTextPat=/^(\s\s\s\s.+?)$/g;const citeTextStartPat=/^\s\s\s“(.+?)$/gm;const citeTextStopPat=/^(\s\s\s\s.+?)”$/g;const versalPat=/([A-ZÅÄÖ]{2,})/g;const starPat=/\*\b([\w\såäöÅÄÖ\.\,\?!\-]{2,100})\b\*/g;const emPat=/_([\w\såäöÅÄÖ\.\,\?!\-]{2,100})_/g;const olPat=/^(<span>|)(\d{1,3})[\.:] (.+)(<\/span>|)(?:<br>)?(<\/div>|)$/gm;const highLightPat=new RegExp("\\b("+settings.highLightNicks+")(?=\\b| |$)","ig");var ProcessTextContent=function(c){c=c.replace(quotBugPat,'"$1"');c=c.replace(quotBugRestPat,'"');c=c.replace(quotPat,'<span style="color: #257; letter-spacing: 0.02em; word-spacing: 0.1em;">'+LQ+"$1"+RQ+"</span>");c=c.replace(citeAuthPat,'<div style="position:relative; display:inline-block; width: 100%; margin-left:0px;border-bottom: 1px solid #ddd; font-size: x-small;"><b style="color: #333;">$1</b> <span style="color:#777">($2)</span>:<div style="opacity: 0.2; position: absolute; right: 3px; top: 22px; width: 16px; height: 10px; background: transparent url(http://www.optionsnet.gr/liferay-jedi-theme/images/message_boards/quote.png) no-repeat 0px -5px" /></div>');c=c.replace(citeTextStartPat,'<i style="width: 100%; display: inline-block; background-color: #fffff5; color: #555; border: 1px solid #eee; border-bottom: 0;padding-top: 4px;"> $1</i>');c=c.replace(citeTextStopPat,'<i style="width: 100%; display: inline-block; background-color: #fffff5; color: #555; border: 1px solid #eee; border-top: 0;padding-bottom: 4px;">$1</i>');c=c.replace(citeTextPat,'<i style="width: 100%; display: inline-block; background-color: #fffff5; color: #555; border: 1px solid #eee; border-top: 0; border-bottom: 0;">$1</i>');if(settings.ignored&&settings.removeIgnored){var b=new RegExp("("+settings.ignored+")","g");c=c.replace(b,' <i title="censurerat nick" style="color: #c00">sötnos</i> ')}c=c.replace(highLightPat,'<b style="background: #ff9; border-bottom: 1px solid #e96;">$1</b>');c=c.replace(starPat,'<b style="color: #777;">*$1*</b>');if(settings.autoCorrectBadGrammar){var f=c.split(" ");for(var d=0;d<f.length;d++){f[d]=window.Translate(f[d],"grammars")}c=f.join(" ")}c=window.Translate(c,"symbols");c=c.replace(emPat,"<em>$1</em>");if(settings.autoConvertSmilies){c=window.Translate(c,"emoticons")}return c};var post_style="color: #111; padding: 4px 48px 4px 12px;";if(settings.forumPostMaxHeight){post_style+="max-height: "+settings.forumPostMaxHeight+"; overflow: auto;"}if(settings.forumPostLinuxPrettify){post_style+="line-height: 140%; font-size: 8.2pt; word-spacing: 0.09em; font-family: sans-serif;"}var result=document.evaluate("tr/td[@class='msgarea']",tbody,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);for(var i=0,NUM_POSTS=result.snapshotLength;i<NUM_POSTS;i++){try{var post_i=result.snapshotItem(i);var NUM_NODES=post_i.childNodes.length;for(var j=0;j<NUM_NODES;j++){var node=post_i.childNodes[j];switch(node.nodeName){case"#text":if(node.textContent.match(/^\s+$/)){}else{var newNode=document.createElement("span");newNode.innerHTML=ProcessTextContent(node.textContent);node.parentNode.replaceChild(newNode,node)}break;case"STRONG":node.innerHTML=ProcessTextContent(node.innerHTML);break;case"SPAN":case"BR":break;case"A":node.href=node.href.replace(/(?:%29|%2c|%28|%21)$/,"");node.innerHTML=ProcessTextContent(node.innerHTML);var matches=node.href.match(/http:\/\/open\.spotify\.com\/user\/(.+)\/playlist\/(.+)/);if(matches){node.innerHTML='<span style="color: white; background: #090;"> \u266B '+matches[1]+' </span><span style="background: #3c3; color:#6f6; style="font-size: 6px;"> '+matches[2]+' </span><b style="background: #090; color: yellow;"> \u27A4 </b>';node.href="spotify:user:"+matches[1]+":playlist:"+matches[2];node.setAttribute("target","_self");node.setAttribute("title","Spela upp i Spotify");break}var matches=node.href.match(/http:\/\/open\.spotify\.com\/track\/(.+)/);if(matches){node.innerHTML='<span style="color: white; background: #090;"> \u266B '+matches[1]+' </span><span style="background: #3c3; color:#6f6; style="font-size: 6px;"> (låt) </span><b style="background: #090; color: yellow;"> \u27A4 </b>';node.href="spotify:track:"+matches[1];node.setAttribute("target","_self");node.setAttribute("title","Spela upp låten i Spotify");break}matches=node.href.match(/(http:\/\/.+?.tinypic.com\/.+?)(?!_th)\.(jpg|png|gif)/);if(matches){node.innerHTML='<img src="'+matches[1]+"_th."+matches[2]+'" alt="'+matches[1]+'" />';break}matches=node.href.match(/(http:\/\/.+?.imageshack.us\/img.+?)(?!\.th)\.(jpg|png|gif)/);if(matches){node.innerHTML='<img src="'+matches[1]+".th."+matches[2]+'" alt="'+matches[1]+'" />';break}break;default:if(DEBUG){alert(node.nodeType);alert(node.nodeName)}throw node}}}catch(e){if(DEBUG){alert(e);throw e}}post_i.innerHTML=post_i.innerHTML.replace(olPat,'$1<ol start="$2" style="padding-left: 30px"><li style="color: #112; list-style-type:decimal; list-style-position: outside;">$3</li></ol>$4$5');post_i.innerHTML='<div style="'+post_style+'">'+post_i.innerHTML+"</div>";post_i.setAttribute("style","-moz-border-radius: 5px; background: white; border: 0")}var citediv=document.evaluate("form/div/div/div[@id='reply']",maindiv,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null);citediv=citediv.singleNodeValue;if(citediv){citediv.innerHTML+=' <a style="font-weight: bold; font-size: x-large; text-decoration: none" href="#" onclick="return PasteQuote();" title="Klistra in kopierade citat"> \u2798 </a> ';citediv.innerHTML+=' <a style="float:right; bold; font-size: x-large; margin-top: -30px; text-decoration: none" href="#" onclick="return PasteLastPost();" title="Klistra in ditt senast postade inlägg (praktiskt om något gick fel eller det blev raderat)"> \u267D </a> '}const ArrowBase="http://www.flowservice.se/fsse/images/icons/";var navButtonDivs=document.evaluate('div[@class="navigationbuttons"]',maindiv,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);for(var i=0,NUM_BUTTONS=navButtonDivs.snapshotLength;i<NUM_BUTTONS;i++){var nbd=navButtonDivs.snapshotItem(i);var leftContainer=nbd.childNodes[1];var rightContainer=nbd.childNodes[3];leftContainer.innerHTML=leftContainer.innerHTML.replace(/(« Föregående sida)/g,'<img src="'+ArrowBase+'arr_prev.gif" alt="$1" />');leftContainer.innerHTML=leftContainer.innerHTML.replace(/(« Första sidan)/g,'<img src="'+ArrowBase+'arr_first.gif" alt="$1" />');rightContainer.innerHTML=rightContainer.innerHTML.replace(/(Nästa sida »)/g,'<img src="'+ArrowBase+'arr_next.gif" alt="$1" />');rightContainer.innerHTML=rightContainer.innerHTML.replace(/(Sista sidan »)/g,'<img src="'+ArrowBase+'arr_last.gif" alt="$1" />');for(var j=1;j<=3;j+=2){leftContainer.childNodes[j].setAttribute("style","float: left;");rightContainer.childNodes[j].setAttribute("style","float: right;")}var n=leftContainer.childNodes[1];leftContainer.appendChild(n);n=rightContainer.childNodes[1];rightContainer.appendChild(n)}var res=document.evaluate("form/div/div/textarea",maindiv,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null);var messageBox=res.singleNodeValue;if(messageBox){messageBox.setAttribute("style",messageBox.getAttribute("style")+"; width: 570px; height: 200px; font-size: 9pt; padding: 5px; -moz-border-radius: 5px;");messageBox.parentNode.parentNode.setAttribute("style","-moz-border-radius: 10px; background-color: #f3f3f3")}if(unsafeWindow.getCookie("justWroteInThread")){if(GM_getValue("myThreads")){console.debug("loaded my threads");myThreadsGlobal=eval("("+GM_getValue("myThreads")+")")}if(typeof myThreadsGlobal!="object"){console.debug("initialized my threads with empty array");myThreadsGlobal=[]}var thread_data=window.location.search.substr(1);var thread_id=thread_data.match(/threadid=(\d+)/)[1];myThreadsGlobal.unshift(thread_data);while(myThreadsGlobal.length>50){myThreadsGlobal.pop()}GM_setValue("myThreads",uneval(myThreadsGlobal));unsafeWindow.eraseCookie("justWroteInThread");window.thread_callback(thread_id)}}else{if(window.location.pathname=="/forum/category/"){var tbody=document.evaluate("table/tbody",maindiv,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue;console.debug(tbody);function OnHideThread(){try{var d=this.parentNode.parentNode;var b=d.childNodes[1].firstChild;if(!confirm("Vill du verkligen ignorera tråden?\n\nOm du väljer OK så döljs tråden “"+b.textContent+"” från listan tills vidare (men går att hitta via sökfunktionen).")){return}var c=b.href.match(/threadid=(\d+)/)[1];if(!settings.ignoredThreads){settings.ignoredThreads=[]}settings.ignoredThreads.push(c);GM_setValue("settings",uneval(settings));d.parentNode.removeChild(d)}catch(f){console.error(f)}}var ign;if(settings.ignoredThreads){ign=new RegExp();ign.compile("threadid=("+settings.ignoredThreads.join("|")+")$")}var result=document.evaluate("tr",tbody,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);for(var i=1,LEN=result.snapshotLength;i<LEN;++i){var tr=result.snapshotItem(i);if(ign){var a=document.evaluate("td[2]/a",tr,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue;var m=a.href.match(ign);if(m){console.debug("ignoring "+m[0]);tr.parentNode.removeChild(tr);continue}}var td_1=document.evaluate("td[1]",tr,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue;td_1.style.width="35px";var hide=document.createElement("a");hide.href="#";hide.title="Dölj denna tråd permanent";hide.style.color="#ccc";hide.style.padding="4px";hide.innerHTML="☢";td_1.insertBefore(hide,td_1.firstChild);hide.addEventListener("click",OnHideThread,false)}}else{if(window.location.pathname=="/user/personal/"){var str=document.body.innerHTML;var txtA='<textarea name="foo" id="foo" onkeydown="textcounter(this.form.foo,this.form.remLen,250);" onkeyup="textcounter(this.form.foo,this.form.remLen,250);">';document.body.innerHTML=str.replace(txtA,'<textarea name="foo" style="height: 400px; width: 260px;" onkeydown="" onkeyup="">')}else{if(window.location.pathname=="/user/visitors/"){var result=document.evaluate('//table[@class="data"]//a[@href]',maindiv,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);if(result){var callback=function(){};for(var i=0,len=result.snapshotLength;i<len;i++){var a=result.snapshotItem(i);var id="a_href_id_"+i;a.id=id;GM_xmlhttpRequest({_id:id,method:"GET",url:"http://arkanoid.betapet.com/"+a.href.match(/^.+?(user.+)/)[1],onload:function(f){var c=f.responseText;var d=c.match(/<img src="(\/user\/picture.+?)" style="float:right;" \/>/);if(!d){return}d=d[1];var b=document.getElementById(this._id);b.innerHTML='<img src="'+d+'" style="width:12px" onmouseover="this.style.width=\'90px\'" onmouseout="this.style.width=\'12px\'" alt="bild" /> '+b.innerHTML}})}}}else{if(window.location.pathname=="/user/profile/basic/"){var str=document.body.innerHTML;if(str.match(/<h1>Spelaren hittades inte<\/h1>/)){document.location.href=document.location.href.replace("profile/basic","gamestats/games")}}}}}}if(window.location.pathname!="/user/profile/basic/"){function userprofile_callback(){try{clearTimeout(window.profile_timer)}catch(c){}var b=this.href.replace(/http:\/\/.+?\//,"http://arkanoid.betapet.com/");window.profile_timer=setTimeout(BindArguments(function(d){GM_xmlhttpRequest({_element:d,method:"GET",url:b,onload:function(g){var f=g.responseText;var h=f.match(/<!-- Left Table !-->([^]+?)<div id="rightcol">/);if(!h){h="Fel";if(f.match(/Spelaren hittades inte/)){var l=this._element.nextSibling;this._element.setAttribute("title","Inte längre medlem");l.setAttribute("title","Inte länge medlem. Klicka för att se statistik");l.setAttribute("style","color: #999");h="Ej medlem"}}else{h=h[1].replace("<table ",'<table style="width:200px; float: left;" ');h=h.replace('<form method="get"','<form style="float:left;width:200px;" method="get"')}var k=document.getElementById("profile_info");if(!k){k=document.createElement("div");k.setAttribute("id","profile_info");k.setAttribute("style","font-size: smaller; position: fixed; right: 5px; top: 5px; background-color: white; width: 500px; border: 1px solid #369; -moz-border-radius: 8px");document.body.appendChild(k)}k.style.display="";k.innerHTML='<div style="text-align:center; background-color: #369; -moz-border-radius:6px 6px 0 0; color:white; font-weight: bold; padding: 3px">Klicka för att stänga</div><div style="margin:10px">'+h+"</div>";k.addEventListener("click",function(o){this.style.display="none"},true)}})},this),300);this.addEventListener("mouseout",function(){clearTimeout(window.profile_timer)},true)}var userprofile_links=document.evaluate("//div[@id='mc2']//a[starts-with(@href, '/user/profile/basic/?userid=')]",maindiv,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);for(var i=0,len=userprofile_links.snapshotLength;i<len;i++){var a=userprofile_links.snapshotItem(i);if(a.innerHTML.match(/(picture|class=)/)){continue}var ajax=document.createElement("a");ajax.setAttribute("title","Besök profilen anonymt");ajax.setAttribute("target","_blank");ajax.setAttribute("style","font-size: xx-small; color: #ccc; margin-right:5px;");var anonymous_href=a.href.replace(/http:\/\/.+?\//,"http://arkanoid.betapet.com/");ajax.setAttribute("href",anonymous_href);ajax.addEventListener("mouseover",userprofile_callback,true);ajax.innerHTML="➤";a.parentNode.insertBefore(ajax,a)}}function ShowSettings(){var b=document.body;window.scrollTo(0,0);maindiv.setAttribute("style","visibility:hidden; height:1px;");var g=document.createElement("div");g.setAttribute("id","formWrapper");maincol.appendChild(g);var f=document.createElement("div");f.setAttribute("style","margin: 10px");f.setAttribute("id","formcontent");g.appendChild(f);f.innerHTML="<h1>Inställningar för "+NAME+"</h1>";f.innerHTML+='<fieldset style="padding:5px; margin:5px; width: 100%; -moz-border-radius: 5px; border: 1px solid #ccc; background-color: #f3f3f3"><legend style="padding:5px; margin:5px">Generellt</legend><table cellspacing="15"><tr style="height:1px;overflow:hidden"><td style="width:100px"></td><td style="width: 200px"></td><td style=""></td><tr style="vertical-align: top"><td><b>Uppdateringsintervall för kontroll av inkorgen</b></td><td><input type="text" name="checkForNewMessageInterval" style="width:200px;" value="'+parseInt((settings.checkForNewMessageInterval||0)/1000)+'" /> sekunder </td><td style="color:#555"><i>Hur ofta vill du söka igenom din inkorg efter nya meddelanden, om du står still på en sida utan att byta?<br />Rekommendation: mellan 60 och 600 <br /><br />0 = ingen kontroll alls</i></td></tr><tr style="vertical-align: top"><td><b>Sök igenom inkorgen oftare?</b></td><td><label<input type="checkbox" style="margin:0;padding:0;" name="checkForNewMessageAlways" value="on" '+(settings.checkForNewMessageAlways?'checked="checked"':"")+' /> Kontrollera också inkorgen varje gång jag byter sida</label></textarea></td><td style="color:#555"><i>Vill du automatiskt kontrollera din inkorg, och få en notis om du fått nytt meddelande, varje gång du går till en ny sida på Betapet? <br /><br />Rekommendation: Avstängt</i></td></tr></table></fieldset>';f.innerHTML+='<fieldset style="padding:5px; margin:5px; width: 100%; -moz-border-radius: 5px; border: 1px solid #ccc; background-color: #f3f3f3"><legend style="padding:5px; margin:5px">Mysighetsfaktorer</legend><table cellspacing="15"><tr style="height:1px;overflow:hidden"><td style="width:100px"></td><td style="width: 200px"></td><td style=""></td><tr style="vertical-align: top"><td><b>Ignorera medlemmar:</b></td><td><textarea name="ignoredNicks" style="width:200px;height:100px">'+settings.ignored.replace(/\|/g,"\n")+'</textarea></td><td style="color:#555"><i>Här skriver du de användarnamn / nick som du vill ignorera i forumet. <br /><br />Skriv ett nick på varje rad.</i></td></tr><tr style="vertical-align: top"><td><b>Ta fullständigt bort ignorerade inlägg?</b></td><td><input type="checkbox" style="margin:0;padding:0;" name="removeIgnored" value="on" '+(settings.removeIgnored?'checked="checked"':"")+' /></td><td style="color:#555"><i>Döljer de ignorerade medlemmarnas inlägg utan att visa en ikon som indikerar att de finns där.</i></td></tr><tr style="vertical-align: top"><td><b>Stryk under dessa:</b></td><td><textarea name="highLightNicks" style="width:200px;height:100px">'+settings.highLightNicks.replace(/\|/g,"\n")+'</textarea></td><td style="color:#555"><i>Här skriver du de ord / användarnamn / nick som du gärna vill lägga märke till i forumet. <br />Dessa ord blir markerade och understrukna. <br /><br />Skriv ett nick på varje rad.</i></td></tr><tr style="vertical-align: top"><td><b>Begränsa långa foruminlägg?</b></td><td><input type="text" name="forumPostMaxHeight" style="width:200px;" value="'+(settings.forumPostMaxHeight||0)+'" /></td><td style="color:#555"><i>Om du vill ha en övre gräns för hur långa foruminläggen får vara, skriv antalet pixlar här. <br />Skriv t ex: 500px, för att göra så att foruminlägg som upptar mer än 500 pixlar på höjden får en scrollbar. <br /><br />0 = ingen övre gräns.</i></td></tr><tr style="vertical-align: top"><td><b>Smileys</b></td><td><input type="checkbox" style="margin:0;padding:0;" name="autoConvertSmilies" value="on" '+(settings.autoConvertSmilies?'checked="checked"':"")+' /></td><td style="color:#555"><i>Konvertera :-) osv till grafiska emotikoner?<br /><br />Kräver en snabb processor. Stäng av funktionen om du upplever sidan segare.</i></td></tr><tr style="vertical-align: top"><td><b>Grammatik Per Automatik</b></td><td><input type="checkbox" style="margin:0;padding:0;" name="autoCorrectBadGrammar" value="on" '+(settings.autoCorrectBadGrammar?'checked="checked"':"")+' /></td><td style="color:#555"><i>Korrigera dålig grammatik och vanliga stavfel i inlägg? <br /><br />Kräver en snabb processor. Stäng av funktionen om du upplever sidan segare.</i></td></tr></table></fieldset>';f.innerHTML+='<fieldset style="padding:5px; margin:5px; width: 100%; -moz-border-radius: 5px; border: 1px solid #ccc; background-color: #f3f3f3"><legend style="padding:5px; margin:5px">Avancerat</legend><table cellspacing="15"><tr style="height:1px;overflow:hidden"><td style="width:100px"></td><td style="width: 200px"></td><td style=""></td><tr style="vertical-align: top"><td><b>Linux</b></td><td><label<input type="checkbox" style="margin:0;padding:0;" name="forumPostLinuxPrettify" value="on" '+(settings.forumPostLinuxPrettify?'checked="checked"':"")+' /> Manipulera läsbarhet för text i foruminlägg</label></textarea></td><td style="color:#555"><i>Gör texten mer läsbar i Linux utan Windowsfonter.</i></td></tr></table></fieldset>';g.setAttribute("style","width: 640px;");cent=document.createElement("center");cent.setAttribute("style","margin: 10px");var d=document.createElement("button");d.innerHTML="Spara";d.addEventListener("click",OnSettingsSave,false);var c=document.createElement("button");c.innerHTML="Avbryt";c.addEventListener("click",OnSettingsCancel,false);cent.appendChild(d);cent.appendChild(c);infolabel=document.createElement("div");infolabel.innerHTML="<small>Dessa inställningar hittar du genom att högerklicka på Greasemonkeyknappen (apan i nedre högra hörnet av Firefox) och navigera till: <i>Userscript Commands -> "+NAME+" Settings</i>. OBS: Du måste vara på betapet.se för att kunna komma åt inställningarna.</small><br /><br />Version: "+VERSION;g.appendChild(cent);g.appendChild(document.createElement("br"));g.appendChild(infolabel)}function OnSettingsCancel(){var b=document.getElementById("formWrapper");b.parentNode.removeChild(b);maindiv.setAttribute("style",null);maincol.appendChild(maindiv)}function OnSettingsSave(){settings.removeIgnored=document.getElementsByName("removeIgnored")[0].checked;settings.ignored=document.getElementsByName("ignoredNicks")[0].value.replace(/\n+/g,"|");settings.highLightNicks=document.getElementsByName("highLightNicks")[0].value.replace(/\n+/g,"|");settings.forumPostMaxHeight=parseInt(document.getElementsByName("forumPostMaxHeight")[0].value);if(settings.forumPostMaxHeight==NaN){settings.forumPostMaxHeight=0}if(settings.forumPostMaxHeight>0){settings.forumPostMaxHeight=""+settings.forumPostMaxHeight+"px"}settings.checkForNewMessageInterval=parseInt(document.getElementsByName("checkForNewMessageInterval")[0].value);if(settings.checkForNewMessageInterval==NaN){settings.checkForNewMessageInterval=0}if(settings.checkForNewMessageInterval>0){settings.checkForNewMessageInterval*=1000}settings.forumPostLinuxPrettify=document.getElementsByName("forumPostLinuxPrettify")[0].checked;settings.checkForNewMessageAlways=document.getElementsByName("checkForNewMessageAlways")[0].checked;settings.autoCorrectBadGrammar=document.getElementsByName("autoCorrectBadGrammar")[0].checked;settings.autoConvertSmilies=document.getElementsByName("autoConvertSmilies")[0].checked;GM_setValue("settings",uneval(settings));OnSettingsCancel();if(confirm("Ändringarna verkställs när du laddat om sidan eller bytt sida.\nKlicka på OK för att ladda om sidan.")){window.location.reload()}}GM_registerMenuCommand(NAME+" Settings",ShowSettings);window.PM_callback=function(){if(typeof GM_xmlhttpRequest!="function"){return}GM_xmlhttpRequest({method:"GET",url:"http://www.betapet.se/startpage_se/",headers:{Cookie:escape(window.document.cookie)},onload:function(b){var d=b.responseText;var c=d.match(/(\d+) ol.st.*?<a href="\/user\/messages\/inbox\/">meddelande/);if(c){GM_setValue("hasNewPM",true);window.notifyPMStatus()}else{GM_setValue("hasNewPM",false);GM_setValue("hasNewPM_notified",false);window.notifyPMStatus()}}})};function conditionalCheckForPM(force){var now=parseInt(new Date().getTime());var last_check=eval("("+(GM_getValue("lastPMcheck")||0)+")");GM_setValue("lastPMcheck",uneval(now));if(force||(now-last_check-500>settings.checkForNewMessageInterval)){PM_callback()}}if(settings.checkForNewMessageInterval){conditionalCheckForPM();setInterval(conditionalCheckForPM,settings.checkForNewMessageInterval)}if(settings.checkForNewMessageAlways){setTimeout(function(){conditionalCheckForPM(true)},500)}window.notifyPMStatus=function(){if(GM_getValue("hasNewPM")){if(!GM_getValue("hasNewPM_notified")){GM_setValue("hasNewPM_notified",true)}if(window.tmpVarSet){return}window.tmpVarSet=true;var c='<li style="float: right;"><a href="/logout">Logga ut</a></li>';var b=document.getElementById("nav");b.innerHTML=b.innerHTML.replace(c,c+'<li id="newPMnotification" style="float: right;"><a title="Wow! Någon kanske tycker om dig ändå?" style="color: red;" href="/user/messages/inbox"><img src="/ill/msgicon.gif" alt="M" /> <img src="http://www.lassolinedance.se/l/image/smileys/disappointed.gif" /> Du har beundrarpost!</a></li>')}else{var b=document.getElementById("newPMnotification");if(b){b.parentNode.removeChild(b)}}};window.notifyPMStatus();
