$(document).ready(function(){
    $.getJSON("/randy_blip_json.php", function(json){
        var str = '<table width="320" cellspacing="1" bgcolor="#606060">';
        for (var i = 0; i < json.length; i++) {
/*
            var bgcolor = "#CCCCCC";
            if( i % 2 == 0 )
                bgcolor = "#292929";
*/
            var bgcolor = "#292929";
            var media_url = URLEncode(json[i]['Post']['mediaUrl']);
            var postsId= json[i]['Post']['postsId'];
            var itemId= json[i]['Post']['itemId'];
            var thumbnailUrl = json[i]['Post']['thumbnailUrl'];
            var title = json[i]['Post']['title'];
            var view_srting = '<a id="view_'+postsId+'" style="color: #336699; font-size:12px; text-decoration: none;" href="javascript:update_player_window(\''+media_url+'\',\''+postsId+'\',\''+title+'\',\''+itemId+'\')">View</a>';
            if( postsId == selectedPostsId )
            {
                bgcolor = "#292929"; // For now just leave it the same
                view_srting = '<a id="view_'+postsId+'" style="color: #FF0000; font-size:12px; text-decoration: none;" href="javascript:update_player_window(\''+media_url+'\',\''+postsId+'\',\''+title+'\',\''+itemId+'\')">Currently Showing</a>';
            }

            // With Description text
            //str = str+'<tr height="65"><td bgcolor="#292929"><table id="panel_'+postsId+'" width="320"><tr><td width="100"><a href="javascript:update_player_window(\''+media_url+'\',\''+postsId+'\')" title="'+json[i]['Post']['title']+'"><img border=0 src="'+ thumbnailUrl +'" alt="'+ json[i]['Post']['title']+'" width="80" height="60" /></a></td><td width="218"><a style="color: #606060; font-size:10px; text-decoration: none;" href="javascript:update_player_window(\''+media_url+'\',\''+postsId+'\')"><strong>'+json[i]['Post']['title']+'</strong> '+json[i]['Post']['description']+'</a></td></tr></table></td></tr>';
            // Without Description text
            str = str+'<tr height="65"><td bgcolor="'+bgcolor+'"><table id="panel_'+postsId+'" width="320"><tr><td width="100"><a href="javascript:update_player_window(\''+media_url+'\',\''+postsId+'\',\''+title+'\',\''+itemId+'\')" title="'+title+'"><img border=0 src="'+ thumbnailUrl +'" alt="'+ title+'" width="80" height="60" /></a></td><td width="218"><a style="color: #606060; font-size:12px; text-decoration: none;" href="javascript:update_player_window(\''+media_url+'\',\''+postsId+'\',\''+title+'\',\''+itemId+'\')"><strong>'+title+'</strong> '+'</a>'+view_srting+'</td></tr></table></td></tr>';

            if( i == 0 ) {
                var mov_media_url = media_url.replace("flv", "mov");
                var mp3_media_url = media_url.replace("flv", "mp3");
                var m4v_media_url = media_url.replace("flv", "m4v");

                var download_str = '<a class="white" href="'+URLDecode(mov_media_url)+'">.mov</a> | <a class="white" href="'+URLDecode(media_url)+'">.flv</a> | <a class="white" href="'+URLDecode(mp3_media_url)+'">.mp3</a> | <a class="white" href="'+URLDecode(m4v_media_url)+'">.m4v</a>';
                var copypaste_str = '<a class="white" href="/get_copy_paste_code.php?post_id='+itemId+'&title='+title+'">Embed this video</a>';
                var transcript_str = '<a class="white" href="/episode_transcript.php?post_id='+postsId+'">Episode Transcript</a>';
            }
        }
        str = str+'</table>';

        $("#blipdata").empty();
        $("#blipdata").append(str);

        $("#download").empty();
        $("#download").append(download_str);

        $("#copypaste").empty();
        $("#copypaste").append(copypaste_str);

        $("#transcript").empty();
        $("#transcript").append(transcript_str);
    });
});

