//webcast data
var subtitleUrl = "";
var slidesUrl = "";

//default player settings
var useDynamicResizing = true;
var useSlideReplacement = true;
var useSlideChangeSignal = true;
var showPlayControls = true;
var showMediaPlayerControls = false;
var showViewControl = true;
var showAccessibilityControl = true;
var showSoundControl = true;
var promptForFeedback = false;
var hideFeedbackAfterSubmit = true;
var showTestText = false;
//menu
var useAutomaticMenuPositioning = true;
var automaticMenuPositioningOffsetTop = 0;
var menuOffsetHeight = 5;
						
//global
var mediaPlayerWidth = 320;
var mediaPlayerHeight = 240;
var showMediaSelection = false;
var tabPanelMargin = null;
var playerHeightOffset = 50;

var selectedMediaPlayer = null;
var selectedMediaUrl = null;
var streamId = null;
var externalPlayer = false;
var topicIndex = -1;
var startPosition = -1;
var autoStart = true;

var mp = null;
var mp2 = null;
var slides = null;
var subtitles = null;
var controller = null;
var positionBar = null;
var playBtn = null;
var tabPanel1 = null;
var onBeforeUnloadTriggered = false;

//user data
var cid = "";
var requireRegistration = true;
var reportUrl = "";
var mediaUrl = null;
var mediaType = null;
var usePlayerPopup = false;

//rpc for live data
var rpcScript = null;
var rpcUrl = "./data/livedata.js";
var rpcTimer = null;
var rpcTimeStamp = "";


var isPresentationStarted = false;
var liveData = null;
var userData = null;
var isLoaded = false; //window.onload

document.write('<script id="liveData" language="javascript" type="text/javascript" src="./data/livedata.js?i=' + new Date().getTime() +  Math.random()*1000 + '"></script>');

function initPlayer()
{
	//get user data
	userData = getUserData();
	
	if(requireRegistration)
	{
		if(!userData.isRegistered)
		{
			if(isPresentation())
			{
				//has saved presentation url
				setCookie("targetUrl", window.location);
			}
			redirect(registrationUrl);
			return;
		}
	}
	
	//get live data
	if(liveData != null)
	{
		//is user at correct url?
		if(window.location.href.indexOf(liveData.targetUrl) < 0)
		{
			//move user to current url if not select-player
			if(window.location.href.indexOf(selectPlayerUrl) < 0)
			{
				redirect(liveData.targetUrl);
			}
		}
		else if(isPresentation())
		{
			//presentaion will be started in onload
			//has saved presentation url
			var pq = new PageQuery();
			streamId = (streamId != null)?streamId:pq.getValue('sid');
			if(streamId == null)
			{
				setCookie("targetUrl", window.location);
				redirect(selectPlayerUrl);
			}
		}	
	}
	else
	{
		alert("To view this webcast, you must enable javascript and cookies in your browser.");
	}
}


function redirect(url)
{
	if(window.location.href.indexOf(url) < 0)
	{
		if(isTest)
		{
		    window.location = url+"?test="+test;
		}
		else
		{
		    window.location = url;
		}
	}
}

function isPresentation()
{
	if(window.location.href.indexOf("register") < 0 && window.location.href.indexOf("select-player.htm") < 0)
	{
		return true;
	}
	return false;
}

function startPresentation()
{
	if(isPresentation())
	{
		//has saved presentation url
		var pq = new PageQuery();
		streamId = (streamId != null)?streamId:pq.getValue('sid');
		if(streamId != null)
		{
			if(isLoaded)
			{
				initPresentation();
			}
		}
		else
		{
			setCookie("targetUrl", window.location);
			redirect(selectPlayerUrl);
		}
	}
	else
	{
		if(userData.targetUrl != null)
		{
			redirect(userData.targetUrl);
		}
		else
		{
			//oops go to default presentation
			redirect(presentations[0]);
		}
	}
}

