diff --git a/lib/Detector.js b/lib/Detector.js
new file mode 100644
index 0000000000000000000000000000000000000000..9f59fcc895067a1ca2b4cb0c65ef5e6c9f8be4ee
--- /dev/null
+++ b/lib/Detector.js
@@ -0,0 +1,40 @@
+// TODO: This should be replaced with the checking code from http://get.webgl.org
+// they have better supprot messages for different browsers
+var Detector={
+	canvas:!!window.CanvasRenderingContext2D,
+	webgl:(function(){
+		try{
+			return!!window.WebGLRenderingContext&&!!document.createElement('canvas').getContext('experimental-webgl');
+		}
+		catch(e){
+			return false;
+		}
+	})(),
+	workers:!!window.Worker,
+	fileapi:window.File&&window.FileReader&&window.FileList&&window.Blob,
+	getWebGLErrorMessage:function(){
+		var element=document.createElement('div');
+		element.id='webgl-error-message';
+		element.style.fontFamily='monospace';element.style.fontSize='13px';
+		element.style.fontWeight='normal';
+		element.style.textAlign='center';
+		element.style.background='#fff';
+		element.style.color='#000';
+		element.style.padding='1.5em';
+		element.style.width='400px';
+		element.style.margin='5em auto 0';
+		if(!this.webgl){
+			element.innerHTML=window.WebGLRenderingContext?['Your graphics card does not seem to support <a href="http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation" style="color:#000">WebGL</a>.<br />','Find out how to get it <a href="http://get.webgl.org/" style="color:#000">here</a>.'].join('\n'):['Your browser does not seem to support <a href="http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation" style="color:#000">WebGL</a>.<br/>','Find out how to get it <a href="http://get.webgl.org/" style="color:#000">here</a>.'].join('\n');
+		}
+	return element;
+	},
+	addGetWebGLMessage:function(parameters){
+		var parent,id,element;
+		parameters=parameters||{};
+		parent=parameters.parent!==undefined?parameters.parent:document.body;
+		id=parameters.id!==undefined?parameters.id:'unsupported';
+		element=Detector.getWebGLErrorMessage();
+		element.id=id;
+		document.body.insertBefore(element, document.body.childNodes[0]);
+	}
+};
\ No newline at end of file