var sQueryParseVer = 'QueryParse.htm 0501.0019'

var installonexit=self.location.href
var sUserGroup='klfhkwu256K_PJ'
var url=''

// Determine browser type and version
BrowserInfo()

// Get query string. Probably in error if there are no query parameters
var aQueryString = GetQueryStringArray()
if (aQueryString.length == 0)
	alert('Query parameter list missing. href=' + self.location.href)

// Get import variable string
var importvariables = GetQueryParameter(aQueryString, 'im', '')
if (importvariables == '_varstm$') {
	// Probable mismatch between old multistream .au files and what we now generate. The old
	// ones didnt encode the varstm$=xxx string causing GetQueryParameter() to split up the
	// varstm$ and its stream value
	var sQueryString = GetQueryString()
	i = sQueryString.indexOf('_varstm$=')
	if (i != -1) {
		for (i = i + 8; ; i++) {
			var ch = sQueryString.charAt(i)
			if (ch == '&') break
			importvariables += ch
		}
	}
}

// Get query parameters
var caption = GetQueryParameter(aQueryString, 'cp', 'Learn.com')
var windowtype = GetQueryParameter(aQueryString, 'wt', 'full-screen')
var width = GetQueryParameter(aQueryString, 'ww', '640')
var height = GetQueryParameter(aQueryString, 'hh', '480')
var stream = unescape(GetQueryParameter(aQueryString, 'st', ''))
var onexit = unescape(GetQueryParameter(aQueryString, 'oe', self.location.href))
var titledir = unescape(GetQueryParameter(aQueryString, 'td', ''))
var sMinRTVersion = GetQueryParameter(aQueryString, 'mv', '0501.0071')
var percentage = GetQueryParameter(aQueryString, 'pc', '')
var strategy = GetQueryParameter(aQueryString, 'sg', '')
var installLocal = GetQueryParameter(aQueryString, 'in', '0')
var bHasAssessments = GetQueryParameter(aQueryString, 'ha', 'true')
var sAICCUrl = unescape(GetQueryParameter(aQueryString, 'aicc_url', ''))
var sAICCSessionID = GetQueryParameter(aQueryString, 'aicc_sid', '')
var bAICC = (sAICCSessionID.length) ? 'true' : 'false';
var bSCORM = GetQueryParameter(aQueryString, 'scorm', 'false')
var bSec508 = GetQueryParameter(aQueryString, 'sec508', 'false')

// Do some sanity checking
var bDbgParam = false
if (bDbgParam || stream.length == 0 || (bAICC == 'true' && (sAICCUrl.length == 0 || sAICCSessionID.length == 0)) || (url.length == 0 && titledir.length == 0)) {
	var sErr = ''
	if (stream.length == 0)
		sErr = 'stream parameter (st=) is missing.'
	else if (bAICC == 'true' && (sAICCUrl.length == 0 || sAICCSessionID.length == 0))
		sErr = 'aicc_url or aicc_sid parameters are missing.'
	else if (url.length == 0 && titledir.length == 0)
		sErr = 'url and titledir parameters (td=) are both missing.'
	var sLoc = 'location.search=[' + location.search + '] location.pathname=[' + location.pathname + '] location.href=[' + location.href + ']'
	alert(sErr + ' ' + sLoc)
	self.location = 'about:blank'
}

// SCORM wont work for Netscape 6+ because no liveconnect support for callbacks
if (bSCORM == 'true' && isNP6OrBetter) {
	alert('You cannot play the Learn2 course content with this version of Netscape because it has no LiveConnect support')
	self.location = 'about:blank'
}

// If titledir is relative and this page is a LAN reference, then we need to fully qualify titledir
var sHref = window.location.href
if ((i = sHref.indexOf('?')) == -1) i = sHref.length
var sFolder = sHref.substring(0, i)
sFolder = sFolder.substring(0, sFolder.lastIndexOf('/')) + '/'
if (window.location.protocol.toLowerCase() == 'file:' &&
		titledir.length && 
		titledir.substring(0, 7).toLowerCase() != 'http://' && 
		titledir.substring(0, 7).toLowerCase() != 'file://' && 
		titledir.charAt(1) != ':') {
	titledir = sFolder + titledir
}