function webcast_onload()
{
	isLoaded = true;
	
	//fix for browser that can't dynamically add script tag in header
	if(isLive && rpcTimer == null)
	{
		updateLiveData();
	}
	
	//select player page
	if(window.location.href.indexOf("select-player.htm") > -1)
	{
		EventManager.Add('selectplayer-btn', 'click', selectplayer_click);
	}	
	
	if(isPresentation())
	{
		initPresentation();
	}
}

window.onbeforeunload = function()
{
	try
	{
		if(promptForFeedback && !userData.sentFeedback && !onBeforeUnloadTriggered && tabPanel1 != null)
		{
			onBeforeUnloadTriggered = true;
			tabPanel1.selectTab("Feedback");
			event.returnValue = "Please press cancel and take a moment to give us your feedback";
		}
	}
	catch(ex)
	{
	
	}
}

function playStream(sid, width, height)
{
	streamId = sid;
	mediaPlayerWidth = width;
	mediaPlayerHeight = height;
	
	var videoDiv = document.getElementById('video');
	videoDiv.style.width = mediaPlayerWidth;
	
	init();
	
	showMediaPanel(true);
}
			
function showMediaPanel(show)
{
	var selectPlayerDiv = document.getElementById('select-player');
	var mediaDiv = document.getElementById('mediapanel');
	if(show)
	{
		selectPlayerDiv.style.display = "none";
		mediaDiv.style.display = "block";
	}
	else
	{
		selectPlayerDiv.style.display = "block";
		mediaDiv.style.display = "none";
	}
}

