﻿			var RssGalleryRotations = new Array();

			// finds the next rss that needs to be shown,
			// then calls the toggleRssControl() method to actually show the next rss,
			// then calls startRotationRssControl() to set the next time this method should be called again.
			function rotateRssGallery(rssId, rssContentId, rssTotal, seconds)
			{
				var rssIdTemplate = rssId.substring(0, rssId.length -1);
				var rssContentIdTamplate = rssContentId.substring(0, rssContentId.length -1);
				var nextRss = 0;
   
				for (var i=1; i <= rssTotal; ++i)
				{
					var actualRss = document.getElementById(rssIdTemplate+i);
					var actualRssContainer = document.getElementById(rssContentIdTamplate+i);
   
					if (actualRss.className == 'rbi-rss-active')
					{
						if (i == rssTotal)
						{
							nextRss = 1;
						}
						else
						{
							nextRss = i +1;
						}   
						nextRssId = document.getElementById(rssIdTemplate+nextRss);
						nextRssContentId = document.getElementById(rssContentIdTamplate+nextRss);
   
						toggleRssGallery(nextRssId.id, nextRssContentId.id, rssTotal)
						startRotationRssGallery(nextRssId.id, nextRssContentId.id, rssTotal, seconds)
						break;
					}
					else if (i == rssTotal)
					{
						nextRss = 1;
						nextRssId = document.getElementById(rssIdTemplate+nextRss);
						nextRssContentId = document.getElementById(rssContentIdTamplate+nextRss);
   
						toggleRssGallery(nextRssId.id, nextRssContentId.id, rssTotal)
						startRotationRssGallery(nextRssId.id, nextRssContentId.id, rssTotal, seconds)
					}
				}
			}
   
			// set the next time that function rotateTabControl() should be called.
			function startRotationRssGallery(rssId, rssContentId, rssTotal, seconds)
			{
				var cmd = 'rotateRssGallery("' + rssId + '", "' + rssContentId + '", "' + rssTotal + '", "' + seconds + '");';
				var rssTemplate = getRssTemplateId(rssId);
				RssGalleryRotations[rssTemplate] = window.setTimeout(cmd, seconds * 1000);
			}
   
			// stops the rotateTabControl() function from being automatically executed.
			function stopRotationRssGallery(rssIdTemplate)
			{
				if (RssGalleryRotations[rssIdTemplate] != null)
				{
					window.clearTimeout(RssGalleryRotations[rssIdTemplate]);
					RssGalleryRotations[rssIdTemplate] = null;
				}
			}
   
			// this method changes the class names and sytles to reflect what tab the user has clicked on
			function toggleRssGallery(rssId, rssContentId, rssTotal)
			{
				var rssIdTemplate = getRssTemplateId(rssId);
				var rssContentIdTamplate = getRssTemplateId(rssContentId);
   
				hideAllRss(rssIdTemplate, rssContentIdTamplate, rssTotal)
   
				document.getElementById(rssId).className = 'rbi-rss-active';
				document.getElementById(rssContentId).style.display = 'block';
   
				if (document.getElementById(rssIdTemplate +"Close") != null)
				{
					document.getElementById(rssIdTemplate +"Close").className = 'rssMaximized';
				}
   
				stopRotationRssGallery(rssIdTemplate);
			}
   
			// hides and shows the tabs
			function toggleRssVisibility(rssCloseId, rssId, rssContentId, rssTotal, defaultRssId)
			{
				var rssCloseElement = document.getElementById(rssCloseId);
				var flag = false;
   
				var rssIdTemplate = getRssTemplateId(rssId);
				var rssContentIdTamplate = getRssTemplateId(rssContentId);
   
				for (var i=1; i <= rssTotal; ++i)
				{
					var currentRss = document.getElementById(rssIdTemplate+i);
					var currentRssContainer = document.getElementById(rssContentIdTamplate+i);
   
					if (currentRss.className == 'rbi-rss-active')
					{
						flag = true;
					}
				}
   
				if (flag)
				{
					hideAllRss(rssIdTemplate, rssContentIdTamplate, rssTotal);
					rssCloseElement.className = 'rssMinimized';
				}
   
				else
				{
					document.getElementById(rssIdTemplate+defaultRssId).className = 'rbi-rss-active';
					document.getElementById(rssContentIdTamplate+defaultRssId).style.display = 'block';
					rssCloseElement.className = 'rssMaximized';
				}
			}
   
			////////////////////
			// helper methods //
			////////////////////
   
			// this method hides all tabs and sets changes the tab className
			function hideAllRss(rssIdTemplate, rssContentIdTamplate, rssTotal)
			{
				for (var i=1; i <= rssTotal; ++i)
				{
					var currentRss = document.getElementById(rssIdTemplate+i);
					var currentRssContainer = document.getElementById(rssContentIdTamplate+i);
   
					currentRss.className = 'rbi-rss-inactive';
					currentRssContainer.style.display = 'none';
				}
			}
   
			// this returns the id template for the tab / tab content divs
			function getRssTemplateId(elementID)
			{
				return elementID.substring(0, elementID.length -1);
			}			

