4 * Ajatus - Distributed CRM
5 * @requires jQuery v1.2.1
7 * Copyright (c) 2007 Jerry Jalava <jerry.jalava@gmail.com>
8 * Copyright (c) 2007 Nemein Oy <http://nemein.com>
9 * Website: http://ajatus.info
10 * Licensed under the GPL license
11 * http://www.gnu.org/licenses/gpl.html
16 $.ajatus = $.ajatus || {};
17 $.ajatus.extension = $.ajatus.extension || {};
19 $.ajatus.extensions = {
23 $.extend($.ajatus.extensions, {
24 init: function(options){
26 on_ready: function(){return;}
29 $.ajatus.events.named_lock_pool.increase('init_extensions');
30 $.ajatus.extensions.lock = new $.ajatus.events.lock({
32 validate: function(){return $.ajatus.events.named_lock_pool.count('init_extensions') == 0;},
36 on_release: options.on_ready
39 if ($.ajatus.preferences.client.extensions.length > 0) {
40 $.each($.ajatus.preferences.client.extensions, function(i,ext){
41 $.ajatus.extensions.load(ext);
45 $.ajatus.events.named_lock_pool.decrease('init_extensions');
47 load: function(extension) {
48 $.ajatus.events.named_lock_pool.increase('init_extensions');
50 var ext_url = $.ajatus.preferences.client.application_url + 'js/extensions/' + extension + '.js';
51 $.ajatus.utils.load_script(ext_url, "$.ajatus.extensions.extension_loaded", [extension]);
53 extension_loaded: function(extension) {
54 $.ajatus.extensions.loaded[extension] = $.ajatus.extension[extension];
55 $.ajatus.extensions.init_extension(extension);
57 init_extension: function(extension){
58 $.ajatus.events.named_lock_pool.decrease('init_extensions');