function initPresentation()
{
	isPresentationStarted = true;
	//presentation
	videoPanel = document.getElementById('video');
	playerPanel = document.getElementById('wrapper');
	audioImage = document.getElementById('audioonly');
	mediaPanel = document.getElementById('mediapanel');
	tabPanel1 = new AXTabPanel('tabpanel');
	
	//input params
	var pq = new PageQuery();
	if(pq.getValue('tid') != null)
	{
		topicIndex = parseInt(pq.getValue('tid'));
	}
	if(pq.getValue('mu') != null)
	{
		mediaUrl = pq.getValue('mu');
	}
	
	//autostart
	if(pq.getValue('autostart') != null)
	{
		autoStart = false;
	}
	
	//external player setting
	if(pq.getValue('ep') != null)
	{
		externalPlayer = true;
	}
	var playInExternalPlayer = document.getElementById('externalplayer-btn');
	if(isMac || isOp || isSa || externalPlayer)
	{
	}
	else
	{
		if(playInExternalPlayer != null)
		{
			playInExternalPlayer.checked = false;
		}
	}
	if(playInExternalPlayer != null && playInExternalPlayer.checked)
	{
		externalPlayer = true;
	}
	
	if(showTestText)
	{
	    var o = document.getElementById("testtext");
	    if(o != null)
	    {
	        o.style.display = "block";
	    }
	}
	
	if(showPlayControls)
	{
		//show play control buttons
		var playControls = document.getElementById('play-controls');
		if(playControls != null)
		{
			playControls.style.display = "block";
			
			playBtn = document.getElementById('play-btn');
			if(playBtn != null)
			{
				EventManager.Add('play-btn','click', playBtnClick = function(){if(mp!=null)mp.play();});
				playBtn.style.display = "block";
			}
			
			if(!isLive)
			{
				var prevSlideBtn = document.getElementById('slide-previous');
				if(prevSlideBtn != null)
				{
					EventManager.Add('slide-previous', 'click', prevSlideBtnClick = function(){if(controller!=null)controller.previous();});
					prevSlideBtn.style.display = "block";
				}
				
				var nextSlideBtn = document.getElementById('slide-next');
				if(nextSlideBtn != null)
				{
					EventManager.Add('slide-next', 'click', nextSlideBtnClick = function(){if(controller!=null)controller.next();});
					nextSlideBtn.style.display = "block";
				}
			}
			
			var positionBarDiv = document.getElementById('position-bar');
			if(positionBarDiv != null)
			{
				positionBarDiv.style.display = "block";
				if(AXPositionBar != null)
				{
					positionBar = new AXPositionBar('position-bar');
					positionBar.positionChange = function positionBar_positionChange(s)
					{
						if(mp != null) 
						{
							mp.setPosition(s);
						}
					};
				}
			}
			
			var lineDiv = document.getElementById('line');
			if(lineDiv != null)
			{
				lineDiv.style.display = "block";
			}
			
			if(showViewControl)
			{
				var viewBtn = document.getElementById('view-btn');
				if(viewBtn != null)
				{
					EventManager.Add('view-btn','click', view_click);
					viewBtn.style.display = "block";
				}
			}
			
			if(showSoundControl)
			{
				var soundBtn = document.getElementById('sound-btn');
				if(soundBtn != null)
				{
					EventManager.Add('sound-btn','click', sound_click);
					soundBtn.style.display = "block";
				}
			}
			
			if(subtitleUrl != "" && subtitleUrl != null)
			{
				var subtitlesBtn = document.getElementById('subtitles-btn');
				if(subtitlesBtn != null)
				{
					EventManager.Add('subtitles-btn','click', subtitles_click);
					subtitlesBtn.style.display = "block";
				}
			}
			
			var accessibilityBtn = document.getElementById('accessibility-btn');
			if(showAccessibilityControl)
			{
				if(accessibilityBtn != null)
				{
					accessibilityBtn.style.display = "block";
					EventManager.Add('accessibility-btn','click', accessibility_click);
				}
			}
			else
			{
				if(accessibilityBtn != null)
				{
					accessibilityBtn.style.display = "none";
				}
			}
			
			var jsDisabledDiv = document.getElementById('js-disabled');
			if(jsDisabledDiv != null)
			{
				jsDisabledDiv.style.display = "none";
			}	
		}
	}
	else
	{
		var playControls = document.getElementById('play-controls');
		if(playControls != null)
		{
			playControls.style.display = "none";
		}
		if(playerPanel != null)
		{
			playerPanel.style.marginTop = "10px";
		}
	}
	
	//Slides
	if(slidesUrl != "" && slidesUrl != null)
	{
		if(useSlideReplacement)
		{
			slides = new AXFlashSlides();
			slides.url = slidesUrl;
			slides.write("slides");
		}
		else
		{
			//html slides
			//slides = new AXFlashSlides("fslides", null, "FFFFFF");
		}
		
		//mp to play slide changing chime
		var videoph2 = document.getElementById("videoph2");
		if(useSlideChangeSignal && slides != null && videoph2 != null)
		{
		    videoph2.style.display = "block";
			var fo = new FlashObject("swf/attente.swf", "mp2", "1", "1", 6, "CCCCCC");
			fo.write("videoph2");
			mp2 = findObj("mp2");
		}
		else if(videoph2 != null)
		{
		    videoph2.style.display = "none";
		}
	}
	
	if(subtitleUrl != "")
	{
		subtitles = new AXSubtitleClass("subtitles", subtitleUrl);
	}
	
	controller = new AXController();
	controller.topicChange = function(topic)
	{
	    //alert("topicchange "+topic.beginTime);
	    if(mp != null) 
		{
			if(Math.abs(mp.currentPosition-topic.beginTime) > 2.0)
			{
				mp.setPosition(topic.beginTime);
			}
			if(topic.imageUrl != null)
			{
				mp.setImage(topic.imageUrl);
			}
		}
		if(mp2 != null)
		{
			mp2.Play();
		}
		
		if(slides != null) 
		{
		    if(topic.slideUrl != slides.url)
		    {
		        slides.setUrl(topic.slideUrl, topic.id);
		    }
		    else
		    {
		        slides.setSlide(topic.id);
		    }
		}
	};
	
	if(topicIndex > -1)
	{
		startPosition = controller.topics[topicIndex].beginTime;
	}
	
	//media
	streamId = (streamId != null)?streamId:pq.getValue('sid');
	if(streamId != null)
	{
		var l = document.getElementById(streamId);
		if(l != null)
		{
			var url = l.href;
			var mt = (streamId.indexOf('wma') > -1 || streamId.indexOf('rma') > -1 || streamId.indexOf('fla') > -1) ? "audioonly" : "audiovideo";
			setMedia(url, mt);
		}
	}
	else
	{
		//use default stream
		var mediaLinksDiv = document.getElementById('medialinks');
		if(mediaLinksDiv != null)
		{
			var s = mediaLinksDiv.getElementsByTagName("A");
			if(s.length > 0)
			{
				var url = s[0].href;
				var mt = (s[0].id.indexOf('wma') > -1 || s[0].id.indexOf('rma') > -1 || streamId.indexOf('fla') > -1) ? "audioonly" : "audiovideo";
				setMedia(url, mt);
			}
		}
	}
	
	//maximise screen for slides
	if(slidesUrl != "")
	{
	    playerLoaded();
		setFullScreen();
		if(isIE)
		{
		    setTimeout("setFullScreen();", 250);/* fix for IE*/
		}
		window.onresize();
		setView("presentation");
	}
	
	//log hit
	if(reportUrl != null && reportUrl != "")
	{
		setTimeout("log_webcast()", 5000); 
	}
}

