
function includeApplet() {
   var appletAttributes = new Object();
   var appletConstants = new Object();
   var appletParameters = new Object();

   appletConstants["mayscript"] = Boolean(true);

   for (var i = 0; (i + 1) < arguments.length; i = i + 2){
      var argumentName = arguments[i].toLowerCase();    
      var argumentValue = arguments[i + 1];    

      switch (argumentName){	
         // Applet
         case "align":
         case "alt":
         case "archive":
         case "code":
         case "codebase":
         case "height":
         case "hspace":
         case "name":
         case "vspace":
         case "width":
            appletAttributes[argumentName] = argumentValue;
            break;
         // Applet, constant
         case "mayscript":
            appletConstants[argumentName] = argumentValue;
            break;
         // Param
         default:
            appletParameters[argumentName] = argumentValue;
      }
   }

   var strOutput = '<APPLET \n';
   for (var i in appletAttributes) {
      strOutput += '   ' + i + '="' + appletAttributes[i] + '" \n';
   }
   for (var i in appletConstants) {
      if (appletConstants[i]) {
         strOutput += '   ' + i + ' \n';
      }
   }
   strOutput += '> \n';
   for (var i in appletParameters) {
      strOutput += '   <param name="' + i + '" value="' + appletParameters[i] + '" /> \n';
   }
   strOutput += '</APPLET>';

   document.write(strOutput);
}

function includeMovie() {
   var objectAttributes = new Object();
   var objectConstants = new Object();
   var objectParameters = new Object();
   var embedAttributes = new Object();

   //Default
   objectParameters["autoplay"] = "false";
   embedAttributes["autoplay"] = "false";
   objectParameters["loop"] = "false";
   embedAttributes["loop"] = "false";

   for (var i = 0; (i+1) < arguments.length; i=i+2){
      var argumentName = arguments[i].toLowerCase();    
      var argumentValue = arguments[i+1];    

      switch (argumentName){	
         // Object & Embed
         case "height":
            objectAttributes[argumentName] = (isNaN(argumentValue))? argumentValue : Number(argumentValue) + 45;
            embedAttributes[argumentName] = (isNaN(argumentValue))? argumentValue : Number(argumentValue) + 45;
            break;
         case "width":
            objectAttributes[argumentName] = argumentValue;
            embedAttributes[argumentName] = argumentValue;
            break;

         // Param & Embed
         case "autoplay":
         case "loop":
            objectParameters[argumentName] = argumentValue;
            embedAttributes[argumentName] = argumentValue;
            break;
         // Object
         case "align":
         case "archive":
         case "classid":
         case "codebase":
         case "codetype":
         case "data":
         case "declare":
         case "hspace":
         case "name":
         case "standby":
         case "type":
         case "usemap":
         case "vspace":
            objectConstants[argumentName] = argumentValue;
            break;
         // Embed
         case "src":
            embedAttributes[argumentName] = argumentValue;
            break;
         // Parameters
         default:
            objectParameters[argumentName] = argumentValue;
      }
   }

   var strOutput = '<OBJECT \n';
   for (var i in objectAttributes) {
      strOutput += '   ' + i + '="' + objectAttributes[i] + '" \n';
   }
   for (var i in objectConstants) {
      if (objectConstants[i]) {
         strOutput += '   ' + i + ' \n';
      }
   }
   strOutput += '> \n';
   for (var i in objectParameters) {
      strOutput += '   <param name="' + i + '" value="' + objectParameters[i] + '" /> \n';
   }
   strOutput += '   <EMBED \n';
   for (var i in embedAttributes) {
      strOutput += '      ' + i + '="' + embedAttributes[i] + '" \n';
   }
   strOutput += '   > \n';
   strOutput += '   </EMBED> \n';
   strOutput += '</OBJECT>';

   document.write(strOutput);
}

