| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
 | // Copyright (C) 2008,2009 BRAT Tech LLC
(function(previousOnLoad){
  var filename = /(.*)\/angular-(.*).js(#(.*))?/;
  var scripts = document.getElementsByTagName("script");
  var scriptConfig = {
      autoSubmit:true,
      autoBind:true,
      autoLoadDependencies:false
  };
  for(var j = 0; j < scripts.length; j++) {
    var src = scripts[j].src;
    if (src && src.match(filename)) {
      var parts = src.match(filename);
      if (parts[2] == 'bootstrap') {
        scriptConfig.autoLoadDependencies = true;
      }
      scriptConfig.server = parts[1] || '';
      if (!scriptConfig.server) {
        scriptConfig.server = window.location.toString().split(window.location.pathname)[0];
      }
      if (parts[4]) {
        var directive = parts[4].split('&');
        for ( var i = 0; i < directive.length; i++) {
          var keyValue = directive[i].split('=');
          var key = keyValue[0];
          var value = keyValue.length == 1 ? true : keyValue[1];
          if (value == 'false') value = false;
          if (value == 'true') value = true;
          scriptConfig[key] = value;
        }
      }
    }
  }
  var addScript = function(path, server){
    server = server || scriptConfig.server;
    document.write('<script type="text/javascript" src="' + server + path +'"></script>');
  };
  if (scriptConfig.autoLoadDependencies) {
    addScript("/javascripts/webtoolkit.base64.js");
    addScript("/javascripts/swfobject.js");
    addScript("/javascripts/jQuery/jquery-1.3.2.js");
    addScript("/javascripts/jQuery/jquery-ui-1.7.1.custom.min.js");
    addScript("/javascripts/underscore/underscore.js");
    addScript("/javascripts/nglr/Loader.js");
    addScript("/javascripts/nglr/API.js");
    addScript("/javascripts/nglr/Binder.js");
    addScript("/javascripts/nglr/ControlBar.js");
    addScript("/javascripts/nglr/DataStore.js");
    addScript("/javascripts/nglr/Filters.js");
    addScript("/javascripts/nglr/JSON.js");
    addScript("/javascripts/nglr/Model.js");
    addScript("/javascripts/nglr/Parser.js");
    addScript("/javascripts/nglr/Scope.js");
    addScript("/javascripts/nglr/Server.js");
    addScript("/javascripts/nglr/Users.js");
    addScript("/javascripts/nglr/Validators.js");
    addScript("/javascripts/nglr/Widgets.js");
  } else {
    addScript("/ajax/libs/swfobject/2.2/swfobject.js", "http://ajax.googleapis.com");
    addScript("/ajax/libs/jquery/1.3.2/jquery.min.js", "http://ajax.googleapis.com");
    addScript("/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js", "http://ajax.googleapis.com");
  }
  window.onload = function() {
    window.angular.init = function(root, config){
      var cnfgMerged = _.clone(scriptConfig||{});
      _.extend(cnfgMerged, config);
      new nglr.Loader(root, jQuery("head"), cnfgMerged).load();
    };
    var doc = window.document;
    if (scriptConfig.bindRootId) {
      doc = null;
      var ids = scriptConfig.bindRootId.split('|');
      for ( var i = 0; i < ids.length && !doc; i++) {
        var idCond = ids[i].split('?');
        var id = idCond[0];
        if (idCond.length > 1) {
          if (!window.document.getElementById(idCond[1])) {
            continue;
          }
        }
        doc = window.document.getElementById(id);
      }
    }
    if (scriptConfig.autoBind && doc) {
      window.angular.init(doc);
    }
    if (typeof previousOnLoad === 'function') {
      try {
      previousOnLoad.apply(this, arguments);
      } catch (e) {}
    }
  };
})(window.onload);
 |