var tabinterface = new Object();
tabinterface.currentTab = new Array();
tabinterface.playing = new Array();
tabinterface.delayTime = 5000; // seconds*1000=delayTime
tabinterface.timeOutFunction = new Array();
tabinterface.maxTabs = new Array();
var ti = tabinterface;

//example: 'popular', 'tab01', 'popular-tab01.jsp'
function tabPress(group, tabId, file)
{
	var skipDate = true;
	if(!ti.currentTab[group])
	{
		ti.currentTab[group] = group + "-tab01";
	}

	document.getElementById(ti.currentTab[group]).className = "";
	document.getElementById(group + "-" + tabId).className = "current";
	ti.currentTab[group] = group + "-" + tabId;
	var div = document.getElementById(group + "-tabs");
	if(file=="main-tab01.front" || file=="main-tab02.front" || file=="main-tab03.front"|| file=="main-tab04.front"  || file=="main-tab05.front")
	{
		skipDate = false;
	}

	// Begin AJAX request
	var http_request = false;
	if (window.XMLHttpRequest)
	{ // Mozilla, Safari, ...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType)
		{
			http_request.overrideMimeType('text/xml');
		}
	} 
	else if (window.ActiveXObject)
	{ // IE
		try
		{
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e)
		{
			try
			{
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} 
			catch (e)
			{
			}
		}
	}

	if (!http_request)
	{
		return false;
	}
	http_request.onreadystatechange = function() { printContent(http_request, div, skipDate); };

	var now = new Date();
	var timestamp = now.getTime();
	timestamp = Math.round(timestamp/300000)*300000;
	if(file.indexOf("?") == -1 )
	{
		var filenamed = "/templates/collection/" + file + "?time=" + timestamp;
	}
	else
	{
		var filenamed = "/templates/collection/" + file + "&time=" + timestamp;
	}

	http_request.open('GET', filenamed, true);
	http_request.send(null);
}

function printContent(http_request, div, skipDate)
{
	if (http_request.readyState == 4)
	{
		if (http_request.status == 200)
		{
			div.innerHTML = http_request.responseText;
			if(!skipDate)
			{
				getTheDate("last-updated");
				getTheDate("last-updated-related");
			}
		}
		else
		{
			alert('There was a problem with the request.');
		}
	}
}

function playTab(div)
{
	if(!ti.playing[div])
	{
		ti.playing[div] = true;
		slideShow(div);
	}
}

function pauseTab(div)
{
	if(ti.playing[div])
	{
		ti.playing[div] = false;
		clearTimeout(ti.timeOutFunction[div]);
	}
}

function slideShow(div)
{
	var finalNextTab;
	var finalNextFile;

	for(var i = 1; i <= ti.maxTabs[div]; i++)
	{
		var thisTabNum = "tab0" + i;
		var thisTab = div + "-" + thisTabNum;

		var nextI = i + 1;
		if(nextI > ti.maxTabs[div])
		{
			nextI = 1;
		}
		var nextTab = "tab0" + nextI;
		var nextFile = div + "-tab0" + nextI + ".front";

		if(ti.currentTab[div] == thisTab)
		{
			finalNextTab = nextTab;
			finalNextFile = nextFile;
		}
	}

	tabPress(div, finalNextTab, finalNextFile);

	if(ti.playing[div])
	{
		ti.timeOutFunction[div] = setTimeout('slideShow(\''+div+'\')', ti.delayTime);
	}
}

function setTab(tabId, group, tabs)
{
	ti.currentTab[group] = group + "-" + tabId;
	ti.maxTabs[group] = tabs;
}

// divNameRoot = "last-updated" or "last-updated-related"
function getTheDate(divNameRoot)
{
	var i=1;
	for (i=1; i<16; i++)
	{
		var divString = divNameRoot + "-" + i;
		var dateContent =  document.getElementById(divString);
		if(dateContent == null)
		{
			break;
		}
		var lastModTime = (new Date(dateContent.innerHTML)).getTime();
		var nowTime = (new Date()).getTime();
		var minutesAgo = Math.round(((nowTime - lastModTime)/1000)/60);
		if (minutesAgo < 60 && minutesAgo > 0) {
			if (minutesAgo <= 1)
			{
				document.getElementById(divString).innerHTML = '<p class="last-updated">Updated: less than a minute ago<p>';
				document.getElementById(divString).className = "";
			}
			else
			{
				document.getElementById(divString).innerHTML = '<p class="last-updated">Updated: ' + minutesAgo + ' minutes ago</p>';
				document.getElementById(divString).className = "";
			}
		}
		else if (minutesAgo <= 180 && minutesAgo > 0)
		{
			var lastModTime = (new Date(dateContent.innerHTML));
			var hours = lastModTime.getHours();
			var minutes = lastModTime.getMinutes();
			var dateString = "";
			if(minutes < 10)
			{
				minutes = '0' + minutes;
			}
			if(hours == 0)
			{
				dateString = dateString + '12:' + minutes + ' a.m.';
			}
			else if(hours == 12)
			{
				dateString = dateString + '12:' + minutes + ' p.m.';
			}
			else if(hours > 12)
			{
				dateString = dateString + hours-12 + ':' + minutes + ' p.m.';
			}            
			else
			{
				dateString = dateString + hours + ':' + minutes + ' a.m.';
			}
			document.getElementById(divString).innerHTML = '<p class="last-updated">Updated: ' + dateString + ' </p>';
			document.getElementById(divString).className = "";
		}
	}
}

