/* 
 * Ładowacz i uruchamiacz javascryptów skryptów
 *
 * @version 1.01
 */

var loaderFactory = {

    /*
     * Ładowanie javascriptów i uruchomienie po załadowaniu
     */

    createJScriptRunner : function() {

        var loader = new LoadAndRun();

        /* uruchamia dodane skrypty */
        loader.loader = function(){

            var scripts = loader.getScriptsArray();

            for(var i = 0; i <loader.addedCount ; i++ ) {
                eval(scripts[i]);
//                document.write(script[i]);
            }

            return true;
        }

        /* Ładuje skrypt z elementu XML */
        loader.loadJScript = function(scriptTag) {

            var src = scriptTag.attributes.getNamedItem('src');

            if (src) loader.addSource(src.nodeValue);
            else loader.addScript(scriptTag.firstChild.nodeValue);
        }

        return loader;
    },

    /* 
     * Ładowanie stylów kaskadowych
     * parametrem jest elementem lub id elementu związanego
     * z załadowanymi stylami
     */
    createStyleLoader : function(destination) {
        var loader = new LoadAndRun();

        /* uruchamia dodane skrypty */
        loader.loader = function(){

            var scripts = loader.getScriptsArray();
            var element = el(destination);

            for(var i = 0; i <loader.addedCount ; i++ ) {
                element.innerHTML = scripts[i] + element.innerHTML;
            }

            return true;
        }

        /* Ładuje style z elementu XML */
        loader.loadStyle = function(styleTag) {

            var href = styleTag.attributes.getNamedItem('href');

            if (href) loader.addSource(href.nodeValue);
            else loader.addScript(styleTag.firstChild.nodeValue);
        }

        return loader;

    }


};
