
/*

	Windows Media Player plugin for Firefox Javascript Support File

*/

// Browser Detection
var agt = navigator.userAgent.toLowerCase();

var is_ie = (agt.indexOf("msie") != -1);


// Windows Media Player size
var videoPlayerWidth = 320;
var videoPlayerHeight = 240;


function setupWindowsMedia() {
	
	// create the windows media player with no video playing by default
	document.getElementById('wmpPlayer').innerHTML = wmpCreate('');
	
}

function wmpCreate(url) {

	var str = "";

	if (is_ie) {
	
		// create the WMP for IE
		
		str = '<object id="contentPlayer" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" width="'+videoPlayerWidth+'" height="'+videoPlayerHeight+'">';

	} else {
	
		// create it for FF.
		
		str = '<object id="contentPlayer" type="application/x-ms-wmp" data="'+url+'" width="'+videoPlayerWidth+'" height="'+videoPlayerHeight+'">';
		
	}

	str += '<param name="URL" value="'+url+'" />';
	str += '<param name="uiMode" value="none">';
	str += '<param name="windowlessVideo" value="true">';
	str += '<param name="enableContextMenu" value="true">';

	str += '</object>';
		
	return str;
	
}

/*
	Windows Media Player event notifiers.
*/

// This function will run every time the Media changes in Windows Media Player
function wmpMediaChange(item) {

	// get a handle to the Windows Media Player
	
	var wmp = document.getElementById('contentPlayer');


	// send the media change info (name and url) into flash as plain text
	try {
		document.getElementById('wmpSWF').mediaChange(wmp.currentMedia.name, wmp.currentMedia.sourceURL);
	} catch(e) {}
	
}

/* all available playstate values
   0 Undefined
   1 Stopped
   2 Paused
   3 Playing
   4 ScanForward
   5 ScanReverse
   6 Buffering
   7 Waiting
   8 MediaEnded
   9 Transitioning
   10 Ready
   11 Reconnecting
*/
var playstateValues = new Array("Undefined","Stopped","Paused","Playing","Scan Forward","Scan Reverse","Buffering","Waiting","Media Ended","Transitioning","Ready","Reconnecting");

// This function will run every time the Play State changes in Windows Media Player
function wmpPlayStateChange(newState)  {

	// send the play state change as plain text to flash
	try {
		document.getElementById('wmpSWF').playStateChange(playstateValues[newState]);
	} catch(e) {}
	
}


/*

	Utility Functions

*/

function playVideo(url) {

	var wmp = document.getElementById('contentPlayer');

	wmp.controls.stop();
	
	wmp.URL = url;
	
	wmp.controls.play();
}

function controlAction(action) {
	
	switch (action) {
		case "play":
			document.getElementById('contentPlayer').controls.play();
			break;
		case "pause":
			document.getElementById('contentPlayer').controls.pause();
			break;
		case "stop":
			document.getElementById('contentPlayer').controls.stop();
			break;
	}
	
}

function checkWMPVer() {

	var wmpInfo;

	try {
		wmpInfo = document.getElementById('contentPlayer').versionInfo;
	} catch (e) {
		wmpInfo = "error!";
	}
	
	return wmpInfo;

}

function checkNetStats() {

	var wmp = document.getElementById('contentPlayer');

	
	var dataObject = new Object();
	
	dataObject.bandWidth = wmp.network.bandWidth;
	dataObject.bitRate = wmp.network.bitRate;
	dataObject.bufferingProgress = wmp.network.bufferingProgress;
	dataObject.downloadProgress = wmp.network.downloadProgress;
	dataObject.status = wmp.status;
	dataObject.playheadPercent = (wmp.controls.currentPosition / wmp.controls.currentItem.duration);
	
	return dataObject;
	
}

function toggleMute() {

	var wmp = document.getElementById('contentPlayer');
	
	if (wmp.settings.mute) {
		wmp.settings.mute = false;
		return wmp.settings.volume + "%";
	} else {
		wmp.settings.mute = true;
		return "Mute";
	}
	
	

}

function setVolume(dir) {

	var wmp = document.getElementById('contentPlayer');

	wmp.settings.mute = false;

	switch (dir) {
		case "up":
			if (wmp.settings.volume < 100) {
				wmp.settings.volume += 10;
			}
			break;
		case "down":
			if (wmp.settings.volume > 0) {
				wmp.settings.volume -= 10;
			}
			break;
	}
	
	return wmp.settings.volume + "%";

}

function newPlaylist() {

	var wmp = document.getElementById('contentPlayer');
	
	wmp.controls.stop();
	
	var newPlaylist = wmp.newPlaylist("Couple Good Shorts", "");
	
	var item1 = wmp.newMedia("./wmp_play/tribes2.avi");
	var item2 = wmp.newMedia("./wmp_play/besthockey.wmv");
	
	
	newPlaylist.insertItem(0, item1);
	newPlaylist.insertItem(1, item2);
	
	wmp.currentPlaylist = newPlaylist;
	
	wmp.controls.play();

}
