diff --git a/bbb-client-check/html-template/index.html b/bbb-client-check/html-template/index.html
index 9044add83cdd2cb5fc5ef700b660fb88ef30ac58..39c9a375b7cd90f715fd40656796f7e0e9bda7df 100755
--- a/bbb-client-check/html-template/index.html
+++ b/bbb-client-check/html-template/index.html
@@ -36,6 +36,7 @@
          
         <script type="text/javascript" src="resources/lib/api-bridge.js"></script>
         <script type="text/javascript" src="resources/lib/sip-0.6.2.js"></script>
+        <script type="text/javascript" src="resources/lib/deployJava.js"></script>
         <script type="text/javascript" src="swfobject.js"></script>
         <script type="text/javascript">
             // For version detection, set to min. required Flash Player version, or 0 (or 0.0.0), for no version detection. 
@@ -62,6 +63,7 @@
         </script>
     </head>
     <body>
+        <div id="deployJavaPluginContainer" style="visibility:hidden; height:0px; "></div>
         <!-- SWFObject's dynamic embed method replaces this alternative HTML content with Flash content when enough 
              JavaScript and Flash plug-in support is available. The div is initially hidden so that it doesn't show
              when JavaScript is disabled.
diff --git a/bbb-client-check/locale/en_US/resources.properties b/bbb-client-check/locale/en_US/resources.properties
index 90ef862e7347aa18428cd08e62ee0e83e8c1be97..3afe5af96503ee8281079f33781357b9fdd445ad 100755
--- a/bbb-client-check/locale/en_US/resources.properties
+++ b/bbb-client-check/locale/en_US/resources.properties
@@ -2,4 +2,10 @@ bbbsystemcheck.title=BigBlueButton Client Check
 bbbsystemcheck.dataGridColumn.item = Item
 bbbsystemcheck.dataGridColumn.status = Status
 bbbsystemcheck.dataGridColumn.result = Result
-bbbsystemcheck.copyAllText = Copy all text
\ No newline at end of file
+bbbsystemcheck.copyAllText = Copy all text
+bbbsystemcheck.result.undefined = Undefined
+bbbsystemcheck.result.javaEnabled.disabled = Java is disabled in your browser
+bbbsystemcheck.result.javaEnabled.notDetected = No Java detected
+bbbsystemcheck.status.succeeded = 
+bbbsystemcheck.status.warning = Warning
+bbbsystemcheck.status.failed = Failed
diff --git a/bbb-client-check/resources/lib/api-bridge.js b/bbb-client-check/resources/lib/api-bridge.js
index 60ab31c1d6940b6ab4498e695e4118a7caff74fd..8f4e047bd646ec1247c491c64f0e27a925bf7ead 100755
--- a/bbb-client-check/resources/lib/api-bridge.js
+++ b/bbb-client-check/resources/lib/api-bridge.js
@@ -149,13 +149,32 @@
 	}
 	
 	BBBClientCheck.javaEnabled = function(){
-		var javaEnabledInfo = ''; 
+		var result = {
+			enabled: navigator.javaEnabled(),
+			version: [],
+			minimum: '1.7.0_51+',
+			appropriate: false
+		};
+
+		if (result.enabled) {
+			result.version = getJavaVersion();
+			result.appropriate = isJavaVersionAppropriateForDeskshare(result.minimum);
+		}
+
+		console.log(result);
+
 		var swfObj = getSwfObj();
-		
-		javaEnabledInfo = navigator.javaEnabled();
-		swfObj.javaEnabled(javaEnabledInfo);
+		swfObj.javaEnabled(result);
 	}
