// loader.js v0.0.1, var Loader = { Version: '0.0.1', REQUIRED_PROTOTYPE: '1.6.0', require: function(libraryName) { // inserting via DOM fails in Safari 2.0, so brute force approach document.write('<script type="text/javascript" src="'+libraryName+'"><\/script>'); }, load: function() { function convertVersionString(versionString){ var r = versionString.split('.'); return parseInt(r[0])*100000 + parseInt(r[1])*1000 + parseInt(r[2]); } if((typeof Prototype=='undefined') || (typeof Element == 'undefined') || (typeof Element.Methods=='undefined') || (convertVersionString(Prototype.Version) < convertVersionString(Loader.REQUIRED_PROTOTYPE))) throw("N4D Loader requires the Prototype JavaScript framework >= " + Loader.REQUIRED_PROTOTYPE); $A(document.getElementsByTagName("script")).findAll( function(s) { return (s.src && s.src.match(/loader\.js(\?.*)?$/)) }).each( function(s) { var path = s.src.replace(/loader\.js(\?.*)?$/,''); var includes = s.src.match(/\?.*load=([a-z,]*)/); (includes ? includes[1] : 'gallery,highlights,slidebar,tabbox,collapsebox,banner,report').split(',').each( function(include) { Loader.require(path+include+'.js') }); }); }, AJAX_PATH: '/' } Loader.load();