////////////////////////////////////////////////////////////////////////////////////////////////////
//
//      Totally stole the idea of a dynamic loader from Scriptaculous, so props.
//
//      Mine is cooler though.
//
//      August 23rd, 2006.
//      Tj Eastmond <issuess@gmail.com>
//
////////////////////////////////////////////////////////////////////////////////////////////////////

var Loader = {
        jspath : '/js/',
        auto : [ 'prototype.js', 'behaviour.js', 'EFSProto.js', 'eBP.js', 'global.js', 'effects.js', 'slider.js', 'overlib.js', 'overlib_hideform.js', 'control.modal.js', 'swfobject.js', 'AC_OETags.js', 'history.js','styles.js'],
        files : {
//              scroller : [
//                      'jsScroller.js',
//                      'jsScrollbar.js',
//                      'jsScrollerTween.js',
//              ],
//              faqs : 'faqs.js',       Can be used.  Currently not.
//              video : 'video.js',     Can be used.  Currently not.
                overlib : [
                        'overlib.js',
                        'overlib_hideform.js'
                ]
        },

        load : function(file) {
                document.write('<script language="JavaScript" src="'+this.jspath+file+'"></script>');
        },

        run : function() {
                for(var i = 0; i < this.auto.length; ++i) {
                        this.load(this.auto[i]);
                }
                var js = document.getElementsByTagName('script');
                var script = '';
                for(var j = 0; j < js.length; ++j) {
                        var regex = /loader.js/;
                        if(regex.test(js[j].src)) {
                                script = js[j].src;
                        }
                }
                if(typeof script == 'string') {
                        var include = script.match(/\?.*load=([a-z,]*)/);
                        if(include) {
                                var includes = include[1].split(',');
                                for(var k = 0; k < includes.length; ++k) {
                                        set = this.files[includes[k]];
                                        if(typeof set == 'object') {
                                                for(var m = 0; m < set.length; ++m) {
                                                        this.load(set[m]);
                                                }
                                        } else {
                                                this.load(set);
                                        }
                                }
                        }
                }
        }
}

Loader.run();

////////////////////////////////////////////////////////////////////////////////////////////////////

