// ==UserScript==
// @name           RickRoll Cage
// @namespace      http://www.visi.com/~sgrantz
// @description    Looks for possible RickRolls and appends link text with warning
// @include        http://*
// ==/UserScript==


var rickrolls = {
		  "http://www.youtube.com/watch?v=7sK3AqFYAWQ": 1,
		  "http://youtube.com/watch?v=7sK3AqFYAWQ": 1,
		  "http://www.youtube.com/watch?v=oHg5SJYRHA0": 1,
		  "http://youtube.com/watch?v=oHg5SJYRHA0": 1,
		  "http://www.youtube.com/watch?v=N560NCIsaS8": 1,
		  "http://youtube.com/watch?v=N560NCIsaS8": 1,
		  "http://www.youtube.com/watch?v=RnOt4aN2uyc": 1,
		  "http://youtube.com/watch?v=RnOt4aN2uyc": 1,
		  "http://www.youtube.com/watch?v=AnViQZSinaU": 1,
		  "http://youtube.com/watch?v=AnViQZSinaU": 1,
		  "http://www.youtube.com/watch?v=YYW-1_goJa0": 1,
		  "http://youtube.com/watch?v=YYW-1_goJa0": 1,
		  "http://www.youtube.com/watch?v=ZOU8GIRUd_g": 1,
		  "http://youtube.com/watch?v=ZOU8GIRUd_g": 1,
		  "http://www.youtube.com/watch?v=YnM1Ee_H2As": 1,
		  "http://youtube.com/watch?v=YnM1Ee_H2As": 1,
		  "http://www.youtube.com/watch?v=3HrSN7176XI": 1,
		  "http://youtube.com/watch?v=3HrSN7176XI": 1,
		  "http://www.youtube.com/watch?v=WkPllIyTdDQ": 1,
		  "http://youtube.com/watch?v=WkPllIyTdDQ": 1,
		  "http://www.youtube.com/watch?v=f2b1D5w82yU": 1,
		  "http://youtube.com/watch?v=f2b1D5w82yU": 1,
		  "http://www.youtube.com/watch?v=eBGIQ7ZuuiU": 1,
		  "http://youtube.com/watch?v=eBGIQ7ZuuiU": 1,
		  "http://www.youtube.com/watch?v=PIMrL4qXtJ0": 1,
		  "http://youtube.com/watch?v=PIMrL4qXtJ0": 1,
		  "http://www.youtube.com/watch?v=RSsJ19sy3JI": 1,
		  "http://youtube.com/watch?v=RSsJ19sy3JI": 1,
		  "http://www.youtube.com/watch?v=NwRrmmM-hvU": 1,
		  "http://youtube.com/watch?v=NwRrmmM-hvU": 1
                };

bold = document.createElement("b");
bold.appendChild(document.createTextNode(" [rickroll]"));

var links = get("//a[@href[contains(.,'youtube.com')]]");

for(var i = 0; i < links.snapshotLength; i++) {
  var link = links.snapshotItem(i);
  if(rickrolls[link.href] == 1) {
    link.parentNode.insertBefore(bold, link.nextSibling);
  }
}


var links = get("//a[@href[contains(.,'yougotrickrolled.com')]]");
for(var i = 0; i < links.snapshotLength; i++) {
  link.parentNode.insertBefore(document.createTextNode(' [possible rickroll]'), link.nextSibling);
}



function get(query) {
  return document.evaluate(
    query,
    document,
    null,
    XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
    null
  );
}
