
function $(id){return document.getElementById(id);}

var players=[];
var vidids=[];
var myTimer;

var flag=true;

function onYouTubePlayerReady(playerId) {
player=$(playerId);
player.loadVideoById(vidids[playerId], 0);
player.playVideo();
if (flag==true){
myTimer=setInterval(updateytplayerInfo, 250);
flag=false;
}
players.push(playerId);

$('controls'+playerId).innerHTML='';
$('controls'+playerId).innerHTML=$('controls'+playerId).innerHTML+"<div style='padding:5px;position:relative'><a href='#' onclick='return playPause(\""+playerId+"\");void(0);'><img id='playpause"+playerId+"' src='/rp/pause.gif' border='0' class='atop'></a><a href='#' onclick='$(\""+playerId+"\").loadVideoById(\""+vidids[playerId]+"\", 0); $(\"playpause"+playerId+"\").src=\"/rp/play.gif\"; $(\""+playerId+"\").pauseVideo();return false;void(0);'><img src='/rp/stop.gif' border='0' class=atop></a><div id='timebar"+playerId+"' class='timebar'><img id='red"+playerId+"' style='margin-left:20px' src='/rp/red.gif' name='"+playerId+"' class='middle' /><img id='pink"+playerId+"' src='/rp/pink.gif' name='"+playerId+"' class='middle'/><img id='rest"+playerId+"' src='/rp/gray.gif' name='"+playerId+"' class='middle'/></div><span id='now"+playerId+"' class=small></span></div><a href='#' onclick='$(\""+playerId+"\").stopVideo();$(\""+playerId+"\").clearVideo();kill(\""+playerId+"\");kill(\"controls"+playerId+"\");cleanup(\""+playerId+"\");return false;void(0)'>Remove Vid</a> | <a href='http://keepvid.com/?url=http://www.youtube.com/watch?v="+vidids[playerId]+"'>Download</a> | <a href='http://www.youtube.com/watch?v="+vidids[playerId]+"&fmt=18'>Youtube Page</a>";
//<img id='anchor"+playerId+"' class='anchor' src='/rp/pacman.gif'/>  
$('controls'+playerId).setAttribute('class','controls');

}

function cleanup(x){
delete vidids[x];
for (i=0;i<players.length;i++)
if (x==players[i]){
players.splice(i,1);
if (players.length==0){flag=true; clearTimeout(myTimer); }
}
}


function kill(x){
//var newdiv = document.createElement("div");
el = document.getElementById(x);
el.parentNode.removeChild(el);
//el.parentNode.replaceChild(newdiv, el);
}

function playPause(x){
if ($('playpause'+x).src.match('pause.gif')!=null){ $(x).pauseVideo(); $('playpause'+x).src='/rp/play.gif';}
else{ $(x).playVideo(); $('playpause'+x).src='/rp/pause.gif'; }
return false;
}

var dragEnabled=true;
var width=230;


function updateytplayerInfo() {
height=7


for (i=0;i<players.length;i++){

playerId=players[i];
player=$(playerId);

bytime=Math.ceil(((player.getVideoStartBytes()+player.getVideoBytesLoaded())/player.getVideoBytesTotal())*width);
vidtime=Math.ceil((player.getCurrentTime()/player.getDuration())*width);

if (bytime<vidtime) bytime=vidtime;
if ((bytime-vidtime)+vidtime>width) vidtime=asdf;

$('red'+playerId).style.width = vidtime+'px';
$('red'+playerId).style.height = height+'px';

$('pink'+playerId).style.width = (bytime-vidtime)+'px';
$('pink'+playerId).style.height = height+'px';

$('rest'+playerId).style.width = (width-(vidtime+(bytime-vidtime)))+'px';
$('rest'+playerId).style.height = height+'px';


document.getElementById('red'+playerId).onmousedown = seekplz;
document.getElementById('pink'+playerId).onmousedown = seekplz;
document.getElementById('rest'+playerId).onmousedown = seekplz;

sec=Math.floor(player.getCurrentTime()%60);
if (sec<10) sec='0'+sec;

$('now'+playerId).innerHTML=Math.floor(player.getCurrentTime()/60)+':'+sec+' / '+Math.floor(player.getDuration()/60)+':'+Math.floor(player.getDuration()%60);
}
}


function seekplz(e){
if (!e) e = window.event;
tehid=e.target.getAttribute('name');
if (e.layerX)
x=e.layerX-22-document.getElementById('timebar'+tehid).offsetLeft;
else if (e.pageX)
x=e.pageX-(document.getElementById('controls'+tehid).offsetLeft+document.getElementById('timebar'+tehid).offsetLeft)-20;
$(tehid).loadVideoById(vidids[tehid],Math.round(((x)/width)*$(tehid).getDuration()));
$(tehid).playVideo();
}

function attachvid(ids,namem){
params = { allowScriptAccess: "always", bgcolor: "#cccccc" };
atts = { id: namem };
//url apiid is actual name passed to onYoutubePlayerready
swfobject.embedSWF("http://www.youtube.com/apiplayer?enablejsapi=1&playerapiid="+namem, namem, "400", "300", "8", null, null, params, atts);
vidids[namem]=ids;
return false;
}