
	// Main versions switch
	var isMPAbove9;
	
	function MPO_MarkerCount(){
		if(isMPAbove9)
			return(STM_InnerMediaPlayerObject.currentMedia.markerCount);
		else	
			return(STM_InnerMediaPlayerObject.MarkerCount);
	}
	
	function MPO_PlayState(){
	    try
	        {
		var PlayState = STM_InnerMediaPlayerObject.PlayState;
		if(isMPAbove9){
			if(PlayState==10) 
				PlayState=0;
			else
				PlayState--;
		    }
		}
		catch(e){}
		
		
		return(PlayState);
	}
	
	function MPO_Duration(){
		if(isMPAbove9)
			return(STM_InnerMediaPlayerObject.currentMedia.Duration);
		else
			return(STM_InnerMediaPlayerObject.Duration);
	}


	function MPO_CanSeek(){
		if(isMPAbove9)
			return(true);
		else
			return(STM_InnerMediaPlayerObject.CanSeek);
	}

	function MPO_ReadyStateChange(){
		
		var P_State;
		
		if(isMPAbove9)
			P_State = 4;			
		else
			P_State = STM_InnerMediaPlayerObject.ReadyState;				
		
		// If the stimuli type is not set or of the wrong type
		if(STMV_StimuliType=='') return(false);
		
		try
		{
			// This routine will occur once, each time a new media is loaded into the mediaplayer and is ready to play
			if ((STM_MediaPlayerObject.FileName().toString().toLowerCase().indexOf(STMV_MediaFile.toLowerCase())>0)&&(P_State>=3)) 
			{
					if(!STMV_IsMarkers) return true;
					
					// Read media's pointers & texts (inner or outer)
					if(STMV_MediaMarkerType=='innerstep')
						STMF_ReadPointers(1);
					if(STMV_MediaMarkerType=='outerstep')
						STMF_ReadPointers(0);
					
					// Set paragraphs
					var I_Counter;
					STM_Transcription.innerHTML="";
					
					// Spread texts into spans in the STM_Transcription
					for(I_Counter=0;I_Counter<STMV_Texts.length;I_Counter++)//Run over rows
					{
						for(j=0; j<arrLanguages.length; j++)//and for each column (language)
						{
							if(arrLanguages[j] == STMV_DefaultLanguage)
								styleDisplayed = "display:block";
							else
								styleDisplayed = "display:none";
								
							if(STMV_Texts[I_Counter][j].toLowerCase().indexOf('<center>')>=0)
								STM_Transcription.innerHTML+="<SPAN CLASS='STMIdleParagraph' STYLE='" + styleDisplayed + "' ID='STM_Paragraphs_" + arrLanguages[j] + "' onClick='javascript:STMF_GotoPointer("+I_Counter+",0);'>"+STMV_Texts[I_Counter][j]+"<BR></SPAN>";
							else
								STM_Transcription.innerHTML+="<SPAN CLASS='STMIdleParagraph' STYLE='" + styleDisplayed + "' ID='STM_Paragraphs_" + arrLanguages[j] + "' onClick='javascript:STMF_GotoPointer("+I_Counter+",0);'>"+STMV_Texts[I_Counter][j]+"<BR><BR></SPAN>";
						}
					}
					STM_Transcription.innerHTML+="<SPAN ID='STM_Paragraphs'></SPAN>";
					
					// If text is clickable, show it all
					if(STMV_StimuliClass=="stmclickable") 
						for(I_Counter=0;I_Counter<STMV_Texts.length;I_Counter++)
						{
							alert("text is clickable"+STM_Paragraphs(I_Counter))
							STM_Paragraphs(I_Counter).style.display="block";
						}
					// If text is not clickable, show only the first (starting) paragraph
					if(STMV_StimuliClass=="stmnormal")
						document.all.item("STM_Paragraphs_" + arrLanguages[STMV_currTranscriptLangInd])(0).style.display="block"; 
			}
		}
		catch(e){}
		
		return(true);
	}
	
	function MPO_CurrentPosition(Position){
		// Set MP current position
		if(isMPAbove9){
			if(Position||Position==0)
				STM_InnerMediaPlayerObject.Controls.CurrentPosition = Position;
			else
				return(STM_InnerMediaPlayerObject.Controls.CurrentPosition);
		}
		else{
			if(Position||Position==0)
				STM_InnerMediaPlayerObject.CurrentPosition = Position;
			else
				return(STM_InnerMediaPlayerObject.CurrentPosition);
		}
	}
	
	function MPO_FileName(FileName){
		// Sets / retreives filename
		if(isMPAbove9){
			if(FileName){
				STM_InnerMediaPlayerObject.URL = FileName;
				STM_InnerMediaPlayerObject.style.visibility = 'hidden';
				MPO_ReadyStateChange();
			}
			else
				return(STM_InnerMediaPlayerObject.URL);
		}
		else{
			if(FileName)
				STM_InnerMediaPlayerObject.FileName = FileName;
			else			
				return(STM_InnerMediaPlayerObject.FileName);
		}
	}
	
	function MPO_GetMarkerTime(MarkerID){
		// Retreives time for a specific marker ID
		if(isMPAbove9)
			return(STM_InnerMediaPlayerObject.currentMedia.getMarkerTime(MarkerID));
		else
			return(STM_InnerMediaPlayerObject.GetMarkerTime(MarkerID));
		
	}
	
	function MPO_Play(){
		// Plays media
		if(!isMPAbove9)
			STM_InnerMediaPlayerObject.Play();
		else
			STM_InnerMediaPlayerObject.Controls.Play();
	}
	
	function MPO_Pause(){
		// Pauses media
		if(!isMPAbove9)
			STM_InnerMediaPlayerObject.Pause();
		else
			STM_InnerMediaPlayerObject.Controls.Pause();
	}
	
	function MPO_Stop(){
		// Stops media
		if(!isMPAbove9)
			STM_InnerMediaPlayerObject.Stop();
		else
			STM_InnerMediaPlayerObject.Controls.Stop();
		
	}
	
	function MPO_ReadyState(){
		// Return ready state
		if(isMPAbove9)
			return(4);
		else
			return(STM_InnerMediaPlayerObject.ReadyState);
	}

	function MPO_StyleDisplay(DisplayType){
		
		// Set/Return the display status of the media player object
		if(!DisplayType)
			return(STM_InnerMediaPlayerObject);
		else
			STM_InnerMediaPlayerObject.style.display = DisplayType;
			
	}
	
	function SMTF_MPlayerObject(){
		
		// Object constructor
		this.GetMarkerTime =	MPO_GetMarkerTime;
		this.Pause =			MPO_Pause;
		this.Play =				MPO_Play;
		this.Stop =				MPO_Stop;
		this.ReadyState =		MPO_ReadyState;
		this.styledisplay =		MPO_StyleDisplay;
		this.FileName =			MPO_FileName;
		this.CanSeek =			MPO_CanSeek;
		this.Duration =			MPO_Duration;
		this.PlayState =		MPO_PlayState;
		this.CurrentPosition =	MPO_CurrentPosition;
	}

	function STMF_MPlayerInit()
	{
		// Determine player version
		isMPAbove9 = oClientCaps.isComponentInstalled("{6BF52A52-394A-11d3-B153-00C04F79FAA6}","ComponentID",9);
		//isMPAbove9 = false;
		
		// Insert the correct player version into the HTML
		var ObjectCLSID;
		
		if (isMPAbove9) 
			ObjectCLSID = "6BF52A52-394A-11d3-B153-00C04F79FAA6";
		else
			ObjectCLSID = "22D6f312-B0F6-11D0-94AB-0080C74C7E95";

		STM_MPContainer.innerHTML = '<object id=STM_InnerMediaPlayerObject style="DISPLAY:none;" type=application/x-oleobject height=240 width=320 classid=CLSID:'+ ObjectCLSID +' VIEWASTEXT><param name="ShowStatusBar" value="true"><param name="AutoStart" value="false"/></object>';
		
		if (!isMPAbove9){
			
			// Initialize media player (for 6.4)
			STM_InnerMediaPlayerObject.AllowChangeDisplaySize="false";
			STM_InnerMediaPlayerObject.ClickToPlay="false";
			STM_InnerMediaPlayerObject.AutoStart="false";
			STM_InnerMediaPlayerObject.AutoRewind="true";
			STM_InnerMediaPlayerObject.AnimationAtStart="false";
			STM_InnerMediaPlayerObject.ShowControls="false";
			STM_InnerMediaPlayerObject.ShowStatusBar="true";
			STM_InnerMediaPlayerObject.TransparentAtStart="true";
			STM_InnerMediaPlayerObject.ShowPositionControls="false";
			STM_InnerMediaPlayerObject.ShowAudioControls="false";
			STM_InnerMediaPlayerObject.ShowTracker="false";
			STM_InnerMediaPlayerObject.EnableContextMenu="false";						
		}
		else
		{
			// Initialize media player (for 9)
			STM_InnerMediaPlayerObject.uiMode = "none";
			STM_InnerMediaPlayerObject.enableContextMenu = "false";
			STM_InnerMediaPlayerObject.Settings.autoStart = "false";
			STM_InnerMediaPlayerObject.Settings.setMode("autoRewind",true);
			STM_InnerMediaPlayerObject.Network.bufferingTime = 0
			STM_InnerMediaPlayerObject.stretchToFit = true;

		}
		
		
	}

	var STM_MediaPlayerObject = new SMTF_MPlayerObject();
