var totalTabs = 0;
var catList;
var tabAreaTitles = new Array();
var tabAreaContainers = new Array();
var activeTab = 0;

function catalogueTabs() {
	
	if(document.getElementById("catalogueList") || document.getElementById("tabPanel")) {
	
		if(document.getElementById("catalogueList")) {
			
			//************************************
			//**********  LISTING TABS  **********
			//************************************
			
			// tabbed catalogue listing
			catList = document.getElementById("catalogueList");
			// store all tab DTs text
			counter = 0;
			objList = catList.getElementsByTagName("DT");
			for(i=0;i<objList.length;i++) {
				if(objList[i].className == "tabContentDT") {
					tabAreaTitles[counter] = objList[i].innerHTML;
					counter += 1;
				}
			}
			// store all tab DDs
			counter = 0;
			objList = catList.getElementsByTagName("DD");
			for(i=0;i<objList.length;i++) {
				if(objList[i].className == "tabContentDD") {
					tabAreaContainers[counter] = objList[i];
					counter += 1;
				}
			}
		} else if(document.getElementById("tabPanel")) {
			
			//********************************************
			//**********  PRODUCT DETAILS TABS  **********
			//********************************************
			
			// store all H2 text
			counter = 0;
			objList = document.getElementById("tabPanel").getElementsByTagName("H2");
			for(i=0;i<objList.length;i++) {
				if (objList[i].className == "") {
					tabAreaTitles[counter] = objList[i].innerHTML;
					counter += 1;
				}
			}
			// store all tab containers
			counter = 0;
			for(i=0;i<tabAreaTitles.length;i++) {
				tabAreaContainers[counter] = document.getElementById("tab" + i);
				counter += 1;
			}
		}
		// reveal first tab content
		tabAreaContainers[0].style.display = "block";
		// build tabs
		if(tabAreaTitles.length > 0) {
			tabContainer = document.getElementById("tabNav");
			// set class of tabs containing div
			tabContainer.className = "active";
			// write code
			tabsCode = "";
			for(i=0;i<tabAreaContainers.length;i++) {
				if(i==0) {
					tabsCode += "<a id='jsTab0' class='tabOn' href='javascript:openTab(0);'><span class='tabLeftEdge'><\/span><span class='tabTitle'>" + tabAreaTitles[0] + "<\/span><\/a>";
				} else {
					tabsCode += "<a id='jsTab" + i + "' class='tabOff' href='javascript:openTab(" + i + ");'><span class='tabLeftEdge'><\/span><span class='tabTitle'>" + tabAreaTitles[i] + "<\/span><\/a>";
				}
			}
			tabContainer.innerHTML = tabsCode;
		}
		
		// Get location query (to check for turning tabs on and off)
		var tabOn = -1;
		var queryArray = new Array;
		queryArray = document.location.search.substring(1).split("&");
		if (queryArray.length > 0) {
			for (var i in queryArray) {
				// Look for tab numbers
				if (queryArray[i].toLowerCase().indexOf("tabnum") >= 0) {
					var querySplit = new Array;
					querySplit = queryArray[i].split("=");
					if (querySplit.length > 0) { tabOn = parseInt(querySplit[1]) - 1; break; }
				}
			}
		}
		if (tabOn >= 0) openTab(tabOn);
	}
}

function openTab(getIndex) {
	if(getIndex != activeTab) {
		// update content
		tabAreaContainers[activeTab].style.display = "none";
		tabAreaContainers[getIndex].style.display = "block";
		// update tabs
		document.getElementById("jsTab" + activeTab).className = "tabOff";
		document.getElementById("jsTab" + getIndex).className = "tabOn";
		activeTab = getIndex;
	}
}

// Function to show and hide content within tabs
function showHideItem(trimmedDiv,fullDiv) {
	var trimmedElement = document.getElementById(trimmedDiv);
	var fullElement = document.getElementById(fullDiv);
	if (trimmedElement.style.display == "none" ) {
		trimmedElement.style.display = "block";
		fullElement.style.display = "none";
	} else if (trimmedElement.style.display == "block" || trimmedElement.style.display == "") {
		trimmedElement.style.display = "none";
		fullElement.style.display = "block";
	}
}
