//------------------------------------------------
//	Get Object for usage
//------------------------------------------------
function checkVersion()
{
	var FlashDetect = new function(){
		var self = this;
		self.installed = false;
		self.major = -1;
		self.minor = -1;
		self.revision = -1;
		self.revisionStr = "";
		self.activeXVersion = "";
		var activeXDetectRules = [
			{
				"name":"ShockwaveFlash.ShockwaveFlash.7",
				"version":function(obj){
					return getActiveXVersion(obj);
				}
			},
			{
				"name":"ShockwaveFlash.ShockwaveFlash.6",
				"version":function(obj){
					var version = "6,0,21";
					try{
						obj.AllowScriptAccess = "always";
						version = getActiveXVersion(obj);
					}catch(err){}
					return version;
				}
			},
			{
				"name":"ShockwaveFlash.ShockwaveFlash",
				"version":function(obj){
					return getActiveXVersion(obj);
				}
			}
		];
		var getActiveXVersion = function(activeXObj){
			var version = -1;
			try{
				version = activeXObj.GetVariable("$version");
			}catch(err){}
			return version;
		};
		var getActiveXObject = function(name){
			var obj = -1;
			try{
				obj = new ActiveXObject(name);
			}catch(err){}
			return obj;
		};
		var parseActiveXVersion = function(str){
			var versionArray = str.split(",");//replace with regex
			return {
				"major":parseInt(versionArray[0].split(" ")[1], 10),
				"minor":parseInt(versionArray[1], 10),
				"revision":parseInt(versionArray[2], 10),
				"revisionStr":versionArray[2]
			};
		};
		var parseRevisionStrToInt = function(str){
			return parseInt(str.replace(/[a-zA-Z]/g, ""), 10) || self.revision;
		};
		self.majorAtLeast = function(version){
			return self.major >= version;
		};
		self.FlashDetect = function(){
			if(navigator.plugins && navigator.plugins.length>0){
				var type = 'application/x-shockwave-flash';
				var mimeTypes = navigator.mimeTypes;
				if(mimeTypes && mimeTypes[type] && mimeTypes[type].enabledPlugin && mimeTypes[type].enabledPlugin.description){
					var desc = mimeTypes[type].enabledPlugin.description;
					var descParts = desc.split(' ');//replace with regex
					var majorMinor = descParts[2].split('.');
					self.major = parseInt(majorMinor[0], 10);
					self.minor = parseInt(majorMinor[1], 10); 
					self.revisionStr = descParts[3];
					self.revision = parseRevisionStrToInt(self.revisionStr);
					self.installed = true;
				}
			}else if(navigator.appVersion.indexOf("Mac")==-1 && window.execScript){
				var version = -1;
				for(var i=0; i<activeXDetectRules.length && version==-1; i++){
					var obj = getActiveXObject(activeXDetectRules[i].name);
					if(typeof obj == "object"){
						self.installed = true;
						version = activeXDetectRules[i].version(obj);
						if(version!=-1){
							var versionObj = parseActiveXVersion(version);
							self.major = versionObj.major;
							self.minor = versionObj.minor; 
							self.revision = versionObj.revision;
							self.revisionStr = versionObj.revisionStr;
							self.activeXVersion = version;
						}
					}
				}
			}
		}();
	};
	return(FlashDetect)
}

//------------------------------------------------
//	Get Object for usage
//------------------------------------------------
function getObject(id){
	//	retrieve object
	//------------------------------
	if (document.getElementById){OBJ = document.getElementById(id);}
	else if (document.all){OBJ = document.all[id];}
	else if (document.layers){if (document.layers[id]){OBJ = document.layers[id];}}
	
	//	return object to caller
	//------------------------------
	return OBJ;
}

//------------------------------------------------
//	add flash to page
//------------------------------------------------
function addFlash(id, w, h, src){
	OBJ		= getObject(id);
	OBJ.innerHTML	= "";

	flashOBJ		= '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0"';
	flashOBJ		+= 'width="' + w + '"';
	flashOBJ		+= 'height="' + h + '">';
	flashOBJ		+= '<param name="movie" value="' + src + '">';
	flashOBJ		+= '<param name="quality" value="high" >';
	flashOBJ		+= '<param name="menu" value="false" />';
	flashOBJ		+= '<param name="wmode" value="transparent">';
	flashOBJ		+= '<embed src="' + src + '"';
	flashOBJ		+= 'quality="high"';
	flashOBJ		+= 'pluginspage="http://www.macromedia.com/go/getflashplayer" ';
	flashOBJ		+= 'type="application/x-shockwave-flash" ';
	flashOBJ		+= 'width="' + w + '" ';
	flashOBJ		+= 'height="' + h + '" ';
	flashOBJ		+= 'menu="false"';
	flashOBJ		+= 'wmode="transparent"></embed>';
	flashOBJ		+= '</object>';

	OBJ.innerHTML	= flashOBJ;
}
