/*
	Tabbit 1.1
	February 2011
	Andy Green
*/

var tabbit = {

	setup: function(p,t){

		var p = document.getElementById(p),
			t = document.getElementById(t),
			pages = this.cleanNodes(p.childNodes),
			tabs = this.cleanNodes(t.getElementsByTagName('a'));

		if(pages.length === tabs.length){

			for(var tab in tabs){
				tabs[tab].onclick = function(){
					location.hash = this.hash;
					tabbit.switchTab(this.hash,pages);
					for(var tab in tabs){
						tabs[tab].parentNode.className = '';
					}
					this.parentNode.className = 'selected';
					return false;
				}
			}

			if(location.hash && location.hash !== '#'){
				this.switchTab(location.hash,pages);
				for(var tab in tabs){
					if(tabs[tab].hash === location.hash){
						tabs[tab].parentNode.className = 'selected';
					}
				}
			}
			else{
				this.switchTab(tabs[0].hash,pages);
				tabs[0].parentNode.className = 'selected';
			}
		}
	},

	switchTab: function(hash,list){

		hash = hash.substring(1);

		for(var item in list){
			if(list[item].id === hash){
				list[item].style.display = 'block';
			}
			else{
				list[item].style.display = 'none';
			}
		}
	},

	cleanNodes: function(list){

		var count = list.length,
			tags = [],
			i = 0;

		for(i; i < count; i++){
			if(list.item(i).nodeType == 1){
				tags.push(list.item(i));
			}
		}

		return tags;
	}
};
