
function mediaPlayerIsQuicktime()
{
	if(platformIsMac() && browserIsSafari())
		return true;
	return false;
}

function mediaPlayerIsWindowsMedia()
{
	if(platformIsWindows() && browserIsIE())
		return true;
	if(platformIsWindows() && browserIsFireFox())
		return true;
	return false;
}

function mediaCreate(id,container,src,width,height,controls)
{

	var ph="";
	if(mediaPlayerIsWindowsMedia())
	{
		if(browserIsIE())
		{
			ph+='<object id="'+id+'" CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" type="application/x-oleobject" width="'+width+'" height="'+height+'">';
			if(controls)
				ph+='<param name="uimode" value="full"/>';
			else
				ph+='<param name="uimode" value="none"/>';
			ph+='<param name="autoStart" value="false"/>';
			ph+='<param name="stretchToFit" value="true"/>';
			ph+='<param name="URL" value="' + src + '"/>';
			ph+='<param name="InvokesURLs" value="false"/>';
			ph+='</object>';
			document.getElementById(container).innerHTML=ph;
			return;
		}
		if(browserIsFireFox())
		{
			ph+='<object id="'+id+'" type="application/x-ms-wmp" width="'+width+'" height="'+height+'">';
			if(controls)
				ph+='<param name="uimode" value="full"/>';
			else
				ph+='<param name="uimode" value="none"/>';
			ph+='<param name="autoStart" value="false"/>';
			ph+='<param name="stretchToFit" value="true"/>';
			ph+='<param name="URL" value="' + src + '"/>';
			ph+='<param name="InvokesURLs" value="false"/>';
			ph+='</object>';
			document.getElementById(container).innerHTML=ph;
			return;
		}
		
	}
	if(mediaPlayerIsQuicktime())
	{
		ph+='<embed type="video/quicktime" id="'+id+'" name="'+id+'" src="../../video/'+src+'" width="'+width+'" height="'+height+'" autoplay="false" scale="aspect"></embed>';
		document.getElementById(container).innerHTML=ph;
		return;
	}
	
	document.getElementById(container).innerHTML="Media element cannot be created.";
	return;
}

function mediaSetSource(id,src)
{
	var me = document.getElementById(id);
	if(mediaPlayerIsWindowsMedia())
	{
		me.URL=src;
		return;
	}
	if(mediaPlayerIsQuicktime())
	{
		//might want to avoid using this on mac - safari
		//does not preserve params set in embed tag(ie scale)
		me.SetURL(src);
		//wait for a status other than waiting - errors otherwise
		alert("Click OK after video appears.");
		return;
	}
	
}

function mediaGetStatus(id)
{
	var me = document.getElementById(id);
	if(mediaPlayerIsWindowsMedia())
	{
		return me.status;
	}
	if(mediaPlayerIsQuicktime())
	{
		return me.GetPluginStatus();
	}
}

function mediaSetPosition(id,pos)
{
	var me = document.getElementById(id);
	if(mediaPlayerIsWindowsMedia())
	{
		me.controls.currentPosition=pos;
		return;
	}
	if(mediaPlayerIsQuicktime())
	{
		me.SetTime(pos*me.GetTimeScale());
		return;
	}
}

function mediaGetPosition(id)
{
	var me = document.getElementById(id);
	if(mediaPlayerIsWindowsMedia())
	{
		return Math.floor(me.controls.currentPosition);
	}
	if(mediaPlayerIsQuicktime())
	{
		try
		{
			return Math.floor(me.GetTime()/me.GetTimeScale());
		}
		catch(ex)
		{
			return 0;
		}
	}		
}

function mediaGetDuration(id)
{
	var me = document.getElementById(id);
	if(mediaPlayerIsWindowsMedia())
	{
		return Math.floor(me.currentMedia.duration);
	}
	if(mediaPlayerIsQuicktime())
	{
		return Math.floor(me.GetDuration()/me.GetTimeScale());
	}
}

function mediaPlay(id)
{
	var me = document.getElementById(id);
	if(mediaPlayerIsWindowsMedia())
	{
		me.controls.play();
		return;
	}
	if(mediaPlayerIsQuicktime())
	{
		me.Play();
		return;
	}
}

function mediaPause(id)
{
	var me = document.getElementById(id);
	if(mediaPlayerIsWindowsMedia())
	{
		me.controls.pause();
		return;
	}
	if(mediaPlayerIsQuicktime())
	{
		me.Stop();
		return;
	}
}

function mediaStop(id)
{
	var me = document.getElementById(id);
	if(!me)
		return;
	if(mediaPlayerIsWindowsMedia())
	{
		me.controls.stop();
		return;
	}
	if(mediaPlayerIsQuicktime())
	{
		me.Stop();
		me.SetTime(0);
		return;
	}
}

function mediaSetRate(id,rate)
{
	var me = document.getElementById(id);
	if(mediaPlayerIsWindowsMedia())
	{
		me.settings.rate=rate;
		return;
	}
	if(mediaPlayerIsQuicktime())
	{
		me.SetRate(rate);
		return;
	}
}

function mediaGetRate(id)
{
	var me = document.getElementById(id);
	if(mediaPlayerIsWindowsMedia())
	{
		return me.settings.rate;
	}
	if(mediaPlayerIsQuicktime())
	{
		//this does not seem to work - maybe it will in the future
		return me.GetRate();
	}
}

function mediaSetVolume(id,vol)
{
	var me = document.getElementById(id);
	if(mediaPlayerIsWindowsMedia())
	{
		me.settings.volume=vol;
		return;
	}
	if(mediaPlayerIsQuicktime())
	{
		me.SetVolume(Math.floor(vol*2.56));
		return;
	}
}

function mediaGetVolume(id)
{
	var me = document.getElementById(id);
	if(mediaPlayerIsWindowsMedia())
	{
		return me.settings.volume;
	}
	if(mediaPlayerIsQuicktime())
	{
		return Math.floor(me.GetVolume()/2.56);
	}
}

function mediaSetMute(id,mute)
{
	var me = document.getElementById(id);
	if(mediaPlayerIsWindowsMedia())
	{
		me.settings.mute=mute;
		return;
	}
	if(mediaPlayerIsQuicktime())
	{
		me.SetMute(mute);
		return;
	}
}

function mediaGetMute(id)
{
	var me = document.getElementById(id);
	if(mediaPlayerIsWindowsMedia())
	{
		return me.settings.mute;
	}
	if(mediaPlayerIsQuicktime())
	{
		return me.GetMute();
	}
}

function mediaStep(id,step)
{
	var me = document.getElementById(id);
	if(mediaPlayerIsWindowsMedia())
	{
		me.controls.step(step);
		return;
	}
	if(mediaPlayerIsQuicktime())
	{
		me.Step(step);
		return;
	}
}
