var xmlHttp;
var xmlDoc;

var industryXmlHttp;
var industryXmlDoc;

var storyXmlHttp;
var storyXmlDoc;

var errorHttp;

var global_maxDigits;
var global_maxPages;
var global_totalActualPages;
var global_headlinesPerPage;
var global_totalHeadlines;
var global_dimmerTimmer;
var global_filterState;
var global_activeSection;
var global_activePage;
var global_activeFilter;

// set the active server based on the current deployment
var global_ajaxserver = document.location.hostname;


/*if (readCookie("FSNEWSACTIVECOOKIE")==null) { var global_activeSection; }
else { var global_activeSection = readCookie("FSNEWSACTIVECOOKIE"); }*/

if (readCookie("global_activePage")==null) { var global_activePage; }
else { var global_activePage = readCookie("FSNEWSACTIVECOOKIE"); }


// Creates the Request Object
function createXMLHttpRequest() {
    if (window.ActiveXObject) { return new ActiveXObject("Microsoft.XMLHTTP"); } 
    else if (window.XMLHttpRequest) { return new XMLHttpRequest(); }
}
    
// Makes the remote call
function loadNews(section,page,filter,mode) {
	global_activeSection = section;
	global_activePage = page;
	global_activeFilter = filter;
	
	
	// turn on dimmer
	if (mode == "init") {
		global_activeSection = section;
		showDimmer();
		var functionToCall = "loadNews('"+section+"',"+page+",'"+filter+"','run')";
		setTimeout(functionToCall,500);
		
	}
	// send xml request
	else if (mode == "run") {
		var url = "http://" + global_ajaxserver + "/index.cfm/fa/news.headlinexml/section/" + escape(section) + "/page/" + escape(page) + "/filter/" + escape(filter);
		xmlHttp = createXMLHttpRequest();
	  xmlHttp.onreadystatechange = handleStateChange;
	  xmlHttp.open("GET", url, true);
	  xmlHttp.send(null);
	}
	else if (mode == "prefilter") {
		showDimmer();
		var url = "http://" + global_ajaxserver + "/index.cfm/fa/news.headlinexml/section/" + escape(section) + "/page/" + escape(page) + "/filter/" + escape(filter);
		xmlHttp = createXMLHttpRequest();
	  xmlHttp.onreadystatechange = prefilterStateChange;
	  xmlHttp.open("GET", url, true);
	  xmlHttp.send(null);
	}
}

// Handles various states during the call  
function handleStateChange() {
	if(xmlHttp.readyState == 4) {
		if(xmlHttp.status == 200) {
			writeHeadlinesToDocument();
			dimmerCountDown('init');
		}
		else {
			//alert("handleStateChange: " + xmlHttp.status);
			sendAjaxError("handleStateChange",xmlHttp.status);
		}
	}
}

function prefilterStateChange() {
	if(xmlHttp.readyState == 4) {
		if(xmlHttp.status == 200) {
			applyFilter();
		}
		else {
			sendAjaxError("prefilterStateChange",xmlHttp.status);
		}
	}
}

function sendAjaxError(nameOfHandler,errorStatus) {
	alert("in ajax error");
	var url = "http://" + global_ajaxserver + "/index.cfm/fa/news.ajaxerror/handler/" + escape(nameOfHandler) + "/status/" + escape(errorStatus);
	errorHttp = createXMLHttpRequest();
  errorHttp.onreadystatechange = ajaxErrorStateHandler;
  errorHttp.open("GET", url, true);
  errorHttp.send(null);
}

function ajaxErrorStateHandler () {}


/*  stores basic information in global variables and makes initial call to drawPages() function */
function initPages(activePage,activeSection,headlinesPerPage,totalHeadlines,maxDigits,maxPages) {
	
	global_totalActualPages = Math.ceil(totalHeadlines/headlinesPerPage);
	global_maxPages = maxPages;
	global_maxDigits = maxDigits;
	global_headlinesPerPage = headlinesPerPage;
	global_activePage = activePage;
	global_activeSection = activeSection;
	
	initButtons(activePage);
	drawPages(activePage);
	if (global_totalActualPages == 1) { disableButtons(); }
	
}

