﻿var playerIdArray = new Array();

function getPlayerDomain(queryStr, defaultValue) {

    var quaryVal;
    var query = window.location.search.substring(1);
    var parms = query.split('&');

    for (var i = 0; i < parms.length; i++) {
        var pos = parms[i].indexOf('=');
        if (pos > 0) {
            var key = parms[i].substring(0, pos);
            if (queryStr.toLowerCase() == key.toLowerCase()) {
                quaryVal = parms[i].substring(pos + 1);
                break;
            }
        }
    }
    if (quaryVal == "undefined" || quaryVal == null || quaryVal == '') {
        quaryVal = (defaultValue) ? defaultValue : quaryVal;
    }
    return quaryVal;
}

function getPlayerPath() {

    //var flashPlayerPath = "http://" + getPlayerDomain("playerdomain", "i.mktw.net") + "/_newsimages/swf/podcastPlayer.swf";
    //return flashPlayerPath;

    //return "http://s.f.dev.wsj.com/media/swf/podcastPlayer.swf";
    return "http://i.mktw.net/_newsimages/swf/podcastPlayer.swf";
}

function embedPlayerWithTitleDate(thePath, theDate, theTitle, theSourceDiv, theFeed) {
    var flashVarsObj = {
        path: thePath,
        date: theDate,
        title: theTitle,
        hasText: 1,
        movieHeight: 76, 
        movieWidth: 280
    };
    
    var parObj={};

    parObj.allowscriptaccess = "always";
    parObj.wmode = "transparent";
	
    var attObj={};
    var xiSwfUrlStr = '';

    if (swfobject.getFlashPlayerVersion().major >= 9) {
        var playerPath = getPlayerPath();
        swfobject.embedSWF(playerPath, theSourceDiv, "280", "76", "9.0.0", xiSwfUrlStr, flashVarsObj, parObj, attObj)
        setFeedURL(theFeed, theSourceDiv);
        playerIdArray[playerIdArray.length] = theSourceDiv;
    }
    else {
        unsupportedFlashPlayer(theSourceDiv);
    }
}

function embedPlayerWithPathOnly(thePath, theSourceDiv, theFeed) {
    var flashVarsObj = {
        path: thePath,
        date: "",
        title: " ",
        hasText: 0,
        movieHeight: 40,
        movieWidth: 550
    };
    
	var parObj={};

	parObj.allowscriptaccess = "always";
	parObj.wmode = "transparent";
	
	var attObj={};
	var xiSwfUrlStr = '';

	if (swfobject.getFlashPlayerVersion().major >= 9) {
	    var playerPath = getPlayerPath();
	    swfobject.embedSWF(playerPath, theSourceDiv, "550", "40", "9.0.0", xiSwfUrlStr, flashVarsObj, parObj, attObj)
	    setFeedURL(theFeed, theSourceDiv);
    }
    else {
        unsupportedFlashPlayer(theSourceDiv);
    }
}

function setFeedURL(p, theSourceDiv) {

    var getInt;
    var param = p;
    //console.log('setFeedURL js fires and param = ' + p + ' : ' + theSourceDiv);
    var getPodcast = function() {
        if (swfobject.getObjectById(theSourceDiv) != null) {
            //if rendered check if it has exposed its methods yet.
            if (swfobject.getObjectById(theSourceDiv).setFeedURL != null) {
                
                //set your feed url
                swfobject.getObjectById(theSourceDiv).setFeedURL(param);
                swfobject.getObjectById(theSourceDiv).setID(theSourceDiv);

                //lose the interval
                clearInterval(getInt);
                //console.log('clear called for: ' + theSourceDiv);
                getInt = null;
            }
        }
    }
    getInt = setInterval(getPodcast, 10);
}

function TrackFeed(feedURL) {
    //console.log('Track Feed : ' + feedURL);
    $.get(feedURL);
}

function playClicked(id) {
    //console.log('Play Clicked : ' + id);
    pauseOtherPodcasts(id);
}

function pauseOtherPodcasts(playingId) {

    for (var i = 0; i <= playerIdArray.length; i = i + 1) {
        var id = playerIdArray[i];
        if (id != playingId) {
            var swf = swfobject.getObjectById(id);
            if (swf != null) {
                if (swf.pausePodcast != null) {
                    swf.pausePodcast();
                }
            }
        }
    }
}

function pauseAllPodcasts() {
    for (var i = 0; i <= playerIdArray.length; i = i + 1) {
        var id = playerIdArray[i];
        var swf = swfobject.getObjectById(id);
        if (swf != null) {
            if (swf.pausePodcast != null) {
                swf.pausePodcast();
            }
        }
    }
}

function unsupportedFlashPlayer(theSourceDiv) {
    var str = '';
    str += '<table width="100%" cellspacing="1" cellpadding="2" bordercolor="#336699" border="2">';
    str += '<tbody>';
    str += '<tr>';
    str += '</tr>';
    str += '<tr>';
    str += '<td align="left">';
    str += '<span style="font-size: 12px;">';
    str += 'The version of Adobe Flash Player required to view this interactive has not been found.';
    str += '<br/>';
    str += 'To enjoy our complete interactive experience, please download a free copy of the latest version of Adobe Flash Player ';
    str += '<b>';
    str += '<a target="_blank" href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash">here.</a>';
    str += '</b>';
    str += '</span>';
    str += '</td>';
    str += '</tr>';
    str += '</tbody>';
    str += '</table>';

    document.getElementById(theSourceDiv).innerHTML = str;
}