var flashPlayerVersion = 6;

    function getFlashHtml(flashName, width, height, flashServingURL, backupImageAlternateMessage, backUpImageImpressionTrackingUrl, backUpImageClickTrackingUrl) {
        detectFlashPlayer();

        if (flashPlayerVersion >= 6) {
            var flashHtmlCode = getFlashHtmlCode(flashName, width, height, flashServingURL);
            renderFlashHtmlCode(flashHtmlCode);
        } else {
            var imageHtmlCode = getBackupImageHtmlCode(width, height, backupImageAlternateMessage, backUpImageImpressionTrackingUrl, backUpImageClickTrackingUrl);
            renderBackupImageHtmlCode(imageHtmlCode);
        }
    }

    function getBackupImageHtmlCode(width, height, backupImageAlternateMessage, backUpImageImpressionTrackingUrl, backUpImageClickTrackingUrl) {
        var image = "<a href='" + backUpImageClickTrackingUrl + "'> " +
                    "<img src='" + backUpImageImpressionTrackingUrl + "' width='" + width + "' height='" + height + "' alt='" + backupImageAlternateMessage +
                    "' border='0'/> " +
                    "</a>";
        return image;
    }

    function getFlashHtmlCode(flashName, width, height, flashServingURL) {
        var htmlCodeTemplate = "<OBJECT " +
                               "classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' " +
                               "codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0' " +
                               "WIDTH='" + width + "' " +
                               "HEIGHT='" + height + "' " +
                               "id='" + flashName + "'> " +
                               "<PARAM NAME='movie' VALUE='" + flashServingURL + "' />" +
                               "<PARAM NAME='quality' VALUE='high' +  />" +
                               "<PARAM NAME='bgcolor' VALUE='#FFFFFF' />" +
                               "<EMBED  " +
                               "src='" + flashServingURL + "' " +
                               "quality='high' " +
                               "bgcolor='#FFFFFF' " +
                               "WIDTH='" + width + "' " +
                               "HEIGHT='" + height + "' " +
                               "NAME='" + flashName + "' " +
                               "ALIGN='' " +
                               "TYPE='application/x-shockwave-flash' " +
                               "PLUGINSPAGE='http://www.macromedia.com/go/getflashplayer'> " +
                               "</EMBED>" +
                               "</OBJECT>";

        return htmlCodeTemplate;
    }

    function detectFlashPlayer() {
        var index = 0;

        if (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"] && navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin) {

            if (navigator.plugins && navigator.plugins["Shockwave Flash"]) {
                index = navigator.plugins["Shockwave Flash"].description.indexOf("Shockwave Flash");
                flashPlayerVersion = navigator.plugins["Shockwave Flash"].description.substr(index + 16, 1);
            }
            
        } else if (navigator.userAgent && navigator.userAgent.indexOf("MSIE") >= 0 && ( navigator.userAgent.indexOf("Windows") >= 0 )) {
            document.write("<SCR" + "IPT LANGUAGE=VBScript>\n");
            document.write("on error resume next\n");
            document.write("For mp_i=11 To 6 Step -1\n");
            document.write("If Not IsObject(CreateObject(\"ShockwaveFlash.ShockwaveFlash.\" & mp_i)) Then\n");
            document.write("Else\n");
            document.write("  flashPlayerVersion=mp_i\n");
            document.write("  Exit For\n");
            document.write("End If\n");
            document.write("Next\n");
            document.write("</SCR" + "IPT> \n");

        }
    }

    function renderFlashHtmlCode(flashHtmlCode) {
        document.write(flashHtmlCode);
    }

    function renderBackupImageHtmlCode(imageHtmlCode) {
        document.write(imageHtmlCode);
    }
