﻿// only execute code if 'getElementsByTagName' and 'outerHTML' are supported
if (document.getElementsByTagName && document.body.outerHTML)
{
    try
    {
        // 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);
             }
        }
    }
    catch(e)
    {
    }
}


