// ----------------------------------------------------------------------------
// Dynamically build a flash object to create the object tag
// supported in multiple browsers.
// ----------------------------------------------------------------------------

function mv_dfo_GenerateObj(objAttrs, params, embedAttrs) 
{ 
  var str = '<object type="application/x-shockwave-flash" ';
  
  for (var i in objAttrs)
  {
    str += i + '="' + objAttrs[i] + '" ';
  }
  
  str += '>';
  
  for (var i in params)
  {
    str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  }
  
  str += '</object>';

  document.write(str);
}

function mv_dfo_RunContent()
{
  var ret = mv_dfo_GetArgs(arguments, ".swf", "movie", "application/x-shockwave-flash");
  mv_dfo_GenerateObj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function mv_dfo_GetArgs(args, ext, srcParamName, mimeType)
{
  var ret = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  
  for (var i=0; i < args.length; i=i+2)
  {
    var currArg = args[i].toLowerCase();    
    
    switch (currArg)
    {	
      case "src":
      case "movie":	
        args[i+1] = args[i+1];
        ret.params[srcParamName] = 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":
      case "tabindex":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "data":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.params[args[i]] = args[i+1];
    }
  }
  
  return ret;
}
