<!-- Copyright (C) 1994-2004 TRA, LLC. All Rights Reserved. Patent Application Pending. TRA, LLC Proprietary Information -->

<!-- Client Environment -->

bName = navigator.appName;
if (bName == "Netscape"){
	br = "n";
	if (navigator.userAgent.indexOf('Netscape6' != -1)){
		bVersion = navigator.userAgent.substring(navigator.userAgent.indexOf('Netscape6')+10,navigator.userAgent.length).replace(/\./g, '');
	}
	else if (navigator.userAgent.indexOf('Netscape/7' != -1)){
		bVersion = navigator.userAgent.substring(navigator.userAgent.indexOf('Netscape/')+10,navigator.userAgent.length).replace(/\./g, '');
	}
	else{
		bVersion = navigator.appVersion.substring(0, navigator.appVersion.indexOf(' ')).replace(/\./g, '');
	}

	if (bVersion.length < 3) bVersion = bVersion + '0';
	bVersion = parseInt(bVersion);

}
else if (bName == "Microsoft Internet Explorer"){
	br = "e";
	bVersion = navigator.appVersion.substring(navigator.appVersion.indexOf('MSIE') + 5, navigator.appVersion.indexOf('MSIE') + 8);
}


pName = navigator.platform;	
pName = pName.substr(0, 5);  
if (pName == "Win32") os = "win";
else if (pName == "MacPPC") os = "mac";
else os = "notwm";

<!-- Additions to prototypes -->

Array.prototype.find = function(needle){ //still used by the toc
 var i = 0;
// while (this[i] != needle && i<this.thelength()){
 while (this[i] != needle && i<this.length){
	//alert(this[i]);
	++ i;
 }

// if (i==this.thelength()){
 if (i==this.length){
	i= -1;
 }
 return (i);
}

Array.prototype.findAt = function(needle, p_nStartLoc, p_cMatch){
 if (typeof(p_cMatch) == 'undefined') p_cMatch = 'exact';

 var i = p_nStartLoc;

 if (p_cMatch == 'exact'){
	while (this[i] != needle && i<this.length){
		++i;
	}
 }
 else if (p_cMatch == 'contains'){
	for (i=0; i<this.length; i++){
		if (this[i].indexOf(needle) != -1) break;
	}
 }

 if (i==this.length){
	i= -1;
 }
 return (i);
}

Array.prototype.thelength = function(){
 var i = 0;
 var ln = 0;
 var test = typeof(this[i]); 

 for (i = 0; typeof(this[i]) != 'undefined'; ++i){
	++ln;
 }

 return (ln);
}

if (br == 'e' && bVersion == 5){
	Array.prototype.splice = function(p_nStart, p_nDeleteCount){
		var l_aPart1 = this.slice(0, p_nStart);
		var l_aThrowAway = this.slice(p_nStart, p_nStart + p_nDeleteCount);
		var l_aPart2 = this.slice(p_nStart + p_nDeleteCount);
//alert(p_nStart + '  ' + p_nDeleteCount + '\rthis: ' + this + '\rl_aPart1 ' + l_aPart1 + '\rl_aThrowAway ' + l_aThrowAway + '\rl_aPart2 ' + l_aPart2)

		var l_aTemp = l_aPart1.concat(l_aPart2);
		this.length = 0;

		for (var i=0; i<l_aTemp.length; i++){
			this[i] = l_aTemp[i];
		}

		return l_aThrowAway;
	}
}

String.prototype.splitter = function(p_cDelimiter){
 var l_nDelimiter1, l_nDelimiter2, l_lLoop, l_aReturn;
 l_aReturn = new Array();
 
 l_cLen = this.length;
 l_nDelimiter1 = this.indexOf(p_cDelimiter);
 l_nDelimiter2 = this.indexOf(p_cDelimiter, l_nDelimiter1+p_cDelimiter.length);
 if (l_nDelimiter2 == -1) l_nDelimiter2 = this.length;
 l_aReturn[0] = this.substring(0, l_nDelimiter1);

 if (l_nDelimiter1 == -1){
	l_aReturn[0] = this;
 }
 else{
	l_lLoop = 0;
	while (l_lLoop == 0){
		
		l_aReturn[l_aReturn.thelength()] = this.substring(l_nDelimiter1 + p_cDelimiter.length, l_nDelimiter2);

		l_nDelimiter1 = l_nDelimiter2;
		l_nDelimiter2 = this.indexOf(p_cDelimiter, l_nDelimiter1 + p_cDelimiter.length);
		if (l_nDelimiter2 == -1) l_nDelimiter2 = this.length;

		if (l_nDelimiter1 + 1 > this.length) l_lLoop = 1;
	}
 }	 
 return l_aReturn; 
}

function m_BytetoNumber(l_byte) {
 	return (l_byte.charCodeAt(0) - 48);
}

function compareFunction(a, b) {
  if (parseInt(a) < parseInt(b))
    return -1;
  if (parseInt(a) > parseInt(b))
    return 1;
  return 0;
}

<!-- Events -->


v_lShowCustomErrors = 0;
if (br == 'e'){
	v_cErrorData = '';
	if (v_lShowCustomErrors){
		this.onerror = function(p_cMsg, p_cFile, p_nLine){
			alert('Program Error\n\nerror: ' + p_cMsg + '\nFile: ' + p_cFile + '\nLine: ' + p_nLine + '\n\n' + v_cErrorData);
			v_cErrorData = '';
			self.focus();
			return true;
		}
	}
}


document.ondragstart = function(){event.returnValue = false;}

document.oncontextmenu = function(){
/*

	if (br == 'e' && window.name == 'automatic e-Learning Player'){
		v_cnrleftedge = parseInt(document.getElementById('cnr_positioner').style.pixelLeft);
		if(((window.event.x + 5) < v_cnrleftedge) && (window.event.y > 45)){
			goContext('62');
		}
	
		//else{
		//	event.returnValue = false;
		//}
	

		event.cancelBubble = true;
		event.returnValue = false;
	}
	else if (br == 'n' && bVersion >= 6.2) return false;
*/
}
v_debug = 0;

function m_debug(){
	if(v_oPrefs.retrieve('errors') != true){
		return true;
	}
}

window.onerror = m_debug;
document.onselectstart = function(){event.returnValue = false;}
document.onclick = function(){window.focus();}