]>
Commit | Line | Data |
---|---|---|
1 | // script.aculo.us scriptaculous.js v1.9.0, Thu Dec 23 16:54:48 -0500 2010 | |
2 | ||
3 | // Copyright (c) 2005-2010 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us) | |
4 | // | |
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: | |
12 | // | |
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 = { | |
27 | Version: '1.9.0', | |
28 | require: function(libraryName) { | |
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 | } | |
39 | }, | |
40 | REQUIRED_PROTOTYPE: '1.6.0.3', | |
41 | load: function() { | |
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; | |
46 | } | |
47 | ||
48 | if((typeof Prototype=='undefined') || | |
49 | (typeof Element == 'undefined') || | |
50 | (typeof Element.Methods=='undefined') || | |
51 | (convertVersionString(Prototype.Version) < | |
52 | convertVersionString(Scriptaculous.REQUIRED_PROTOTYPE))) | |
53 | throw("script.aculo.us requires the Prototype JavaScript framework >= " + | |
54 | Scriptaculous.REQUIRED_PROTOTYPE); | |
55 | ||
56 | var js = /scriptaculous\.js(\?.*)?$/; | |
57 | $$('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,]*)/); | |
62 | (includes ? includes[1] : 'builder,effects,dragdrop,controls,slider,sound').split(',').each( | |
63 | function(include) { Scriptaculous.require(path+include+'.js') }); | |
64 | }); | |
65 | } | |
66 | }; | |
67 | ||
68 | Scriptaculous.load(); |