home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / FAQ / Scripts / AC_RunActiveContent.js
Text File  |  2009-11-06  |  3KB  |  127 lines

  1. //v1.0
  2. //Copyright 2006 Adobe Systems, Inc. All rights reserved.
  3. function AC_AddExtension(src, ext)
  4. {
  5.   if (src.indexOf('?') != -1)
  6.     return src.replace(/\?/, ext+'?'); 
  7.   else
  8.     return src + ext;
  9. }
  10.  
  11. function AC_Generateobj(objAttrs, params, embedAttrs) 
  12.   var str = '<object ';
  13.   for (var i in objAttrs)
  14.     str += i + '="' + objAttrs[i] + '" ';
  15.   str += '>';
  16.   for (var i in params)
  17.     str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  18.   str += '<embed ';
  19.   for (var i in embedAttrs)
  20.     str += i + '="' + embedAttrs[i] + '" ';
  21.   str += ' ></embed></object>';
  22.  
  23.   document.write(str);
  24. }
  25.  
  26. function AC_FL_RunContent(){
  27.   var ret = 
  28.     AC_GetArgs
  29.     (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
  30.      , "application/x-shockwave-flash"
  31.     );
  32.   AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
  33. }
  34.  
  35. function AC_SW_RunContent(){
  36.   var ret = 
  37.     AC_GetArgs
  38.     (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
  39.      , null
  40.     );
  41.   AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
  42. }
  43.  
  44. function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  45.   var ret = new Object();
  46.   ret.embedAttrs = new Object();
  47.   ret.params = new Object();
  48.   ret.objAttrs = new Object();
  49.   for (var i=0; i < args.length; i=i+2){
  50.     var currArg = args[i].toLowerCase();    
  51.  
  52.     switch (currArg){    
  53.       case "classid":
  54.         break;
  55.       case "pluginspage":
  56.         ret.embedAttrs[args[i]] = args[i+1];
  57.         break;
  58.       case "src":
  59.       case "movie":    
  60.         args[i+1] = AC_AddExtension(args[i+1], ext);
  61.         ret.embedAttrs["src"] = args[i+1];
  62.         ret.params[srcParamName] = args[i+1];
  63.         break;
  64.       case "onafterupdate":
  65.       case "onbeforeupdate":
  66.       case "onblur":
  67.       case "oncellchange":
  68.       case "onclick":
  69.       case "ondblClick":
  70.       case "ondrag":
  71.       case "ondragend":
  72.       case "ondragenter":
  73.       case "ondragleave":
  74.       case "ondragover":
  75.       case "ondrop":
  76.       case "onfinish":
  77.       case "onfocus":
  78.       case "onhelp":
  79.       case "onmousedown":
  80.       case "onmouseup":
  81.       case "onmouseover":
  82.       case "onmousemove":
  83.       case "onmouseout":
  84.       case "onkeypress":
  85.       case "onkeydown":
  86.       case "onkeyup":
  87.       case "onload":
  88.       case "onlosecapture":
  89.       case "onpropertychange":
  90.       case "onreadystatechange":
  91.       case "onrowsdelete":
  92.       case "onrowenter":
  93.       case "onrowexit":
  94.       case "onrowsinserted":
  95.       case "onstart":
  96.       case "onscroll":
  97.       case "onbeforeeditfocus":
  98.       case "onactivate":
  99.       case "onbeforedeactivate":
  100.       case "ondeactivate":
  101.       case "type":
  102.       case "codebase":
  103.         ret.objAttrs[args[i]] = args[i+1];
  104.         break;
  105.       case "width":
  106.       case "height":
  107.       case "align":
  108.       case "vspace": 
  109.       case "hspace":
  110.       case "class":
  111.       case "title":
  112.       case "accesskey":
  113.       case "name":
  114.       case "id":
  115.       case "tabindex":
  116.         ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
  117.         break;
  118.       default:
  119.         ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
  120.     }
  121.   }
  122.   ret.objAttrs["classid"] = classid;
  123.   if (mimeType) ret.embedAttrs["type"] = mimeType;
  124.   return ret;
  125. }
  126.