/* filter needs xml data first so it can sort and feed params to the other functions. this provides that */
function startFilter() {
	loadNews(global_activeSection,global_activePage,getFilterState(),"prefilter");
	createCookie('FSNEWSACTIVESECTION',global_activeSection,365);
	createCookie('FSNEWSACTIVEPAGE',global_activePage,365);
}

/* takes the global variables and xml set up by startFilter() and feeds other functions to do the work */
function applyFilter() {
	
	xmlDoc = xmlHttp.responseXML;
	var returnMeta = xmlDoc.getElementsByTagName("meta")[0];
	var totalNumOfResults = returnMeta.getElementsByTagName("totalwithfilter")[0].firstChild.nodeValue;
	initPages(1,global_activeSection,7,totalNumOfResults,12,8);
	
	writeHeadlinesToDocument();
	dimmerCountDown('init');
	if (totalNumOfResults == 0) { disableButtons(); }
	
}



function requestContent(contentId) {
	createCookie("FSNEWSACTIVECONTENTID",contentId);
	var url = "http://" + global_ajaxserver + "/index.cfm/fa/news.storyxml/contentId/" + escape(contentId);
	storyXmlHttp = createXMLHttpRequest();
  storyXmlHttp.onreadystatechange = storyStateHandler;
  storyXmlHttp.open("GET", url, true);
  storyXmlHttp.send(null);
}

function storyStateHandler() {
	if(storyXmlHttp.readyState == 4) {
		if(storyXmlHttp.status == 200) {
			loadStory();
			initScrollLayer();
		}
		else {
			// alert("storyStateHandler(): " + storyXmlHttp.status);
			sendAjaxError("storyStateHandler",storyXmlHttp.status);
		}
	}
}

function loadStory() {
	
	storyXmlDoc = storyXmlHttp.responseXML;
	var storyTitle = storyXmlDoc.getElementsByTagName("title")[0].firstChild.nodeValue;
	var storyID = storyXmlDoc.getElementsByTagName("contentid")[0].firstChild.nodeValue;
	var storyHasVideo = "false";
	
	updateLocationBar(global_activeSection,global_activePage,global_activeFilter);
	
	var storyImageOutput = "";
	
	// check for a subtitle
	if (storyXmlDoc.getElementsByTagName("subtitle")[0].hasChildNodes()) {
		var storySubtitle = storyXmlDoc.getElementsByTagName("subtitle")[0].firstChild.nodeValue; }
	else {
		var storySubtitle = ""; }
		
	// check for a quote
	if (storyXmlDoc.getElementsByTagName("quote")[0].hasChildNodes()) {
		var storyQuote = storyXmlDoc.getElementsByTagName("quote")[0].firstChild.nodeValue; }
	else {
		var storyQuote = ""; }
	
	// check for an image
	if (storyXmlDoc.getElementsByTagName("image_path")[0].hasChildNodes()) {
		var storyImage = storyXmlDoc.getElementsByTagName("image_path")[0].firstChild.nodeValue;
		if (storyImage != "http://") {
			var storyImageOutput = "<img src=\"" + storyImage + "\" width=\"215\" height=\"200\" \">"; }
		else {
			var storyImageOutput = ""; }
	}
	else {
		var storyImageOutput = ""; 
	}
	
	// check for caption
	if (storyXmlDoc.getElementsByTagName("caption")[0].hasChildNodes()) {
		var storyCaption = storyXmlDoc.getElementsByTagName("caption")[0].firstChild.nodeValue; }
	else {
		var storyCaption = ""; }
		
	// check for a video
	//alert(storyXmlDoc.getElementsByTagName("hasVideo")[0].hasChildNodes());
	if (storyXmlDoc.getElementsByTagName("hasVideo")[0].hasChildNodes()) {
		storyHasVideo = storyXmlDoc.getElementsByTagName("hasVideo")[0].firstChild.nodeValue;
	}
	else {
		storyHasVideo = "false";
	}

		
	// check for foo text
	if (storyXmlDoc.getElementsByTagName("footext")[0].hasChildNodes()) {
		var storyFooText = storyXmlDoc.getElementsByTagName("footext")[0].firstChild.nodeValue; }
	else {
		var storyFooText = "footext"; }
	
	// story body
	var storyBody = storyXmlDoc.getElementsByTagName("body")[0].firstChild.nodeValue;
	
	
	clearStoryOut();
	var imageText = decideQuoteOrCaption(storyImageOutput,storyQuote,storyCaption);
	//repopulateStoryDivs(storyTitle,storySubtitle,storyImageOutput,imageText,storyBody);
	repopulateStoryDivsTryTwo(storyTitle,storySubtitle,storyImageOutput,imageText,storyBody,storyImageOutput,storyHasVideo,storyID,storyFooText,storyHasVideo);
	
	var webTrendsPath = "htmltrack/news/" + global_activeSection + "/" + storyID + ".html?contentID=" + storyID;
	//alert(webTrendsPath);
	trackWrapper(webTrendsPath);
}


