function flashMovie(pth,mov,mDir,img,iDir,wd,ht,bg,rpt,alt,mode) {

  // Initialize some vars:
  var output;
  var moviePath;
  var srcAttr = ' src="' + pth + iDir + img + '"';
  var wdAttr = ' width="' + wd + '"';
  var htAttr = ' height="' + ht + '"';
  var dataAttr = ' data="' + pth + mDir + mov + '.swf"';
  var valueAttr = ' value="' + pth + mDir + mov + '.swf"';
  var bgColAttr;
  var rptAttr;
  var altAttr;
  
  // ...and assign some of them, based on the incoming values from the function:
  if (alt != '') {
    altAttr = ' alt="' + alt + '"';
  } else {
    altAttr = ' alt=""';  
  }
  
  // ...be forgiving if the colour value comes with or without a '#':
  if (bg.charAt(0) != '#') {
    bgColAttr = ' value="#' + bg + '"';
  } else {
    bgColAttr = ' value="' + bg + '"';
  }

  if (rpt != '') {
    rptAttr = ' value="' + rpt + '"';  
  }
  
  // Put the output together:
  output  = '\n<object type="application/x-shockwave-flash"' + dataAttr + wdAttr + htAttr + '>\n';
  output += '<param name="movie"'+ valueAttr + '>\n';
  output += '<param name="bgcolor"' + bgColAttr + '>\n';
  output += '<param name="loop"' + rptAttr + '>\n'; 
  output += '<img' + srcAttr + wdAttr + htAttr + altAttr + ' />\n';
  output += '</object>';
  
  switch (mode) {
    case 'generate':
      return output;
    break;
    
    default:
      document.write(output);   
  }
}