diff options
author | Andrew Dolgov <[email protected]> | 2011-09-01 10:15:18 +0400 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2011-09-01 10:15:18 +0400 |
commit | 19c6deae8291667f17c1b34b91d02b4c150c3700 (patch) | |
tree | f88a34fc12e06a5549ff58dc3f01cc733cb1dc94 /lib/scriptaculous/scriptaculous.js | |
parent | b1a4b0e98fe6303e956bdb332960642ff6d1a24d (diff) |
upgrade scriptaculous
Diffstat (limited to 'lib/scriptaculous/scriptaculous.js')
-rw-r--r-- | lib/scriptaculous/scriptaculous.js | 54 |
1 files changed, 32 insertions, 22 deletions
diff --git a/lib/scriptaculous/scriptaculous.js b/lib/scriptaculous/scriptaculous.js index 6cfe36e8d..6bf437acc 100644 --- a/lib/scriptaculous/scriptaculous.js +++ b/lib/scriptaculous/scriptaculous.js @@ -1,7 +1,7 @@ -// script.aculo.us scriptaculous.js v1.8.1, Thu Jan 03 22:07:12 -0500 2008 +// script.aculo.us scriptaculous.js v1.8.3, Thu Oct 08 11:23:33 +0200 2009 -// Copyright (c) 2005-2007 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us) -// +// Copyright (c) 2005-2009 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us) +// // Permission is hereby granted, free of charge, to any person obtaining // a copy of this software and associated documentation files (the // "Software"), to deal in the Software without restriction, including @@ -9,7 +9,7 @@ // distribute, sublicense, and/or sell copies of the Software, and to // permit persons to whom the Software is furnished to do so, subject to // the following conditions: -// +// // The above copyright notice and this permission notice shall be // included in all copies or substantial portions of the Software. // @@ -24,35 +24,45 @@ // For details, see the script.aculo.us web site: http://script.aculo.us/ var Scriptaculous = { - Version: '1.8.1', + Version: '1.8.3', require: function(libraryName) { - // inserting via DOM fails in Safari 2.0, so brute force approach - document.write('<script type="text/javascript" src="'+libraryName+'"><\/script>'); + try{ + // inserting via DOM fails in Safari 2.0, so brute force approach + document.write('<script type="text/javascript" src="'+libraryName+'"><\/script>'); + } catch(e) { + // for xhtml+xml served content, fall back to DOM methods + var script = document.createElement('script'); + script.type = 'text/javascript'; + script.src = libraryName; + document.getElementsByTagName('head')[0].appendChild(script); + } }, - REQUIRED_PROTOTYPE: '1.6.0', + REQUIRED_PROTOTYPE: '1.6.0.3', load: function() { - function convertVersionString(versionString){ - var r = versionString.split('.'); - return parseInt(r[0])*100000 + parseInt(r[1])*1000 + parseInt(r[2]); + function convertVersionString(versionString) { + var v = versionString.replace(/_.*|\./g, ''); + v = parseInt(v + '0'.times(4-v.length)); + return versionString.indexOf('_') > -1 ? v-1 : v; } - - if((typeof Prototype=='undefined') || - (typeof Element == 'undefined') || + + if((typeof Prototype=='undefined') || + (typeof Element == 'undefined') || (typeof Element.Methods=='undefined') || - (convertVersionString(Prototype.Version) < + (convertVersionString(Prototype.Version) < convertVersionString(Scriptaculous.REQUIRED_PROTOTYPE))) throw("script.aculo.us requires the Prototype JavaScript framework >= " + Scriptaculous.REQUIRED_PROTOTYPE); - - $A(document.getElementsByTagName("script")).findAll( function(s) { - return (s.src && s.src.match(/scriptaculous\.js(\?.*)?$/)) - }).each( function(s) { - var path = s.src.replace(/scriptaculous\.js(\?.*)?$/,''); - var includes = s.src.match(/\?.*load=([a-z,]*)/); + + var js = /scriptaculous\.js(\?.*)?$/; + $$('head script[src]').findAll(function(s) { + return s.src.match(js); + }).each(function(s) { + var path = s.src.replace(js, ''), + includes = s.src.match(/\?.*load=([a-z,]*)/); (includes ? includes[1] : 'builder,effects,dragdrop,controls,slider,sound').split(',').each( function(include) { Scriptaculous.require(path+include+'.js') }); }); } -} +}; Scriptaculous.load();
\ No newline at end of file |