// systemRequirements.js

var browser_name;
var browser_version;
var browser_version_string;
var cookies_enabled;
var screen_width;
var screen_height;
var flash_available;
var webeq_available;
var start_feature;
var end_feature;
var version;

var start_highlight = '';//'<B><FONT COLOR=RED>';
var end_highlight = '';//'</B></FONT>';

var fail = '';

// check on browser
browser_name=navigator.appName;
browser_version_string=navigator.appVersion;
//now check if we're using a mac
var sUserAgent = navigator.userAgent.toLowerCase();
var isMac=(sUserAgent.indexOf('mac')!=-1)?true:false;
if (navigator.userAgent.toLowerCase().indexOf("opera") != -1) {
	fail='true';
	browser_name = 'Opera';
	browser_version = '';
} else if (browser_name.indexOf("Microsoft")!=-1) {
	browser_is_ie=true
	mpos = browser_version_string.indexOf( "MSIE" );
	spos = browser_version_string.indexOf( ";", mpos );
	browser_version = browser_version_string.substr( mpos+5, spos-mpos-5 );
	if(browser_version < "7.0")
		fail = 'true';
} else if (navigator.userAgent.toLowerCase().indexOf("firefox")!=-1){
	if(isMac)
		browser_name = 'Firefox for Mac';
	else
		browser_name = 'Firefox for Windows';

	browser_version = navigator.userAgent.toLowerCase().substring(navigator.userAgent.toLowerCase().indexOf("firefox")+8);
	if(browser_version < "3.0")
		fail = 'true';
} else if (navigator.userAgent.toLowerCase().indexOf("safari")!=-1){
	if(isMac)
		browser_name = 'Safari';
	browser_version = navigator.userAgent.toLowerCase().substr(navigator.userAgent.toLowerCase().indexOf("safari")+7);
	if(browser_version < "531.21.00")
		fail = 'true';
} else {
	browser_version = browser_version_string;
	fail = 'true';
}

// cookies on?
var cookiefail = 'false';
var cookieName = 'hotmathsTestCookie' + (new Date().getTime());
document.cookie = cookieName + '=greebo';
cookies_enabled = document.cookie.indexOf(cookieName) != -1;


if ( cookies_enabled ) {
//	do nothing
} else {
	cookiefail = 'true';
}

// screen size
var screenfail = false;
screen_width = window.screen.width;
screen_height = window.screen.height;
if(screen_width < 1024)
	screenfail = 'true';
if(screen_height < 768)
	screenfail = 'true';
//

//var browserVersionArray = version.split(";");
//if (browserVersionArray[1].indexOf("MSIE 6") == -1)
//	flash_available = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');


/*******************************************************
ADOBE ACROBAT DETECT
*******************************************************/

//Script type required to validate
var displayString;
var acrobat=new Object();

acrobat.installed=false;
acrobat.version='0.0';

if (navigator.plugins && navigator.plugins.length) {
	for (x=0; x<navigator.plugins.length;x++) {
		if (navigator.plugins[x].description.indexOf('Adobe Acrobat')!= -1) {
			acrobat.version=parseFloat(navigator.plugins[x].description.split('Version ')[1]);

			if (acrobat.version.toString().length == 1) acrobat.version+='.0';

			acrobat.installed=true;
			displayString = acrobat.version;
			break;
		}
		else if(navigator.plugins[x].description.indexOf('Adobe PDF')!= -1){
			acrobat.installed=true;
			displayString = '8.0';
			break;
		}
	}
} else if (window.ActiveXObject) {
	for (x=2; x<10; x++) {
		try {
			oAcro=eval("new ActiveXObject('PDF.PdfCtrl."+x+"');");
			if (oAcro) {
				acrobat.installed=true;

				acrobat.version=x+'.0';
				displayString = acrobat.version;
			}
		} catch(e) {}
}

try {
	oAcro4=new ActiveXObject('PDF.PdfCtrl.1');
	if (oAcro4) {
		acrobat.installed=true;
		acrobat.version='4.0';
		displayString = acrobat.version;
	}
} catch(e) {}

try {
	oAcro7=new ActiveXObject('AcroPDF.PDF.1');
	if (oAcro7) {
		acrobat.installed=true;
		acrobat.version='7.0';
		displayString = acrobat.version;
	}
} catch(e) {}

}
// check if the user is safari or MAC if so do not display the acrobat message
var isSafari=(sUserAgent.indexOf('safari')!=-1)?true:false;
var failAcro = 'false'
// if the user doesn't have acrobat or has a version earlier then 7 display message
if ((!displayString || displayString < 6) && !isSafari && !isMac) {
	failAcro = 'true';

}

var failFlash = 'false';
if(DetectFlashVer(10, 0, 0) == false) {
	failFlash = 'true';
}

function showHelp( anchor ) {
    help_width = screen_width / 2;
    help_height =  screen_height / 2;
    help_url = "/mathematics_home/help/systemhelp.html#" + anchor
    windowFeatures = "width=" + help_width + ",height=" + help_height
    windowFeatures += ",resizable,scrollbars"
    helpWindow = window.open(help_url,"systemhelp", windowFeatures );
    return false;
}

function writeHelp( anchor ) {
    document.write( " <SMALL><A HREF=\"javascript:void(0)\" onClick=\"showHelp('" + anchor + "')\">HELP</A></SMALL> " );
}


function QueryString(query_key) {
	var query_value = "";
	for (var i=0;i<QueryString.keys.length;i++) {
		if (QueryString.keys[i]==query_key) {
			query_value = QueryString.values[i];
			break;
		}
	}
	return query_value;
}
QueryString.keys = new Array();
QueryString.values = new Array();

function QueryString_Parse() {
	var query_string = window.location.search.substring(1);
	var query_pairs = query_string.split("&");

	for (var i=0;i<query_pairs.length;i++) {
		var pos = query_pairs[i].indexOf('=');
		if (pos >= 0) {
			var argname = query_pairs[i].substring(0,pos);
			var value = query_pairs[i].substring(pos+1);
			QueryString.keys[QueryString.keys.length] = argname;
			QueryString.values[QueryString.values.length] = value;
		}
	}
}

QueryString_Parse();

var gotoLocation = QueryString( 'goto' );
var gobackLocation = QueryString( 'goback' );



function openHelp() {
	//var feedWidth = 500
	//var feedHeight = 300
    var feedWidth = screen_width / 2;
    var feedHeight =  screen_height / 2;
	var w = feedWidth/3, h = feedHeight/3, cw = w/2, ch = h/2;

	if (window.screen) {
		cw = Math.floor((screen.availWidth / 2) - (feedWidth / 2));
		ch = Math.floor((screen.availHeight / 2) - (feedHeight /2));
	}

	open('/mathematics_home/help/systemhelp.html', '', 'width=' + feedWidth + ',height=' + feedHeight + ',scrollbars=1,toolbar=0,location=0,directories=0,status=0,menuBar=0,resizable=0,top='+ch+',left='+cw)
}