function clearStoryOut() {
	var parentDiv = document.getElementById("lyr1");
	while(parentDiv.hasChildNodes()) {
		parentDiv.removeChild(parentDiv.firstChild);
	}
}
function repopulateStoryDivsTryTwo(title,subtitle,image,showarea,body,imagefile,hasvideo,storyid,footext,hasvideo) {
	
	var parentDiv = document.getElementById("lyr1");
	var outputString = "";
	outputString = '<div id="nw_firstHeadline"><h2>' + title + '</h2></div>';
	if (subtitle != "") { outputString = outputString + '<div id="nw_secondHeadline">' + subtitle + '</div>'; }

	if ((showarea != "") || (imagefile != "")) {
		
		outputString = outputString + '<div id="nw_newsStoryCopy">';
		outputString = outputString + '<div class="nw_storyimgContainer">';
		outputString = outputString + '<div id="storyImg">' + imagefile + '</div>';
		
		if (showarea != "") {
			outputString = outputString + '<div id="nw_captionBox"><div id="nw_captionTop"></div>';
			outputString = outputString + '<div class="nw_captionBody" id="storyCaption">' + showarea + '</div>';
			outputString = outputString + '<div id="nw_captionBottom"></div></div>';
		}
		
		outputString = outputString + '</div>';
		outputString = outputString + '<div id="storyContent">' + body + '</div>';
		outputString = outputString + '</div>';

	}
	
	else {
		
		outputString = outputString + '<div id="nw_newsStoryCopy">';
		outputString = outputString + '<div id="storyContent">' + body;
		if (hasvideo == "true") {
			outputString = outputString + '<div id="nw_storyVideo"><a href="index.cfm/fa/pop.newsvideo/' + storyid + '/' + footext + '" onclick="popNewsVideo(' + storyid + '); return false;"><img src="images/newsDetail/newsVideoIcon.gif" width="159" height="48" alt="Click Here to View this Video News Story"></a></div>';
		}
		outputString = outputString + '</div>';
		outputString = outputString + '</div>';
	}
	
	outputString = outputString + '<p>&nbsp;</p>';
	
	parentDiv.innerHTML = outputString;
}

function decideQuoteOrCaption(imagething,quote,caption) {
	if (imagething == "") {
		if (quote != "") { return formatQuote(quote); }
		else if (caption != "") { return caption; }
		else { return "" }
	}
	else {
		if (caption != "") { return caption; }
		else if (quote != "") { return formatQuote(quote); }
		else { return "" }
	}
}

function formatQuote(quote) {
	var quoteArray = quote.split("~");
	var outQuote = "\"" + trim(quoteArray[0]) + "\" - " + trim(quoteArray[1]);
	return outQuote; 
}

function trim(s) {
  while (s.substring(0,1) == ' ') {
    s = s.substring(1,s.length);
  }
  while (s.substring(s.length-1,s.length) == ' ') {
    s = s.substring(0,s.length-1);
  }
  return s;
}