function playerLoaded()
{
	var l = document.getElementById('loader');
	if(l != null)
	{
		l.style.display = "none";
	}
	
	var p = document.getElementById('wrapper');
	if(p != null)
	{
		p.style.visibility = "visible";
	}
	
	var pc = document.getElementById('play-controls');
	if(pc != null)
	{
		pc.style.visibility = "visible";
	}
}

function setView(name)
{
	if(name == "presentation" || name == "lobby")
	{
		//show video
		try
		{
			mp.setZoom(100);
		}
		catch(ex){}
		
		var mediaPanel = document.getElementById('mediapanel');
		if(mediaPanel != null)
		{
			mediaPanel.style.visibility = 'visible';
		}
		
		var videoPanel = document.getElementById('video');
		if(videoPanel != null)
		{
			videoPanel.style.visibility = 'visible';
		}
		
		var menuPanel = document.getElementById('menu');
		if(menuPanel != null)
		{
			if(isLive)
			{
				//menuPanel.style.display = 'none';
				menuPanel.style.visibility = 'hidden';
			}
			else
			{
				menuPanel.style.visibility = 'visible';
				menuPanel.style.display = 'block';
			}
		}
			
		var audioonlyImage = document.getElementById("audioonly-image");
		if(audioonlyImage != null)
		{
			audioonlyImage.style.visibility = "visible";
		}
		
		var centerPad = document.getElementById('centerpad');
		if(centerPad != null && tabPanelMargin != null)
		{
			if(mediaPanelAlignment == "left")
			{
				centerPad.style.marginLeft = tabPanelMargin;
			}
			else if(mediaPanelAlignment == "right")
			{
				centerPad.style.marginRight = tabPanelMargin;
			}
		}
		
		var separator = document.getElementById('tabpanelpad');
		separator.className = "separator";
		window.onresize();
	}
	else if(name == "presentation-slides")
	{
		//hide video
		if(mp != null)
		{
			mp.setZoom(10);
		}
		
		//hide mediapanel
		var mediaPanel = document.getElementById('mediapanel');
		if(mediaPanel != null)
		{
			mediaPanel.style.visibility = "hidden";
		}
		
		var videoPanel = document.getElementById('video');
		if(videoPanel != null)
		{
			videoPanel.style.visibility = 'hidden';
		}
		
		var menuPanel = document.getElementById('menu');
		if(menuPanel != null)
		{
			if(isLive)
			{
				//menuPanel.style.display = 'none';
				menuPanel.style.visibility = 'hidden';
			}
			else
			{
				menuPanel.style.visibility = 'hidden';
			}
		}
		
		var audioonlyImage = document.getElementById("audioonly-image");
		if(audioonlyImage != null)
		{
			audioonlyImage.style.visibility = "hidden";
		}
		
		//show tabpanel
		var centerPad = document.getElementById('centerpad');
		if(mediaPanelAlignment == "left")
		{
			tabPanelMargin = centerPad.style.marginLeft;
			centerPad.style.marginLeft = "10px";
		}
		else if(mediaPanelAlignment == "right")
		{
			tabPanelMargin = centerPad.style.marginRight;
			centerPad.style.marginRight = "10px";
		}
		
		var separator = document.getElementById('tabpanelpad');
		separator.className = "noseparator";
		
		window.onresize();
	}
}

