
if(typeof(Tutu)=="undefined") Tutu = function(){}

Tutu._loadScriptTimeOut = 5000;
Tutu._loadScriptConunter =0;
Tutu._loadScriptTimeInterval = 1000;

Tutu._checkLoad = function(){
	
	var esta = true;
	var i;
	if(Tutu._loadScriptConunter>Tutu._loadScriptTimeOut) throw ("Tutu: Time Out to load Scripts");
		if (Tutu._scriptPool.length > 0) {
		for (i = 0; i < Tutu._scriptPool.length; i++) {			
			if (eval("typeof(" + Tutu._scriptPool[i] + ")=='undefined'")) {
					esta = false;
				break;
			}
		}		
		if (esta) {			
			Tutu._loadScriptConunter = 0;
			Tutu._init();
		}else{
		 Tutu._loadScriptConunter += Tutu._loadScriptTimeInterval;	
	     setTimeout(Tutu._checkLoad,Tutu._loadScriptTimeInterval);		
		}		
	}else{
		Tutu._loadScriptConunter += Tutu._loadScriptTimeInterval;	
		setTimeout(Tutu._checkLoad,Tutu._loadScriptTimeInterval);		
	}
	
}


Tutu._init = function(){};
Tutu.oninit = function(fn){ 
Tutu._init = fn;
Tutu._checkLoad();
}
Tutu._scriptPool = new Array();







Tutu._debug = function (texto){
				if (typeof(console) != "undefined") {
					console.debug(texto);
				}
				else {
					var divNode = document.createElement("div");
					divNode.innerHTML = texto;
					document.body.appendChild(divNode);
				}
			}

Tutu.require = function(pkg){
	
	
	
	
	function getScript(srcPart){
		var rtrValue = null;
		var headRef = document.getElementsByTagName("HEAD")[0];
		var scripts = headRef.getElementsByTagName("SCRIPT");

		var i,scriptSrc;

		for (i = 0; i < scripts.length; i++) {
			scriptSrc = scripts[i].src
			if (scriptSrc) 
				if (scriptSrc.indexOf(srcPart) >= 0) {
					rtrValue = scripts[i];
					break;
				}
		}
		return rtrValue;
	}
	
	
	var headRef = document.getElementsByTagName("HEAD")[0];
	var src = "";
	var hrefCaller = location.href;
	var hrefMy = getScript("Tutu.js").src;
	
	var aHref = hrefMy.split("/");	  	
	for(i=0;i<aHref.length-2;i++)
		src += aHref[i]+"/";
	src +=  pkg.replace(/\./g, "/")+".js";
	esta = (getScript(src)!=null)
	if (!esta) {
		Tutu._scriptPool.push(pkg);
		var scriptRef = document.createElement("SCRIPT");		
		scriptRef.firstChild
		scriptRef.setAttribute("type","text/javascript");
		scriptRef.setAttribute("src",src);
		if(headRef.hasChildNodes())
		headRef.insertBefore(scriptRef,headRef.firstChild);
		else headRef.appendChild(scriptRef)
	}
}



