﻿var pf_embeddedPlayersCollection = new Array();

function pf_getEmbeddedPlayerById(sID)
{
    for(var i=0; i<pf_embeddedPlayersCollection.length; i++)
    {
        if(pf_embeddedPlayersCollection[i] != null && pf_embeddedPlayersCollection[i].ID == sID)
        {
            return pf_embeddedPlayersCollection[i];
        }
    }
    return null;
}

function pf_PixelFishEmbeddedPlayer(sID, sOT, sV, sSRV, sVSRV, sW, sH, bPreview, iOrder, bOverrideAutoPlayAndShowStopped)
{
    var pf_embeddedPlayer = new Object();
    var playerOrder;
    if(iOrder == null || iOrder == "undefined" || iOrder == "")
    {
        playerOrder = 255;
        pf_embeddedPlayer.stopOthersWhenThisPlays = false;
    }
    else
    {
        try
        {
            playerOrder = parseInt(iOrder, 10);
            pf_embeddedPlayer.stopOthersWhenThisPlays = true;
        }
        catch(ex)
        {
            playerOrder = 255;
            pf_embeddedPlayer.stopOthersWhenThisPlays = false;
        }
    }
    var posInArray = -1;
    for(var i=0; i<pf_embeddedPlayersCollection.length; i++)
    {
        if(pf_embeddedPlayersCollection[i] != null && pf_embeddedPlayersCollection[i].ID == sID)
        {
            posInArray = i;
            //Item already created
            break;
        }
    }
 
    if(posInArray != -1)
    { 
        return;        
    }
    
    posInArray = pf_embeddedPlayersCollection.length;

    pf_embeddedPlayer.ID = sID;
    pf_embeddedPlayer.LaunchStopped = bOverrideAutoPlayAndShowStopped;
    pf_embeddedPlayer.order = playerOrder;
    pf_embeddedPlayer.readyToPlay = false;
    pf_embeddedPlayer.ObjectID = "FLVPlayer"+posInArray;
    var sPFEmbeddedObject = "";
    sPFEmbeddedObject += "<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0\" width=\"" + sW + "\" height=\"" + sH + "\" id=\"FLVPlayer"+posInArray+"\">";
    sPFEmbeddedObject += "<param name=\"wmode\" value=\"transparent\">";
    sPFEmbeddedObject += "<param name=\"allowScriptAccess\" value=\"always\" />";
    sPFEmbeddedObject += "<param name=\"movie\" value=\"http://"+ sSRV +"/Files/pixelfishPlayer.swf\" />";
    sPFEmbeddedObject += "<param name=\"flashvars\" value=\"version="+sV+"&object_id="+sID+"&object_type="+sOT+"&server="+sVSRV;
    if(bPreview == true)
    {
        sPFEmbeddedObject += "&preview=1";
    }
    if(pf_embeddedPlayer.stopOthersWhenThisPlays == true)
    {
        sPFEmbeddedObject += "&launch_stopped=1&use_play_js_callbacks=1";
    }
    var bLaunchStoppedAdded = false;
    if(pf_embeddedPlayer.LaunchStopped == true && sPFEmbeddedObject.indexOf("launch_stopped") == -1)
    {
        sPFEmbeddedObject += "&launch_stopped=1";
        bLaunchStoppedAdded = true;
    }
    sPFEmbeddedObject += "\" />";
    sPFEmbeddedObject += "<param name=\"quality\" value=\"high\" />";
    sPFEmbeddedObject += "<param name=\"base\" value=\".\" />";
    sPFEmbeddedObject += "<embed src=\"http://"+ sSRV +"/Files/pixelfishPlayer.swf\" " + 
        "flashvars=\"version="+sV+"&object_id="+sID+"&object_type="+sOT+"&server="+sVSRV;
    if(bPreview == true)
    {
        sPFEmbeddedObject += "&preview=1"
    }
    if(pf_embeddedPlayer.stopOthersWhenThisPlays == true)
    {
        sPFEmbeddedObject += "&launch_stopped=1&use_play_js_callbacks=1";
    }
    if(pf_embeddedPlayer.LaunchStopped == true && bLaunchStoppedAdded == true)
    {
        sPFEmbeddedObject += "&launch_stopped=1";
    }
    sPFEmbeddedObject += "\" wmode=\"transparent\" quality=\"high\" width=\"" + sW + "\" height=\"" + sH + "\" name=\"FLVPlayer"+posInArray+"\" allowScriptAccess=\"always\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" base=\".\"/> ";
    sPFEmbeddedObject += "</object>";
    document.write(sPFEmbeddedObject);

    pf_embeddedPlayer.objectDeclaration = sPFEmbeddedObject;
    pf_embeddedPlayersCollection[posInArray] = pf_embeddedPlayer;
}

function pf_PixelFishEmbeddedPlayerLoadedCallback(sID)
{
    var player = pf_getEmbeddedPlayerById(sID)
    if(player != null)
    {
        player.readyToPlay = true;
    }
    for(var i=0; i<pf_embeddedPlayersCollection.length; i++)
    {
        if(pf_embeddedPlayersCollection[i] != null && pf_embeddedPlayersCollection[i].readyToPlay == false && pf_embeddedPlayersCollection[i].stopOthersWhenThisPlays == true)
        {
            return;
        }
    }
    var firstID = "";
    var currentMinimalOrder = null;
    for(var i=0; i<pf_embeddedPlayersCollection.length; i++)
    {
        if(currentMinimalOrder == null)
        {
            currentMinimalOrder = pf_embeddedPlayersCollection[i].order;
            firstID = pf_embeddedPlayersCollection[i].ObjectID;
        }
        else
        {
            if(pf_embeddedPlayersCollection[i].order < currentMinimalOrder)
            {
                currentMinimalOrder = pf_embeddedPlayersCollection[i].order;
                firstID = pf_embeddedPlayersCollection[i].ObjectID;
            }
        }
    }
    pf_getMovie(firstID).startPlayback();
}

function pf_PixelFishEmbeddedPlayerPlayCallback(sID)
{
    var player = pf_getEmbeddedPlayerById(sID)
    if(player == null || player.stopOthersWhenThisPlays == false)
    {
        return;
    }
    
    for(var i=0; i<pf_embeddedPlayersCollection.length; i++)
    {
        if(pf_embeddedPlayersCollection[i] != null && pf_embeddedPlayersCollection[i].ID != sID)
        {
            pf_getMovie(pf_embeddedPlayersCollection[i].ObjectID).stopPlayback();    
        }
    }
}

function pf_getMovie(sID)
{
    if (navigator.appName.indexOf("Microsoft") != -1) 
    {
        return window[sID];
    }
    else 
    {
        return document[sID];
    }
}
