// Telmedia-Audaxis Gama v.1.0, January 2007

var Gama = {
	
	Version: "1.0",
	
	// CONFIG
	AlertOnError: false,
	
	Libraries: "display,display.blindmenu,display.fixblock",
	
	require: function(libraryName) {
		document.write('<script type="text/javascript" src="' + libraryName + '"></script>');
	},
	
	Load: function(){
		if (typeof Scriptaculous == "undefined" || 
			parseFloat(Scriptaculous.Version.split(".")[0] + "." + Scriptaculous.Version.split(".")[1]) < 1.6)
		{
			this.fail("Scriptaculous v.1.6 or upper is needed");
		}

		var scripts = new Array();
		if (document.getElementsByTagName("head").length > 0)
			$A(document.getElementsByTagName("head")[0].getElementsByTagName("script")).each(function(s){scripts.push(s)});
		if (document.getElementsByTagName("body").length > 0)
			$A(document.getElementsByTagName("body")[0].getElementsByTagName("script")).each(function(s){scripts.push(s)});
		
		scripts.findAll(function(s)
		{
			return (s.src && s.src.match(/gama\.js(\?.*)?$/))
		}).each( function(s)
			{
				var path = s.src.replace(/gama\.js(\?.*)?$/,'');
				var includes = s.src.match(/\?.*load=([a-z,]*)/);
				(includes ? includes[1] : Gama.Libraries).split(',').each(function(include) 
				{
					Gama.require(path + "gama." + include + '.js')
				});
		});
	},
	
	Fail: function(msg){
		msg = "Gama v." + this.Version + " : \n" + msg;
		if (this.AlertOnError)
			alert(msg);
		throw(msg);
	}
}

Gama.Load();