

function BouncerMakeReportHead() {
	var myHTML = "<table border=0 width='565' cellspacing='5'>"
	myHTML += "<tr valign='top'>"
	myHTML += "<td width='160' bgcolor='#CCCCCC'><b>Requirement</b></td>"
	myHTML += "<td width='160' bgcolor='#CCCCCC'><b>You have ... </b></td>"
	myHTML += "<td width='45' bgcolor='#CCCCCC' align='center'><b>OK?</b></td>"
	myHTML += "<td  bgcolor='#CCCCCC'><b>Comments</b></td>"
	myHTML += "</tr>"
	return myHTML
}

function BouncerMakeReportTail() {
	var myHTML = "</table>"
	return myHTML
}

function BouncerMakeReportRow(levelRequired, levelDetected, isOK, theComments) {
	// alert("BouncerMakeReport")
	var myHTML = ""
	myHTML += "<tr valign='top'>"
	myHTML += "<td width='160' bgcolor='#EEEEEE'>" + levelRequired + "</td>"
	myHTML += "<td width='160' bgcolor='#EEEEEE'>" + levelDetected + "</td>"
	if (isOK == "right") {
		var imgSrc="Media/right.gif" 
	} else if (isOK == "wrong") {
		var imgSrc="Media/wrong.gif"
	} else {
		var imgSrc="Media/unknown.gif"
	}
	myHTML += "<td width='45' bgcolor='#EEEEEE' align='center'><img align='center' src='" + imgSrc + "'></td>"
	myHTML += "<td bgcolor='#EEEEEE'>" + theComments + "</td>"
	myHTML += "</tr>"

	return myHTML
}

function BouncerGetBrowser() {
var navAppName = navigator.appName
var navUserAgent = navigator.userAgent.toLowerCase()
	if (navAppName == "Netscape") {
		return "Netscape" 
	} else if (navAppName == "Microsoft Internet Explorer") {
		return "Internet Explorer"
	} else {
		return "Unknown"
	}
}

function BouncerGetVersion() {
	var navVers = navigator.appVersion
	if (navigator.appName == "Microsoft Internet Explorer") {
		var lastDot = navVers.lastIndexOf(".")
		navVers = navVers.substring(lastDot-1, navVers.length)
	}
	navVers = parseFloat(navVers)
	return navVers
}

function BouncerGetOS() {
	// alert("BouncerGetOS()")
	navVers = navigator.appVersion
	navAgent = navigator.userAgent
	if (navVers.indexOf("Win") != -1) { // Windows something
		if (navVers.indexOf("Win16") != -1) { return "Windows 3.1"}
		if (navVers.indexOf("Windows 3.1") != -1) {return "Windows 3.1"}
		if (navVers.indexOf("Win95") != -1) {return "Windows 95"}
		if (navVers.indexOf("Windows 95") != -1) {return "Windows 95"}		
		if (navVers.indexOf("Win98") != -1) {return "Windows 98"}		
		if (navVers.indexOf("Windows 98") != -1) {return "Windows 98"}		
		if (navVers.indexOf("WinNT") != -1) {return "Windows NT"}
		if (navVers.indexOf("Windows NT") != -1) {return "Windows NT"}
		return "Windows unknown version"
	}
	if (navVers.indexOf("Mac") != -1) { // Maciontosh something	
		if (navVers.indexOf("PPC") != -1) { return "Macintosh PowerPC"}
		if (navVers.indexOf("PowerPC") != -1) { return "Macintosh PowerPC"}
		return "Macintosh 68000"
	}
	if (navVers.indexOf("X11") != -1) { // Unix something
		return "Unix X11"
	}
	return "Unknown"
}

function BouncerGetJavaEnabled() {
	var javaEnabled = "unknown"
	var theBrowser = BouncerGetBrowser()
	var theVersion = BouncerGetVersion()
	if (((theBrowser == "Netscape") && (theVersion >= 3.0)) || ((theBrowser == "Internet Explorer") && (theVersion >= 4.0))) {
		if (navigator.javaEnabled()) { 
			javaEnabled = "enabled"
		} else { 
			javaEnabled = "disabled" 
		}
	}
	return javaEnabled
}

