]>
Commit | Line | Data |
---|---|---|
19c6deae | 1 | // script.aculo.us scriptaculous.js v1.8.3, Thu Oct 08 11:23:33 +0200 2009 |
68c80eec | 2 | |
19c6deae AD |
3 | // Copyright (c) 2005-2009 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us) |
4 | // | |
68c80eec AD |
5 | // Permission is hereby granted, free of charge, to any person obtaining |
6 | // a copy of this software and associated documentation files (the | |
7 | // "Software"), to deal in the Software without restriction, including | |
8 | // without limitation the rights to use, copy, modify, merge, publish, | |
9 | // distribute, sublicense, and/or sell copies of the Software, and to | |
10 | // permit persons to whom the Software is furnished to do so, subject to | |
11 | // the following conditions: | |
19c6deae | 12 | // |
68c80eec AD |
13 | // The above copyright notice and this permission notice shall be |
14 | // included in all copies or substantial portions of the Software. | |
15 | // | |
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | |
17 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | |
18 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | |
19 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE | |
20 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION | |
21 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | |
22 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | |
23 | // | |
24 | // For details, see the script.aculo.us web site: http://script.aculo.us/ | |
25 | ||
26 | var Scriptaculous = { | |
19c6deae | 27 | Version: '1.8.3', |
68c80eec | 28 | require: function(libraryName) { |
19c6deae AD |
29 | try{ |
30 | // inserting via DOM fails in Safari 2.0, so brute force approach | |
31 | document.write('<script type="text/javascript" src="'+libraryName+'"><\/script>'); | |
32 | } catch(e) { | |
33 | // for xhtml+xml served content, fall back to DOM methods | |
34 | var script = document.createElement('script'); | |
35 | script.type = 'text/javascript'; | |
36 | script.src = libraryName; | |
37 | document.getElementsByTagName('head')[0].appendChild(script); | |
38 | } | |
68c80eec | 39 | }, |
19c6deae | 40 | REQUIRED_PROTOTYPE: '1.6.0.3', |
68c80eec | 41 | load: function() { |
19c6deae AD |
42 | function convertVersionString(versionString) { |
43 | var v = versionString.replace(/_.*|\./g, ''); | |
44 | v = parseInt(v + '0'.times(4-v.length)); | |
45 | return versionString.indexOf('_') > -1 ? v-1 : v; | |
4b9dfd5b | 46 | } |
19c6deae AD |
47 | |
48 | if((typeof Prototype=='undefined') || | |
49 | (typeof Element == 'undefined') || | |
68c80eec | 50 | (typeof Element.Methods=='undefined') || |
19c6deae | 51 | (convertVersionString(Prototype.Version) < |
4b9dfd5b AD |
52 | convertVersionString(Scriptaculous.REQUIRED_PROTOTYPE))) |
53 | throw("script.aculo.us requires the Prototype JavaScript framework >= " + | |
54 | Scriptaculous.REQUIRED_PROTOTYPE); | |
19c6deae AD |
55 | |
56 | var js = /scriptaculous\.js(\?.*)?$/; | |
57 | $$('head script[src]').findAll(function(s) { | |
58 | return s.src.match(js); | |
59 | }).each(function(s) { | |
60 | var path = s.src.replace(js, ''), | |
61 | includes = s.src.match(/\?.*load=([a-z,]*)/); | |
4b9dfd5b | 62 | (includes ? includes[1] : 'builder,effects,dragdrop,controls,slider,sound').split(',').each( |
68c80eec AD |
63 | function(include) { Scriptaculous.require(path+include+'.js') }); |
64 | }); | |
65 | } | |
19c6deae | 66 | }; |
68c80eec AD |
67 | |
68 | Scriptaculous.load(); |