
function createFlashTag(id, src, width, height, menu, bgcolor, version, style) {
    var str = "";
    if (navigator.plugins.length > 0 || ( navigator.plugins.toString && navigator.plugins.toString() == "[object PluginArray]" ) ) {
        str += "<embed salign=\"TL\" src=\"" + src 
            + "\" width=\"" + width 
            + "\" height=\"" + height 
            + "\" pluginspage=\"http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\" "
            + " id=\"" + id 
            + "\" name=\"" + id 
            + "\" style=\"" + style 
            + "\" menu=\"" + menu
            + "\" bgcolor=\"" + bgcolor
            + "\" version=\"" + version
            + "\" allowScriptAccess=\"" + "always"
            + "\"></embed>";
        
    } else {
        str += "<object salign=\"TL\" classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab"
            +  "#version=" + version 
            + "\" width=\"" + width 
            + "\" height=\"" + height 
            + "\" id=\"" + id
            + "\" style=\"" + style + "\">"
            + "<param name=\"menu\" value=\"" + menu + "\" />"
            + "<param name=\"bgcolor\" value=\"" + bgcolor + "\" />"
            + "<param name=\"movie\" value=\"" + src + "\" />"
            + "<param name=\"allowScriptAccess\" value=\"" + "always" + "\" />"
            + "</object>";
    }
    return str;
}

function appendTag(doc, tag, code) {
    if (!doc) {
        doc = document;
    }
    if (!tag) {
        tag = doc.getElementsByTagName("body")[0];
    }
    var nn = doc.createElement("div");
    nn.innerHTML += code;
    tag.appendChild(nn);
    return nn;
}

var checkInt;

var playerParams = {
    file    : "loader.swf",
    base    : "http://www.magix-photos.com/magix/flash/player2/image/",
    xmlBase : "http://www.magix-photos.com",
    bgcolor : "000000"
};

function startCheck(params) {
    checkInt = setInterval(startCheckReady, 10);
}


function startCheckReady() {
    var tag = document.getElementById('flash_player_image');
    if (!tag) {
        tag = document.getElementById('flash_player');
    }
    if (tag) {
        clearInterval(checkInt);
        
       
        
        var str  = playerParams.file + "?n=1";
        
        var htmlParams  = {};
        var tmp = window.location.href.split("?")[1];
        if (tmp) {
            tmp = tmp.split("&");
            for ( var i = 0; i < tmp.length; ++i ) {
                var val        = tmp[i].split("=");
                htmlParams[val[0]] = val[1];
            }
        }
        

        
        playerParams.sessionid = htmlParams.sessionid;
        
        if (htmlParams.sessionid) {
            str += "&sessionid=" + htmlParams.sessionid;
        }
        
        
        if (tag.p_width) {
            for ( var i in tag ) {
                var nodeName  = i;
                var nodeValue = tag[i];
                if (nodeName.indexOf("p_") == 0) {
                    nodeName               = nodeName.substr(2, nodeName.length);
                    str                   += "&" + nodeName + "=" + nodeValue;
                    playerParams[nodeName] = nodeValue;
                }
            }
        } else {
            for ( var i = 0; i < tag.attributes.length; ++i ) {
                var nodeName  = tag.attributes[i].nodeName;
                var nodeValue = tag.attributes[i].nodeValue;
                if (nodeName.indexOf("p_") == 0) {
                    nodeName               = nodeName.substr(2, nodeName.length);
                    str                   += "&" + nodeName + "=" + nodeValue;
                    playerParams[nodeName] = nodeValue;
                }
            }
        }

        
        tag.id += Math.random();
        
        if (playerParams.sessionid) {
            tag.id += playerParams.sessionid;
        }
        if (playerParams.permacode) {
            tag.id += playerParams.permacode;
        }

        if (playerParams.server) {
            str = playerParams.server + playerParams.playerdir + str 
                + "&base=" + playerParams.server + playerParams.playerdir
                + "&xmlBase=" + playerParams.server;
            if (!playerParams.mode) {
                str += "&mode=small";
            }
        } else {
            str = playerParams.base + str 
                + "&base=" + playerParams.base
                + "&xmlBase=" + playerParams.xmlBase;
            if (playerParams.params) {
                str += playerParams.params;
            }
        }
        str = str.split("#").join("");
        var code = createFlashTag(
            "player_main",
            str,
            playerParams.width,
            playerParams.height,
            false,
            playerParams.bgcolor,
            "8.0.0.0",
            "padding:0px; margin:0px;"
        );
        appendTag(document, tag, code);
    }
}

startCheck();

function createSoundTag(file, bgcolor) {
    var code = createFlashTag(
        "player_sound",
        file,
        1,
        1,
        false,
        bgcolor,
        "8.0.0.0",
        "position:absolute; top:0px; left:0px; padding:0px; margin:0px;"
    );
    appendTag(document, null, code);
}

function createFullscreenPlayer(sessionid, lang, base) {
    new FullscreenPlayer(sessionid, lang, base);
}

function FullscreenPlayer(sessionid, lang, base) {
    var win = window.open('about:blank' ,'_blank','fullscreen=yes, scrollbars=no, resizable=yes');
    var doc = win.document;

    
    var agt = navigator.userAgent.toLowerCase();
    if (agt.indexOf("msie" != -1) && agt.indexOf("opera") == -1) { 
        doc.open("text/html","replace");
        doc.writeln("<html><head><title>Player</title></head><body scroll=\"no\" bgcolor=\"#000000\"></body></html>");
        doc.close();
    }
    

    var width  = 0;
    var height = 0;
    
    if( typeof( win.innerWidth ) == 'number' ) {                                // moz, op, etc
        width  = win.innerWidth;
        height = win.innerHeight;
    } else if( doc.documentElement && doc.documentElement.clientWidth ) {  // IE 6 something
        width  = doc.documentElement.clientWidth;
        height = doc.documentElement.clientHeight;
    } else if( doc.body && win.document.body.clientWidth ) {                        // IE 4 compatible
        width  = doc.body.clientWidth;
        height = doc.body.clientHeight;
    }
    
    var i = base.indexOf("/", 8);
    
    var srv  = base.substring(0, i);
    var plr  = base.substring(i, base.length-1) + "/";
    
    var tmpStr  = "<html>\n"
                + "  <head><title>Player</title></head>\n"
                + "  <body scroll=\"no\">\n"
                + "    <span\n"
                + "      style=\"position:absolute; top:0px; left:0px;\"\n"
                + "      id=\"flash_player\"\n"
                + "      p_mode=\"full\"\n"
                + "      p_width=\"" + width + "\"\n"
                + "      p_height=\"" + height + "\"\n"
                + "      p_lang=\"" + lang + "\"\n"
                + "      p_bgcolor=\"#000000\"\n"
                + "      p_color=\"#ffffff\"\n"
                + "      p_server=\"" + srv + "\"\n"
                + "      p_playerdir=\"" + plr + "\"\n"
                + "      p_sessionid=\"" + sessionid + "\">\n"
                + "      <script\n"
                + "        src=\"" + srv + plr + "player.js\"\n"
                + "        language=\"JavaScript\"\n"
                + "        type=\"text/javascript\">\n"
                + "      </script>\n"
                + "    </span>\n"
                + "  </body>\n"
                + "</html>"

    doc.open("text/html","replace");
    doc.write(tmpStr);
    doc.close();
}

