<!-- //
    var d=this.window.document;
    var isFailure = false;

	function applyCssClassName(c, s) {
		if (c) {
			if (s && s == true)
			c.className = '';
			else{
				c.className = 'failed';
				isFailure = true;
			}
		}
	}

    // Routine to check the JVM vendor and version for Trade compatibility
    function checkJavaInfo(jvm_vendor, jvm_version){
        if (jvm_vendor.indexOf('Sun') >= 0){
		    //We now support all verions great then 1.6.0_15
		    if (jvm_version.substring(0, 5) == '1.6.0' && parseInt(jvm_version.substring(6, 8)) > 15)
			    return true;
			}
        return false;
    }
	
	function showObject(objInstance){
		if(objInstance){
			objInstance.style.visibility = '' ;
			objInstance.style.display = '' ;
		}
	}
	
	function hideObject(objInstance){
	    if(objInstance){
		    objInstance.style.visibility = 'hidden' ;
		    objInstance.style.display = 'none' ;
	    }
	}
	
    function checkJavaInstalledAndEnabled()
    {
        var h = d.healthcheck;
        
		if (!navigator.javaEnabled()) {
			return false;
		}

		try{ h.getJDKVendor(); }catch(e){
			return false;
		}
		
    	var jdkvendor = h.getJDKVendor();
		var jdkversion = h.getJDKVersion();

		return checkJavaInfo(jdkvendor, jdkversion);
    }
    
	function showDetails() {
	
		hideObject(d.getElementById("test_title"));
		showObject(document.getElementById('test_in_progress'));
		hideObject(document.getElementById('result_title'));
		
		var pos_answer = d.getElementById("positiveAnswer").value;
		var neg_answer = d.getElementById("negativeAnswer").value;
	
		var jdk, jvm, java_dir, java_dir, java_enabled, java_enabled_display, cookies_enabled_display;
		if (navigator.javaEnabled()) {
			java_enabled = true;
			java_enabled_display = pos_answer;
		}
		else {
			java_enabled = false;
			java_enabled_display = neg_answer;
		}
		
		if (d.cookie)
			var cookies_enabled_display = pos_answer;
		else
			var cookies_enabled_display = neg_answer;

		var isJavaAppletLoaded = true;
		var h = d.healthcheck;
		
		try{ h.getJDKVendor(); }catch(e){
			isJavaAppletLoaded = false;
			java_enabled = false;
			java_enabled_display = neg_answer;
		}
		
		var jdkversionok = false;
		if (isJavaAppletLoaded) {
			var jdkvendor = h.getJDKVendor();
			var jdkversion = h.getJDKVersion();
			var jvmname = h.getJVMName();
			var jvmvendor = h.getJVMVendor();
			var jvmversion = h.getJVMVersion();
			var msvmbuildnumber = h.getMSVMBuildNumber();
			if (jdkvendor.indexOf("Microsoft") != -1) {
				var jdkinfo = jdkvendor + "\n" + jdkversion;
				jdkversionok = h.checkJDKVersion('1.1.4');
			} else {
				var jdkinfo = jdkvendor + "\n" + jdkversion;
				jdkversionok = h.checkJDKVersion('1.4.2');
			}
			if (jvmvendor.indexOf("Sun") != -1) {
				var jvminfo = jvmname + "\n" + jvmvendor + "\n" +jvmversion;
				var jvmversionok = h.checkJVMVersion('1.4.2');
			} else {
				var jvminfo = "Build Number " + msvmbuildnumber;
				var jvmversionok = parseFloat(msvmbuildnumber) >= 3167;
			}
			java_dir = h.isJavaDirWriteable();
			jdkversionok = checkJavaInfo(jdkvendor, jdkversion);
		}

		d.getElementById("platform").innerHTML=navigator.platform;		
		d.getElementById("platform_ctrl").value = navigator.platform;
		
		d.getElementById("browser_type").innerHTML=navigator.appName + ' (' + navigator.appCodeName + '), Version: ' + navigator.appVersion;
		d.getElementById("browser_type_ctrl").value = navigator.appName + ' (' + navigator.appCodeName + '), Version: ' + navigator.appVersion;
		applyCssClassName( d.getElementById("browser_type") ,  (is_ie4up || is_nav5up) );
		
		d.getElementById("javascript_ver").innerHTML=is_js;
		d.getElementById("javascript_ver_ctrl").value = is_js;
		applyCssClassName( d.getElementById("javascript_ver"),  (parseFloat(is_js) > 1.0) );
		
		d.getElementById("cookies_enabled").innerHTML=cookies_enabled_display;
		d.getElementById("cookies_enabled_ctrl").value = cookies_enabled_display;
		applyCssClassName( d.getElementById("cookies_enabled"),  (is_cookie == 'true') );

		d.getElementById("java_enabled").innerHTML=java_enabled_display;
		d.getElementById("java_enabled_ctrl").value = java_enabled_display;
		applyCssClassName( d.getElementById("java_enabled"),  java_enabled );
		
		d.getElementById("jdk_info").innerHTML=jdkinfo;
		d.getElementById("jdk_info_ctrl").value = jdkinfo;
		applyCssClassName( d.getElementById("jdk_info"),  jdkversionok );
		
		if (java_dir == 'Yes') {
		    java_dir = pos_answer; 
        } else { 
            java_dir = neg_answer; 
        }
		d.getElementById("java_dir_writeable").innerHTML=java_dir;
		d.getElementById("java_dir_writeable_ctrl").value = java_dir;
		applyCssClassName( d.getElementById("java_dir_writeable"),  ( java_dir==pos_answer) );
		
		hideObject(document.getElementById('test_in_progress'));
		showObject(document.getElementById('result_title'));

		if(isFailure){
		
			showObject( d.getElementById("system_suitable_no") );
			showObject( d.getElementById("disclaimer_no") );
			showObject( d.getElementById("jdkversionNotOkMessageSpan") );
			
			hideObject( d.getElementById("system_suitable_yes") );
			hideObject( d.getElementById("disclaimer_yes") );
			
			d.getElementById("rbstrade_compatible_ctrl").value  = neg_answer;
			
		}else{
            var subVersion = parseInt(jdkversion.substring(6));
            var subVersionOK = !isNaN(subVersion) && subVersion >= 22;
            var amberJRE = false;
            var o = null;

			// check JRE and potentially put amber status			
			if (jdkversion.substring(0, 5) == '1.6.0' && subVersionOK == true) {
			    showObject( d.getElementById("system_suitable_yes") );
			    hideObject( d.getElementById("system_suitable_amber") );
			}
			else{
			    showObject( d.getElementById("system_suitable_amber") );
			    showObject( d.getElementById("HealthCheck_SystemSuitableAmberJRELabel") );
			    hideObject( d.getElementById("system_suitable_yes") );
			    amberJRE = true;
    			o = d.getElementById("jdk_info");
	    		if (o)
	    		    o.className = 'amberMessage';
			}
			
			// check IE version and potentially put amber status if < IE7
			if (is_ie)			
            {
                if (is_ie7up && !amberJRE) {
			        showObject( d.getElementById("system_suitable_yes") );
			        hideObject( d.getElementById("system_suitable_amber") );
    			}
	    		else{
	    	    	if (!is_ie7up) {
		    	        showObject( d.getElementById("system_suitable_amber") );
		    	        showObject( d.getElementById("HealthCheck_SystemSuitableAmberIE6Label") );
			            hideObject( d.getElementById("system_suitable_yes") );
    			        o = d.getElementById("browser_type");
	    		        if (o)
	    		            o.className = 'amberMessage';
	    		    }
    	        }                
			}

    	    showObject( d.getElementById("disclaimer_yes") );
			hideObject( d.getElementById("system_suitable_no") );
			hideObject( d.getElementById("disclaimer_no") );
			
			d.getElementById("rbstrade_compatible_ctrl").value  = pos_answer;
			
		}
		
		showObject( d.getElementById("emailbox"));
		showObject( d.getElementById("emailsubmit"));
		
	}
	
// -->

