var tabs = {
	itemlist 			: {},
	selectorOfHtmlToReplace: '#tablist',
	tabbuttons			: [],
	maxitemsinlist		: 6,

	addItem 			: function(buttonid,link,title) {
		if(this.itemlist[buttonid].length < this.maxitemsinlist)
			this.itemlist[buttonid][this.itemlist[buttonid].length] = {'link' : link, 'title' : title};
	},
	addTab				: function (name,selector) {
		this.tabbuttons[this.tabbuttons.length] = {
			'name'		: name,
			'selector'	: selector
		}

		this.itemlist[name] = [];
	},
	openTab				: function(name) {
		this.putItemsInBox(name);
		this.makeTabActive(name);
	},
	setDefaultMessage	: function(name,message) {
		$each(tabs.tabbuttons,function(object,key) {
			if(object.name == name) {
				object.defaultMessage = message;
			}
		});
	},
	makeTabActive 		: function(name) {
		$each(tabs.tabbuttons,function(object,key) {
			if(object.name == name) {
				$$(object.selector).set('class','active');
			} else {
				$$(object.selector).set('class','nonactive');
			}
		});

	},
	putItemsInBox 		: function(buttonid) {
		var htmlstring = '<ul>';
		counter = 0;
		/* build list */
		$each(this.itemlist[buttonid],function(item) {
			htmlstring += '<li><a href="' + item.link + '">' + item.title + '</a></li>';
			counter++;
		});

		htmlstring += '</ul>';

		if(counter == 0) {
			$each(tabs.tabbuttons,function(object,key) {
				if(object.name == buttonid && typeof object.defaultMessage != 'undefined') {
					htmlstring = '<span style="padding:5px;">' + object.defaultMessage + '</span>';
				}
			});
		}

		$$(this.selectorOfHtmlToReplace).set('html',htmlstring);
	},
	init 				: function() {
		$each(this.tabbuttons,function(object,key) {
			$$(object.selector).addEvent('click', function() {
				tabs.openTab(object.name);
			});
		});
	}
}

window.addEvent('domready',function() {
	tabs.init();
});

