// Media Player Functions

window.onerror = handleError;
function handleError(msg, url, ln) {
	//alert("Error: \nmsg:" + msg + ";\nurl:" + url + ";\nln:" + ln);
	return true;
}

function CapturePositionChange(oldPosition, newPosition) {
	if(newPosition > oldPosition) {	
		if(newPosition > e_time) {
			MediaPlayer.Controls.CurrentPosition = oldPosition;
			showFFMessage();
			PlayIt();
		}
	}
}

function showFFMessage() {alert("Attenion: You cannot fast forward any part of the course that has not already been viewed.");}
function showFFMessage2() {alert("This fast forward button has been disabled.");}

var last_state = '';
function CapturePlayStateChange(newState) {
	if(newState == 4) {
		PauseIt();
		PlayIt();	
		showFFMessage2();
	}
	if(last_state != newState) {
		switch (newState){
			case 1:			
				storeState("S");
				break;				
			case 2:
				storeState("P");
				break;				
			case 3:
				storeState("Y");
				break;			
			case 4:		
				storeState("F");
				break;				
			case 5:
				storeState("R");
				break;	
			case 8:
				var next_section = current_section + 1;				
				var start_date = new Date();
				var answer = confirm('This section of the course has ended.  \nClick "OK" to move to the next segment.  \nIf you do not click "OK" in "+reset_timeout+" minutes, this segment will start over.');
				var end_date = new Date();				
				var difference = Math.ceil(end_date.getTime() - start_date.getTime());
				var one_minute = 60000;
				var difference_minutes = Math.round(difference/ one_minute);				
				
				if(Math.floor(totTime) != e_time) {
					if(difference_minutes > reset_timeout) {
						//alert("Reset");
						var opt = {method: 'post', postBody: 'id='+current_course+'&sec='+current_section}
						new Ajax.Request('/cle/ajax/update_clear.php', opt);
						
						alert("Part " + current_section + " has been restarted due to "+reset_timeout+" minutes of inactivity.");
						
						//window.location = '/cle/test_lesson.php?i='+current_course+'&v='+current_section;
						window.location = '/cle/lesson.php?i='+current_course+'&v='+ current_section;							
					}
					else {
						//alert("Update Stop time.");
						var opt = {method: 'post', postBody: 'id=' + current_course + '&sec=' + current_section + '&tim='+totTime+'&tot='+totTime}
						var ajax = new Ajax.Updater('videosections', '/cle/update_va_test_new.php', opt);					
						storeStartStop("O");		
						if(answer && current_section!=0 && next_section<=vc) {
							//window.location = '/cle/test_lesson.php?i='+current_course+'&v='+next_section;
							window.location = '/cle/lesson.php?i='+current_course+'&v='+ next_section;						
						}							
					}

				}				
				//alert("\nStart Date: " + start_date + "  \nEnd Date:" + end_date + " \nDIFFERENCE: " + difference_minutes);
				break;
		}
		last_state = newState;
	}
}

function storeState(state) {
		var opt = {method: 'post',postBody: 'id=' + current_course + '&sec=' + current_section + '&state=' + state}
		//new Ajax.Request('/cle/update_state.php', opt);
}

function CaptureOpenStateChange(newState) {
	switch (newState){
		case 13:			
			//storeStartStop("A");
			break;		
	}
}

function storeStartStop(startStop) {	
		var opt = {method: 'post', postBody: 'id=' + current_course + '&sec=' + current_section + '&start_stop=' + startStop}
		new Ajax.Request('/cle/update_start_stop.php', opt);	
}

function PlayIt(){
	if (MediaPlayer.controls.isAvailable('Play')) {MediaPlayer.controls.play();}
}

function StopIt() {
	if (MediaPlayer.controls.isAvailable('Stop')) {MediaPlayer.controls.stop();}
}
		
function PauseIt() {
	if (MediaPlayer.controls.isAvailable('Pause')) {MediaPlayer.controls.pause();}
}