/* responsible for figuring out how many pages to show based on what was just clicked and how much room is available. */
function drawPages(activePage) {
	var digitCount = 0;
	var startPage = 0;
	var lastPage = 0;
	var leftSidePages = 0;
	var currentPage = 0;
	var currentPageDigitSize = 0;
	var highestPossibleEndPage = 0;
	var outputString = "";
	
	// get current section and set cookies
	var selectedSection = global_activeSection;
	createCookie('FSNEWSACTIVESECTION',global_activeSection,365);
	createCookie('FSNEWSACTIVEPAGE',activePage,365);
	
	// get digit size of selected page and determine the
	// minimum number of previous pages to display
	var activePageDigitCount = getDigitSize(activePage);
	if (activePageDigitCount == 1) { leftSidePages = 3; }
	else if (activePageDigitCount == 2) { leftSidePages = 2; }
	else if (activePageDigitCount == 3) { leftSidePages = 1; }
	
	// calc start page and max possible from active page
	if ((activePage - leftSidePages) <= 0) { startPage = 1; }
	else { startPage = activePage - leftSidePages; }
	currentPage = startPage;
	highestPossibleEndPage = startPage + (global_maxPages-1);
	
	// determine actual end page by doing a hard digit count
	while ((currentPage <= highestPossibleEndPage) && (digitCount <= global_maxDigits) && (currentPage <= global_totalActualPages)) {
		currentPageDigitSize = getDigitSize(currentPage);
		if ((digitCount + currentPageDigitSize) <= global_maxDigits) { currentPage++; }
		digitCount = digitCount + currentPageDigitSize;
	}
	
	// set the value for the last page
	if (lastPage > global_totalActualPages) { lastPage = global_totalActualPages; }
	else { lastPage = currentPage-1; }
	
	// confirm that start page has been maximized
	var totalPagesInUse = (lastPage-startPage)+1;
	var possibleNewStart = (startPage-1);
	while ((totalPagesInUse < global_maxPages) && (digitCount < global_maxDigits) && (possibleNewStart > 0)) {
		if ((digitCount + getDigitSize(possibleNewStart)) <= global_maxDigits) {
			digitCount = digitCount + getDigitSize(possibleNewStart);
			possibleNewStart--;
			totalPagesInUse++;
		}
	}
	
	// compare new start with original start. if different, overwrite with new start.
	if (possibleNewStart != startPage) {
		startPage = (possibleNewStart+1);
	}
	
	// loop through and create the elements
	if (lastPage > startPage) {
		for (var i=startPage; i <= lastPage; i++) {
			if (i == activePage) {
				outputString = outputString + "<li id=\"newsPageLI" + i + "\"" + "class=\"active\" onclick=\"drawPages(" + i + "); loadNews('" + selectedSection + "'," + i + ",'none','init');\">" + i + "</li>"; }
			else {
				outputString = outputString + "<li id=\"newsPageLI" + i + "\"" + "onclick=\"drawPages(" + i + "); loadNews('" + selectedSection + "'," + i + ",'none','init');\">" + i + "</li>";
			}
		}
	}
	
		
	// write the elements
	document.getElementById("nw_dynamicPageList").innerHTML = outputString;
	
	// update button elements
	initButtons(activePage);
	
}


