// Script to turn EMBED elements into more useful links to content
// Version 1
// Copyright 2005 Adam Sampson <ats@offog.org>
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ==UserScript==
// @name	Disembed
// @namespace	http://offog.org/code/greasemonkey/
// @description	Turn embedded objects into links
// @include	*
// ==/UserScript==

// Find all the objects, then copy the array so that it doesn't change as we
// replace them.
var all = document.getElementsByTagName("embed");
var res = new Array(all.length);
for (var i = 0; i < all.length; i++) {
	res[i] = all[i];
}

var id = 0;
for (var i = 0; i < res.length; i++) {
	var a = res[i];

	var src = a.getAttribute("src");
	if (src == "") {
		// Can't find the source (we should probably try harder).
		continue;
	}

	var n = document.createElement("a");
	n.setAttribute("href", src);
	n.setAttribute("style", "display: block; border: 2px dotted black; padding: 10px; margin: 10px");
	var t = document.createTextNode("Disembed replaced EMBED");
	n.appendChild(t);
	a.parentNode.replaceChild(n, a);
}