// Get url to streams folder (if not previously gotten)
if (url.length == 0) {
	if (titledir.indexOf('http://') == 0 || titledir.indexOf('file://') == 0 || titledir.charAt(1) == ':')
		url = titledir
	else
		url = sFolder + titledir
}

// Are we hosting locally or on www2.stlu.com
if (installLocal != '0') {
	// Hosting locally from Install folder
	var sInstallBase = sFolder + 'install/installall.htm'
	var sPluginBase = sFolder + 'install/plugins/'
} else {
	// Hosting from www2.stlu.com
	var sInstallBase = 'http://www2.stlu.com/plugin_reg/xtracomponents.asp?ugid=' + sUserGroup
	var sPluginBase = 'http://www2.stlu.com/plugins/'
}

if (bSec508 == 'true') {
	// Build the href which could be used by the stream to load the section 508 course startup page
	// Substitute an st='menu508.stm' for the old stream parameter.
	var sQueryString = ''
	for (i=0; i<aQueryString.length; i++) {
		var sParameter = aQueryString[i]
		var varEqValue = sParameter.split('=')
		if (varEqValue[0].toLowerCase() == 'st')
			sParameter = 'st=menu508.stm'
		sQueryString += ((i == 0) ? '' : '&') + escape(sParameter)
	}
	
	// Add this to any current importvariables string. Note that I have to embed the href in a Javascript: command
	// because if its a LAN reference (file:///) in the onExit, the browser wont see the query parameters
	importvariables = escape(((importvariables.length) ? (unescape(importvariables) + '&') : '') + 'sec508$=' + escape('javascript:self.location="' + sFolder + 'course_Sec508.htm?' + sQueryString + '"'))
}

// If this is inside a frame, the installer prompts must appear in the frame
var oWindow = self
if (parent.CourseFrame != null) {
	oWindow = parent.CourseFrame
	installonexit = parent.opener.location.href
}

// Determine if Learn2 player is installed and what version
var nPlayerLevel=-1
var sPlayerVersion=PlayerVersion(oWindow)
if (isPlayerExists)
	nPlayerLevel=VersionCompare(sPlayerVersion, sMinRTVersion)

if (isPlayerNeedsFixup || (!isPlayerUndeterm && nPlayerLevel==-1)) {
	// Player must be downlevel or doesnt exist, so install the player.
	// Or the player is installed but needs to have a special fixup control installed to repair certain things
	InstallPlayer(sMinRTVersion, sInstallBase, installonexit, oWindow, isPlayerNeedsFixup)

} else {
	// Player is either at or above the minimum version or its level can't be determined. Play a stream.
	var sVersion=(sPlayerVersion.length) ? sPlayerVersion : sMinRTVersion
	var sOptions=''
	sOptions += 'onexit="' + onexit + '"'
	sOptions += ', caption="' + caption + '"'
	if (bAICC == 'true')
		sOptions += ', aicc=yes, aiccsessionid="' + sAICCSessionID +'", aiccurl="' + sAICCUrl +'"'
	else if (bSCORM == 'true')
		sOptions += ', scorm=yes'
	if (percentage.length)
		sOptions += ', percentage="' + percentage +'"'
	if (strategy.length)
		sOptions += ', strategy="' + strategy +'"'
	if (bHasAssessments.length)
		sOptions += ', hasassessments="' + bHasAssessments +'"'
	if (importvariables.length)
		sOptions += ', importvariables="' + importvariables + '"'
	L2PlayerObj=LaunchPlayer(sVersion, sInstallBase, sPluginBase, windowtype, width, height, url, stream, sOptions)
}
