
	var acd_objs = new Object ();
	
	//v1.0
	//Copyright 2006 Adobe Systems, Inc. All rights reserved.
	function AC_AddExtension ( src, ext ) {
		
		if (src.indexOf ('?') != -1) {
			
			return src.replace (/\?/, ext+'?');
			
		} else {
			
			return src + ext;
			
		}
		
		return src;
		
	}
	
	function AC_Generateobj ( objAttrs, params, embedAttrs, myElement ) {
		
		if ( ( checkIt ("msie") || checkIt ("safari") ) && !checkIt ("opera") ) {
			
			var str = '<object ';
		
			for (var i in objAttrs) {
			str += i + '="' + objAttrs[i] + '" ';
				// alert ( i );
				if ( i == "id" ) {
					var id = objAttrs[i];
				}
			}
			str += '>';
			
			for (var i in params) {
				// alert ( i );
				if ( i == "focus" && !checkIt ("safari") ) {
					var f = params[i];
				} else {
					str += '<param name="' + i + '" value="' + params[i] + '" /> ';
				}
			}
			
			str += '</object>';
	
		} else {

			var str = '<embed ';
			
			for (var i in embedAttrs) {
				// alert ( i );
				if ( i == "name" ) {
					var id = embedAttrs[i];
				} else if ( i == "focus" ) {
					var f = embedAttrs[i];
				} else {
					str += i + '="' + embedAttrs[i] + '" ';					
				}
			}
			
			str += ' ></embed>';
			
		}
			
		// alert ( "GENERATE > " + str );
		// document.write (str);
		myElement.innerHTML = myElement.innerHTML + str;
		
		acd_objs[id] = myElement.childNodes[0];
		
		/*
		for ( var p in acd_objs[id] ) {
			alert ( p+": "+acd_objs[id][p] );
		}
		*/
		
		if ( f == "auto" && !checkIt ("safari") ) {
			acd_objs[id].focus ();
		}
		
	}
	
	function AC_FL_RunContent ( arguments, myElement ) {
		
		// alert ( "RUNCONTENT > " + arguments );
		var ret = AC_GetArgs ( arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000", "application/x-shockwave-flash" );
		// alert ( "RET > " + ret );
		AC_Generateobj ( ret.objAttrs, ret.params, ret.embedAttrs, myElement);
		
	}
	
	function AC_SW_RunContent ( arguments, myElement ) {
		
		var ret = AC_GetArgs ( arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000", null );
		AC_Generateobj (ret.objAttrs, ret.params, ret.embedAttrs, myElement);
		
	}
	
	function checkAgent ( string ) {
		
		return navigator.userAgent.toLowerCase ().indexOf ( string ) + 1;
			
	}
	
	function checkIt ( string ) {
		
		return navigator.userAgent.toLowerCase ().indexOf ( string ) != -1;
			
	}
	
	function AC_GetArgs ( args, ext, srcParamName, classid, mimeType ) {
		
		var ret = new Object ();
		ret.embedAttrs = new Object ();
		ret.params = new Object ();
		ret.objAttrs = new Object ();
		
		if ( args.length == 2 ) {
			// alert ( "LENGTH > "+ args.length );
			args = args[0];		 
		}
			
		if ( ( checkIt ("msie") && checkIt ("win") ) || checkIt ("safari") ) {
			
			for ( var i = 0; i < args.length; i = i + 2 ) {
				
				var currArg = args[i].toLowerCase ();    
				
				switch (currArg) {
					
					case "classid":
						break;
					case "pluginspage":
						ret.embedAttrs[args[i]] = args[i+1];
						break;
					case "src":
					case "movie":	
						args[i+1] = AC_AddExtension (args[i+1], ext);
						ret.params[srcParamName] = args[i+1];
						ret.embedAttrs["src"] = args[i+1];
						break;
					case "onafterupdate":
					case "onbeforeupdate":
					case "onblur":
					case "oncellchange":
					case "onclick":
					case "ondblClick":
					case "ondrag":
					case "ondragend":
					case "ondragenter":
					case "ondragleave":
					case "ondragover":
					case "ondrop":
					case "onfinish":
					case "onfocus":
					case "onhelp":
					case "onmousedown":
					case "onmouseup":
					case "onmouseover":
					case "onmousemove":
					case "onmouseout":
					case "onkeypress":
					case "onkeydown":
					case "onkeyup":
					case "onload":
					case "onlosecapture":
					case "onpropertychange":
					case "onreadystatechange":
					case "onrowsdelete":
					case "onrowenter":
					case "onrowexit":
					case "onrowsinserted":
					case "onstart":
					case "onscroll":
					case "onbeforeeditfocus":
					case "onactivate":
					case "onbeforedeactivate":
					case "ondeactivate":
					case "type":
					case "codebase":
						ret.objAttrs[args[i]] = args[i+1];
						break;
					case "width":
					case "height":
					case "align":
					case "vspace": 
					case "hspace":
					case "class":
					case "title":
					case "accesskey":
					case "name":
					case "id":
						ret.objAttrs[args[i]] = args[i+1];
						ret.embedAttrs["name"] = args[i+1];
						break;				
					case "tabindex":
						ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
						break;
					default:
						ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
					
				}
				
			}
				
		} else {
			
			for ( var i = 0; i < args.length; i = i + 2 ) {
					
				var currArg = args[i].toLowerCase ();    
				
				switch (currArg) {
					
					case "classid":
						break;
					case "pluginspage":
						ret.embedAttrs[args[i]] = args[i+1];
						break;
					case "src":
					case "movie":	
						args[i+1] = AC_AddExtension (args[i+1], ext);
						ret.params[srcParamName] = args[i+1];
						ret.embedAttrs["src"] = args[i+1];
						break;
					case "onafterupdate":
					case "onbeforeupdate":
					case "onblur":
					case "oncellchange":
					case "onclick":
					case "ondblClick":
					case "ondrag":
					case "ondragend":
					case "ondragenter":
					case "ondragleave":
					case "ondragover":
					case "ondrop":
					case "onfinish":
					case "onfocus":
					case "onhelp":
					case "onmousedown":
					case "onmouseup":
					case "onmouseover":
					case "onmousemove":
					case "onmouseout":
					case "onkeypress":
					case "onkeydown":
					case "onkeyup":
					case "onload":
					case "onlosecapture":
					case "onpropertychange":
					case "onreadystatechange":
					case "onrowsdelete":
					case "onrowenter":
					case "onrowexit":
					case "onrowsinserted":
					case "onstart":
					case "onscroll":
					case "onbeforeeditfocus":
					case "onactivate":
					case "onbeforedeactivate":
					case "ondeactivate":
					case "type":
					case "codebase":
						ret.objAttrs[args[i]] = args[i+1];
						break;
					case "width":
						ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
						break;
					case "height":
						ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
						break;
					case "align":
					case "vspace": 
					case "hspace":
					case "class":
					case "title":
					case "accesskey":
					case "name":
					case "id":
						ret.objAttrs[args[i]] = args[i+1];
						ret.embedAttrs["name"] = args[i+1];
						break;				
					case "tabindex":
						ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
						break;
					default:
						ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
						
				}	
				
			}
			
	  }
	  
	  ret.objAttrs["classid"] = classid;
	  	
	  if ( mimeType ) ret.embedAttrs["type"] = mimeType;
	  
	  return ret;
	  
	}
	
