﻿var oldPos = -1;
var thisPos = -1;
var counter = 0;
var currentPosition = 0;
var deltaPos = 0;
var prevPos = 0;
var player = null;

function playerReady(thePlayer) {
	player = window.document[thePlayer.id];
	addListeners();
}


function addListeners() {
	if (player) { 
		player.addModelListener("TIME", "timeListener");
		player.addModelListener("STATE", "stateListener");
	} else {
		setTimeout("addListeners()",100);
	}
}


function timeListener(obj) { 
	deltaPos = obj.position - prevPos;
	currentPosition = obj.position; 

	var hint = document.getElementById("instructions");
	
	thisPos=-1;
	for(counter=hiPos.length;counter>=0;counter--) {
		if (currentPosition>=hiPos[counter]) {
			thisPos = counter;
			break;
		}
	} 
	if (hiText[thisPos]) hint.innerHTML = hiText[thisPos];

	if (deltaPos >= 20) {

	    /* TESTING
	    alert('cursusid: ' + cursusid + ' videoid: ' + videoid);
	    cursusid = 2;
	    videoid = 6;
	    */
	
	    if (cursusid == 2){
	        if (videoid < 7){
	            logProgress();
	        }
	    } else {
	        if (videoid < 8) {
	            logProgress();
	        }
		}
		
		prevPos = obj.position;
	}
}

function logProgress () {
	// Using AJAX, log the progress.
	var url = siteRootURL + 'ajaxhub.aspx';
	url += '?uid=' + uid;
	url += '&cursusid=' + cursusid;
	url += '&videoid=' + videoid;
	url += '&cuepoint=' + currentPosition;
	url += '&action=0';
	ajaxCall(url, null, null);
}

function stateListener(obj) { 
    if(obj.newstate == 'COMPLETED' && asTeaser) {
//		player.sendEvent('SEEK', currentDuration - 1);
		player.sendEvent('SEEK', obj.duration - 1);
		setTimeout("player.sendEvent('PLAY', 'false')", 400);
    }

	currentState = obj.newstate;
	previousState = obj.oldstate;

	var tmp=document.getElementById("state");
	if(tmp) {
		tmp.innerHTML = "State: " + currentState;
	}
	if( (previousState=="PLAYING") && (currentState=="IDLE") ) {
		var  hint=document.getElementById("instructions");
		if(hint)hint.innerHTML="";
	}
}

function ajaxCall(callURL, containerID, loadImageURL) {
    try {
        var xmlHTTP=GetXmlHttpObject();
        
        if (xmlHTTP == null) {
            alert ("Unfortunately, your browser does not support HTTP Request.");
            return;
        }
        
        xmlHTTP.onreadystatechange = function(){
            if ((xmlHTTP.readyState==4 || xmlHTTP.readyState=="complete") && xmlHTTP.status == 200) {
				if (containerID != null) {
	                document.getElementById(containerID).innerHTML = xmlHTTP.responseText;
				}
                delete xmlHTTP;
            }else{
                if (loadImageURL != null && loadImageURL != ''){
                    document.getElementById(containerID).innerHTML = '<img src="' + loadImageURL + '">';
                }
            }
        }       
        xmlHTTP.open("GET", callURL, true);
        xmlHTTP.send(null);
        
    } catch (ex) {alert(ex.message)}
}

function GetXmlHttpObject() { 
    var oXMLHttp = null;

    if (window.XMLHttpRequest) {
        oXMLHttp = new XMLHttpRequest()
    } else if (window.ActiveXObject) {
        try {
            oXMLHttp = new ActiveXObject("Msxml2.XMLHTTP")
        } catch(ex) {
            try {oXMLHttp = new ActiveXObject("Microsoft.XMLHTTP")} catch(ex) {}
        }
    }
    return oXMLHttp
}