//Windows Media Player plugin for Firefox Javascript Support File

//var playstateValues = new Array("Undefined","Stopped","Paused","Playing","Scan Forward","Scan Reverse","Buffering","Waiting","Media Ended","Transitioning","Ready","Reconnecting");
var loading_image = "<img src='/images/loading.gif' alt='...' width='16' height='16' align='absmiddle'>";
var playstateValues = new Array("~", "", "", "", loading_image, loading_image, loading_image, loading_image, "-", loading_image, "", loading_image);
var is_ie = (navigator.userAgent.toLowerCase().indexOf("msie") != -1);
// Get/set if the flash player is playing
var flashPlayerUrl = null;
var flashPlayerID = null;

function setupWindowsMedia(width, height, url, mf_id) 
{
    if(mf_id == "MFR_RADIO21" ||
		mf_id == "MFR_EUROPAFM" ||
		mf_id == "MFR_VIBEFM")
    {
        flashPlayerUrl = url;
    }
    
	// create the windows media player with no video playing by default
    document.getElementById('wmpPlayer').innerHTML = wmpCreate(url, width, height);
}
function wmpCreate(url, width, height) 
{
    var str = "";
   
	if (is_ie) 
	{
		// create the WMP for IE
		str = '<object id="contentPlayer" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" width="'+width+'" height="'+height+'">';
    } 
    else 
	{
		// create it for FF.
	    str = '<object id="contentPlayer" type="application/x-mplayer2" data="' + url + '" width="' + width + '" height="' + height + '">';
	}

	str += '<param name="URL" value="'+url+'" />';
	//str += '<param name="uiMode" value="mini">';
	str += '<param name="windowlessVideo" value="false">';
	str += '<param name="enableContextMenu" value="true">';
	str += '<param name="AudioStream" value="1">';
	str += '<param name="SendPlayStateChangeEvents" value="1">';
	str += '<param name="autostart" value="false"/>';
	str += '</object>';
	return str;
}

//Windows Media Player event notifiers.

/* 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
*/

// This function will run every time the Play State changes in Windows Media Player
function wmpPlayStateChange(newState)  {
		document.getElementById('statusLine').innerHTML = playstateValues[newState];
}


//Utility Functions

function playVideo(url, mf_id) 
{
    // stop the flash player
    if(flashPlayerUrl != null)
    {
        stopFlash();
        flashPlayerUrl = null;
    }
    // stop the wmp
	var wmp = document.getElementById('contentPlayer');
	if (wmp && wmp.controls)
	    wmp.controls.stop();
	    
    if(mf_id == "MFR_RADIO21" ||
		mf_id == "MFR_EUROPAFM" ||
		mf_id == "MFR_VIBEFM")
    {
        flashPlayerUrl = url;
        setupFlashPlayer(url);
    }
    else
    {
        if (wmp && wmp.controls) 
        {
            wmp.URL = url;
            wmp.controls.play();
        }
	}
}


function controlAction(action) {
    if(flashPlayerUrl != null) {
        //var flash = swfobject.getObjectById(flashPlayerID);
        //if(flash == null)
        //    return;
        switch (action) {
		    case "play":
		        setupFlashPlayer(flashPlayerUrl);
			    break;
		    case "pause":
		    case "stop":
		        stopFlash();
			    break;
	    }
    }
    else {
	    var wmp = document.getElementById('contentPlayer');
	    switch (action) {
			case "play":
			    if (wmp && wmp.controls)
			        wmp.controls.play();
				break;
			case "pause":
			    if (wmp && wmp.controls)
			        wmp.controls.pause();
				break;
			case "stop":
			    if (wmp && wmp.controls)
			        wmp.controls.stop();
				break;
			}
	}
}

function checkWMPVer() {

	var wmpInfo;
	try {
		wmpInfo = document.getElementById('contentPlayer').versionInfo;
	} catch (e) {
		wmpInfo = "error!";
	}
	return wmpInfo;
}

function toggleMute() {

	var wmp = document.getElementById('contentPlayer');
	if (wmp == null)
	    return;
	
	if (wmp.settings.mute) {
		wmp.settings.mute = false;
		return wmp.settings.volume + "%";
	} else {
		wmp.settings.mute = true;
		return "Mute";
	}
}

function setVolume(dir) {
    if(flashPlayerUrl == null) {
		var wmp = document.getElementById('contentPlayer');
		if (wmp == null)
		    return;
	
		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');
	if (wmp == null)
	    return;
	
	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();

}

function setupFlashPlayer(url) 
{
    var data = url.split('$');
	// create the flash object
	var fv = data[1];
	fv = '(' + fv.replace(/'/ig, '"') + ')';

    var flashvars = eval(fv);

    var params = {};
    var attributes = {};
    flashPlayerID = "contentFlashPlayer" + new Date().getTime();
    attributes.id = flashPlayerID;
    attributes.name = flashPlayerID;
    swfobject.embedSWF(data[0], "mf_flashPlayer", "1", "1", "9.0.0", false, flashvars, params, attributes);
}

function stopFlash() {
    swfobject.removeSWF(flashPlayerID);
    $('#mf_flashPlayerBox').html('<div id="mf_flashPlayer"></div>');
}