function includeSound() {
   var objectAttributes = new Object();
   var objectConstants = new Object();
   var objectParameters = new Object();
   var embedAttributes = new Object();

   //Default
   objectParameters["width"] = 280;
   embedAttributes["width"] = 280;
   objectParameters["height"] = 46;
   embedAttributes["height"] = 46;
   objectParameters["autoplay"] = "false";
   embedAttributes["autoplay"] = "false";
   objectParameters["loop"] = "false";
   embedAttributes["loop"] = "false";

   for (var i = 0; (i+1) < arguments.length; i=i+2){
      var argumentName = arguments[i].toLowerCase();    
      var argumentValue = arguments[i+1];    

      switch (argumentName){	
         // Object & Embed
         case "height":
         case "width":
            objectAttributes[argumentName] = argumentValue;
            embedAttributes[argumentName] = argumentValue;
            break;

         // Param & Embed
         case "autoplay":
         case "loop":
            objectParameters[argumentName] = argumentValue;
            embedAttributes[argumentName] = argumentValue;
            break;
         // Object
         case "align":
         case "archive":
         case "classid":
         case "codebase":
         case "codetype":
         case "data":
         case "declare":
         case "hspace":
         case "name":
         case "standby":
         case "type":
         case "usemap":
         case "vspace":
            objectConstants[argumentName] = argumentValue;
            break;
         // Embed
         case "src":
            embedAttributes[argumentName] = argumentValue;
            break;
         // Parameters
         default:
            objectParameters[argumentName] = argumentValue;
      }
   }

   var strOutput = '<OBJECT \n';
   for (var i in objectAttributes) {
      strOutput += '   ' + i + '="' + objectAttributes[i] + '" \n';
   }
   for (var i in objectConstants) {
      if (objectConstants[i]) {
         strOutput += '   ' + i + ' \n';
      }
   }
   strOutput += '> \n';
   for (var i in objectParameters) {
      strOutput += '   <param name="' + i + '" value="' + objectParameters[i] + '" /> \n';
   }
   strOutput += '   <EMBED \n';
   for (var i in embedAttributes) {
      strOutput += '      ' + i + '="' + embedAttributes[i] + '" \n';
   }
   strOutput += '   > \n';
   strOutput += '   </EMBED> \n';
   strOutput += '</OBJECT>';

   document.write(strOutput);
}


// Macromedia - FLASH
function includeFlash(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version="
     , "http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"
     , "application/x-shockwave-flash", "5,0,0,0"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}
// Macromedia - SHOCKWAWE
function includeShockwave(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}
// Macromedia
function AC_GetArgs(args, ext, srcParamName, classid, codebase, pluginsPage, mimeType, cbVers){
  var ret = new Object();
  ret.embedAttrs = 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 "codebase":
      case "pluginspage":
      case "type":
      case "classid":
        break;
      case "src":
      case "movie":	
//        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "minversion":
        cbVers = 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.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;
  ret.objAttrs["codebase"] = codebase + cbVers;
  ret.embedAttrs["pluginspage"] = pluginsPage;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}
// Macromedia
function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}
// Macromedia
function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
  var str = '<object ';
  for (var i in objAttrs)
    str += i + '="' + objAttrs[i] + '" ';
  str += '>';
  for (var i in params)
    str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  str += '<embed ';
  for (var i in embedAttrs)
    str += i + '="' + embedAttrs[i] + '" ';
  str += ' ></embed></object>';

  document.write(str);
}

function includeCaptivate(src, w, h, id) {
	id = ((typeof(id) == "undefined") || (id == ""))? "Captivate1" : id;
	var strOutput = "";
	strOutput += "<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0\" width=\"" + w + "\" height=\"" + h + "\" ID=\"" + id + "\">";
	strOutput += "<param name=\"movie\" value=\"" + src + "\">";
	strOutput += "<param name=\"quality\" value=\"high\">";
	strOutput += "<param name=\"loop\" value=\"0\">";
	strOutput += "<embed src=\"" + src + "\" width=\"" + w + "\" height=\"" + h + "\" loop=\"0\" quality=\"high\" pluginspage=\"http://www.adobe.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" menu=\"false\"></embed>";
	strOutput += "</object>";
	document.write(strOutput);
	document.getElementById(id).focus();
	eval("document." + id + ".focus()")
//	document.Captivate1.focus();
}