/* writes the DOM elements that will be used for the nav structure. */
function writeNewsNav(activeTab) {

	// set base div to add elements to
	var parentObj = document.getElementById("nw_pagNavContainer");
	var tabParentObj = document.getElementById("nw_tabSwap");
	
	// create divs, set ids
	var prevDiv = document.createElement("div");
	var selectDiv = document.createElement("div");
	var nextDiv = document.createElement("div");
	var campusTabDiv = document.createElement("div");
	var degreeTabDiv = document.createElement("div");
	prevDiv.setAttribute('id','nw_pagNavPrev');
	selectDiv.setAttribute('id','nw_pagNavSelect');
	nextDiv.setAttribute('id','nw_pagNavNext');
	campusTabDiv.setAttribute('id','nw_campusHeadlines');
	degreeTabDiv.setAttribute('id','nw_degreeHeadlines');
	
	// add elements to page
	parentObj.insertBefore(nextDiv,parentObj.firstChild);
	parentObj.insertBefore(selectDiv,parentObj.firstChild);
	parentObj.insertBefore(prevDiv,parentObj.firstChild);
	tabParentObj.appendChild(campusTabDiv);
	tabParentObj.appendChild(degreeTabDiv);
	
	// create previous link and insert in prevDiv
	var prevLink = document.createElement("a");
	prevLink.setAttribute("id","prevLink");
	prevLink.setAttribute("href","#");
	prevLink.setAttribute("border","0");
	prevDiv.appendChild(prevLink);
	
	// create previous image and append to link
	var prevImageObj = document.createElement("img");
	prevImageObj.setAttribute("id","prevImage");
	prevImageObj.setAttribute("src","images/newsDetail/nw_prevBg.gif");
	prevLink.appendChild(prevImageObj);
	
	// create next link and insert in nextDiv
	var nextLink = document.createElement("a");
	nextLink.setAttribute("id","nextLink");
	nextLink.setAttribute("href","#");
	nextLink.setAttribute("border","0");
	nextDiv.appendChild(nextLink);
	
	// create previous image and append to link
	var nextImageObj = document.createElement("img");
	nextImageObj.setAttribute("id","nextImage");
	nextImageObj.setAttribute("src","images/newsDetail/nw_nextBg.gif");
	nextLink.appendChild(nextImageObj);
	
	// create list element and append to div
	var dynListObj = document.createElement("ul");
	dynListObj.setAttribute("id","nw_dynamicPageList");
	selectDiv.appendChild(dynListObj);
	
	/* create tab images, add ids and function calls */
	var campusTabImage = document.createElement("img");
	var degreeTabImage = document.createElement("img");
	campusTabImage.setAttribute("id","campusTabImg");
	degreeTabImage.setAttribute("id","degreeTabImg");
	campusTabImage.onclick = function () {setSection('campusGeneral'); hideShowIndustryNews('close'); swapTabs(); updateDropDown(); clearFilters(); startFilter(); fetchIndustryNews('campusGeneral'); }
	degreeTabImage.onclick = function () {setSection('degreeGeneral'); hideShowIndustryNews('close'); swapTabs(); updateDropDown(); clearFilters(); startFilter(); fetchIndustryNews('degreeGeneral'); }
	
	// check for tab cookie to init tab images correctly
	var tempSectionState = readCookie('FSNEWSACTIVESECTION');
	

	
	
	if (activeTab != null) {
		var isDegreeTab = ((activeTab == "degreeGeneral") || (activeTab == "ca") || (activeTab == "da") || (activeTab == "eb") || (activeTab == "fi") || (activeTab == "gd") || (activeTab == "ra") || (activeTab == "sp")) ? true : false;

		// not null
		if (isDegreeTab) {
			degreeTabImage.setAttribute("src","images/newsDetail/nw_degreeHeadlinesTab_on.gif");
			campusTabImage.setAttribute("src","images/newsDetail/nw_campusHeadlinesTab_off.gif");
		}
		else {
			degreeTabImage.setAttribute("src","images/newsDetail/nw_degreeHeadlinesTab_off.gif");
			campusTabImage.setAttribute("src","images/newsDetail/nw_campusHeadlinesTab_on.gif");
		}
	}
	else {
		degreeTabImage.setAttribute("src","images/newsDetail/nw_degreeHeadlinesTab_off.gif");
		campusTabImage.setAttribute("src","images/newsDetail/nw_campusHeadlinesTab_on.gif");
	}

	// add tab images to document
	campusTabDiv.appendChild(campusTabImage);
	degreeTabDiv.appendChild(degreeTabImage);
	
}

/* simulates the click and unclicking of our custom checkboxes */
function customCheckBox (inId) {
	var checkboxObj = document.getElementById(inId);
	if (checkboxObj.className == "nw_checkBox") {
		checkboxObj.setAttribute("class","nw_checkBoxChecked");
		checkboxObj.setAttribute("className","nw_checkBoxChecked");
	}
	else if (checkboxObj.className == "nw_checkBoxChecked") {
		checkboxObj.setAttribute("class","nw_checkBox");
		checkboxObj.setAttribute("className","nw_checkBox");
	}
}

