/**
 * includes
 */
var mainStat = 
{
	start : false,
	init : false,
	domready : false,
	scriptLoaded : false
};

var includes = {}; 

//ie7 und ie8 hack!!
function main(ev, fnc)
{
	if (ev == "domready") mainStat.domready = true;
	if (ev == "scriptloaded") mainStat.scriptLoaded = true;

	if (mainStat.domready == false || mainStat.scriptLoaded == false) return false;
	//Clientcide.setAssetLocation("./assets");

	if (mainStat.init == false) {MAC.init(); mainStat.init = true;}
	if (mainStat.init == true && mainStat.start == false) {MAC.start(); mainStat.start = true;}
	return true;
}
window.addEvent("scriptloaded", function() 
{
	main("scriptloaded", "init");
	window.removeEvents("scriptloaded");
});


/**
 * asset
 * laed alle JavaScript Dateien in 'el'
 * @param Object Liste JavaScript Dateien 
*/
 
var meUri = new URI();
var srcPath="../js/src/macrocom/classes/";
var incPath="./js/";

function _asset(hIncludes, count)
{
	var meAsset = null;
	if (! (count<Object.values(hIncludes).length) ) return;
	var val = Object.values(hIncludes)[count];
	var key = Object.keyOf(hIncludes, val);
	var script = (val.substr(0, 1) == ".")? val : srcPath+val;

		meAsset = new Asset.javascript(script, 
		{
			id : key, 
			onload: function(){ _asset(hIncludes, ++count) }
		});
	
	if (Browser.Engine.trident != true) dbug.log('includes loaded', 5); 
}
// wenn debug modus
if (meUri.getData("source") == "true") 
{
	
	var oRequest = null;
	//var file = srcPath+"includes.json";
	var file = "./js/includes.json";
	oRequest = new Request.JSON(
	{
		url: file,
		method: "get",
		async: false,
		onComplete: function(el)
		{
			$extend(includes, el);
			//$extend(includes, {myServerConf: "./conf/server.inc.js"});
		},
		isSuccess : function( status)
		{	
			return (status==0 || (status >= 200) && (status < 300));
		}
	});
	
	try { oRequest.send(); }
	catch(e)
	{
		alert('includes not found:'+file+""+e);
	}
	window.addEvent("loadedServerconf", function()
	{
		window.removeEvents("loadedServerconf");
		_asset(includes, 0);
	});
	new Asset.javascript("./conf/server.inc.js", {id: "myServerConf"});
}

//wenn normal Modus
else 
{
	window.addEvent("loadedServerconf", function()
	{
		new Asset.javascript("./lib/kuepla.js", {id: "myIncludes"});
		window.removeEvents("loadedServerconf");	
	});
	new Asset.javascript("./conf/server.inc.js", {id: "myServerConf"});
}
