/* tx.js - Version 1.01
	(c) tx websolutions gmbh
   ------------------------ */

var tx = function() 
	{
	this.filename	=	'tx.js';
	this.modules	=	'newsbox.tabboxes';
	this.baseurl	=	'http://';
	this.version	=	'1.01';
	this.events		=	{'onload'	:	[]};
	this.args		=	{};
	this.parameters=	{"startup"	:	false};
	
	this.includes 	=	function(js_source)
		{ document.write('<script type="text/javascript" src="' + js_source + '"></script>'); };
	
	this.init		=	function()
		{
		var scripts = document.getElementsByTagName("script");
		for (var i = 0; i < scripts.length; i++) 
			{ 
			if (scripts[i].getAttribute("src") != null && scripts[i].getAttribute("src").match(/tx\.js(\?.*)?$/)) 
			{ 
			this.baseurl 	= scripts[i].getAttribute("src").replace(/tx\.js(\?.*)?$/,''); 
			var includes 	= scripts[i].getAttribute("src").match(/\?.*up=([a-z,.]*)/); 
			var params 		= scripts[i].getAttribute("src").match(/\&parameter=([a-z0-9\+,.-]*)/);
			if (params != null)
				{
				param = params[1].split('+');	
				for (var p = 0; p < param.length; p++) 
					{ this.parameters[param[p].split('-')[0]] = param[p].split('-')[1]; }
				}
			if (includes != null) 
				{ 
				incs = (includes ? includes[1] : this.modules).split('.');
				for (var x = 0; x < incs.length; x++) { this.includes(this.baseurl + incs[x] + '.js'); }
				}
			}			
			}
		};
	
	// events
	this.addLoadEvent	=	function(event)
		{ this.addEvent('onload',event); }
	
	this.callLoadEvents	=	function()
		{ this.callEvent('onload'); }

	this.addEvent		=	function(event,eventfunction)
		{
		if (typeof eventfunction != 'function') { return; }
		if (arguments.length > 2)
			{
			this.args[eventfunction] = new Array();
			for (i = 2; i < arguments.length; i++)
				{ this.args[eventfunction].push(arguments[i]); }
			}
		if (typeof this.events[event] == 'undefined')
			{
			this.events[event] = new Array();
			this.events[event].push(eventfunction);
			}
		else
			{
			this.events[event].push(eventfunction);
			}			
		}
	
	this.callEvent		=	function(event)
		{
		if (typeof this.events[event] == 'undefined') { return; }
		for (var i = 0; i < this.events[event].length; i++)
			{ 
			if (typeof this.events[event][i] == 'function')
				{ 
				if (typeof this.args[this.events[event][i]] != 'undefined')
					{
					switch (this.args[this.events[event][i]].length)
						{
						case 1	:	
							this.events[event][i](this.args[this.events[event][i]][0]);
							break;
						case 2	:
							this.events[event][i](this.args[this.events[event][i]][0],this.args[this.events[event][i]][1]);
							break;
						case 3	:
							this.events[event][i](this.args[this.events[event][i]][0],this.args[this.events[event][i]][1],this.args[this.events[event][i]][2]);
							break;
						case 4	:
							this.events[event][i](this.args[this.events[event][i]][0],this.args[this.events[event][i]][1],this.args[this.events[event][i]][2],this.args[this.events[event][i]][3]);
							break;
						case 5	:
							this.events[event][i](this.args[this.events[event][i]][0],this.args[this.events[event][i]][1],this.args[this.events[event][i]][2],this.args[this.events[event][i]][3],this.args[this.events[event][i]][4]);
							break;
						}
					}
				else
					{
					this.events[event][i]();
					} 
				
				}
			}
		}

	this.$	=	function(elementid)
		{
		if (arguments.length > 1) 
			{
    		for (var i = 0, elements = [], length = arguments.length; i < length; i++)
    			{
      		elements.push(this.$(arguments[i]));
      		}
    		return elements;
  			}
  		if (document.getElementById(elementid)) return document.getElementById(elementid);
		}
}

if (typeof tx != 'object') { tx = new tx(); tx.init(); }

window.onload = function ()
	{ tx.callLoadEvents(); }