{
		var objToShrink;
		var objToFade;
		
		var heightNew = 0;
		
		var heightFinal = 30;
		var heightDiff = 0;
		
		var animateTime = 500; //ms
		var PPMS = 0; //Pixels per milli-second
		var PPMSmult= 1;
		
		var alphaCounter = 100;
		var objToMove;
		
		var fading = 0;
		var moving = 0;
		
		var FeedOrder = "1,2,3";	// This will eventually be handled by cookies and profiles.
		var FeedOrderArray = new Array();
		
		var globalFeedID = 0;
		var globalFeedNextId = 0;
	}
	function ToggleFeed(id)
	{
		if($("feedtoggle" + id ).innerHTML == "-")
		{
			if(fading == 0)
			{
				globalFeedID = id;
				alphaCounter = 100;
				FadeFeed($("feedcontent" + id),"out");
				HideFeed($("feed" + id));
			}
		}
		else
		{
			if(fading == 0)
				{
					alphaCounter = 0;
					$("feed" + id).style.height="";
					$("feedtoggle" + id ).innerHTML = "-";
					FadeFeed($("feedcontent" + id),"in");
				}
		}
	}
	
	function FadeFeed(id,direction,action)
	{
		objToFade = id;
		if(direction=="out")
		{
			fading = 1;
			alphaCounter = alphaCounter - 5;
			id.style.opacity = alphaCounter/100;
			id.style.zoom = 1;
			id.style["filter"] = "alpha(opacity=" + alphaCounter + ")";
			if(alphaCounter >= 0)
			{
				if(action){
					setTimeout("FadeFeed(objToFade,\"out\",\"" + action + "\")",10);
				}
				else
				{
					setTimeout("FadeFeed(objToFade,\"out\")",10);
				}
			}
			else
			{
				fading = 0;
				if(action=="swapdown")
				{
					var a = $("feed" + globalFeedID);
					var b = $("feed" + globalFeedNextID);
					a.parentNode.insertBefore(b, a);
					FadeFeed($("feed" + globalFeedNextID),"in");
					moving = 0;
				}
				else if(action=="swapup")
				{
					var a = $("feed" + globalFeedID);
					var b = $("feed" + globalFeedNextID);
					a.parentNode.insertBefore(a, b);
					FadeFeed($("feed" + globalFeedNextID),"in");
					moving = 0;
				}
			}
		}
		else
		{
			fading = 1;
			alphaCounter = alphaCounter + 5;
			id.style.zoom = 1;
			id.style.opacity = alphaCounter/100;
			id.style["filter"] = "alpha(opacity=" + alphaCounter + ")";
			if(alphaCounter <= 100)
			{
				setTimeout("FadeFeed(objToFade,\"in\")",10);
			}
			else
			{
				fading = 0;
			}
		}
	}
	
	function HideFeed(id)
	{
		objToShrink = id;
		heightNew = objToShrink.offsetHeight;
		if(heightDiff == 0){
			heightDiff = heightNew - heightFinal;
			PPMS = (heightDiff / animateTime);// * PPMSmult;
		}
		
		if(heightNew > heightFinal)
		{
			heightNew = objToShrink.offsetHeight * 0.80;
			
			objToShrink.style.height = heightNew + "px";
			
			if(heightNew > heightFinal)
			{
				setTimeout("HideFeed(objToShrink)",PPMSmult);
			}
			else
			{
				objToShrink.style.height = heightFinal;
				$("feedtoggle" + globalFeedID).innerHTML = "+";
			}

		}
		else
		{
			objToShrink.style.height = heightFinal;
			$("feedtoggle" + globalFeedID).innerHTML = "+";
		}
	}
	
	function MoveFeed(id,direction){
		if(moving == 0)
		{
			moving = 1;
			FeedOrderArray = FeedOrder.split(",");
			globalFeedID = id.toString();
			var ThisIdIndex = FeedOrderArray.indexOf(globalFeedID)
			var NextIdIndex;
			if(direction=="d")
			{
				NextIdIndex = ThisIdIndex + 1;
				globalFeedNextID = FeedOrderArray[NextIdIndex];
				if(typeof(globalFeedNextID)!="undefined")
				{
					FeedOrderArray[ThisIdIndex] = globalFeedNextID;
					FeedOrderArray[NextIdIndex] = globalFeedID;
					FeedOrder = FeedOrderArray.join(",");
					if(fading == 0)
						{
							alphaCounter = 100;
							FadeFeed($("feed" + globalFeedNextID),"out","swapdown");
						}
				}
				else
				{
					moving=0;
				}
			}
			else if(direction=="u")
			{
				NextIdIndex = ThisIdIndex - 1;
				globalFeedNextID = FeedOrderArray[NextIdIndex];
				if(typeof(globalFeedNextID)!="undefined")
				{
					FeedOrderArray[ThisIdIndex] = globalFeedNextID;
					FeedOrderArray[NextIdIndex] = globalFeedID;
					FeedOrder = FeedOrderArray.join(",");
					if(fading == 0)
						{
							alphaCounter = 100;
							FadeFeed($("feed" + globalFeedNextID),"out","swapup");
						}
				}
				else
				{
					moving=0;
				}
			}
		}
		else
		{
			alert("Wait until the feeds are done moving before moving them again.  Thanks.");
			moving=0;
		}
	}
