
/*
Called when a right column teaser tab is clicked

Parameters:
	element = <a> tag that was clicked
	category = category of content to load
	
*/
function section_body_right_tabs(element,category) {
	var td = element.parentNode;
	while(td.tagName != "TD") td = td.parentNode;
	var table = td.parentNode;
	while(table.tagName != "TABLE") table = table.parentNode;
	t = table.getElementsByTagName("td");
	for(var i=0; t[i]; i++) {
		t[i].className = "";
	}
	td.className = "active";
	section_body_right_load(category);
}

/*
Loads teaser list into section body right tabbed list

Parameters:
	category = category of teasers to load
	
*/
function section_body_right_load(category) {

	// get ajax request object
	var request = getRequestObject();
	if(request == null) {
		return;
	}

	// load placeholder
	teaserDiv = document.getElementById("section-body-right-teasers-list");
	teaserDiv.innerHTML = "loading...";
	
	// load new content
	if(category == "investing") {
		var fuseaction = "layouts.alsoonoursiteinvesting";
	}
	else if(category == "network") {
		var fuseaction = "layouts.alsoonoursitenetwork";
	}
	else if(category == "jobs") {
		var fuseaction = "layouts.alsoonoursitejobs";
	}
	else {
		var fuseaction = "layouts.alsoonoursitenews";
	}
	var timestamp = new Date().getTime();
	var url = "/index.cfm?go=" + fuseaction + "&ts=" + timestamp;
	//var url = "/index.cfm?go=" + fuseaction;
	request.open("GET",url);
	request.onreadystatechange = function() {
		if(request.readyState == 4) {
			// replace content
			teaserDiv = document.getElementById("section-body-right-teasers-list");
			teaserDiv.innerHTML = request.responseText;
			// redisplay tabs (workaround for ie rendering bug)
			teaserDiv = document.getElementById("section-body-right-teasers");
			teaserDiv.style.display = "none";
			teaserDiv.style.display = "block";
		}
	}
	request.send(null);
}

/* For news tabs (pulls in story's ID to facilitate the related content tab) */
function section_body_news_tabs(element,category,storyid) {
	var td = element.parentNode;
	while(td.tagName != "TD") td = td.parentNode;
	var table = td.parentNode;
	while(table.tagName != "TABLE") table = table.parentNode;
	t = table.getElementsByTagName("td");
	for(var i=0; t[i]; i++) {
		t[i].className = "";
	}
	td.className = "active";
	section_body_news_load(category,storyid);
}

/*
Loads teaser list into section body right tabbed list

Parameters:
	category = category of teasers to load
	
*/
function section_body_news_load(category,storyid) {

	// get ajax request object
	var request = getRequestObject();
	if(request == null) {
		return;
	}

	// load placeholder
	teaserDiv = document.getElementById("section-body-news-teasers-list");
	teaserDiv.innerHTML = "loading...";
	
	// load new content
	if(category == "todays") {
		var fuseaction = "layouts.newstabstodays";
	}
	else if(category == "popular") {
		var fuseaction = "layouts.newstabspopular";
	}
	else if(category == "related") {
		var fuseaction = "layouts.newstabsrelated";
	}
	else {
		var fuseaction = "layouts.newstabstodays";
	}
	var timestamp = new Date().getTime();
	var url = "/index.cfm?go=" + fuseaction + "&id=" + storyid  + "&ts=" + timestamp;
	//alert(url);
	//var url = "/index.cfm?go=" + fuseaction;
	request.open("GET",url);
	request.onreadystatechange = function() {
		if(request.readyState == 4) {
			// replace content
			teaserDiv = document.getElementById("section-body-news-teasers-list");
			teaserDiv.innerHTML = request.responseText;
			// redisplay tabs (workaround for ie rendering bug)
			teaserDiv = document.getElementById("section-body-news-teasers");
			teaserDiv.style.display = "none";
			teaserDiv.style.display = "block";
		}
	}
	request.send(null);
}

/*
Creates a browser request object

*/
function getRequestObject() {
	var request = null;
	try {
		request = new XMLHttpRequest();
	}
	catch (ie) {
		try {
			request = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch (oldbrowser) {
			// can't do anything
		}
	}
	return request;
}


