// Globals for holding height and width of player
var h,w;

// Class Definition (Constructor)
function MediaPlayer(){
	// Assign init function as member of MyPlayer Class
	this.play = play;
	//this.playclip = playclip;
	this.playNewestTV = playNewestTV;
	this.createPlayer = createPlayer;
	this.loadClip = loadClip;
}

// Init function for MyPlayer Class

function xinit(img,width,height){ 	
	// If nothing passed in, use defaults
/*	var img = (img == null) ? "/images/spacer.gif" : img;
    var width = (width == null) ? "320" : width;	
	var height = (height == null) ? "240" : height;
*/
	img = (typeof img == 'undefined') ? "/images/spacer.gif" : img;
    width = (typeof width == 'undefined') ? "320" : width;	
	height = (typeof height == 'undefined') ? "240" : height;


	// Assign private vars to global vars
	w = width;
	h = height;
	
	// Set up container with default image, and load supporting javascripts
	//$('#container').html('<img src="' + img + '" height="' + height + '" width="' + width + '" />');
	
	//$('#container').css({height: height, width: width});
	
	createPlayer();


}

// Instanciate new Player object
MediaPlayer = new MediaPlayer();



// CREATE FLOW PLAYER
function createPlayer(fn,type,img,a){

if (typeof a=="undefined")
{
	var a = false;
}

	


switch(type){
	
	case "Radio":
		fn = fn + ".mp4";
		type = "radio";
		bw = null;
	break;
	
	case "TV":
		fn = "AWTV" + fn + ".mp4";
		type = "tv";
		bw = null;
		//bw = 'bwcheck';
	break;
	
	case "Extend":
		fn = fn + ".mp4";
		type="extend";
		bw = null;
	break;
	
	default:
	alert("type not specified");
	break;
	
	}


// Common clip removed because it interfered
// clip:{ url:'mp4:' + fn , provider:type , autoPlay:false, urlResolvers:bw},
//log: { level: 'debug', filter: 'org.flowplayer.bwcheck.*' },
//$f("container", {src: '/flash/flowplayer-3.1.3-dev-dl.swf', wmode: 'opaque'}, { 
  $f("container", {src: '/flash/flowplayer.commercial-3.1.5.swf', wmode: 'opaque'}, { 	 
   
   key:'$437ae875211ff9a9943',
   
 clip:{ url:'mp4:' + fn , provider:type , autoPlay:a, urlResolvers:bw},

   
   canvas: { 
	    background: '#000000',
		backgroundGradient: 'none',
        backgroundImage: 'url('+ img +')' 
    },

	

plugins: { 
   
   	// bandwidth check plugin 
        bwcheck: { 
            url: '/flash/flowplayer.bwcheck-3.1.3-dev.swf', 
 
 			dynamic: true,
			
			rememberBitrate: false,
			
			serverType: 'fms', 
 			
			checkOnBegin: false,
 
            // Use this connection for bandwidth detection 
            netConnectionUrl: 'rtmp://fms.calvaryftl.org/flvplayer/activeword', 
 
            // available bitrates for file names 
            bitrates: [56, 150, 700], 
 
            // use a customized urlPattern for file names 
            urlPattern: '{0}_{1}kb', 
 
            // this method is called when the bandwidth check is done 
            onBwDone: function(url, chosenBitrate, bitrate) { 
			  //alert($f("container").getConfig().plugins.bwcheck.bitrates);
			  //$f("container").getConfig().plugins.bwcheck.bitrates = '700';
               //alert($f("container").getConfig().plugins.bwcheck.bitrates);
                if (bitrate <= 56) {
					$('#videoinfo').html('Bandwidth: low | <a href="javascript:setBitrate(150)">med</a> | <a href="javascript:setBitrate(700)">hi</a>');
					}
				if (bitrate > 56) {
					$('#videoinfo').html('Bandwidth: <a href="javascript:setBitrate(56)">low</a> | med | <a href="javascript:setBitrate(700)">hi</a>');
					}					
				if (bitrate > 150){
					$('#videoinfo').html('Bandwidth: <a href="javascript:setBitrate(56)">low</a> | <a href="javascript:setBitrate(150)">med</a> | hi');
				}

				//el.innerHTML = "Bandwidth: " + speed + "<br />Video file served: " +url;
            } , 
			
			// called when stream is switched dynamically
			onStreamSwitch: function(bitrate, newUrl, oldUrl) {
				if (bitrate <= 56) {
					$('#videoinfo').html('Bandwidth: low | <a href="javascript:setBitrate(150)">med</a> | <a href="javascript:setBitrate(700)">hi</a>');
					}
				if (bitrate > 56) {
					$('#videoinfo').html('Bandwidth: <a href="javascript:setBitrate(56)">low</a> | med | <a href="javascript:setBitrate(700)">hi</a>');
					}					
				if (bitrate > 150){
					$('#videoinfo').html('Bandwidth: <a href="javascript:setBitrate(56)">low</a> | <a href="javascript:setBitrate(150)">med</a> | hi');
				}
			}
		},
   
   
			controls: {url: '/flash/flowplayer.controls-3.1.5.swf', 
				   autoHide: 'fullscreen', 
				   hideDelay: 1000,
				  sliderColor: '#111d0b',
				  buttonColor: '#3c7a06',
				  volumeSliderGradient: 'none',
				  timeBgColor: '#555555',
				  tooltipColor: '#5F747C',
				  progressGradient: 'medium',
				  progressColor: '#447001',
				  bufferColor: '#262626',
				  tooltipTextColor: '#ffffff',
				  backgroundColor: '#a6a6a6',
				  volumeSliderColor: '#000000',
				  sliderGradient: 'none',
				  buttonOverColor: '#4d4d4d',
				  backgroundGradient: [0.6,0.3,0,0,0],
				  timeColor: '#86cb34',
				  bufferGradient: 'none',
				  borderRadius: '0px',
				  durationColor: '#fafafa',
				  height: 24,
				  opacity: 1.0				   
				   }, 
			extend:{  url: '/flash/flowplayer.rtmp-3.1.3-dev.swf',
			          netConnectionUrl: 'rtmp://fms.calvaryftl.org/flvplayer/activeword/extend'
				   },
			radio:{  url: '/flash/flowplayer.rtmp-3.1.3-dev.swf',
			          netConnectionUrl: 'rtmp://fms.calvaryftl.org/flvplayer/activeword/radio'
				   },
		    tv:{  url: '/flash/flowplayer.rtmp-3.1.3-dev.swf',
			          netConnectionUrl: 'rtmp://fms.calvaryftl.org/flvplayer/activeword/tv'
				   }
		
		     }
   
});

}

