var playerWindowName = "cbpup";
var playerPopupWindow = null;
var playerPopupWidth = 356;
var playerPopupHeight = 271;
var playerUrl = "/player/";
var playerId = "popplyer";

function playMedium(mediumUrl,duration){
    requestPlayerPopup(mediumUrl,duration);
    return false;
}

function requestPlayerPopup(mediumUrl,duration){
    var windowLeft, windowTop;

    if(typeof window.screenX == "number" && typeof window.innerWidth == "number"){
        windowLeft = window.screenX + window.innerWidth * .16;
        windowTop = window.screenY + window.innerHeight * .16;
    }else if(typeof window.screenTop == "number" && typeof document.documentElement.offsetHeight == "number"){
        windowLeft = window.screenLeft + document.documentElement.offsetWidth * .16;
        windowTop = window.screenTop - 50;
    }else{
        windowLeft = 60;
        windowTop = 40;
    }

    windowManager(mediumUrl,duration,windowTop,windowLeft);
}

function windowManager(mediumUrl,duration,top,left){
    playerPopupWindow = window.open("", playerWindowName, "top=" + top + ",left=" + left + ",width=" + playerPopupWidth + ",height=" + playerPopupHeight + ",resizable,scrollbars");

    var player = null;

    if(typeof playerPopupWindow.getPlayer == 'function'){
       player = playerPopupWindow.getPlayer();
    }

    if(player == null || typeof player == 'unknown'){
        playerPopupWindow = window.open(playerUrl+"?file="+encodeURI(mediumUrl)+"&duration="+duration, playerWindowName, "top=" + top + ",left=" + left + ",width=" + playerPopupWidth + ",height=" + playerPopupHeight + ",resizable,scrollbars");
    }else{
        playerPopupWindow.loadFile(mediumUrl,duration);
    }    
    if(playerPopupWindow != null && !playerPopupWindow.closed){
        if(playerPopupWindow.focus){
            playerPopupWindow.focus();
        }
    }
    return playerPopupWindow;
}

function doesPopupExist() {
    var exist = false;
    for (i=0; i<winnames.length; i++) {
        if (winnames[i] == playerPopupWindow) {
            exist = true;
            break;
        }
    }

    return exist;
}