Pen Settings

HTML

CSS

CSS Base

Vendor Prefixing

Add External Stylesheets/Pens

Any URLs added here will be added as <link>s in order, and before the CSS in the editor. You can use the CSS from another Pen by using its URL and the proper URL extension.

+ add another resource

JavaScript

Babel includes JSX processing.

Add External Scripts/Pens

Any URL's added here will be added as <script>s in order, and run before the JavaScript in the editor. You can use the URL of any other Pen and it will include the JavaScript from that Pen.

+ add another resource

Packages

Add Packages

Search for and use JavaScript packages from npm here. By selecting a package, an import statement will be added to the top of the JavaScript editor for this package.

Behavior

Save Automatically?

If active, Pens will autosave every 30 seconds after being saved once.

Auto-Updating Preview

If enabled, the preview panel updates automatically as you code. If disabled, use the "Run" button to update.

Format on Save

If enabled, your code will be formatted when you actively save your Pen. Note: your code becomes un-folded during formatting.

Editor Settings

Code Indentation

Want to change your Syntax Highlighting theme, Fonts and more?

Visit your global Editor Settings.

HTML

              
                
<h1>Bookmarklets Collection<div style="float:right;opacity:.5;font-size:.8em;"></h1> 
<p class="blue"><i>Just drag & Drop the blue bookmarklet(s) of your choice to your bookmarks bar.</i></p>    <table class="center">      
         
             
<tr><th colspan="2">Media & Multimedia Bookmarklets</th></tr>
      <tr><td>
             <a class="button" href="javascript:
if(window.location.href.indexOf(%22ft.com%22) > -1) {
(function () {
var cookies = document.cookie.split(%22; %22);
for (var c = 0;
c < cookies.length; c++) {
 var d = window.location.hostname.split(%22.%22);
  while (d.length > 0) {
   var cookieBase = encodeURIComponent(cookies[c].split(%22;%22)[0].split(%22=%22)[0]) + %22=;
   expires=Thu, 01-Jan-1970 00:00:01 GMT;
   domain=%22 + d.join(%22.%22) + %22 ;
   path=%22;
   var p = location.pathname.split(%22/%22);
   document.cookie = cookieBase + %22/%22;
   while (p.length > 0) { document.cookie = cookieBase + p.join(%22/%22);
   p.pop();
   };
   d.shift();
   }}})();
   window.location.href=%22https://m.facebook.com/l.php?u=%22+encodeURIComponent(window.location.href)+%22?ClearCache=true%22;
   alert(%22To read FT.com, we must redirect you through FaceBook!%22);
   } else if (window.location.href.indexOf(%22technologyreview.com%22) > -1 || window.location.href.indexOf(%22investors.com%22) > -1 || window.location.href.indexOf(%22businessinsider.com%22) > -1) {
   (function()%7Bwindow.location.href %3D %22https%3A%2F%2Foutline.com%2F%22 %2B window.location.href%7D)();
   } else if (window.location.href.indexOf(%22wsj.com%22) > -1 ){

void((function(){var a,b,c,e,f;f=0;a=document.cookie.split(%22; %22);
for(e=0;e<a.length&&a[e];e++){f++;for(b=%22.%22+location.host;b;b=b.replace(/^(?:%5C.|[^%5C.]+)/,%22%22)){
for(c=location.pathname;c;c=c.replace(/.$/,%22%22)){
document.cookie=(a[e]+%22;
 domain=%22+b+%22; path=%22+c+%22;
  expires=%22+new Date((new Date()).getTime()-1e11).toGMTString());
  }}}alert(%22Expired %22+f+%22 cookies\nRedirecting via Twitter Referrer%22);})());
   window.localStorage.clear();
   var pageTitle=document.getElementsByTagName('title')[0].innerText; 
  
   var host=(window.location.hostname);
    var host=host.replace('www.','');
     var host = host.split(%22.%22, 1);
      var pageTitle = pageTitle.toString();
       var twit= 'https://twitter.com/search?q=' + host + ' '+ pageTitle + '&src=typd';
        window.open(twit, '_self');
   
   } else {
   (function () { var cookies = document.cookie.split(%22; %22);
   for (var c = 0; c < cookies.length; c++) {
   var d = window.location.hostname.split(%22.%22);
   while (d.length > 0) {
   var cookieBase = encodeURIComponent(cookies[c].split(%22;%22)[0].split(%22=%22)[0]) + %22=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=%22 + d.join(%22.%22) + %22 ;
   path=%22;
   var p = location.pathname.split(%22/%22);
   document.cookie = cookieBase + %22/%22;
   while (p.length > 0) {
   document.cookie = cookieBase + p.join(%22/%22);
   p.pop();
   };
   d.shift();}}})();window.localStorage.clear();
   window.open(document.location + %22?ClearCache=true%22, %22_self%22);}
" title="Paywall Killer - get around many paywalls">💀	Paywall Killer</a>
          </td><td>Get around most if not all paywalls.<br><i class="gray">Read your favorite online magazines and newspapers for free.</td></tr>
  <tr><td>
<a class="button" href="javascript: var song=window.prompt('Find Music:', 'Enter song or artist name'); 
var song2=song.split(' ').join('_');
var song3=song.split(' ').join('');
var url='https://www.google.com/search?q=%22parent+directory%22+mp3+OR+wma+OR+ogg+OR+wav+%22' + song +'%22 OR %22' + song2 + '%22 OR %22' + song3 + '%22+-html+-htm+-shtml+-phtml+-php+-buy+-aspx+-jsp+-asp+-cgi+-pdf+-ftp+-unknownsecret&num=100&filter=0';
window.open(url,'_self')" title="Find Music Online">🔎♪Music♬</a>
    </td><td>Find music on the internet with this bookmarklet.<br /><i class="gray">Search for directories of music online from any page.</i></td></tr>
<tr><td>
  <a class="button" href="javascript: var song=window.prompt('Find Movies:', 'Enter movie or film title'); 
var song2=song.split(' ').join('_');
var song3=song.split(' ').join('');
var url='https://www.google.com/search?q=%22parent+directory%22+mp4+OR+AVI+OR+WMV+OR+MOV+OR+FLV+%22' + song +'%22 OR %22' + song2 + '%22 OR %22' + song3 + '%22+-html+-htm+-shtml+-phtml+-php+-buy+-aspx+-jsp+-asp+-cgi+-pdf+-ftp+-unknownsecret&num=100&filter=0';window.open(url,'_self');" title="Find Movies Online">🎥 Movie Search</a>
  </td><td>Find movies online<br /><i class="gray">Search for directories of movies online from any page.</i></td></tr>
  
 <tr><td><a class="button" href="javascript:
if (document.URL.indexOf('imdb.com/title/') > -1) { 
var film = document.getElementsByTagName('H1')[0].innerText;
var film2=film.split(' ').join('_');var film3=film.split(' ').join('');var url='https://www.google.com/search?q=%22parent+directory%22+mp4+OR+AVI+OR+WMV+OR+MOV+OR+FLV+%22' + film +'%22 OR %22' + film2 + '%22 OR %22' + film3 + '%22+-html+-htm+-shtml+-phtml+-php+-buy+-aspx+-jsp+-asp+-cgi+-pdf+-ftp+-unknownsecret&num=100&filter=0';window.open(url,'_self');
} else {
alert('You must be on an IMDB page for this tool!\nRedirecting you now... try again!');
open('https://www.imdb.com/title/tt0031381/?ref_=nv_sr_1');
}" title="Find an IMDB Movie">🎥 Find IMDB Movie</a></td><td>Find a movie on the IMDB.com site<br />
<i class="gray">Then click this bookmarklet to find it on the web!</td></tr>    
  <tr><td><a class="button" href='javascript:window.location=document.URL.replace("https://www.youtube.com/watch?v=","https://y2mate.com/youtube/");' title="YouTube Download">YouTubeDownLoad</a></td><td>Download YouTube Video<br /><i class="gray">Download videos from YouTube with this bookmarklet.</i></td></tr>
  <tr><td>
  <a class="button" href='javascript:window.location=document.URL.replace("https://www.youtube.com/watch?v=","https://ytmp3.com/download/");' title="Download MP3 from YouTube Video">▽ YouTube2MP3</a></td><td>Grab an MP3 music file from a YouTube video.</td></tr>
  <tr>
    <td>
  <a class="button" href="javascript: var song=window.prompt('Find Books:', 'Enter book or author name'); 
var song2=song.split(' ').join('_');
var song3=song.split(' ').join('');
var url='https://www.google.com/search?q=%22parent+directory%22+pdf+OR+epub+OR+DjVU+OR+xps+%22' + song +'%22 OR %22' + song2 + '%22 OR %22' + song3 + '%22+-html+-htm+-shtml+-phtml+-php+-buy+-aspx+-jsp+-asp+-cgi+-pdf+-ftp+-unknownsecret&num=100&filter=0';
window.open(url,'_self')" title="Find books Online">🔎 📖eBook Search</a>
    </td><td>This will search for books across the Internet via a Google script.<br /><i class="gray">Generic book search using Google.</i></td></tr>
    <tr><td>
  <a class="button" href='javascript:
