more robust sql scripts adding IF EXISTS to DROP TABLE statementes
[brisk.git] / web / AC_OETags.js
1 // Flash Player Version Detection - Rev 1.5\r
2 // Detect Client Browser type\r
3 // Copyright(c) 2005-2006 Adobe Macromedia Software, LLC. All rights reserved.\r
4 var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;\r
5 var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;\r
6 var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;\r
7 \r
8 function ControlVersion()\r
9 {\r
10         var version;\r
11         var axo;\r
12         var e;\r
13 \r
14         // NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry\r
15 \r
16         try {\r
17                 // version will be set for 7.X or greater players\r
18                 axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");\r
19                 version = axo.GetVariable("$version");\r
20         } catch (e) {\r
21         }\r
22 \r
23         if (!version)\r
24         {\r
25                 try {\r
26                         // version will be set for 6.X players only\r
27                         axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");\r
28                         \r
29                         // installed player is some revision of 6.0\r
30                         // GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,\r
31                         // so we have to be careful. \r
32                         \r
33                         // default to the first public version\r
34                         version = "WIN 6,0,21,0";\r
35 \r
36                         // throws if AllowScripAccess does not exist (introduced in 6.0r47)             \r
37                         axo.AllowScriptAccess = "always";\r
38 \r
39                         // safe to call for 6.0r47 or greater\r
40                         version = axo.GetVariable("$version");\r
41 \r
42                 } catch (e) {\r
43                 }\r
44         }\r
45 \r
46         if (!version)\r
47         {\r
48                 try {\r
49                         // version will be set for 4.X or 5.X player\r
50                         axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");\r
51                         version = axo.GetVariable("$version");\r
52                 } catch (e) {\r
53                 }\r
54         }\r
55 \r
56         if (!version)\r
57         {\r
58                 try {\r
59                         // version will be set for 3.X player\r
60                         axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");\r
61                         version = "WIN 3,0,18,0";\r
62                 } catch (e) {\r
63                 }\r
64         }\r
65 \r
66         if (!version)\r
67         {\r
68                 try {\r
69                         // version will be set for 2.X player\r
70                         axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");\r
71                         version = "WIN 2,0,0,11";\r
72                 } catch (e) {\r
73                         version = -1;\r
74                 }\r
75         }\r
76         \r
77         return version;\r
78 }\r
79 \r
80 // JavaScript helper required to detect Flash Player PlugIn version information\r
81 function GetSwfVer(){\r
82         // NS/Opera version >= 3 check for Flash plugin in plugin array\r
83         var flashVer = -1;\r
84         \r
85         if (navigator.plugins != null && navigator.plugins.length > 0) {\r
86                 if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {\r
87                         var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";\r
88                         var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;                       \r
89                         var descArray = flashDescription.split(" ");\r
90                         var tempArrayMajor = descArray[2].split(".");\r
91                         var versionMajor = tempArrayMajor[0];\r
92                         var versionMinor = tempArrayMajor[1];\r
93                         if ( descArray[3] != "" ) {\r
94                                 tempArrayMinor = descArray[3].split("r");\r
95                         } else {\r
96                                 tempArrayMinor = descArray[4].split("r");\r
97                         }\r
98                         var versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;\r
99                         var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;\r
100                 }\r
101         }\r
102         // MSN/WebTV 2.6 supports Flash 4\r
103         else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;\r
104         // WebTV 2.5 supports Flash 3\r
105         else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;\r
106         // older WebTV supports Flash 2\r
107         else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;\r
108         else if ( isIE && isWin && !isOpera ) {\r
109                 flashVer = ControlVersion();\r
110         }       \r
111         return flashVer;\r
112 }\r
113 \r
114 // When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available\r
115 function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)\r
116 {\r
117         versionStr = GetSwfVer();\r
118         if (versionStr == -1 ) {\r
119                 return false;\r
120         } else if (versionStr != 0) {\r
121                 if(isIE && isWin && !isOpera) {\r
122                         // Given "WIN 2,0,0,11"\r
123                         tempArray         = versionStr.split(" ");      // ["WIN", "2,0,0,11"]\r
124                         tempString        = tempArray[1];                       // "2,0,0,11"\r
125                         versionArray      = tempString.split(",");      // ['2', '0', '0', '11']\r
126                 } else {\r
127                         versionArray      = versionStr.split(".");\r
128                 }\r
129                 var versionMajor      = versionArray[0];\r
130                 var versionMinor      = versionArray[1];\r
131                 var versionRevision   = versionArray[2];\r
132 \r
133                 // is the major.revision >= requested major.revision AND the minor version >= requested minor\r
134                 if (versionMajor > parseFloat(reqMajorVer)) {\r
135                         return true;\r
136                 } else if (versionMajor == parseFloat(reqMajorVer)) {\r
137                         if (versionMinor > parseFloat(reqMinorVer))\r
138                                 return true;\r
139                         else if (versionMinor == parseFloat(reqMinorVer)) {\r
140                                 if (versionRevision >= parseFloat(reqRevision))\r
141                                         return true;\r
142                         }\r
143                 }\r
144                 return false;\r
145         }\r
146 }\r
147 \r
148 function AC_AddExtension(src, ext)\r
149 {\r
150   if (src.indexOf('?') != -1)\r
151     return src.replace(/\?/, ext+'?'); \r
152   else\r
153     return src + ext;\r
154 }\r
155 \r
156 function AC_Generateobj(objAttrs, params, embedAttrs) \r
157\r
158     var str = '';\r
159     if (isIE && isWin && !isOpera)\r
160     {\r
161                 str += '<object ';\r
162                 for (var i in objAttrs)\r
163                         str += i + '="' + objAttrs[i] + '" ';\r
164                 for (var i in params)\r
165                         str += '><param name="' + i + '" value="' + params[i] + '" /> ';\r
166                 str += '></object>';\r
167     } else {\r
168                 str += '<embed ';\r
169                 for (var i in embedAttrs)\r
170                         str += i + '="' + embedAttrs[i] + '" ';\r
171                 str += '> </embed>';\r
172     }\r
173 \r
174     document.write(str);\r
175 }\r
176 \r
177 function AC_FL_RunContent(){\r
178   var ret = \r
179     AC_GetArgs\r
180     (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"\r
181      , "application/x-shockwave-flash"\r
182     );\r
183   AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);\r
184 }\r
185 \r
186 function AC_GetArgs(args, ext, srcParamName, classid, mimeType){\r
187   var ret = new Object();\r
188   ret.embedAttrs = new Object();\r
189   ret.params = new Object();\r
190   ret.objAttrs = new Object();\r
191   for (var i=0; i < args.length; i=i+2){\r
192     var currArg = args[i].toLowerCase();    \r
193 \r
194     switch (currArg){   \r
195       case "classid":\r
196         break;\r
197       case "pluginspage":\r
198         ret.embedAttrs[args[i]] = args[i+1];\r
199         break;\r
200       case "src":\r
201       case "movie":     \r
202         args[i+1] = AC_AddExtension(args[i+1], ext);\r
203         ret.embedAttrs["src"] = args[i+1];\r
204         ret.params[srcParamName] = args[i+1];\r
205         break;\r
206       case "onafterupdate":\r
207       case "onbeforeupdate":\r
208       case "onblur":\r
209       case "oncellchange":\r
210       case "onclick":\r
211       case "ondblClick":\r
212       case "ondrag":\r
213       case "ondragend":\r
214       case "ondragenter":\r
215       case "ondragleave":\r
216       case "ondragover":\r
217       case "ondrop":\r
218       case "onfinish":\r
219       case "onfocus":\r
220       case "onhelp":\r
221       case "onmousedown":\r
222       case "onmouseup":\r
223       case "onmouseover":\r
224       case "onmousemove":\r
225       case "onmouseout":\r
226       case "onkeypress":\r
227       case "onkeydown":\r
228       case "onkeyup":\r
229       case "onload":\r
230       case "onlosecapture":\r
231       case "onpropertychange":\r
232       case "onreadystatechange":\r
233       case "onrowsdelete":\r
234       case "onrowenter":\r
235       case "onrowexit":\r
236       case "onrowsinserted":\r
237       case "onstart":\r
238       case "onscroll":\r
239       case "onbeforeeditfocus":\r
240       case "onactivate":\r
241       case "onbeforedeactivate":\r
242       case "ondeactivate":\r
243       case "type":\r
244       case "codebase":\r
245       case "id":\r
246         ret.objAttrs[args[i]] = args[i+1];\r
247         break;\r
248       case "width":\r
249       case "height":\r
250       case "align":\r
251       case "vspace": \r
252       case "hspace":\r
253       case "class":\r
254       case "title":\r
255       case "accesskey":\r
256       case "name":\r
257       case "tabindex":\r
258         ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];\r
259         break;\r
260       default:\r
261         ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];\r
262     }\r
263   }\r
264   ret.objAttrs["classid"] = classid;\r
265   if (mimeType) ret.embedAttrs["type"] = mimeType;\r
266   return ret;\r
267 }\r
268 \r
269 \r