var eid = 0;

function TrackStream(a) {
    var st = $(a).children("a.title");
    if (st.length) {
        var st = st.attr("href").split("?");
        if (st.length > 1) {
            st = st[1].split("&");
            for (var x=0;x<st.length;x++) {
                if (st[x].indexOf("f=") == 0) {
                    st = st[x].split("=")[1];
                    try { pageTracker._trackPageview('/stream/' + eid + '/' + st + '.mp3'); }
                    catch (err) { }
                    break;
                }
            }
        }
    }
}

function _Init_Player() {
    var pieces = location.href.split("/");
    for (var x=0;x<pieces.length;x++) {
        if (pieces[x] == "event") {
            try {
                eid = pieces[x+1];
                eid = eid.split(".")[0];
            }
            catch (err) { }
            break;
        }
    }
    $(".player ul li").hover(
        function() {
            $(this).css("cursor", "pointer");
            $(this).addClass("hover");
        },
        function() {
            $(this).css("cursor", "default");
            $(this).removeClass("hover");
        }
    ).click(function() {
        //TrackStream($(this));
        var idx = $(this).parent("ul").children("li").index(this);
        try {
            GetPlayer().ChooseTrack(idx, 0);
        } catch(ex) {
            alert(ex);
            //alert("Sorry, an error occurred while trying to play the selected track");
        }
        return false;
    }).children("a.download").click(function() {
        var dl = $(this).attr("href");
        try { pageTracker._trackPageview(dl); }
        catch (err) { }
        location.href = dl;
        return false;
    });
    $("form.request").validate({
        submitHandler: function(form) {
            $(form).ajaxSubmit({
                type: "GET",
                url: "/scripts/public/submit-request",
                success: function() {
                    var thanks = $('<br /><br /><p id="request-thank-you">Thank you, your request has been submitted!</p>');
                    $("#request-event").fadeOut("fast", function() {$(this).after(thanks) });
                    window.setTimeout(function() {
                        $("#request-thank-you").fadeOut("fast", function() {
                            $(this).remove()
                        });
                    }, 3000);
                },
                error: function (XMLHttpRequest, textStatus, errorThrown) {
                    alert("failed");
                }
            });
        }
    });
    $("a[href=#request-event]").click(function() {
        $("form.request").fadeIn("normal");
    });
    if (location.href.indexOf("popup.html") != -1) {
        var qs = location.href.split("?");
        var t = 0;
        var p = 0;
        if (qs.length > 1) { 
            qs = qs[1].split("&");
            for (var x=0;x<qs.length;x++) {
                var q = qs[x].split("=");
                var k = q[0];
                var v = q[1];
                if (k == "t") t = v;
                else if (k == "p") p = v;
            }
        }
        var playerLoaded = setInterval(function() {
            try {
                var player = GetPlayer();
                player.ChooseTrack(t, p);
                clearInterval(playerLoaded);
            } catch (ex) { }
        }, 250);
    }
}
function Popup(href) {      
    var index = GetTrack();
    var progress = GetProgress();
    href += "?t=" + index + "&p=" + progress;
    try {
        StopPlayer();
    } catch(ex) {
        alert(ex);
    } // throw ex;
    var popup = window.open(href, 'popup', 'width=445,height=390,resizable=0,status=0,scrollbars=1');
    if (!popup.opener) popup.opener = window;
    
    return false;
}
function GetTrack() {
    return $(".player ul li").index($(".player ul li.active"));
}
function GetPlayer() {
    var player = $(".player").find("object,embed").get(0);
    return player;
}
function GetProgress() {
    try { return GetPlayer().GetProgress(); }
    catch (ex) { return 0; }
}
function StopPlayer() {
    var player = GetPlayer();
    player.StopPlayback();
}
function ChooseTrack(num) {
    var a = $(".player ul li:nth-child(" + (num + 1) + ")");
    a.addClass("active").siblings("li").removeClass("active");
    TrackStream(a);
}
$(document).ready(_Init_Player);