var ebookcheck = document.getElementById(%22ebooksProductTitle%22);
var bookcheck = document.getElementById(%22productTitle%22);
if(ebookcheck !=null){ 
var book= document.getElementById(%22ebooksProductTitle%22).innerText;
(open(%22https://archive.org/search.php?query=%22+book));
}else if(bookcheck !=null){
var book= document.getElementById(%22productTitle%22).innerText;
(open(%22https://archive.org/search.php?query=%22+book));
} else {
var book=window.prompt(%22Find Free Books:%22, %22Enter the book title%22); 
if(book == "Enter the book title" || book == null){
alert("Enter a book title or find one on Amazon");
} else {
(open(%22https://archive.org/search.php?query=%22+book));
}}' title="Finds books & eBooks on Amazon elsewhere">📖 Amazon Book Finder</a></td><td>This bookmarklet will find a book you selected on Amazon.com online for free!<br /><i class="gray">Go to the page of any book on Amazon, then click this bookmarklet!</i></td></tr>
 <tr><td>
<a class="button" href='javascript:if(window.location.href.indexOf("tunein.com/radio") > -1) { var muzyk = document.getElementById("jp_audio_0").src; (open(muzyk)); var title = document.getElementById("jp_audio_0").title; alert(title+"Was opened in a new window"); } else { alert("You need to be streaming Music on the TuneIn.com page for this to work!") }' title="Open TuneIn URL">🔗	Open TuneIn URL</a></td><td>Grab the URL from any TuneIn station and open it in a new window.</td></tr> 
 
        <tr><td>
          <a class="button" href='javascript:(function()%7Bwindow.open(  "http%3A%2F%2Fweb.archive.org%2Fweb%2F*%2F" %2B document.domain)%7D)()'>&#128452; WaybackMachine</a></td><td>Find an archived version of the page you are on. (Pre paywall?)<br />
          <i class="gray">Can't find that page? Did they put up a paywall? Try the Wayback Machine...</i></td></tr>
  <tr><td><a class="button" href="javascript:window.location%20=%20'https://webcache.googleusercontent.com/search?q=cache:'+window.location;" title="Find page in Google Cache">&#128194; Google Cache</a></td><td>Find a cached version of the current page.<br />
    <i class="gray">Looking for a cached version of a page? Try this.</i></td></tr><tr><td><a class="button" href="javascript:void(open('https://archive.today/?run=1&url='+encodeURIComponent(document.location)))" title="Archive the current page">Archive Page</a></td><td>Creates an archive of the current page.<br /><i class="gray">Often, this may get you around a paywall.</i></td></tr>
<tr><td><a class="button" href="javascript:(function()%7Bwindow.location.href %3D 'https%3A%2F%2Foutline.com%2F' %2B window.location.href%7D)()" title="Outline Page">Outline Page</a></td><td>Outlines the page by removing all ads and decoration.<br />
  <i class="gray">Outline eliminates much of the styling & ads and shows an article's outline
</i></td></tr>
  
  <tr><td><a class="button" href="javascript: if(window.location.href.indexOf('ft.com') > -1) { var pageTitle=document.getElementsByClassName('barrier__heading-serif')[0].innerHTML; } else { var pageTitle=document.getElementsByTagName('title')[0].innerText; } var host=(window.location.hostname); var host=host.replace('www.',''); var pageTitle = pageTitle.toString(); var twit= 'https://twitter.com/search?q=' + host + ' '+ pageTitle + '&src=typd'; window.open(twit, '_self');" title="Go to the page via Twitter Referrer">TwitterRefer</a></td><td>Twitter Referrer<br />
    <i class="gray">Enter a site via Twitter. (Paywall avoidance tactic)</i></td></tr>
  
  <tr><td><a class="button" href='javascript:(function () { var cookies = document.cookie.split("; "); for (var c = 0; c < cookies.length; c++) { var d = window.location.hostname.split("."); while (d.length > 0) { var cookieBase = encodeURIComponent(cookies[c].split(";")[0].split("=")[0]) + "=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=" + d.join(".") + " ;path="; var p = location.pathname.split("/"); document.cookie = cookieBase + "/"; while (p.length > 0) { document.cookie = cookieBase + p.join("/"); p.pop(); }; d.shift(); } } })(); window.location.href="https://m.facebook.com/l.php?u="+encodeURIComponent(window.location.href)+"?ClearCache=true"; 
    ' title="Use FaceBook Referrer">FB&rarr;</a></td><td>Reload the page via a Facebook referrer.<br />
    <i class="gray">This enters the page via Facebook; which may circumvent a paywall</i></td></tr>      
<tr><td><a class="button" href="javascript:
if(window.location.href.indexOf('wsj.com') > -1) { 
(function () { var cookies = document.cookie.split('; '); for (var c = 0; c < cookies.length; c++) { var d = window.location.hostname.split('.'); while (d.length > 0) { var cookieBase = encodeURIComponent(cookies[c].split(';')[0].split('=')[0]) + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=' + d.join('.') + ' ;path='; var p = location.pathname.split('/'); document.cookie = cookieBase + '/'; while (p.length > 0) { document.cookie = cookieBase + p.join('/'); p.pop(); }; d.shift(); } } })(); 
window.localStorage.clear();
var block_to_insert ; 
var container_block ; 
var outline= '<a href=https://outline.com/' + window.location.href + '> &nbsp;Outline WSJ Article</a>';
var pageTitle=document.getElementsByTagName('title')[0].innerText; 
var pageTitle = pageTitle.toString();
var pageTitle = pageTitle.replace(/ /g, '&nbsp;');
var pageTitle = pageTitle.replace(/WSJ/g, '');
var gogoog= 'https://www.google.com/search?q=site:wsj.com/articles/&nbsp;' + pageTitle;
var go2='<a href=' + gogoog + '> &nbsp;Via Google referrer</a>';
var twit= 'https://twitter.com/search?q=' + pageTitle + '&src=typd';
var gotwit='<a href=' + twit + '> &nbsp;Via Twitter referrer</a>';
block_to_insert = document.createElement('div'); 
block_to_insert.id = 'mymenu'; 
block_to_insert.innerHTML = '<center>Three Ways to Open The WSJ:<br /><table><tr><td>O</td><td> 1.) </td><td>'+ outline + '</td></tr><tr><td><img src=http://google.com/favicon.ico height=20></td><td> 2.) </td><td>' + go2 + '</td></tr><tr><td><img src=http://twitter.com/favicon.ico></td><td> 3.) </td><td>' + gotwit + '</td></tr></table>'; 
container_block = document.getElementsByTagName('body')[0]; 
container_block.appendChild(block_to_insert); 
mymenu.setAttribute('style', 'margin-left:auto; margin-right:auto; height:80px; width:50%; background-color:#FFFF00; color:black; float:left; font-family:arial,sans,verdana; font-size:20px; z-index:10000; display: inline-block;line-height:unset!important; line-height:1!important; overflow:visible; position:fixed; top: 0; padding:2px 5px;');
} else {
alert('This script is meant to be used on Wall Street Journal Articles!');
window.open('http://wsj.com', '_self');
}" title="Open the WSJ">WSJ</a></td><td>3 Ways to open the WSJ<br /><i class="gray">Choose how to circumvent the paywall at the WSJ</i></td></tr>
  <tr><td><a class="button" href="javascript:
void((function(){
var a,b,c,e,f;f=0;
a=document.cookie.split(%22; %22);
for(e=0;e<a.length&&a[e];e++){
f++;
for(b=%22.%22+location.host;b;b=b.replace(/^(?:%5C.|[^%5C.]+)/,%22%22)){
for(c=location.pathname;c;c=c.replace(/.$/,%22%22)){
document.cookie=(a[e]+%22; 
domain=%22+b+%22; 
path=%22+c+%22; 
expires=%22+new Date((new Date()).getTime()-1e11).toGMTString());
}}}
alert(%22Expired %22+f+%22 cookies%22);})()); 
window.localStorage.clear(); 
if(window.location.href.indexOf('ft.com') > -1) { 
var pageTitle=document.getElementsByClassName('barrier__heading-serif')[0].innerHTML; 
} else { 
var pageTitle=document.getElementsByTagName('title')[0].innerText; 
} var host=(window.location.hostname); var host=host.replace('www.',''); 
var host = host.split(%22.%22, 1); var pageTitle = pageTitle.toString(); 
var twit= 'https://twitter.com/search?q=' + host + ' '+ pageTitle + '&src=typd'; window.open(twit, '_blank');" title="WSJ via Twitter referrer">WSJ→Twitter</a></td><td>Open the Wall Street Journal via Twitter Referrer<br /><i class="gray">Opens the WSJ by going through twitter after clearing all cookies and cache.</i></td></tr>
  
  
 <tr><td><a class="button" href='javascript:if(window.location.href.indexOf("youtube.com") > -1 || window.location.href.indexOf("youtu.be") > -1) {   (function(){window.location.href = "https://ymp4.download/en2/?url=" + window.location.href})();  } else if (window.location.href.indexOf("reddit.com") > -1) {   (function(){window.location.href = "https://viddit.red/?url=" + window.location.href})();   } else if (window.location.href.indexOf("twitter.com") > -1 ){(function(){window.location.href = "https://www.savetweetvid.com/downloader?url=" + window.location.href})();   }else if (window.location.href.indexOf("vidmax.com") > -1 ){(function(){window.location.href = "https://9xbuddy.org/process?url=" + window.location.href})();   }else if (window.location.href.indexOf("liveleak.com") > -1 ){(function(){window.location.href = "https://www.tubeoffline.com/downloadFrom.php?host=LiveLeak&video=https%3A%2F%2F" + window.location.href})();   }else if (window.location.href.indexOf("dailymotion.com") > -1 ){(function(){window.location.href = "https://dmvideo.download/?url=" + window.location.href})();   }else if (window.location.href.indexOf("metacafe.com") > -1 ){(function(){window.location.href = "https://keepv.id/?url=" + window.location.href})();   }else {(function(){window.location.href = "https://keepv.id/?url=" + window.location.href})();   }' title="Video Downloader">GetVideo</a></td><td>Download videos from popular sites<br /><i class="gray">Will download videos from YouTube, Facebook, Twitter, Reddit, MetaCafe, DailyMotion, Liveleak, etc.</i></td></tr>  
          
  <tr><th colspan="2">Read Online Free (<i>More Paywall Circumvention tweaks</i>)</th></tr>
       

             
   <tr>
    <td><a href="javascript:
if (document.getElementById('mymenu')) {
    document.getElementById('mymenu').remove();
} else {
(function()%7B(function () %7Bvar i%2C elements %3D document.querySelectorAll('body *')%3Bfor (i %3D 0%3B i < elements.length%3B i%2B%2B) %7Bif (getComputedStyle(elements%5Bi%5D).position %3D%3D%3D 'fixed') %7Belements%5Bi%5D.parentNode.removeChild(elements%5Bi%5D)%3B%7D%7D%7D)()%7D)();
(function () { var cookies = document.cookie.split('; '); for (var c = 0; c < cookies.length; c++) { var d = window.location.hostname.split('.'); while (d.length > 0) { var cookieBase = encodeURIComponent(cookies[c].split(';')[0].split('=')[0]) + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=' + d.join('.') + ' ;path='; var p = location.pathname.split('/'); document.cookie = cookieBase + '/'; while (p.length > 0) { document.cookie = cookieBase + p.join('/'); p.pop(); }; d.shift(); } } })();
window.localStorage.clear();
var block_to_insert ;
var container_block ;
var outline= '<font size=-1><a href=https://outline.com/' + window.location.href + ' target=_blank title=Via&nbsp;Outline.com> &nbsp;Outline Article</a></font>';
var pageTitle=document.getElementsByTagName('title')[0].innerText;
var pageTitle = pageTitle.toString();
var pageTitle = pageTitle.replace(/ /g, '&nbsp;');
var pageTitle = pageTitle.replace(/WSJ/g, '');
var gogoog= 'https://www.google.com/search?q=site:wsj.com/articles/&nbsp;' + pageTitle;
var go2='<font size=-1><a href=' + gogoog + ' target=_blank> &nbsp;Via Google referrer</a></font>';
var twit= 'https://twitter.com/search?q=' + pageTitle + '&src=typd';
var gotwit='<font size=-1><a href=' + twit + ' target=_blank> &nbsp;Via Twitter referrer</a></font>';
var arch='<font size=-1><a href=https://archive.today/?run=1&url=' + window.location.href +'> &nbsp;Archive</a></font>';
var wayBack='<font size=-1><a href=https://web.archive.org/web/*/' + window.location.href +'> &nbsp;WayBack Machine</a></font>';
var goFace='<font size=-1><a href=https://m.facebook.com/l.php?u=' +encodeURIComponent(window.location.href)+ '?ClearCache=true target=_blank> &nbsp;Via Facebook Referrer</a></font>';

var titletag=document.getElementsByTagName('title')[0].innerHTML;
titletag.replace(' ','&nbsp;');
var tytul=document.getElementsByClassName('title');
var ft=document.getElementsByClassName('barrier__heading-serif');
if (tytul.length <= 0) {
tytul = 'Title Class does not exist!';
} else {
tytul=document.getElementsByClassName('title')[0].innerText;
}
if (titletag.length <= 0) {
titletag = 'There is no <title> tag on this page!';
} else {
titletag=document.getElementsByTagName('title')[0].innerHTML;
}
if (ft.length <=0) {
ft ='';
} else {
ft = '\nFT Title: ' + document.getElementsByClassName('barrier__heading-serif')[0].innerHTML;
}

function clearCache(){window.open(document.location + '?ClearCache=true', '_self');};
function clearCache2(){location.reload(true)};
function clearCookies(){var a,b,c,e,f;f=0; a=document.cookie.split('; '); for(e=0;e<a.length&&a[e];e++){ f++; for(b='.'+location.host;b;b=b.replace(/^(?:%5C.|[^%5C.]+)/,'')){ for(c=location.pathname;c;c=c.replace(/.$/,'')){ document.cookie=(a[e]+'; domain='+b+'; path='+c+'; expires='+new Date((new Date()).getTime()-1e11).toGMTString());}}} alert('Expired '+f+' cookies'); };
function showCookies(){var c=document.cookie; if (c==''){alert('This site didn\'t give you any cookies at all.\nNot a single one!'); }else{ w=window.open('','Links','scrollbars,resizable,width=400,height=600');w.document.write(c); }};
function cancel() {document.getElementById('mymenu').remove();};
function info(){alert('by Dan')};

/* Create our stylesheet */
var style = document.createElement('style');
style.innerHTML =
	'#mymenu a:link{color:#00FF00;text-decoration:none;font-size: 12px;border:0}' +
  '#mymenu a:hover{color:#0000FF;text-decoration:underline;}' +
  '#mymenu {font-size:12px;font-family:arial,verdana,sans;}' +
  '#mymenu .yellow a:link{color:yellow}'+
  '#mymenu img{height: 14px; margin-left: auto; margin-right: auto;}'+
  '#mymenu .x{font-size: 20px; text-align:right;}' +
  '#mymenu textarea{font-size: 10px; height:16px; padding:3px 3px; border-radius:5px}'+
  'td {border: 0;}' +
  'td.x {vertical-align:top; text-align:right; font-size:20px; color:#F00}' +
  'td, th {text-align: left; padding: 1px 1px;}'
  ;

/* Get the first script tag */
var ref = document.querySelector('script');

/* Insert new styles before the first script tag */
ref.parentNode.insertBefore(style, ref);

block_to_insert = document.createElement('div');
block_to_insert.id = 'mymenu';
block_to_insert.innerHTML = '<table width=100%><tr><td>&nbsp;</td><td><center><font color=#FF0000>Paywall Penetration Tester:</font></center></td><td class=x><font color=red size=+3><a href=# onClick=cancel();return&nbsp;false; title=Close>&times;</a></font></td></tr></table>

  <table><tr><td><b><font size=-1>Title: </td><td></b> <textarea rows=1 cols=80>'+ titletag +'</textarea></td></tr><tr><td><b><font size=-1>Class:</b></td><td> <textarea rows=1 cols=80>' + tytul + ft +'</textarea></td></tr><tr><td><b><font size=-1>URL:</b></td><td> <textarea rows=1 cols=80>' + window.location.href +'</textarea></td></tr></table>
<table width=100%><tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td>
  <table><tr><td><img src=https://outline.com/favicon.png height=14></td><td> '+ outline + '</td></tr><tr><td><img src=http://archive.fo/favicon.ico height=13></td><td> ' + arch + '</td></tr><tr><td><img src=https://archive.org/favicon.ico height=16></td><td>' + wayBack + '</td></tr></table>
</td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td>
<table><tr><td>
<tr><td><img src=http://google.com/favicon.ico height=14></td><td>' + go2 + '</td></tr><tr><td><img src=http://twitter.com/favicon.ico height=16></td><td>' + gotwit + '</td></tr><tr><td><img src=http://facebook.com/favicon.ico height=16></td><td>' + goFace + '</td></tr></table>
</td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td>
<table class=yellow><tr><td><font size=-1 color=yellow><a href=# onClick=clearCache2()> &nbsp;Clear Cache</a></font></td><td>&nbsp;</td></tr>
       <tr><td><font size=-1 color=yellow><a href=# onClick=clearCookies()> &nbsp;Delete Cookies</a></font></td><td>&nbsp;</td></tr>
       <tr><td><font size=-1 color=yellow><a href=# onClick=showCookies()> &nbsp;Show Cookies</a></font></td><td style=text-align:right;color:blue><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;<a href=# onClick=info()>&#9432;</a></font></td></tr>
</table>
</td></tr></table>';
container_block = document.getElementsByTagName('body')[0];
container_block.appendChild(block_to_insert);
mymenu.setAttribute('style', 'border: 3px solid red; display:inline-block; background-color:#000000; color:#00FF00; float:left; font-family:arial,sans,verdana; font-size:20px; z-index:10000; display: inline-block; line-height:1!important; overflow:visible; position:fixed; top: 0; padding:2px 5px;');
}
" class="button">Paywall Penetration Tester</a></td><td>Tool for testing Paywalls<br><i class="gray">Find a way around Paywalls with this tool.</i></td>
  </tr>         
             
  <tr><td><a class="button" title="CookieKiller" href='javascript:
void((function(){
var a,b,c,e,f;f=0;
a=document.cookie.split(%22; %22);
for(e=0;e<a.length&&a[e];e++){
f++;
for(b=%22.%22+location.host;b;b=b.replace(/^(?:%5C.|[^%5C.]+)/,%22%22)){
for(c=location.pathname;c;c=c.replace(/.$/,"")){
document.cookie=(a[e]+%22; domain=%22+b+%22; 
path=%22+c+%22; 
expires="+new Date((new Date()).getTime()-1e11).toGMTString());}}}
alert(%22Expired %22+f+%22 cookies%22);
})())'>CookieKiller</td><td>The best cookie remover there is.<br /><i class="gray">Expires all site cookies.</i></td></tr>           
 <tr><td><a class="button" href='javascript:(function () { var cookies = document.cookie.split("; "); for (var c = 0; c < cookies.length; c++) { var d = window.location.hostname.split("."); while (d.length > 0) { var cookieBase = encodeURIComponent(cookies[c].split(";")[0].split("=")[0]) + "=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=" + d.join(".") + " ;path="; var p = location.pathname.split("/"); document.cookie = cookieBase + "/"; while (p.length > 0) { document.cookie = cookieBase + p.join("/"); p.pop(); }; d.shift(); } } })();' title="This will clear the cookies for the current page">🍪Clear Cookies</a>
                </td><td>Clear site cookies from your browser.<br><i class="gray">Many paywalls work with time-stamped cookies - this will fix those.</i></td></tr>
             
<tr><td><a class="button" href='javascript:window.open(document.location + "?ClearCache=true", "_self");' title="Clear the cache for the current page">✂Clear Cache</a></td><td>Clears your cache. <br><i class="gray">This also helps with memory-hog and/or crash prone WebApps.</i></td></tr>
   
             
<tr><td><a class="button" href='javascript:void(open("https://www.google.com/search?q="+encodeURIComponent(document.title)))' title="Avoid Paywall via Google">🔎𝔾 Google Query</a></td><td>Searches Google for a way around a paywall. <br><i class="gray">Entering via a Google search will sometimes work.</i></td></tr>
             
<tr><td><a class="button" href="javascript:void(open('https://archive.today/?run=1&url='+encodeURIComponent(document.location)))" title="Archive Page">🔑Archive</a></td><td>Sending a URL to an Internet Archive will often generate a readable version.</td></tr>
             
            
 <tr><th colspan="2">Amazon Bookmarklets</th></tr>     
<tr><td>
<a class="button" href='javascript:
var ebookcheck = document.getElementById(%22ebooksProductTitle%22);
var bookcheck = document.getElementById(%22productTitle%22);
if(ebookcheck !=null){ 
var book= document.getElementById(%22ebooksProductTitle%22).innerText;
(open(%22https://archive.org/search.php?query=%22+book));
}else if(bookcheck !=null){
var book= document.getElementById(%22productTitle%22).innerText;
(open(%22https://archive.org/search.php?query=%22+book));
} else {
var book=window.prompt(%22Find Free Books:%22, %22Enter the book title%22); 
if(book == "Enter the book title" || book == null){
alert("Enter a book title or find one on Amazon");
} else {
(open(%22https://archive.org/search.php?query=%22+book));
}}' title="Finds books & eBooks on Amazon elsewhere">Amazon Book Finder</a>
             </td><td>Find a free copy of an Amazon book in online libraries.<br /><i class="gray">Scans online libraries - sometimes there is a free or library version you can borrow.</i></td></tr>   

  
<tr><td><a class="button" href='javascript: var book = encodeURIComponent(window.location.href); book = book.substring(31); book = book.replace("https://amazon.com/", ""); book = book.split("ebook")[0]; (open("https://epdf.tips/search/"+book))' title="Find an Amazon book for free - alternative search">AmazonFree2</a>
</td><td>Alternative search for a book.<br /><i class="gray">Checks to see if there's a free version</i></td></tr>             
  <tr><td><a class="button" href='javascript:void(window.open("https://camelcamelcamel.com/search/?sq="+encodeURIComponent(document.location)));' title="Amazon Price Checker">Amazon PriceChecker</td><td>Check to see if you are getting the best price on Amazon.<br /><i class="gray">Opens in a new tab with price history & comparisons.</td></tr>       
  <tr><td><a class="button" href='javascript: var ebookcheck = document.getElementById("ebooksProductTitle"); var prodcheck = document.getElementById("productTitle"); if(ebookcheck !=null){ var prod= document.getElementById("ebooksProductTitle").innerText; var prod=prod.split(' ').join('-'); (open("https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw="+prod)); }else if(prodcheck !=null){ var prod= document.getElementById("productTitle").innerText; var prod=prod.split(' ').join('-'); (open("https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw="+prod)); } else { var prod=window.prompt("Check eBay:", "Enter the product title"); if(prod == "Enter the product name" || prod == null){ alert("Enter a product name or find one on Amazon"); } else { (open("https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw="+prod)); }}' title="Check eBay for an alternative">✓ eBay</td><td>Check eBay for an alternative.<br /><i class="gray">Found it on Amazon? Great, now check eBay with a click!</i></td></tr>
  <tr><td><a class="button" href='javascript:
var ebookcheck = document.getElementById(%22ebooksProductTitle%22);
var prodcheck = document.getElementById(%22productTitle%22);
if(ebookcheck !=null){ 
var prod= document.getElementById(%22ebooksProductTitle%22).innerText;
var prod=prod.split("  ").join("+");
(open(%22https://www.google.com/search?q=%22+prod+"&source=lnms&tbm=shop"));
}else if(prodcheck !=null){
var prod= document.getElementById(%22productTitle%22).innerText;
var prod=prod.split("  ").join("+");
(open(%22https://www.google.com/search?q=%22+prod+"&source=lnms&tbm=shop"));
} else {
var prod=window.prompt(%22Check eBay:%22, %22Enter the product title%22); 
if(prod == "Enter the product name" || prod == null){
alert("Enter a product name or find one on Amazon");
} else {
(open(%22https://www.google.com/search?q=%22+prod+"&source=lnms&tbm=shop"));
}}
' title="Check Google for an Amazon Product">✓ Google</td><td>See if you can find a better price on Google Shopping<br /><i class="gray">Can you find a better price on Google? - click while on the Amazon page.</td></tr>          
             </p>

 <tr><th colspan="2">Browsing Bookmarklets</th></tr>     

<tr><td>
<a class="button" href="javascript: var c=document.cookie;
if (c==''){
alert('This site didn\'t give you any cookies at all.\nNot a single one!');
} else {
alert('This site has given you the following cookies:\n'+c);
}" title="Displays the cookies the site you are on has given you.">🍪Cookies?</a>
             </td><td>Did the site you're on give you cookies?<br />If so, it will show them to you in an alert.</td></tr>  
  
  <tr><td><a class="button" href="javascript: var c=document.cookie;
if (c==''){alert('This site didn\'t give you any cookies at all.\nNot a single one!');
}else{
w=window.open('','Links','scrollbars,resizable,width=400,height=600');w.document.write(c);
    }" title="Show cookies in iFrame">🍪Cookies?</a></td><td>Does the same as the script above, but shows the cookies in an iFrame<br /><i class="gray">This will let you copy and paste the cookies - you cannot do this with an alert!</i></td></tr>
  
<tr><td><a class="button" href='javascript:(function(){if(window["pgzp"]){_pgzpToggleBookmarklet();}else{window._page_zipper_is_bookmarklet=true;window._page_zipper=document.createElement("script");window._page_zipper.type="text/javascript";window._page_zipper.src="//www.printwhatyoulike.com/static/pagezipper/pagezipper_10.js";document.getElementsByTagName("head")[0].appendChild(window._page_zipper);}})();' title="Zip those annoying CLICK NEXT pages together">PageZipper</a>
</td><td>Stitches together those annoying "Click to read more" sites <br />that require some 20+ clicks to get to the point.</td></tr>
    
<tr><td><a class="button" href='javascript:window.location.replace(url);' title="Zap domain history from browsing history">Zap History</a>
</td><td>Zaps your page history.</td></tr>

<tr><td><a class="button" href="javascript:window.location%20=%20'https://webcache.googleusercontent.com/search?q=cache:'+window.location;" title="Find page in Google Cache">Google Cache</a>
</td><td>Check Google's cache for a copy of the current page.</td></tr>             
             
<tr><td><a class="button" href='javascript:(function()%7B(function () %7Bvar i%2C elements %3D document.querySelectorAll("body *")%3Bfor (i %3D 0%3B i < elements.length%3B i%2B%2B) %7Bif (getComputedStyle(elements%5Bi%5D).position %3D%3D%3D "fixed") %7Belements%5Bi%5D.parentNode.removeChild(elements%5Bi%5D)%3B%7D%7D%7D)()%7D)()' title="Kill that annoying sticky">Kill Sticky</a>
</td><td>Kill that annoying sticky bar at the top/bottom/side of page.</td></tr>             
<tr><td><a class="button" href='javascript: (function() { function method1() { /* remove any elements that fill the entire screen yet don"t contain much content */ var els = document.querySelectorAll("body *"); var wW = window.innerWidth * 0.8; var wH = window.innerHeight * 0.8; var bigs = []; /* tag DOM with first_try marker */ var bod = document.querySelector("body"); bod.style = "overflow:auto!important"; att = document.createAttribute("class"); att.value = "deblock_first_try"; bod.setAttributeNode(att); /* check size of all elements */ for (var i = 0, il = els.length; i < il; i++) { var s = window.getComputedStyle(els[i]); var w = els[i].offsetWidth; var h = els[i].offsetHeight; /* remove any scroll disabling styles */ if (s.getPropertyValue("overflow") == "hidden") { els[i].style = "overflow:auto!important"; } /* save big elements to an array */ if (w >= wW && h >= wH) { bigs[bigs.length] = els[i]; } } bigs.sort(function(a,b){ return b.innerHTML.length - a.innerHTML.length; }); var p = 0.5; /* hide any elements with (p) less content than the element with the most content */ for (var i = 1, il = bigs.length; i < il; i++) { if(bigs[i].innerHTML.length < bigs[0].innerHTML.length * p) { bigs[i].style = "display:none!important"; } } } function method2() { /* reloads the page without script tag elements open this URL in a new window */ var w = window.open(location.href,"_blank"); w.addEventListener("DOMContentLoaded", function(){ /* as soon as that page loads... */ var html = w.document.querySelector("html").cloneNode(true); var els = html.querySelectorAll("script"); /* strip out all script tag elements before they change the DOM */ for(var i=0, il=els.length; i<il; i++) { els[i].parentNode.removeChild(els[i]); } var html = html.innerHTML; /* copy and paste that page"s DOM to this page, then close it */ document.querySelector("html").innerHTML = html; addButtons(); w.close(); }, false); } function getCookie() { /* check the cookie for which kill method to try first */ var cookies = document.cookie.split(";"); for(var i=0, il = cookies.length; i<il; i++) { var c = cookies[i]; if (c.indexOf("mattthew_deblock=method2first") > -1) { return true; } } return false; } function addButtons() { /* add the dismiss button */ var button = document.createElement("div"); button.innerHTML = "DISMISS&nbsp;ME"; var att = document.createAttribute("style"); att.value = "position:fixed; top:10px; right:10px; display:inline-block; padding:4px 8px; border-radius:4px; z-index:999999; color:white; font-family:sans-serif; font-size:14px; box-shadow:0px 4px 4px rgba(0,0,0,0.4), 0px 0px 4px rgba(0,0,0,0.4); cursor:pointer; background-color:red;"; button.setAttributeNode(att); att = document.createAttribute("class"); att.value = "mattthew_deblock_button"; button.setAttributeNode(att); var bod = document.querySelector("body"); button.addEventListener("click", function(){ /* remove all deblock buttons from the DOM */ var el = document.querySelectorAll(".mattthew_deblock_button"); el[0].parentNode.removeChild(el[0]); el[1].parentNode.removeChild(el[1]); }); bod.appendChild(button); /* add the try again button */ button = document.createElement("div"); button.innerHTML = "&nbsp;TRY&nbsp;AGAIN&nbsp;"; att = document.createAttribute("style"); att.value = "position:fixed; top:54px; right:10px; display:inline-block; padding:4px 8px; border-radius:4px; z-index:999999; color:white; font-family:sans-serif; font-size:14px; box-shadow:0px 4px 4px rgba(0,0,0,0.4), 0px 0px 4px rgba(0,0,0,0.4); cursor:pointer; background-color:blue;"; button.setAttributeNode(att); att = document.createAttribute("class"); att.value = "mattthew_deblock_button"; button.setAttributeNode(att); var bod = document.querySelector("body"); button.addEventListener("click", function(){ /* try opposite method than the method already tried, and save new method to cookie */ if(method2first) { method1(); console.log("method1"); document.cookie = "mattthew_deblock=method1first; expires=" + exdate.toUTCString(); } else { method2(); console.log("method2"); document.cookie = "mattthew_deblock=method2first; expires=" + exdate.toUTCString(); } console.log(getCookie()); }); bod.appendChild(button); } /* call functions */ var exdate = new Date(); exdate.setDate(exdate.getDate() + 365); if(!document.querySelector(".mattthew_deblock_button")) { /* if they don"t exist yet, add deblock buttons to the DOM */ addButtons(); } var method2first = getCookie(); if(method2first) { method2(); console.log("method2"); /* resave cookie to expire in 1 year */ document.cookie = "mattthew_deblock=method2first; expires=" + exdate.toUTCString(); } else { method1(); console.log("method1"); } console.log(getCookie()); })();' title="Kill AdBlock Signup nag screen">Kill Signup/Adblock</a>
</td><td>Using Adblock? Kills the nag modal.</td></tr>
 
<tr><td><a class="button" href='javascript:(()=>{var a=document.querySelectorAll.bind(document),b="forEach",c="state_",d="disabled",e="display",f="type",g="text",h=(l,n,d,o,p,q)=>{if(n===e)l=l.style;o=n+"_org";p=f+"_org";if(!(c in l)){l[c]=0;l[o]=l[n];l[p]=l[f]}q=l instanceof HTMLInputElement;if(l[c]=!l[c]){l[n]=d;if(q&&(l.type==="hidden"))l[f]=g}else{l[n]=l[o];if(q)l[f]=l[p];delete l[c];delete l[o];delete l[p]}};a("link[rel=stylesheet],style")[b]((l)=>{h(l,d,1)});a("button,input,select")[b]((l)=>{h(l,d,0)});a("*")[b]((l)=>{h(l,e,"")});return})()' title="Toggle CSS">ToggleCSS</a></td><td>Toggle CSS on or off.</td></tr>             

<tr><td><a class="button" href='javascript:void(open(https://qdownloader.net/download?video="+encodeURIComponent(document.location)))
' title="Download YouTube Video">YouTubeDownLoad</a>
</td><td>Download a YouTube Video</td></tr>
  
<tr><td><a class="button" href='javascript:window.location=document.URL.replace("https://www.youtube.com/watch?v=","https://ytmp3.com/download/");' title="Download MP3 from YouTube Video">YouTube2MP3</a>
</td><td>Grab the MP3 of a YouTube video</td></tr>  

<tr><td><a class="button" href='javascript: e = document.querySelectorAll(".html5-main-video")[0]; w = e.videoWidth; h = e.videoHeight; c = document.createElement("canvas"); c.width = w; c.height = h; c.getContext("2d").drawImage(e, 0, 0, w, h); d=document.createElement("img"); d.src=c.toDataURL(); d.height=20; document.querySelectorAll("#count")[0].appendChild(d);' title="Save a Frame from a YouTube Video">YouTube Save a Frame</a>
</td><td>Save a frame from a YouTube video</td></tr>           

 <tr><td><a class="button" href='javascript: (function(){window.open("http://chart.apis.google.com/chart?cht=qr&chs=500x500&chl=" + window.location,"", "width=500, height=500")})()' title="Create QR Code for current URL">QR Code</a>
</td><td>Generate a QR code for the current page</td></tr>          

  
   <tr><td><a class="button" href='javascript:window.scrollTo(0, document.body.scrollHeight || document.documentElement.scrollHeight);' title="Scroll to the bottom of the current page">Scroll2Bottom</a>
   </td><td>Scroll to bottom of page<br /><i class="gray">Long page of text? Instantly go to the bottom (footer)</i></td></tr> 
  
 <tr><td><a class="button" href="javascript:void(function(){if(typeof%20jQuery%20==%20'undefined'){var%20s=document.createElement('script');s.src='http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js';document.getElementsByTagName('head')[0].appendChild(s);}var%20l=document.createElement('script');l.src='http://www.longurlplease.com/js/jquery.longurlplease.js';document.getElementsByTagName('head')[0].appendChild(l);function%20runIfReady(){try{if($.longurlplease){%20$.longurlplease();%20clearInterval(interval);}}catch(e){alert('sadsda')}};%20var%20interval%20=%20window.setInterval(runIfReady,100);}())" title="Get Long URL">Get Long URL</a>
</td><td>Get the long URL from a short url without clicking it.</td></tr>           
 

 <tr><td><a class="button" href='javascript:(function()%7Btry %7Bvar data %3D JSON.parse(document.getElementsByTagName("PRE")%5B0%5D.innerHTML)%3Bdata.Streams.forEach(function(element) %7Bprompt(element.Badwidth %2B "kbps%3A "%2C element.Url)%3B%7D)%3B%7Dcatch(err) %7Balert %3D "This is not a valid TuneIn metadata page."%7D%7D)()' title="Grab the MP3 from a TuneIn Station">TuneIn MP3 Grab</a>
</td><td>Grab the MP3 from a TuneIn radio station</td></tr> 
          
 <tr><td>
   <tr><td>
<a class="button" href='javascript:delete window.document.referrer;
        window.document.__defineGetter__('referrer', function () {
            return "http://www.googlebot.com/bot.html";
        });' title="Set referrer to Googlebot">Googlebot Referrer Spoof</a>
</td><td>Visit as a Googlebot</td></tr> 
          
   <tr><td><a href="
javascript:
if(window.location.href.indexOf('quora.com') > -1) { 
(function(){ (function () { var i, elements = document.querySelectorAll('body *'); 
for (i = 0; i < elements.length; i++) { 
if (getComputedStyle(elements[i]).position === 'fixed') { 
elements[i].parentNode.removeChild(elements[i]); 
} }})()})(); 
(function(){function toArray (c){ 
var a, k;a=new Array; for (k=0; k < c.length; ++k)a[k]=c[k]; return a; 
} var images, img, altText; images=toArray(document.images); 
for (var i=0; i < images.length; ++i){img=images[i]; 
altText=document.createTextNode(img.alt); 
img.parentNode.replaceChild(altText, img) } })(); 
function cleanup() { 
var elements = document.getElementsByClassName('hyperlink_image'); 
for (var i = 0; i < elements.length; i++) { 
elements[i].style.display = 'none';
 } 
var element2 = document.getElementsByClassName('ui_layout_thumbnail'); 
for (var i = 0; i < element2.length; i++) { 
element2[i].style.display = 'none'; 
} var element3 = document.getElementsByClassName('u-flex-auto'); 
for (var i = 0; i < element3.length; i++) { 
element3[i].style.display = 'none'; 
} 
}; 
cleanup(); 
}else{
alert('This script only works on Quora.com!');
}" title="Quora Cleaner" class="button">QuoraCleaner</a></td><td>Cleans up Quora.com<br />
     <i class="gray">You can surf Quora in 'stealth' mode. Kills sticky, removes images.</i></td></tr>

   <tr><td><a href="javascript:function%20toArray%20(c)%7B%0Avar%20a%2C%20k%3Ba%3Dnew%20Array%3Bfor%20(k%3D0%3B%20%0Ak%3Cc.length%3B%20%2B%2Bk)a%5Bk%5D%3Dc%5Bk%5D%3B%0Areturn%20a%3B%0A%7D%0Afunction%20insAtTop(par%2Cchild)%7B%0Aif(par.childNodes.length)%20par.insertBefore(child%2C%20par.childNodes%5B0%5D)%3B%0Aelse%20par.appendChild(child)%3B%7D%0Afunction%20countCols(tab)%7B%0Avar%20nCols%2C%20i%3BnCols%3D0%3B%0Afor(i%3D0%3Bi%3Ctab.rows.length%3B%2B%2Bi)if(tab.rows%5Bi%5D.cells.length%3EnCols)nCols%3Dtab.rows%5Bi%5D.cells.length%3B%0Areturn%20nCols%3B%0A%7D%0Afunction%20makeHeaderLink(tableNo%2C%20colNo%2C%20ord)%7Bvar%20link%3B%0Alink%3Ddocument.createElement(%27a%27)%3B%0Alink.href%3D%27javascript%3AsortTable(%27%2BtableNo%2B%27%2C%27%2BcolNo%2B%27%2C%27%2Bord%2B%27)%3B%27%3B%0Alink.appendChild(document.createTextNode((ord%3E0)%3F%27%E2%86%91%27%3A%27%E2%86%93%20%27))%3B%0Areturn%20link%3B%0A%7Dfunction%20makeHeader(tableNo%2CnCols)%7Bvar%20header%2C%20headerCell%2C%20i%3B%0Aheader%3Ddocument.createElement(%27tr%27)%3Bfor(i%3D0%3Bi%3CnCols%3B%2B%2Bi)%7BheaderCell%3Ddocument.createElement(%27td%27)%3B%0AheaderCell.appendChild(makeHeaderLink(tableNo%2Ci%2C1))%3B%0AheaderCell.appendChild(document.createTextNode(%27%2F%27))%3B%0AheaderCell.appendChild(makeHeaderLink(tableNo%2Ci%2C-1))%3B%0Aheader.appendChild(headerCell)%3B%7Dreturn%20header%3B%0A%7Dg_tables%3DtoArray(document.getElementsByTagName(%27table%27))%3B%0Aif(!g_tables.length)%20alert(%22This%20page%20doesn%27t%20contain%20any%20tables.%22)%3B%0A(function()%7Bvar%20j%2C%20thead%3Bfor(j%3D0%3Bj%3Cg_tables.length%3B%2B%2Bj)%7B%0Athead%3Dg_tables%5Bj%5D.createTHead()%3B%0AinsAtTop(thead%2C%20makeHeader(j%2CcountCols(g_tables%5Bj%5D)))%7D%7D)%20()%3B%0Afunction%20compareRows(a%2Cb)%7Bif(a.sortKey%3D%3Db.sortKey)return%200%3B%0Areturn%20(a.sortKey%20%3C%20b.sortKey)%20%3F%20g_order%20%3A%20-g_order%3B%0A%7D%0Afunction%20sortTable(tableNo%2C%20colNo%2C%20ord)%7Bvar%20table%2C%20rows%2C%20nR%2C%20bs%2C%20i%2C%20j%2C%20temp%3Bg_order%3Dord%3Bg_colNo%3DcolNo%3B%0Atable%3Dg_tables%5BtableNo%5D%3Brows%3Dnew%20Array()%3B%0AnR%3D0%3Bbs%3Dtable.tBodies%3B%0Afor(i%3D0%3B%20i%3Cbs.length%3B%20%2B%2Bi)for(j%3D0%3B%20j%3Cbs%5Bi%5D.rows.length%3B%20%2B%2Bj)%7Brows%5BnR%5D%3Dbs%5Bi%5D.rows%5Bj%5D%3B%0Atemp%3Drows%5BnR%5D.cells%5Bg_colNo%5D%3Bif(temp)%20rows%5BnR%5D.sortKey%3Dtemp.innerHTML%3Belse%20rows%5BnR%5D.sortKey%3D%22%22%3B%3B%0A%2B%2BnR%3B%7Drows.sort(compareRows)%3B%0Afor%20(i%3D0%3B%20i%20%3C%20rows.length%3B%20%2B%2Bi)insAtTop(table.tBodies%5B0%5D%2C%20rows%5Bi%5D)%3B%0A%7D%20" title="Sort Tables" class="button">Sort Tables</a></td><td>Makes tables on any page sortable.<br /><i class="gray">Will add arrows at the top of all tables to sort by ascending or descending</i></td></tr>
   
<tr><th class="reddit" colspan="2">Reddit Tools</th></tr>

   <tr><td><a href="javascript: if(window.location.hostname.includes('reddit')) {
if(document.getElementById('mymenu')) { 
document.getElementById('mymenu').remove(); 
}else{ 
function switcher(){
var url = location.href; 
if (url.includes('www')) { 
var url = url.replace('www', 'old'); 
window.open(url,'_self');
} else if (url.includes('new')) { 
var url = url.replace('new', 'old'); 
window.open(url,'_self');
} else { 
var url = url.replace('old', 'www'); 
window.open(url,'_self');}
}
var switchIt= '<a style=color:#00FF00; href=# onClick=switcher() title=Switch&nbsp;between&nbsp;old&nbsp;and&nbsp;new&nbsp;Reddit>Old/New Reddit</a>'; 
function upVote(){if(window.location.href.indexOf('old.reddit.com/r/') > -1 || window.location.href.indexOf('old.reddit.com/u/') > -1) { 
(function(){var q=[];$('.up').each(function(){var that=this;var f=function(index){$(that).trigger('click');$(that).trigger('mousedown');setTimeout(function(){if(q[index]){q[index](index+1);}else{if(upVoteTimer){window.clearTimeout(upVoteTimer);}}},500);};q.push(f);});var upVoteTimer=window.setTimeout(function(){q[0](1);},50);}());
} else if (window.location.href.indexOf('old.reddit.com/user/') > -1){
void!function(){document.querySelectorAll('[data-event-action=%22upvote%22]').forEach(function(o){%22upvote%22===o.dataset.eventAction%26%26o.click()}),document.querySelectorAll(%22.icon-upvote%22).forEach(function(o){o.click()})}();
} else {
alert('You need to be voting in a single sub or user page in OLD reddit for this to work!\nSWITCH TO OLD REDDIT!\n
Go to: http://old.reddit.com/r/ and choose a subreddit or user to vote on!')
};}
var upVoteIt= '<a style=color:#00FF00; href=# onClick=upVote() title=UpVote&nbsp;All&nbsp;(Works&nbsp;Only&nbsp;in&nbsp;OLD&nbsp;Reddit)>&uarr; UpVote All</a>'; 
function downVote(){if(window.location.href.indexOf('old.reddit.com/r/') > -1 || window.location.href.indexOf('old.reddit.com/u/') > -1) { 
(function(){var q=[];$('.down').each(function(){var that=this;var f=function(index){$(that).trigger('click');$(that).trigger('mousedown');setTimeout(function(){if(q[index]){q[index](index+1);}else{if(downVoteTimer){window.clearTimeout(downVoteTimer);}}},500);};q.push(f);});var downVoteTimer=window.setTimeout(function(){q[0](1);},50);}());
} else if (window.location.href.indexOf('old.reddit.com/user/') > -1){
void!function(){document.querySelectorAll('[data-event-action=%22downvote%22]').forEach(function(o){%22downvote%22===o.dataset.eventAction%26%26o.click()}),document.querySelectorAll(%22.icon-downvote%22).forEach(function(o){o.click()})}();
} else {
alert('You need to be voting in a single sub in OLD reddit for this to work!\nSWITCH TO OLD REDDIT!\n
Go to: http://old.reddit.com/r/ and choose a subreddit')
};}
var downVoteIt= '<a style=color:#00FF00; href=# onClick=downVote() title=DownVote&nbsp;All(Works&nbsp;Only&nbsp;in&nbsp;OLD&nbsp;Reddit)>&darr; DownVote All</a>'; 
function stealth(){if(window.location.href.indexOf('old.reddit.com') > -1) { 
(function(){var newcss='.midcol, .thumbnail, .rank,  .flairichtext, .flaircolordark, .linkflairlabel, .flaircolorlight, .res-flairSearch {display:none} .title {color:black !important} .title{font-size:120% !important} body {background-color:white}';
if('\v'=='v'){document.createStyleSheet().cssText=newcss}else{var tag=document.createElement('style');
tag.type='text/css';document.getElementsByTagName('head')[0].appendChild(tag);
tag[(typeof document.body.style.WebkitAppearance=='string')?'innerText':'innerHTML']=newcss}})();document.getElementsByClassName('side')[0].remove();document.getElementById('header').remove();
document.getElementsByClassName('panestack-title')[0].remove();document.getElementsByClassName('menuarea')[0].remove();
document.getElementsByClassName('usertext cloneable')[0].remove();document.getElementsByName('content')[0].remove();
document.getElementsByClassName('footer-parent')[0].remove();
} else if (window.location.href.indexOf('reddit.com') > -1)  {
(function()%7B(function () %7Bvar i%2C elements %3D document.querySelectorAll('body *')%3Bfor (i %3D 0%3B i < elements.length%3B i%2B%2B) %7Bif (getComputedStyle(elements%5Bi%5D).position %3D%3D%3D 'fixed') %7Belements%5Bi%5D.parentNode.removeChild(elements%5Bi%5D)%3B%7D%7D%7D)()%7D)();
(function(){var e=document.getElementsByClassName('s7pq5uy-6')||('jspfgX');
if(e[0].style.display=='none') {e[0].style.display='block'}else{e[0].style.display='none'}})();
} else {
alert('You need to be on Reddit.com for this bookmarklet to work!\nStealth mode looks best on old.reddit.com!');
 };
}
var stealthIt= '<a style=color:#00FF00; href=# onClick=stealth() title=This&nbsp;works&nbsp;best&nbsp;in&nbsp;OLD&nbsp;Reddit>Stealth Mode</a>'; 
function coder(){(function(){var newcss='.midcol, .thumbnail, .rank,  .flairichtext, .flaircolordark, .linkflairlabel, .flaircolorlight, .res-flairSearch {display:none} .title {color:green !important} .title{font-size:120% !important} body {background-color:black}';if('\v'=='v'){document.createStyleSheet().cssText=newcss}else{var tag=document.createElement('style');tag.type='text/css';document.getElementsByTagName('head')[0].appendChild(tag);tag[(typeof document.body.style.WebkitAppearance=='string')?'innerText':'innerHTML']=newcss}})();document.getElementsByClassName('side')[0].remove();document.getElementById('header').remove();document.getElementsByClassName('panestack-title')[0].remove();document.getElementsByClassName('menuarea')[0].remove();document.getElementsByClassName('usertext cloneable')[0].remove();document.getElementsByName('content')[0].remove();document.getElementsByClassName('footer-parent')[0].remove();}
var coderIt= '<a style=color:#00FF00; href=# onClick=coder() title=This&nbsp;only&nbsp;works&nbsp;in&nbsp;OLD&nbsp;Reddit>Coder Mode</a>'; 
function baseTag(){var insertBase; 
var baseTag; 
insertBase = document.createElement('base'); 
insertBase.id = 'myBase'; 
insertBase.innerHTML ='<base target=_blank>';
container_block = document.getElementsByTagName('head')[0]; 
container_block.appendChild(insertBase); 
}
var NewTabIt= '<a style=color:#00FF00; href=# onClick=baseTag();return&nbsp;false; title=Opens&nbsp;all&nbsp;links&nbsp;in&nbsp;a&nbsp;new&nbsp;tab&nbsp;when&nbsp;clicked>OpenInNewTab</a>'; 
function getVid(){var url = location.href; if (url.includes('old')) { 
var url = url.replace('old', 'www'); 
} (window.open('https://redv.co/?url='+url));};
var downloadVid= '<a style=color:#00FF00; href=# onClick=getVid(); title=Download&nbsp;Reddit&nbsp;Videos>GetRedditVideo</a>'; 
if (window.location.href.includes('old')) { 
var notice='';
var spacer='<span style=color:#777>.......</span>';
} else {
var notice='<br /><sub><br /><i style=font-style:italic;color:#00FFFF;cursor:pointer><a onClick=makeOld() id=demo onMouseOver=replaceText() onMouseOut=original()>This works best<br />in OLD REDDIT</a></i></sub>';
var spacer='<span style=color:#777>..........</span>';
}
function hideMenu() { document.getElementById('mymenu').remove(); }; 
function replaceText() {
  document.getElementById('demo').innerHTML = ' Click to switch <br />to OLD REDDIT';  
}
function original() {
  document.getElementById('demo').innerHTML = 'This works best<br />in OLD REDDIT';  
}
function makeOld(){
var url=document.location.href;
var url = url.replace('www', 'old'); 
var url = url.replace('new', 'old');
window.open(url,'_self');
}
function infoPop(){var a='<div style:padding:10px;><img src=http://reddit.com/favicon.ico /><br />
<h2>Welcome to the Reddit Toolkit!</h2>
<ul>
<li>Upvote all will up vote all all of the posts on a subreddit or even of an individual user. This will work even for subs that you are not subscribed to!<br />
<i style=color:red>CAVEAT! Be careful - Reddit keeps counts of total votes on a sub and user pages. Overuse will mean your votes will not be counted. Abuse can get you shadowbanned!</i></li>
<li>Downvote all will down vote all all of the posts on a subreddit or even of an individual user. This will work even for subs that you are not subscribed to!<br />
<i style=color:red>CAVEAT! - See above!</i></li>
<li>Old/New Reddit toggle. This will toggle between old and new Reddit. Most of these tools ONLY work in Old Reddit.</li>
<li>Stealth Mode. This will hide much of the graphics and headers/footers that give away the fact that you are surfing Reddit. Often used by people who are at work.</li> 
<li>Coder Mode. Looks like you have some kind of coding interface open. Another way of reading Reddit when you are supposed to be doing something else!</li>
<li>OpenInNewTab. Clicking this will not make any visible changes on the page, however, all of the links you click on will open in a new tab!</li>
<li>GetRedditVideo - This will open an interface that will let you download a Reddit hosted video.</li>
</ul><center><h2><a href=https://www.zazzle.com/cats_and_dogs/products>Cat Tax</a></h2></center></div>';
w=window.open('','Links','scrollbars,resizable,width=400,height=675');
w.document.write(a);}
var block_to_insert; 
var container_block; 
block_to_insert = document.createElement('div'); 
block_to_insert.id = 'mymenu'; block_to_insert.innerHTML = '<a href=# onclick=hideMenu() title=Close style=font-weight:bold;color:#F00>&times;</a>' + spacer +'<a href=https://www.zazzle.com/cats_and_dogs/products><img src=https://www.reddit.com/favicon.ico height=15 width=15 /></a>' + spacer + '<a href=# onClick=infoPop() style=color:#FFF;font-weight:bold;size:150%; title=Information>&#9432;</a>
<br /><hr />' + upVoteIt +  '<br /><hr />'+ downVoteIt +'<br /><hr />'+switchIt+'<br /><hr />' + stealthIt + '<br /><hr />' + coderIt + '<hr/>'+ NewTabIt + '<br /><hr />' + downloadVid + notice; 
container_block = document.getElementsByTagName('body')[0]; 
container_block.appendChild(block_to_insert); 
mymenu.setAttribute('style', 'height:240px; width:100px; border-radius:0px 0px 10px 0px; background-color:#000; color:red; float:left; font-size:12px; z-index:10000; display:block; overflow:visible; position:fixed; top: 0; padding:2px 5px;'); 
}
} else {
alert('NOT REDDIT\nThis tool only works on Reddit.\nRedirecting you to Reddit.com');
window.open('http://old.reddit.com','_self');
};" class="button" title="Reddit Toolkit">Reddit Toolkit</a></td><td>Dropdown menu for Reddit with cool tools!<br />
     <i class="gray">Bulk UpVote/Downvote, switch from old to new Reddit, Stealth mode, etc.</i></td></tr>
   
<tr><td><a class="button" href='javascript: var url = location.href; var url = url.replace("www", "old"); window.open(url,"_self")' title="Switch to Old Reddit (Enables mass voting)">𝔒𝔩𝔡𝔢</a></td><td>Switch to Old Reddit. This enables mass voting and other tweaks.</td></tr>
             
<tr><td><a class="button" href='javascript: if(window.location.href.indexOf("old.reddit.com/r/") > -1) { 
(function()%7Bvar q%3D%5B%5D%3B%24(%27.up%27).each(function()%7Bvar that%3Dthis%3Bvar f%3Dfunction(index)%7B%24(that).trigger(%27click%27)%3B%24(that).trigger(%27mousedown%27)%3BsetTimeout(function()%7Bif(q%5Bindex%5D)%7Bq%5Bindex%5D(index%2B1)%3B%7Delse%7Bif(upVoteTimer)%7Bwindow.clearTimeout(upVoteTimer)%3B%7D%7D%7D,500)%3B%7D%3Bq.push(f)%3B%7D)%3Bvar upVoteTimer%3Dwindow.setTimeout(function()%7Bq%5B0%5D(1)%3B%7D,50)%3B%7D())%3B
} else {
alert("You need to be voting in a single sub in OLD reddit for this to work!\nSWITCH TO OLD REDDIT!\n
Go to: http://old.reddit.com/r/ and choose a subreddit")
}' title="Upvote ALL on the current page">⬆</a></td><td>Upvote ALL in the current sub. <br><i class="gray">This only works in <b>OLD REDDIT</b></i></td></tr>             

<tr><td><a class="button" href='javascript: if(window.location.href.indexOf("old.reddit.com/r/") > -1) { 
(function()%7Bvar q%3D%5B%5D%3B%24(%27.down%27).each(function()%7Bvar that%3Dthis%3Bvar f%3Dfunction(index)%7B%24(that).trigger(%27click%27)%3B%24(that).trigger(%27mousedown%27)%3BsetTimeout(function()%7Bif(q%5Bindex%5D)%7Bq%5Bindex%5D(index%2B1)%3B%7Delse%7Bif(downVoteTimer)%7Bwindow.clearTimeout(downVoteTimer)%3B%7D%7D%7D,500)%3B%7D%3Bq.push(f)%3B%7D)%3Bvar downVoteTimer%3Dwindow.setTimeout(function()%7Bq%5B0%5D(1)%3B%7D,50)%3B%7D())%3B
} else {
alert("You need to be voting in a single sub in OLD reddit for this to work!\nSWITCH TO OLD REDDIT!\n
Go to: http://old.reddit.com/r/ and choose a subreddit")
}' title="Downvote ALL on the current page">⬇</a></td><td>Downvote ALL on the current page (subs only).<br /><i class="gray">This only works in <b>OLD REDDIT!</b></i></td></tr>             
 
<tr><td><a class="button" href='javascript:(function(){var newcss=".midcol, .thumbnail, .rank,  .flairichtext, .flaircolordark, .linkflairlabel, .flaircolorlight, .res-flairSearch, .BlueBar, .ProfileTemplate__sidebar, .Post__thumbnail {display:none} .title {color:black !important} .title{font-size:120% !important} body {background-color:white}";if("\v"=="v"){document.createStyleSheet().cssText=newcss}else{var tag=document.createElement("style");tag.type="text/css";document.getElementsByTagName("head")[0].appendChild(tag);tag[(typeof document.body.style.WebkitAppearance=="string")?"innerText":"innerHTML"]=newcss}})();document.getElementsByClassName("side")[0].remove();document.getElementById("header").remove();document.getElementsByClassName("panestack-title")[0].remove();document.getElementsByClassName("menuarea")[0].remove();document.getElementsByClassName("usertext cloneable")[0].remove();document.getElementsByName("content")[0].remove();document.getElementsByClassName("footer-parent")[0].remove();' title="Hide that you are on Reddit">Stealth Reddit</a></td><td>Stealth mode reddit, removes most styles (for surfing at work)<br><i class="gray">The best stealth mode. ONLY for Old Reddit. Use the toggle or switch bookmarklet.</i></td></tr>               

<tr><td><a class="button" href='javascript:(function(){var newcss=".midcol, .thumbnail, .rank,  .flairichtext, .flaircolordark, .linkflairlabel, .flaircolorlight, .res-flairSearch {display:none} .title {color:green !important} .title{font-size:120% !important} body {background-color:black}";if("\v"=="v"){document.createStyleSheet().cssText=newcss}else{var tag=document.createElement("style");tag.type="text/css";document.getElementsByTagName("head")[0].appendChild(tag);tag[(typeof document.body.style.WebkitAppearance=="string")?"innerText":"innerHTML"]=newcss}})();document.getElementsByClassName("side")[0].remove();document.getElementById("header").remove();document.getElementsByClassName("panestack-title")[0].remove();document.getElementsByClassName("menuarea")[0].remove();document.getElementsByClassName("usertext cloneable")[0].remove();document.getElementsByName("content")[0].remove();document.getElementsByClassName("footer-parent")[0].remove();' title="Hide that you are on Reddit by using a coder style">Coder Reddit</a></td><td class="green">Coder Reddit puts green text on a black background. Looks like you are working on code!<br /><i>Shrinks title and removes flairs and thumbnails for surfing Reddit at work! (OLD Reddit Only!)</i></td></tr>                
 
 <tr><td><a class="button" href='javascript:document.getElementsByClassName("side")[0].remove();
document.getElementById("header").remove();
document.getElementsByClassName("panestack-title")[0].remove();
document.getElementsByClassName("menuarea")[0].remove();
document.getElementsByClassName("usertext cloneable")[0].remove();
document.getElementsByName("content")[0].remove();' title="Hide that you are on Reddit">Clean Old Reddit</a></td><td>An older script to clean up old Reddit.<br /><i class="gray">Stealth Reddit or Coder Reddit above are better, more robust scripts!</i></td></tr>  
            
<tr><td><a class="button" href='
javascript:(function()%7B(function () %7Bvar i%2C elements %3D document.querySelectorAll("body *")%3Bfor (i %3D 0%3B i < elements.length%3B i%2B%2B) %7Bif (getComputedStyle(elements%5Bi%5D).position %3D%3D%3D "fixed") %7Belements%5Bi%5D.parentNode.removeChild(elements%5Bi%5D)%3B%7D%7D%7D)()%7D)();
(function(){var e=document.getElementsByClassName("s7pq5uy-6")||("jspfgX");
if(e[0].style.display=="none") {e[0].style.display="block"}else{e[0].style.display="none"}})()' title="Remove the sticky header & the sidebar in New Reddit">Cleanup New Reddit</a></td><td>Cleans up new Reddit<br /><i class="gray">Not as stealthy as Stealth Mode in Old Reddit.</i></td></tr>   
             

  <tr><td>
          <dt><a class="button" href='javascript:var url = location.href; if (url.includes("www")) { var url = url.replace("www", "old"); window.open(url,"_self") } else { var url = url.replace("old", "www"); window.open(url,"_self") }' title="Toggle From Old to New Reddit">RToggle</a></dt>
  </td><td>Toggles to old reddit and back to New Reddit. </td></tr> 

<tr><td>

 <a class="button" href='javascript: if(window.location.href.indexOf("old.reddit.com") > -1) { 
(function(){var newcss=".midcol, .thumbnail, .rank,  .flairichtext, .flaircolordark, .linkflairlabel, .flaircolorlight, .res-flairSearch {display:none} .title {color:black !important} .title{font-size:120% !important} body {background-color:white}";
if("\v"=="v"){document.createStyleSheet().cssText=newcss}else{var tag=document.createElement("style");
tag.type="text/css";document.getElementsByTagName("head")[0].appendChild(tag);
tag[(typeof document.body.style.WebkitAppearance=="string")?"innerText":"innerHTML"]=newcss}})();document.getElementsByClassName("side")[0].remove();document.getElementById("header").remove();
document.getElementsByClassName("panestack-title")[0].remove();document.getElementsByClassName("menuarea")[0].remove();
document.getElementsByClassName("usertext cloneable")[0].remove();document.getElementsByName("content")[0].remove();
document.getElementsByClassName("footer-parent")[0].remove();
} else if (window.location.href.indexOf("reddit.com") > -1)  {
(function()%7B(function () %7Bvar i%2C elements %3D document.querySelectorAll("body *")%3Bfor (i %3D 0%3B i < elements.length%3B i%2B%2B) %7Bif (getComputedStyle(elements%5Bi%5D).position %3D%3D%3D "fixed") %7Belements%5Bi%5D.parentNode.removeChild(elements%5Bi%5D)%3B%7D%7D%7D)()%7D)();
(function(){var e=document.getElementsByClassName("s7pq5uy-6")||("jspfgX");
if(e[0].style.display=="none") {e[0].style.display="block"}else{e[0].style.display="none"}})();
} else {
alert("You need to be on Reddit.com for this bookmarklet to work!\nStealth mode looks best on old.reddit.com!");
          }' title="Cleanup - Old or New Reddit">Cleanup All Reddit</a>

   </td><td>This cleans up the look of both old and new Reddit for a quick stealth mode.<br /><i class="gray">This works in <b>OLD REDDIT AND New Reddit!</b></i></td></tr>                       
   <tr><td><a class="button" href="javascript:(function()%7Blocation.href='http://reddit.com/submit?url='+location.href+'&title='+encodeURIComponent(document.title)%7D)() 
" title="Post to Reddit">PostToReddit</a></td><td>Posts the page you're on to Reddit.<br /><i class="gray">You simply need to select which sub you want it to post to.</i></td></tr>
   
     <tr><td><a class="button" href="javascript: var url = location.href; if (url.includes('old')) { 
var url = url.replace('old', 'www'); 
} (window.open('https://redv.co/?url='+url));" title="Download Reddit Video">Download Reddit Video</td><td>Download a video from Reddit.<br /> <i class="gray">Go to the page with the video, then click to download it from Reddit!</i></td></tr>
   <tr><td><a class="button" href="javascript:var json_obj;
$.getJSON('.json', function (data) {
    json_obj = data;
});
str = (JSON.stringify(json_obj));
var start_pos = str.indexOf('fallback_url') + 1;
var end_pos = str.indexOf('?',start_pos);
var text_to_get = str.substring(start_pos,end_pos);
var vidSource= text_to_get.replace('allback_url':'','');
     window.open(vidSource);" title="Direct Video Download From Reddit Video">RedVidGrab</a></td><td>Direct Video Download from Reddit Video<br /><i class="gray">Old or New Reddit. Uses jQuery to grab URL - right click to download!</i></td></tr>
   
   <tr><td><a class="button" href="javascript:var%20haystack%3D%20document.body.innerHTML%3B%20%0Ahaystack%3Dhaystack.toString().trim()%3B%20%0Avar%20needle%20%3D%20%2F%5Cs*(%5B%22%27%5D)(%5C%2Fuser%5C%2F.%2B%3F)%5C1%2Fig%3B%20%0Avar%20found%20%3D%20haystack.match(needle)%3B%20%0Afunction%20removeDupes(found)%20%7B%20%0Alet%20unique%20%3D%20%7B%7D%3B%20%0Afound.forEach(function(i)%20%7B%20%0Aif(!unique%5Bi%5D)%20%7B%20unique%5Bi%5D%20%3D%20true%3B%20%7D%20%7D)%3B%20%0Areturn%20Object.keys(unique)%3B%20%0A%7D%20%0Afound%3DremoveDupes(found)%3B%20%0Afound%20%3D%20found.sort()%3B%0A%0Afound.sort(function%20(a%2C%20b)%20%7B%0A%20%20%20%20return%20a.toLowerCase().localeCompare(b.toLowerCase())%3B%0A%7D)%3B%0A%0Avar%20baseUrl%3D%27http%3A%2F%2Fwww.reddit.com%27%3B%0Avar%20text%20%3D%20%27%27%3B%0Avar%20i%3B%0Afor%20(i%20%3D%200%3B%20i%20%3C%20found.length%3B%20i%2B%2B)%20%7B%0A%20found%5Bi%5D%20%3D%20found%5Bi%5D.replace(%2F%5B%27%27%5D%2Fgi%2C%27%27)%3B%0A%20text%20%2B%3D%20%20found%5Bi%5D.replace(%2F%5B%22%5D%2Fgi%2C%27%27).link(baseUrl%2B%20found%5Bi%5D.replace(%2F%5B%22%5D%2Fgi%2C%27%27))%20%2B%20%27%3Cbr%3E%27%3B%0A%7D%0Aif(found%20!%3D%3D%20null%20%26%26%20found%20!%3D%3D%27%27)%20%7B%20%0Aw%3Dwindow.open(%27%27%2C%27users%27%2C%27scrollbars%2Cresizable%2Cwidth%3D400%2Cheight%3D600%27)%3B%20w.document.write(%27%3Chtml%3E%3Chead%3E%3Ctitle%3EReddit%20Users%3C%2Ftitle%3E%3C%2Fhead%3E%3Cbody%3E%27%20%2B%20text)%3B%20%0A%7Delse%7B%20%0Aalert(%27No%20Reddit%20users%20found%20on%20this%20page%27)%3B%20%0A%7D">getUsers</a></td><td>Shows a popup with all of the users in a sub.<br /><i class="gray">Generates a sorted, hyperlinked list with all duplicates removed.</i></td></tr>
   
   <tr><th colspan="2">Messaging/Email Bookmarklets</th></tr>
    <tr><td><a href='javascript:var%20message%3Dwindow.getSelection().toString()%3Bvar%20someLocation%3Dwindow.location.href%2CmsgLength%3Dmessage.length%2ClocLength%3DsomeLocation.length%2CtotalMsg%3DlocLength%2BmsgLength%2ChowMany%3DtotalMsg%2F160%3BhowMany%3DparseFloat(howMany)%3BhowMany%3DMath.ceil(howMany)%3Bdocument.getElementsByTagName(%22body%22)%5B0%5D.setAttribute(%22onMouseUp%22%2C%22changeSel()%3B%22)%3B%0Afunction%20changeSel()%7Bmessage%3Dwindow.getSelection().toString()%3Bif(1%3Cmessage.length)%7Bdocument.getElementById(%22hiddenSelect%22).innerHTML%3Dmessage%3BhowMany%3Dmessage.length%2F160%3BhowMany%3DparseFloat(howMany)%3BhowMany%3DMath.ceil(howMany)%3BhowManyURL%3D(message.length%2BlocLength)%2F160%3BhowManyURL%3DparseFloat(howManyURL)%3BhowManyURL%3DMath.ceil(howManyURL)%3Bvar%20a%3Dmessage.length%2BlocLength%3Bdocument.getElementById(%22totsize%22).innerHTML%3D%22New%20message%20is%20%22%2Ba%2B%22%20chars.%20sent%20in%20%22%2BhowMany%2B%22SMS%20messages.%22%3B918%3Cmessage.length%26%26alert(%22Your%20message%20exceeds%20918%20characters!%5CnPlease%20shorten%20it.%22)%7D%7D%0Aif(document.getElementById(%22mymenu%22))document.getElementById(%22mymenu%22).remove()%3Belse%7Bvar%20showURL%3Dfunction()%7Bvar%20a%3Ddocument.getElementById(%22urlCheck%22)%2Cb%3Ddocument.getElementById(%22hider%22)%3B1%3D%3Da.checked%3F(b.style.display%3D%22block%22%2Cdocument.getElementById(%22totsize%22).innerHTML%3Dmessage.length%2BsomeLocation.length%2B%22%20chars.%20-%20Sent%20in%20%22%2BhowManyURL%2B%22%20SMS%20message(s)%22)%3A(b.style.display%3D%22none%22%2Cdocument.getElementById(%22totsize%22).innerHTML%3Dmessage.length%2B%22%20chars.%20-%20Sent%20in%20%22%2BhowMany%2B%22%20SMS%20message(s)%22)%7D%2CsendIt%3Dfunction()%7Bconsole.log(%22Here%22)%3B%0Avar%20a%3D%22%22%2Cb%3Dmessage%2Cd%3Ddocument%2Ce%3Dwindow%3Bb%3Ddocument.getElementById(%22hiddenSelect%22).innerHTML%3Bvar%20c%3Ddocument.getElementById(%22numero%22).value%3Bc%3Dc.split(%22-%22).join(%22%22)%3Bc%3Dc.split(%22%20%22).join(%22%22)%3Bc%3Dc.replace(%2F%5B()%5D%2Fg%2C%22%22)%3BtheLocation%3D1%3D%3DurlCheck.checked%3FencodeURIComponent(d.location)%3A%22%22%3Ba%3De.open(%22http%3A%2F%2Fmail.google.com%2Fmail%2Fs%3Fview%3Dcm%26fs%3D1%26tf%3D1%26to%3D%22%2Bc%2B%22%40%22%2BgetOperator()%2B%22%26su%3D%22%2BencodeURIComponent(d.title)%2B%22%26body%3D%22%2BencodeURIComponent(b)%2Bescape(%22%5Cn%5Cn%22)%2BtheLocation%2B%22%26zx%3DRANDOMCRAP%26shva%3D1%26disablechatbrowsercheck%3D1%26ui%3D1%22%2C%0A%22gmailForm%22%2C%22scrollbars%3Dyes%2Cwidth%3D680%2Cheight%3D575%2Ctop%3D175%2Cleft%3D75%2Cstatus%3Dno%2Cresizable%3Dyes%22)%3Bd.all%7C%7CsetTimeout(function()%7Ba.focus()%7D%2C50)%7D%2CgetOperator%3Dfunction()%7Bfor(var%20a%3D0%2Cb%3Dops.length%3Ba%3Cb%3Ba%2B%2B)if(ops%5Ba%5D.checked)return%20ops%5Ba%5D.value%7D%2CremMen%3Dfunction()%7Bdocument.getElementById(%22mymenu%22).remove()%7D%2Cops%3Ddocument.getElementsByName(%22operator%22)%2CbottomMsg%3D%22Your%20original%20message%20is%20%22%2BmsgLength%2B%22%20characters%20long%3B%20The%20URL%20is%20%22%2BlocLength%2B%22%20characters%20long.%3Cbr%20%2F%3ETotal%20Message%20Size%3A%20%22%3B918%3CtotalMsg%26%26alert(%22Your%20message%20exceeds%20918%20characters!%5CnPlease%20shorten%20it.%22)%3B%0Avar%20block_to_insert%3Ddocument.createElement(%22div%22)%3Bblock_to_insert.id%3D%22mymenu%22%3Bblock_to_insert.innerHTML%3D%22%3Cdiv%20style%3Dfloat%3Aright%3E%3Ca%20href%3D%23%20onClick%3DremMen()%20style%3Dcolor%3Ared%3Bsize%3A400%25%3Btext-decoration%3Anone%3B%20title%3DCancel%3E%26times%3B%3C%2Fa%3E%3Cbr%3E%3Ctextarea%20id%3DhiddenSelect%20style%3Ddisplay%3Anone%3B%20maxlength%3D918%3E%22%2Bmessage%2B%22%3C%2Ftextarea%3E%3C%2Fdiv%3E%3Cbr%3E%3Ctable%3E%3Ctr%3E%3Ctd%20width%3D25%25%20%3E%3Ch3%3E%26%23128241%3B%20Send%20Text%20to%20Mobile%20Phone.%20%26nbsp%3B%26nbsp%3B%3C%2Fh3%3E%3Cbr%20%2F%3E%3Cform%20id%3Dmessager%20name%3Dmessager%3E%3Cinput%20type%3Dtext%20size%3D37%20id%3Dnumero%20name%3Dnumero%20placeholder%3DEnter%26nbsp%3Bmobile%26nbsp%3Bnumber%26nbsp%3Bhere%20maxlength%3D14%20required%20%2F%3E%3Cbr%20%2F%3E%3Csup%20style%3Dcolor%3Agray%3Bsize%3A70%25%3E%3Ci%3EYour%20highlighted%20text%20will%20be%20sent%20via%20Gmail.%3C%2Fi%3E%3C%2Fsup%3E%3Cbr%2F%3E%3Clabel%3E%3Cinput%20type%3Dcheckbox%20checked%20id%3DurlCheck%20onClick%3DshowURL()%3E%20%3Cfont%20size%3D-2%3EInclude%20URL%3A%20%3Cspan%20id%3Dhider%20style%3Dcolor%3A%2300F%3E%22%2B%0AsomeLocation%2B%22%3C%2Fspan%3E%3C%2Ffont%3E%3Cbr%20%2F%3E%3C%2Ffont%3E%3C%2Flabel%3E%3Cbr%20%2F%3E%3Cinput%20type%3Dbutton%20name%3Dsend%20value%3Dsend%20onClick%3D%27sendIt()%27%2F%3E%3C%2Ftd%3E%3Ctd%20width%3D25%25%3E%3Cb%3EPlease%20choose%20an%20operator%3A%3C%2Fb%3E%3Cbr%20%2F%3E%3Clabel%3E%3Cinput%20type%3Dradio%20name%3Doperator%20value%3Dtxt.att.net%20required%3E%20AT%26T%3C%2Flabel%3E%3Cbr%20%2F%3E%3Clabel%3E%3Cinput%20type%3Dradio%20name%3Doperator%20value%3Dtmomail.net%3E%20T-Mobile%3C%2Flabel%3E%3Cbr%20%2F%3E%3Clabel%3E%3Cinput%20type%3Dradio%20name%3Doperator%20value%3Dmessaging.sprintpcs.com%3E%20Sprint%20PCS%3C%2Flabel%3E%3Cbr%20%2F%3E%3Clabel%3E%3Cinput%20type%3Dradio%20name%3Doperator%20value%3Dvtext.com%3E%20Verizon%3C%2Flabel%3E%3Cbr%20%2F%3E%3Clabel%3E%3Cinput%20type%3Dradio%20name%3Doperator%20value%3Dsms.cricketwireless.net%3E%20Cricket%3C%2Flabel%3E%3Cbr%20%2F%3E%3Clabel%3E%3Cinput%20type%3Dradio%20name%3Doperator%20value%3Demail.uscc.net%3E%20US%20Cellular%3C%2Flabel%3E%3Cbr%20%2F%3E%3Clabel%3E%3Cinput%20type%3Dradio%20name%3Doperator%20value%3Dvmobl.com%3E%20Virgin%20Mobile%3C%2Flabel%3E%3Cbr%20%2F%3E%3Clabel%3E%3Cinput%20type%3Dradio%20name%3Doperator%20value%3Dsmsmyboostmobile.com%3E%20Boost%3C%2Flabel%3E%3Cbr%20%2F%3E%3Cinput%20type%3Dhidden%20name%3Doperator%20value%3DYOU%20MUST%20CHOOSE%20AN%20OPERATOR!%20checked%3Dchecked%2F%3E%3C%2Ftd%3E%3C%2Ftr%3E%3C%2Fform%3E%3C%2Ftable%3E%3Cbr%3E%3Cfont%20size%3D-2%20color%3D%23FF0000%3E%3Ci%3E%22%2B%0AbottomMsg%2B%22%3C%2Fi%3E%3C%2Ffont%3E%3Cfont%20size%3D-2%20color%3D%23405d27%3E%3Cb%3E%3Cspan%20id%3Dtotsize%3E%22%2BtotalMsg%2B%22%20chars.%20-%20Sent%20in%20%22%2BhowMany%2B%22%20SMS%20message(s)%3C%2Fspan%3E%3C%2Fb%3C%2Ffont%3E%3Cdiv%20style%3Dfloat%3Aright%3E%3Ca%20href%3Dhttps%3A%2F%2Frealphonevalidation.com%2Fresources%2Fphone-carrier-lookup%2F%23gf_44%20target%3D_blank%20style%3Dcolor%3Ablue%3Bsize%3A400%25%3Btext-decoration%3Anone%3B%20title%3DLook%26nbsp%3Bup%26nbsp%3BCarrier%3ELookUp%20Carrier%20%26%239432%3B%3C%2Fa%3E%3C%2Fdiv%3E%22%3Bvar%20container_block%3Ddocument.getElementsByTagName(%22body%22)%5B0%5D%3Bcontainer_block.appendChild(block_to_insert)%3Bmymenu.setAttribute(%22style%22%2C%0A%22margin-left%3Aauto%3Bmargin-right%3Aauto%3Bwidth%3A50%25%3Bbackground-color%3A%23FFFF00%3Bborder-style%3Aoutset%3Bcolor%3Ablack%3Bfloat%3Aleft%3Bfont-family%3Aarial%2Csans%2Cverdana%3Bfont-size%3A1rem!important%3Bfont-size%3A100%25!important%3Bz-index%3A10000%3Bdisplay%3Ainline-block%3Bline-height%3A1!important%3Boverflow%3Avisible%3Bposition%3Afixed%3Btop%3A0%3Bpadding%3A2px%205px%3B%22)%7D%3B' class="button" title="Send selected text to a mobile phone via SMS from your Gmail">Gmail&rarr;SMS</a></td><td>Sends selected text via Gmail&rarr;SMS text message to any US mobile telephone<br /><i class="gray">Highlight some text, click. Opens Gmail and sends the text + Title + URL</i></td></tr>   
   <tr><td><a class="button" href="javascript:(function(){popw='';Q='';d=document;w=window;if(d.selection){Q=d.selection.createRange().text;}else if(w.getSelection){Q=w.getSelection();}else if(d.getSelection){Q=d.getSelection();}popw=w.open('http://mail.google.com/mail/s?view=cm&fs=1&tf=1&to=&su='+encodeURIComponent(d.title)+'&body='+encodeURIComponent(Q)+escape('%5Cn%5Cn')+encodeURIComponent(d.location)+'&zx=RANDOMCRAP&shva=1&disablechatbrowsercheck=1&ui=1','gmailForm','scrollbars=yes,width=680,height=575,top=175,left=75,status=no,resizable=yes');if(!d.all)setTimeout(function(){popw.focus();},50);})();" title="Gmail This">GmailThis</a></td><td>Select some text and then click this bookmarklet.<br /><i class="gray">Gmail will open, the contents of your clipboard along with the URL will be pasted inside</i></td></tr>  
 
   <tr><td><a class="button" a href="javascript:(function(){
popw='';Q='';
d=document;w=window;if(d.selection){
   Q=d.selection.createRange().text;
   }else if(w.getSelection){Q=w.getSelection();
   }else if(d.getSelection){Q=d.getSelection();
   }
var recip=window.prompt('Enter the T-Mobile Phone Number:', 'Enter the phone number here'); 
var recip=recip.split('-').join(''); var recip=recip.split(' ').join(''); var recip = recip.replace(/[()]/g,'');
   popw=w.open('http://mail.google.com/mail/s?view=cm&fs=1&tf=1&to='+ recip +'@tmomail.net&su='+encodeURIComponent(d.title)+'&body='+encodeURIComponent(Q)+escape('%5Cn%5Cn')+encodeURIComponent(d.location)+'&zx=RANDOMCRAP&shva=1&disablechatbrowsercheck=1&ui=1','gmailForm','scrollbars=yes,width=680,height=575,top=175,left=75,status=no,resizable=yes');
   if(!d.all)setTimeout(function(){popw.focus();
   },50);
     })();" title="T-Text: Send selection to T-Mobile cellphon">T-Text</a></td><td>Send your selection and the URL to any T-Mobile phone (Via Gmail).<br /><i class="gray">Select some text, then click. Enter the T-Mobile number and it sends an SMS.</i></td></tr>  

  <tr><td><a class="button" a href="javascript:(function(){
popw='';Q='';
d=document;w=window;if(d.selection){
   Q=d.selection.createRange().text;
   }else if(w.getSelection){Q=w.getSelection();
   }else if(d.getSelection){Q=d.getSelection();
   }
var recip=window.prompt('Enter the AT&T Mobile Phone Number:', 'Enter the phone number here'); 
var recip=recip.split('-').join(''); var recip=recip.split(' ').join(''); var recip = recip.replace(/[()]/g,'');
   popw=w.open('http://mail.google.com/mail/s?view=cm&fs=1&tf=1&to='+ recip +'@mms.att.net&su='+encodeURIComponent(d.title)+'&body='+encodeURIComponent(Q)+escape('%5Cn%5Cn')+encodeURIComponent(d.location)+'&zx=RANDOMCRAP&shva=1&disablechatbrowsercheck=1&ui=1','gmailForm','scrollbars=yes,width=680,height=575,top=175,left=75,status=no,resizable=yes');
   if(!d.all)setTimeout(function(){popw.focus();
   },50);
})();" title="AT&T-MMS: Send selection to T-Mobile cellphone">ATT-MMS</a></td><td>Send your selection and the URL to any AT&T mobile phone (Via Gmail).<br /><i class="gray">Select some text, then click. Enter the T-Mobile number and it sends an SMS.</i></td></tr>   
   <tr><td><a class="button" href="javascript:(function(){popw='';Q='';d=document;w=window;if(d.selection){   Q=d.selection.createRange().text;   }else if(w.getSelection){Q=w.getSelection();   }else if(d.getSelection){Q=d.getSelection();   }var recip=window.prompt('Enter the Verizon-Mobile Phone Number:', 'Enter the phone number here'); var recip=recip.split('-').join(''); var recip=recip.split(' ').join(''); var recip = recip.replace(/[()]/g,'');   popw=w.open('http://mail.google.com/mail/s?view=cm&fs=1&tf=1&to='+ recip +'@vtext.com&su='+encodeURIComponent(d.title)+'&body='+encodeURIComponent(Q)+escape('%5Cn%5Cn')+encodeURIComponent(d.location)+'&zx=RANDOMCRAP&shva=1&disablechatbrowsercheck=1&ui=1','gmailForm','scrollbars=yes,width=680,height=575,top=175,left=75,status=no,resizable=yes');   if(!d.all)setTimeout(function(){popw.focus();   },50);     })();
" title="Send your selected text & URL to a Verizon phone">Text2Verizon</td><td>Send a text message from your computer to a Verizon phone.<br /><i class="gray">Send your selected text & the URL where you found it to a Verizon phone. (Via Gmail)</td></tr>
   
   <tr><td><a class="button" href="javascript:(function(){popw='';Q='';d=document;w=window;if(d.selection){   Q=d.selection.createRange().text;   }else if(w.getSelection){Q=w.getSelection();   }else if(d.getSelection){Q=d.getSelection();   }var recip=window.prompt('Enter the Sprint-Mobile Phone Number:', 'Enter the phone number here'); var recip=recip.split('-').join(''); var recip=recip.split(' ').join(''); var recip = recip.replace(/[()]/g,'');   popw=w.open('http://mail.google.com/mail/s?view=cm&fs=1&tf=1&to='+ recip +'@messaging.sprintpcs.com&su='+encodeURIComponent(d.title)+'&body='+encodeURIComponent(Q)+escape('%5Cn%5Cn')+encodeURIComponent(d.location)+'&zx=RANDOMCRAP&shva=1&disablechatbrowsercheck=1&ui=1','gmailForm','scrollbars=yes,width=680,height=575,top=175,left=75,status=no,resizable=yes');   if(!d.all)setTimeout(function(){popw.focus();   },50);     })();

" title="Send your selected text & URL to a Sprint phone">Text2Sprint</td><td>Send a text message from your computer to a Sprint phone.<br /><i class="gray">Send your selected text & the URL where you found it to a Sprint PCS phone. (Via Gmail)</td></tr>
   
   <tr><td><a href="javascript:(function(){
popw='';Q='';
d=document;w=window;if(d.selection){
   Q=d.selection.createRange().text;
   }else if(w.getSelection){
Q=w.getSelection();
   }else if(d.getSelection){
Q=d.getSelection();
   }
var recip=window.prompt('Enter the AT&T Mobile Phone Number:', 'Enter the phone number here'); 
var recip=recip.split('-').join(''); var recip=recip.split(' ').join(''); var recip = recip.replace(/[()]/g,'');
   window.open('mailto:'+recip+'@mms.att.net'+'?subject='+encodeURIComponent(d.title)+'&body='+encodeURIComponent(Q)+escape('%5Cn%5Cn')+encodeURIComponent(d.location));
  if(!d.all)setTimeout(function(){popw.focus();},50);
})();
     " title="Send MMS to AT&T Phone via your email client" class="button">MMS2ATT</a></td><td>Send an MMS to an AT&T phone via your email client (Not with Gmail)</td></tr>
   
   <tr><td><a class="button" href="
javascript:(function(){ popw='';Q=''; d=document;w=window;if(d.selection){ Q=d.selection.createRange().text; }else if(w.getSelection){ Q=w.getSelection(); }else if(d.getSelection){ Q=d.getSelection(); } var recip=window.prompt('Enter the T-Mobile Phone Number:', 'Enter the phone number here'); var recip=recip.split('-').join(''); var recip=recip.split(' ').join(''); var recip = recip.replace(/[()]/g,''); window.open('mailto:'+recip+'@tmomail.net'+'?subject='+encodeURIComponent(d.title)+'&body='+encodeURIComponent(Q)+escape('%5Cn%5Cn')+encodeURIComponent(d.location)); })();" title="Send SMS to T-Mobile phone">2TM</td><td>Send your selected text & URL to a T-Mobile phone (via mail client - not Gmail)<br /><i class="gray">Select some text on a page (128 characters) and text it!</i></td></tr>   
   
<tr><th colspan="2">Domain/Server Bookmarklets</th></tr>
           <tr><td><a class="button" href='javascript:(function()%7Bwindow.open("http%3A%2F%2Fwho.is%2Fwhois%2F" %2B document.domain)%7D)()'>Who.is</a>
              </td><td>Do a quick "WhoIs" search for domain owners. <br /><i class="gray">Want to find out who owns a domain? Click on this!</i></td></tr>
<tr><td><a class="button" href='javascript:(function()%7Bwindow.open("https%3A%2F%2Fwww.godaddy.com%2Fwhois%2Fresults.aspx%3Fisc%3Dcjcwebsite%26checkAvail%3D1%26tmskey%3D%26domain%3D" %2B document.domain)%7D)()'>Who.is</a>
              </td><td>Do a "WhoIs" search for domain owners via GoDaddy. <br /><i class="gray">Want to find out who owns a domain? Godaddy will help.</i></td></tr>              
              <tr><td><a class="button" href='javascript:(function()%7Bwindow.open(  "https%3A%2F%2Fwww.whatsmydns.net%2F%23A%2F" %2B document.domain)%7D)()' add_date="1461250448">DNSpropagation</a>
                </td><td>Instantly perform a DNS lookup to check a domain names current IP address and DNS <br />record information against multiple name servers located in different parts of the world.</td></tr><tr><td><a class="button" href="javascript:(function(y,p,o){p=y.body.appendChild(y.createElement('iframe'));p.id='YSLOW-bookmarklet';p.style.cssText='display:none';o=p.contentWindow.document;o.open().write('<head><body onload=&quot;YUI_config={win:window.parent,doc:window.parent.document};var d=document;d.getElementsByTagName(\'head\')[0].appendChild(d.createElement(\'script\')).src=\'http://yslow.org/yslow-bookmarklet.js\'&quot;>');o.close()}(document))">YSlow</a>
                </td><td>Why is this page slow?</td></tr><tr><td><a class="button" href="javascript:(function(){%20window.open('https://developers.google.com/speed/pagespeed/insights/?url='+encodeURIComponent(location.href))})();" add_date="1461250448">Page Speed Insights</a>
                </td><td>Benchmark the page you are on for its loading speed.<br /><i class="gray">Speed check for webpages!</i></td></tr>
              <tr><td><a class="button" href="javascript: window.open('https://gtmetrix.com/?url=' + document.domain)" add_date="1461250448">GTmetrix</a>
                </td><td>Get a wide variety of performance metrics for any webpage.<br /><i class="gray">Not just speed, but all sorts of technical parameters at a single click!</i></td></tr>
             
             
              <tr><td><a class="button" href='javascript:(function(){window.open(  "http://pagexray.com/scan/?page="+ location.hostname + location.pathname )})()' add_date="1461250448">PageXray</a>
                </td><td>Quickly learn about technologies used on a website.<br /><i class="gray">Similar to BuiltWith and Wappalyzer - see below...</i></td></tr>
             <tr><td><a class="button" href='javascript:(function(){window.open(  "http://builtwith.com?"+ location.hostname + location.pathname )})()'>BuiltWith</a>
                </td><td>Clicking this will tell you exactly what a website was built with. <br /><i class="gray">Learn the full technology stack and component list.</i></td></tr>
              
              <tr><td><a class="button" href="javascript:%20(function()%20%7B%20var%20d%20%3D%20document,%20e%20%3D%20d.getElementById(%27wappalyzer-container%27)%20%3B%20if%20(%20e%20!%3D%3D%20null%20)%20%7B%20d.body.removeChild(e)%3B%20%7D%20var%20u%20%3D%20%27https://wappalyzer.com/bookmarklet/%27,%20t%20%3D%20new%20Date().getTime(),%20c%20%3D%20d.createElement(%27div%27),%20p%20%3D%20d.createElement(%27div%27),%20l%20%3D%20d.createElement(%27link%27),%20s%20%3D%20d.createElement(%27script%27)%20%3B%20c.setAttribute(%27id%27,%20%27wappalyzer-container%27)%3B%20l.setAttribute(%27rel%27,%20%27stylesheet%27)%3B%20l.setAttribute(%27href%27,%20u%20%2B%20%27css/wappalyzer.css%27)%3B%20d.head.appendChild(l)%3B%20p.setAttribute(%27id%27,%20%27wappalyzer-pending%27)%3B%20p.setAttribute(%27style%27,%20%27background-image:%20url(%27%20%2B%20u%20%2B%20%27images/pending.gif)%20!important%27)%3B%20c.appendChild(p)%3B%20s.setAttribute(%27src%27,%20u%20%2B%20%27js/wappalyzer.js%3F%27%20%2B%20t)%3B%20s.onload%20%3D%20function()%20%7B%20s%20%3D%20d.createElement(%27script%27)%3B%20s.setAttribute(%27src%27,%20u%20%2B%20%27js/apps.js%3F%27%20%2B%20t)%3B%20s.onload%20%3D%20function()%20%7B%20s%20%3D%20d.createElement(%27script%27)%3B%20s.setAttribute(%27src%27,%20u%20%2B%20%27js/driver.js%3F%27%20%2B%20t)%3B%20c.appendChild(s)%3B%20%7D%3B%20c.appendChild(s)%3B%20%7D%3B%20c.appendChild(s)%3B%20d.body.appendChild(c)%3B%20%7D)()%3B" add_date="1461250448">Wappalyzer</a>
                </td><td>Like BuiltWith above, Wappalyzer will tell you exactly what a website was built with. <br /><i class="gray">Learn the full technology stack and component list.</i></td></tr>
   
<tr><td><a class="button" href="javascript: window.open('http://app.webinspector.com/check?url=' + document.domain)" add_date="1461250448">WebinspectorScan</a>
                </td><td>Scans the page you are on for a number of threats, risks as well as technology.</td></tr><tr><td><a class="button" href="javascript:location.href='http://www.webutations.org/'+'go/review/'+document.domain.replace('www.','')+'?req=bkmlet';" add_date="1461250448">Webutation Check</a>
                </td><td>Check the web reputation of the site you are currently visiting with this tool.<br /><i class="gray">Shows a number of parameters as well as a ranking.</i></td></tr><tr><td><a class="button" href="javascript:void(location.href='http://www.isitdownrightnow.com/downorjustme.php?url='+encodeURI(window.location.host));" add_date="1461250448">DownRightNow?</a>
   </td><td>Is the site down right now? What's up?<br /><i class="gray">Also shows a history of the site's outages and their frequency!</i></td></tr>

<tr><td><a class="button" href='javascript:(function()%7Bwindow.open(  "http%3A%2F%2Fweb.archive.org%2Fweb%2F*%2F" %2B document.domain)%7D)()' add_date="1461250448">WaybackMachine</a>
            </td><td>The Wayback Machine is the famous, Internet Archive!<br /><i class="gray">See older snapshots of the page you are on - sometimes find removed files!</i></td></tr>

<tr><th colspan="2">Google/SEO Bookmarklets</th></tr>
 
   
   <tr><td><a class="button" href="javascript: (function(){           if (window.ouiseo === undefined) {            var jsCode = document.createElement('script');            jsCode.setAttribute('src', '//carlsednaoui.s3.amazonaws.com/ouiseo/ouiseo.min.js');            document.body.appendChild(jsCode);          } else if (!!window.ouiseo &amp;&amp; !document.getElementById('ouiseo')) {             ouiseo();           } else {            console.log('ouiseo is already open');          }        })();" add_date="1461250448">SeeMetaInfo</a>
                </td><td>Instantly shows meta information about the current site in an on-page iFrame.</td></tr><tr><td><a class="button" href='javascript:(function(){window.open(  "https://website.grader.com/#/results/"+ location.hostname )})()' add_date="1461250448">Site-Analyzer</a>
                </td><td>Site analysis tool.</td></tr>
<tr><td><a class="button" href='javascript:(function(){window.open(  "http://socialdebug.com/results?url="+ location.hostname + location.pathname )})()' add_date="1461250448">SocialMetaTagTester</a>
                </td><td>Test the OG: meta tags. <br /><i class="gray">OG (Open Graph) meta tags made meta tags great again (thank you Facebook!)</i></td></tr>
<tr><td><a class="button" href="javascript:q = &quot;&quot; + (window.getSelection ? window.getSelection() : document.getSelection ? document.getSelection() : document.selection.createRange().text); if (!q) q = prompt(&quot;You didn't select any text.  Enter a search phrase:&quot;, &quot;&quot;); if (q!=null) location=(&quot;https://www.google.com/search?num=100&amp;q=site:&quot; + escape(location.hostname) + &quot; \&quot;&quot; + escape(q.replace(/\&quot;/g,&quot;&quot;)) + &quot;\&quot;&quot;).replace(/ /g, &quot;+&quot;); void 0" add_date="1461250448">GoogleSiteSearch</a>
                </td><td>Search the current site via Google.<br /><i class="gray">Google's search is often better than the local site search!</i></td></tr>

<tr><td><a class="button" href="javascript: window.open('https://www.google.com/search?q=link%3A ' + document.domain)" add_date="1461250448">ShowLinkedSites</a>
</td><td>Who links here?</td></tr>

<tr><td><a class="button" href="javascript:(function(){ window.open('http://www.majesticseo.com/reports/site-explorer?folder=&amp;q='+location.host)})();" add_date="1461250448">ViewBacklinks</a>
</td><td>Check out the backlinks for the current page.</td></tr>

              <tr><td><a class="button" href="javascript:var%20a='';for(var%20ln=0;ln%3Cdocument.links.length;ln++){var%20lk=document.links[ln];a+=ln+':%20%3Ca%20href=\''+lk+'\'%20title=\''+lk.text+'\'%3E'+lk+'%3C/a%3E%3Cbr%3E\n';}w=window.open('','Links','scrollbars,resizable,width=400,height=600');w.document.write(a);">Show Links</a></td><td>Display all outbound links on the page.<br /><i class="gray">A popup will display all the links in HTML</i></td></tr>              

   <tr><td><a class="button" href="javascript:var%20StrObj%3D%20document.body.innerHTML%3B%20var%20haystack%20%3DStrObj.toString()%3B%20var%20regex%20%3D%20%2F(%3F%3A%5Ba-z0-9!%23%24%25%26%27*%2B%2F%3D%3F%5E_%60%7B%7C%7D~-%5D%2B(%3F%3A%5C.%5Ba-z0-9!%23%24%25%26%27*%2B%2F%3D%3F%5E_%60%7B%7C%7D~-%5D%2B)*%7C%22(%3F%3A%5B%5Cx01-%5Cx08%5Cx0b%5Cx0c%5Cx0e-%5Cx1f%5Cx21%5Cx23-%5Cx5b%5Cx5d-%5Cx7f%5D%7C%5C%5C%5B%5Cx01-%5Cx09%5Cx0b%5Cx0c%5Cx0e-%5Cx7f%5D)*%22)%40(%3F%3A(%3F%3A%5Ba-z0-9%5D(%3F%3A%5Ba-z0-9-%5D*%5Ba-z0-9%5D)%3F%5C.)%2B%5Ba-z0-9%5D(%3F%3A%5Ba-z0-9-%5D*%5Ba-z0-9%5D)%3F%7C%5C%5B(%3F%3A(%3F%3A25%5B0-5%5D%7C2%5B0-4%5D%5B0-9%5D%7C%5B01%5D%3F%5B0-9%5D%5B0-9%5D%3F)%5C.)%7B3%7D(%3F%3A25%5B0-5%5D%7C2%5B0-4%5D%5B0-9%5D%7C%5B01%5D%3F%5B0-9%5D%5B0-9%5D%3F%7C%5Ba-z0-9-%5D*%5Ba-z0-9%5D%3A(%3F%3A%5B%5Cx01-%5Cx08%5Cx0b%5Cx0c%5Cx0e-%5Cx1f%5Cx21-%5Cx5a%5Cx53-%5Cx7f%5D%7C%5C%5C%5B%5Cx01-%5Cx09%5Cx0b%5Cx0c%5Cx0e-%5Cx7f%5D)%2B)%5C%5D)%2Fg%3B%20var%20found%20%3D%20haystack.match(regex)%3B%20if(found%20!%3D%3D%20null%20%26%26%20found%20!%3D%3D%27%27)%20%7B%20mailz%3D(found.join(%27%5Cr%5Cn%3Cbr%3E%27))%3B%20w%3Dwindow.open(%27%27%2C%27mailz%27%2C%27scrollbars%2Cresizable%2Cwidth%3D400%2Cheight%3D600%27)%3B%20w.document.write(mailz)%3B%20%7Delse%7B%20alert(%27No%20emails%20found%20on%20page%27)%3B%20%7D" title="Show all emails">ExtractEmails</a></td><td>Extracts all emails on the current page.<br /><i class="gray">Extracts all emails and displays them in a popup iFrame (enable popups!)</td></tr>
   
<tr><td><a class="button" href="javascript:
var titletag=document.getElementsByTagName('title')[0].innerText; 
var tytul=document.getElementsByClassName('title'); 
var ft=document.getElementsByClassName('barrier__heading-serif');
if (tytul.length <= 0) {
tytul = 'Title Class does not exist!';
} else {
tytul=document.getElementsByClassName('title')[0].innerText; 
}
if (titletag.length <= 0) {
titletag = 'There is no <title> tag on this page!';
} else {
titletag=document.getElementsByTagName('title')[0].innerText; 
}
if (ft.length <=0) {
ft ='';
} else {
ft = '\nFT Title: ' + document.getElementsByClassName('barrier__heading-serif')[0].innerHTML; 
}
alert('<TITLE> ' + titletag + '</TITLE>\nTitle class: ' + tytul + ft);" title="Show Title Tag(s)">ShowTitle</a></td><td>Shows the pages &lt;TITLE&gt; tag(s) in an alert.<br /><i class="gray">Also checks if there is a title class and displays it.</i></td></tr>
<tr><td><a class="button" href='javascript:if(window.getSelection()==""){alert("Highlight a company name then click this bookmarlet")}else{window.open("https://www.yext.com/partner/MobiSquad/listing-report.html?country=US&amp;name="+window.getSelection());};' add_date="1461250448">FindBizListingsbyName</a>
</td><td>Highlight a business name you find on the web,<br />Click this and see the business listing!</td></tr>

<tr><td><a class="button" href='javascript:if(window.getSelection()==""){alert("Highlight a company phone # then click this bookmarlet")}else{window.open("https://www.yext.com/partner/MobiSquad/listing-report.html?country=US&amp;name=&amp;address=&amp;city=&amp;state=&amp;zip=&amp;phone="+window.getSelection());};' add_date="1461250448">FindBizListingsby#</a>
</td><td>Highlight a phone number you find on the web,<br />Click this and see the business listing!</td></tr>

<tr><td><a class="button" href='javascript:(function(){window.open(  "http://iwebchk.com/reports/view/"+ location.hostname + location.pathname )})()' add_date="1461250448">iwebchk.com</a>
            </td><td>Website SEO analysis & review tools

</td></tr>

<tr><th colspan="2">Font/Image Bookmarklets</th></tr>
            
<tr><td><a class="button" href="javascript:void(function() { if (typeof(fsi_webfonter) === 'undefined') { console.log('load webfonter'); var gaTrack = function (g,h,i){function c(e,j){return e+Math.floor(Math.random()*(j-e))}var f=1000000000,k=c(f,9999999999),a=c(10000000,99999999),l=c(f,2147483647),b=(new Date()).getTime(),d=window.location,m=new Image(),n='https://www.google-analytics.com/__utm.gif?utmwv=1.3&amp;utmn='+k+'&amp;utmsr=-&amp;utmsc=-&amp;utmul=-&amp;utmje=0&amp;utmfl=-&amp;utmdt=-&amp;utmhn='+h+'&amp;utmr='+d+'&amp;utmp='+i+'&amp;utmac='+g+'&amp;utmcc=__utma%3D'+a+'.'+l+'.'+b+'.'+b+'.'+b+'.2%3B%2B__utmb%3D'+a+'%3B%2B__utmc%3D'+a+'%3B%2B__utmz%3D'+a+'.'+b+'.2.2.utmccn%3D(referral)%7Cutmcsr%3D'+d.host+'%7Cutmcct%3D'+d.pathname+'%7Cutmcmd%3Dreferral%3B%2B__utmv%3D'+a+'.-%3B';m.src=n}; var url = '/bookmarklet?url=' + location.host + location.pathname; gaTrack('UA-45420013-1', 'webfonter.fontshop.com', url); var base = '//webfonter.fontshop.com/'; var r = function(u) { return u + '?r='+(Math.round(new Date().getTime()/600000)); }; var sc = function(p, a) { var e = document.createElement('script'); e.setAttribute('type','text/javascript'); e.setAttribute('charset','UTF-8'); e.setAttribute('src', r(base + p)); if (a) { for (var k in a) { e.setAttribute(k, a[k]); } } document.body.appendChild(e); }; var head = document.getElementsByTagName('head')[0]; if (!head) { head = document.getElementsByTagName('html')[0]; } var ss = function(c) { e = document.createElement('link'); e.setAttribute('type','text/css'); e.setAttribute('rel', 'stylesheet'); e.setAttribute('href',r(base + c)); head.appendChild(e); }; window.require = { baseUrl:base+'js', urlArgs: 'bust=' + (new Date()).getTime(), config: { text: { useXhr:function(url,protocol,hostname,port) { return true; } } } }; window.fsi_webfonter_config = { isDev: true, api: { baseUrl: '//d3otl0lvq84taj.cloudfront.net'+'/webfonter/api/' }, wfs: { ssl: false } }; sc('js/webfonter.js'); ss('css/bookmarklet.css'); ss('css/fsi-swapper.css'); fsi_webfonter = true; } else { if (typeof($) !== 'undefined') { $('#fsi-webfonter').trigger('reopen'); }; } }());" add_date="1461250448">WebFonter</a>
                </td><td>Cool tool lets you tweak the fonts you use right on a live page!<br /><i class="gray">Experiment with sizes, font-faces and more while live!</i></td></tr>

<tr><td><a class="button" href="javascript:(function(){var d=document,s=d.createElement('scr'+'ipt'),b=d.body,l=d.location;s.setAttribute('src','http://chengyinliu.com/wf.js?o='+encodeURIComponent(l.href)+'&amp;t='+(new Date().getTime()));b.appendChild(s)})();" add_date="1461250448">WhatFont?</a>
  </td><td>Identifies the font on a page.<br /><i class="gray">Just highlight some text and it will tell you the name of the font!</i></td></tr>

<tr><td><a class="button" href="javascript:(function(d){var s=d.createElement('script'),h=d.head||d.getElementsByTagName('head')[0];s.src=('https:' == document.location.protocol ? 'https://rawgithub.com/ryanseddon/font-dragr/master/bookmarklet/fd-script.js' : 'http://fontdragr.com/bookmarklet/fd-script.js');h.appendChild(s);})(document);" add_date="1461250448">TestYOURFontsOnline</a>
                </td><td></td></tr><tr><td><a class="button" href="javascript:(function()%7Bwindow.open(%20%20%22https%3A%2F%2Fwww.url2png.com%2F%3Furl%3D%22%20%2B%20document.domain)%7D)()" add_date="1461250448">QuickSquareScreenshot</a>
                </td><td></td></tr>

<tr><td><a class="button" href="javascript:(function(){ var i,t,D=document; for(i=0;t=D.getElementsByTagName('textarea')[i];++i)t.value=t.value.toLowerCase();/*(in ie, text-transform only applies to first line of textarea)*/ var newSS,styles='*{text-transform:lowercase}input,textarea{text-transform:none}';if(D.createStyleSheet){D.createStyleSheet(&quot;javascript:'&quot;+styles+&quot;'&quot;);}else{newSS=D.createElement('link'); newSS.rel='stylesheet';newSS.href='data:text/css,'+escape(styles);D.getElementsByTagName(&quot;head&quot;)[0].appendChild(newSS);}})()" add_date="1461250448">Make Selection Lowercase</a>
                </td><td>Select some text, click this to make it lower case.</td></tr>

<tr><td><a class="button" href='javascript:var iGrabSH%3D%27%27%3B(function()%7Bvar L%3D%5B%5D,i%3D0,j,e,D%3Ddocument,u,B%3DD.body,x%3DB.getElementsByTagName(%27*%27),t,f%3D%27banner%7Cseomonitor%7Cpagerank%7Ccounter%7Csitemeter%7Calexa.com%7Clogo%7Cbayumukti%7Ciklan/%7Cmultibet%7Ctipsbola%7Creferral%27.split(%27%7C%27),F%3Dfunction(a)%7Bfor(j%3D0%3Bj<f.length%3B)if(a.indexOf(f%5Bj%2B%2B%5D)>-1)return%3Breturn !0%7D%3Bfor(%3Bi<x.length%3B)%7Bt%3D(e%3Dx%5Bi%2B%2B%5D).tagName.toLowerCase()%3Bif(t%3D%3D%27img%27%26%26e.src%26%26(u%3De.src)%26%26F(u.toLowerCase())%26%26L.indexOf(u)<0%26%26e.naturalWidth>200)L.push(u)%7DiGrabSH%3DB.innerHTML%3BB.innerHTML%3D(L.length%3F%27<tr><th colspan="2">Found %27%2BL.length%2B%27 Image(s):</th></tr><div style%3D"width:100%25%3Bmin-height:80%25%3Bbackground:white%3Bmargin:0%3Bpadding:20px%3Bborder:0%3Boutline:0"><img src%3D"%27%2BL.join(%27"><img src%3D"%27)%2B%27" style%3D"margin:5px"></div>%27:%27<h1>No Image found</h1>%27)%2B%27<div style%3D"position:fixed%3Btop:5px%3Bright:5px%3Bwidth:20px%3Bheight:20px%3Bfont-size:16px%3Bfont-weight:bold%3Bz-index:9999%3Bpadding:2px%3Bmargin:0%3Bopacity:0.8%3Bborder-radius:6px%3Bbackground:%23f55%3Bcursor:pointer%3Bcolor:white%3Btext-align:center%3Bbox-shadow:2px 2px 4px rgba(0,0,0,0.5)" onclick%3D"document.body.innerHTML%3DiGrabSH">X</div>%27%7D)()%3B' add_date="1461250448">ShowTheImages</a>
  </td><td>Shows just the page's images.<br /><i class="gray">Will even show hidden images as well as pulling them out of a slider/rotator.</i></td></tr>

<tr><td><a class="button" href="javascript: if(window.location.href.indexOf('jpg') > -1 || window.location.href.indexOf('png') > -1 || window.location.href.indexOf('jpeg') > -1 || window.location.href.indexOf('gif') > -1 )  {window.open('http://metapicz.com/#landing?imgsrc=' + document.location);}else {alert('You need to directly open the image in its own URL. (.jpg, .jpeg, .gif or .png) ')}" add_date="1461250448">Get Image Data(Exif)</a>
  </td><td>Retrieves the EXIF & XMP data from pictures.<br /><i class="gray">Get data such as location, type of camera - all exif or XMP meta data from an image.</i></td></tr><tr><td><a class="button" href='javascript:window.open("https://www.google.com/search?q=site:" + document.location + "&amp;qscrl=1&amp;source=lnms&amp;tbm=isch")' add_date="1461250448">ShowImagesOnPage</a>
            </td><td>Shows all images that appear on the page you are visiting.<br /><i class="gray">Removes everything but the images!</i></td></tr>
   <tr><td><a href="javascript:  if(document.getElementById('mymenu')) { 
document.getElementById('mymenu').remove(); 
}else{ 
function hideMenu() { document.getElementById('mymenu').remove(); } var url=location.href; var ext = url.split('.').pop(); if(ext.includes('jpg' || 'png' || 'gif' || 'jpeg') !==true) { alert('Selected URL does not have an image extension (PNG|JPG|JPGE|GIF).\nOpen the image you want to search in its own window.\Attempting anyway...'); } var block_to_insert ; var container_block ; var goog = '<a target=_blank href=https://www.google.com/searchbyimage?&image_url=' + window.location.href + '> Google Reverse Image Search</a>'; var bing = '<a target=_blank href=http://www.bing.com/images/searchbyimage?cbir=sbi&imgurl=' + window.location.href + '> Bing Reverse Image Search</a>'; var exif = '<a target=_blank href=http://metapicz.com/#landing?imgsrc=' + window.location.href + '>EXIF Data Extraction &nbsp; &#9312; </a>'; 
var jeff ='<a target=_blank href=http://exif.regex.info/exif.cgi?url=' + window.location.href + '>&#9314;</a>'; 
var tineye = '<a target=_blank href=http://tineye.com/search?pluginver=bookmark_1.0&url=' + window.location.href + '> Tineye Reverse Image Search</a>'; 
var karma= '<a target=_blank href=http://karmadecay.com/' + window.location.href + '> KarmaDecay Reddit Image Search</a>'; 
function information(){alert('This tool is designed to work on a single image.\nONE IMAGE PER PAGE!\nOpen just one image at a time in a new tab.')};
var info = '<a href=# onclick=information() style=text-decoration:none title=One&nbsp;image&nbsp;at&nbsp;a&nbsp;time&nbsp;please!>&#9432;</a>';
var I = document.getElementsByTagName('IMG')[0];
var sizer='Image size is: ' + I.naturalWidth+ 'px wide x ' +I.naturalHeight + 'px high\nFileType: ' + fileType + '\nSource: ' + I.src;
var res = url.split('?');
var extArray = ext.split('?');
var fileType = (extArray[0]);
var exifDataQuery=(res[0]);
var exifDataCom='<form id=duh name=duh action=http://exifdata.com/exif.php method=post target=_blank style=display:inline>
<input style=display:inline type=hidden value=' + exifDataQuery + ' name=picurl>
<a href=# onclick=document.getElementById(\'duh\').submit();>&#9313;</a></form>';
block_to_insert = document.createElement('div'); block_to_insert.id = 'mymenu'; block_to_insert.innerHTML = '<a href=# style=text-decoration:none;color:red title=Close onClick=hideMenu()> &nbsp; &times; </a>&nbsp;&nbsp;&nbsp; Image Operations:<br /><center><table><tr><td><img src=http://google.com/favicon.ico height=20></td><td> 1.) </td><td>'+ goog+ '</td><td>&nbsp;</td></tr><tr><td><img src=http://bing.com/favicon.ico height=20></td><td> 2.) </td><td>' + bing + '</td><td>&nbsp;</td></tr><tr><td><img src=https://tineye.com/favicon.ico height=20 /></td><td> 3.) </td><td>' + tineye + '</td><td>&nbsp;</td></tr><tr><td><img src=http://karmadecay.com/favicon.ico height=20 /></td><td> 4.) </td><td>' + karma + '</td><td>&nbsp;</td></tr><tr><td><img src=https://is1-ssl.mzstatic.com/image/thumb/Purple122/v4/03/8e/e5/038ee5ec-979e-ddf1-92d1-5e77a3931ad1/AppIcon.png/1200x630bb.png height=20></td><td> 5.) </td><td>' + exif + ' &nbsp ' + exifDataCom + ' &nbsp; ' + jeff +'</td><td>&nbsp;</td></tr><tr><td> &udarr;</td><td> 6.) </td><td><a href=# onclick=alert(sizer)>Size of Image</a></td><td> &nbsp;&nbsp;' + info + '</td></tr></table>'; container_block = document.getElementsByTagName('body')[0]; container_block.appendChild(block_to_insert); mymenu.setAttribute('style', 'margin-left:auto; margin-right:auto; height:170px; width:25%; background-color:#FFFF00; border-radius:25px; border:2px solid #ff0000; color:black; float:left; font-family:arial,sans,verdana; font-size:20px; z-index:10000; display: inline-block;line-height:unset!important; line-height:1!important; overflow:visible; box-shadow: 1px 1px #000; position:fixed; top: 0; padding:2px 5px;');mymenu.setAttribute('tabindex', '0');mymenu.setAttribute('onBlur', 'hideMenu()');
};" title="Image Tool Combo" class="button">ImageCombo</a></td><td>Image Combo Tool<br /><i class="gray">One tool will reverse image search in Bing, Tineye or Google as well as extract EXIF data</i></td></tr>   
   
<tr><th colspan="2">HTML/CSS/JS Bookmarklets</th></tr>
           
                            <tr><td><a class="button" href="javascript:window.open('http://validator.w3.org/check?uri='+encodeURIComponent(window.location));void 0" add_date="1461250448">W3C HTML Validator</a>
                </td><td>Check the page to see if the HTML is valid. <br /><i class="gray">Uncover errors and warnings.</i></td></tr>
              <tr><td><a class="button" href="javascript:(function() {var _p='//squizlabs.github.io/HTML_CodeSniffer/build/';var _i=function(s,cb) {var sc=document.createElement('script');sc.onload = function() {sc.onload = null;sc.onreadystatechange = null;cb.call(this);};sc.onreadystatechange = function(){if(/^(complete|loaded)$/.test(this.readyState) === true){sc.onreadystatechange = null;sc.onload();}};sc.src=s;if (document.head) {document.head.appendChild(sc);} else {document.getElementsByTagName('head')[0].appendChild(sc);}}; var options={path:_p};_i(_p+'HTMLCS.js',function(){HTMLCSAuditor.run('WCAG2AA',null,options);});})();" add_date="1461250448">HTML_CodeSniffer</a>
                </td><td>Just highlight something on the page you are on and click this bookmarklet.<br /><i class="gray">It will display the full HTML for what you've highlighted!</i></td></tr>
              
              
              <tr><td><a class="button" href='javascript:void function(){(function(){function i(i){document.body.style.filter=i,document.body.style.webkitFilter=i}window.isGrayscale%3F(i("none"),window.isGrayscale=!1):(i("grayscale(1)"),window.isGrayscale=!0)})()}();' title="Grayscale">Grayscale</a></td><td>Converts the entire page to grayscale.<br /><i class="gray">Toggles the page color on and off.</i></td></tr>              
              <tr><td><a class="button" href='javascript:void((function(){var a,b;a=b=0;(function(c){var d,e,f,g;for(d=0;d<c.length;d++){try{arguments.callee(c.frames[d]);}catch(h){}}e=c.document.forms;for(f=0;f<e.length;f++){g=e[f];if(g.method.toLowerCase()=="post"){g.method="GET";a++;}b++;}})(top);alert(a+" of "+b+" forms changed from POST to GET");})())' add_date="1461250448">ChangeForm2Get</a>
                </td><td>Changes the method from post to Get for all of the forms on the page.<br /><i class="gray">You can then see what is being sent to the remote server.</i></td></tr><tr><td><a class="button" href='javascript:(function(){function callback(){(function($){var jQuery=$;/**code**/droptxt = $("option").text();$("select").contents().unwrap();$("option").contents().unwrap().wrap("<span style=clear:both;display:block; >");/**end-code**/})(jQuery.noConflict(true))}var s=document.createElement("script");s.src="//cdn.jsdelivr.net/jquery/1.10.2/jquery-1.10.2.min.js";if(s.addEventListener){s.addEventListener("load",callback,false)}else if(s.readyState){s.onreadystatechange=callback}document.body.appendChild(s);})()' add_date="1461250448">DropDown2Textlist</a>
                </td><td>Converts drop down lists on the page to pure text lists.<br /><i class="gray">Reveals all of the contents of a dropdown to see it all at a glance.</i></td></tr>
<tr><td><a class="button" href='javascript:(function(){var i,f,j,e,div,label,ne; for(i=0;f=document.forms[i];++i)for(j=0;e=f[j];++j)if(e.type=="hidden"){ D=document; function C(t){return D.createElement(t);} function A(a,b){a.appendChild(b);} div=C("div"); label=C("label"); A(div, label); A(label, D.createTextNode(e.name + ": ")); e.parentNode.insertBefore(div, e); e.parentNode.removeChild(e); ne=C("input");/*for ie*/ ne.type="text"; ne.value=e.value; A(label, ne); label.style.MozOpacity=".6"; --j;/*for moz*/}})()' >ShowHiddenFields</a>
  </td><td>Reveals hidden fields on a webpage.<br /><i class="gray">Find things like tokens, etc</i></td></tr>

<tr><td><a class="button" href="javascript:function htmlEscape(s){s=s.replace(/&amp;/g,'&amp;');s=s.replace(/>/g,'>');s=s.replace(/</g,'<');return s;} function linkEscape(s){s=s.replace(/&amp;/g,'&amp;');s=s.replace(/&quot;/,'&quot;');return s} h = '<a href=&quot;' + linkEscape(location.href) + '&quot;>' + htmlEscape(document.title) + '</a>'; with(window.open().document){write(h+'<form name=f><textarea  name=a rows=5 cols=80 wrap=hard>'+htmlEscape(h)+'</textarea></form>'); close(); f.a.select(); } void 0">CreateLink2ThisPage</a>
                </td><td>Create a link to the current page</td></tr>

<tr><td><a class="button" href='javascript: var thisvalue = window.getSelection();var linkval = "<a class="button" href=%27" + thisvalue + "%27 >Link</a>";  if (thisvalue == "") { alert("Select/highlight text, then click this bookmarlet");  }else { prompt("Copy the link Below:",linkval);}linkval=null;;' add_date="1461250448">LinkFromSelection</a>
                </td><td></td></tr>

<tr><td><a class="button" href="javascript:(function(){var s=document.createElement('div');s.innerHTML='Loading...';s.style.color='black';s.style.padding='20px';s.style.position='fixed';s.style.zIndex='9999';s.style.fontSize='3.0em';s.style.border='2px solid black';s.style.right='40px';s.style.top='40px';s.setAttribute('class','selector_gadget_loading');s.style.background='white';document.body.appendChild(s);s=document.createElement('script');s.setAttribute('type','text/javascript');s.setAttribute('src','https://dv0akt2986vzh.cloudfront.net/unstable/lib/selectorgadget.js');document.body.appendChild(s);})();" add_date="1461250448">CSSSelectorViewer</a>
                </td><td></td></tr>

<tr><td><a class="button" href='javascript:(function(){ var d=open().document; d.title="Selection"; if (window.getSelection) { /*Moz*/ var s = getSelection(); for(i=0; i<s.rangeCount; ++i) { var a, r = s.getRangeAt(i); if (!r.collapsed) { var x = document.createElement("div"); x.appendChild(r.cloneContents()); if (d.importNode) x = d.importNode(x, true); d.body.appendChild(x); } } } else { /*IE*/ d.body.innerHTML = document.selection.createRange().htmlText; } })();'>Selected Content only</a>
                </td><td></td></tr>

<tr><td><a class="button" href='javascript:function getSelSource() { x = document.createElement("div"); x.appendChild(window.getSelection().getRangeAt(0).cloneContents()); return x.innerHTML; } function makeHR() { return nd.createElement("hr"); } function makeParagraph(text) { p = nd.createElement("p"); p.appendChild(nd.createTextNode(text)); return p; } function makePre(text) { p = nd.createElement("pre"); p.appendChild(nd.createTextNode(text)); return p; } nd = window.open().document; ndb = nd.body; if (!window.getSelection || !window.getSelection().rangeCount || window.getSelection().getRangeAt(0).collapsed) { nd.title="Generated Source of: " + location.href; ndb.appendChild(makeParagraph("No selection, showing generated source of entire document.")); ndb.appendChild(makeHR()); ndb.appendChild(makePre("<html>\n" + document.documentElement.innerHTML + "\n</html>")); } else { nd.title="Partial Source of: " + location.href; ndb.appendChild(makePre(getSelSource())); }; void 0' add_date="1461250448">Selected HTML source</a>
                </td><td>Selected HTML Souce<br /><i class="gray">Select some block of content on the page, click and see the HTML source code.</i></td></tr>

<tr><td><a class="button" href="javascript:(function(){function A(n,g){var p=n.parentNode,t=n.tagName;if(!p)return &quot;&quot;;if(!t)return A(p,g);var T=t.toUpperCase(),b=(T!=&quot;TABLE&quot;&amp;&amp;T!=&quot;TBODY&quot;&amp;&amp;T!=&quot;THEAD&quot;&amp;&amp;T!=&quot;TR&quot;),c=n.className,i=n.id;return A(p,' > ')+(b?T:T.toLowerCase())+(c?&quot;.&quot;+c:&quot;&quot;)+(i?&quot;#&quot;+i:&quot;&quot;)+(b?g:' ');}document.onmouseover=function(e){e=e?e:event;var s,g=e.target;g=g?g:e.srcElement;try{s=A(g,'')+&quot; (click for computed styles)&quot;;}catch(err){s=err.message;}window.status=s;return true;};window.status=A(document.documentElement,'');var newSS,styles='* { cursor: crosshair; }';newSS=document.createElement('link');newSS.rel='stylesheet';newSS.type='text/css';newSS.href='data:text/css,'+escape(styles);document.getElementsByTagName(&quot;head&quot;)[0].appendChild(newSS);document.onclick=function(e){e=e?e:event;var s,g=e.target;g=g?g:e.srcElement;var x=window.open('','computedStyles');x.document.open();x.document.close();var d=x.document;x.onunload=function(){document.onclick=null;document.onmouseover=null;window.status=null;newSS.href='data:text/css,';};function sp(n,t,col){var r=d.createElement(n);r.appendChild(d.createTextNode(t));if(col)r.style.color=col;return r;}var typeIndex={'top':1,'bottom':1,'height':1,'width':1,'left':1,'right':1,'position':0,'display':0,'-moz-appearance':0,'-moz-box-sizing':0};var colors=[&quot;red&quot;,&quot;green&quot;,&quot;black&quot;];function undirect(v){return v.replace(/\-(left|top|bottom|right)/,&quot;-*&quot;);}function diff(n,p){pcs=p.ownerDocument.defaultView.getComputedStyle(p,&quot;&quot;);ncs=n.ownerDocument.defaultView.getComputedStyle(n,&quot;&quot;);var A=[];var B={};var C={};for(var i=0;i<ncs.length;++i){var e=ncs.item(i),v=ncs.getPropertyValue(e),pv=pcs.getPropertyValue(e);if(v!=pv){var u=undirect(e);if(u.indexOf(&quot;-*&quot;)!=-1){if(!B[u])B[u]=[0,v];if(B[u][1]==v)++(B[u][0]);}A.push([typeIndex[e]!=null?typeIndex[e]:2,e,v]);}}A=A.sort();for(var u in B)if(B[u][0]==4)C[u]=true;for(var i in A){var t=A[i],e=t[1],v=t[2],u=undirect(e);if(C[u]){if(t[1].indexOf(&quot;-left&quot;)!=-1)d.body.appendChild(sp(&quot;div&quot;,u+&quot;: &quot;+v,colors[t[0]]));}else d.body.appendChild(sp(&quot;div&quot;,e+&quot;: &quot;+v,colors[t[0]]));}}function info(n){if(!n)return;if(n.tagName){d.body.appendChild(sp(&quot;h4&quot;,A(n,'')));diff(n,n.parentNode.nodeType!='9'?n.parentNode:d.documentElement);}info(n.parentNode);}d.body.appendChild(sp(&quot;p&quot;,&quot;This shows how the computed style of each node differs from the computed style of its parent. The root element, which has no parent, is instead compared against the root of a blank HTML document.&quot;));info(g);x.focus();e.preventDefault();}})()">Selected CSS Source</a>
                </td><td></td></tr>
<tr><td><a class="button" href='javascript:var stext = "";var sdom = "";stext = window.getSelection().toString();sdom = document.location;window.prompt("Copy to clipboard: Ctrl+C", stext + " %E2%80%93 ( "+ sdom +" )");stext=null;sdom=null;'>Selection+URL</a>
  </td><td>Selection plus the URL where you found it.<br /><i class="gray">Highlight some text and this will copy it to your clipboard along with the URL.</i></td></tr>

              <tr><td><a class="button" href="javascript:(function(){var%20s=document.createElement('link');s.setAttribute('href','http://l.yimg.com/a/lib/arc/core_1.0.5.css');
s.setAttribute('rel','stylesheet');s.setAttribute('type','text/css');document.getElementsByTagName('head')[0].appendChild(s);alert('Stylesheet%20injected!');})();" title="Inject CSS">Inject StyleSheet</a></td><td>Inject CSS into site<br /><i class="gray">Simply replace the CSS/URL in this script with the StyleSheet you want to use.</i></td></tr>  
   <tr><td><a class="button" title="Inject CSS into existing Stylesheet">Inject CSS</a></td><td>Inject CSS rule(s)<br /><i class="gray">Inject new CSS rule into current document.</i></td></tr>
              
              <tr><td><a class="button" href="javascript:(function(){var%20s=document.createElement('script');s.setAttribute('src','http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js');document.getElementsByTagName('body')[0].appendChild(s);alert('Script%20injected!');})();" title="Inject JQuery into site">Inject JQuery</a></td><td>Inject JQuery into the site.<br /><i class="gray">If you want to create a bookmarklet of your own that needs JQuery... start here!</i></td></tr>              
              <tr><td><a class="button" href="javascript:alert(document.lastModified)" title="Last Modified...">Last Modified Date</a></td><td>Last Modified Date<br /><i class="gray">Click this to see the last modified date from the server</i></td></tr>
              
              
              
              <tr><td><a class="button" href='javascript:(function(){function%20toArray%20(c){var%20a,%20k;a=new%20Array;for%20(k=0;%20k%20%3C%20c.length;%20++k)a[k]=c[k];return%20a;}var%20images,%20img,%20altText;images=toArray(document.images);for%20(var%20i=0;%20i%20%3C%20images.length;%20++i){img=images[i];altText=document.createTextNode(img.alt);img.parentNode.replaceChild(altText,%20img)}})();' title="Zap all images">Zap Images</a></td><td>Zap all of the images on a page.</td></tr>
              
<tr><td><a class="button" href="javascript:if(typeof(searches)=='undefined'){var searches=0;};(function(){var count=0,text,regexp;text=prompt('Search regex:','');if(text==null||text.length==0)return;try{regexp=new RegExp(text,'i');}catch(er){alert('Unable to create regular expression using text \''+text+'\'.\n\n'+er);return;}function searchWithinNode(node,re){var pos,skip,acronym,middlebit,endbit,middleclone;skip=0;if(node.nodeType==3){pos=node.data.search(re);if(pos>=0){acronym=document.createElement('ACRONYM');acronym.title='Search '+(searches+1)+': '+re.toString();acronym.style.backgroundColor=backColor;acronym.style.borderTop='1px solid '+borderColor;acronym.style.borderBottom='1px solid '+borderColor;acronym.style.fontWeight='bold';acronym.style.color=borderColor;middlebit=node.splitText(pos);endbit=middlebit.splitText(RegExp.lastMatch.length);middleclone=middlebit.cloneNode(true);acronym.appendChild(middleclone);middlebit.parentNode.replaceChild(acronym,middlebit);count++;skip=1;}}else if(node.nodeType==1&amp;&amp;node.childNodes&amp;&amp;node.tagName.toUpperCase()!='SCRIPT'&amp;&amp;node.tagName.toUpperCase!='STYLE')for(var child=0;child<node.childNodes.length;++child)child=child+searchWithinNode(node.childNodes[child],re);return skip;}var borderColor='#'+(searches+8).toString(2).substr(-3).replace(/0/g,'3').replace(/1/g,'6');var backColor=borderColor .replace(/3/g,'c').replace(/6/g,'f');if(searches%2516/8>=1){var tempColor=borderColor;borderColor=backColor;backColor=tempColor;}searchWithinNode(document.body,regexp);window.status='Found '+count+' match'+(count==1?'':'es')+' for '+regexp+'.';if(count>0)searches++;})();" add_date="1461250448">Regex Search</a>
                </td><td></td></tr>
<tr><td><a class="button" href="javascript:document.body.contentEditable%20=%20'true';%20document.designMode='on';%20void%200" add_date="1461250448">Edit Website</a>
            </td><td>Allows you to edit the text on the webpage.</td></tr>
   <tr><td><a href="javascript:function C(v){return '<td>'+v+'</td><td>'+((v>>4).toString(16)+(v&15).toString(16)).toUpperCase()+'</td><td bgcolor=DDDDDD><b>&'+'#'+v+';</b></td>';}var c=4,b=Math.ceil(224/c),a='<table border=0><tr>';for(j=0;j<c;j++){a+='<td>DEC</td><td>HEX</td><td><b>ASC</b></td>';}a+='</tr>';for(i=32;i<33+b;i++){a+='<tr>';for(j=0;j<c;j++){t=i+(j*b);if(t<=255)a+=C(t);}a+='</tr>';}a+='</table>';var W=open('','','width=500,height=600,left=0,top=0,resizable,scrollbars');void(W.document.writeln(a));" title="ASCII Table" class="button">ASCII</a></td><td>Pops up an ASCII Reference Table<br /><i class="gray">This also works as a button - click the button to the left to see.</i></td></tr>
   <tr><td><a class="button" href="javascript:t='';c=new Array('00','33','66','99','CC','FF');for(i=0;i<6;i++){t+='<table width=100%>';for(j=0;j<6;j++){t+='<tr>';for(k=0;k<6;k++){L=c[i]+c[j]+c[k];t+='<td bgcolor='+L+'>'+L}t+='</tr>'}t+='</table>'}; W=open('','','width=500,height=700,left=0,top=0,resizable,scrollbars');void(W.document.writeln(t));" title="WebSafe Color Palette">Colors</a></td><td>Pops up a palette of web-safe colors.<br /><i class="gray">As above, click on the button for a demo, or drag it to your bookmarks.</td></tr>   

   <tr><td><a class="button" href="javascript:TxtRsz={formEl:null,adEv:function(t,ev,fn){if(typeof document.addEventListener!='undefined'){t.addEventListener(ev,fn,false)}else{t.attachEvent('on'+ev,fn)}},rmEv:function(t,ev,fn){if(typeof document.removeEventListener!='undefined'){t.removeEventListener(ev,fn,false)}else{t.detachEvent('on'+ev,fn)}},init:function(){var textareas=document.getElementsByTagName('textarea');for(var i=0;i<textareas.length;i++){textareas[i].style.cursor='se-resize'}var inputs=document.getElementsByTagName('input');for(var i=0;i<inputs.length;i++){if(inputs[i].type=='text'){inputs[i].style.cursor='e-resize'}}TxtRsz.adEv(document,'mousedown',TxtRsz.initResize)},initResize:function(event){if(typeof event=='undefined'){event=window.event}var target=event.target||event.srcElement;if(target.nodeName.toLowerCase()=='textarea'||(target.nodeName.toLowerCase()=='input'&&target.type=='text')){TxtRsz.formEl=target;TxtRsz.formEl.startWidth=TxtRsz.formEl.clientWidth;TxtRsz.formEl.startHeight=TxtRsz.formEl.clientHeight;TxtRsz.formEl.startX=event.clientX;TxtRsz.formEl.startY=event.clientY;TxtRsz.adEv(document,'mousemove',TxtRsz.resize);TxtRsz.adEv(document,'mouseup',TxtRsz.stopResize);try{event.preventDefault()}catch(e){}}},resize:function(event){if(typeof event=='undefined'){event=window.event}try{TxtRsz.formEl.style.width=event.clientX-TxtRsz.formEl.startX+TxtRsz.formEl.startWidth+'px'}catch(e){}if(TxtRsz.formEl.nodeName.toLowerCase()=='textarea'){TxtRsz.formEl.style.height=event.clientY-TxtRsz.formEl.startY+TxtRsz.formEl.startHeight+'px'}},stopResize:function(event){TxtRsz.rmEv(document,'mousedown',TxtRsz.initResize);TxtRsz.rmEv(document,'mousemove',TxtRsz.resize);var textareas=document.getElementsByTagName('textarea');for(var i=0;i<textareas.length;i++){textareas[i].style.cursor='text'}var inputs=document.getElementsByTagName('input');for(var i=0;i<inputs.length;i++){if(inputs[i].type=='text'){inputs[i].style.cursor='text'}}}};TxtRsz.init();" title="Form Resizer">ResizeForms</a></td><td>Makes all form fields on the page resizable.<br />
     <i class="gray">Isn't it annoying when you can't see the full text in the input field? This fixes it!</i></td></tr>   
   
<tr><th colspan="2">Design</th></tr>
            
<tr><td><a class="button" href="javascript:(function(){var Event=function(){'use strict';this.attach=function(evtName,element,listener,capture){var evt='',useCapture=(capture===undefined)?true:capture,handler=null;if(window.addEventListener===undefined){evt='on'+evtName;handler=function(evt,listener){element.attachEvent(evt,listener);return listener;};}else{evt=evtName;handler=function(evt,listener,useCapture){element.addEventListener(evt,listener,useCapture);return listener;};}return handler.apply(element,[evt,function(ev){var e=ev||event,src=e.srcElement||e.target;listener(e,src);},useCapture]);};this.detach=function(evtName,element,listener,capture){var evt='',useCapture=(capture===undefined)?true:capture;if(window.removeEventListener===undefined){evt='on'+evtName;element.detachEvent(evt,listener);}else{evt=evtName;element.removeEventListener(evt,listener,useCapture);}};this.stop=function(evt){evt.cancelBubble=true;if(evt.stopPropagation){evt.stopPropagation();}};this.prevent=function(evt){if(evt.preventDefault){evt.preventDefault();}else{evt.returnValue=false;}};};var Dragdrop=function(evt){'use strict';var elem=null,started=0,self=this,moveHandler=null,doc=document.documentElement,body=document.body,gWidth=(document.body.scrollWidth>document.documentElement.clientWidth)?document.body.scrollWidth:document.documentElement.clientWidth,gHeight=Math.max(body.scrollHeight,body.offsetHeight,doc.clientHeight,doc.scrollHeight,doc.offsetHeight),move=function(e){var xDiff=e.clientX-elem.posX,yDiff=e.clientY-elem.posY,x=xDiff-(xDiff%elem.snap)+'px',y=yDiff-(yDiff%elem.snap)+'px';if(started===1){switch(elem.mode){case 0:elem.style.top=y;elem.style.left=x;break;case 1:elem.style.left=x;break;case 2:elem.style.top=y;break;}if(elem.mode!==2){if(xDiff<=elem.minX){elem.style.left=elem.minX+'px';}if(elem.offsetLeft+elem.offsetWidth>=elem.maxX){elem.style.left=(elem.maxX-elem.offsetWidth)+'px';}}if(elem.mode!==1){if(yDiff<=elem.minY){elem.style.top=elem.minY+'px';}if(elem.offsetTop+elem.offsetHeight>=elem.maxY){elem.style.top=(elem.maxY-elem.offsetHeight)+'px';}}elem.onMove(elem);}},start=function(e,src){if(src.className.indexOf('draggable')!==-1){evt.prevent(e);moveHandler=evt.attach('mousemove',document,move,true);started=1;elem=src;elem.posX=e.clientX-elem.offsetLeft;elem.posY=e.clientY-elem.offsetTop;if(elem.mode===undefined){self.set(elem);}elem.onStart(elem);if(elem.setCapture){elem.setCapture();}}},stop=function(){if(started===1){started=0;elem.onStop(elem);evt.detach('mousemove',document,moveHandler);if(elem.releaseCapture){elem.releaseCapture();}}};evt.attach('mousedown',document,start,false);evt.attach('mouseup',document,stop,false);this.start=start;this.set=function(element,elemOptions){var options=elemOptions||{};elem=(typeof element==='string')?document.getElementById(element):element;elem.mode=options.mode||0;elem.minX=options.minX||0;elem.maxX=options.maxX||gWidth;elem.minY=options.minY||0;elem.maxY=options.maxY||gHeight;elem.snap=options.snap||1;elem.onStart=options.onstart||function(){};elem.onMove=options.onmove||function(){};elem.onStop=options.onstop||function(){};elem.style.left=elem.offsetLeft+'px';elem.style.top=elem.offsetTop+'px';elem.unselectable='on';};};var RulersGuides=function(evt,dragdrop){'use strict';var doc=document.documentElement,body=document.body,wrapper=null,lockHandler=null,locked=1,hRuler=null,vRuler=null,menu=null,dialogs=[],snapDialog=null,openGridDialog=null,xSnap=0,ySnap=0,mode=2,guides={},guidesCnt=0,gUid='',rulerStatus=1,guideStatus=1,hBound=0,vBound=0,gridList=null,gridListLen=0,menuBtn=null,gInfoBlockWrapper=null,detailsStatus=0,domElements=[],domDimensions=[],resizeTimer=null,snapDom=0,cssText='html,body{margin:0;padding:0}.rg-overlay{position:absolute;top:0;left:0;overflow:hidden}.guide{position:absolute;top:0;left:0;z-index:9991;font-size:0}.guide.v{width:1px;height:7000px;border-right:solid 1px #00f;cursor:col-resize}.guide.h{width:3000px;height:1px;border-bottom:solid 1px #00f;cursor:row-resize}.info{width:50px;height:25px;line-height:25px;text-align:center;position:relative;font-size:13px;background-color:#eee;border:solid 1px #ccc;color:#000}.guide.v .info{left:2px}.guide.h .info{top:2px}.unselectable{-moz-user-select:-moz-none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ruler{background-color:#ccc;position:absolute;top:0;left:0;z-index:9990}.ruler .label{font:12px Arial;color:#000}.ruler,.ruler span{font-size:0}.ruler.h{width:3000px;left:-1px;padding-top:14px;border-bottom:solid 1px #000}.ruler.v{height:7000px;top:-1px;padding-left:16px;width:25px;border-right:solid 1px #000}.ruler.h span{border-left:solid 1px #999;height:9px;width:1px;vertical-align:bottom;display:inline-block;*display:inline;zoom:1}.ruler.v span{display:block;margin-left:auto;margin-right:0;border-top:solid 1px #999;width:9px;height:1px}.ruler.v span.major{border-top:solid 1px #000;width:13px}.ruler.v span.milestone{position:relative;border-top:solid 1px #000;width:17px}.ruler.v span.label{border:0;font-size:9px;position:absolute;text-align:center;width:9px}.ruler.h span.major{border-left:solid 1px #000;height:13px}.ruler.h span.milestone{position:relative;border-left:solid 1px #000;height:17px}.ruler.h span.label{border:0;font-size:9px;position:absolute;text-align:center;top:-14px;width:9px}.ruler.h .l10{left:-5px}.ruler.h .l100{left:-7px}.ruler.h .l1000{left:-10px}.ruler.v .l10,.ruler.v .l100,.ruler.v .l1000{top:-7px}.ruler.v .l10{left:-12px}.ruler.v .l100{left:-17px}.ruler.v .l1000{left:-23px}.menu-btn{position:fixed;left:3px;top:2px;line-height:9px;z-index:9998;width:20px;height:20px;background-color:red;opacity:.5;font-size:20px;text-align:left;color:#fff;font-weight:700;cursor:pointer;border-radius:2px}.rg-menu{position:fixed;top:22px;left:3px;padding:0;margin:0;list-style:0;display:none;font:13px Arial;z-index:9999;box-shadow:2px 2px 10px #ccc}.rg-menu li{border-bottom:solid 1px #999;padding:0}.rg-menu a{background-color:#777;display:block;padding:5px;text-decoration:none;color:#fff;line-height:18px}.rg-menu a:hover,.rg-menu a.selected{color:#fff;background-color:#3b94ec}.rg-menu a.disabled{color:#ccc}.rg-menu .desc{display:inline-block;width:170px}.dialog{position:fixed;background-color:#777;z-index:9999;color:#fff;font-size:13px;display:none;box-shadow:2px 2px 10px #ccc}.dialog button{border:0;color:#333;cursor:pointer;background-color:#eaeaea;background-image:linear-gradient(#fafafa,#eaeaea);background-repeat:repeat-x;border-radius:3px;text-shadow:0 1px 0 rgba(255,255,255,.9)}.dialog input,.dialog select,.dialog button{font-size:13px;margin:3px;padding:3px}.dialog .title-bar{padding:5px;background-color:#aaa;font-weight:700}.dialog .wrapper{padding:10px}.open-dialog select,.open-dialog button{float:left;display:block}.open-dialog .ok-btn,.open-dialog .cancel-btn{margin:10px 3px}.open-dialog .ok-btn{clear:both}.snap-dialog label{font-weight:700;padding:3px}.snap-dialog .ok-btn{margin-left:18px}.snap-dialog .ok-btn,.snap-dialog .cancel-btn{margin-top:10px}.snap-dialog .rg-y-label{margin-left:10px}#rg-x-snap,#rg-y-snap{width:50px}.info-block-wrapper{position:absolute;z-index:9989}.info-block{position:absolute;text-align:left}.info-block.even{background:0;background-color:rgba(0,0,255,.2);-ms-filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#330000FF, endColorstr=#330000FF);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#330000FF, endColorstr=#330000FF);zoom:1}.info-block.odd{background:0;background-color:rgba(255,0,0,.2);-ms-filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#33FF0000, endColorstr=#33FF0000);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#33FF0000, endColorstr=#33FF0000);zoom:1}.info-block-txt{padding:5px;display:inline-block;vertical-align:top;background-color:#777;color:#fff;font-size:13px;*display:inline;zoom:1}',Ruler=function(type,size){var ruler=document.createElement('div'),i=0,span=document.createElement('span'),label=null,labelTxt=null,spanFrag=document.createDocumentFragment(),cnt=Math.floor(size/2);ruler.className='ruler '+type+' unselectable';for(i;i<cnt;i=i+1){span=span.cloneNode(false);if(i% 25===0){span.className='milestone';if(i>0){label=span.cloneNode(false);label.className='label';if(i<50){label.className+=' l10';}else if(i>=50&amp;&amp;i<500){label.className+=' l100';}else if(i>=500){label.className+=' l1000';}labelTxt=document.createTextNode(i*2);label.appendChild(labelTxt);span.appendChild(label);}span.className='milestone';}else if(i%5===0){span.className='major';}else{span.className='';span.removeAttribute('class');}spanFrag.appendChild(span);}ruler.appendChild(spanFrag);return ruler;},getWindowSize=function(){var w=Math.max(body.scrollWidth,body.offsetWidth,doc.clientWidth,doc.scrollWidth,doc.offsetWidth),h=Math.max(body.scrollHeight,body.offsetHeight,doc.clientHeight,doc.scrollHeight,doc.offsetHeight);return[w,h];},getScrollPos=function(){var t=Math.max(doc.scrollTop,body.scrollTop),l=Math.max(doc.scrollLeft,body.scrollLeft);return[t,l];},getScrollSize=function(){var w=Math.max(doc.scrollWidth,body.scrollWidth),h=Math.max(doc.scrollHeight,body.scrollHeight);return[w,h];},closeAllDialogs=function(){var i=0;for(i;i<dialogs.length;i=i+1){dialogs[i].close();}},removeInboundGuide=function(guide,gUid){var scrollPos=getScrollPos();if(rulerStatus===1&amp;&amp;guideStatus===1&amp;&amp;((guide.className==='guide h draggable'&amp;&amp;guide.offsetTop<hBound+scrollPos[0])||(guide.className==='guide v draggable'&amp;&amp;guide.offsetLeft<vBound+scrollPos[1]))){wrapper.removeChild(guide);delete guides[gUid];guidesCnt=guidesCnt-1;}},removeInboundGuides=function(){var i;for(i in guides){if(guides.hasOwnProperty(i)){removeInboundGuide(guides[i],i);}}},toggleGuides=function(){var i;guideStatus=1-guideStatus;for(i in guides){if(guides.hasOwnProperty(i)){guides[i].style.display=(guideStatus===1)?'block':'none';}}if(guideStatus===1){wrapper.style.display='block';}},toggleRulers=function(){rulerStatus=1-rulerStatus;if(rulerStatus===1){vRuler.style.display='block';hRuler.style.display='block';wrapper.style.display='block';removeInboundGuides();}else{vRuler.style.display='none';hRuler.style.display='none';}},removeGrid=function(gridName){if(gridList[gridName]!==undefined){delete gridList[gridName];window.localStorage.setItem('RulersGuides',JSON.stringify(gridList));gridListLen=gridListLen-1;}},deleteGuides=function(){var i;if(guidesCnt>0){for(i in guides){if(guides.hasOwnProperty(i)){wrapper.removeChild(guides[i]);delete guides[i];guidesCnt=guidesCnt-1;}}gInfoBlockWrapper.style.display='none';}},renderGrid=function(gridName){if(gridList[gridName]!==undefined){var grid=gridList[gridName],guideId=null,guideElem=null;deleteGuides();for(guideId in grid){if(grid.hasOwnProperty(guideId)){guideElem=document.createElement('div');guideElem.id=guideId;guideElem.className=grid[guideId].cssClass;guideElem.style.cssText=grid[guideId].style;wrapper.appendChild(guideElem);guides[guideId]=guideElem;guidesCnt=guidesCnt+1;}}}},OpenGridDialog=function(){var dialog=null,self=this,select=null,renderSelect=function(insertOrUpdate){var gridName,options='',i;gridListLen=0;if(window.localStorage){gridList=JSON.parse(window.localStorage.getItem('RulersGuides'));for(i in gridList){if(gridList.hasOwnProperty(i)){gridListLen=gridListLen+1;}}}if(insertOrUpdate===0){select=document.createElement('select');select.id='grid-list';}if(gridListLen>0){for(gridName in gridList){if(gridList.hasOwnProperty(gridName)){options+='<option>'+gridName+'</option>';}}select.innerHTML=options;}return select;};this.render=function(){if(dialog===null){dialog=document.createElement('div');select=renderSelect(0);var text=document.createTextNode(''),titleBar=dialog.cloneNode(false),dialogWrapper=dialog.cloneNode(false),okBtn=document.createElement('button'),cancelBtn=okBtn.cloneNode(false),delBtn=okBtn.cloneNode(false),titleBarTxt=text.cloneNode(false),okBtnTxt=text.cloneNode(false),cancelBtnTxt=text.cloneNode(false),delBtnTxt=text.cloneNode(false);titleBarTxt.nodeValue='Open grid';okBtnTxt.nodeValue='OK';cancelBtnTxt.nodeValue='Cancel';delBtnTxt.nodeValue='Delete';dialog.className='dialog open-dialog';titleBar.className='title-bar';dialogWrapper.className='wrapper';okBtn.className='ok-btn';cancelBtn.className='cancel-btn';delBtn.className='del-btn';titleBar.appendChild(titleBarTxt);okBtn.appendChild(okBtnTxt);cancelBtn.appendChild(cancelBtnTxt);delBtn.appendChild(delBtnTxt);dialogWrapper.appendChild(select);dialogWrapper.appendChild(delBtn);dialogWrapper.appendChild(okBtn);dialogWrapper.appendChild(cancelBtn);dialog.appendChild(titleBar);dialog.appendChild(dialogWrapper);body.appendChild(dialog);evt.attach('click',delBtn,function(){if(window.confirm('Are you sure ?')){if(select.options.length>0){removeGrid(select.options[select.selectedIndex].value);select.removeChild(select.options[select.selectedIndex]);}if(select.options.length===0){self.close();}}});evt.attach('click',okBtn,function(){renderGrid(select.value);self.close();});evt.attach('click',cancelBtn,function(){self.close();});}};this.render();this.open=function(){closeAllDialogs();renderSelect(1);if(gridListLen>0){dialog.style.display='block';dialog.style.left=((doc.clientWidth-dialog.clientWidth)/2)+'px';dialog.style.top=((doc.clientHeight-dialog.clientHeight)/2)+'px';}};this.close=function(){dialog.style.display='none';};},toggleRulersLock=function(){if(locked===0){if(lockHandler!==null){evt.detach('scroll',window,lockHandler);}}else{lockHandler=evt.attach('scroll',window,function(){var pos=getScrollPos(),size=getScrollSize();hRuler.style.top=pos[0]+'px';wrapper.style.height=size[1]+'px';vRuler.style.left=pos[1]+'px';wrapper.style.width=size[0]+'px';});}locked=1-locked;},saveGrid=function(){var data={},gridData={},i,gridName='';while(gridName===''&amp;&amp;guidesCnt>0){gridName=window.prompt('Save grid as');if(gridName!==''&amp;&amp;gridName!==false&amp;&amp;gridName!==null&amp;&amp;window.localStorage){for(i in guides){if(guides.hasOwnProperty(i)){gridData[i]={'cssClass':guides[i].className,'style':guides[i].style.cssText};}}if(window.localStorage.getItem('RulersGuides')!==null){data=JSON.parse(window.localStorage.getItem('RulersGuides'));}data[gridName]=gridData;window.localStorage.setItem('RulersGuides',JSON.stringify(data));gridListLen=gridListLen+1;}}},showDetailedInfo=function(){var i,j=0,hGuides=[],vGuides=[],scrollSize=getScrollSize(),infoBlockWrapper=document.createElement('div'),infoFrag=document.createDocumentFragment(),infoBlock=infoBlockWrapper.cloneNode(false),infoBlockTxt=infoBlockWrapper.cloneNode(false),infoData1=document.createTextNode(''),infoData2=infoData1.cloneNode(false),text='',br=document.createElement('br');for(i in guides){if(guides.hasOwnProperty(i)){if(guides[i].type==='h'){hGuides.push(guides[i].y);}else{vGuides.push(guides[i].x);}}}vGuides.unshift(0);vGuides.push(scrollSize[0]);hGuides.unshift(0);hGuides.push(scrollSize[1]);vGuides=vGuides.sort(function(a,b){return a-b;});hGuides=hGuides.sort(function(a,b){return a-b;});for(i=0;i<hGuides.length-1;i=i+1){j=0;for(j;j<vGuides.length-1;j=j+1){infoBlock=infoBlock.cloneNode(false);infoBlockTxt=infoBlockTxt.cloneNode(false);infoData1=infoData1.cloneNode(false);infoData2=infoData2.cloneNode(false);br=br.cloneNode();infoBlockWrapper.className='info-block-wrapper';infoBlock.className='info-block';infoBlockTxt.className='info-block-txt';infoBlock.className+=((i%2!==0&amp;&amp;j%2!==0)||(i%2===0&amp;&amp;j%2===0))?' even':' odd';infoBlock.style.top=hGuides[i]+'px';infoBlock.style.left=vGuides[j]+'px';infoBlock.style.width=(vGuides[j+1]-vGuides[j])+'px';infoBlock.style.height=(hGuides[i+1]-hGuides[i])+'px';text=(vGuides[j+1]-vGuides[j])+' x '+(hGuides[i+1]-hGuides[i]);infoData1.nodeValue=text;text=hGuides[i]+' : '+vGuides[j];infoData2.nodeValue=text;infoBlockTxt.appendChild(infoData1);infoBlockTxt.appendChild(br);infoBlockTxt.appendChild(infoData2);infoBlock.appendChild(infoBlockTxt);infoBlockTxt.style.marginTop=(i===0)?'31px':'0';infoBlockTxt.style.marginLeft=(j===0)?'42px':'0';infoFrag.appendChild(infoBlock);}}infoBlockWrapper.appendChild(infoFrag);if(detailsStatus===1){wrapper.replaceChild(infoBlockWrapper,gInfoBlockWrapper);gInfoBlockWrapper=infoBlockWrapper;}else{gInfoBlockWrapper.style.display='none';}},calculateDomDimensions=function(){var x=[],y=[],dm=[],i=0,len=domElements.length,findDimensions=function(elem){var t=0,l=0,w=elem.offsetWidth,h=elem.offsetHeight;while(elem){l+=(elem.offsetLeft-elem.scrollLeft+elem.clientLeft);t+=(elem.offsetTop-elem.scrollTop+elem.clientTop);elem=elem.offsetParent;}return[l,t,l+w,t+h];},getUnique=function(arr){var u={},a=[],idx=0,arrLen=arr.length;for(idx;idx<arrLen;idx=idx+1){if(u.hasOwnProperty(arr[idx])===false){a.push(arr[idx]);u[arr[idx]]=1;}}return a;};for(i;i<len;i=i+1){dm=findDimensions(domElements[i]);x.push(dm[0]);x.push(dm[2]);y.push(dm[1]);y.push(dm[3]);}x=getUnique(x).sort(function(a,b){return a-b;});y=getUnique(y).sort(function(a,b){return a-b;});return[x,y];},Menu=function(){var menuList=null,status=0,toggles={},menuItemsList=[{'text':'Hide rulers','hotkey':'Ctrl + Alt + R','alias':'rulers'},{'text':'Hide guides','hotkey':'Ctrl + Alt + G','alias':'guides'},{'text':'Hide all','hotkey':'Ctrl + Alt + A','alias':'all'},{'text':'Unlock rulers','hotkey':'Ctrl + Alt + L','alias':'lock'},{'text':'Clear all guides','hotkey':'Ctrl + Alt + D','alias':'clear'},{'text':'Open grid','hotkey':'Ctrl + Alt + O','alias':'open'},{'text':'Save grid','hotkey':'Ctrl + Alt + G','alias':'save'},{'text':'Snap to','hotkey':'Ctrl + Alt + C','alias':'snap'},{'text':'Show detailed info','hotkey':'Ctrl + Alt + I','alias':'details'},{'text':'Snap to DOM','hotkey':'Ctrl + Alt + E','alias':'snapdom'}],i=0;this.render=function(){menuBtn=document.createElement('div');menuBtn.className='menu-btn unselectable';menuBtn.appendChild(document.createTextNode('\u250C'));menuList=document.createElement('ul');menuList.className='rg-menu';var menuItems=document.createDocumentFragment(),li=document.createElement('li'),liLink=document.createElement('a'),liDesc=document.createElement('span'),liHotKey=liDesc.cloneNode(false),liDescTxt=document.createTextNode(''),liHotKeyTxt=liDescTxt.cloneNode(false);liLink.href='javascript:';liDesc.className='desc';liHotKey.className='hotkey';for(i;i<menuItemsList.length;i=i+1){li=li.cloneNode(false);liLink=liLink.cloneNode(false);liDesc=liDesc.cloneNode(false);liHotKey=liHotKey.cloneNode(false);liDescTxt=liDescTxt.cloneNode(false);liHotKeyTxt=liHotKeyTxt.cloneNode(false);liDescTxt.nodeValue=menuItemsList[i].text;liHotKeyTxt.nodeValue=menuItemsList[i].hotkey;liDesc.appendChild(liDescTxt);liHotKey.appendChild(liHotKeyTxt);liLink.appendChild(liDesc);liLink.appendChild(liHotKey);li.appendChild(liLink);menuItems.appendChild(li);toggles[menuItemsList[i].alias]={obj:liLink,txt:liDescTxt};}evt.attach('mousedown',toggles.rulers.obj,function(){toggleRulers();});evt.attach('mousedown',toggles.guides.obj,function(){toggleGuides();});evt.attach('mousedown',toggles.all.obj,function(){if(rulerStatus===1||guideStatus===1){rulerStatus=guideStatus=1;wrapper.style.display='none';}else{rulerStatus=guideStatus=0;wrapper.style.display='block';}toggleRulers();toggleGuides();});evt.attach('mousedown',toggles.lock.obj,function(){toggleRulersLock();});evt.attach('mousedown',toggles.clear.obj,function(){deleteGuides();});evt.attach('mousedown',toggles.open.obj,function(){openGridDialog.open();});evt.attach('mousedown',toggles.save.obj,function(){saveGrid();});evt.attach('mousedown',toggles.snap.obj,function(){snapDialog.open();});evt.attach('mousedown',toggles.details.obj,function(){detailsStatus=1-detailsStatus;showDetailedInfo();});evt.attach('mousedown',toggles.snapdom.obj,function(){snapDom=1-snapDom;if(snapDom===1){domDimensions=calculateDomDimensions();}});menuList.appendChild(menuItems);body.appendChild(menuBtn);body.appendChild(menuList);evt.attach('mousedown',menuBtn,function(){toggles.rulers.txt.nodeValue=(rulerStatus===1)?'Hide rulers':'Show rulers';if(guidesCnt>0){toggles.guides.obj.className='';toggles.clear.obj.className='';toggles.save.obj.className='';toggles.guides.txt.nodeValue=(guideStatus===1)?'Hide guides':'Show guides';}else{toggles.guides.obj.className='disabled';toggles.clear.obj.className='disabled';toggles.save.obj.className='disabled';}toggles.all.txt.nodeValue=(rulerStatus===1||guideStatus===1)?'Hide all':'Show all';toggles.lock.txt.nodeValue=(locked===0)?'Lock rulers':'Unlock rulers';toggles.details.txt.nodeValue=(detailsStatus===0)?'Show detailed info':'Hide detailed info';toggles.snapdom.txt.nodeValue=(snapDom===0)?'Snap to DOM':'Turn off snap to DOM';toggles.open.obj.className=(gridListLen>0)?'':'disabled';menuList.style.display=(status===0)?'inline-block':'none';status=1-status;});};this.render();this.close=function(){if(menuList!==null){menuList.style.display='none';status=0;}};},SnapDialog=function(){var dialog=null,xInput=null,yInput=null,self=this;this.render=function(){if(dialog===null){dialog=document.createElement('div');xInput=document.createElement('input');yInput=xInput.cloneNode(false);var text=document.createTextNode(''),okBtn=document.createElement('button'),xLabel=document.createElement('label'),titleBar=dialog.cloneNode(false),dialogWrapper=dialog.cloneNode(false),inputWrapper=dialog.cloneNode(false),btnWrapper=dialog.cloneNode(false),resetBtn=okBtn.cloneNode(false),cancelBtn=okBtn.cloneNode(false),yLabel=xLabel.cloneNode(false),titleBarTxt=text.cloneNode(false),xLabelTxt=text.cloneNode(false),yLabelTxt=text.cloneNode(false),okBtnTxt=text.cloneNode(false),resetBtnTxt=text.cloneNode(false),cancelBtnTxt=text.cloneNode(false);titleBarTxt.nodeValue='Snap guides to';xLabelTxt.nodeValue='X';yLabelTxt.nodeValue='Y';okBtnTxt.nodeValue='OK';resetBtnTxt.nodeValue='Reset';cancelBtnTxt.nodeValue='Cancel';dialog.className='dialog snap-dialog';titleBar.className='title-bar';dialogWrapper.className='wrapper';xLabel.className='rg-x-label';xLabel.setAttribute('for','rg-x-snap');yLabel.className='rg-y-label';yLabel.setAttribute('for','rg-y-snap');xInput.setAttribute('type','number');xInput.value='100';xInput.id='rg-x-snap';xInput.setAttribute('type','number');yInput.value='100';yInput.id='rg-y-snap';okBtn.className='ok-btn';resetBtn.className='reset-btn';cancelBtn.className='cancel-btn';titleBar.appendChild(titleBarTxt);xLabel.appendChild(xLabelTxt);yLabel.appendChild(yLabelTxt);okBtn.appendChild(okBtnTxt);resetBtn.appendChild(resetBtnTxt);cancelBtn.appendChild(cancelBtnTxt);inputWrapper.appendChild(xLabel);inputWrapper.appendChild(xInput);inputWrapper.appendChild(yLabel);inputWrapper.appendChild(yInput);inputWrapper.appendChild(resetBtn);btnWrapper.appendChild(okBtn);btnWrapper.appendChild(cancelBtn);dialogWrapper.appendChild(inputWrapper);dialogWrapper.appendChild(btnWrapper);dialog.appendChild(titleBar);dialog.appendChild(dialogWrapper);body.appendChild(dialog);evt.attach('mousedown',okBtn,function(){xSnap=parseInt(xInput.value,10);ySnap=parseInt(yInput.value,10);self.close();});evt.attach('mousedown',resetBtn,function(){xSnap=0;ySnap=0;self.close();});evt.attach('mousedown',cancelBtn,function(){self.close();});}};this.render();this.open=function(){closeAllDialogs();dialog.style.display='block';dialog.style.left=((doc.clientWidth-dialog.clientWidth)/2)+'px';dialog.style.top=((doc.clientHeight-dialog.clientHeight)/2)+'px';};this.close=function(){dialog.style.display='none';};},prepare=function(){var style=document.createElement('style'),size=getWindowSize(),elements=document.getElementsByTagName('*'),len=elements.length,i=0;for(i;i<len;i=i+1){domElements.push(elements[i]);}style.setAttribute('type','text/css');if(style.styleSheet){style.styleSheet.cssText=cssText;}else{style.appendChild(document.createTextNode(cssText));}body.appendChild(style);setTimeout(function(){hRuler=new Ruler('h',3000);vRuler=new Ruler('v',7000);wrapper=document.createElement('div');gInfoBlockWrapper=wrapper.cloneNode(false);wrapper.className='rg-overlay';gInfoBlockWrapper.className='info-block-wrapper';wrapper.style.width=(size[0])+'px';wrapper.style.height=(size[1])+'px';wrapper.appendChild(hRuler);wrapper.appendChild(vRuler);wrapper.appendChild(gInfoBlockWrapper);body.appendChild(wrapper);domDimensions=calculateDomDimensions();menu=new Menu();snapDialog=new SnapDialog();openGridDialog=new OpenGridDialog();dialogs=[snapDialog,openGridDialog];},10);};prepare();this.status=1;this.disable=function(){if(vRuler!==null){deleteGuides();vRuler.style.display='none';hRuler.style.display='none';wrapper.style.display='none';menuBtn.style.display='none';}rulerStatus=0;this.status=0;};this.enable=function(){if(vRuler!==null){vRuler.style.display='block';hRuler.style.display='block';wrapper.style.display='block';menuBtn.style.display='block';}rulerStatus=1;this.status=1;};evt.attach('mousedown',document,function(e,src){var x=e.clientX,y=e.clientY,guide=null,guideInfo=null,guideInfoText=null,scrollPos=getScrollPos(),snap=0;if(src.className.indexOf('menu-btn')===-1){menu.close();}if(vBound===0){vBound=vRuler.offsetWidth;hBound=hRuler.offsetHeight;}if(((x>vBound&amp;&amp;y<hBound)||(y>hBound&amp;&amp;x<vBound))&amp;&amp;rulerStatus===1){guide=document.createElement('div');guideInfo=guide.cloneNode(false);guideInfoText=document.createTextNode('');gUid='guide-'+guidesCnt;guideInfo.className='info';guideInfo.appendChild(guideInfoText);guide.appendChild(guideInfo);if(x>vBound&amp;&amp;y<hBound){guide.className='guide h draggable';guide.style.top=(e.clientY+scrollPos[0])+'px';guideInfo.style.left=(x+scrollPos[1]+10)+'px';guide.type='h';snap=ySnap;mode=2;}else if(y>hBound&amp;&amp;x<vBound){guide.className='guide v draggable';guide.style.left=(x+scrollPos[1])+'px';guideInfo.style.top=((y+scrollPos[0])-35)+'px';guide.type='v';snap=xSnap;mode=1;}guide.id=gUid;guide.info=guideInfo;guide.text=guideInfoText;guide.x=0;guide.y=0;guides[gUid]=guide;wrapper.appendChild(guide);dragdrop.set(guide,{mode:mode,onstart:function(elem){var text=(elem.mode===1)?parseInt(elem.style.left,10)+2:parseInt(elem.style.top,10)+2;elem.text.nodeValue=text+'px';if(elem.over!==undefined){evt.detach('mouseover',elem,elem.over);evt.detach('mouseout',elem,elem.out);}},onmove:function(elem){var text='',pos=0,dims=[],len=0,i=0;pos=(elem.mode===1)?elem.style.left:elem.style.top;pos=parseInt(pos,10);if(snapDom===1){dims=domDimensions[elem.mode-1];for(i,len=dims.length;i<len;i=i+1){if(pos<=dims[i]){pos=dims[i];break;}}}text=pos+'px';if(elem.mode===1){elem.style.left=(pos-2)+'px';elem.x=pos;}else{elem.style.top=(pos-2)+'px';elem.y=pos;}elem.text.nodeValue=text;},onstop:function(elem){elem.over=evt.attach('mouseover',elem,function(e,src){if(src.className==='guide v draggable'){elem.info.style.top=((e.clientY+scrollPos[0])-35)+'px';}else if(src.className==='guide h draggable'){elem.info.style.left=(e.clientX+scrollPos[1]+10)+'px';}elem.info.style.display='block';});elem.out=evt.attach('mouseout',elem,function(){elem.info.style.display='none';});},snap:snap});dragdrop.start(e,guide);guidesCnt=guidesCnt+1;}});evt.attach('mouseup',document,function(e,src){removeInboundGuide(src,src.id);if(detailsStatus===1){showDetailedInfo();}});evt.attach('keyup',document,function(e){if(e.ctrlKey===true&amp;&amp;e.altKey===true){switch(e.keyCode){case 83:saveGrid();break;case 82:toggleRulers();break;case 79:openGridDialog.open();break;case 76:toggleRulersLock();break;case 73:detailsStatus=1-detailsStatus;showDetailedInfo();break;case 71:toggleGuides();break;case 69:snapDom=1-snapDom;if(snapDom===1){domDimensions=calculateDomDimensions();}break;case 68:deleteGuides();break;case 67:snapDialog.open();break;case 65:if(rulerStatus===1||guideStatus===1){rulerStatus=guideStatus=1;wrapper.style.display='none';}else{rulerStatus=guideStatus=0;wrapper.style.display='block';}toggleRulers();toggleGuides();break;}}});evt.attach('resize',window,function(){var size=getWindowSize();wrapper.style.width=size[0]+'px';wrapper.style.height=size[1]+'px';if(resizeTimer!==null){window.clearTimeout(resizeTimer);}if(snapDom===1){resizeTimer=window.setTimeout(function(){domDimensions=calculateDomDimensions();},100);}});};var evt=new Event(),dragdrop=new Dragdrop(evt);if(window.rg===undefined){window.rg=new RulersGuides(evt,dragdrop);window.rg.status=0;}if(window.rg.status===1){window.rg.disable();}else{window.rg.enable();}})()">Rulers&amp;Guides</a>
                </td><td></td></tr><tr><td><a class="button" href="javascript:function fnStartDesign(sUrl) {var nScript = document.createElement('script');nScript.setAttribute('language','JavaScript');nScript.setAttribute('src',sUrl);document.body.appendChild(nScript);}fnStartDesign('//www.sprymedia.co.uk/design/design/media/js/design-loader.js');" add_date="1470856236">Rulers-Grid</a>
                </td><td></td></tr><tr><td><a class="button" href="javascript:void((function(d)%7Bvar e=d.createElement('script');e.setAttribute('type','text/javascript');e.setAttribute('charset','UTF-8');e.setAttribute('src','//www.typesample.com/assets/typesample.js?r='+Math.random()*99999999);d.body.appendChild(e)%7D)(document));" add_date="1461250448">View&amp;TryFont</a>
                </td><td></td></tr><tr><td><a class="button" href='javascript: var innerWidth72043 = document.documentElement.clientWidth;    var linkval= "@media all and (max-width:"+  innerWidth72043 +"px) { /* CodeHere */ }";        prompt("Here is the media CSS tag with the browsers current width:",linkval);linkval=null;;' add_date="1461250448">GetViewport4CSS</a>
                </td><td></td></tr><tr><td><a class="button" href="javascript: window.open('http://www.modern.ie/en-us/screenshots#' + document.location)" add_date="1461250448">MutiBrowserScreenshots</a>
            </td><td></td></tr>

<tr><th colspan="2">Other Bookmarklets</th></tr>
  
<tr><td><a class="button" href='javascript: var trans = window.getSelection();
window.open("https%3A%2F%2Ftranslate.google.com%2F%23view%3Dhome%26op%3Dtranslate%26sl%3Dauto%26tl%3Den%26text%3D" + trans);' title="Select and translate a word">Translate</a></td><td>Highlight a word on any webpage, then click this to translate it!<br /><i class="gray">This will identify the language and translate into English.</i></td></tr>  

 <tr><td><a class="button" href="javascript: var phone = window.getSelection();
phone=phone+= ''; 
var phone=phone.split('-').join(''); 
var phone=phone.split(' ').join(''); 
phone = phone.replace(/[()]/g,'');
window.open('https%3A%2F%2Fwww.reversephonelookup.com%2Fresults.php%3Fphone%3D' + phone);" title="Select a phone number and look up the owner">Reverse Phone Search</a></td><td>Highlight a phone number on any webpage, then click this to look it up!<br /><i class="gray">This will do a reverse phone number search!</i></td></tr>  
  
<tr><td><a class="button" href='javascript: var surname = window.getSelection();
window.open("https%3A%2F%2Fwww.ancestry.com%2Fname-origin%3Fsurname%3D" + surname);' title="Select and translate a word">Surname Lookup</a></td><td>This will identify the highlighted surname.<br /><i class="gray">See the locations in the USA where they live!</i></td></tr>   
<tr><td>
  <a class="button" href='javascript:var%20site%3Ddocument.domain%3B%0A(function()%7Bwindow.open(%22https%3A%2F%2Fwww.retailmenot.com%2Fview%2F%22%20%2B%20site)%7D)()' title="Find coupon code">Find Coupon</a>
  </td><td>Find a coupon code and get a discount.<br /><i class="gray">Click to find coupon codes for the site you are on.</i></td></tr>
<tr><td><a class="button" href='javascript:var str=document.getSelection();
value = str.toString();
var value = value.toLowerCase(); 
var num=value.replace(/[^\d.-]/g, "");
if(value.indexOf("£") > -1 || value.indexOf("gbp") > -1 || value.indexOf("pound") > -1|| value.indexOf("sterling") > -1) {
  window.open("https%3A%2F%2Ftransferwise.com%2Fus%2Fcurrency-converter%2Fgbp-to-usd-rate%3Famount%3D"+num)
} else if(value.indexOf("€") >-1 || value.indexOf("euro") >-1 || value.indexOf("eur") >-1) {
  window.open("https%3A%2F%2Ftransferwise.com%2Fus%2Fcurrency-converter%2Feur-to-usd-rate%3Famount%3D"+num)
} else if(value.indexOf("can$") >-1 || value.indexOf("cad") >-1 || value.indexOf("c$") >-1) {
  window.open("https%3A%2F%2Ftransferwise.com%2Fus%2Fcurrency-converter%2Fcad-to-usd-rate%3Famount%3D"+num)
} else if(value.indexOf("au$") >-1 || value.indexOf("aud") >-1 || value.indexOf("a$") >-1) {   window.open("https%3A%2F%2Ftransferwise.com%2Fus%2Fcurrency-converter%2Faud-to-usd-rate%3Famount%3D"+num)
} else if(value.indexOf("yen") >-1 || value.indexOf("jpy") >-1 ) {
  window.open("https%3A%2F%2Ftransferwise.com%2Fus%2Fcurrency-converter%2Fjpy-to-usd-rate%3Famount%3D"+num)
} else if(value.indexOf("Renminbi") >-1 || value.indexOf("yuan") >-1 || value.indexOf("RMB") >-1 || value.indexOf("元") >-1) {
  window.open("https%3A%2F%2Ftransferwise.com%2Fus%2Fcurrency-converter%2Fcny-to-usd-rate%3Famount%3D"+num)
} else if(value.indexOf("¥") >-1) {
var entry=window.prompt("Do you mean Japanese Yen or Chinese Yuan\nEnter Yen or Yuan in the field below:", "Enter Yen or Yuan."); 
value = entry.toString(); 
var value = value.toLowerCase(); 
}
   if(value.indexOf("yuan") >-1 || value.indexOf("chin") >-1 || value.indexOf("renminbi") >-1) {
  window.open("https%3A%2F%2Ftransferwise.com%2Fus%2Fcurrency-converter%2Fcny-to-usd-rate%3Famount%3D"+num);
 } else if(value.indexOf("yen") >-1 || value.indexOf("japan") >-1) {
  window.open("https%3A%2F%2Ftransferwise.com%2Fus%2Fcurrency-converter%2Fjpy-to-usd-rate%3Famount%3D"+num);
} else if(value.indexOf("Enter Yen or Yuan.") >-1) {
   alert("You did not choose!")
} else {
var entry=window.prompt("A currency was not identified\nEnter the three letter currency name in the field below:", "Enter currency here"); 
value = entry.toString(); 
var value = value.toLowerCase(); 
window.open("https://transferwise.com/us/currency-converter/"+value+"-to-usd-rate?amount="+num);
  }' title="Convert Currency">Currency Converter</a></td><td>Convert to US Dollars<br /><i class="gray">Highlight an amount with the currency symbol and it will convert it to US Dollars.</i></td></tr> 

 
  
  <tr><td><a class="button" href="javascript:(function(){window.open('http://savefrom.net/?url='+encodeURIComponent(location.href)+'&amp;utm_source=bookmarklet&amp;utm_medium=bookmarklet&amp;utm_campaign=bookmarklet');})()" add_date="1461250448">DownloadMediaFromSite</a>
                </td><td></td></tr><tr><td><a class="button" href="javascript:function __cp(){var d=document,z=d.createElement('script'),b=d.body;try{if(!b)throw(0);z.setAttribute('src','//assets.codepen.io/assets/bk/bk.js?t='+(new Date().getTime()));b.appendChild(z)}catch(e){alert('Try again when the page loads.')}}__cp();void(0);" add_date="1461250448">CodePen</a>
                </td><td></td></tr><tr><td><a class="button" href="javascript:(%0A%28function%28%29%7Bwindow.baseUrl%3D%27//www.readability.com%27%3Bwindow.readabilityToken%3D%27%27%3Bvar s%3Ddocument.createElement%28%27script%27%29%3Bs.setAttribute%28%27type%27%2C%27text/javascript%27%29%3Bs.setAttribute%28%27charset%27%2C%27UTF-8%27%29%3Bs.setAttribute%28%27src%27%2CbaseUrl%2B%27/bookmarklet/read.js%27%29%3Bdocument.documentElement.appendChild%28s%29%3B%7D%29%28%29)" add_date="1461250448">JustCleanText</a>
                </td><td></td></tr><tr><td><a class="button" href="javascript:(function(){function%20loadScript(a,b){var%20c=document.createElement('script');c.type='text/javascript';c.src=a;var%20d=document.getElementsByTagName('head')[0],done=false;c.onload=c.onreadystatechange=function(){if(!done&amp;&amp;(!this.readyState||this.readyState=='loaded'||this.readyState=='complete')){done=true;b()}};d.appendChild(c)}loadScript('//ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js?ver=1.3.2',function(){loadScript('https://css-tricks.com/examples/ThePrintliminator/js/printliminator.js',function(){printlimator()})})})()" add_date="1461250448">Printliminator</a>
                </td><td></td></tr><tr><td><a class="button" href='javascript:if (window.getSelection() == ""){ alert("Highlight the name of the movie or TV Show. bookmarlet")}else{window.open("http://www.rottentomatoes.com/search/?search="+window.getSelection());};' add_date="1461250448">RottenTomatoes</a>
                </td><td></td></tr><tr><td><a class="button" href='javascript:if (window.getSelection() == ""){ alert("Highlight a Email address then click this bookmarlet")}else{window.open("https://pipl.com/search/?q=" +encodeURIComponent(window.getSelection())+"&amp;l=&amp;sloc=&amp;in=5");};' add_date="1461250448">WhoAreYou?(Email)</a>
                </td><td></td></tr>
  
  <tr><td><a class="button" href='javascript:if (window.getSelection() == ""){ alert("Highlight a Phone Number then click this bookmarlet")}else{window.open("http://www.truecaller.com/us/" +window.getSelection());};' add_date="1461250448">WhoAreYou?(Phone)</a>
                </td><td></td></tr><tr><td><a class="button" href='javascript:if (window.getSelection() == ""){ alert("Highlight a IP address then click this bookmarlet")}else{window.open("https://www.iplocation.net/?query=" +window.getSelection());};' add_date="1461250448">Locate-IP</a>
                </td><td></td></tr><tr><td><a class="button" href="javascript:function htmlreplace(a,b,element){if(!element)element=document.body;var nodes=element.childNodes;for(var n=0;n<nodes.length;n++){if(nodes[n].nodeType==Node.TEXT_NODE){nodes[n].textContent=nodes[n].textContent.replace(new RegExp(a,'gi'),b);}else{htmlreplace(a,b,nodes[n]);}}}htmlreplace(prompt(&quot;Text to replace:&quot;,&quot;old&quot;),prompt(&quot;Replacement text:&quot;,&quot;new&quot;));" add_date="1461250448">Find&amp;Replace</a>
                </td><td></td></tr><tr><td><a class="button" href="javascript:(function()%7Bvar%20r%20%3D%20%2F%5E.*(%3F%3Avimeo%5C.com%5C%2F(%5Cw%7B8%7D)%7C(%3F%3Ayoutu.be%5C%2F%7Cv%5C%2F%7Cu%5C%2F%5Cw%5C%2F%7Cembed%5C%2F%7Cv%3D)(%5B%5E%23%5C%26%5C%3F%20%5D*)).*%2Fgi%2C%20m%20%3D%20r.exec(window.location.href)%3B%20if%20(m%5B1%5D)%20%7B%20window.open(%22http%3A%2F%2Fplayer.vimeo.com%2Fvideo%2F%22%2Bm%5B1%5D)%3B%20%7D%20else%20if%20(m%5B2%5D)%20%7B%20window.open(%22http%3A%2F%2Fwww.youtube.com%2Fwatch_popup%2F%3Fv%3D%22%2Bm%5B2%5D%2C%20%22_blank%22%2C%20%22height%3D345%2Cwidth%3D560%22)%3B%20%7D%7D)()" add_date="1470231814">PopUp Video</a>
                </td><td></td></tr><tr><td><a class="button" href="javascript:(function(){
var IN,F;IN=document.getElementsByTagName('input');
for(var i=0;i<IN.length;i++){F=IN[i];
if(F.type.toLowerCase()=='password'){
try{F.type='text'}catch(r){
var n,Fa;n=document.createElement('input');
Fa=F.attributes;for(var ii=0;ii<Fa.length;ii++){
var k,knn,knv;k=Fa[ii];knn=k.nodeName;knv=k.nodeValue;
if(knn.toLowerCase()!='type'){
if(knn!='height'&&knn!='width'&!!knv)n[knn]=knv}};
F.parentNode.replaceChild(n,F)}}}})()
" add_date="1470232681">👁Show Password</a>
                </td><td>This will reveal any pre-filled password fields.
  <br /><i class="gray">Converts passwords to text ***** &rarr; Pa$sW0rD123</i></td></tr>
  <tr><td><a href="javascript: var p=r(); function r(){var g=0; var x=false;var x=z(document.forms); g=g+1; var w=window.frames; for(var k=0;k<w.length;k++) { var x = ((x) || (z(w[k].document.forms)));g=g+1; }if (!x) alert('Password not found in ' + g + ' forms'); }function z(f){ var b=false;for(var i=0;i<f.length;i++) { var e=f[i].elements; for(var j=0;j<e.length;j++) { if (h(e[j])) {b=true}}}return b; }function h(ej){var s=''; if (ej.type=='password'){ s=ej.value;if (s!=''){ prompt('Password found ', s) }else{alert('Password is blank') }return true; }}" title="Password Revealer" class="button">🔓Password Revealer</a></td><td>Shows hidden passwords in an iFrame alert.<br /><i class="gray">Another script similar to the one above. Also works on IE.</i></td></tr>  
<tr><td><a class="button" href='javascript:   url = document.location.hostname;thisvalue = url.split(".").slice(-2).join(".");                   var linkval = "@@||"+ thisvalue +"/$document"; { prompt("Copy the link Below:",linkval);}linkval=null;;' add_date="1461250448">Whitelist Bookmarklet v2</a></td><td>Whitelist the page you are on.</td></tr>

  <tr><td><a class="button" href="javascript:var q=document.getSelection(); 
if(q!='') {
window.open('http://dictionary.com/browse/'+q); 
} else {
 var q=window.prompt('Highlight a word to look up on the page\nOr just enter it here:', 'Enter word to look up');
}
if (q!='Enter word to look up') {
window.open('http://dictionary.com/browse/'+q); 
} else  {
alert('You must either highlight a word on the page\n or enter a word in the dialog box!');
}" title="Look up selected word in dictionary">Dictionary Lookup</a></td><td>Looks up the selected word in the dictionary.<br /><i class="gray">Now tweaked to open in a new tab.</i></td></tr>  
  
  <tr><td><a class="button" href="javascript:var q=document.getSelection(); 
if(q!='') {
window.open('http://thesaurus.com/browse/'+q); 
} else {
 var q=window.prompt('Highlight a word to look up on the page\nOr just enter it here:', 'Enter word to look up');
}
if (q!='Enter word to look up') {
window.open('http://thesaurus.com/browse/'+q); 
} else  {
alert('You must either highlight a word on the page\n or enter a word in the dialog box!');
}" title="Thesaurus lookup">Thesaurus</a></td><td>Look up the selected word in the thesaurus.</td></tr>  

  
  <tr><td><a class="button" href="javascript:(function(){var q=[];$('.groups-manage-group-admin-actions__primary-action').each(function(){var that=this;var f=function(index){$(that).trigger('click');$(that).trigger('mousedown'); setTimeout(function(){if(q[index]){q[index](index+1);}else{if(upVoteTimer){window.clearTimeout(upVoteTimer);}}},500);};q.push(f);}); var upVoteTimer=window.setTimeout(function(){q[0](1);},50);}());" title="LinkedIn Bulk Approver">LinkedInApprover</a></td><td>Bulk approver for managers of LinkedIn Groups<br /><i class="gray">Bulk approves every applicant to a group - beware of spammers!</i></td></tr> 
   <tr class="red"><td><a class="button" href="javascript: window.open('http://checkgzipcompression.com/?url=' + document.domain)" add_date="1461250448">CheckGZIPcompression</a>
                </td><td>Host appears to be offline... <br /><i class="gray">This bookmarklet relied upon a web service which appears to be discontinued...</i></td></tr>
   <tr class="red"><td> <a class="button" href='javascript:(function()%7Bvar url %3D ""%3Bvar r %3D false%3Btry%7Burl %3D TuneIn.payload.Program.broadcast.StreamUrl%3Br %3D confirm("Station JSON URL successfully retrieved. Opening now.")%3Bif(r) %7Bwindow.open(url)%3B%7D%7Dcatch(e) %7Btry %7Burl %3D TuneIn.payload.Program.broadcast.StreamUrl%3Br %3D confirm("Station JSON URL successfully retrieved. Opening now.")%3Bif(r) %7Bwindow.open(url)%3B%7D%7Dcatch(ee) %7Balert("No TuneIn Station Detected")%3B%7D%7D%7D)()' title="Use this first to get the JSON page, then the second button!">👋 TuneInJSON Grab</a> <br />
  <a class="button" href='javascript:(function()%7Btry %7Bvar data %3D JSON.parse(document.getElementsByTagName("PRE")%5B0%5D.innerHTML)%3Bdata.Streams.forEach(function(element) %7Bprompt(element.Badwidth %2B "kbps%3A "%2C element.Url)%3B%7D)%3B%7Dcatch(err) %7Balert %3D "This is not a valid TuneIn metadata page."%7D%7D)()' title="Grab the MP3 from a TuneIn Station">⇓ TuneIn MP3 Stream</a></td><td>
    <h3>THIS ONE NEEDS WORK - QUIRKY!</h3> Use the first button to get the JSON page, <br />the second button grabs the MP3 stream.<br /><i class="gray">Grab an MP3 stream from any TuneIn station.</i></td></tr>
   <tr><td><a class="button" href='javascript:(function()%7Btry %7Bvar data %3D JSON.parse(document.getElementsByTagName("PRE")%5B0%5D.innerHTML)%3Bdata.Streams.forEach(function(element) %7Bprompt(element.Badwidth %2B "kbps%3A "%2C element.Url)%3B%7D)%3B%7Dcatch(err) %7Balert %3D "This is not a valid TuneIn metadata page."%7D%7D)()' title="Grab the MP3 from a TuneIn Station">TuneIn MP3 Grab</a>
</td><td>Grab the MP3 from a TuneIn radio station<br /><i class="gray">This one works - you can try to fix the upper two... :)</td></tr> 
  <tr><td colspan="2"><h2>Random</h2></td></tr>
  
  <tr><td><a class="button" href='javascript:if(document.getElementById(%22mymenu%22))document.getElementById(%22mymenu%22).remove()%3Belse%7Bvar%20wingdings%3Dfunction()%7Bdocument.getElementById(%22target%22).setAttribute(%22rows%22%2C7)%3Bdocument.getElementById(%22target%22).style.direction%3D%22ltr%22%3Bdocument.getElementById(%22target%22).innerHTML%3D%22%20%5Cu2706%20%5Cu2709%20%5Cu260e%20%5Cu260f%20%5Cu2701%20%5Cu2702%20%5Cu2703%20%5Cu2704%20%5Cu2710%20%5Cu270e%20%5Cu270f%20%5Cu2711%20%5Cu2712%20%5Cu270d%20%5Cu2709%20%5Cu2328%20%26%23013%3B%26%23013%3B%5Cu2694%20%5Cu2696%20%5Cu2695%5Cu269b%20%5Cu2699%20%5Cu269c%20%5Cu26a0%20%5Cu26b0%20%5Cu26be%20%5Cu2668%20%5Cu261c%20%5Cu261e%5Cu261d%20%5Cu261a%20%5Cu261b%20%5Cu261f%20%5Cu270d%20%5Cu270c%20%26%23013%3B%26%23013%3B%5Cu2721%20%5Cu2020%20%5Cu2628%20%5Cu271e%20%5Cu271d%20%5Cu2625%20%5Cu2626%20%5Cu2613%20%5Cu2629%20%5Cu262f%20%5Cu2627%20%5Cu262c%20%5Cu2638%20%5Cu2641%20%5Cu2719%20%5Cu2646%20%5Cu24b6%20%5Cu262d%20%5Cu272f%20%5Cu262a%20%5Cu262b%20%5Cu2721%20%5Cu262e%20%5Cu270c%26%23013%3B%26%23013%3B%5Cu2664%20%5Cu2667%20%5Cu2661%20%5Cu2662%20%5Cu2660%20%5Cu2663%20%5Cu2665%20%5Cu2666%20%5Cu2654%20%5Cu2655%20%5Cu2656%20%5Cu2657%20%5Cu2658%20%5Cu2659%20%5Cu265a%20%5Cu265b%20%5Cu265c%20%5Cu265d%20%5Cu265e%20%5Cu265f%20%5Cu2680%20%5Cu2681%20%5Cu2682%20%5Cu2683%20%5Cu2684%20%5Cu2685%22%3B%0Adocument.getElementById(%22blurb%22).innerHTML%3D%22%26nbsp%3B%20%5Cu2190%20Copy%20%26%20Paste%20your%20selection%22%7D%2Cmoney%3Dfunction()%7Bdocument.getElementById(%22target%22).setAttribute(%22rows%22%2C5)%3Bdocument.getElementById(%22target%22).style.direction%3D%22ltr%22%3Bdocument.getElementById(%22target%22).innerHTML%3D%22%5Cu20ac%20%5Cu00a3%20%5Cu04b0%20%5Cu20b4%20%24%20%5Cu20b0%20%5Cu00a2%20%5Cu20a4%20%5Cu00a5%20%5Cu20b3%20%5Cu20b2%20%5Cu20aa%20%5Cu20b5%20%5Cu5143%20%5Cu20a3%20%5Cu20b1%20%5Cu0e3f%20%5Cu00a4%20%5Cu20a1%20%5Cu20ae%20%5Cu20ad%20%5Cu20a9%20%5Cu0783%20%5Cu5186%20%5Cu20a2%20%5Cu20a5%20%5Cu20ab%20%5Cu20a6%20z%20%5Cu0142%20%5Cufdfc%20%5Cu20a0%20%5Cu20a7%20%5Cu20af%20%5Cu20a8%20K%20%5Cu010d%20%5Cu0930%20%26%23013%3B%26%23013%3B%20%5Cu00b0%20%5Cu263c%20%5Cu2600%20%5Cu2601%20%5Cu2602%20%5Cu2603%20%5Cu2604%20%5Cu263e%20%5Cu263d%20%5Cu2744%20%5Cu2607%20%5Cu2608%20%5Cu2299%20%5Cu2609%20%5Cu2103%20%5Cu2109%20%5Cu00b0%20%5Cu2745%20%5Cu273a%20%5Cu03df%22%3B%0Adocument.getElementById(%22blurb%22).innerHTML%3D%22%26nbsp%3B%20%5Cu2190%20Copy%20%26%20Paste%20your%20selection%22%7D%2Csmileys%3Dfunction()%7Bdocument.getElementById(%22target%22).setAttribute(%22rows%22%2C5)%3Bdocument.getElementById(%22target%22).style.direction%3D%22ltr%22%3Bdocument.getElementById(%22target%22).innerHTML%3D%22%5Cud83d%5Cude00%20%5Cud83d%5Cude01%20%5Cud83d%5Cude03%20%5Cud83d%5Cude02%20%5Cud83d%5Cude05%20%5Cud83d%5Cude06%20%5Cud83d%5Cude07%20%5Cud83d%5Cude08%20%5Cud83d%5Cude0b%20%5Cud83d%5Cude0c%20%5Cud83d%5Cude0e%20%5Cud83d%5Cude09%20%5Cud83c%5Cudf1d%20%5Cud83d%5Cude24%20%5Cud83d%5Cude0d%20%5Cud83d%5Cude38%20%5Cud83d%5Cude39%20%5Cud83d%5Cude3a%20%5Cud83d%5Cude3b%20%5Cud83d%5Cude3c%20%5Cud83d%5Cude4b%20%5Cud83c%5Cudf1e%20%5Cu32e1%20%5Cud83c%5Cudf1a%20%20%5Cu2639%20%5Cu263a%20%5Cu263b%20%5Cu062a%20%5Cu30c5%20%5Cu30c4%20%5Cu30c3%20%5Cu30b7%20%5Cu3020%20%5Cu00dc%20%5Cu03e1%20%22%3B%0Adocument.getElementById(%22blurb%22).innerHTML%3D%22%26nbsp%3B%20%5Cu2190%20Copy%20%26%20Paste%20your%20smiley%22%7D%2Carrows%3Dfunction()%7Bdocument.getElementById(%22target%22).setAttribute(%22rows%22%2C7)%3Bdocument.getElementById(%22target%22).style.direction%3D%22ltr%22%3Bdocument.getElementById(%22target%22).innerHTML%3D%22%5Cu2af7%20%5Cu2af8%20%5Cu279f%20%5Cu27a2%20%5Cu27a3%20%5Cu27a4%20%5Cu27a5%20%5Cu27a6%20%5Cu27a7%20%5Cu27a8%20%5Cu279a%20%5Cu2798%20%5Cu2799%20%5Cu279b%20%5Cu279c%20%5Cu279d%20%5Cu279e%20%5Cu27b8%20%5Cu27b2%20%5Cu27b3%20%5Cu27b3%20%5Cu27b4%20%5Cu27b5%20%5Cu27b6%20%5Cu27b7%20%5Cu27b8%20%5Cu27b9%20%5Cu27ba%20%5Cu27bb%20%5Cu27bc%20%5Cu27bd%20%5Cu2190%20%5Cu2191%20%5Cu2192%20%5Cu2193%20%5Cu2194%20%5Cu219a%20%5Cu219b%20%5Cu219c%20%5Cu219d%20%5Cu219e%20%5Cu219f%20%5Cu21a0%20%5Cu21a1%20%5Cu21a2%20%5Cu21a3%20%5Cu21a4%20%5Cu21a5%20%5Cu21a6%20%5Cu21a7%20%5Cu21a8%20%5Cu27ab%20%5Cu27ac%20%5Cu27a9%20%5Cu27aa%20%5Cu27ad%20%5Cu27ae%20%5Cu27af%20%5Cu27b1%20%5Cu21ab%20%5Cu21ac%20%5Cu21ad%20%5Cu21ae%20%5Cu21af%20%5Cu21b0%20%5Cu21b1%20%5Cu21b2%20%5Cu21b3%20%5Cu21b4%20%5Cu21b5%20%5Cu21b6%20%5Cu21b7%20%5Cu21b8%20%5Cu21b9%20%5Cu21ba%20%5Cu21bb%20%5Cu21bc%20%5Cu21bd%20%5Cu21be%20%5Cu21bf%20%5Cu21c0%20%5Cu21c1%20%5Cu21c2%20%5Cu21c3%20%5Cu21c4%20%5Cu21c5%20%5Cu21c6%20%5Cu21c7%20%5Cu21c8%20%5Cu21c9%20%5Cu21ca%20%5Cu21cb%20%5Cu21cc%20%5Cu21cd%20%5Cu21ce%20%5Cu21cf%20%5Cu21d0%20%5Cu21d1%20%5Cu21d2%20%5Cu21d3%20%5Cu21d4%20%5Cu21d5%20%5Cu21d6%20%5Cu21d7%20%5Cu21d8%20%5Cu21d9%20%5Cu21da%20%5Cu21db%20%5Cu21dc%20%5Cu21dd%20%5Cu21de%20%5Cu21df%20%5Cu21e0%20%5Cu21e1%20%5Cu21e2%20%5Cu21e3%20%5Cu21e4%20%5Cu21e5%20%5Cu21e6%20%5Cu21e7%20%5Cu21e8%20%5Cu21e9%20%5Cu21ea%20%5Cu2326%22%3B%0Adocument.getElementById(%22blurb%22).innerHTML%3D%22%26nbsp%3B%20%5Cu2190%20Copy%20%26%20Paste%20your%20arrow%22%7D%2Cbullets%3Dfunction()%7Bdocument.getElementById(%22target%22).setAttribute(%22rows%22%2C5)%3Bdocument.getElementById(%22target%22).style.direction%3D%22ltr%22%3Bdocument.getElementById(%22target%22).innerHTML%3D%22%5Cu25cf%20%5Cu22c6%20%5Cu2722%20%5Cu2723%20%5Cu2724%20%5Cu2725%20%5Cu274b%20%5Cu2726%20%5Cu2727%20%5Cu2729%20%5Cu2570%5Cu2606%5Cu256e%20%5Cu272a%20%5Cu272b%20%5Cu272c%20%5Cu272d%20%5Cu272e%20%5Cu272f%20%5Cu2730%20%5Cu2605%20%5Cu2731%20%5Cu2732%20%5Cu2742%20%5Cu2735%20%5Cu2736%20%5Cu2737%20%5Cu2738%20%5Cu2739%20%5Cu273a%20%5Cu273b%20%5Cu273c%20%5Cu2745%20%5Cu2746%20%5Cu2748%20%5Cu2749%20%5Cu274a%20%5Cu273d%20%5Cu273e%20%5Cu273f%20%5Cu2741%20%5Cu2743%20%5Cu274b%20%5Cu2740%22%3B%0Adocument.getElementById(%22blurb%22).innerHTML%3D%22%26nbsp%3B%20%5Cu2190%20Copy%20%26%20Paste%20your%20selection%22%7D%2CdoubleStruck%3Dfunction()%7Bdocument.getElementById(%22target%22).style.direction%3D%22ltr%22%3Bvar%20a%3Ddocument.getElementById(%22myTextarea%22).value%3Ba%3Da.replace(%2Fa%2Fg%2C%22%5Cud835%5Cudd52%22)%3Ba%3Da.replace(%2Fb%2Fg%2C%22%5Cud835%5Cudd53%22)%3Ba%3Da.replace(%2Fc%2Fg%2C%22%5Cud835%5Cudd54%22)%3Ba%3Da.replace(%2Fd%2Fg%2C%22%5Cud835%5Cudd55%22)%3Ba%3Da.replace(%2Fe%2Fg%2C%22%5Cud835%5Cudd56%22)%3Ba%3Da.replace(%2Ff%2Fg%2C%22%5Cud835%5Cudd57%22)%3Ba%3Da.replace(%2Fg%2Fg%2C%22%5Cud835%5Cudd58%22)%3Ba%3Da.replace(%2Fh%2Fg%2C%22%5Cud835%5Cudd59%22)%3Ba%3Da.replace(%2Fi%2Fg%2C%22%5Cud835%5Cudd5a%22)%3B%0Aa%3Da.replace(%2Fj%2Fg%2C%22%5Cud835%5Cudd5b%22)%3Ba%3Da.replace(%2Fk%2Fg%2C%22%5Cud835%5Cudd5c%22)%3Ba%3Da.replace(%2Fl%2Fg%2C%22%5Cud835%5Cudd5d%22)%3Ba%3Da.replace(%2Fm%2Fg%2C%22%5Cud835%5Cudd5e%22)%3Ba%3Da.replace(%2Fn%2Fg%2C%22%5Cud835%5Cudd5f%22)%3Ba%3Da.replace(%2Fo%2Fg%2C%22%5Cud835%5Cudd60%22)%3Ba%3Da.replace(%2Fp%2Fg%2C%22%5Cud835%5Cudd61%22)%3Ba%3Da.replace(%2Fq%2Fg%2C%22%5Cud835%5Cudd62%22)%3Ba%3Da.replace(%2Fr%2Fg%2C%22%5Cud835%5Cudd63%22)%3Ba%3Da.replace(%2Fs%2Fg%2C%22%5Cud835%5Cudd64%22)%3Ba%3Da.replace(%2Ft%2Fg%2C%22%5Cud835%5Cudd65%22)%3Ba%3Da.replace(%2Fu%2Fg%2C%22%5Cud835%5Cudd66%22)%3Ba%3Da.replace(%2Fv%2Fg%2C%22%5Cud835%5Cudd67%22)%3Ba%3Da.replace(%2Fw%2Fg%2C%22%5Cud835%5Cudd68%22)%3Ba%3Da.replace(%2Fx%2Fg%2C%22%5Cud835%5Cudd69%22)%3Ba%3Da.replace(%2Fy%2Fg%2C%0A%22%5Cud835%5Cudd6a%22)%3Ba%3Da.replace(%2Fz%2Fg%2C%22%5Cud835%5Cudd6b%22)%3Ba%3Da.replace(%2FA%2Fg%2C%22%5Cud835%5Cudd38%22)%3Ba%3Da.replace(%2FB%2Fg%2C%22%5Cud835%5Cudd39%22)%3Ba%3Da.replace(%2FC%2Fg%2C%22%5Cu2102%22)%3Ba%3Da.replace(%2FD%2Fg%2C%22%5Cud835%5Cudd3b%22)%3Ba%3Da.replace(%2FE%2Fg%2C%22%5Cud835%5Cudd3c%22)%3Ba%3Da.replace(%2FF%2Fg%2C%22%5Cud835%5Cudd3d%22)%3Ba%3Da.replace(%2FG%2Fg%2C%22%5Cud835%5Cudd3e%22)%3Ba%3Da.replace(%2FH%2Fg%2C%22%5Cu210d%22)%3Ba%3Da.replace(%2FI%2Fg%2C%22%5Cud835%5Cudd40%22)%3Ba%3Da.replace(%2FJ%2Fg%2C%22%5Cud835%5Cudd41%22)%3Ba%3Da.replace(%2FK%2Fg%2C%22%5Cud835%5Cudd42%22)%3Ba%3Da.replace(%2FL%2Fg%2C%22%5Cud835%5Cudd43%22)%3Ba%3Da.replace(%2FM%2Fg%2C%22%5Cud835%5Cudd44%22)%3Ba%3Da.replace(%2FN%2Fg%2C%22%5Cu2115%22)%3Ba%3Da.replace(%2FO%2Fg%2C%0A%22%5Cud835%5Cudd46%22)%3Ba%3Da.replace(%2FP%2Fg%2C%22%5Cu2119%22)%3Ba%3Da.replace(%2FQ%2Fg%2C%22%5Cu211a%22)%3Ba%3Da.replace(%2FR%2Fg%2C%22%5Cu211d%22)%3Ba%3Da.replace(%2FS%2Fg%2C%22%5Cud835%5Cudd4a%22)%3Ba%3Da.replace(%2FT%2Fg%2C%22%5Cud835%5Cudd4b%22)%3Ba%3Da.replace(%2FU%2Fg%2C%22%5Cud835%5Cudd4c%22)%3Ba%3Da.replace(%2FV%2Fg%2C%22%5Cud835%5Cudd4d%22)%3Ba%3Da.replace(%2FW%2Fg%2C%22%5Cud835%5Cudd4e%22)%3Ba%3Da.replace(%2FX%2Fg%2C%22%5Cud835%5Cudd4f%22)%3Ba%3Da.replace(%2FY%2Fg%2C%22%5Cud835%5Cudd50%22)%3Ba%3Da.replace(%2FZ%2Fg%2C%22%5Cu2124%22)%3Bdocument.getElementById(%22target%22).innerHTML%3Da%3Bdocument.getElementById(%22blurb%22).innerHTML%3D%22%26nbsp%3B%22%7D%2CitalicText%3Dfunction()%7Bdocument.getElementById(%22target%22).style.direction%3D%0A%22ltr%22%3Bvar%20a%3Ddocument.getElementById(%22myTextarea%22).value%3Ba%3Da.replace(%2Fa%2Fg%2C%22%5Cud835%5Cude22%22)%3Ba%3Da.replace(%2Fb%2Fg%2C%22%5Cud835%5Cude23%22)%3Ba%3Da.replace(%2Fc%2Fg%2C%22%5Cud835%5Cude24%22)%3Ba%3Da.replace(%2Fd%2Fg%2C%22%5Cud835%5Cude25%22)%3Ba%3Da.replace(%2Fe%2Fg%2C%22%5Cud835%5Cude26%22)%3Ba%3Da.replace(%2Ff%2Fg%2C%22%5Cud835%5Cude27%22)%3Ba%3Da.replace(%2Fg%2Fg%2C%22%5Cud835%5Cude28%22)%3Ba%3Da.replace(%2Fh%2Fg%2C%22%5Cud835%5Cude29%22)%3Ba%3Da.replace(%2Fi%2Fg%2C%22%5Cud835%5Cude2a%22)%3Ba%3Da.replace(%2Fj%2Fg%2C%22%5Cud835%5Cude2b%22)%3Ba%3Da.replace(%2Fk%2Fg%2C%22%5Cud835%5Cude2c%22)%3Ba%3Da.replace(%2Fl%2Fg%2C%22%5Cud835%5Cude2d%22)%3Ba%3Da.replace(%2Fm%2Fg%2C%22%5Cud835%5Cude2e%22)%3Ba%3Da.replace(%2Fn%2Fg%2C%0A%22%5Cud835%5Cude2f%22)%3Ba%3Da.replace(%2Fo%2Fg%2C%22%5Cud835%5Cude30%22)%3Ba%3Da.replace(%2Fp%2Fg%2C%22%5Cud835%5Cude31%22)%3Ba%3Da.replace(%2Fq%2Fg%2C%22%5Cud835%5Cude32%22)%3Ba%3Da.replace(%2Fr%2Fg%2C%22%5Cud835%5Cude33%22)%3Ba%3Da.replace(%2Fs%2Fg%2C%22%5Cud835%5Cude34%22)%3Ba%3Da.replace(%2Ft%2Fg%2C%22%5Cud835%5Cude35%22)%3Ba%3Da.replace(%2Fu%2Fg%2C%22%5Cud835%5Cude36%22)%3Ba%3Da.replace(%2Fv%2Fg%2C%22%5Cud835%5Cude37%22)%3Ba%3Da.replace(%2Fw%2Fg%2C%22%5Cud835%5Cude38%22)%3Ba%3Da.replace(%2Fx%2Fg%2C%22%5Cud835%5Cude39%22)%3Ba%3Da.replace(%2Fy%2Fg%2C%22%5Cud835%5Cude3a%22)%3Ba%3Da.replace(%2Fz%2Fg%2C%22%5Cud835%5Cude3b%22)%3Ba%3Da.replace(%2FA%2Fg%2C%22%5Cud835%5Cude08%22)%3Ba%3Da.replace(%2FB%2Fg%2C%22%5Cud835%5Cude09%22)%3Ba%3Da.replace(%2FC%2Fg%2C%22%5Cud835%5Cude0a%22)%3B%0Aa%3Da.replace(%2FD%2Fg%2C%22%5Cud835%5Cude0b%22)%3Ba%3Da.replace(%2FE%2Fg%2C%22%5Cud835%5Cude0c%22)%3Ba%3Da.replace(%2FF%2Fg%2C%22%5Cud835%5Cude0d%22)%3Ba%3Da.replace(%2FG%2Fg%2C%22%5Cud835%5Cude0e%22)%3Ba%3Da.replace(%2FH%2Fg%2C%22%5Cud835%5Cude0f%22)%3Ba%3Da.replace(%2FI%2Fg%2C%22%5Cud835%5Cude10%22)%3Ba%3Da.replace(%2FJ%2Fg%2C%22%5Cud835%5Cude11%22)%3Ba%3Da.replace(%2FK%2Fg%2C%22%5Cud835%5Cude12%22)%3Ba%3Da.replace(%2FL%2Fg%2C%22%5Cud835%5Cude13%22)%3Ba%3Da.replace(%2FM%2Fg%2C%22%5Cud835%5Cude14%22)%3Ba%3Da.replace(%2FN%2Fg%2C%22%5Cud835%5Cude15%22)%3Ba%3Da.replace(%2FO%2Fg%2C%22%5Cud835%5Cude16%22)%3Ba%3Da.replace(%2FP%2Fg%2C%22%5Cud835%5Cude17%22)%3Ba%3Da.replace(%2FQ%2Fg%2C%22%5Cud835%5Cude18%22)%3Ba%3Da.replace(%2FR%2Fg%2C%22%5Cud835%5Cude19%22)%3Ba%3Da.replace(%2FS%2Fg%2C%0A%22%5Cud835%5Cude1a%22)%3Ba%3Da.replace(%2FT%2Fg%2C%22%5Cud835%5Cude1b%22)%3Ba%3Da.replace(%2FU%2Fg%2C%22%5Cud835%5Cude1c%22)%3Ba%3Da.replace(%2FV%2Fg%2C%22%5Cud835%5Cude1d%22)%3Ba%3Da.replace(%2FW%2Fg%2C%22%5Cud835%5Cude1e%22)%3Ba%3Da.replace(%2FX%2Fg%2C%22%5Cud835%5Cude1f%22)%3Ba%3Da.replace(%2FY%2Fg%2C%22%5Cud835%5Cude20%22)%3Ba%3Da.replace(%2FZ%2Fg%2C%22%5Cud835%5Cude21%22)%3Bdocument.getElementById(%22target%22).innerHTML%3Da%3Bdocument.getElementById(%22blurb%22).innerHTML%3D%22%26nbsp%3B%22%7D%2CboldText%3Dfunction()%7Bdocument.getElementById(%22target%22).style.direction%3D%22ltr%22%3Bvar%20a%3Ddocument.getElementById(%22myTextarea%22).value%3Ba%3Da.replace(%2Fa%2Fg%2C%22%5Cud835%5Cuddee%22)%3B%0Aa%3Da.replace(%2Fb%2Fg%2C%22%5Cud835%5Cuddef%22)%3Ba%3Da.replace(%2Fc%2Fg%2C%22%5Cud835%5Cuddf0%22)%3Ba%3Da.replace(%2Fd%2Fg%2C%22%5Cud835%5Cuddf1%22)%3Ba%3Da.replace(%2Fe%2Fg%2C%22%5Cud835%5Cuddf2%22)%3Ba%3Da.replace(%2Ff%2Fg%2C%22%5Cud835%5Cuddf3%22)%3Ba%3Da.replace(%2Fg%2Fg%2C%22%5Cud835%5Cuddf4%22)%3Ba%3Da.replace(%2Fh%2Fg%2C%22%5Cud835%5Cuddf5%22)%3Ba%3Da.replace(%2Fi%2Fg%2C%22%5Cud835%5Cuddf6%22)%3Ba%3Da.replace(%2Fj%2Fg%2C%22%5Cud835%5Cuddf7%22)%3Ba%3Da.replace(%2Fk%2Fg%2C%22%5Cud835%5Cuddf8%22)%3Ba%3Da.replace(%2Fl%2Fg%2C%22%5Cud835%5Cuddf9%22)%3Ba%3Da.replace(%2Fm%2Fg%2C%22%5Cud835%5Cuddfa%22)%3Ba%3Da.replace(%2Fn%2Fg%2C%22%5Cud835%5Cuddfb%22)%3Ba%3Da.replace(%2Fo%2Fg%2C%22%5Cud835%5Cuddfc%22)%3Ba%3Da.replace(%2Fp%2Fg%2C%22%5Cud835%5Cuddfd%22)%3Ba%3Da.replace(%2Fq%2Fg%2C%0A%22%5Cud835%5Cuddfe%22)%3Ba%3Da.replace(%2Fr%2Fg%2C%22%5Cud835%5Cuddff%22)%3Ba%3Da.replace(%2Fs%2Fg%2C%22%5Cud835%5Cude00%22)%3Ba%3Da.replace(%2Ft%2Fg%2C%22%5Cud835%5Cude01%22)%3Ba%3Da.replace(%2Fu%2Fg%2C%22%5Cud835%5Cude02%22)%3Ba%3Da.replace(%2Fv%2Fg%2C%22%5Cud835%5Cude03%22)%3Ba%3Da.replace(%2Fw%2Fg%2C%22%5Cud835%5Cude04%22)%3Ba%3Da.replace(%2Fx%2Fg%2C%22%5Cud835%5Cude05%22)%3Ba%3Da.replace(%2Fy%2Fg%2C%22%5Cud835%5Cude06%22)%3Ba%3Da.replace(%2Fz%2Fg%2C%22%5Cud835%5Cude07%22)%3Ba%3Da.replace(%2FA%2Fg%2C%22%5Cud835%5Cuddd4%22)%3Ba%3Da.replace(%2FB%2Fg%2C%22%5Cud835%5Cuddd5%22)%3Ba%3Da.replace(%2FC%2Fg%2C%22%5Cud835%5Cuddd6%22)%3Ba%3Da.replace(%2FD%2Fg%2C%22%5Cud835%5Cuddd7%22)%3Ba%3Da.replace(%2FE%2Fg%2C%22%5Cud835%5Cuddd8%22)%3Ba%3Da.replace(%2FF%2Fg%2C%22%5Cud835%5Cuddd9%22)%3B%0Aa%3Da.replace(%2FG%2Fg%2C%22%5Cud835%5Cuddda%22)%3Ba%3Da.replace(%2FH%2Fg%2C%22%5Cud835%5Cudddb%22)%3Ba%3Da.replace(%2FI%2Fg%2C%22%5Cud835%5Cudddc%22)%3Ba%3Da.replace(%2FJ%2Fg%2C%22%5Cud835%5Cudddd%22)%3Ba%3Da.replace(%2FK%2Fg%2C%22%5Cud835%5Cuddde%22)%3Ba%3Da.replace(%2FL%2Fg%2C%22%5Cud835%5Cudddf%22)%3Ba%3Da.replace(%2FM%2Fg%2C%22%5Cud835%5Cudde0%22)%3Ba%3Da.replace(%2FN%2Fg%2C%22%5Cud835%5Cudde1%22)%3Ba%3Da.replace(%2FO%2Fg%2C%22%5Cud835%5Cudde2%22)%3Ba%3Da.replace(%2FP%2Fg%2C%22%5Cud835%5Cudde3%22)%3Ba%3Da.replace(%2FQ%2Fg%2C%22%5Cud835%5Cudde4%22)%3Ba%3Da.replace(%2FR%2Fg%2C%22%5Cud835%5Cudde5%22)%3Ba%3Da.replace(%2FS%2Fg%2C%22%5Cud835%5Cudde6%22)%3Ba%3Da.replace(%2FT%2Fg%2C%22%5Cud835%5Cudde7%22)%3Ba%3Da.replace(%2FU%2Fg%2C%22%5Cud835%5Cudde8%22)%3Ba%3Da.replace(%2FV%2Fg%2C%0A%22%5Cud835%5Cudde9%22)%3Ba%3Da.replace(%2FW%2Fg%2C%22%5Cud835%5Cuddea%22)%3Ba%3Da.replace(%2FX%2Fg%2C%22%5Cud835%5Cuddeb%22)%3Ba%3Da.replace(%2FY%2Fg%2C%22%5Cud835%5Cuddec%22)%3Ba%3Da.replace(%2FZ%2Fg%2C%22%5Cud835%5Cudded%22)%3Bdocument.getElementById(%22target%22).innerHTML%3Da%3Bdocument.getElementById(%22blurb%22).innerHTML%3D%22%26nbsp%3B%22%7D%2CstrikeText%3Dfunction()%7Bdocument.getElementById(%22target%22).style.direction%3D%22ltr%22%3Bvar%20a%3Ddocument.getElementById(%22myTextarea%22).value%3Ba%3Da.replace(%2Fa%2Fg%2C%22a%5Cu0336%22)%3Ba%3Da.replace(%2Fb%2Fg%2C%22b%5Cu0336%22)%3Ba%3Da.replace(%2Fc%2Fg%2C%22c%5Cu0336%22)%3Ba%3Da.replace(%2Fd%2Fg%2C%22d%5Cu0336%22)%3Ba%3Da.replace(%2Fe%2Fg%2C%0A%22e%5Cu0336%22)%3Ba%3Da.replace(%2Ff%2Fg%2C%22f%5Cu0336%22)%3Ba%3Da.replace(%2Fg%2Fg%2C%22g%5Cu0336%22)%3Ba%3Da.replace(%2Fh%2Fg%2C%22h%5Cu0336%22)%3Ba%3Da.replace(%2Fi%2Fg%2C%22i%5Cu0336%22)%3Ba%3Da.replace(%2Fj%2Fg%2C%22j%5Cu0336%22)%3Ba%3Da.replace(%2Fk%2Fg%2C%22k%5Cu0336%22)%3Ba%3Da.replace(%2Fl%2Fg%2C%22l%5Cu0336%22)%3Ba%3Da.replace(%2Fm%2Fg%2C%22m%5Cu0336%22)%3Ba%3Da.replace(%2Fn%2Fg%2C%22n%5Cu0336%22)%3Ba%3Da.replace(%2Fo%2Fg%2C%22o%5Cu0336%22)%3Ba%3Da.replace(%2Fp%2Fg%2C%22p%5Cu0336%22)%3Ba%3Da.replace(%2Fq%2Fg%2C%22q%5Cu0336%22)%3Ba%3Da.replace(%2Fr%2Fg%2C%22r%5Cu0336%22)%3Ba%3Da.replace(%2Fs%2Fg%2C%22s%5Cu0336%22)%3Ba%3Da.replace(%2Ft%2Fg%2C%22t%5Cu0336%22)%3Ba%3Da.replace(%2Fu%2Fg%2C%22u%5Cu0336%22)%3Ba%3Da.replace(%2Fv%2Fg%2C%22v%5Cu0336%22)%3Ba%3Da.replace(%2Fw%2Fg%2C%0A%22w%5Cu0336%22)%3Ba%3Da.replace(%2Fx%2Fg%2C%22x%5Cu0336%22)%3Ba%3Da.replace(%2Fy%2Fg%2C%22y%5Cu0336%22)%3Ba%3Da.replace(%2Fz%2Fg%2C%22z%5Cu0336%22)%3Ba%3Da.replace(%2FA%2Fg%2C%22A%5Cu0336%22)%3Ba%3Da.replace(%2FB%2Fg%2C%22B%5Cu0336%22)%3Ba%3Da.replace(%2FC%2Fg%2C%22C%5Cu0336%22)%3Ba%3Da.replace(%2FD%2Fg%2C%22D%5Cu0336%22)%3Ba%3Da.replace(%2FE%2Fg%2C%22E%5Cu0336%22)%3Ba%3Da.replace(%2FF%2Fg%2C%22F%5Cu0336%22)%3Ba%3Da.replace(%2FG%2Fg%2C%22G%5Cu0336%22)%3Ba%3Da.replace(%2FH%2Fg%2C%22H%5Cu0336%22)%3Ba%3Da.replace(%2FI%2Fg%2C%22I%5Cu0336%22)%3Ba%3Da.replace(%2FJ%2Fg%2C%22J%5Cu0336%22)%3Ba%3Da.replace(%2FK%2Fg%2C%22K%5Cu0336%22)%3Ba%3Da.replace(%2FL%2Fg%2C%22L%5Cu0336%22)%3Ba%3Da.replace(%2FM%2Fg%2C%22M%5Cu0336%22)%3Ba%3Da.replace(%2FN%2Fg%2C%22N%5Cu0336%22)%3Ba%3Da.replace(%2FO%2Fg%2C%0A%22O%5Cu0336%22)%3Ba%3Da.replace(%2FP%2Fg%2C%22P%5Cu0336%22)%3Ba%3Da.replace(%2FQ%2Fg%2C%22Q%5Cu0336%22)%3Ba%3Da.replace(%2FR%2Fg%2C%22R%5Cu0336%22)%3Ba%3Da.replace(%2FS%2Fg%2C%22S%5Cu0336%22)%3Ba%3Da.replace(%2FT%2Fg%2C%22T%5Cu0336%22)%3Ba%3Da.replace(%2FU%2Fg%2C%22U%5Cu0336%22)%3Ba%3Da.replace(%2FV%2Fg%2C%22V%5Cu0336%22)%3Ba%3Da.replace(%2FW%2Fg%2C%22W%5Cu0336%22)%3Ba%3Da.replace(%2FX%2Fg%2C%22X%5Cu0336%22)%3Ba%3Da.replace(%2FY%2Fg%2C%22Y%5Cu0336%22)%3Ba%3Da.replace(%2FZ%2Fg%2C%22Z%5Cu0336%22)%3Ba%3Da.replace(%2F!%2Fg%2C%22!%5Cu0336%22)%3Ba%3Da.replace(%2F%5C%3F%2Fg%2C%22%3F%5Cu0336%22)%3Ba%3Da.replace(%2F%5B.%5D%2Fg%2C%22.%5Cu0336%22)%3Ba%3Da.replace(%2F%20%2Fg%2C%22-%22)%3Ba%3Da.replace(%2F%5B(%5D%2Fg%2C%22(%5Cu0336%22)%3Ba%3Da.replace(%2F%5B)%5D%2Fg%2C%22)%5Cu0336%22)%3Ba%3Da.replace(%2F%5B%3B%5D%2Fg%2C%0A%22%3B%5Cu0336%22)%3Ba%3Da.replace(%2F%5B%22%5D%2Fg%2C%22%3B%5Cu0336%22)%3Bdocument.getElementById(%22target%22).innerHTML%3Da%3Bdocument.getElementById(%22blurb%22).innerHTML%3D%22%26nbsp%3B%22%7D%2CflipText%3Dfunction()%7Bvar%20a%3Ddocument.getElementById(%22myTextarea%22).value%3Ba%3Da.split(%22%22).reverse().join(%22%22)%3Ba%3Da.toLowerCase()%3Bvar%20b%3D%7Ba%3A%22%5Cu0250%22%2Cb%3A%22q%22%2Cc%3A%22%5Cu0254%22%2Cd%3A%22p%22%2Ce%3A%22%5Cu01dd%22%2Cf%3A%22%5Cu025f%22%2Cg%3A%22b%22%2Ch%3A%22%5Cu0265%22%2Ci%3A%22%5Cu0131%22%2Cj%3A%22%5Cu027e%22%2Ck%3A%22%5Cu029e%22%2Cl%3A%22%5Cu05df%22%2Cm%3A%22%5Cu026f%22%2Cn%3A%22u%22%2Co%3A%22o%22%2Cp%3A%22d%22%2Cq%3A%22b%22%2Cr%3A%22%5Cu0279%22%2Cs%3A%22s%22%2Ct%3A%22%5Cu0287%22%2Cu%3A%22n%22%2Cv%3A%22%5Cu028c%22%2Cw%3A%22%5Cu028d%22%2Cx%3A%22x%22%2Cy%3A%22%5Cu028e%22%2Cz%3A%22z%22%2C%22%3F%22%3A%22%5Cu00bf%22%2C%0A%22!%22%3A%22%5Cu00a1%22%2C%22%2C%22%3A%22%27%22%2C%22%27%22%3A%22%2C%22%2C%22.%22%3A%22%5Cu02d9%22%2C%22%26%22%3A%22%5Cu214b%22%7D%3Ba%3Da.replace(%2Fa%7Cb%7Cc%7Cd%7Ce%7Cf%7Cg%7Ch%7Ci%7Cj%7Ck%7Cl%7Cm%7Cn%7Co%7Cp%7Cq%7Cr%7Cs%7Ct%7Cu%7Cv%7Cw%7Cx%7Cy%7Cz%7C!%7C%2C%7C%27%7C%5C%3F%7C%5C.%7C%26%2Fg%2Cfunction(a)%7Breturn%20b%5Ba%5D%7D)%3Bdocument.getElementById(%22target%22).innerHTML%3Da%7D%2CclearText%3Dfunction()%7Bdocument.getElementById(%22target%22).setAttribute(%22rows%22%2C5)%3Bdocument.getElementById(%22myTextarea%22).value%3D%22%22%3Bdocument.getElementById(%22target%22).innerHTML%3D%22%22%3Bdocument.getElementById(%22blurb%22).innerHTML%3D%22%3Ch2%20style%3Dcolor%3Ared%3B%3E%20Cleared!%3C%2Fh2%3E%22%3BsetTimeout(function()%7Bdocument.getElementById(%22blurb%22).innerHTML%3D%0A%22%26nbsp%3B%22%7D%2C1E3)%3Breturn!1%7D%2CcloseIt%3Dfunction()%7Bdocument.getElementById(%22mymenu%22).remove()%7D%2Cblock_to_insert%2Ccontainer_block%3Bblock_to_insert%3Ddocument.createElement(%22div%22)%3Bblock_to_insert.id%3D%22mymenu%22%3Bblock_to_insert.innerHTML%3D%22%3Cdiv%20style%3Dfloat%3Aleft%3B%3EModify%20some%20text%20or%20select%20special%20characters%3A%3Cbr%3E%3Ctable%3E%3Ctr%3E%3Ctd%3E%3Ctextarea%20id%3DmyTextarea%20placeholder%3DEnter%26nbsp%3BYour%26nbsp%3BText%26nbsp%3BHere%20rows%3D5%20cols%3D50%3E%3C%2Ftextarea%3E%3C%2Ftd%3E%3Ctd%3E%20%3Ctextarea%20id%3Dtarget%20placeholder%3DYour%26nbsp%3BText%26nbsp%3BWill%26nbsp%3BAppear%26nbsp%3BHere%20rows%3D5%20cols%3D50%3E%3C%2Ftextarea%3E%3C%2Ftd%3E%3Ctd%20valign%3Dtop%3E%20%26nbsp%3B%20%3Cbutton%20type%3Dbutton%20onClick%3DflipText()%3EFlip%3C%2Fbutton%3E%20%26nbsp%3B%20%3Cbutton%20type%3Dbutton%20onClick%3DstrikeText()%3EStrike%3C%2Fbutton%3E%20%26nbsp%3B%20%3Cbutton%20type%3Dbutton%20onClick%3DboldText()%3EBold%3C%2Fbutton%3E%20%26nbsp%3B%20%3Cbutton%20type%3Dbutton%20onClick%3DitalicText()%3EItalics%3C%2Fbutton%3E%20%26nbsp%3B%20%3Cbutton%20type%3Dbutton%20title%3DDoubleStruck%20onClick%3DdoubleStruck()%3E%5Cud835%5Cudd38%5Cud835%5Cudd39%5Cu2102%3C%2Fbutton%3E%20%26nbsp%3B%20%3Cbutton%20type%3Dbutton%20onClick%3Dbullets()%20title%3Dbullets%3EBullets%3C%2Fbutton%3E%20%26nbsp%3B%20%3Cbutton%20type%3Dbutton%20title%3DArrows%20onClick%3Darrows()%3EArrows%3C%2Fbutton%3E%20%26nbsp%3B%20%3Cbutton%20type%3Dbutton%20onClick%3Dsmileys()%20title%3Dsmileys%3ESmileys%3C%2Fbutton%3E%20%26nbsp%3B%20%3Cbutton%20type%3Dbutton%20title%3DMoney%26nbsp%3Band%26nbsp%3BSymbols%20onClick%3Dmoney()%3E%5Cu20ac%20%5Cu00a3%20%5Cu04b0%3C%2Fbutton%3E%20%26nbsp%3B%20%3Cbutton%20type%3Dbutton%20onClick%3Dwingdings()%20title%3Dwingdings%3E%5Cu2709%3C%2Fbutton%3E%26nbsp%3B%20%3Cbutton%20type%3Dbutton%20onClick%3DclearText()%20title%3DClear%20style%3Dcolor%3Ared%20title%3DReset%26nbsp%3Bfields%3E%26times%3B%3C%2Fbutton%3E%3Cbr%3E%3Cspan%20id%3Dblurb%3E%26nbsp%3B%3C%2Fspan%3E%3C%2Ftd%3E%3C%2Ftr%3E%3C%2Ftable%3E%3Cbr%20%2F%3E%3Cdiv%20style%3Dfloat%3Aright%3Bfont-size%3A300%25%3Btext-align%3Aright%3Bposition%3Aabsolute%3Btop%3A0%3Bright%3A25px%3B%3E%3Ca%20style%3Dcolor%3Ared%3Btext-decoration%3Anone%3Btext-align%3Aright%3B%20onClick%3DcloseIt()%3B%20href%3D%23%20title%3DClose%26nbsp%3Bthis%3E%26times%3B%3C%2Fa%3E%3C%2Fdiv%3E%22%3B%0Acontainer_block%3Ddocument.getElementsByTagName(%22body%22)%5B0%5D%3Bcontainer_block.appendChild(block_to_insert)%3Bmymenu.setAttribute(%22style%22%2C%22width%3A100%25%3Bborder-style%3Asolid%26nbsp%3B2px%3B%20border-color%3A%23888%3B%20background-color%3A%23ddd%3Bcolor%3A%23000%3Bfont-family%3Aarial%2Csans%2Cverdana%3Bfont-size%3A10px%3Bz-index%3A10000%3Bdisplay%3Ainline-block%3Bline-height%3A1!important%3Boverflow%3Avisible%3Bposition%3Afixed%3Btop%3A0%3Bpadding%3A2px%205px%3B%22)%7D%3B' title="TextTool">TextTool</a></td><td>TextTool - Flip text, Strikethrough, Bold, Italics, wingdings...<br /><i class="gray">Create all kinds of text effects for Facebook, LinkedIn, Twitter, Instagram, Reddit, etc.</i></td></tr>
<tr><td><a class="button" href='javascript%3A(function()%7Bvar%20D%3Ddocument%2Ce%2Cstyles%3D%22table%2Cthead%2Ctbody%2Ctr%2Cth%2Ctd%7Bdisplay%3Ablock!important%3B%7D*%7Bwidth%3Aauto!important%3Bheight%3Aauto!important%3Bposition%3Astatic!important%3Bfloat%3Anone!important%3Bmargin-left%3A0!important%3Bmargin-right%3A0!important%3B%7D%20img%2Ciframe%2Cembed%2Cobject%7Bdisplay%3Anone%3B%7D%20body%20%7Bmargin%3A4px!important%3B%7D%22%3B%20e%3DD.createElement(%27link%27)%3B%20e.rel%3D%27stylesheet%27%3B%20e.href%3Dwindow.opera%20%3F%20%22javascript%3A%27%22%2Bstyles%2B%22%27%22%20%3A%20%22data%3Atext%2Fcss%2C%22%2Bstyles%3B%20D.getElementsByTagName(%22head%22)%5B0%5D.appendChild(e)%7D)()'>Linearize</a></td><td>Linearize the page.</td></tr>
  
<tr><td><a class="button" href='javascript%3A(function()%7B%2F*%20v2.2%20--%20http%3A%2F%2Fbit.ly%2F7akCur%20*%2Ffunction%20ls(u%2Cc)%7Bvar%20h%3Ddocument.getElementsByTagName(%22head%22)%5B0%5D%3Bvar%20s%3Ddocument.createElement(%22script%22)%3Bs.src%3Du%3Bvar%20d%3Dfalse%3Bs.onload%3Ds.onreadystatechange%3Dfunction()%7Bif(!d%26%26(!this.readyState%7C%7Cthis.readyState%3D%3D%22loaded%22%7C%7Cthis.readyState%3D%3D%22complete%22))%7Bd%3Dtrue%3Bc()%3Bs.onload%3Ds.onreadystatechange%3Dnull%3Bh.removeChild(s)%3B%7D%7D%3Bh.appendChild(s)%3B%7Dvar%20%24%3Bvar%20loc%3Dlocation.href%3Bvar%20anchorPos%3Dlocation.href.lastIndexOf(%27%23%27)%3Bif(anchorPos%3E-1)%7Bloc%3Dloc.substring(0%2CanchorPos)%3B%2F*%20if%20already%20has%20an%20anchor%2C%20it%20needs%20to%20be%20replaced%20*%2F%7Dfunction%20a(e%2Cn%2Ct)%7B%24(%27%3Ca%20href%3D%22%27%2Bloc%2B%27%23%27%2Bn%2B%27%22%20title%3D%22%27%2Bt%2B%27%3A%20%27%2Bn%2B%27%22%3E%3Cimg%20src%3D%22data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAABGdBTUEAAK%2FINwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGdSURBVDjLpVMxa8JAFL6rAQUHXQoZpLU%2FoUOnDtKtW%2FMDBFHHThUKTgrqICgOEtd2EVxb2qFkKTgVChbSCnZTiVBEMBRLiEmafleCDaWxDX3w8e7dve%2B7l3cv1LZt8h%2FjvA56vV7DNM20YRgE%2FjyRSOR%2BytvwEgAxvVwui%2FBF%2BLTvCtjNwKvj%2FX8CbgXPOHMEZl559HsTu93uPQi7jBiNRgMEx8PR0GIxRB%2By2eze2gqQeAXoSCaqqu5bpsWIdyzGvvRrBW7rdDo2I6ZSKeq7B8x0XV%2FbwJWAJEnHSMwBDUEQWq5GfsJthUJhlVuv11uckyiGgiH2RWK73RYRb2cymbG7gnK5vIX9USwWI1yAI%2FKjLGK7teEI8HN1TizrnZWdRxxsNps8vI3YLpVKbB2EWB6XkMHzgAlvriYRSW%2Bapp1Mpy%2FjSCRSRSyDUON5nuJGytaAHI%2FvVPv9p%2FFischivL96gEP2bGxorhVFqYXDYQFCScwBYa9EKU1OlAkB%2BQLEU2AGaJ7PWKlUDiF2BBw4P9Mt%2FKUoije%2B5uAv9gGcjD6Kg4wu3AAAAABJRU5ErkJggg%253D%253D%22%20%2F%3E%3C%2Fa%3E%27).insertBefore(e)%3B%7Dls(%22http%3A%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fjquery%2F1.3%2Fjquery.min.js%22%2Cfunction()%7B%24%3DjQuery%3B%24(%22a%5Bname%5D%22).each(function(i)%7Ba(this%2Cthis.name%2C%22NAME%22)%3B%7D)%3B%24(%22%5Bid%5D%3Anot(input%5Btype%3D%27hidden%27%5D)%22).each(function(i)%7Ba(this%2Cthis.id%2C%22ID%22)%3B%7D)%3B%7D)%3B%7D)()'>Show Anchors</a></td><td>Show anchor tags.</td></tr>  
  <tr><td><a class="button" href"javascript:(function(){ 
function toggle(box){ 
  temp=box.onchange; 
  box.onchange=null; 
  box.checked=!box.checked; box.onchange=temp; 
} 
var x,k,f,j; 
x=document.forms; 
for (k=0; 
k<x.length; ++k) { 
f=x[k]; 
for (j=0;j<f.length;++j) if (f[j].type.toLowerCase() == 'checkbox') toggle(f[j]); } })();" title="Toggle Checkboxes">Toggle Checkboxes</a></td><td>Toggle all of the checkboxes on the page.<br /><i class="gray">This will check or uncheck all checkboxes</i></td></tr>  
  <tr><td>
    <a class="button" href="javascript: 
var x = 'https://i.imgur.com/M37gJv9.png';
if(document.getElementById('z2')) { 
document.getElementById('z2').remove();
 }else{ 
var xz ; 
var zx ; 
xz = document.createElement('div'); 
xz.id = 'z2'; 
function x4() { document.getElementById('z2').remove(); };
xz.innerHTML = '<p style=text-align:right;font-size:24px;><a href=# style=text-decoration:none;color:red;text-align:right; title=Close onClick=x4() onBlur=x4()> &nbsp; &times; </a><br /></p><img src=&quot;' + x + '&quot; />';
zx = document.getElementsByTagName('body')[0]; 
zx.appendChild(xz); 
z2.setAttribute('style', 'margin-left:auto; margin-right:auto; text-align:center; background-color:#000; color:red; float:left; font-family:arial,sans,verdana; font-size:24px; z-index:10000; display: inline-block;line-height:unset!important; line-height:1!important; overflow:visible; position:fixed; float:center; top: 0; padding:2px 5px;'); };" title="CheatSheet">Cheat Sheet</a>
    </td><td>Cheat Sheet<br /><i class="gray">Clicking this bookmarklet toggles a cheatsheet - replace with any image.</i> </td></tr>
  <tr><td><a class="button" href="javascript: var chtsht1 = 'https://i.imgur.com/M37gJv9.png'; var chtsht2 = 'https://image.slidesharecdn.com/regex-cheatsheet-100421095826-phpapp01/95/regex-cheatsheet-1-728.jpg?cb=1271843931'; if(document.getElementById('mymenu')) { document.getElementById('mymenu').remove(); }else{ var block_to_insert ; var container_block ; block_to_insert = document.createElement('div'); block_to_insert.id = 'mymenu'; function hideMenu() { document.getElementById('mymenu').remove(); }; function swapIt() { var str = document.getElementById('mymenu').innerHTML; var res = str.replace(chtsht1, chtsht2); document.getElementById('mymenu').innerHTML = res; } block_to_insert.innerHTML = '<p style=text-align:right;font-size:24px;><a href=# onClick=swapIt()>Cheat Sheet #2</a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href=# style=text-decoration:none;color:red;text-align:right; title=Close onClick=hideMenu()> &nbsp; &times; </a><br /></p><img src=&quot;' + chtsht1 + '&quot; />'; container_block = document.getElementsByTagName('body')[0]; container_block.appendChild(block_to_insert); mymenu.setAttribute('style', 'margin-left:auto; margin-right:auto; text-align:center; background-color:#000; color:red; float:left; font-family:arial,sans,verdana; font-size:24px; z-index:10000; display: inline-block;line-height:unset!important; line-height:1!important; overflow:visible; position:fixed; float:center; top: 0; padding:2px 5px;'); };">DoubleCheatSheet</a></td><td>Double Cheat Sheet - Two cheat sheets in one.<br />
    <i class="gray">Two Regex Cheat Sheets in one bookmarklet. Replace with your own!</i></td></tr>
  
  <tr><td><a href="javascript:var counts={};
var text=document.body.textContent||document.body.innerText||'';
var words=text.split(/\b/).filter(function(word){return word.match(/^\w+$/)!==null});
words.forEach(function(word){counts['_'+word.toLowerCase()]=(counts['_'+word]||0)+1});var sorted=Object.keys(counts).sort(function(a,b){return counts[b]-counts[a]});var message=sorted[0]===undefined?'No words found!':'Top 10 words:';sorted.forEach(function(word,index){if(index>9||word===undefined)return;message+='\n#'+(index+1)+': '+word.substring(1)+' ('+counts[word]+' occurrences)'});
    alert(message);" class="button" title="Word Count and Mode">WordMode</a></td><td>Word Mode - Gives you the "mode" for a page(word); <br /><i class="gray">What are the top 10 words that most commonly appear on the current page. </i></td></tr>
  
  <tr><td><a href="javascript:var%20page%3Dwindow.location.href%3B%0Avar%20counts%3D%7B%7D%3B%0Avar%20text%3Ddocument.body.textContent%7C%7Cdocument.body.innerText%7C%7C%27%27%3B%0Avar%20words%3Dtext.split(%2F%5Cb%2F).filter(function(word)%7Breturn%20word.match(%2F%5E%5Cw%2B%24%2F)!%3D%3Dnull%7D)%3Bwords.forEach(function(word)%7Bcounts%5B%27_%27%2Bword.toLowerCase()%5D%3D(counts%5B%27_%27%2Bword%5D%7C%7C0)%2B1%7D)%3B%0Avar%20sorted%3DObject.keys(counts).sort(function(a%2Cb)%7Breturn%20counts%5Bb%5D-counts%5Ba%5D%7D)%3B%0Avar%20message%3Dsorted%5B0%5D%3D%3D%3Dundefined%3F%27No%20words%20found!%27%3A%27%3Ccenter%3E%3Cb%3EFor%20the%20page%3A%20%3Ci%3E%3Cfont%20color%3D%5C%22%230000FF%5C%22%20size%3D%5C%22-2%5C%22%3E%27%2Bpage%2B%27%3C%5C%2Fi%3E%3C%5C%2Ffont%3E%3Cbr%5C%2F%3EThe%20Top%2020%20words%20are%3A%3C%5C%2Fcenter%3E%3C%5C%2Fb%3E%3Cbr%3E%27%3B%0Asorted.forEach(function(word%2Cindex)%7Bif(index%3E19%7C%7Cword%3D%3D%3Dundefined)return%3Bmessage%2B%3D%27%5Cn%23%27%2B(index%2B1)%2B%27%3A%20%27%2Bword.substring(1)%2B%27%20(%27%2Bcounts%5Bword%5D%2B%27%20occurrences)%3Cbr%3E%27%7D)%3B%0Aw%3Dwindow.open(%27%27%2C%27Word%20Mode%27%2C%27scrollbars%2Cresizable%2Cwidth%3D250%2Cheight%3D500%27)%3B%0Aw.document.write(message)%3B%0A" class="button" title="Word Count and Mode">WordMode</a></td><td>Word Mode 2 - Gives you the "mode" for a page(word); <br /><i class="gray">Displays the top 20 words to appear on the current page in a popup modal window. </i></td></tr>
  
  <tr><td><a class="button" href="javascript: var wordCount=document.body.innerText.split(' ').length + 1;
var message='There are ' + wordCount + ' words on this page.';
alert(message);" title="Shows the number of words on the page">WordCount</a></td><td>Word Count<br /><i class="gray">Alerts the number of words on the current page.</i></td></tr>
  <tr><td><a class="button" href="javascript:function getACount() {
    return document.getElementsByTagName('a').length;
}
function getImgCount() {
    return document.getElementsByTagName('img').length;
}
function getScriptCount() {
    return document.getElementsByTagName('script').length;
}
function getFormCount() {
    return document.getElementsByTagName('form').length;
}
var forms=getFormCount();
var links=getACount();
var images = getImgCount();
var scripts=getScriptCount();
var message='There are:\n' + links + ' links on this page,\n' + images + ' images on this page,\n' + forms + ' forms on this page, and\n'+ scripts + ' Scripts on this page.';
    alert(message);" title="Element Counter">CountElements</a></td><td>HTML Element Count<br /><i class="gray">Counts how many links, images, forms and scripts are on the page.</i></td></tr>
  <tr><td><a class="button" title="Travolta WTF" href="javascript:var travoltaWTF = document.getElementById('travoltaWTF');
if(travoltaWTF){
document.getElementById('travoltaWTF').remove();
} else {
var travolta = document.createElement('img');
travolta.setAttribute('id', 'travoltaWTF');
travolta.src='https://i.imgur.com/Yc0G92s.gif';travolta.alt='WTF!';
travolta.style.position='fixed';
travolta.style.left='0';
travolta.style.top='10%';
travolta.style.zIndex='10000';
document.body.appendChild(travolta);
    }">TravoltaWTF?!</a></td><td>Travolta WTF?!? <br /><i class="gray">Puts a puzzled and lost looking John Travolta on the page making his famous WTF (from Pulp-Fiction)</i></td></tr>
  
  <tr><td colspan="2"><h2>Forms</h2></td></tr>
  <tr><td><a class="button" href='javascript:if(document.getElementById(%27mymenu%27)) { document.getElementById(%27mymenu%27).remove(); }else{ function cancel(){document.getElementById(%27mymenu%27).remove(); } function reset() { var inputs = document.getElementsByTagName(%27input%27); for(var i=0; i<inputs.length; i++){ if(inputs[i].getAttribute(%27type%27)!==%27submit%27 && (inputs[i].getAttribute(%27type%27))!==%27button%27) { document.getElementsByTagName(%27input%27)[i].value = null; document.getElementsByTagName(%27input%27)[i].checked = false; } } var textz = document.getElementsByTagName(%27textarea%27); for(var i=0; i<textz.length; i++){ document.getElementsByTagName(%27textarea%27)[i].value = %27%27; } } function travoltaPulp(){ var travoltaWTF = document.getElementById(%27travoltaWTF%27); if(travoltaWTF){document.getElementById(%27travoltaWTF%27).remove(); } else { var travolta = document.createElement(%27img%27); travolta.setAttribute(%27id%27, %27travoltaWTF%27); travolta.src=%27https://i.imgur.com/Yc0G92s.gif%27; travolta.alt=%27WTF!%27;travolta.style.position=%27fixed%27; travolta.style.left=%270%27;travolta.style.top=%2710%%27; travolta.style.zIndex=%2710000%27; document.body.appendChild(travolta); } } function showPass(){ var p=r(); function r(){ var g=0;var x=false;var x=z(document.forms); g=g+1; var w=window.frames; for(var k=0;k<w.length;k++) { var x = ((x) || (z(w[k].document.forms))); g=g+1; } if (!x) alert(%27Password not found in %27 + g + %27 forms%27); } function z(f){ var b=false;for(var i=0;i<f.length;i++) { var e=f[i].elements; for(var j=0;j<e.length;j++) { if (h(e[j])) {b=true}}}return b; } function h(ej){var s=%27%27; if (ej.type==%27password%27){ s=ej.value;if (s!=%27%27){ prompt(%27Password found %27, s) }else{ alert(%27Password is blank%27) }return true; }}function unRequire() { var req = document.getElementsByTagName(%27input%27); for(var i=0; i<req.length; i++){ document.getElementsByTagName(%27input%27)[i].removeAttribute(%27required%27); } } } function unRadio(){ var inputs = document.getElementsByTagName(%27input%27); for(var i=0; i<inputs.length; i++){ if(inputs[i].getAttribute(%27type%27)==%27radio%27){ document.getElementsByTagName(%27input%27)[i].checked = false; } } } function unCheck() { var inputs = document.getElementsByTagName(%27input%27); for(var i=0; i<inputs.length; i++){ if(inputs[i].getAttribute(%27type%27)==%27checkbox%27){ document.getElementsByTagName(%27input%27)[i].checked = false; } } } function checkAll() { var inputs = document.getElementsByTagName(%27input%27); for(var i=0; i<inputs.length; i++){ if(inputs[i].getAttribute(%27type%27)==%27checkbox%27){ document.getElementsByTagName(%27input%27)[i].checked = true; } } } function unText() { var inputs = document.getElementsByTagName(%27input%27); for(var i=0; i<inputs.length; i++){ if(inputs[i].getAttribute(%27type%27)==%27text%27 || inputs[i].getAttribute(%27type%27)==%27email%27 || inputs[i].getAttribute(%27type%27)==%27password%27){ document.getElementsByTagName(%27input%27)[i].value = null; } } } function showMax(){ var a=document.getElementsByTagName(%27input%27); for(i=0;i<a.length;i++){ var b=a[i]; var c = b.getAttribute(%27maxlength%27); maxL = document.getElementsByTagName(%27input%27)[i].getAttribute(%27maxlength%27); var pH= %27Maxlength= %27 + maxL; b.setAttribute(%27placeholder%27, pH);}var maxT=document.getElementsByTagName(%27textarea%27); for(i=0;i<maxT.length;i++){ var x=maxT[i]; var y = x.getAttribute(%27maxlength%27); maxText = document.getElementsByTagName(%27textarea%27)[i].getAttribute(%27maxlength%27); var setText = %27Maxlength= %27 + maxText; x.innerHTML=setText; } } function reMax() { var x,k,f,j; x=document.forms; for(k=0;k<x.length;++k){f=x[k];for(j=0;j<f.length;++j)f[j].removeAttribute(%27maxLength%27); for(j=0;j<f.length;++j)f[j].removeAttribute(%27minLength%27); } } function unDisable(){ var x,k,f,j;x=document.forms; for (k=0;k<x.length;++k){f=x[k]; for(j=0;j<f.length;++j){ f[j].disabled=false;f[j].readOnly=false; } } } function unHide(){ var i,f,j,e,div,label,ne;for(i=0; f=document.forms[i];++i)for(j=0;e=f[j];++j)if(e.type==%27hidden%27) { D=document;function C(t){ return D.createElement(t); } function A(a,b){a.appendChild(b); } div=C(%27div%27);label=C(%27label%27);A(div, label); A(label, D.createTextNode(e.name + %27: %27)); e.parentNode.insertBefore(div, e).style.backgroundColor=%27yellow%27; e.parentNode.removeChild(e); val = document.getElementsByTagName(%27input%27)[i].value; idHidden = document.getElementsByTagName(%27input%27)[i].id; ne=C(%27input%27);/*for ie*/ ne.type=%27text%27; ne.value=e.value; A(label, ne); label.style.MozOpacity=%27.6%27; --j;} inputs[i].getAttribute(%27type%27);ne.placeholder=val; }function toGet(){var a,b;a=b=0;(function(c){var d,e,f,g;for(d=0;d<c.length;d++){try{arguments.callee(c.frames[d]);}catch(h){}}e=c.document.forms;for(f=0;f<e.length;f++){g=e[f];if(g.method.toLowerCase()==%27post%27){g.method=%27GET%27;a++;}b++;}})(top);alert(a+%27 of %27+b+%27 forms changed from POST to GET%27);}function htmlreplace(a,b,element){ if(!element)element=document.body; var nodes=element.childNodes; for(var n=0;n<nodes.length;n++){ if(nodes[n].nodeType==Node.TEXT_NODE){nodes[n].textContent=nodes[n].textContent.replace(new RegExp(a,%27gi%27),b); }else{ htmlreplace(a,b,nodes[n]); } } } function replaceTxt(){ htmlreplace(prompt(%27Text to replace:%27,%27old%27),prompt(%27Replacement text:%27,%27new%27)); } function editText(){document.body.contentEditable = "true";
document.designMode="on";
void 0;} function infoPop(){ var a=%27<div style=padding:10px;><center><h2><span style=color:#00F>%E2%93%98</span> FormHacker Toolkit!</h2></center><table style=border-collapse:collapse;border-color:#ccc;border-style:solid;border-width:1px;padding:3px;margin:3px;><tr><td><button>Reset</button></td><td> Resets all of the forms on the current page.</td></tr><tr><td style=background-color:#eee;><button>ShowPassword</button></td><td style=background-color:#eee;> Shows all of the hidden passwords on the current page.</td></tr><tr><td><button>UnRequire</button></td><td> Makes a required field, unrequired. Submit without entering text or checking a checkbox you do not like.</td></tr><tr><td style=background-color:#eee;><button>clearText</button></td><td style=background-color:#eee;> Clears just text from all input forms on the current page.</td></tr><tr><td><button>unRadio</button></td><td> Unselects all radio buttons on the current page.</td></tr><tr><td style=background-color:#eee;><button>unCheck</button></td><td style=background-color:#eee;> Unchecks all checkboxes on the current page.</td></tr><tr><td><button>checkAll</button></td><td> Checks All checkboxes on the current page.</td></tr><tr><td style=background-color:#eee;><button>showMax</button></td><td style=background-color:#eee;> Reveals the Maximum Length for input fields</td></tr><tr><td><button>NoMaxLength</button></td><td> Removes the Maximum (and Minimum!) Length for input fields</td></tr><tr><td style=background-color:#eee;><button>unDisable</button></td><td style=background-color:#eee;> Enables any disabled (greyed-out) fields</td></tr><tr><td><button>unHide</button></td><td>Shows and highlights all hidden elements on the page with their name and value</td></tr><tr><td style=background-color:#eee;><button>Post2Get</button></td><td style=background-color:#eee;> Converts all forms on the page from "POST" to "GET".</td></tr><tr><td><button>Find&Replace</button></td><td>Find and replace any word on the page.</td></tr></table><br><b>Note:</b> <i style=color:#777>These tweaks only work on the client side;<br>server side results may vary.</i><center><br><h2><a href=https://www.zazzle.com/cats_and_dogs/products>Cat Tax</a></h2></center><p>%C2%A0</p><p>%C2%A0</p><p style=color:#ddd;>By %F0%9D%94%BB%F0%9D%95%92%F0%9D%95%9F %F0%9D%94%BB%F0%9D%95%96%F0%9D%95%9D%E2%84%99%F0%9D%95%96%F0%9D%95%A3%F0%9D%95%94%F0%9D%95%9A%F0%9D%95%A0</p></div>%27;w=window.open(%27%27,%27Links%27,%27scrollbars,resizable,width=420,height=720%27);w.document.write(a);}var block_to_insert;var container_block;block_to_insert = document.createElement(%27div%27); block_to_insert.id = %27mymenu%27; block_to_insert.innerHTML = %27<b>Form Hacker</b> %C2%A0 | %C2%A0 <button style=color:red title=Resets%C2%A0entire%C2%A0Page\/Form onClick=reset()>Reset</button> %C2%A0 | %C2%A0 %C2%A0 <button title=Reveals%C2%A0Hidden%C2%A0Password onClick=showPass()>ShowPassword</button> %C2%A0 | %C2%A0 <button title=Change%C2%A0Fields%C2%A0from%C2%A0Required%C2%A0to%C2%A0unRequired onClick=unRequire()>unRequire</button> %C2%A0 | %C2%A0 <button onClick=unText() title=Clear%C2%A0All%C2%A0Text%C2%A0Fields>clearText</button> %C2%A0 | %C2%A0 <button onClick=unRadio() title=Deselects%C2%A0All%C2%A0Radio%C2%A0Buttons>unRadio</button> %C2%A0 | %C2%A0 <button onClick=unCheck() title=Unchecks%C2%A0All%C2%A0Checkboxes>%E2%98%90 unCheck</button> %C2%A0 | %C2%A0 <button onClick=checkAll() title=Checks%C2%A0All%C2%A0Checkboxes>%E2%98%91checkAll</button> %C2%A0 | %C2%A0 <button onClick=showMax() title=Show%C2%A0maxLength%C2%A0in%C2%A0input%C2%A0field>showMax</button> %C2%A0 | %C2%A0 <button onClick=reMax() title=Removes%C2%A0Maximum%C2%A0Length>NoMaxLength</button> %C2%A0 | %C2%A0 <button onClick=unDisable() title=Enables%C2%A0Disabled%C2%A0Fields>unDisable</button> %C2%A0 | %C2%A0 <button onClick=unHide() title=Shows%C2%A0Hidden%C2%A0Input%C2%A0Fields>unHide</button> %C2%A0 | %C2%A0 <button title=Change%C2%A0Form%C2%A0from%C2%A0Post%C2%A0to%C2%A0Get onClick=toGet()>Post2Get</button> %C2%A0 | %C2%A0 <button onClick=replaceTxt() title=Find%C2%A0and%C2%A0Replace%C2%A0text%C2%A0on%C2%A0the%C2%A0page>Find&Replace</button> %C2%A0 | %C2%A0 <button onClick=editText() title=Edit&nbsp;Text&nbsp;on&nbsp;Page href=#>Edit</button> &nbsp; <a href=#! onClick=travoltaPulp() style=color:#FFF>%E2%9C%88</a><div style=float:right;padding-right:20px;vertical-align:middle;><a href=# style=font-size:150%;text-decoration:none; title=To%C2%A0top%C2%A0of%C2%A0page.>%E2%86%91</a> %C2%A0%C2%A0 <a href=# onClick=infoPop(); title=Information style=cursor:pointer;color:blue;text-decoration:none;font-size:120%;>%E2%93%98</a> %C2%A0 <a style=text-decoration:none;color:red;cursor:pointer;font-size:150%; onClick=cancel() title=Close>%C3%97</a></div>%27; container_block = document.getElementsByTagName(%27body%27)[0]; container_block.appendChild(block_to_insert); mymenu.setAttribute(%27style%27, %27height:24px;width:100%;border-style:solid%C2%A02px; border-color:#888; background-color:#ddd;color:#000;font-family:arial,sans,verdana;font-size:10px;z-index:10000;display:inline-block;line-height:1!important;overflow:visible;position:fixed;top:0;padding:2px 5px;%27) ;}'>FormHacker</a></td><td>Form Manipulation Toolkit - Does more than 10 operations to optimize forms... :)<br /><i class="gray">Dynamically opens a toolbar on the current page with a variety of form tools. </i></td></tr>
  
  <tr><td><a class="button" href='javascript:(function(){var x,k,f,j;x=document.forms;for(k=0;k<x.length;++k){f=x[k];for(j=0;j<f.length;++j)f[j].removeAttribute("maxLength");}})()' title="Remove the maximum length of a field">Remove Maxlength</a></td><td>Remove Maxlength<br /><i class="gray">Removes the maximum length for a form field. Have a field that's too short? Click & Fix!</i></td></tr>
  <tr><td><a class="button" href='javascript:(function(){ function toggle(box){ temp=box.onchange; box.onchange=null; box.checked=!box.checked; box.onchange=temp; } var x,k,f,j; x=document.forms; for (k=0; k<x.length; ++k) { f=x[k]; for (j=0;j<f.length;++j) if (f[j].type.toLowerCase() == "checkbox") toggle(f[j]); } })();' title="Toggle ALL Checkboxes on page">Toggle All Checkboxes</a></td><td>Toggle All checkboxes.<br /><i class="gray">Toggle all of the checkboxes on a page with a single click.</i></td></tr>
  <tr><td><a href='javascript:(function(){var x,k,f,j;x=document.forms;for (k=0;k<x.length;++k){f=x[k];for(j=0;j<f.length;++j){f[j].disabled=false; f[j].readOnly=false;}}})()' title="Undisable" class="button">Undisable</a></td><td>Undisable. Undisables a disabled field.<br /><i class="gray">This one is good if a field disabled and you want to answer.</i></td></tr>
  <tr><td><a class="button" href='javascript:(function(){function down(){bmlRadioValue=this.checked;bmlRadioRef=this;} function click() {if((window.bmlRadioRef==this)&&window.bmlRadioValue) {this.checked=false;bmlRadioRef=null;}}function mU(radio){radio.onmousedown=down; radio.onkeydown=down;radio.onclick=click;}var x,k,f,j;x=document.forms;for (k=0;k<x.length;++k){f=x[k];for(j=0;j<f.length;++j)if(f[j].type.toLowerCase()=="radio")mU(f[j]);}window.status="To unselect a selected option button, click on it or press spacebar."})();' title="Allow NO OPTION">Allow No Option</a></td><td>Allow No Option<br /><i class="gray">Allows no option if you don't like any of the choices!</i></td></tr>
  <tr><td><a class="button" href="javascript:var myRadios = document.getElementsByTagName('input'); var setCheck; var x = 0; for(x = 0; x < myRadios.length; x++){ myRadios[x].onclick = function(){ if(setCheck != this){ setCheck = this; }else{ this.checked = false; setCheck = null; } }; }" title="RadioUncheck">RadioUncheck</a></td><td>Unchecks radio buttons. Click the one you want to unclick & highlight.<br /><i class="gray">Inconsistent - you may need to tweak the code for various radio-buttons. :)</i></td></tr>
  <tr><td><a class="button" href="javascript:
function remReqALL(){
var x = document.getElementsByTagName('input');
for (var i=0; i<x.length; i++) {
    document.getElementsByTagName('input')[i].removeAttribute('required');
}}
    " title="Remove Required from an input field">UnRequire</a></td><td>Un-Require. Removes required from a required input field.<br /><i class="gray">Don't want to answer a required field? (Age, desired salary...). Click it! </i></td></tr>
  <tr><td><a class="button" href="javascript:
(function() {
  var inputs = document.getElementsByTagName('input');
  for(var i=0; i<inputs.length; i++){
    if(inputs[i].getAttribute('type')=='radio'){
    document.getElementsByTagName('input')[i].checked = false;
  }
 }
}());" title="Unclick all radio buttons and checkboxes">UnSelect</a></td><td>Unselect all Radio Buttons<br />
    <i class="gray">Unselects all of them.</i></td></tr>
  <tr><td><a class="button" href="javascript:TxtRsz={formEl:null,adEv:function(t,ev,fn){if(typeof document.addEventListener!='undefined'){t.addEventListener(ev,fn,false)}else{t.attachEvent('on'+ev,fn)}},rmEv:function(t,ev,fn){if(typeof document.removeEventListener!='undefined'){t.removeEventListener(ev,fn,false)}else{t.detachEvent('on'+ev,fn)}},init:function(){var textareas=document.getElementsByTagName('textarea');for(var i=0;i<textareas.length;i++){textareas[i].style.cursor='se-resize'}var inputs=document.getElementsByTagName('input');for(var i=0;i<inputs.length;i++){if(inputs[i].type=='text'){inputs[i].style.cursor='e-resize'}}TxtRsz.adEv(document,'mousedown',TxtRsz.initResize)},initResize:function(event){if(typeof event=='undefined'){event=window.event}var target=event.target||event.srcElement;if(target.nodeName.toLowerCase()=='textarea'||(target.nodeName.toLowerCase()=='input'&&target.type=='text')){TxtRsz.formEl=target;TxtRsz.formEl.startWidth=TxtRsz.formEl.clientWidth;TxtRsz.formEl.startHeight=TxtRsz.formEl.clientHeight;TxtRsz.formEl.startX=event.clientX;TxtRsz.formEl.startY=event.clientY;TxtRsz.adEv(document,'mousemove',TxtRsz.resize);TxtRsz.adEv(document,'mouseup',TxtRsz.stopResize);try{event.preventDefault()}catch(e){}}},resize:function(event){if(typeof event=='undefined'){event=window.event}try{TxtRsz.formEl.style.width=event.clientX-TxtRsz.formEl.startX+TxtRsz.formEl.startWidth+'px'}catch(e){}if(TxtRsz.formEl.nodeName.toLowerCase()=='textarea'){TxtRsz.formEl.style.height=event.clientY-TxtRsz.formEl.startY+TxtRsz.formEl.startHeight+'px'}},stopResize:function(event){TxtRsz.rmEv(document,'mousedown',TxtRsz.initResize);TxtRsz.rmEv(document,'mousemove',TxtRsz.resize);var textareas=document.getElementsByTagName('textarea');for(var i=0;i<textareas.length;i++){textareas[i].style.cursor='text'}var inputs=document.getElementsByTagName('input');for(var i=0;i<inputs.length;i++){if(inputs[i].type=='text'){inputs[i].style.cursor='text'}}}};TxtRsz.init();" title="Form Resizer">ResizeForms</a></td><td>Makes all form fields and textareas on the page resizable.<br />
     <i class="gray">Isn't it annoying when you can't see the full text in the input field? This fixes it!</i></td></tr>  
</table>


              
            
!

CSS

              
                body {
background-color:#000; 
text-align:center; 
padding-top:1px; 
color:#fff; font-family:arial, sans, verdana;
font-size:15px;
}

.button{
border:1px solid #67bcd1; -webkit-border-radius: 6px; -moz-border-radius: 6px;border-radius: 6px;font-size:15px;
font-family:arial, helvetica, sans-serif; padding: 10px 10px 10px 10px; 
margin: 5px;5px;
text-decoration:none; display:inline-block;text-shadow: -1px -1px 0 rgba(0,0,0,0.3);font-weight:bold; color: #FFF;
 background-color: #92cfde; background-image: -webkit-gradient(linear, left top, left bottom, from(#92cfde), to(#76bdd1));
 background-image: -webkit-linear-gradient(top, #92cfde, #76bdd1);
 background-image: -moz-linear-gradient(top, #92cfde, #76bdd1);
 background-image: -ms-linear-gradient(top, #92cfde, #76bdd1);
 background-image: -o-linear-gradient(top, #92cfde, #76bdd1);
 background-image: linear-gradient(to bottom, #92cfde, #76bdd1);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=#92cfde, endColorstr=#76bdd1);
}

.button:hover{
 border:1px solid #44adc6;
 background-color: #6bbed2; background-image: -webkit-gradient(linear, left top, left bottom, from(#6bbed2), to(#50abc4));
 background-image: -webkit-linear-gradient(top, #6bbed2, #50abc4);
 background-image: -moz-linear-gradient(top, #6bbed2, #50abc4);
 background-image: -ms-linear-gradient(top, #6bbed2, #50abc4);
 background-image: -o-linear-gradient(top, #6bbed2, #50abc4);
 background-image: linear-gradient(to bottom, #6bbed2, #50abc4);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=#6bbed2, endColorstr=#50abc4);
}

table.center {
    margin-left:auto; 
    margin-right:auto;
    text-align:left;
    table-border:0px #fff;
    border-collapse: collapse;
}

table, th, td {
  border: 1px solid #222;
  padding: 1px 10px;
}

tr.red {background-color:#660000}
.gray {color:#888}
.green {color:#0f0}
.blue {color:#66ffff}

h2 {text-align:center; vertical-align:text-bottom; color:#0FF}
h3 {text-align:center; vertical-align:text-bottom; color:#0FF}

th {font-size:170%; color:#0FF; text-align:center;}
th.reddit {color:#c62d1f;}

///// REDDIT BUTTON STYLE ////
.redbutton {
	-moz-box-shadow: 3px 4px 0px 0px #8a2a21;
	-webkit-box-shadow: 3px 4px 0px 0px #8a2a21;
	box-shadow: 3px 4px 0px 0px #8a2a21;
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #c62d1f), color-stop(1, #f24437));
	background:-moz-linear-gradient(top, #c62d1f 5%, #f24437 100%);
	background:-webkit-linear-gradient(top, #c62d1f 5%, #f24437 100%);
	background:-o-linear-gradient(top, #c62d1f 5%, #f24437 100%);
	background:-ms-linear-gradient(top, #c62d1f 5%, #f24437 100%);
	background:linear-gradient(to bottom, #c62d1f 5%, #f24437 100%);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#c62d1f', endColorstr='#f24437',GradientType=0);
	background-color:#c62d1f;
	-moz-border-radius:18px;
	-webkit-border-radius:18px;
	border-radius:18px;
	border:1px solid #d02718;
	display:inline-block;
	cursor:pointer;
	color:#ffffff;
	font-family:Arial;
	font-size:17px;
	padding:7px 25px;
	text-decoration:none;
	text-shadow:0px 1px 0px #810e05;
}
.redbutton:hover {
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #f24437), color-stop(1, #c62d1f));
	background:-moz-linear-gradient(top, #f24437 5%, #c62d1f 100%);
	background:-webkit-linear-gradient(top, #f24437 5%, #c62d1f 100%);
	background:-o-linear-gradient(top, #f24437 5%, #c62d1f 100%);
	background:-ms-linear-gradient(top, #f24437 5%, #c62d1f 100%);
	background:linear-gradient(to bottom, #f24437 5%, #c62d1f 100%);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f24437', endColorstr='#c62d1f',GradientType=0);
	background-color:#f24437;
}
.redbutton:active {
	position:relative;
	top:1px;
}

.green {color:#0F0}
.orange {color:#FF7F50}

              
            
!

JS

              
                
              
            
!
999px

Console