<script type="text/javascript"> 
var youTubePlayerLoggers = {}; //http://groups.google.com/group/youtube-api-gdata/browse_thread/thread/e8a8c85b801b9e25
var totalvideos = 0;
var videoid = new Array();
var videoplayed = new Array();
 
function onYouTubePlayerReady(id)
{
	var video = document.getElementById(id);
 
	//State constants
	var unstarted = -1;
	var ended 	  = 0;
	var playing   = 1;
	var paused    = 2;
	var buffering = 3;
	var cued      = 5; //Page loaded, video has not been played yet
 
	//Video array default values being set for first time
	videoid[totalvideos] = id;
	videoplayed[totalvideos] = false;
 
	totalvideos = totalvideos + 1;
 
	youTubePlayerLoggers[id] = function(state)
	{
		document.getElementById("state").innerHTML="youTubePlayerLoggers[id]"; //FOR TESTING
 
		var el = document.getElementById(id);
		var url = "http://www.youtube.com/watch?v=" + getYoutubeVideoID(el.getVideoUrl());
		var arrayindex = arraySearch(id);
		var currenttime = Math.ceil(el.getCurrentTime());
 
		if (state == playing)
		{
			if (videoplayed[arrayindex] == false)
			{
				document.getElementById("state").innerHTML = "URL = "+url+"<br />State = "+state+"<br />Value = unique_play_per_page"; //FOR TESTING
				//pageTracker._trackEvent('video', 'unique_play_per_page', url, 0);
			}
 
			document.getElementById("state").innerHTML = "URL = "+url+"<br />State = "+state+"<br />Value = play"; //FOR TESTING
			//pageTracker._trackEvent('video', 'play', url, 0);
 
			//Flag video as having been played once
			videoplayed[arrayindex] = true;
		}
 
		if (state == ended)
		{
			document.getElementById("duration").innerHTML = "Duration = "+currenttime; //FOR TESTING
			document.getElementById("state").innerHTML = "URL = "+url+"<br />State = "+state+"<br />Value = ended"; //FOR TESTING
			//pageTracker._trackEvent('video', 'ended', url, currenttime);
		}
 
		if (state == paused)
		{
			document.getElementById("duration").innerHTML = "Duration = "+currenttime; //FOR TESTING
			document.getElementById("state").innerHTML = "URL = "+url+"<br />State = "+state+"<br />Value = paused"; //FOR TESTING
			//pageTracker._trackEvent('video', 'paused', url, currenttime);
		}
	};
 
	video.addEventListener("onStateChange", "youTubePlayerLoggers."+id);
	video.addEventListener('onError', 'onPlayerError');
}
 
function onPlayerError(errorCode)
{
	alert(errorCode);
}
 
function getYoutubeVideoID(url)
{
	var urlArr = url.split("v=");
	var urlArr2 = urlArr[1].split("&");
	return urlArr2[0];
}
 
function arraySearch(what)
{
	for (var i=0, len=totalvideos; i<len; ++i)
	{
		if(videoid[i].indexOf(what) >= 0) return i;
	}
}
</script> 