function setMedia(url, mt)
{	
	mediaUrl = url;
	mediaType = mt;
	
	var player = ""
	
	try
	{
		if(isLive)
		{
			if(url.indexOf(".rm") < 0)
			{
				player = "wmp";
			}
			else if(url.indexOf("rtsp://") > -1)
			{
				player = "rp";
			}
		}
		else
		{
			player = getMediaPlayerFromUrl(mediaUrl);
		}
	}
	catch(ex)
	{
		player = getMediaPlayerFromUrl(mediaUrl);
	}
	
	var o = document.getElementById('externalplayer');
	
	if(externalPlayer || (o != null && o.checked))
	{
		externalPlayer = true;
		extPopup = window.open(url, '', 'toolbar=no, directories=no, location=no, status=no, menubar=no, resizable=no, scrollbars=no, width=1, height=1');
	}
	else
	{
		mp = createMediaPlayer(player, "videoph1", "mp");
		if(mp != null)
		{
			mp.playStateChange = function(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(s)
			{
				if(controller != null) controller.setPosition(s);
				if(subtitles != null) subtitles.setPosition(s);
				if(positionBar != null) 
				{
					if(positionBar.duration == 0) 
					{
						if(isLive)
						{
							positionBar.setDuration(-1);
						}
						else
						{
							var d = mp.getDuration();
							positionBar.setDuration(d);
							controller.duration = d;
						}
					}
					positionBar.setPosition(s);
				}
			};
			
			mp.downloadProgressChange = function(s)
			{
				if(positionBar != null) 
				{
					positionBar.setBuffering(s);
				}
			};
			
			mp.scriptChange = function(type, data)
			{
			    	//alert("type="+type + " data=" + data);
				if(type == "slide")
				{
					if(slides != null)
					{
						slides.setUrl(data);
						//slides.setSlide(parseInt(data));
					}
				}
				else if(type == "image")
				{
					var img = document.getElementById("audioonly-image");
					var imageUrl = "data/" + data;
					if(img != null && img.src != imageUrl)
					{
						img.src = imageUrl;
					}
				}
				else if(type == "poll")
				{
					var pollFrame = document.getElementById('polling');
					if(pollFrame != null && data != null && data != "" && pollFrame.src != data)
					{
						pollFrame.src = data;
					}
				}
			};
		
			if(showMediaPlayerControls)
			{
				if(mediaType == "audioonly")
				{
					mp.setUIMode('audio');
				}
				else
				{
					mp.setUIMode('full');
				}
			}
			else
			{
				if(mediaType == "audioonly")
				{
					mp.setUIMode('invisible');
				}
				else
				{
					mp.setUIMode('none');
				}
			}
			
			if(startPosition > -1)
			{
				//alert(startPosition);
				mp.setPosition(startPosition);
			}
			mp.setUrl(url);
			if(startPosition > -1)
			{
				//alert(startPosition);
				mp.setPosition(startPosition);
			}
			mp.autoStart = autoStart;
			mp.write();
			mp.setUrl(url);
			
			if(autoStart)
			{
				mp.play();
			}
		}
	}
}

function createMediaPlayer(player, divId, mpId)
{
	var mediaPlayer = null;
	
	switch(player)
	{
		case "wmp":
		{
			mediaPlayer = new WindowsMediaPlayer(divId, mpId, mediaPlayerWidth, mediaPlayerHeight);
			break;
		}
		case "fp":
		{
			mediaPlayer = new FlashMediaPlayer(divId, mpId, mediaPlayerWidth, mediaPlayerHeight);
			break;
		}
		case "rp":
		{
			mediaPlayer = new RealPlayer(divId, mpId, mediaPlayerWidth, mediaPlayerHeight);
			break;
		}
	}
	selectedMediaPlayer = player;

	return mediaPlayer;
}

function getMediaUrl(id)
{
	var url = "";
	var radios = selectPlayerPanel.getElementsByTagName('input');
	if(id != null)
	{
		if(radios[id].type == "radio" && radios[id].value != null)
		{
			url = radios[id].value;
		}
	}
	else
	{	
		for(var i=0; i<radios.length; i++)
		{
			if(radios[i].type == "radio" && radios[i].checked && radios[i].value != null)
			{
				url = radios[i].value;
				break;
			}
		}
	}
	return url;
}

//EVENTS
function player_event(command, arg1, arg2)
{
	//alert(command + " " + arg1);
	if(mp != null && mp[command] != null)
	{
		if(arg1 != null && arg2 == null)
		{
			mp[command](arg1);
		}
		else if(arg1 != null && arg2 != null)
		{
			mp[command](arg1, arg2);
		}
	}
}
function sound_click(e)
{
	var o = null;
	if (e.target){o = e.target;}
	else if (e.srcElement){o = e.srcElement;}
	
	this.isMute = !this.isMute;
	if(o != null && this.isMute)
	{
		if(mp != null) 
			mp.setVolume(1);
			o.innerHTML = "Sound off";
			o.className = "sound-off";
	}
	else{
		if(mp != null) 
			mp.setVolume(75);
			o.innerHTML = "Sound on";
			o.className = "sound-on";
	}
}
function subtitles_click(e)
{
	var o = null;
	if (e.target){o = e.target;}
	else if (e.srcElement){o = e.srcElement;}
	
	if(o.className == "subtitles-off")
	{
		o.innerHTML = "Subtitles on";
		o.className = "subtitles-on";
		if(subtitles != null) subtitles.setVisible(true);
	}
	else{
		o.innerHTML = "Subtitles off";
		o.className = "subtitles-off";
		if(subtitles != null) subtitles.setVisible(false);
	}
	window.onresize();
}

function accessibility_click(e)
{
    if(window.mp != null)
    {
        window.mp.pause();
    }
}

function view_click(e)
{
	var o = null;
	if (e.target){o = e.target;}
	else if (e.srcElement){o = e.srcElement;}
	
	if(o.className == "view-all")
	{
		o.innerHTML = "Slide View";
		o.className = "view-slides";
		setView('presentation-slides');
	}
	else
	{
		o.innerHTML = "View All";
		o.className = "view-all";
		setView('presentation');
	}
}

function resize()
{
	try
	{
		if(useDynamicResizing)
		{
		    
			var tabPanel = document.getElementById('tabpanel');
			if(tabPanel != null && tabPanel.style.display != "none")
			{
				var w = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; 
				var h = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
			
			    //alert("resize w="+w+" h="+h);
			    
				//set min height for screen resolutions <= 800x600
				if(h<400)
				{
					h = 400;
				}
		
				var menuPanel = document.getElementById('menu-content');
				var videoPanel = document.getElementById('video');
				var footerPanel = document.getElementById('footer');
				var tabContentPanel = document.getElementById('tabcontent');
				var subtitlesPanel = document.getElementById('subtitles');
				var slidePanel = document.getElementById('slides');
				var testtext = document.getElementById('testtext');
				var banner = document.getElementById('banner');
				var playControls = document.getElementById('play-controls');
				var maxContentHeight = h;
				
				if(playControls != null && playControls.style.display != "none")
				{
				    maxContentHeight -= playControls.offsetHeight;
				}
				if(banner != null && banner.style.display != "none")
				{
				    maxContentHeight -= banner.offsetHeight;
				}
				if(testtext != null)
				{
				    maxContentHeight -= testtext.offsetHeight;
				}
				if(tabPanel != null)
				{
				    maxContentHeight -= tabPanel.offsetTop;
				}
				if(footerPanel != null)
				{
				    maxContentHeight -= footerPanel.offsetHeight;
				}

				if(isIE)
				{
					tabContentHeight = maxContentHeight+playerHeightOffsetIE;
				}
				else
				{
					tabContentHeight = maxContentHeight+playerHeightOffsetOther;
				}
				
				if(subtitlesPanel && subtitlesPanel.style.display == "block")
				{
					tabContentPanel.style.height = (tabContentHeight-subtitlesPanel.offsetHeight) + "px";
					var h = (tabContentHeight-videoPanel.offsetHeight);
					if(h<0) 
					{
						h = 0;
					}
					menuPanel.style.height = h + "px";
				}
				else
				{
					var x = 0;
					var y = 0;
					
					if(tabContentHeight > 300)
					{
                        x = tabContentHeight;
					    y = x-videoPanel.offsetHeight+menuOffsetHeight;				
					}
					else
					{
					    x = 300;
					    y = x-videoPanel.offsetHeight+menuOffsetHeight;
					}

					tabContentPanel.style.height = x+"px";
					menuPanel.style.height = y+"px";
				}
				
				if(slidePanel != null)
				{
					slidePanel.style.width = "100%";
					slidePanel.style.height = "100%";
				}
			}
		}
	}
	catch(ex)
	{
	
	}
}

window.onresize = function()
{
	resize();
}

function log_webcast()
{
	//send log
	var img = new Image();
	img.src = reportUrl + "t=p&cid=" + userData.id + "&i=" + new Date().getTime();
	//alert(img.src);
}

function getUserData()
{
	var o = new Object();
	if(cookies["cookiesenabled"] == "true")
	{
		o = new Object();
		o.id = getCookie("cid");
		if(o.id == null)
		{
			o.id = new Date().getTime()+Math.random(10000);
			setCookie("cid", o.id, 365);
		}
		o.isRegistered = (getCookie("isRegistered") == "true")?true:false;
		o.sentFeedback = getCookie("sentFeedback");
		o.targetUrl = getCookie("targetUrl");
	}
	return o;
}

function selectplayer_click()
{
	var inputs = document.getElementsByName("sid");
	var qs = "";
	if(inputs != null && inputs.length > 0)
	{
		var url = userData.targetUrl;
		if(url == null)
		{
		    url = presentations[0];
		}
		var selectedStream = "";
		
		for(var i=0; i<inputs.length; i++)
		{
			if(inputs[i].name == "sid" && inputs[i].checked)
			{
				selectedStream = inputs[i].value;
				break;
			}
		}
		
		var autostart = (document.getElementById("autostart") && document.getElementById("autostart").checked) ? false : true;
		
		if(isTest)
		{
		    if(selectedStream != "")
		    {
			    qs = "?sid="+selectedStream+"&test="+test;
			    url += "&sid="+selectedStream;
		    }
		    if(!autostart)
		    {
			    qs += "&autostart=false&test="+test;   
		    }
		}
		else
		{
		    if(selectedStream != "")
		    {
			    qs = "?sid="+selectedStream;
			    url += "?sid="+selectedStream;
		    }
		    if(!autostart)
		    {
			    qs += "&autostart=false";
		    }
		}
	}
		
	if(usePlayerPopup)
	{
		if(qs != "")
		{
			window.open(url+qs, "player");
		}
		else
		{
			window.open(url, "player");
		}
	}
	else
	{
	    window.location = url;
	}
}

function sendFeedback(id, qs)
{
    var img = new Image();
	var url = reportUrl + "t=f&" + "cid=" + userData.id + "&" + getQueryString(qs);
	img.src = url + "&i="+new Date().getTime()+Math.random()*1000;
	//alert(img.src);
	//update cookies
	var s = "feedback-q"+id;
	userData[s] = true;
	setCookie(s, "true", 365);
}

//RPC -- move to axlib
function sendRPC(url) 
{
	if (rpcTimer) 
	{
		setTimeout("sendRPC('" + url + "')", 100);  // Try again in 71ms
		return;
	}
	
	if(isIE)
	{
		if(rpcScript == null)
		{
			rpcScript = document.getElementById("livedata");
		}	
	}
	else
	{
		rpcScript = document.createElement('script');
		rpcScript.type = "text/javascript";
		document.body.appendChild(rpcScript);	
	}
	
	if(rpcScript != null)
	{
		rpcScript.src = url;
	}
	else
	{
		//alert("no myScript");
	}
}

function updateLiveData() 
{
	//alert("get live data");
	var params = new Date().getTime() +  Math.random()*1000;
	if(rpcTimer == null)
	{
		sendRPC(rpcUrl+"?x="+params);
	}
}

// file: pagequery_api.js
// javascript query string parsing utils
// pass location.search to the constructor: var page = new PageQuery(location.search)
// get values like: var myValue = page.getValue("param1") etc.
// djohnson@ibsys.com {{djohnson}}
// you may use this file as you wish but please keep this header with it thanks

function PageQuery(q) {
	q = q ? q : location.search;
	if(q.length > 1) this.q = q.substring(1, q.length);
	else this.q = null;
	this.keyValuePairs = new Array();
	if(q) {
		for(var i=0; i < this.q.split("&").length; i++) {
			this.keyValuePairs[i] = this.q.split("&")[i];
		}
	}
	this.getKeyValuePairs = function() { return this.keyValuePairs; }
	this.getValue = function(s) {
		for(var j=0; j < this.keyValuePairs.length; j++) {
			if(this.keyValuePairs[j].split("=")[0] == s)
				return this.keyValuePairs[j].split("=")[1];
		}
		return null;
	}
	this.getParameters = function() {
		var a = new Array(this.getLength());
		for(var j=0; j < this.keyValuePairs.length; j++) {
			a[j] = this.keyValuePairs[j].split("=")[0];
		}
		return a;
	}
	this.getLength = function() { return this.keyValuePairs.length; }	
}

// LIB
/**
 * Sets a Cookie with the given name and value.
 *
 * name       Name of the cookie
 * value      Value of the cookie
 * [expires]  Expiration date of the cookie (default: end of current session)
 * [path]     Path where the cookie is valid (default: path of calling document)
 * [domain]   Domain where the cookie is valid
 *              (default: domain of calling document)
 * [secure]   Boolean value indicating if the cookie transmission requires a
 *              secure transmission
 */
function setCookie(name, value, days, path, domain, secure) {
    var expires;
    if(days != null)
    {
		expires = new Date();
		expires.setTime(expires.getTime()+(days*24*60*60*1000));
    }
	document.cookie = name + "=" + escape(value) + 
	((expires) ? "; expires=" + expires.toGMTString() : "") + 
	((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + 
	((secure) ? "; secure" : "");
}

/**
 * Gets the value of the specified cookie.
 *
 * name  Name of the desired cookie.
 *
 * Returns a string containing value of specified cookie,
 *   or null if cookie does not exist.
 */
function getCookie(name) {
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1) {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    } else {
        begin += 2;
    }
    var end = document.cookie.indexOf(";", begin);
    if (end == -1) {
        end = dc.length;
    }
    return unescape(dc.substring(begin + prefix.length, end));
}

/**
 * Deletes the specified cookie.
 *
 * name      name of the cookie
 * [path]    path of the cookie (must be same as path used to create cookie)
 * [domain]  domain of the cookie (must be same as domain used to create cookie)
 */
function deleteCookie(name, path, domain) {
    if (getCookie(name)) {
        document.cookie = name + "=" +
            ((path) ? "; path=" + path : "") +
            ((domain) ? "; domain=" + domain : "") +
            "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
}

//register onload
EventManager.Add(window, 'load', webcast_onload);
