/////////////////////////////////////
//
// START oWLoader
//
/////////////////////////////////////

function ow() {
	
	this.type = "ow";
	this.debugMsg = "";
	this.includePath = "";
	var allscripts = document.getElementsByTagName("script");
	for (i = 0; allscripts[i]; i++) {
		if (allscripts[i].src.match("ow.js")) {
			this.includePath = allscripts[i].src.replace("ow/ow.js", "");
			break;
		}
	}
	this.loadedScript = new Array; // Array global, contenant les fichiers js inclus.
	
	this.includeDynamik = ow_includeDynamik;
	this.include = ow_include;
	this.scriptLoader = ow_scriptLoader;
	
	function ow_includeDynamik(fichier)
	{
		var scriptData = new ow.ajax.request(fichier, "SCRIPT");
		scriptData.sync = false;
		scriptData.openMethod = "GET";
		scriptData.send();
	}
	
	function ow_include(fichier)
	{
		document.write("<script type='text/javascript' src='"+fichier+"'></script>");
	}
	
	function ow_scriptLoader(url) { // Script d'inclusion de fichier js.
		var dynamik = true;
		if (typeof(arguments[1]) != "undefined") {
			dynamik = arguments[1];
		}
		if (url in ow.loadedScript) {
			this.debugMsg += url + " : Class already include.\n";
		} else {
			var allClass = url.split(".");
			var loadedClass = "ow";
			for (var i = 1; allClass[i]; i++) {
				loadedClass += "." + allClass[i];
				eval("if (typeof("+loadedClass+") != 'object') {\
					"+loadedClass+" = new Object();\
				}");
			}
	
			var scriptUrl = url.replace(/\./g, "/");
			scriptUrl = this.includePath+scriptUrl+".js";
			
			if (dynamik == true) {
				this.debugMsg += "Load Js file dynamik : "+scriptUrl+"\n";
				this.includeDynamik(scriptUrl);
			} else {
				this.debugMsg += "Load Js file statik : "+scriptUrl+"\n";
				this.include(scriptUrl);
			}
			this.loadedScript[url] = scriptUrl;
		}
	}
	
}

var ow = new ow();
ow.scriptLoader("ow.ajax.request", false);

/////////////////////////////////////
//
// END oWLoader
//
/////////////////////////////////////