		function get_flash_id(swfFullPath) {
				
				var getFileName = function(fullPath) {
					var ary =  fullPath.split("/");
					var fileName = ary[ary.length-1].split(".swf")[0];
					return fileName;
				}
				
				var ensureId = function(node) {
					if (node.attributes["id"] == null) {
						node.setAttribute("id",'swf'+new Date().getTime());
					}
				}
				
				var matchesTarget = function(fullPath) {
					return (getFileName(fullPath) == targetSwfName);
				}
				
				var targetSwfName = getFileName(swfFullPath);
				//Look through the embed nodes for one that matches our swf name
				var nodes = document.getElementsByTagName("embed");
				for (var i=0; i < nodes.length; i++) {
					//Parse just the SWF file name out of the whole src path and check if it matches
					if (matchesTarget(nodes[i].attributes["src"].nodeValue)) {
						ensureId(nodes[i]);
						return nodes[i].attributes["id"].nodeValue;
					}
				}
				
				
				//If we haven't found a matching embed, look through the object nodes
				nodes = document.getElementsByTagName("object");
				for (var j=0; j < nodes.length; j++) {
					//Check if the object tag has a data node
					if (nodes[j].attributes["data"] != null) {
						if (matchesTarget(nodes[j].attributes["data"].nodeValue)) {
							ensureId(nodes[j]);
							return nodes[j].attributes["id"].nodeValue;
						}
					}
					
					//Grab the param nodes out of this object, and look for one named "movie"
					var paramNodes = nodes[j].getElementsByTagName("param");
					for (var k=0; k < paramNodes.length; k++) {
						if (paramNodes[k].attributes["name"].nodeValue.toLowerCase() == "movie") {
							if (matchesTarget(paramNodes[k].attributes["value"].nodeValue)) {
								ensureId(nodes[j]);
								return nodes[j].attributes["id"].nodeValue;
							}
						}
					}
					
				}
				
				return null;
			}