/* creates cookies. because client side they are available instantly. */
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
	
}

/* read cookie values */
function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

/* turns on the dimmer overlay */
function showDimmer() {
	var divId = 'nw_newsOverlay';
	var divImage = 'dimmerPNG';
	document.getElementById(divImage).style.display = 'block';
	document.getElementById(divImage).style.height = '293px';
	document.getElementById(divImage).style.width = '250px';
	document.getElementById(divId).style.zIndex = '500';
	document.getElementById(divImage).style.zIndex = '500';
	global_dimmerTimmer = 1000;
}

/* this is called when everything is done. it makes sure the dimmer stays on a little longer */
function dimmerCountDown(mode) {
	if (mode == "init") {
		setTimeout("dimmerCountDown('go')",350);
	}
	else if (mode == "go") {
		global_dimmerTimmer = 0;
		hideDimmer();
	}
}

/* turns the dimmer overlay off */
function hideDimmer() {
	if (global_dimmerTimmer == 0) {
		var divId = 'nw_newsOverlay';
		var divImage = 'dimmerPNG';
		document.getElementById(divImage).style.display = 'none';
		document.getElementById(divId).style.zIndex = '50';
		document.getElementById(divImage).style.zIndex = '50';
	}
}



/* look at the form fields and return what filter should be used */
function getFilterState() {
	var textObj = document.getElementById("nw_textArticleBox");
	var videoObj = document.getElementById("nw_videoArticleBox");
	var returnState = "none";
	
	if ((textObj.className == "nw_checkBoxChecked") && (videoObj.className == "nw_checkBoxChecked")) { returnState = "none"; }
	else if ((textObj.className == "nw_checkBox") && (videoObj.className == "nw_checkBoxChecked")) { returnState = "video"; }
	else if ((textObj.className == "nw_checkBoxChecked") && (videoObj.className == "nw_checkBox")) { returnState = "text"; }
	else if ((textObj.className == "nw_checkBox") && (videoObj.className == "nw_checkBox")) { returnState = "none"; }
	return returnState;
}


/* calculate how many digits are in a number */
function getDigitSize(digit) {
	return digit.toString().length;
}

/* parses the most recent XML doc and writes list items to screen */
function writeHeadlinesToDocument() {
	xmlDoc = xmlHttp.responseXML;
	var dynamicHeadlineUL = document.getElementById("nw_dynamicHeadlineList");
	var allArticles = xmlDoc.getElementsByTagName("item");
	var numberOfArticles = allArticles.length;
	var outputString = "";
	var currentItem;
	var currentItemTitle = "";
	var currentItemHasVideo = 0;
	var currentItemSpindleId = 0;
	var currentItemFooText = "news-article";
	var textContentIconPath = "images/newsDetail/nw_newsIcon.gif";
	var videoContentIconPath = "images/newsDetail/nw_videoIcon.gif";
	var contentIcon;
	var rowClass;
	
	
	if (numberOfArticles > 0) {
		for (var i=0; i < numberOfArticles; i++) {
			currentItem = allArticles[i];
			currentItemTitle = currentItem.getElementsByTagName('title')[0].firstChild.nodeValue;
			currentItemImage = currentItem.getElementsByTagName('thumbnail')[0].firstChild.nodeValue;
			currentItemHasVideo = currentItem.getElementsByTagName('hasVideo')[0].firstChild.nodeValue;
			currentItemSpindleId = currentItem.getElementsByTagName('spindleId')[0].firstChild.nodeValue;
			currentItemFooText = currentItem.getElementsByTagName('footext')[0].firstChild.nodeValue;
			if (currentItemHasVideo == 1) {
				contentIcon = videoContentIconPath; }
			else {
				contentIcon = textContentIconPath;
			}
			
			if ((i%2)==0) { rowClass = "nw_navLinkLight"; }
			else { rowClass = "nw_navLinkDark"; }
			
			outputString = outputString + "<li class=\"" + rowClass + "\" onclick=\"requestContent(" + currentItemSpindleId + "\); return false;\"><div class=\"nw_summary\"><img class=\"nw_storyThumb\" width=\"30\" height=\"20\" src=\"" + currentItemImage + "\" /><a href=\"index.cfm/fa/news.story/contentId/" + currentItemSpindleId + "/section/" + global_activeSection + "/pg/" + global_activePage + "/filter/" + global_activeFilter + "/" + currentItemFooText + "\" onclick=\"requestContent(" + currentItemSpindleId + "\); return false;\">" + currentItemTitle + "</a></div><div class=\"nw_icon\"><img src=\""+contentIcon+"\" border=\"0\" alt=\"news story\" /></div></li>";
		}
	}
	else {
		outputString = "<li class=\"nw_navLinkLight\"><div class=\"nw_summary\">No articles matched your criteria</div></li>";
	}
	dynamicHeadlineUL.innerHTML = outputString;
}

