/* get all necessary dom nodes */
var videoContainer = document.getElementById('video');
var video = videoContainer.getElementsByTagName('video');
	video = (video.item) ? video.item(0) : video;
var poster = videoContainer.getElementsByTagName('img');
	poster = (poster.item) ? poster.item(0) : poster;
var duration = videoContainer.getElementsByTagName('span');
	duration = (duration.item) ? duration.item(0) : duration;

//HTML5 video drops frames constantly - maybe we should always serve it up through JWPlayer?
//HTML5 video drops frames if the bitrate is massive - compress it down and everything is cool...
var supported = false;
for(i in video) { if(i == 'muted') { supported = true; } }
	
if(!supported) { 
	//setup jwplayer for ie, if necessary
	var JWPlayer = jwplayer("player").setup({
		flashplayer: "media/videos/jw.swf",
		file: "./callegrow.mp4",
		height: 222,
		width: 400,
		controlbar:'none',
		events : {
			onTime : function(posObj) { JWPlayerPos(posObj); },
			onComplete : function() { duration.innerHTML = JWPlayer.getDuration(); poster.style.display = 'block'; }
		}
	});

	JWPlayer.load([{duration:49,file:thisVideo+".mp4"}]);
	
	poster.attachEvent('onclick',function() { 
		poster.style.display = 'none'; JWPlayer.play(); 
		_gaq.push(['_trackEvent', 'Videos', 'Play', thisVideoTitle]);
	});
} else {
	/* add a play pause event listener */
	poster.addEventListener('click',function() { _gaq.push(['_trackEvent', 'Videos', 'Play', thisVideoTitle]); },false);
	videoContainer.addEventListener('click',togglePlayPause,false);	
}

function JWPlayerPos(obj) {	
	var percentage_ = obj['position']/obj['duration']*100+'%';
	var seconds_ = (obj['position']%60).toFixed();

	//update the buffer stream, the volume - always set it at 80% to begin with
	var length_ = JWPlayer.getDuration();
	var length_ = 33;
	var left_ = length_ - seconds_;
	if(left_ < 0) { return; }
		//adjust the play pause button to reflect that the video is playing
		duration.innerHTML = length_-seconds_;
}

	
/* set up the intervals */
var updateTimeInterval = false;
var isLoadedInterval = setInterval("checkLoaded()",100);

function togglePlayPause() {
	if(video.paused === false) {
		video.pause();
		clearInterval(updateTimeInterval);
	} else {		
		poster.style.display = 'none';
		video.play();
		updateTimeInterval = setInterval("updateTime()",50);
	}
}

function checkLoaded() {
	if(video.readyState == 4) {
		duration.innerHTML = Math.round(video.duration);;
		clearInterval(isLoadedInterval);
	}
}

function updateTime() {
	duration.innerHTML = Math.round(video.duration-video.currentTime);
	if(video.ended) { clearInterval(updateTimeInterval); poster.style.display = 'block';}
}
