// only execute code if 'getElementsByTagName' and 'outerHTML' are supported
if (document.getElementsByTagName && document.body.outerHTML) {
	// repeat code for each affected tag
	var tags = ['object','embed','applet'];

	for (var i in tags) {
		// get all elements with tag
		var objs = document.getElementsByTagName(tags[i]);

		for (var j=0;j < objs.length;j++) {
			var obj = objs.item(j);

			// find param tags within object
			var params = obj.getElementsByTagName('param');
			var inner = '';

			// if there are params, but param tags can't be found within innerHTML
			if (params.length && !/<param/i.test(obj.innerHTML))
				// add all param tags to 'inner' string
				for (var x=0;x < params.length;x++)
					inner += params.item(x).outerHTML;

			// put 'inner' string with param tags in the middle of the outerHTML
			obj.outerHTML = obj.outerHTML.replace('>', '>' + inner);
		}
	}
}
