/*
* browser_check.js
* Created 5/09/2007
* Created by R. Newsome. Updated by K. Swenson
* updated for Java 5/20/2007
* updated for Horizon Wimba/Java 6/20/2007
* updated for Shockwave 6/21/2007
* updated for Safari 3.1.2 9/18/2008
* updated for Safari 4, QT 7/23/2009
*/

document.getElementsByClassName = function(classname) {
var a = [];
var re = new RegExp('\\b' + classname + '\\b');
var elmnts = document.getElementsByTagName("*");
	for(var i=0, j=elmnts.length; i<j; i++) {
		if( re.test(elmnts[i].className) ){
		a.push(elmnts[i]);
		}
	}
return a;
}

var browser = {name:"Unsupported", version:"", ua:navigator.userAgent.toLowerCase(),
	supported:"unsupported", icon:"unknown.png", flashEnabled:false, shockEnabled: false}

if( browser.ua.indexOf("safari")>-1 ){
	if(window.console){
	// Check for Safari 3+
	// v.1
	//Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/312.8.1 (KHTML, like Gecko) Safari/312.6
	// v.2
	//Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/412 (KHTML, like Gecko) Safari/412
	// v.3b
	//Mozilla/5.0 (Windows; U; Windows NT 5.1; en) AppleWebKit/522.12.1 (KHTML, like Gecko) Version/3.0.1 Safari/522.12.2
	// v.3
	//Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/523.10 (KHTML, like Gecko) Version/3.0.4 Safari/523.10
	// v.3.1.2
	//Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/525.19 (KHTML, like Gecko) Version/3.1.2 Safari/525.19
	// v. 4
	//Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en) AppleWebKit/530.1+ (KHTML, like Gecko) Version/4.0 Safari/528.16

		if( navigator.plugins["Shockwave Director"] ){
		browser.shockEnabled = true;
		}
		
		for(var j=0; j<navigator.plugins.length; j++){
			if( navigator.plugins[j].name.indexOf("Flash")>-1) {
			browser.flashEnabled = true;
			}
			if( navigator.plugins[j].name.indexOf("Shockwave")>-1 &&
				navigator.plugins[j].name.indexOf("Director")>-1 ){
			browser.shockEnabled = true;
			}
			if( navigator.plugins[j].name.indexOf("QuickTime")>-1) {
			browser.qtEnabled = true;
			}
		}
	
	re = /safari\/(\d+\.?\d*)/gi;
	re.exec(browser.ua);
	
	browser.version = RegExp.$1;
	browser.version = browser.version * 1;
	
		if(browser.version >= 528){
		browser.name = "Safari";
		browser.icon = "safari.png";
		browser.supported = "supported";
			if(browser.version >= 528){
			browser.version = 4;
			} else if(browser.version == 524){
			browser.version = 3;
			} else if(browser.version == 412){
			browser.version = 2;
			} else {
			browser.version = 1;
			}
		}
	}
} else if( browser.ua.indexOf("msie")>-1 ) {
	if(document.all){
	// Check for Internet Explorer 7+
	//Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; MathPlayer 2.0; InfoPath.1)
	//Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; MathPlayer 2.0; InfoPath.1)
	//Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
		try {
		var flashObj = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
		browser.flashEnabled = true;
		} catch (e) {
		browser.flashEnabled = false;
		}
		try {
		var SWObj = new ActiveXObject("SWCtl.SWCtl");
		browser.shockEnabled = true;
		} catch (e) {
		browser.shockEnabled = false;
		}
		try {
		var QTObj = new ActiveXObject("Quicktime.Quicktime");
		browser.qtEnabled = true;
		} catch (e) {
		browser.qtEnabled = false;
		}
	browser.name = "Windows Internet Explorer";
	re = /msie (\d+\.?\d*)/gi;
	re.exec(browser.ua);
	browser.version = RegExp.$1;
	browser.icon = "internet_explorer.png";
		if(browser.version >= 7){
		browser.supported = "supported";
		}
	}
} else if( browser.ua.indexOf("firefox")>-1 ){
	if( window.sidebar){
	// Check for Firefox 2.0+
	//Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3
		if( navigator.plugins["Shockwave Director"] ){
		browser.shockEnabled = true;
		}
		
		for(var j=0; j<navigator.plugins.length; j++){
			if( navigator.plugins[j].name.indexOf("Flash")>-1) {
			browser.flashEnabled = true;
			}
			if( navigator.plugins[j].name.indexOf("Shockwave")>-1 &&
				navigator.plugins[j].name.indexOf("Director")>-1 ){
			browser.shockEnabled = true;
			}
		}
	
	re = /firefox\/(\d+\.?\d*)/gi;
	re.exec(browser.ua);
	/* If Firefox is supported, uncomment
	browser.version = RegExp.$1;
	browser.version = browser.version * 1;
	
		if(browser.version >= 2){
		
		browser.name = "Mozilla Firefox";
		browser.icon = "firefox.png";
		browser.supported = "supported";
		}
		*/
	}
}

var displayed = null;
var opacity = fading = 0;

function fadeIn(){
	if( !displayed ){return;}
	if(opacity < 10){
	displayed.style.opacity = opacity/10;
	displayed.style.filter = "alpha(opacity=" + (opacity*10) + ")";
	opacity++;
	} else {
	opacity = 0;
	displayed.style.opacity = "1.0";
	displayed.style.filter = "alpha(opacity=100)";
	clearInterval(fading);
	}
}

