// JavaScript Document  

/* order of operation:
	1.0. The page is loaded up
		1.1. The sectionChange() function is called from flash, and passed the appropriate section you're in.
	2.0. A video is selected from the flash list
		2.1. playVideo() is called from flash - passing through the url of the video to play.
		2.2. video buttons are pushed
			2.2.1. the appropriate function named controls_* is called.
	3.0. An ID is passed for a video
		3.1. isOnLoadVideo flag is set to true, playVideo() is called.
		3.2. isOnLoadVideo flag is set to false from sectionChange().
*/
/*
var videoObject;
var thisVideoPlayer;
var progressInterval;

var totalTime;
var currentTime;
var progressBarFullWidth;
var volumeBarFullWidth;
var currentState;
var mouseDown = false;

var playTrackPosition;
var volumePosition;
var clickPosition;
var percentClicked;
var percentVolume;

function sectionChange(sectionName) {
	//sectionName = "video"|"photos"|"podcasts";
	if($(thisVideoPlayer).style.display != "none" && !isOnLoadVideo) {
		$(thisVideoPlayer).style.display = "none";
		if(typeof $('videoObject') ) {
			$('videoObject').controls.stop();
		}
	}
	$('loadingContainer').style.display = "none";
	isOnLoadVideo = false;
}

function playVideo(videoSrc, num_width, num_height) {
	if($('loadingContainer').style.display == "none") {
		$('loadingContainer').style.display = "block";
	}
	
	if($(thisVideoPlayer).style.display != "block") {
		$(thisVideoPlayer).style.display = "block";
	}
		
	var innerHTMLString = "";
	
	if(-1 != navigator.userAgent.indexOf("MSIE")) {
		innerHTMLString += '<OBJECT id="videoObject" width="'+num_width+'" height="'+num_height+'" CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" type="application/x-oleobject">';
	} else {		
		innerHTMLString += '<OBJECT id="videoObject" width="'+num_width+'" height="'+num_height+'" type="application/x-ms-wmp">';
	}
	
	innerHTMLString += 
		'<PARAM NAME="URL" VALUE="'+videoSrc+'">' +
		'<PARAM NAME="SendPlayStateChangeEvents" VALUE="true">' +
		'<PARAM NAME="AutoStart" VALUE="true">' +
		'<PARAM name="uiMode" value="none">' +
		'<PARAM name="PlayCount" value="1">' +
		'<PARAM name="stretchToFit" value="true">' +
		'<PARAM name="windowlessVideo" value="true">' +
		'</OBJECT>';
	
	$('videoContainer').innerHTML = "";
	
	$('videoContainer').innerHTML = innerHTMLString;
	
	
	//add the track slider functionality
	$('dragArea').onmousedown = function(event){
		mouseDown = true;
		controls_stopProgressBar();
		var clickEvent = new Event(event);
		playTrackPosition = $('playTrack').getPosition();
		clickPosition = clickEvent.client.x - playTrackPosition.x;
		percentClicked = clickPosition / progressBarFullWidth;
		$('currPosition').style.width = Math.round(clickPosition) + "px";
	};
	
	$('dragArea').onmousemove = function(event){
		if(mouseDown) {
			var clickEvent = new Event(event);
			playTrackPosition = $('playTrack').getPosition();
			clickPosition = clickEvent.client.x - playTrackPosition.x;
			percentClicked = clickPosition / progressBarFullWidth;
			//controls_setPlayerPosition(percentClicked);
			
			$('currPosition').style.width = Math.round(clickPosition) + "px";
		}
	}
	
	$('dragArea').onmouseup = function(event){
		mouseDown = false;
		controls_startProgressBar();
		controls_setPlayerPosition(percentClicked);
	}
	
	//add volume slider functionality
	$('volumeArea').onmousedown = function(event) {
		mouseDown = true;
		
		var clickEvent = new Event(event);
		volumePosition = $('volumeTrack').getPosition();
		var clickedPosition = clickEvent.client.x - volumePosition.x;
		percentVolume = clickedPosition / volumeBarFullWidth;
		$('volumeLevel').style.width = Math.round(clickedPosition) + "px";
	}
	
	$('volumeArea').onmousemove = function(event) {
		if(mouseDown) {
			var clickEvent = new Event(event);
			volumePosition = $('volumeTrack').getPosition();
			var clickedPosition = clickEvent.client.x - volumePosition.x;
			percentVolume = clickedPosition / volumeBarFullWidth;
			$('volumeLevel').style.width = Math.round(clickedPosition) + "px";
		}
	}
	
	$('volumeArea').onmouseup = function(event){
		mouseDown = false;
		percentVolume = Math.round(percentVolume*100);
		controls_setPlayerVolume(percentVolume);
	}
}

function controls_playPause() {
	var videoObj = $('videoObject');
	var playerStatus = videoObj.playState;
	if(playerStatus == 6 || playerStatus == 1 || playerStatus == 2 || playerStatus == 10)  {
		videoObj.controls.play();
		$('bttnPlayPause').src = "/images/video_bttnPause.gif";
	} else {
		videoObj.controls.pause();
		$('bttnPlayPause').src = "/images/video_bttnPlay.gif";
	}
	//$('videoObject').controls.play();
}

function controls_setPlayerPosition(videoPercent) {
	var destinationPosition = videoPercent * totalTime;
	$('videoObject').controls.currentPosition = destinationPosition;
	if(currentState != 3) {
		$('videoObject').controls.play();
	}
}

function controls_setPlayerVolume(volumePercent) {
	$('videoObject').settings.volume = volumePercent;
}

function controls_startProgressBar() {
	var progressBarDimensions;
	var volumeBarDimensions;
	
	clearInterval(progressInterval);
	totalTime = $('videoObject').currentMedia.duration;
	
	progressBarDimensions = $('playTrack').getSize();
	progressBarFullWidth = progressBarDimensions.size.x;
	
	volumeBarDimensions = $('volumeTrack').getSize();
	volumeBarFullWidth = volumeBarDimensions.size.x;
	
	
	
	if(totalTime) {
		progressInterval = setInterval(controls_showProgress, 50);
	}
}

function controls_showProgress() {
	var percentComplete;
	
	currentTime = $('videoObject').controls.currentPosition;
	percentComplete = currentTime / totalTime;	
	$('currPosition').style.width = Math.round(progressBarFullWidth * percentComplete) + "px";
	
	$('statusBar').innerHTML = $('videoObject').controls.currentPositionString + " / " + $('videoObject').currentMedia.durationString;
}

function controls_stopProgressBar() {
	clearInterval(progressInterval);
}

function controls_stopVideo() {
	$('videoObject').controls.stop();
}

function controls_playVideo() {
	$('videoObject').controls.play();
}

function controls_pauseVideo() {
	$('videoObject').controls.pause();
}

function controls_playStateChange(newState) {
	var stateText = "";
	currentState = newState;
	switch (newState){
		
		//	0 Undefined Windows Media Player is in an undefined state. 
		//	1 Stopped Playback of the current media item is stopped. 
		//	2 Paused Playback of the current media item is paused. When a media item is paused, resuming playback begins from the same location. 
		//	3 Playing The current media item is playing. 
		//	4 ScanForward The current media item is fast forwarding. 
		//	5 ScanReverse The current media item is fast rewinding. 
		//	6 Buffering The current media item is getting additional data from the server. 
		//	7 Waiting Connection is established, but the server is not sending data. Waiting for session to begin. 
		//	8 MediaEnded Media item has completed playback.  
		//	9 Transitioning Preparing new media item. 
		//	10 Ready Ready to begin playing. 
		//	11 Reconnecting Reconnecting to stream. 
		
		
		case 1:
			//stopped
			controls_stopProgressBar();
			break;
		case 2:
			//paused
			stateText = "Paused.";
			controls_stopProgressBar();
			break;
		case 3:
			//playing
			stateText = "Playing...";
			controls_startProgressBar();
			break;
		case 6:
			//buffering
			stateText = "Buffering video...";
			break;
		case 8:
			//completed playback
			stateText = "Stopped.";
			$('bttnPlayPause').src = "/images/video_bttnPlay.gif";
			controls_stopProgressBar();
			break;
		case 9:
			//completed playback
			stateText = "Buffering video...";
			break;
		case 10:
			stateText = "Ready to play.";
			break;
	}
	
	$('loadingContainer').style.display = "none";
	
	if(stateText.length) {
		$('statusBar').innerHTML = stateText
	}
}

*/
function sendFriend(id) {
	window.open('../tools/postcard_form.cfm?id='+id,'win2','resizable=0,scrollbars=0,height=500,width=640,top=250,left=250');
}