-	
+
+	function getJavaVersion() {
+		return deployJava.getJREs();
+	}
+
+	function isJavaVersionAppropriateForDeskshare(required) {
+		return deployJava.versionCheck(required);
+	}
+
 	BBBClientCheck.language = function(){ 
 		var languageInfo = '';
 		var swfObj = getSwfObj();
diff --git a/bbb-client-check/resources/lib/deployJava.js b/bbb-client-check/resources/lib/deployJava.js
new file mode 100644
index 0000000000000000000000000000000000000000..8aa7a65aba8382bb8aa9ed24f3eee86a319050bf
--- /dev/null
+++ b/bbb-client-check/resources/lib/deployJava.js
@@ -0,0 +1 @@
+var deployJava=function(){var l={core:["id","class","title","style"],i18n:["lang","dir"],events:["onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup"],applet:["codebase","code","name","archive","object","width","height","alt","align","hspace","vspace"],object:["classid","codebase","codetype","data","type","archive","declare","standby","height","width","usemap","name","tabindex","align","border","hspace","vspace"]};var b=l.object.concat(l.core,l.i18n,l.events);var m=l.applet.concat(l.core);function g(o){if(!d.debug){return}if(console.log){console.log(o)}else{alert(o)}}function k(p,o){if(p==null||p.length==0){return true}var r=p.charAt(p.length-1);if(r!="+"&&r!="*"&&(p.indexOf("_")!=-1&&r!="_")){p=p+"*";r="*"}p=p.substring(0,p.length-1);if(p.length>0){var q=p.charAt(p.length-1);if(q=="."||q=="_"){p=p.substring(0,p.length-1)}}if(r=="*"){return(o.indexOf(p)==0)}else{if(r=="+"){return p<=o}}return false}function e(){var o="//java.com/js/webstart.png";try{return document.location.protocol.indexOf("http")!=-1?o:"http:"+o}catch(p){return"http:"+o}}function n(p){var o="http://java.com/dt-redirect";if(p==null||p.length==0){return o}if(p.charAt(0)=="&"){p=p.substring(1,p.length)}return o+"?"+p}function j(q,p){var o=q.length;for(var r=0;r<o;r++){if(q[r]===p){return true}}return false}function c(o){return j(m,o.toLowerCase())}function i(o){return j(b,o.toLowerCase())}function a(o){if("MSIE"!=deployJava.browserName){return true}if(deployJava.compareVersionToPattern(deployJava.getPlugin().version,["10","0","0"],false,true)){return true}if(o==null){return false}return !k("1.6.0_33+",o)}var d={debug:null,version:"20120801",firefoxJavaVersion:null,myInterval:null,preInstallJREList:null,returnPage:null,brand:null,locale:null,installType:null,EAInstallEnabled:false,EarlyAccessURL:null,oldMimeType:"application/npruntime-scriptable-plugin;DeploymentToolkit",mimeType:"application/java-deployment-toolkit",launchButtonPNG:e(),browserName:null,browserName2:null,getJREs:function(){var t=new Array();if(this.isPluginInstalled()){var r=this.getPlugin();var o=r.jvms;for(var q=0;q<o.getLength();q++){t[q]=o.get(q).version}}else{var p=this.getBrowser();if(p=="MSIE"){if(this.testUsingActiveX("1.7.0")){t[0]="1.7.0"}else{if(this.testUsingActiveX("1.6.0")){t[0]="1.6.0"}else{if(this.testUsingActiveX("1.5.0")){t[0]="1.5.0"}else{if(this.testUsingActiveX("1.4.2")){t[0]="1.4.2"}else{if(this.testForMSVM()){t[0]="1.1"}}}}}}else{if(p=="Netscape Family"){this.getJPIVersionUsingMimeType();if(this.firefoxJavaVersion!=null){t[0]=this.firefoxJavaVersion}else{if(this.testUsingMimeTypes("1.7")){t[0]="1.7.0"}else{if(this.testUsingMimeTypes("1.6")){t[0]="1.6.0"}else{if(this.testUsingMimeTypes("1.5")){t[0]="1.5.0"}else{if(this.testUsingMimeTypes("1.4.2")){t[0]="1.4.2"}else{if(this.browserName2=="Safari"){if(this.testUsingPluginsArray("1.7.0")){t[0]="1.7.0"}else{if(this.testUsingPluginsArray("1.6")){t[0]="1.6.0"}else{if(this.testUsingPluginsArray("1.5")){t[0]="1.5.0"}else{if(this.testUsingPluginsArray("1.4.2")){t[0]="1.4.2"}}}}}}}}}}}}}if(this.debug){for(var q=0;q<t.length;++q){g("[getJREs()] We claim to have detected Java SE "+t[q])}}return t},installJRE:function(r,p){var o=false;if(this.isPluginInstalled()&&this.isAutoInstallEnabled(r)){var q=false;if(this.isCallbackSupported()){q=this.getPlugin().installJRE(r,p)}else{q=this.getPlugin().installJRE(r)}if(q){this.refresh();if(this.returnPage!=null){document.location=this.returnPage}}return q}else{return this.installLatestJRE()}},isAutoInstallEnabled:function(o){if(!this.isPluginInstalled()){return false}if(typeof o=="undefined"){o=null}return a(o)},isCallbackSupported:function(){return this.isPluginInstalled()&&this.compareVersionToPattern(this.getPlugin().version,["10","2","0"],false,true)},installLatestJRE:function(q){if(this.isPluginInstalled()&&this.isAutoInstallEnabled()){var r=false;if(this.isCallbackSupported()){r=this.getPlugin().installLatestJRE(q)}else{r=this.getPlugin().installLatestJRE()}if(r){this.refresh();if(this.returnPage!=null){document.location=this.returnPage}}return r}else{var p=this.getBrowser();var o=navigator.platform.toLowerCase();if((this.EAInstallEnabled=="true")&&(o.indexOf("win")!=-1)&&(this.EarlyAccessURL!=null)){this.preInstallJREList=this.getJREs();if(this.returnPage!=null){this.myInterval=setInterval("deployJava.poll()",3000)}location.href=this.EarlyAccessURL;return false}else{if(p=="MSIE"){return this.IEInstall()}else{if((p=="Netscape Family")&&(o.indexOf("win32")!=-1)){return this.FFInstall()}else{location.href=n(((this.returnPage!=null)?("&returnPage="+this.returnPage):"")+((this.locale!=null)?("&locale="+this.locale):"")+((this.brand!=null)?("&brand="+this.brand):""))}}return false}}},runApplet:function(p,u,r){if(r=="undefined"||r==null){r="1.1"}var t="^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?$";var o=r.match(t);if(this.returnPage==null){this.returnPage=document.location}if(o!=null){var q=this.getBrowser();if(q!="?"){if(this.versionCheck(r+"+")){this.writeAppletTag(p,u)}else{if(this.installJRE(r+"+")){this.refresh();location.href=document.location;this.writeAppletTag(p,u)}}}else{this.writeAppletTag(p,u)}}else{g("[runApplet()] Invalid minimumVersion argument to runApplet():"+r)}},writeAppletTag:function(r,w){var o="<"+"applet ";var q="";var t="<"+"/"+"applet"+">";var x=true;if(null==w||typeof w!="object"){w=new Object()}for(var p in r){if(!c(p)){w[p]=r[p]}else{o+=(" "+p+'="'+r[p]+'"');if(p=="code"){x=false}}}var v=false;for(var u in w){if(u=="codebase_lookup"){v=true}if(u=="object"||u=="java_object"||u=="java_code"){x=false}q+='<param name="'+u+'" value="'+w[u]+'"/>'}if(!v){q+='<param name="codebase_lookup" value="false"/>'}if(x){o+=(' code="dummy"')}o+=">";document.write(o+"\n"+q+"\n"+t)},versionCheck:function(p){var v=0;var x="^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?(\\*|\\+)?$";var y=p.match(x);if(y!=null){var r=false;var u=false;var q=new Array();for(var t=1;t<y.length;++t){if((typeof y[t]=="string")&&(y[t]!="")){q[v]=y[t];v++}}if(q[q.length-1]=="+"){u=true;r=false;q.length--}else{if(q[q.length-1]=="*"){u=false;r=true;q.length--}else{if(q.length<4){u=false;r=true}}}var w=this.getJREs();for(var t=0;t<w.length;++t){if(this.compareVersionToPattern(w[t],q,r,u)){return true}}return false}else{var o="Invalid versionPattern passed to versionCheck: "+p;g("[versionCheck()] "+o);alert(o);return false}},isWebStartInstalled:function(r){var q=this.getBrowser();if(q=="?"){return true}if(r=="undefined"||r==null){r="1.4.2"}var p=false;var t="^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?$";var o=r.match(t);if(o!=null){p=this.versionCheck(r+"+")}else{g("[isWebStartInstaller()] Invalid minimumVersion argument to isWebStartInstalled(): "+r);p=this.versionCheck("1.4.2+")}return p},getJPIVersionUsingMimeType:function(){for(var p=0;p<navigator.mimeTypes.length;++p){var q=navigator.mimeTypes[p].type;var o=q.match(/^application\/x-java-applet;jpi-version=(.*)$/);if(o!=null){this.firefoxJavaVersion=o[1];if("Opera"!=this.browserName2){break}}}},launchWebStartApplication:function(r){var o=navigator.userAgent.toLowerCase();this.getJPIVersionUsingMimeType();if(this.isWebStartInstalled("1.7.0")==false){if((this.installJRE("1.7.0+")==false)||((this.isWebStartInstalled("1.7.0")==false))){return false}}var u=null;if(document.documentURI){u=document.documentURI}if(u==null){u=document.URL}var p=this.getBrowser();var q;if(p=="MSIE"){q="<"+'object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" '+'width="0" height="0">'+"<"+'PARAM name="launchjnlp" value="'+r+'"'+">"+"<"+'PARAM name="docbase" value="'+u+'"'+">"+"<"+"/"+"object"+">"}else{if(p=="Netscape Family"){q="<"+'embed type="application/x-java-applet;jpi-version='+this.firefoxJavaVersion+'" '+'width="0" height="0" '+'launchjnlp="'+r+'"'+'docbase="'+u+'"'+" />"}}if(document.body=="undefined"||document.body==null){document.write(q);document.location=u}else{var t=document.createElement("div");t.id="div1";t.style.position="relative";t.style.left="-10000px";t.style.margin="0px auto";t.className="dynamicDiv";t.innerHTML=q;document.body.appendChild(t)}},createWebStartLaunchButtonEx:function(q,p){if(this.returnPage==null){this.returnPage=q}var o="javascript:deployJava.launchWebStartApplication('"+q+"');";document.write("<"+'a href="'+o+"\" onMouseOver=\"window.status=''; "+'return true;"><'+"img "+'src="'+this.launchButtonPNG+'" '+'border="0" /><'+"/"+"a"+">")},createWebStartLaunchButton:function(q,p){if(this.returnPage==null){this.returnPage=q}var o="javascript:"+"if (!deployJava.isWebStartInstalled(&quot;"+p+"&quot;)) {"+"if (deployJava.installLatestJRE()) {"+"if (deployJava.launch(&quot;"+q+"&quot;)) {}"+"}"+"} else {"+"if (deployJava.launch(&quot;"+q+"&quot;)) {}"+"}";document.write("<"+'a href="'+o+"\" onMouseOver=\"window.status=''; "+'return true;"><'+"img "+'src="'+this.launchButtonPNG+'" '+'border="0" /><'+"/"+"a"+">")},launch:function(o){document.location=o;return true},isPluginInstalled:function(){var o=this.getPlugin();if(o&&o.jvms){return true}else{return false}},isAutoUpdateEnabled:function(){if(this.isPluginInstalled()){return this.getPlugin().isAutoUpdateEnabled()}return false},setAutoUpdateEnabled:function(){if(this.isPluginInstalled()){return this.getPlugin().setAutoUpdateEnabled()}return false},setInstallerType:function(o){this.installType=o;if(this.isPluginInstalled()){return this.getPlugin().setInstallerType(o)}return false},setAdditionalPackages:function(o){if(this.isPluginInstalled()){return this.getPlugin().setAdditionalPackages(o)}return false},setEarlyAccess:function(o){this.EAInstallEnabled=o},isPlugin2:function(){if(this.isPluginInstalled()){if(this.versionCheck("1.6.0_10+")){try{return this.getPlugin().isPlugin2()}catch(o){}}}return false},allowPlugin:function(){this.getBrowser();var o=("Safari"!=this.browserName2&&"Opera"!=this.browserName2);return o},getPlugin:function(){this.refresh();var o=null;if(this.allowPlugin()){o=document.getElementById("deployJavaPlugin")}return o},compareVersionToPattern:function(v,p,r,t){if(v==undefined||p==undefined){return false}var w="^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?$";var x=v.match(w);if(x!=null){var u=0;var y=new Array();for(var q=1;q<x.length;++q){if((typeof x[q]=="string")&&(x[q]!="")){y[u]=x[q];u++}}var o=Math.min(y.length,p.length);if(t){for(var q=0;q<o;++q){if(y[q]<p[q]){return false}else{if(y[q]>p[q]){return true}}}return true}else{for(var q=0;q<o;++q){if(y[q]!=p[q]){return false}}if(r){return true}else{return(y.length==p.length)}}}else{return false}},getBrowser:function(){if(this.browserName==null){var o=navigator.userAgent.toLowerCase();g("[getBrowser()] navigator.userAgent.toLowerCase() -> "+o);if((o.indexOf("msie")!=-1)&&(o.indexOf("opera")==-1)){this.browserName="MSIE";this.browserName2="MSIE"}else{if(o.indexOf("trident")!=-1||o.indexOf("Trident")!=-1){this.browserName="MSIE";this.browserName2="MSIE"}else{if(o.indexOf("iphone")!=-1){this.browserName="Netscape Family";this.browserName2="iPhone"}else{if((o.indexOf("firefox")!=-1)&&(o.indexOf("opera")==-1)){this.browserName="Netscape Family";this.browserName2="Firefox"}else{if(o.indexOf("chrome")!=-1){this.browserName="Netscape Family";this.browserName2="Chrome"}else{if(o.indexOf("safari")!=-1){this.browserName="Netscape Family";this.browserName2="Safari"}else{if((o.indexOf("mozilla")!=-1)&&(o.indexOf("opera")==-1)){this.browserName="Netscape Family";this.browserName2="Other"}else{if(o.indexOf("opera")!=-1){this.browserName="Netscape Family";this.browserName2="Opera"}else{this.browserName="?";this.browserName2="unknown"}}}}}}}}g("[getBrowser()] Detected browser name:"+this.browserName+", "+this.browserName2)}return this.browserName},testUsingActiveX:function(o){var q="JavaWebStart.isInstalled."+o+".0";if(typeof ActiveXObject=="undefined"||!ActiveXObject){g("[testUsingActiveX()] Browser claims to be IE, but no ActiveXObject object?");return false}try{return(new ActiveXObject(q)!=null)}catch(p){return false}},testForMSVM:function(){var p="{08B0E5C0-4FCB-11CF-AAA5-00401C608500}";if(typeof oClientCaps!="undefined"){var o=oClientCaps.getComponentVersion(p,"ComponentID");if((o=="")||(o=="5,0,5000,0")){return false}else{return true}}else{return false}},testUsingMimeTypes:function(p){if(!navigator.mimeTypes){g("[testUsingMimeTypes()] Browser claims to be Netscape family, but no mimeTypes[] array?");return false}for(var q=0;q<navigator.mimeTypes.length;++q){s=navigator.mimeTypes[q].type;var o=s.match(/^application\/x-java-applet\x3Bversion=(1\.8|1\.7|1\.6|1\.5|1\.4\.2)$/);if(o!=null){if(this.compareVersions(o[1],p)){return true}}}return false},testUsingPluginsArray:function(p){if((!navigator.plugins)||(!navigator.plugins.length)){return false}var o=navigator.platform.toLowerCase();for(var q=0;q<navigator.plugins.length;++q){s=navigator.plugins[q].description;if(s.search(/^Java Switchable Plug-in (Cocoa)/)!=-1){if(this.compareVersions("1.5.0",p)){return true}}else{if(s.search(/^Java/)!=-1){if(o.indexOf("win")!=-1){if(this.compareVersions("1.5.0",p)||this.compareVersions("1.6.0",p)){return true}}}}}if(this.compareVersions("1.5.0",p)){return true}return false},IEInstall:function(){location.href=n(((this.returnPage!=null)?("&returnPage="+this.returnPage):"")+((this.locale!=null)?("&locale="+this.locale):"")+((this.brand!=null)?("&brand="+this.brand):""));return false},done:function(p,o){},FFInstall:function(){location.href=n(((this.returnPage!=null)?("&returnPage="+this.returnPage):"")+((this.locale!=null)?("&locale="+this.locale):"")+((this.brand!=null)?("&brand="+this.brand):"")+((this.installType!=null)?("&type="+this.installType):""));return false},compareVersions:function(r,t){var p=r.split(".");var o=t.split(".");for(var q=0;q<p.length;++q){p[q]=Number(p[q])}for(var q=0;q<o.length;++q){o[q]=Number(o[q])}if(p.length==2){p[2]=0}if(p[0]>o[0]){return true}if(p[0]<o[0]){return false}if(p[1]>o[1]){return true}if(p[1]<o[1]){return false}if(p[2]>o[2]){return true}if(p[2]<o[2]){return false}return true},enableAlerts:function(){this.browserName=null;this.debug=true},poll:function(){this.refresh();var o=this.getJREs();if((this.preInstallJREList.length==0)&&(o.length!=0)){clearInterval(this.myInterval);if(this.returnPage!=null){location.href=this.returnPage}}if((this.preInstallJREList.length!=0)&&(o.length!=0)&&(this.preInstallJREList[0]!=o[0])){clearInterval(this.myInterval);if(this.returnPage!=null){location.href=this.returnPage}}},writePluginTag:function(){var o=this.getBrowser();if(o=="MSIE"){document.write("<"+'object classid="clsid:CAFEEFAC-DEC7-0000-0001-ABCDEFFEDCBA" '+'id="deployJavaPlugin" width="0" height="0">'+"<"+"/"+"object"+">")}else{if(o=="Netscape Family"&&this.allowPlugin()){this.writeEmbedTag()}}},refresh:function(){navigator.plugins.refresh(false);var o=this.getBrowser();if(o=="Netscape Family"&&this.allowPlugin()){var p=document.getElementById("deployJavaPlugin");if(p==null){this.writeEmbedTag()}}},writeEmbedTag:function(){var o=false;if(navigator.mimeTypes!=null){for(var p=0;p<navigator.mimeTypes.length;p++){if(navigator.mimeTypes[p].type==this.mimeType){if(navigator.mimeTypes[p].enabledPlugin){document.write("<"+'embed id="deployJavaPlugin" type="'+this.mimeType+'" hidden="true" />');o=true}}}if(!o){for(var p=0;p<navigator.mimeTypes.length;p++){if(navigator.mimeTypes[p].type==this.oldMimeType){if(navigator.mimeTypes[p].enabledPlugin){document.write("<"+'embed id="deployJavaPlugin" type="'+this.oldMimeType+'" hidden="true" />')}}}}}}};d.writePluginTag();if(d.locale==null){var h=null;if(h==null){try{h=navigator.userLanguage}catch(f){}}if(h==null){try{h=navigator.systemLanguage}catch(f){}}if(h==null){try{h=navigator.language}catch(f){}}if(h!=null){h.replace("-","_");d.locale=h}}return d}();
\ No newline at end of file
diff --git a/bbb-client-check/src/AppStyle.css b/bbb-client-check/src/AppStyle.css
index ededdcac77c2e9d75b8a989b871931c1eeacabc5..484fb02e6d3a252144a343c6a89b5b2284409799 100755
--- a/bbb-client-check/src/AppStyle.css
+++ b/bbb-client-check/src/AppStyle.css
@@ -11,6 +11,7 @@ s|Application {
 	fontSize: 15;
 	fontFamily: Arial;
 	color: #e1e2e5;
+	textAlign: center;
 }
 
 .borderContainerStyle {
diff --git a/bbb-client-check/src/BBBClientCheck.mxml b/bbb-client-check/src/BBBClientCheck.mxml
index 2c254bfdc1f061e19553a1435d1bb514f68802d8..307088a4bd9474850a996cdf40c9127fb6fe9e13 100755
--- a/bbb-client-check/src/BBBClientCheck.mxml
+++ b/bbb-client-check/src/BBBClientCheck.mxml
@@ -46,14 +46,13 @@
 	</fx:Script>
 
 	<s:controlBarContent>
-		<mx:Spacer width="50%"/>
 		<mx:Label id="controlBarLabel"
-				  text="{resourceManager.getString('resources', 'bbbsystemcheck.title')}"
-				  styleName="controlBarLabelStyle"/>
-		<mx:Spacer width="50%"/>
+				width="100%"
+				text="{resourceManager.getString('resources', 'bbbsystemcheck.title')}"
+				styleName="controlBarLabelStyle"/>
 	</s:controlBarContent>
 
-	<mainview:MainView width="60%"
+	<mainview:MainView width="80%"
 						height="97%"
 						styleName="borderContainerStyle"/>
 </s:Application>
diff --git a/bbb-client-check/src/org/bigbluebutton/clientcheck/service/ExternalApiCallbacks.as b/bbb-client-check/src/org/bigbluebutton/clientcheck/service/ExternalApiCallbacks.as
index 36995a90f23bd9cde2277cbbf372c4d2fcc4b121..aea1da53d12b9d6203d51ded05e78fce6117132a 100644
--- a/bbb-client-check/src/org/bigbluebutton/clientcheck/service/ExternalApiCallbacks.as
+++ b/bbb-client-check/src/org/bigbluebutton/clientcheck/service/ExternalApiCallbacks.as
@@ -1,22 +1,22 @@
-/**
- * BigBlueButton open source conferencing system - http://www.bigbluebutton.org/
- * 
- * Copyright (c) 2014 BigBlueButton Inc. and by respective authors (see below).
- *
- * This program is free software; you can redistribute it and/or modify it under the
- * terms of the GNU Lesser General Public License as published by the Free Software
- * Foundation; either version 3.0 of the License, or (at your option) any later
- * version.
- * 
- * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License along
- * with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
- *
- */
-
+/**
+ * BigBlueButton open source conferencing system - http://www.bigbluebutton.org/
+ * 
+ * Copyright (c) 2014 BigBlueButton Inc. and by respective authors (see below).
+ *
+ * This program is free software; you can redistribute it and/or modify it under the
+ * terms of the GNU Lesser General Public License as published by the Free Software
+ * Foundation; either version 3.0 of the License, or (at your option) any later
+ * version.
+ * 
+ * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License along
+ * with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
 package org.bigbluebutton.clientcheck.service
 {
 	import flash.external.ExternalInterface;
@@ -24,13 +24,13 @@ package org.bigbluebutton.clientcheck.service
 	import org.bigbluebutton.clientcheck.model.ISystemConfiguration;
 	import org.bigbluebutton.clientcheck.model.test.ITestable;
 
+	import mx.resources.ResourceManager;
+
 	public class ExternalApiCallbacks implements IExternalApiCallbacks
 	{
 		[Inject]
 		public var systemConfiguration:ISystemConfiguration;
 
-		private static var UNDEFINED:String="Undefined";
-
 		public function ExternalApiCallbacks()
 		{
 			if (ExternalInterface.available)
@@ -52,13 +52,13 @@ package org.bigbluebutton.clientcheck.service
 		{
 			if ((result == null) || (result == ""))
 			{
-				item.testResult=UNDEFINED;
+				item.testResult = ResourceManager.getInstance().getString('resources', 'bbbsystemcheck.result.undefined');
 				item.testSuccessfull=false;
 			}
 			else
 			{
 				item.testResult=result;
-				item.testSuccessfull=true
+				item.testSuccessfull=true;
 			}
 		}
 
@@ -84,9 +84,19 @@ package org.bigbluebutton.clientcheck.service
 			checkResult(value, systemConfiguration.language);
 		}
 
-		public function javaEnabledCallbackHandler(value:String):void
+		public function javaEnabledCallbackHandler(value:Object):void
 		{
-			checkResult(value, systemConfiguration.javaEnabled);
+			var testResult:String;
+			if (!value.enabled) {
+				testResult = ResourceManager.getInstance().getString('resources', 'bbbsystemcheck.result.javaEnabled.disabled');
+			} else if (value.version.length == 0) {
+				testResult = ResourceManager.getInstance().getString('resources', 'bbbsystemcheck.result.javaEnabled.notDetected');
+			} else {
+				testResult = value.version.join(', ');
+			}
+
+			systemConfiguration.javaEnabled.testResult = testResult;
+			systemConfiguration.javaEnabled.testSuccessfull = value.appropriate;
 		}
 
 		public function isWebRTCSupportedCallbackHandler(value:String):void
diff --git a/bbb-client-check/src/org/bigbluebutton/clientcheck/service/ExternalApiCalls.as b/bbb-client-check/src/org/bigbluebutton/clientcheck/service/ExternalApiCalls.as
index 8bdf82dffc82286d313aa5602fd89a99e1fff938..c6ad8bbf3537e9530cfebb9fa9a6a59bac35823c 100644
--- a/bbb-client-check/src/org/bigbluebutton/clientcheck/service/ExternalApiCalls.as
+++ b/bbb-client-check/src/org/bigbluebutton/clientcheck/service/ExternalApiCalls.as
@@ -1,22 +1,22 @@
-/**
- * BigBlueButton open source conferencing system - http://www.bigbluebutton.org/
- * 
- * Copyright (c) 2014 BigBlueButton Inc. and by respective authors (see below).
- *
- * This program is free software; you can redistribute it and/or modify it under the
- * terms of the GNU Lesser General Public License as published by the Free Software
- * Foundation; either version 3.0 of the License, or (at your option) any later
- * version.
- * 
- * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License along
- * with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
- *
- */
-
+/**
+ * BigBlueButton open source conferencing system - http://www.bigbluebutton.org/
+ * 
+ * Copyright (c) 2014 BigBlueButton Inc. and by respective authors (see below).
+ *
+ * This program is free software; you can redistribute it and/or modify it under the
+ * terms of the GNU Lesser General Public License as published by the Free Software
+ * Foundation; either version 3.0 of the License, or (at your option) any later
+ * version.
+ * 
+ * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License along
+ * with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
 package org.bigbluebutton.clientcheck.service
 {
 	import flash.external.ExternalInterface;
diff --git a/bbb-client-check/src/org/bigbluebutton/clientcheck/service/IExternalApiCallbacks.as b/bbb-client-check/src/org/bigbluebutton/clientcheck/service/IExternalApiCallbacks.as
index fc8b7dd48295ddbb371d41fe6495116858b5e813..ab3642e2048a43f39cc4761a700a1fae617cf142 100644
--- a/bbb-client-check/src/org/bigbluebutton/clientcheck/service/IExternalApiCallbacks.as
+++ b/bbb-client-check/src/org/bigbluebutton/clientcheck/service/IExternalApiCallbacks.as
@@ -17,19 +17,19 @@
  *
  */
 
-package org.bigbluebutton.clientcheck.service
-{
-
-	public interface IExternalApiCallbacks
-	{
-		function userAgentCallbackHandler(value:String):void;
-		function cookieEnabledCallbackHandler(value:String):void;
-		function isPepperFlashCallbackHandler(value:String):void;
-		function languageCallbackHandler(value:String):void;
-		function javaEnabledCallbackHandler(value:String):void;
-		function screenSizeCallbackHandler(value:String):void;
-		function isWebRTCSupportedCallbackHandler(value:String):void;
-		function webRTCEchoTestCallbackHandler(success:Boolean, result:String):void;
-		function webRTCSocketTestCallbackHandler(success:Boolean, result:String):void;
-	}
-}
+package org.bigbluebutton.clientcheck.service
+{
+
+	public interface IExternalApiCallbacks
+	{
+		function userAgentCallbackHandler(value:String):void;
+		function cookieEnabledCallbackHandler(value:String):void;
+		function isPepperFlashCallbackHandler(value:String):void;
+		function languageCallbackHandler(value:String):void;
+		function javaEnabledCallbackHandler(value:Object):void;
+		function screenSizeCallbackHandler(value:String):void;
+		function isWebRTCSupportedCallbackHandler(value:String):void;
+		function webRTCEchoTestCallbackHandler(success:Boolean, result:String):void;
+		function webRTCSocketTestCallbackHandler(success:Boolean, result:String):void;
+	}
+}
diff --git a/bbb-client-check/src/org/bigbluebutton/clientcheck/view/mainview/CustomItemRenderer.mxml b/bbb-client-check/src/org/bigbluebutton/clientcheck/view/mainview/CustomItemRenderer.mxml
index 9facf43a364d0e9e3cea5b54f1da2629c05ea3f4..bb06b5f0c9a323f4b36fc444544dbe79fe06d792 100755
--- a/bbb-client-check/src/org/bigbluebutton/clientcheck/view/mainview/CustomItemRenderer.mxml
+++ b/bbb-client-check/src/org/bigbluebutton/clientcheck/view/mainview/CustomItemRenderer.mxml
@@ -8,20 +8,39 @@
 		<![CDATA[
 			override public function prepare(hasBeenRecycled:Boolean):void
 			{
-				lblData.text=data[column.dataField];
+				lblData.text = data[column.dataField];
 			}
 
 			override public function set data(value:Object):void
 			{
 				super.data=value;
-				if (value.Status == 'Fail')
-				{
-					this.setStyle('color', "0xFF0000");
+
+				switch (value.Status) {
+					case StatusENUM.SUCCEED:
+						colorRect.visible = false;
+						break;
+					case StatusENUM.WARNING:
+						colorRect.visible = true;
+						solid.color = 0xFFFF00;
+						break;
+					case StatusENUM.FAILED:
+						colorRect.visible = true;
+						solid.color = 0xFF0000;
+						break;
+					default:
+						colorRect.visible = false;
+						break;
 				}
 			}
 		]]>
 	</fx:Script>
 
+	<s:Rect id="colorRect" top="0" bottom="0" right="0" left="0">
+		<s:fill>
+			<s:SolidColor id="solid" alpha="0.4"/>
+		</s:fill>
+	</s:Rect>
+
 	<s:Label id="lblData"
 			 top="9"
 			 left="7"/>
diff --git a/bbb-client-check/src/org/bigbluebutton/clientcheck/view/mainview/MainViewBase.mxml b/bbb-client-check/src/org/bigbluebutton/clientcheck/view/mainview/MainViewBase.mxml
index 0bddeaf8098a6adf8e50bdc6111285c17b141c3b..3cc0515806928eeaa522fd915175c042c9f24fd2 100755
--- a/bbb-client-check/src/org/bigbluebutton/clientcheck/view/mainview/MainViewBase.mxml
+++ b/bbb-client-check/src/org/bigbluebutton/clientcheck/view/mainview/MainViewBase.mxml
@@ -8,6 +8,11 @@
 				   borderStyle="inset"
 				   borderWeight="4">
 
+	<fx:Script>
+		<![CDATA[
+			import spark.components.gridClasses.GridSelectionMode;
+		]]>
+	</fx:Script>
 	<s:layout>
 		<s:VerticalLayout paddingLeft="10"
 						  paddingRight="10"
@@ -18,12 +23,15 @@
 	<s:DataGrid width="100%"
 				height="100%"
 				id="_dataGrid"
+				selectionMode="{GridSelectionMode.NONE}"
 				itemRenderer="org.bigbluebutton.clientcheck.view.mainview.CustomItemRenderer">
-		<s:typicalItem>
-			<s:DataItem Item="*****************"
-						Result="*************************************************************"
-						Status="*********************"/>
-		</s:typicalItem>
+		<s:columns>
+			<s:ArrayList>
+				<s:GridColumn dataField="Item" headerText="{resourceManager.getString('resources', 'bbbsystemcheck.dataGridColumn.item')}"/>
+				<s:GridColumn dataField="Result" headerText="{resourceManager.getString('resources', 'bbbsystemcheck.dataGridColumn.result')}"/>
+				<s:GridColumn dataField="Status" headerText="{resourceManager.getString('resources', 'bbbsystemcheck.dataGridColumn.status')}"/>
+			</s:ArrayList>
+		</s:columns>
 		<s:ArrayCollection>
 			<fx:Object>
 				<fx:Item/>
diff --git a/bbb-client-check/src/org/bigbluebutton/clientcheck/view/mainview/MainViewMediator.as b/bbb-client-check/src/org/bigbluebutton/clientcheck/view/mainview/MainViewMediator.as
index f17cbd26fd46eabe8a906215b475af34d48a1e27..e4db753810566b4dcac9f75c5645dc682bbbf83a 100644
--- a/bbb-client-check/src/org/bigbluebutton/clientcheck/view/mainview/MainViewMediator.as
+++ b/bbb-client-check/src/org/bigbluebutton/clientcheck/view/mainview/MainViewMediator.as
@@ -1,22 +1,22 @@
-/**
- * BigBlueButton open source conferencing system - http://www.bigbluebutton.org/
- * 
- * Copyright (c) 2014 BigBlueButton Inc. and by respective authors (see below).
- *
- * This program is free software; you can redistribute it and/or modify it under the
- * terms of the GNU Lesser General Public License as published by the Free Software
- * Foundation; either version 3.0 of the License, or (at your option) any later
- * version.
- * 
- * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License along
- * with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
- *
- */
-
+/**
+ * BigBlueButton open source conferencing system - http://www.bigbluebutton.org/
+ * 
+ * Copyright (c) 2014 BigBlueButton Inc. and by respective authors (see below).
+ *
+ * This program is free software; you can redistribute it and/or modify it under the
+ * terms of the GNU Lesser General Public License as published by the Free Software
+ * Foundation; either version 3.0 of the License, or (at your option) any later
+ * version.
+ * 
+ * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License along
+ * with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
 package org.bigbluebutton.clientcheck.view.mainview
 {
 	import flash.events.Event;
@@ -82,9 +82,6 @@ package org.bigbluebutton.clientcheck.view.mainview
 
 		private var dataProvider:ArrayCollection=new ArrayCollection;
 
-		private static var FAILED:String="Fail";
-		private static var SUCCEED:String="Succeed";
-
 		override public function initialize():void
 		{
 			super.initialize();
@@ -183,7 +180,7 @@ package org.bigbluebutton.clientcheck.view.mainview
 
 			if (appObj)
 			{
-				var obj:Object={Item: appObj.applicationName, Result: appObj.testResult, Status: ((appObj.testSuccessfull == true) ? SUCCEED : FAILED)};
+				var obj:Object={Item: appObj.applicationName, Result: appObj.testResult, Status: ((appObj.testSuccessfull == true) ? StatusENUM.SUCCEED : StatusENUM.FAILED)};
 				updateItemInDataProvider(obj);
 			}
 			else
@@ -208,7 +205,7 @@ package org.bigbluebutton.clientcheck.view.mainview
 
 			if (portObj)
 			{
-				var obj:Object={Item: portObj.portName, Result: portObj.testResult, Status: ((portObj.testSuccessfull == true) ? SUCCEED : FAILED)};
+				var obj:Object={Item: portObj.portName, Result: portObj.testResult, Status: ((portObj.testSuccessfull == true) ? StatusENUM.SUCCEED : StatusENUM.FAILED)};
 				updateItemInDataProvider(obj);
 			}
 			else
@@ -219,86 +216,85 @@ package org.bigbluebutton.clientcheck.view.mainview
 
 		private function pingSpeedTestChangedHandler():void
 		{
-			var obj:Object={Item: PingTest.PING, Result: systemConfiguration.pingTest.testResult, Status: ((systemConfiguration.pingTest.testSuccessfull == true) ? SUCCEED : FAILED)};
+			var obj:Object={Item: PingTest.PING, Result: systemConfiguration.pingTest.testResult, Status: ((systemConfiguration.pingTest.testSuccessfull == true) ? StatusENUM.SUCCEED : StatusENUM.FAILED)};
 			updateItemInDataProvider(obj);
 		}
 
 		private function downloadSpeedTestChangedHandler():void
 		{
-			var obj:Object={Item: DownloadBandwidthTest.DOWNLOAD_SPEED, Result: systemConfiguration.downloadBandwidthTest.testResult, Status: ((systemConfiguration.downloadBandwidthTest.testSuccessfull == true) ? SUCCEED : FAILED)};
+			var obj:Object={Item: DownloadBandwidthTest.DOWNLOAD_SPEED, Result: systemConfiguration.downloadBandwidthTest.testResult, Status: ((systemConfiguration.downloadBandwidthTest.testSuccessfull == true) ? StatusENUM.SUCCEED : StatusENUM.FAILED)};
 			updateItemInDataProvider(obj);
 		}
 
 		private function uploadSpeedTestChangedHandler():void
 		{
-			var obj:Object={Item: UploadBandwidthTest.UPLOAD_SPEED, Result: systemConfiguration.uploadBandwidthTest.testResult, Status: ((systemConfiguration.uploadBandwidthTest.testSuccessfull == true) ? SUCCEED : FAILED)};
+			var obj:Object={Item: UploadBandwidthTest.UPLOAD_SPEED, Result: systemConfiguration.uploadBandwidthTest.testResult, Status: ((systemConfiguration.uploadBandwidthTest.testSuccessfull == true) ? StatusENUM.SUCCEED : StatusENUM.FAILED)};
 			updateItemInDataProvider(obj);
 		}
 
 		private function webRTCSocketTestChangedHandler():void
 		{
-			var obj:Object={Item: WebRTCSocketTest.WEBRTC_SOCKET_TEST, Result: systemConfiguration.webRTCSocketTest.testResult, Status: ((systemConfiguration.webRTCSocketTest.testSuccessfull == true) ? SUCCEED : FAILED)};
+			var obj:Object={Item: WebRTCSocketTest.WEBRTC_SOCKET_TEST, Result: systemConfiguration.webRTCSocketTest.testResult, Status: ((systemConfiguration.webRTCSocketTest.testSuccessfull == true) ? StatusENUM.SUCCEED : StatusENUM.WARNING)};
 			updateItemInDataProvider(obj);
 		}
 
 		private function webRTCEchoTestChangedHandler():void
 		{
-			var obj:Object={Item: WebRTCEchoTest.WEBRTC_ECHO_TEST, Result: systemConfiguration.webRTCEchoTest.testResult, Status: ((systemConfiguration.webRTCEchoTest.testSuccessfull == true) ? SUCCEED : FAILED)};
+			var obj:Object={Item: WebRTCEchoTest.WEBRTC_ECHO_TEST, Result: systemConfiguration.webRTCEchoTest.testResult, Status: ((systemConfiguration.webRTCEchoTest.testSuccessfull == true) ? StatusENUM.SUCCEED : StatusENUM.WARNING)};
 			updateItemInDataProvider(obj);
 		}
 
 		private function isPepperFlashChangedHandler():void
 		{
-			var obj:Object={Item: IsPepperFlashTest.PEPPER_FLASH, Result: systemConfiguration.isPepperFlash.testResult, Status: ((systemConfiguration.isPepperFlash.testSuccessfull == true) ? SUCCEED : FAILED)};
+			var obj:Object={Item: IsPepperFlashTest.PEPPER_FLASH, Result: systemConfiguration.isPepperFlash.testResult, Status: ((systemConfiguration.isPepperFlash.testSuccessfull == true) ? StatusENUM.SUCCEED : StatusENUM.FAILED)};
 			updateItemInDataProvider(obj);
 		}
 
 		private function languageChangedHandler():void
 		{
-			var obj:Object={Item: LanguageTest.LANGUAGE, Result: systemConfiguration.language.testResult, Status: ((systemConfiguration.language.testSuccessfull == true) ? SUCCEED : FAILED)};
+			var obj:Object={Item: LanguageTest.LANGUAGE, Result: systemConfiguration.language.testResult, Status: ((systemConfiguration.language.testSuccessfull == true) ? StatusENUM.SUCCEED : StatusENUM.FAILED)};
 			updateItemInDataProvider(obj);
 		}
 
 		private function javaEnabledChangedHandler():void
 		{
-			var obj:Object={Item: JavaEnabledTest.JAVA_ENABLED, Result: systemConfiguration.javaEnabled.testResult, Status: ((systemConfiguration.javaEnabled.testSuccessfull == true) ? SUCCEED : FAILED)};
+			var obj:Object={Item: JavaEnabledTest.JAVA_ENABLED, Result: systemConfiguration.javaEnabled.testResult, Status: ((systemConfiguration.javaEnabled.testSuccessfull == true) ? StatusENUM.SUCCEED : StatusENUM.WARNING)};
 			updateItemInDataProvider(obj);
 		}
 
 		private function isWebRTCSupportedChangedHandler():void
 		{
-			var obj:Object={Item: WebRTCSupportedTest.WEBRTC_SUPPORTED, Result: systemConfiguration.isWebRTCSupported.testResult, Status: ((systemConfiguration.isWebRTCSupported.testSuccessfull == true) ? SUCCEED : FAILED)};
+			var obj:Object={Item: WebRTCSupportedTest.WEBRTC_SUPPORTED, Result: systemConfiguration.isWebRTCSupported.testResult, Status: ((systemConfiguration.isWebRTCSupported.testSuccessfull == true) ? StatusENUM.SUCCEED : StatusENUM.WARNING)};
 			updateItemInDataProvider(obj);
 		}
 
 		private function cookieEnabledChangedHandler():void
 		{
-			var obj:Object={Item: CookieEnabledTest.COOKIE_ENABLED, Result: systemConfiguration.cookieEnabled.testResult, Status: ((systemConfiguration.cookieEnabled.testSuccessfull == true) ? SUCCEED : FAILED)};
+			var obj:Object={Item: CookieEnabledTest.COOKIE_ENABLED, Result: systemConfiguration.cookieEnabled.testResult, Status: ((systemConfiguration.cookieEnabled.testSuccessfull == true) ? StatusENUM.SUCCEED : StatusENUM.FAILED)};
 			updateItemInDataProvider(obj);
 		}
 
 		private function screenSizeChangedHandler():void
 		{
-			var obj:Object={Item: ScreenSizeTest.SCREEN_SIZE, Result: systemConfiguration.screenSize.testResult, Status: ((systemConfiguration.screenSize.testSuccessfull == true) ? SUCCEED : FAILED)};
+			var obj:Object={Item: ScreenSizeTest.SCREEN_SIZE, Result: systemConfiguration.screenSize.testResult, Status: ((systemConfiguration.screenSize.testSuccessfull == true) ? StatusENUM.SUCCEED : StatusENUM.FAILED)};
 			updateItemInDataProvider(obj);
 		}
 
-
 		private function browserChangedHandler():void
 		{
-			var obj:Object={Item: BrowserTest.BROWSER, Result: systemConfiguration.browser.testResult, Status: ((systemConfiguration.browser.testSuccessfull == true) ? SUCCEED : FAILED)};
+			var obj:Object={Item: BrowserTest.BROWSER, Result: systemConfiguration.browser.testResult, Status: ((systemConfiguration.browser.testSuccessfull == true) ? StatusENUM.SUCCEED : StatusENUM.FAILED)};
 			updateItemInDataProvider(obj);
 		}
 
 		private function userAgentChangedHandler():void
 		{
-			var obj:Object={Item: UserAgentTest.USER_AGENT, Result: systemConfiguration.userAgent.testResult, Status: ((systemConfiguration.userAgent.testSuccessfull == true) ? SUCCEED : FAILED)};
+			var obj:Object={Item: UserAgentTest.USER_AGENT, Result: systemConfiguration.userAgent.testResult, Status: ((systemConfiguration.userAgent.testSuccessfull == true) ? StatusENUM.SUCCEED : StatusENUM.FAILED)};
 			updateItemInDataProvider(obj);
 		}
 
 		private function flashVersionChangedHandler():void
 		{
-			var obj:Object={Item: FlashVersionTest.FLASH_VERSION, Result: systemConfiguration.flashVersion.testResult, Status: ((systemConfiguration.flashVersion.testSuccessfull == true) ? SUCCEED : FAILED)};
+			var obj:Object={Item: FlashVersionTest.FLASH_VERSION, Result: systemConfiguration.flashVersion.testResult, Status: ((systemConfiguration.flashVersion.testSuccessfull == true) ? StatusENUM.SUCCEED : StatusENUM.FAILED)};
 			updateItemInDataProvider(obj);
 		}
 
diff --git a/bbb-client-check/src/org/bigbluebutton/clientcheck/view/mainview/StatusENUM.as b/bbb-client-check/src/org/bigbluebutton/clientcheck/view/mainview/StatusENUM.as
new file mode 100644
index 0000000000000000000000000000000000000000..3d66fcc7132a6b3c90d9958967da937dc6d21cb8
--- /dev/null
+++ b/bbb-client-check/src/org/bigbluebutton/clientcheck/view/mainview/StatusENUM.as
@@ -0,0 +1,29 @@
+/**
+ * BigBlueButton open source conferencing system - http://www.bigbluebutton.org/
+ * 
+ * Copyright (c) 2014 BigBlueButton Inc. and by respective authors (see below).
+ *
+ * This program is free software; you can redistribute it and/or modify it under the
+ * terms of the GNU Lesser General Public License as published by the Free Software
+ * Foundation; either version 3.0 of the License, or (at your option) any later
+ * version.
+ * 
+ * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License along
+ * with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+package org.bigbluebutton.clientcheck.view.mainview
+{
+	import mx.resources.ResourceManager;
+
+	public class StatusENUM {
+		public static const FAILED:String = ResourceManager.getInstance().getString('resources', 'bbbsystemcheck.status.failed');
+		public static const WARNING:String = ResourceManager.getInstance().getString('resources', 'bbbsystemcheck.status.warning');
+		public static const SUCCEED:String = ResourceManager.getInstance().getString('resources', 'bbbsystemcheck.status.succeeded');
+	}
+}