﻿
var WFLY = function () {
    var version = "";
    var serverDate = "";
    return {
        init: function(o) { version = o.version; serverDate = new Date(o.serverDate); },
        debug: function(s) { if (console) console.debug(s); },
        info: function(s) { if (console) console.info(s); },
        log: function(s) { if (console) console.log(s); },
        err: function(s) { if (console) console.error(s); },
        releaseDollar: false,
        getServerDate: function() { return serverDate; },
        getVersion: function() { return version; }
    };
}();

WFLY.scriptManager = function () {
    var PROTOTYPE_LIB_PATH = "http://ajax.googleapis.com/ajax/libs/prototype/1.6.1.0/prototype.js";
    var SCRIPTACULOUS_LIB_PATH = "http://ajax.googleapis.com/ajax/libs/scriptaculous/1.8.3/scriptaculous.js";
    
    function loadJsLib(filename) {
        var fileref = document.createElement('script');
        fileref.setAttribute('type','text/javascript');
        fileref.setAttribute('src', filename);   
        addLibToHead(fileref);
    }
    
    function loadCssLib(filename, media) {
        var fileref = document.createElement('link');
        fileref.setAttribute('rel', 'stylesheet');
        fileref.setAttribute('type', 'text/css');
        fileref.setAttribute('href', filename);
        if (media != null)
            fileref.setAttribute('media', media);
        addLibToHead(fileref);
    }
    
    function addLibToHead(fileref) {
        document.getElementsByTagName('head')[0].appendChild(fileref);
    }
    
    return {
        init: function(o) {
            if (o != null) {
                if (o.prototypeOn || o.scriptaculousOn) loadJsLib(PROTOTYPE_LIB_PATH);
                if (o.scriptaculousOn) loadJsLib((o.scriptaculousOptions.length > 0)?SCRIPTACULOUS_LIB_PATH + '?load=' + o.scriptaculousOptions:SCRIPTACULOUS_LIB_PATH);
            }
        },
        addJsLib: loadJsLib,
        addCssLib: loadCssLib
    };
}();

// WFLY.scriptManager.init({prototypeOn: true, scriptaculousOn: true, scriptaculousOptions: 'effects'});