/* updates buttons with new page information */
function initButtons(activePage) {
	var nextLink = document.getElementById("nextLink");
	var prevLink = document.getElementById("prevLink");
	var nextPage = (activePage + 1);
	var prevPage = (activePage - 1);
	if (prevPage < 1) { prevPage = 1; }
	nextLink.onclick = function () {drawPages(nextPage); loadNews(global_activeSection,nextPage,'none','init'); return false;}
	prevLink.onclick = function () {drawPages(prevPage); loadNews(global_activeSection,prevPage,'none','init'); return false;}
}

/* point buttons to a dead function to disable them */
function disableButtons() {
	var nextLink = document.getElementById("nextLink");
	var prevLink = document.getElementById("prevLink");
	nextLink.onclick = function () {doNothing(); return false;}
	prevLink.onclick = function () {doNothing(); return false;}
}



/* unchecks check boxes */
function clearFilters() {
	var textObj = document.getElementById("nw_textArticleBox");
	var videoObj = document.getElementById("nw_videoArticleBox");
	textObj.setAttribute("class","nw_checkBox");
	textObj.setAttribute("className","nw_checkBox");
	videoObj.setAttribute("class","nw_checkBox");
	videoObj.setAttribute("className","nw_checkBox");
}

/* overrides current global section variable */
function setSection(toSection) {
	global_activeSection = toSection;
}

/* detects which section is active and displays tab image accordingly */
function swapTabs() {
	if (global_activeSection == "degreeGeneral") {
		document.getElementById("campusTabImg").src = "images/newsDetail/nw_campusHeadlinesTab_off.gif";
		document.getElementById("degreeTabImg").src = "images/newsDetail/nw_degreeHeadlinesTab_on.gif";
	}
	else if (global_activeSection == "campusGeneral") {
		document.getElementById("campusTabImg").src = "images/newsDetail/nw_campusHeadlinesTab_on.gif";
		document.getElementById("degreeTabImg").src = "images/newsDetail/nw_degreeHeadlinesTab_off.gif";
	}
	
	var webTrendsPath = "htmltrack/news/" + global_activeSection + "/index.html?section=" + global_activeSection;
	trackWrapper(webTrendsPath);
}

function updateDropDown() {
	// remove all current items
	removeFormOptions("nw_selectBox");
	
	// determine section
	if (global_activeSection == "degreeGeneral") {
		addFormOption("nw_selectBox","Degree Headlines","degreeGeneral");
		addFormOption("nw_selectBox","Computer Animation","ca");
		addFormOption("nw_selectBox","Digital Arts & Design","da");
		addFormOption("nw_selectBox","Entertainment Business","eb");
		addFormOption("nw_selectBox","Film","fi");
		addFormOption("nw_selectBox","Game Development","gd");
		addFormOption("nw_selectBox","Recording Arts","ra");
		addFormOption("nw_selectBox","Show Production & Touring","sp");
	}
	else {
		addFormOption("nw_selectBox","Campus Headlines","campusGeneral");
		addFormOption("nw_selectBox","Full Sail News","campusFullSail");
		addFormOption("nw_selectBox","Artist Series","campusArtistSeries");
		addFormOption("nw_selectBox","International News","campusInternational");
	}
	
}

