var $j = jQuery.noConflict();

$j.namespace("ChemCore");

ChemCore.Delegate = function() {
    var _handlers = [];

    return {
        add: function(handler) {_handlers.push(handler); },
        fire: function() {
        for (var i = 0; i < _handlers.length; i++) {_handlers[i].apply(this,arguments); }
        //_handlers = [];
        
        },
        count: function() { return _handlers.length; }
    };
};

ChemCore.Session = function() {

    return {
            SID: function() {
                if ($j.readCookie('Session') != null) { return $j.readCookie('Session')['SID']; }
            },
            UMID: function() {
                if ($j.readCookie('UMID') != null) { return $j.readCookie('UMID'); }
            },  
            ETLMID: function() {
                if ($j.readCookie('ETL') != null) { return $j.readCookie('ETL')['MID']; }
            },
            UID: function(){
                if ($j.readCookie('Tracking') != null) { return $j.readCookie('Tracking')['UID']; }
            }
        };  
} ();
            
ChemCore.CurrentUser = function() {
    var _handle = "";
    var _subscribed = false;
    var _loggedIn = false;
    var _registered = false;
    var _readyDelegate = new ChemCore.Delegate();

    return {    
            Handle: function(handle) {
                if (arguments.length > 0) { _handle = handle; }
                else { return _handle; }
            },
            Subscribed: function(subscribed) {
                if (arguments.length > 0) { _subscribed = subscribed; }
                else { return _subscribed; }
            },
            Registered: function(registered) {
                if (arguments.length > 0) { _registered = registered; }
                else { return _registered; }
            },
            LoggedIn: function(loggedIn) {
                if (arguments.length > 0) { _loggedIn = loggedIn; }
                else { return _loggedIn; }
            },
            onReady: function(handler) { _readyDelegate.add(handler); },
            ready: function() { _readyDelegate.fire(); }
        }
    } ();


    ChemCore.Utils = function() {
    
        return {
        showCPPopup: function(popPath) {
                var path = 'CPPageView.aspx?tempf=' + popPath;
                $j('#jqmPopup').jqm({ trigger: false, modal: true, ajax: path, onShow: login, zIndex: 1000 });
                $j('#jqmPopup').jqmShow();
            }
        }
    } ();   