function generateDate(fullDate, shortDate)
{
	var lastModTime = (new Date(fullDate)).getTime();
	var nowTime = (new Date()).getTime();
	var minutesAgo = Math.round(((nowTime - lastModTime)/1000)/60);
	if (minutesAgo < 60 && minutesAgo > 0)
	{
		if (minutesAgo <= 1)
		{
			document.write('<span style="display:block">Updated: less than a minute ago</span>');
		}
		else
		{
			document.write('<span style="display:block">Updated: ' + minutesAgo + ' minutes ago</span>');
		}
	}
	else if (minutesAgo <= 180 && minutesAgo > 0)
	{
		if(shortDate != "")
		{
			var dateLength = shortDate.length;
			var shortDateSub = shortDate.substring(0, dateLength-2);

			if (shortDate.substring(dateLength-2) == 'AM')
			document.write('<span style="display:block">Updated: ' + shortDateSub + 'a.m.' + '</span>');
			else
			document.write('<span style="display:block">Updated: ' + shortDateSub + 'p.m.' + '</span>');
		}
	}
}

function railHeadlineTimestamp(fullDate, shortDate)
{
	var lastModTime = (new Date(fullDate)).getTime();
	var nowTime = (new Date()).getTime();
	var minutesAgo = Math.round(((nowTime - lastModTime)/1000)/60);
	if (minutesAgo <= 180 && minutesAgo > 0 && shortDate != "")
	{
		var dateLength = shortDate.length;
		var shortDateSub = shortDate.substring(0, dateLength-2);

		if (shortDate.substring(dateLength-2) == 'AM')
		document.write(shortDateSub + 'a.m.');
		else
		document.write(shortDateSub + 'p.m.');
	}
}

var currentStory = 0;
var playingRotation = false;
var totalItems = 0;
var rotations = 0;

function storyRotationLoad(itemIndex)
{
	// Begin AJAX request
	var http_request = false;
	if (window.XMLHttpRequest)
	{ // Mozilla, Safari, ...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
		}
	} 
	else if (window.ActiveXObject)
	{ // IE
		try
		{
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e)
		{
			try
			{
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} 
			catch (e)
			{
			}
		}
	}    
	if (!http_request)
	{
		return false;
	}	
	http_request.onreadystatechange = function() { printContent(http_request, document.getElementById('module-lead-content'), false); };

	var now = new Date();
	var timestamp = now.getTime();
	timestamp = Math.round(timestamp/300000)*300000;
	var filenamed = "story-rotation.front?index=" + itemIndex + "&time=" + timestamp;

	http_request.open('GET', filenamed, true);
	http_request.send(null);
}

function nextStoryRotation()
{
	currentStory++;
	if(currentStory > totalItems)
	{
		currentStory = 1
		rotations+=1;
	}
	storyRotationLoad(currentStory);
}

function previousStoryRotation()
{
	currentStory--;
	if(currentStory <= 0)
	{
		currentStory = totalItems
	}
	storyRotationLoad(currentStory);
}

function rotationPrev()
{
	clearTimeout(rotationTimeout);
	previousStoryRotation();
}

function rotationStart(items)
{
	totalItems = items;
	if(currentStory == 1 || currentStory == 0)
	{
		rotations = 0;
	}
	else
	{
		rotations = -1;
	}
	if(playingRotation)
	{
		clearTimeout(rotationTimeout);
	}
	rotateStory();
}

function rotateStory()
{
	if(rotations<3)
	{
		nextStoryRotation()
		rotationTimeout = setTimeout('rotateStory()', 10000);
		playingRotation = true;
	}
}

function rotationStop()
{
	clearTimeout(rotationTimeout);
}

function popUp(URL)
{
	day = new Date();
	id = day.getTime();
	eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=1024,height=768,left = 0,top = 0');");
}

function playRelatedVideo(url)
{
	var iFrame = document.getElementById('worldnowFrame526x375');
	if(iFrame != null)
	{
		if(url.indexOf("?") == -1 )
		{
			iFrame.src = url + "?size=526x389";
		}
		else
		{
			iFrame.src = url + "&size=526x389";
		}
		return false;
	}
	else
	{
		iFrame = document.getElementById('worldnowFrame300x665');
		if(iFrame != null )
		{
			if(url.indexOf("?") == -1 )
			{
				iFrame.src = url + "?size=300x665";
			}
			else
			{
				iFrame.src = url + "&size=300x665";
			}
			return false;
		}
		else
		{
			return true;
		}
	}
}

function playRelatedVideoSmall(url)
{
	var iFrame = document.getElementById('worldnowFrame300x265');
	if(iFrame != null)
	{
		if(url.indexOf("?") == -1 )
		{
			iFrame.src = url + "?size=300x265";
		}
		else
		{
			iFrame.src = url + "&size=300x265";
		}
		return false;
	} 
}

function clickOmni(tabId)
{
	var s=s_gi('tribsunsentinel');
	s.linkTrackVars='eVar23,server';
	s.eVar23='Sun-Sentinel.com:' + tabId;
	s.server='sun-sentinel.com';
	s.tl(true,'o', tabId );
}

function reSort(x)
{
	if (document.sort_form.jumpmenu.value != "null")
	{
		document.location.href = x;
	}
}

