
//set general info	
var nav = navigator.userAgent.toLowerCase();
var sm_user = new Object();

images = new Object();
images.cross = "<img src=\"images/requirements_icons/cross.gif\" alt=\"\" class=\"tick\" />";
images.tick = "<img src=\"images/requirements_icons/tick.gif\" alt=\"\" class=\"tick\" />";

var flash_player = {
						name : "Adobe Flash Player",
						sm_plugin : "flash",
						version_needed: 9,
						icon : "images/requirements_icons/flash.gif",
						detectable : true,
						download_link : "http://www.adobe.com/go/getflashplayer"
					}
var shockwave_player = {
						name : "Adobe Shockwave Player",
						sm_plugin : "shockwave",
						version_needed : 10,
						icon : "images/requirements_icons/shockwave.gif",
						detectable : true,
						download_link : "http://www.adobe.com/shockwave/download/"
					}
					
var adobe_reader = {
						name : "Adobe Reader",
						sm_plugin : "adobereader",
						version_needed : 8,
						icon : "images/requirements_icons/acrobat.gif",
						detectable : true,
						download_link : "http://www.adobe.com/products/acrobat/readstep2.html"
					}
					
var pdf_browser = {
						name : "PDF Browser Plugin",
						sm_plugin : "pdfbrowser",
						version_needed : "2.2.3",
						icon : "images/requirements_icons/acrobat.gif",
						detectable : true,
						download_link : "http://www.schubert-it.com/pluginpdf/"
					}
					
var quicktime = {
						name : "Quicktime Player",
						sm_plugin : "quicktime",
						version_needed : "6.5.1",
						version_installed : null,
						icon : "images/requirements_icons/quicktime.gif",
						detectable : true,
						download_link : "http://www.apple.com/quicktime/download"
					}
var flipmac = {
						name : "Flip4Mac : Quicktime WMV Plugin",
						sm_plugin : "flipmac",
						version_needed : 1,
						version_installed : null,
						icon : "images/requirements_icons/quicktime.gif",
						detectable : true,
						download_link : ""
					}
					
var windowsmedia = {
						name : "Windows Media Player",
						sm_plugin : "windowsmedia",
						version_needed : 9,
						version_installed : null,
						icon : "images/requirements_icons/wmp.gif",
						detectable : true,
						download_link : "http://www.microsoft.com/windows/windowsmedia/download"
					}
					
var java_runtime = {
						name : "Java Runtime Environment",
						sm_plugin : "java_runtime",
						version_needed : 1.5,
						icon : "images/requirements_icons/java.gif",
						detectable : true,
						download_link : "http://www.java.com/en/download/"
					}

var excel_viewer = {
						name : "Excel Viewer",
						sm_plugin : "excel",
						icon : "images/requirements_icons/excel.gif",
						detectable : false,
						download_link : "http://office.microsoft.com/downloads/2000/xlviewer.aspx"
					}

var powerpoint_viewer = {
						name : "Powerpoint Viewer",
						sm_plugin : "powerpoint",
						icon : "images/requirements_icons/powerpoint.gif",
						detectable : false,
						download_link : "http://www.microsoft.com/downloads/results.aspx?freetext=viewer&productID=B157E6F3-5AF9-48CB-A153-895C1AA220F8&categoryId=&period=&sortCriteria=popularity&nr=20&DisplayLang=en"
					}
					
var javaAP = {
						name : "JavaAP (Maths and Science)",
						sm_plugin : "java",
						icon : "images/requirements_icons/java.gif",
						detectable : false,
						download_link : "http://www.java.com"
					}


var plugin_info = new Array(flash_player,shockwave_player,quicktime,flipmac,adobe_reader,pdf_browser,windowsmedia,java_runtime,excel_viewer,powerpoint_viewer, javaAP);

function get_info() {
	//OS
	sm_user.os = get_os();
	sm_user.os_version = get_os_version();
	//Browser
	sm_user.browser = get_browser();
	sm_user.browser_version = get_browser_version();
	sm_user.cookies_enabled = check_cookies();
	
	sm_user.screenwidth = screen.width;
	sm_user.screenheight = screen.height;
	
	sm_gatherPluginInfo()
	
	for(i=0;i<plugin_info.length;i++) {
		var p = plugin_info[i];
		if(p.detectable) {
			p.version_installed = sm_pluginVersion[p.sm_plugin];
			p.version_ok = versionOK(p.version_needed,p.version_installed);
		}
	}
}