function setBitrate(b){
	$f("container").getPlugin("bwcheck").dynamic(true);
$f("container").getPlugin("bwcheck").setBitrate(b);
}

// Creates a flash player
function XcreatePlayer(fn, img, type, autoplay){

//var s1 = new SWFObject("/jwplayer/player-licensed.swf","ply",w,h,"9","white");
//s1.addParam("allowfullscreen","true");
//s1.addParam("AllowNetworking","all");
//s1.addParam("allowscriptaccess","always");
//s1.addParam("flashvars","file=" + fn + "&streamer=rtmp://fms.calvaryftl.org/flvplayer/activeword/" + type + "&autostart=" + autoplay + "&image=" + img + "&abouttext=Activeword.org&aboutlink=http://www.activeword.org/aboutus/" );
//s1.addParam("wmode","transparent");
//s1.write("container");



if (type == 'radio'){
	
$f("container", "/flash/flowplayer-3.1.2.swf", { 
    clip: { 
        url: "mp4:" + fn, 
        provider: 'influxis' 
    }, 
	 canvas: { 
        backgroundImage: 'url(' + img + ')' 
    }, 
    plugins: { 
		controls: {url: '/flash/flowplayer.controls-3.1.2.swf', 
				   autoHide: 'always', 
				   hideDelay: 1000,
				  sliderColor: '#111d0b',
				  buttonColor: '#3c7a06',
				  volumeSliderGradient: 'none',
				  timeBgColor: '#555555',
				  tooltipColor: '#5F747C',
				  progressGradient: 'medium',
				  progressColor: '#447001',
				  bufferColor: '#262626',
				  tooltipTextColor: '#ffffff',
				  backgroundColor: '#a6a6a6',
				  volumeSliderColor: '#000000',
				  sliderGradient: 'none',
				  buttonOverColor: '#4d4d4d',
				  backgroundGradient: [0.6,0.3,0,0,0],
				  timeColor: '#86cb34',
				  bufferGradient: 'none',
				  borderRadius: '0px',
				  durationColor: '#fafafa',
				  height: 24,
				  opacity: 1.0				   
				   }, 
		
        influxis: { 
            url: '/flash/flowplayer.rtmp-3.1.1.swf', 
            netConnectionUrl: 'rtmp://fms.calvaryftl.org/flvplayer/activeword/' + type
        } 
    } 
});

} // end of if type eq radio
else{
	
	$f("container", "/flash/flowplayer-3.1.2.swf", { 
    clip: { 
        url: "mp4:" + fn, 
        provider: 'rtmp' 
    }, 
    plugins: { 
		controls: {url: '/flash/flowplayer.controls-3.1.2.swf', 
				   autoHide: 'always', 
				   hideDelay: 1000,
				  sliderColor: '#111d0b',
				  buttonColor: '#3c7a06',
				  volumeSliderGradient: 'none',
				  timeBgColor: '#555555',
				  tooltipColor: '#5F747C',
				  progressGradient: 'medium',
				  progressColor: '#447001',
				  bufferColor: '#262626',
				  tooltipTextColor: '#ffffff',
				  backgroundColor: '#a6a6a6',
				  volumeSliderColor: '#000000',
				  sliderGradient: 'none',
				  buttonOverColor: '#4d4d4d',
				  backgroundGradient: [0.6,0.3,0,0,0],
				  timeColor: '#86cb34',
				  bufferGradient: 'none',
				  borderRadius: '0px',
				  durationColor: '#fafafa',
				  height: 24,
				  opacity: 1.0				   
				   }, 
		
        rtmp: { 
            url: '/flash/flowplayer.rtmp-3.1.1.swf', 
            netConnectionUrl: 'rtmp://fms.calvaryftl.org/flvplayer/activeword/' + type
        } 
    } 
});
	
} // end else of if type eq radio



}

