detect = {
	
	getPlayerVersion: function(){
		
		var v = [0,0,0];
		var axo;
		if(navigator.plugins && navigator.mimeTypes.length){
			var x = navigator.plugins["Shockwave Flash"];
			if(x && x.description) {
				v = x.description.replace(/([a-zA-Z]|\s)+/, "").replace(/(\s+r|\s+b[0-9]+)/, ".").split(".");
			}
		}else if (navigator.userAgent && navigator.userAgent.indexOf("Windows CE") >= 0){ // if Windows CE
			axo = 1;
			var counter = 3;
			while(axo) {
				try {
					counter++;
					axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+ counter);
					//document.write("player v: "+ counter);
					v = [counter,0,0];
				} catch (e) {
					axo = null;
				}
			}
		} else { // Win IE (non mobile)
			// do minor version lookup in IE, but avoid fp6 crashing issues
			// see http://blog.deconcept.com/2006/01/11/getvariable-setvariable-crash-internet-explorer-flash-6/
			
			try{
				axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
			}catch(e){
				try {
					axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
					v = [6,0,21];
					axo.AllowScriptAccess = "always"; // error if player version < 6.0.47 (thanks to Michael Williams @ Adobe for this code)
				} catch(e) {
					if (v[0] == 6) {
						return v;
					}
				}
				try {
					axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
				} catch(e) {}
			}
			if (axo != null) {
				v = axo.GetVariable("$version").split(" ")[1].split(",");
			}
		}
		return v;
		
	},
	
	isPlayerVersionValid: function(required){
		var current = detect.getPlayerVersion();
		if(current[0] < required[0]) return false;
		if(current[0] > required[0]) return true;
		if(current[1] < required[1]) return false;
		if(current[1] > required[1]) return true;
		if(current[2] < required[2]) return false;
		return true;
	}
	
}