function switchTo(aTag) {
clearInterval(fading); opacity = 0;
var linkline = document.getElementById("linkline");
var lnk = linkline.getElementsByTagName("a");
var info = aTag.name.replace("_", "");

lnk[0].className = "none";
lnk[1].className = "none";
lnk[2].className = "none";
this.className = "selected";

	if( displayed != document.getElementById(info) ) {
	displayed = document.getElementById(info);
	document.getElementById("browserInfo").style.display = "none";
	document.getElementById("flashInfo").style.display = "none";
	document.getElementById("shockInfo").style.display = "none";
	document.getElementById("qtInfo").style.display = "none";
	document.getElementById("pdfInfo").style.display = "none";
	document.getElementById("javaInfo").style.display = "none";
	
	document.getElementById(info).style.opacity = "0.0";
	document.getElementById(info).style.filter = "alpha(opacity=0)";
	document.getElementById(info).style.display = "block";
	fading = setInterval(fadeIn, 100);
	}
	wizardPos = info.replace("Info", "");
	
	if(document.documentElement) {
	document.documentElement.scrollTop = 0;
	} else {
	document.body.scrollTop = 0
	}
}

function addHandlers(){
	if(browser.supported == "unsupported") {
	/* Stop if browser is unsupported
	document.getElementById("wizbtndiv").parentNode.style.display = "none";
	return;
	*/
	}
var wizBtn = document.getElementById("wizbtndiv").getElementsByTagName("a")[0];
wizBtn.onclick = stepForward;
displayed = document.getElementById("browserInfo");
document.getElementById("closer").onclick = closeWin;
var linkline = document.getElementById("linkline");
var lnk = linkline.getElementsByTagName("a");
	for(var i=0; i<lnk.length; i++) {
	lnk[i].onmouseup = function(){switchTo(this);}
	}
}

 function testJava(){
var url = "http://pearson.horizonwimba.com/pearson/wizard/launcher.jsp?show=wizard.frames";
	if(window.opener){
	window.location = url;
	} else {
	var javaWin = window.open(url, "java", "width=708,height=580");
	}
}

function flashControl(win, action){
var flashWin = document.getElementById(win);
	if(action == "play") {
	flashWin.height = 150;
	} else {
	flashWin.height = 1;
	}
}

function object_embed(swf){
var html = '<object id="player" name="player" type="application/x-shockwave-flash" data="'+swf+'" width="169" height="150"><param name="movie" value="'+swf+'" /></object>';

document.write(html);
document.player.Stop();
}

function setBrowserInfo(){
var javaInfo = document.getElementById("javaInfo");
var flashInfo = document.getElementById("flashInfo");
var browserInfo = document.getElementById("browserInfo");
var shockInfo = document.getElementById("shockInfo");
var qtInfo = document.getElementById("qtInfo");

var javaIcon = document.getElementById("javaIcon");
var flashIcon = document.getElementById("flashIcon");
var shockIcon = document.getElementById("shockIcon");
var qtIcon = document.getElementById("qtIcon");
var browseIcon = document.getElementById("browseIcon");
var browserReport = document.getElementById("browserReport");

var html = browser.supported=="supported"? "": "<br /><br />"+browserReport.innerHTML;
var s1 = document.createElement("span");
	s1.className = browser.supported;
	s1.appendChild( document.createTextNode(browser.name + " " + browser.version) );


browserReport.innerHTML =  "Your browser is:<br />";
browserReport.appendChild(s1);
browserReport.innerHTML +=  html;

browseIcon.src = "images/" + browser.icon;

	if ( browser.javaEnabled ) {
	javaIcon.src = "images/java.png";
	javaInfo.getElementsByTagName("a")[0].innerHTML = "<strong>Java is enabled.</strong> "
	javaInfo.getElementsByTagName("a")[0].className = "unlinked";
	}
	if ( browser.flashEnabled ) {
	flashIcon.src = "images/flash.png";
	flashInfo.getElementsByTagName("a")[0].innerHTML = "<strong>Flash is enabled.</strong> "
	flashInfo.getElementsByTagName("a")[0].className = "unlinked";
	}
	if ( browser.shockEnabled ) {
	shockIcon.src = "images/shockwave.png";
	shockInfo.getElementsByTagName("a")[0].innerHTML = "<strong>Shockwave is enabled.</strong> "
	shockInfo.getElementsByTagName("a")[0].className = "unlinked";
	}
	if ( browser.qtEnabled ) {
	qtIcon.src = "images/qt.png";
	qtInfo.getElementsByTagName("a")[0].innerHTML = "<strong>QuickTime is enabled.</strong> "
	qtInfo.getElementsByTagName("a")[0].className = "unlinked";
	}
	
	if ( browser.supported ) {
	addHandlers();
	}
}

if(window.addEventListener){
	window.addEventListener("load", setBrowserInfo, false);
} else if(window.attachEvent) {
	window.attachEvent("onload", setBrowserInfo, false);
} else {
	//unsupported
}

var wizardPos = "browser";
function stepForward(){
	switch(wizardPos) {
	case "browser":
	switchTo(document.getElementsByTagName('a')[1]);
	wizardPos = "flash";
	break;
	
	case "flash":
	switchTo(document.getElementsByTagName('a')[2]);
	wizardPos = "shock";
	break;
	
	case "shock":
	switchTo(document.getElementsByTagName('a')[3]);
	wizardPos = "qt";
	break;
	
	case "qt":
	switchTo(document.getElementsByTagName('a')[4]);
	wizardPos = "pdf";
	break;
	
	case "pdf":
	switchTo(document.getElementsByTagName('a')[5]);
	wizardPos = "java";
	break;

	case "java":
	switchTo(document.getElementsByTagName('a')[0]);
	wizardPos = "browser";
	break;

	default:
	switchTo(document.getElementsByTagName('a')[0]);
	wizardPos = "browser";
	}
}

function endWizard(){
/* Stop looping
var wizbtndiv = document.getElementById("wizbtndiv");
wizbtndiv.parentNode.innerHTML = "Done.";
*/
}