function BouncerGetScreenProperty(theProperty) {
	theProperty = theProperty.toLowerCase()
	var theBrowser = BouncerGetBrowser()
	var theVersion = BouncerGetVersion()
	var theJavaEnabled = BouncerGetJavaEnabled()
	if (theVersion >= 4) {
		if (theProperty == "width") {
			return screen.width
		} else if (theProperty == "height") {
			return screen.height
		} else if (theProperty == "depth") {
			return screen.colorDepth
		} else {
			return "unknown"
		}
	} else if ((theVersion >= 3.0) && (theBrowser == "Netscape") && (theJavaEnabled == "enabled")) {
		var javaToolkit = java.awt.Toolkit.getDefaultToolkit()
		var screenObj = javaToolkit.getScreenSize()
		if (theProperty == "width") {
			return screenObj.width
		} else if (theProperty == "height") {
			return screenObj.height
		} else {
			return "unknown"
		}
	} else {
		return "unknown"
	}
}

function BouncerGetCookieValue(cookieName) {
	cookieName += "="
	var cookieLength = document.cookie.length
	var nameLength = cookieName.length
	var cookieEnd
	for (var i = 0; i < cookieLength; i++) {
		var j = i + nameLength
		if (document.cookie.substring(i, j) == cookieName) {
			cookieEnd = document.cookie.indexOf(";", j)
			if (cookieEnd == -1) {
				cookieEnd =document.cookie.length
			}
			return unescape(document.cookie.substring(j, cookieEnd))
		}
	}
	return ""

}

function BouncerGetCookieEnabled() {
	var randNum = parseInt(1+10000 * Math.random())
	var cookieName = "testPageCookie"
	document.cookie = cookieName + "=" + randNum
	// alert("The cookie is '" + document.cookie + "'")
	var cookieValue = BouncerGetCookieValue(cookieName)
	// alert("cookieValue is '" + cookieValue + "'")
	if (cookieValue == randNum) {
		return true
	} else {
		return false
	}
}

function BouncerBarEntry(theDest, theTest, theMessage) {
	var browser = BouncerGetBrowser()
	var version = BouncerGetVersion()
	var os = BouncerGetOS()
	var javaenabled = BouncerGetJavaEnabled()
	var screenwidth = BouncerGetScreenProperty("width")
	var screenwidth = BouncerGetScreenProperty("height")
	var screenwidth = BouncerGetScreenProperty("depth")
	var cookieenabled = BouncerGetCookieEnabled()
	
	if (eval(theTest)) {
		document.location = theDest
	} else {
		if (confirm(theMessage + "\r\rContinue?")) {
			document.location = theDest
		}
	} 
}

function BouncerJumpThroughHoops(theDest, theTests) {
	// UNDER CONSTRUCTION
	var myArgs = BouncerJumpThroughHoops.arguments
	var compOps = "=><!"
	var theTest
	var thePos
	var theParameter
	var theOp
	var theValue
	for (var i=1; i < myArgs.length; i++) {
		theParameter = ""
		theOp = ""
		theValue = ""
		theTest = myArgs[i]
		if (theTest.length == 0) {return}
		for (thePos = 0; thePos < theTest.length; thePos++) {
			if (compOps.indexOf(theTest.charAt(thePos)) != -1 ) {break}
			theParameter += theTest.charAt(thePos)
		}
		if (thePos < theTest.length){ // The test involves comparing to an operator
			theOp = theTest.charAt(thePos)
			thePos += 1
			if (compOps.indexOf(theTest.charAt(thePos)) != -1) {
				theOp += theTest.charAt(thePos)
				thePos += 1
			}
			for (;thePos < theTest.length; thePos++) {
				theValue += theTest.charAt(thePos)
			}
		}
		alert ("theParameter = '" + theParameter + "'\rtheOp = '" + theOp + "'\rtheValue = '" + theValue + "'")
		
		theParameter = theParameter.toLowerCase()
		
		var myMsg = ""
		if (theParameter == "browser") {
			var myBrowser = BouncerGetBrowser()
		} else if (theParameter == "version") {
			var myVersion = BouncerGetVersion()
		} else if (theParameter == "screensize") {
		} else if (theParameter == "os") {
		} else if (theParameter == "osversion") {
		} else if (theParameter == "javaenabled") {
		} else if (theParameter == "jsversion") {
		} else if (theParameter == "cookiesenabled") {
		}
	}
}
