tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

scriptaculous.js (2663B)


      1 // script.aculo.us scriptaculous.js v1.7.1_beta2, Tue May 15 15:15:45 EDT 2007
      2 
      3 // Copyright (c) 2005-2007 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.7.1_beta2',
     28  require: function(libraryName) {
     29    // inserting via DOM fails in Safari 2.0, so brute force approach
     30    document.write('<script type="text/javascript" src="'+libraryName+'"></script>');
     31  },
     32  REQUIRED_PROTOTYPE: '1.5.1',
     33  load: function() {
     34    function convertVersionString(versionString){
     35      var r = versionString.split('.');
     36      return parseInt(r[0])*100000 + parseInt(r[1])*1000 + parseInt(r[2]);
     37    }
     38 
     39    if((typeof Prototype=='undefined') || 
     40       (typeof Element == 'undefined') || 
     41       (typeof Element.Methods=='undefined') ||
     42       (convertVersionString(Prototype.Version) < 
     43        convertVersionString(Scriptaculous.REQUIRED_PROTOTYPE)))
     44       throw("script.aculo.us requires the Prototype JavaScript framework >= " +
     45        Scriptaculous.REQUIRED_PROTOTYPE);
     46    
     47    $A(document.getElementsByTagName("script")).findAll( function(s) {
     48      return (s.src && s.src.match(/scriptaculous\.js(\?.*)?$/))
     49    }).each( function(s) {
     50      var path = s.src.replace(/scriptaculous\.js(\?.*)?$/,'');
     51      var includes = s.src.match(/\?.*load=([a-z,]*)/);
     52      (includes ? includes[1] : 'builder,effects,dragdrop,controls,slider,sound').split(',').each(
     53       function(include) { Scriptaculous.require(path+include+'.js') });
     54    });
     55  }
     56 }
     57 
     58 Scriptaculous.load();