function update_player_window(media_url,postsId,title,itemId){
  //var so = new SWFObject("/mediaplayer.swf?autostart=true&backcolor=0x000000&lightcolor=0xAAAAAA&frontcolor=0x999999&showplaylist=true&enablejs=true&file="+media_url, "mpl", "420", "320", "8", "#000000");
    var so = new SWFObject('/showplayer.swf?autostart=true&brandname=SpineUniversity.TV&brandlink=http%3A//spineuniversity.tv/&showplayerpath=http%3A//blip.tv/scripts/flash/showplayer.swf&file='+media_url+'&user=spineuniversitytv&showguidebutton=true&showsharebutton=false&showfsbutton=false&lightcolor=0x557722&backcolor=0x00000&frontcolor=0xCCCCCC&tabType2=guide&tabTitle2=spineuniversitytv%20episodes&tabUrl2=http%3A//spineuniversitytv.blip.tv/rss&tabType3=guide&tabTitle3=blip.tv%20hot%20episodes&tabUrl3=http%3A//blip.tv/rss/%3Ffriends_of%3Dhotepisodes','mpl','320','260','8', "#000000");

  //var so = new SWFObject("/mediaplayer.swf?autostart=true&backcolor=0x000000&lightcolor=0xAAAAAA&frontcolor=0x999999&showplaylist=true&enablejs=true&file="+media_url, "mpl", "420", "320", "8", "#000000");
  so.addParam("allowfullscreen", "true");
  so.addParam("allowScriptAccess", "always");
  so.write("player");

  // Also update the bgcolor of the cell selected
  if( selectedPostsId > 0) {
    document.getElementById('show_title').innerHTML = title;
    var old_cell = document.getElementById('panel_'+selectedPostsId);
    var new_cell = document.getElementById('panel_'+postsId);
    old_cell.style.backgroundColor = '#292929';
    new_cell.style.backgroundColor = '#292929'; // For now just leave it the same
    var old_play = document.getElementById('view_'+selectedPostsId);
    var new_play = document.getElementById('view_'+postsId);
    old_play.innerHTML = 'View';
    old_play.style.color = '#336699';
    new_play.innerHTML = 'Currently Showing';
    new_play.style.color = '#FF0000';
    selectedPostsId = postsId;
  }
  else {
    document.getElementById('show_title').innerHTML = title;
    var new_cell = document.getElementById('panel_'+postsId);
    new_cell.style.backgroundColor = '#292929'; // For now just leave it the same
    var new_play = document.getElementById('view_'+postsId);
    new_play.innerHTML = 'Currently Showing';
    new_play.style.color = '#FF0000';
    selectedPostsId = postsId;
  }
  var mov_media_url = media_url.replace("flv", "mov");
  var mp3_media_url = media_url.replace("flv", "mp3");
  var m4v_media_url = media_url.replace("flv", "m4v");

  document.getElementById("download").innerHTML = '<a class="white" href="'+mov_media_url+'">.mov</a> | <a class="white" href="'+media_url+'">.flv</a> | <a class="white" href="'+mp3_media_url+'">.mp3</a> | <a class="white" href="'+m4v_media_url+'">.m4v</a>';

  document.getElementById("copypaste").innerHTML = '<a class="white" href="/get_copy_paste_code.php?post_id='+itemId+'&title='+title+'">Embed this video</a>';
  //document.getElementById("copypaste").innerHTML = '<a class="white" href="/get_copy_paste_code.php?post_id='+postsId+'"></a>';

  document.getElementById("transcript").innerHTML = '<a class="white" href="/episode_transcript.php?post_id='+postsId+'">Episode Transcript</a>';
}

function URLEncode( plaintext )
{
    // The Javascript escape and unescape functions do not correspond
    // with what browsers actually do...
    var SAFECHARS = "0123456789" +                  // Numeric
                    "ABCDEFGHIJKLMNOPQRSTUVWXYZ" +  // Alphabetic
                    "abcdefghijklmnopqrstuvwxyz" +
                    "-_.!~*'()";                    // RFC2396 Mark characters
    var HEX = "0123456789ABCDEF";

    var encoded = "";
    for (var i = 0; i < plaintext.length; i++ ) {
        var ch = plaintext.charAt(i);
        if (ch == " ") {
            encoded += "+";             // x-www-urlencoded, rather than %20
        } else if (SAFECHARS.indexOf(ch) != -1) {
            encoded += ch;
        } else {
            var charCode = ch.charCodeAt(0);
            if (charCode > 255) {
                alert( "Unicode Character '"
                        + ch
                        + "' cannot be encoded using standard URL encoding.\n" +
                          "(URL encoding only supports 8-bit characters.)\n" +
                          "A space (+) will be substituted." );
                encoded += "+";
            } else {
                encoded += "%";
                encoded += HEX.charAt((charCode >> 4) & 0xF);
                encoded += HEX.charAt(charCode & 0xF);
            }
        }
    } // for

    return encoded;
};

function URLDecode( encoded )
{
   // Replace + with ' '
   // Replace %xx with equivalent character
   // Put [ERROR] in output if %xx is invalid.
   var HEXCHARS = "0123456789ABCDEFabcdef";

   var plaintext = "";
   var i = 0;
   while (i < encoded.length) {
       var ch = encoded.charAt(i);
       if (ch == "+") {
           plaintext += " ";
           i++;
       } else if (ch == "%") {
            if (i < (encoded.length-2)
                    && HEXCHARS.indexOf(encoded.charAt(i+1)) != -1
                    && HEXCHARS.indexOf(encoded.charAt(i+2)) != -1 ) {
                plaintext += unescape( encoded.substr(i,3) );
                i += 3;
            } else {
                alert( 'Bad escape combination near ...' + encoded.substr(i) );
                plaintext += "%[ERROR]";
                i++;
            }
        } else {
           plaintext += ch;
           i++;
        }
    } // while

   return plaintext;
};

