/* Pop up a player window on links with classes "listen" and "watch".
 * Updated 30 Sep 2011 to fall back to HTML 5 for 'listen' to work with
 * certain fruity computers. */

var play_class = "listen";
var view_class = "watch";
var player_window;
var audio_source, audio_title;

function playHandler(ev) {
    /* IE hack, written for IE7 (!) */
    ev = (ev) ? ev : ((window.event) ? window.event : "");
    var target = (ev.target) ? ev.target : 
        ((ev.srcElement) ? ev.srcElement : "");

    var audio_source = target.href;
    var audio_title = target.title;

    var doc =
        "<!DOCTYPE HTML>" +
        "<html>" +
        "<head>" +
        "<title>CalTab: Playing " + audio_title + "</title>" +
        "<link rel=\"stylesheet\" href=\"/css/player.css\" type=\"text/css\">" +
        "<script src=\"/audio-player/audio-player.js\"></script>" +
        "</head>" +
        "<body>" +
        "<h3>Calvary Tabernacle</h3>" +
        "<p>Playing: " + audio_title + "</p>" +
        "<object type=\"application/x-shockwave-flash\" data=\"/audio-player/player.swf\" id=\"audioplayer1\" height=\"24\" width=\"290\">" +
        "<param name=\"movie\" value=\"/audio-player/player.swf\">" +
        "<param name=\"FlashVars\" value=\"playerID=1&amp;soundFile=" + audio_source + "&amp;autostart=yes\">" +
        "<param name=\"quality\" value=\"high\">" +
        "<param name=\"menu\" value=\"true\">" +
        "<param name=\"wmode\" value=\"transparent\">" +
        "<audio src=\"" + audio_source + "\" controls=\"controls\" autoplay=\"autoplay\">Your browser is not capable of playing this recording.</audio>" +
        "</object>" +
        "</body>" +
        "</html>";

    player_window = window.open('', "Player", 'width=320,height=240');
    player_window.document.open();
    player_window.document.write(doc);
    player_window.document.close();
    player_window.focus();
    return false;
}

function viewHandler(ev) {
    /* IE hack, written for IE7 (!) */
    ev = (ev) ? ev : ((window.event) ? window.event : "");
    var target = (ev.target) ? ev.target : 
        ((ev.srcElement) ? ev.srcElement : "");

    var audio_source = target.href;
    var audio_title = target.title;

    if (audio_source.match(/\.mpg$/i)) {
        return true;
    }

    var doc =
        "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">" +
        "<html>" +
        "<head>" +
        "<title>CalTab: Playing " + audio_title + "</title>" +
        "<link rel=\"stylesheet\" href=\"/css/player.css\" type=\"text/css\">" +
        "</head>" +
        "<body>" +
        "<h3>Calvary Tabernacle</h3>" +
        "<p>Playing: " + audio_title + "</p>" +
        '<OBJECT CLASSID="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" WIDTH="640"HEIGHT="496"' +
            'CODEBASE="http://www.apple.com/qtactivex/qtplugin.cab">' +
        '<PARAM name="SRC" VALUE="' + audio_source + '">' +
        '<PARAM name="AUTOPLAY" VALUE="true">' +
        '<PARAM name="SCALE" VALUE="aspect">' +
        '<PARAM name="CONTROLLER" VALUE="true">' +
        '<EMBED SRC="' + audio_source + '" WIDTH="640" HEIGHT="496" AUTOPLAY="true" CONTROLLER="true" SCALE="aspect" PLUGINSPAGE="http://www.apple.com/quicktime/download/">' +
        '</EMBED>' +
        '</OBJECT>' +
        "</body>" +
        "</html>";

    player_window = window.open('', "Player", 'width=660,height=576');
    player_window.document.open();
    player_window.document.write(doc);
    player_window.document.close();
    player_window.focus();
    return false;
}

/* Add an onClick hook to all links with the proper class. */
function addHooks()
{
    var tags = document.getElementsByTagName('a');

    for (var i = 0; i < tags.length; i++)
    {
        var link = tags[i];
        if (link.className == play_class)
        {
            link.target = "_blank"; /* open in a new window by default */
            link.onclick = playHandler;
        }

        if (link.className == view_class)
        {
            link.target = "_blank";
            link.onclick = viewHandler;
        }
    }
}

// window.onload = addHooks;

$(document).ready(function() {
    addHooks();
});

