| 
					
				 | 
			
			
				@@ -12,9 +12,6 @@ amber = (function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	var scripts = document.getElementsByTagName("script"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	var src     = scripts[ scripts.length - 1 ].src; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	var home    = src.split("/").slice(0, -2).join("/") + "/"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var amberPrefix = "amber/"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var amberCssPrefix = "amber/css";  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var amberJsPrefix = "amber/js";  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	var debug; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	var deploy; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -59,8 +56,8 @@ amber = (function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		loadDependencies(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		addJSToLoad('compat.js', amberJsPrefix); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		addJSToLoad('boot.js', amberJsPrefix); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		addJSToLoad('compat.js'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		addJSToLoad('boot.js'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if (deploy) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			loadPackages([ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -72,10 +69,10 @@ amber = (function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				'Kernel-Transcript.deploy', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				'Kernel-Announcements.deploy', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				'Canvas.deploy' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			], amberJsPrefix); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			loadIDEDependencies(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			loadCSS('amber.css', amberCssPrefix); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			loadCSS('amber.css'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			loadPackages([ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				'Kernel-Objects', 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -93,42 +90,45 @@ amber = (function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				'Examples', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				'Benchfib', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				'Kernel-Tests' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			], amberJsPrefix); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		var additionalFiles = spec.packages || spec.files; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if (additionalFiles) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			loadPackages(additionalFiles, spec.prefix); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			loadPackages(additionalFiles, spec.prefix, spec.packageHome); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		// Be sure to setup & initialize smalltalk classes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		addJSToLoad('init.js', amberJsPrefix); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		addJSToLoad('init.js'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		initializeSmalltalk(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	function loadPackages(names, prefix){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	function loadPackages(names, prefix, urlHome){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		var name, url; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		var prefix = prefix || 'js'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var urlHome = urlHome || home; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		for (var i=0; i < names.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			name = names[i].split(/\.js$/)[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			addJSToLoad(name + '.js', prefix); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			addJSToLoad(name + '.js', prefix, urlHome); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	function addJSToLoad(name, prefix) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		jsToLoad.push(buildJSURL(name, prefix)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	function addJSToLoad(name, prefix, urlHome) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var urlHome = urlHome || home; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		jsToLoad.push(buildJSURL(name, prefix, urlHome)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	function buildJSURL(name, prefix) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	function buildJSURL(name, prefix, urlHome) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		var prefix = prefix || 'js'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		var name = name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var urlHome = urlHome || home; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if (!deploy) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			name = name + nocache; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		return home + prefix + '/' + name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return urlHome + prefix + '/' + name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	function loadCSS(name, prefix) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -149,20 +149,20 @@ amber = (function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	function loadDependencies() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if (typeof jQuery == 'undefined') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			writeScriptTag(buildJSURL('lib/jQuery/jquery-1.6.4.min.js', amberJsPrefix)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			writeScriptTag(buildJSURL('lib/jQuery/jquery-1.6.4.min.js')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if ((typeof jQuery == 'undefined') || (typeof jQuery.ui == 'undefined')) {       
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			writeScriptTag(buildJSURL('lib/jQuery/jquery-ui-1.8.16.custom.min.js', amberJsPrefix)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			writeScriptTag(buildJSURL('lib/jQuery/jquery-ui-1.8.16.custom.min.js')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	function loadIDEDependencies() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		addJSToLoad('lib/jQuery/jquery.textarea.js', amberJsPrefix); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		addJSToLoad('lib/CodeMirror/codemirror.js', amberJsPrefix); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		addJSToLoad('lib/CodeMirror/smalltalk.js', amberJsPrefix); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		loadCSS('lib/CodeMirror/codemirror.css', amberJsPrefix); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		loadCSS('lib/CodeMirror/amber.css', amberJsPrefix); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		addJSToLoad('lib/jQuery/jquery.textarea.js'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		addJSToLoad('lib/CodeMirror/codemirror.js'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		addJSToLoad('lib/CodeMirror/smalltalk.js'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		loadCSS('lib/CodeMirror/codemirror.css', 'js'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		loadCSS('lib/CodeMirror/amber.css', 'js'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	// This will be called after JS files have been loaded 
			 |