function loadItem(tab,article) {
	// associate tabs and items to id values
	switch(tab) {
		case "demos":
			resetMenuCSS("product_menuI");
			switch(article) {
				case "hosted-demo":
					article = 1;
				break;
				case "intro-to-bi-suite":
					article = 2;
				break;
				case "r-project-with-pentaho":
					article = 3;
				break;
				case "bi-on-iphone":
					article = 4;
				break;
				case "pentaho-architecture-overview":
					article = 5;
				break;
				case "ad-hoc-reporting":
					article = 6;
				break;
				case "google-maps-demo":
					article = 7;
				break;
				case "pdi-agile-matt":
					article = 8;
				break;
				case "pdi4-intro":
					article = 9;
				break;
				case "pdi4-tutorial":
					article = 10;
				break;
				case "data-mining-overview":
					article = 11;
				break;
				case "report-designer-tutorial":
					article = 12;
				break;
				case "installing-bi-windows":
					article = 13;
				break;
				case "installing-bi-linux":
					article = 14;
				break;
				case "analyzer-preview":
					article = 15;
				break;
			}		
		break;
		case "cases":
			resetMenuCSS("product_menuJ");
			switch(article) {
				case "sph-deploys-pentaho-bi":
					article = 1;
				break;
				case "mozilla-transforms-bi":
					article = 2;
				break;
				case "ziprealty-goes-open-source":
					article = 3;
				break;
				case "healthcare-deploys-pentaho":
					article = 4;
				break;
				case "unionfidi-uses-pentaho-for-bi":
					article = 5;
				break;
				case "bnsf-logistics-deploys-pentaho":
					article = 6;
				break;
				case "federal-agencies-leverage-pentaho":
					article = 7;
				break;
				case "risk-reduction":
					article = 8;
				break;
				case "outstanding-citizen-service":
					article = 9;
				break;
				case "schufa-proratio":
					article = 10;
				break;
				case "swiss-colony-integrates-pentaho":
					article = 11;
				break;
				case "marketo-customer-success":
					article = 12;
				break;
			}		
		break;
		case "papers":
			resetMenuCSS("product_menuK");
			switch(article) {
				case "deploying_data_mining_models":
					article = 1;
				break;
				case "tdwi_report_deploy_metrics":
					article = 2;
				break;
				case "trading_desk_whitepaper":
					article = 3;
				break;
				case "dbta_08_survey":
					article = 4;
				break;
				case "bi-acceptance-and-adoption":
					article = 5;
				break;
				case "strategies-for-managing-spreadmarts":
					article = 6;
				break;
				case "etl-tools-comparison":
					article = 7;
				break;
				case "proprietary-bi-consolidation":
					article = 8;
				break;
				case "pentaho-linear-scalability":
					article = 9;
				break;
				case "pentaho-osbi-platform-technical-whitepaper":
					article = 10;
				break;
                                case "biwi-whitepaper":
                                    article = 11;
                                break;
                                case "ovum_technology_audit":
                                    article = 12;
                                break;
			}		
		break;
		case "insights":
			resetMenuCSS("product_menuL");
			switch(article) {
				case "adoption-usage-osbi-reporting":
					article = 1;
				break;
				case "osbi-data-warehousing":
					article = 2;
				break;
				case "dbta-bi-survey-results":
					article = 3;
				break;
				case "bi-acceptance-and-adoption":
					article = 4;
				break;
				case "open-source-etl":
					article = 5;
				break;
				case "recipe-for-pervasive-bi":
					article = 6;
				break;
				case "change-the-way-you-buy-and-own-bi":
					article = 7;
				break;
				case "ins-and-outs-of-osbi-tdwi":
					article = 8;
				break;
				case "taking-the-wheel":
					article = 9;
				break;
				case "translating-open-source-to-bi":
					article = 10;
				break;
				case "operational-bi-on-a-budget":
					article = 11;
				break;
				case "grow-existing-bi-deployments-at-lower-tco":
					article = 12;
				break;
				case "simplifying-bi":
					article = 13;
				break;
			}		
		break;
	}
	
	// handle proper tab setting
	var tabMenu = document.getElementById("tabMenu");
	var tabMenuLinks = tabMenu.getElementsByTagName("a");
	var tabMenuSpans = tabMenu.getElementsByTagName("span");
	
	// loops through each changing class name
	for(var tabs = 0; tabs < tabMenuLinks.length; ++tabs) {
		if(tabMenuLinks[tabs].id == tab + "Tab") {
			// set both link and span to class=on
			tabMenuLinks[tabs].className = "on";
			tabMenuSpans[tabs].className = "on";
		} else {
			// set others to no class
			tabMenuLinks[tabs].className = "";
			tabMenuSpans[tabs].className = "";
		}
	}
	// bold proper menu item for what was clicked
	var leftMenuList = document.getElementById(tab + "Menu");
	var leftMenuListLinks = leftMenuList.getElementsByTagName("div");
	for(var links = 0; links < leftMenuListLinks.length; ++links) {
		if(leftMenuListLinks[links].id == tab + "Link" + article) {
			leftMenuListLinks[links].className = "sectionLinkActive";
		} else {
			leftMenuListLinks[links].className = "sectionLink";
		}
	}
	
	// prevent js calls to bogus tab/content
	if(document.getElementById(tab + "_content" + article)) {
		// check requested tab  display
		// - show if hidden else dont worry
		// - also make sure tab exists
		if(document.getElementById(tab + "TabContent").style.display != "block") {
			var oDiv = document.getElementById('tabSection');
			if(oDiv.firstChild) { // check for children
				var oChild = oDiv.firstChild;
				while(oChild) { // run over them
					if(oChild.nodeType==1) { // element
						if(oChild.id == (tab + "TabContent")) {
							document.getElementById(tab + "TabContent").style.display = "block";
						} else if(oChild.id.indexOf("TabContent") > -1) {
							document.getElementById(oChild.id).style.display = "none";
						}
					}
					oChild = oChild.nextSibling;
				}
			}
		}
		// show proper content for link clicked
		var childCount = 0;
		var oDiv = document.getElementById(tab + 'ItemContent');
		if(oDiv.firstChild) { // check for children
			var oChild = oDiv.firstChild;
			while(oChild) { // run over them
				if(oChild.nodeType==1) { // element
						if(oChild.id == (tab + "_content" + article)) {
							eventVis(oChild.id,tab,article,childCount,"block");
						} else {
							eventVis(oChild.id,tab,article,childCount,"none");
						}
						++childCount;
				}
				oChild = oChild.nextSibling;
			}
		}
	} else {
		// that article doesnt exist so check if the tab even exists, and show default text for it, else reload page fresh
		// bad call if tab exists show its default content, else show tab1 default content
		if(document.getElementById(tab + "_content0")) {
			if(document.getElementById(tab + "TabContent").style.display != "block") {
				var oDiv = document.getElementById('tabSection');
				if(oDiv.firstChild) { // check for children
					var oChild = oDiv.firstChild;
					while(oChild) { // run over them
						if(oChild.nodeType==1) { // element
							if(oChild.id == (tab + "TabContent")) {
								document.getElementById(tab + "TabContent").style.display = "block";
							} else if(oChild.id.indexOf("TabContent") > -1) {
								document.getElementById(oChild.id).style.display = "none";
							}
						}
						oChild = oChild.nextSibling;
					}
				}
			} else {
				// same tab hide all but default text
				eventVis("",tab,0,0,"block");
			}
			document.getElementById(tab + "_default_title").style.display = "block";
			document.getElementById(tab + "_content0").style.display = "block";
		} else {
			// no tab, run to momma
			// just reload initial page
			location.href='showNtell.php';
		}
	}
}
function eventVis(id,tab,article,eid,action) {
	if(document.getElementById(tab + "_content" + eid)) {
		document.getElementById(tab + "_content" + eid).style.display = action;
	}
}

function resetMenuCSS(thisTab) {
	var menuItemID = new Array("product_menuI","product_menuJ","product_menuK","product_menuL");
	
	for(var mi=0;mi < 4; ++mi) {
		if(thisTab == menuItemID[mi]) {
			//bold it
			var thisItem = document.getElementById(menuItemID[mi]);
			thisItem.style.fontWeight = "bold";
		} else {
			// unbold it
			var thisItem = document.getElementById(menuItemID[mi]);
			thisItem.style.fontWeight = "normal";
		}
	}
}