// Play newest TV
function playNewestTV(){

$(document).ready(function(){
   // Once the page is finished loading, set up initial text in the Message Info box
	$.get("/ajax/ajax.cfm", { action: "GetNewestTV"}, function (data, textStatus){createPlayer(data,'TV', '/images/playerPlaceholderSmall.jpg'   );});

 });

	

}

function loadClip(fn,type,bw){
	
	$f("container").addClip({url:'mp4:' + fn , provider:type, urlResolvers:bw});	
//	alert($f("container").getClip());
//	$f("container").play(0);

	

}

// play always autoplays - there is no way to use this with autoPlay: false
function play(fn,type){
//alert($f("container").getCommonClip().urlResolvers);
$f("container").getCommonClip().urlResolvers = null;
//alert($f("container").getCommonClip().urlResolvers);
// Log it
	logPlay(fn,type);
	
	// Clear bandwidth text
	$('#videoinfo').html('');
	
	switch(type){
	
	case "Radio":
		fn = fn + ".mp4";
		type = "radio";
		bw = null;
	break;
	
	case "TV":
		fn = "AWTV" + fn + ".mp4";
		type = "tv";
		//bw = 'bwcheck';
		bw = null;
	break;
	
	case "Extend":
		fn = fn + ".mp4";
		type="extend";
		bw = null;		
	break;
	
	default:
	
	break;
	
	}

	$f("container").play({url:'mp4:' + fn , provider:type, urlResolvers:bw});	

}


// Creates a player based on passed in criteria
function playx(fn,type,bw,autoplay,img){	

	// Log it
	logPlay(fn,type);
//alert(fn + ' ' + type + ' ' + bw);
/*
		Due to addition of more types of bw's, do no checking

	// *** DEFAULT BANDWIDTH IS SET HERE ***
	var DEFAULT_BW = "h";
	// If bandwidth not passed in, default it
	var bw = (bw == null) ? DEFAULT_BW : bw;
	// Make sure bandwidth value is valid
	if((bw != "h") && (bw != "l")){
		bw = DEFAULT_BW;
	}
	
*/	
	
	// Default autoplay is TRUE
	// If value not passed in, default it
	autoplay = (typeof autoplay == 'undefined') ? 'true' : autoplay;
	// Make sure value is valid
	if((autoplay != 'true') && (autoplay != 'false')){
		autoplay = 'true';
	}

	switch(type){
	
	case "Radio":
		//Add Suffix
		fn = fn + ".m4a";
		img = "/images/mp3ico.jpg";
		type = "radio";
		createPlayer(fn,img,type,autoplay);
	break;
	
	case "TV":
		fn = "AWTV" + fn + "_" + bw + "kb.mp4";
		type = "tv";
		createPlayer(fn,img,type,autoplay);
	break;
	
	case "Extend":
		img = "";
		//fn = "http://fms.calvaryftl.org/flvplayer/activeword/extend/" + fn + ".mp4"; //+ bw 
		type="extend";
		fn = fn + ".mp4";
		createPlayer(fn,img,type,autoplay);
		
	break;
	
	default:
	
	break;
	
	}


		
}


function logPlay(fn,type){

var dataString = 'action=logPlay&fn='+ fn + '&type=' + type;

$.ajax({
      type: "GET",
      url: "/ajax/ajax.cfm",
      data: dataString,
	  dataType: "text"});

}


