web/wp-includes/js/scriptaculous/wp-scriptaculous.js
changeset 204 09a1c134465b
parent 203 f507feede89a
child 205 a4f7897e21a9
equal deleted inserted replaced
203:f507feede89a 204:09a1c134465b
     1 // script.aculo.us scriptaculous.js v1.8.3, Thu Oct 08 11:23:33 +0200 2009
       
     2 
       
     3 // Copyright (c) 2005-2009 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.8.3',
       
    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     $$('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,]*)/);
       
    62 
       
    63 		// Modified for WordPress to work with enqueue_script
       
    64 		if ( includes ) {
       
    65 			includes[1].split(',').each( function(include) {
       
    66 				Scriptaculous.require(path+include+'.js')
       
    67 			});
       
    68 		}
       
    69     });
       
    70   }
       
    71 };
       
    72 
       
    73 Scriptaculous.load();