/* empty function for disabling buttons */
function doNothing(){}


function hideShowIndustryNews(action) {
	// page element shortcuts
	var lockHeightDiv = document.getElementById("nw_lockHeight");
	var newsNavContainer = document.getElementById("nw_pagNavContainer");
	var industryNewsContainer = document.getElementById("nw_industryNews");
	var openCloseLink = document.getElementById("openCloseIndustryNews");
	var listObj = document.getElementById("nw_snippetList");

	if (action == "open") {
		// close and expand various divs
		lockHeightDiv.style.height = '0px';
		lockHeightDiv.style.overflow = 'hidden';
		newsNavContainer.style.height = '0px';
		newsNavContainer.style.overflow = 'hidden';
		industryNewsContainer.style.height = '399px';
		newsNavContainer.style.display = "none";
		listObj.style.height = '300px';
		
		// switch open/close graphic...apply new onclick action
		openCloseLink.onclick = function () {hideShowIndustryNews('close'); return false;}
	}
	else if (action == "close") {
		lockHeightDiv.style.height = '293px';
		lockHeightDiv.style.overflow = 'hidden';
		newsNavContainer.style.height = '28px';
		newsNavContainer.style.overflow = 'hidden';
		industryNewsContainer.style.height = '78px';
		newsNavContainer.style.display = "block";
		listObj.style.height = '40px';
		openCloseLink.onclick = function () {hideShowIndustryNews('open'); return false;}
	}
	
	
}


function removeFormOptions(elementId) {
	
	var selectObj = document.getElementById(elementId);
	var i;
	for (i=selectObj.length; i>=0; i--) {
		selectObj.remove(i);
	}
}

function addFormOption(parentElement,text,value) {
	var selectObj = document.getElementById(parentElement);
	var newOption = document.createElement("option");
	newOption.text = text;
	newOption.value = value;
	try { selectObj.add(newOption, null); }
	catch (ex) {  selectObj.add(newOption); }
}

function fetchIndustryNews(section) {
	var url = "http://" + global_ajaxserver + "/index.cfm/fa/news.industrynewsxml/section/" + escape(section);
	industryXmlHttp = createXMLHttpRequest();
  industryXmlHttp.onreadystatechange = industryNewsStateHandler;
  industryXmlHttp.open("GET", url, true);
  industryXmlHttp.send(null);
}

function updateIndustryNews() {
	industryXmlDoc = industryXmlHttp.responseXML;
	var storyTitle;
	var spindleId;
	var snippetListParent = document.getElementById("nw_snippetList");
	
	var allItems = industryXmlDoc.getElementsByTagName("item");
	var numberOfItems = allItems.length;
	var outputString = "";
	var rowClass;
	
	if (numberOfItems > 0) {
		for (var i=0; i < numberOfItems; i++) {
			currentItem = allItems[i];
			storyTitle = currentItem.getElementsByTagName("title")[0].firstChild.nodeValue;
			spindleId  = currentItem.getElementsByTagName("spindleId")[0].firstChild.nodeValue;
			if ((i%2)==0) { rowClass = ""; }
			else { rowClass = "active"; }
			outputString = outputString + "<li class=\"" + rowClass +"\"><div><a href=\"\" onclick=\"requestContent(" + spindleId + "); return false;\">" + storyTitle + "</a></div></li>";
		}
	}
	else {
		outputString = "<li><div>No industry news found.</div></li>";
	}
	
	snippetListParent.innerHTML = outputString;
	
}

// Handles various states during the call  
function industryNewsStateHandler() {
	if(industryXmlHttp.readyState == 4) {
		if(industryXmlHttp.status == 200) {
			updateIndustryNews();
		}
		else {
			//alert("industryNewsStateHandler(): " + industryXmlHttp.status);
			sendAjaxError("industryNewsStateHandler",industryXmlHttp.status);
		}
	}
}


function updateLocationBar(section,page,filter) {
	//window.location.pathname = "test";
	//document.location = document.location + "/text-to-test";
	//document.title = "asdfasfdsf";
}