function write_info() {

	get_info();
	
	var the_user = new Object();
	the_user = sm_user;
	var plugins = new Object();
	plugins = plugin_info;
		
	//only firefox can be used on certain browsers
	if((the_user.os_version == "win98" || the_user.os_version == "win2000") && the_user.browser != "firefox") {
		document.write("<div class=\"requirement\"><p>We no longer support this browser. We recommend Mozilla Firefox 2.0 as a good alternative browser.</br>Firefox 2.0 can be downloaded here <a href=\"http://www.mozilla.com\" target=\"_blank\">http://www.mozilla.com</a></p></div>")
	} else {
		//os
		//document.write(nav + "</br></br>");
		//document.write("OS : " + the_user.os + "</br>");
		//document.write("OS version : " + the_user.os_version + "</br></br>");
		//browser
		//document.write("Browser : " + the_user.browser + " " + the_user.browser_version + "</br>");
		
		document.write("<p class='requirements-header'>To get the best out of this site, we recommend that you have the following plugins:</p>");
		
		//browser check
		document.write("<div class=\"requirement\">");
		switch(the_user.os) {
			case "win" :
				switch(the_user.browser) {
					case "msie":
					case "firefox":
					case "netscape":
					//	document.write("<p>Browser supported</p>" + images["tick"]);
					break;
					default :
						document.write("<p>Browser unsupported. We recommend the latest version of Firefox. <a href=\"http://mozilla.com\" target=\"_blank\">Get it here</a></p>."+ images["cross"]);
					break;
				}
			break;
			case "mac" :
				switch(the_user.browser) {
					case "safari":
					case "firefox":
					case "opera":
					//	document.write("<p>Browser supported.</p>" + images["tick"]);
					break;
					default :
						document.write("<p>Browser unsupported. We recommend the latest version of Firefox. <a href=\"http://mozilla.com\" target=\"_blank\">Get it here</a>.</p>"+ images["cross"]);
					break;
				}
			
			break;
		}
		document.write("</div>");
		
		//javascript
		//document.write("<div class=\"requirement\">");
		//document.write("<p>Javascript enabled</p>" + images["tick"]);
		//document.write("</div>");
		
		//cookies
		document.write("<div class=\"requirement\">");
		if(the_user.cookies_enabled) {
		//	document.write("<p>Cookies enabled</p>" + images["tick"]);
		} else {
			document.write("<p>Cookies disabled. Please enable cookies.</p>" + images["cross"]);
		}
		document.write("</div>");
		
		//screen size
		document.write("<div class=\"requirement\">");
		if(the_user.screenwidth >= 800 && the_user.screenheight >= 600) {
		//	document.write("<p>Screen resolution ok.</p>" + images["tick"]);
		} else {
			document.write("<p>Screen resolution must be at least 800x600.</p>" + images["cross"]);
		}
		document.write("</div>");
				
		//go through every DETECTABLE plugin
		for(i=0;i<plugins.length;i++) {
			var p = plugins[i];
			var cssname = p.name;
		
			if(p.detectable) {
		
				/** SPECIAL CASES **/
				var skip = false;
				//flip4mac only on safari on a mac
				if(the_user.browser != "safari" && p.name == "Flip4Mac : Quicktime WMV Plugin") {
					skip = true;
				}
				//pdf_browser only on firefox on a mac
				if(the_user.browser != "firefox" && p.name == "PDF Browser Plugin") {
					skip = true;
				}
				if(the_user.browser == "firefox" && the_user.os != "mac" && p.name == "PDF Browser Plugin") {
					skip = true;
				}
				if(the_user.browser == "firefox" && the_user.os == "mac" && p.name == "Adobe Reader") {
					skip = true;
				}
				if(the_user.browser == "safari" && p.name == "Adobe Reader") {
					skip = true;
				}
		
		//write relevant information
				if(!skip) {
				document.write("<div class=\"requirement\">");
					if(p.version_ok) {
						//document.write("<img src=\""+p.icon+"\" alt=\""+p.name+"\" class=\"icon\" /><p>" + cssname + " : Version " + p.version_installed + " already installed.</p>");
						
						//document.write(images["tick"])
					} else {
						
						if(p.version_installed) {
						
							//version number not available for some plugins on some browsers
							switch(p.name) {
								case "Windows Media Player":
										//document.write("<img src=\""+p.icon+"\" alt=\""+p.name+"\" class=\"icon\" /><p>" + cssname + ": installed.</p>");
										//document.write(images["tick"]);
									break;
								case "Adobe Reader":
									if(the_user.os == "win" && (the_user.browser == "netscape" || the_user.browser == "firefox" || the_user.browser == "msie")) {
										//document.write("<img src=\""+p.icon+"\" alt=\""+p.name+"\" class=\"icon\" /><p>" + cssname + ": installed.</p>");
										//document.write(images["tick"]);
									}
								break;
								default :
									document.write("<img src=\""+p.icon+"\" alt=\""+p.name+"\" class=\"icon\" /><p>" + cssname + " : Version " + p.version_installed + " already installed. <br/>");
									document.write(" You need " + p.version_needed + ".</br>");
									document.write(' <a href="'+ p.download_link +'" target="_blank">Get it here</a></p>');
									document.write(images["cross"])
								break;
							}
							
						} else  {
						
							document.write("<img src=\""+p.icon+"\" alt=\""+p.name+"\" class=\"icon\" /><p>" + cssname + " NOT installed.</br>")
							document.write(' <a href="'+ p.download_link +'" target="_blank">Get it here</a></p>');
							document.write(images["cross"])
						}
					}
				document.write("</div>");
				}
				
			}
		}
		//go through every UNDETECTABLE plugin
		document.write("<div id='undetectable'>Please make sure you also have the following software or equivalent:</div>")
		
		for(i=0;i<plugins.length;i++) {
			var p = plugins[i];
			var cssname = p.name;
			
			if(!p.detectable) {
				document.write("<div class=\"requirement\">");
				document.write("<img src=\""+p.icon+"\" alt=\""+p.name+"\" class=\"icon\" />");
				document.write("<p>" + cssname + ". </br>")
				document.write(' <a href="'+ p.download_link +'" target="_blank">Get it here</a></p>');
				document.write("</div>");
			}
		}
	}
}
