var tabCount = 0;
var tab_active;
var tab_hover;
var activeTabNumber = -1;

// tabs constructor
function tabsConst() {

	// preload tab images
	tab_active = new Image();
	tab_active.src = img_basedir + 'images/tabs/tab_active.gif';

	tab_hover = new Image();
	tab_hover.src = img_basedir + 'images/tabs/tab_hover.gif';

	// get number of tabs
	for (var i=0; tabExists(i); i++) {
		// number of tabs equal number of page contents
		tabCount++;
	}

	// tab hover and click listeners
	attachTabListeners();

	// activate first tab by default
	activateTab(0);

	
	var arrUrl = location.href.split('#');
	if (arrUrl.length > 1) {
		if (arrUrl[1] == 'contact') {
			activateTab(1);
		}
	}
}

function attachTabListeners() {
	var curtab;
	if (window.addEventListener) { // moz
		for (var i=0; i<tabCount; i++) {
			curtab = ge('body_tab_'+i);
			curtab.setAttribute('offset',i);
			curtab.addEventListener('mouseover', tabOver, false);
			curtab.addEventListener('mouseout', tabOut, false);
			curtab.addEventListener('click', tabActivate, false);
		}
	}
	else { // ie
		for (var i=0; i<tabCount; i++) {
			curtab = ge('body_tab_'+i);
			curtab.setAttribute('offset',i);
			curtab.attachEvent('onmouseover', tabOver);
			curtab.attachEvent('onmouseout', tabOut);
			curtab.attachEvent('onclick', tabActivate);
		}
	}
}

function tabOver(e) {
	var curtab;
	var tabOffset;
	e[e_moz] ? curtab = e[e_moz] : curtab = e[e_ie];	
	tabOffset = curtab.getAttribute('offset');
	hoverTab(tabOffset);
}
function tabOut(e) {
	var curtab;
	var tabOffset;
	e[e_moz] ? curtab = e[e_moz] : curtab = e[e_ie];	
	tabOffset = curtab.getAttribute('offset');
	outTab(tabOffset);
}
function tabActivate(e) {
	var curtab;
	var tabOffset;
	e[e_moz] ? curtab = e[e_moz] : curtab = e[e_ie];	
	tabOffset = curtab.getAttribute('offset');
	activateTab(tabOffset);
}

function activateTab(n) {
	if (n != activeTabNumber) {
		var tab;
		var oldTab;
		var tabContent;
		var oldTabContent;
		tab = ge('body_tab_'+n);
		tab.style.backgroundImage = 'url('+img_basedir+'images/tabs/tab_active.gif)';

		// disable old active tab
		if (activeTabNumber >= 0) {
			oldTab = ge('body_tab_'+activeTabNumber);
			oldTab.style.backgroundImage = 'url('+img_basedir+'images/tabs/tab.gif)';
			oldTabContent = ge('body_tab_content_'+activeTabNumber);
			oldTabContent.style.display = 'none';
		}
		activeTabNumber = n;

		// show content
		tabContent = ge('body_tab_content_'+n);
		tabContent.style.display = '';
	}
}
function hoverTab(n) {
	if (n != activeTabNumber) {
		var tab;
		tab = ge('body_tab_'+n);
		tab.style.backgroundImage = 'url('+img_basedir+'images/tabs/tab_hover.gif)';
	}
}
function outTab(n) {
	if (n != activeTabNumber) {
		var tab;
		tab = ge('body_tab_'+n);
		tab.style.backgroundImage = 'url('+img_basedir+'images/tabs/tab.gif)';
	}
}
function tabExists(n) {
	var t = ge('body_tab_'+n);
	return t != null;
}