|  | @@ -4,14 +4,24 @@
 | 
	
		
			
				|  |  |      var scripts = document.getElementsByTagName("script");
 | 
	
		
			
				|  |  |      var src = scripts[ scripts.length - 1 ].src;
 | 
	
		
			
				|  |  |      var home = src.split("/").slice(0, -2).join("/") + "/";
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | +    var nocache = '?' + (new Date()).getTime();
 | 
	
		
			
				|  |  | +    var deploy = false;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      function loadJS(name, prefix) {
 | 
	
		
			
				|  |  |  	var prefix = prefix || 'js';
 | 
	
		
			
				|  |  | +	var name = name;
 | 
	
		
			
				|  |  | +	if(!deploy) {
 | 
	
		
			
				|  |  | +	    name = name + nocache;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  |  	document.write('<script src="' + home + prefix + '/' + name + '" type="text/javascript"></script>');
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |      
 | 
	
		
			
				|  |  |      function loadCSS(name, prefix) {
 | 
	
		
			
				|  |  |  	var prefix = prefix || 'css';
 | 
	
		
			
				|  |  | +	var name = name;
 | 
	
		
			
				|  |  | +	if(!deploy) {
 | 
	
		
			
				|  |  | +	    name = name + nocache;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  |  	var link = document.createElement("link")
 | 
	
		
			
				|  |  |    	link.setAttribute("rel", "stylesheet")
 | 
	
		
			
				|  |  |    	link.setAttribute("type", "text/css")
 | 
	
	
		
			
				|  | @@ -32,47 +42,55 @@
 | 
	
		
			
				|  |  |  	loadCSS('lib/CodeMirror/theme/jtalk.css', 'js');
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    window.loadJtalk = function(files, prefix) {
 | 
	
		
			
				|  |  | +    window.loadJtalk = function(spec) {
 | 
	
		
			
				|  |  | +	/* 
 | 
	
		
			
				|  |  | +	 example: 
 | 
	
		
			
				|  |  | +	 loadJtalk({
 | 
	
		
			
				|  |  | +	   files: ['MyCategory1.js', 'MyCategory2.js'], 
 | 
	
		
			
				|  |  | +	   ready: function() {smalltalk.Browser._open()}
 | 
	
		
			
				|  |  | +	 })
 | 
	
		
			
				|  |  | +	*/
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	deploy = spec.deploy;
 | 
	
		
			
				|  |  |  	loadDependencies();
 | 
	
		
			
				|  |  | -	loadIDEDependencies();
 | 
	
		
			
				|  |  | -	loadCSS('jtalk.css');
 | 
	
		
			
				|  |  | -	loadCSS('sunit.css');
 | 
	
		
			
				|  |  | -	loadJS("boot.js");
 | 
	
		
			
				|  |  | -	loadJS("Kernel.js");
 | 
	
		
			
				|  |  | -	loadJS("Canvas.js");
 | 
	
		
			
				|  |  | -	loadJS("JQuery.js");
 | 
	
		
			
				|  |  | -	loadJS("Compiler.js");
 | 
	
		
			
				|  |  | -	loadJS("parser.js");
 | 
	
		
			
				|  |  | -	loadJS("IDE.js");
 | 
	
		
			
				|  |  | -	loadJS("SUnit.js");
 | 
	
		
			
				|  |  | -	loadJS("Examples.js");
 | 
	
		
			
				|  |  | -	loadJS("Benchfib.js");
 | 
	
		
			
				|  |  | -	loadJS("Kernel-Tests.js");
 | 
	
		
			
				|  |  | -	loadJS("JQuery-Tests.js");
 | 
	
		
			
				|  |  | -	loadJS("TrySmalltalk.js");
 | 
	
		
			
				|  |  | -	if(files) {
 | 
	
		
			
				|  |  | -	    for(var i=0; i < files.length; i++) {
 | 
	
		
			
				|  |  | -		loadJS(files[i], prefix);
 | 
	
		
			
				|  |  | -	    }
 | 
	
		
			
				|  |  | -	}
 | 
	
		
			
				|  |  | +	if(deploy) {
 | 
	
		
			
				|  |  | +	    loadJS("boot.js");
 | 
	
		
			
				|  |  | +	    loadJS("Kernel.deploy.js");
 | 
	
		
			
				|  |  | +	    loadJS("Canvas.deploy.js");
 | 
	
		
			
				|  |  | +	    loadJS("JQuery.deploy.js");
 | 
	
		
			
				|  |  | +	} else {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	loadJS("init.js");
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | +	    loadIDEDependencies();
 | 
	
		
			
				|  |  | +	    loadCSS('jtalk.css');
 | 
	
		
			
				|  |  | +	    loadCSS('sunit.css');
 | 
	
		
			
				|  |  | +	    loadJS("boot.js");
 | 
	
		
			
				|  |  | +	    loadJS("Kernel.js");
 | 
	
		
			
				|  |  | +	    loadJS("Canvas.js");
 | 
	
		
			
				|  |  | +	    loadJS("JQuery.js");
 | 
	
		
			
				|  |  | +	    loadJS("Compiler.js");
 | 
	
		
			
				|  |  | +	    loadJS("parser.js");
 | 
	
		
			
				|  |  | +	    loadJS("IDE.js");
 | 
	
		
			
				|  |  | +	    loadJS("SUnit.js");
 | 
	
		
			
				|  |  | +	    loadJS("Examples.js");
 | 
	
		
			
				|  |  | +	    loadJS("Benchfib.js");
 | 
	
		
			
				|  |  | +	    loadJS("Kernel-Tests.js");
 | 
	
		
			
				|  |  | +	    loadJS("JQuery-Tests.js");
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    window.loadJtalkDeploy = function(files, prefix) {
 | 
	
		
			
				|  |  | -	loadDependencies();
 | 
	
		
			
				|  |  | -	loadJS("boot.js");
 | 
	
		
			
				|  |  | -	loadJS("Kernel.deploy.js");
 | 
	
		
			
				|  |  | -	loadJS("Canvas.deploy.js");
 | 
	
		
			
				|  |  | -	loadJS("JQuery.deploy.js");
 | 
	
		
			
				|  |  | +	if(spec.files) {
 | 
	
		
			
				|  |  | +	    for(var i=0; i < spec.files.length; i++) {
 | 
	
		
			
				|  |  | +		loadJS(spec.files[i], spec.prefix);
 | 
	
		
			
				|  |  | +	    }
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	if(files){
 | 
	
		
			
				|  |  | -	    for(var i=0; i < files.length; i++) {
 | 
	
		
			
				|  |  | -		loadJS(files[i], prefix);
 | 
	
		
			
				|  |  | +	smalltalkReady = function() {
 | 
	
		
			
				|  |  | +	    if(spec.ready) {
 | 
	
		
			
				|  |  | +		spec.ready();
 | 
	
		
			
				|  |  |  	    }
 | 
	
		
			
				|  |  | +	    if(deploy) {smalltalk.setDeploymentMode()}
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	loadJS("init.js");
 | 
	
		
			
				|  |  | -	loadJS("deploy.js");
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  })();
 |