// axplayer-lite
var selectedMediaPlayer = null;
var selectedLanguage = "engb";

var windowsMediaUrlBase = "mms://media1.axisto.com/arriva/220905/arriva-220905-300k";

//var flashUrlBase = "http://www.axisto.com/webcast/media/arriva/180705/video/arriva-05";
var flashUrlBase = "video/arriva-220905-300k";

var transcriptUrlBase = "transcripts/arriva-05-transcript";
var subtitleUrlBase = "arriva-05-subtitles";
//objects
var mp = null;
var fp = null;
var subtitles = null;
var positionBar = null;
var playBtn = null;

window.onload = function()
{
	EventManager.Add(findObj('select-wmp'), 'click', player_Selected);
	EventManager.Add(findObj('select-flash'), 'click', player_Selected);
	EventManager.Add(findObj('select-lang'), 'change', language_Selected);
	
	playBtn = findObj('play-btn');	
	if(playBtn != null)
		EventManager.Add(playBtn,'click', playBtnClick = function(){if(mp!=null)mp.play();});
	
	getSelectedLanguage();
	
	var pq = new PageQuery();
	if(pq.getValue('tid') != null)
	{
		currentTopicIndex = parseInt(pq.getValue('tid'));
	}
	if(pq.getValue('mu') == null)
	{
		showMediaSelection(true);
	}
}

function showMediaSelection(show)
{
	var s = findObj('select-player');
	var p = findObj('mediapanel');
	
	if(show)
	{
		p.style.display = 'none';
		s.style.display = '';
	}
	else
	{
		p.style.display = '';
		s.style.display = 'none';
	}
}

function getSelectedLanguage()
{
	var sel = findObj('select-lang');
	if(sel != null)
	{
		var options = sel.getElementsByTagName('option');
		for(var i=0; i<options.length; i++)
		{
			if(options[i].nodeName == "OPTION" && options[i].selected && options[i].className != null)
			{
				var s = options[i].className;
				s = s.split('-');
				if(s.length > 0)
				{
					selectedLanguage = s[s.length-1];
				}
				break;
			}
		}
		var t = findObj('transcript');
		if(t != null && selectedLanguage != null)
		{
			var a = t.getElementsByTagName('a')[0];
			a.href = transcriptUrlBase+"-"+selectedLanguage+".htm";
			a.target = "blank";
		}
	}
}

function setMedia()
{
	showMediaSelection(false);
	
	//get selected language
	//getSelectedLanguage();
	
	if(selectedLanguage == "engb")
	{
		subtitleUrl = subtitleUrlBase+"-"+selectedLanguage+".xml"
		subtitles = new AXSubtitleClass("subtitles", subtitleUrl);
	}
	else if(subtitles != null)
	{
		subtitles.setVisible(false);
	}
	
	if(mp == null)
	{
		createMediaPlayer();
	}
	
	//create urls
	switch(selectedMediaPlayer)
	{
		case "wmp":
		{
			mediaUrl = windowsMediaUrlBase+"-"+selectedLanguage+".wmv";
			break;
		}
		case "fp":
		{
			mediaUrl = flashUrlBase+"-"+selectedLanguage+".swf";
			break;
		}
	}
	
	mp.write('video');
	mp.setUrl(mediaUrl);
	mp.play();
}

function createMediaPlayer()
{
	switch(selectedMediaPlayer)
	{
		case "wmp":
		{
			mp = new WindowsMediaPlayer('video', 'mp', 320, 240);
			break;
		}
		case "fp":
		{
			mp = new FlashMediaPlayer('video', 'mp', 320, 240);
			break;
		}
	}
	
	if(mp != null)
	{
		positionBar = new AXPositionBar('position-bar');
		positionBar.positionChange = function positionBar_positionChange(s)
		{
			if(mp != null) mp.setPosition(s);
		};
		
		mp.playStateChange = function mp_playStateChange(state)
		{
			if(state != null)
			{
				switch(state)
				{
					case 1:
					{
						if(playBtn != null) 
							playBtn.className = "play";
						break;
					}
					case 2://pause
					{
						if(playBtn != null) 
							playBtn.className = "play";
						break;
					}
					case 3://playing
					{
						if(playBtn != null) 
							playBtn.className = "pause";
						break;
					}
					case 6://buffering
					{
						if(positionBar != null) positionBar.setBuffering(mp.bufferProgress);
						break;
					}
					case 10:
					{
						var d = mp.getDuration();
						if(positionBar != null) positionBar.setDuration(d);
						//if(controller != null) controller.setDuration(d);
						break;
					}
				}
				if(positionBar != null) positionBar.setPlayState(state);
			}
		};
		
		mp.positionChange = function mp_positionChange(s)
		{
			//if(controller != null) controller.setPosition(s);
			if(subtitles != null) subtitles.setPosition(s);
			if(positionBar != null) 
			{
				if(positionBar.duration == 0) positionBar.setDuration(mp.getDuration());
				positionBar.setPosition(s);
			}
		};
		mp.downloadProgressChange = function mp_downloadProgressChange(s)
		{
			if(positionBar != null) 
			{
				positionBar.setDownloadProgress(s);
			}
		};
		setMedia();
	}
	else
	{
		//error creating player
	}
}

//EVENTS
function language_Selected(e)
{
	getSelectedLanguage();
	if(selectedMediaPlayer != null)
		setMedia();
}

function player_Selected(e)
{
	showMediaSelection(false);
	
	var o = null;
	if (e.target){o = e.target;}
	else if (e.srcElement){o = e.srcElement;}
	
	//get selected mp
	if(o != null && o.parentNode != null && o.parentNode.id != null)
	{
		o = o.parentNode;
		if(o.id.indexOf('wmp') != -1)
		{
			selectedMediaPlayer = "wmp";
		}
		else if(o.id.indexOf('flash') != -1)
		{
			selectedMediaPlayer = "fp";
		}
	}
	createMediaPlayer();
}

function playerEvent(command, arg1, arg2)
{
	if(mp != null && mp[command] != null)
	{
		if(arg1 != null)
		{
			mp[command](arg1);
		}
		if(arg2 != null)
		{
			mp[command](arg2);
		}
	}
}