function switchMediaBrowser(origin, mediaType)
{
	var origin = Element.extend(origin);

	if (!origin.up("li").hasClassName("current"))
	{
		$("article-media-browser").childElements().each(
			function(elem)
			{
				elem.removeClassName("current");
			}
		);

		origin.up("li").addClassName("current");

		$("article-media-browser-contents").childElements().each(
			function(elem)
			{
				elem.removeClassName("current");
			}
		);

		$("article-media-browser-" + mediaType).addClassName("current");
	}
}

var currentArticleImageIndex = 0;

function previousArticleImage()
{
	if (!$("current-image").hasClassName("animating"))
	{
		switchArticleImage(-1);
	}
}

function nextArticleImage()
{
	if (!$("current-image").hasClassName("animating"))
	{
		switchArticleImage(1);
	}
}

function switchArticleImage(delta)
{
	var currentImage = $("current-image");
	currentImage.cleanWhitespace();
	
	currentImage.addClassName("animating");
	new Effect.Tween(
		currentImage,
		0,
		(delta > 0 ? -currentImage.getWidth() : currentImage.getWidth()),
		{
			duration: 0.5,
			afterFinish: function()
			{
				currentArticleImageIndex += delta;
				
				var src = "/img/media/thumbnails/" + articleImages[currentArticleImageIndex].id + "-643x320.jpg";

				var image = new Image();
				image.onload = function()
				{
					currentImage.down("img").src = src;

					if (currentArticleImageIndex == 0)
					{
						$("article-media-browser-image-previous").addClassName("disabled");
					}
					else
					{
						$("article-media-browser-image-previous").removeClassName("disabled");
					}
					
					if (currentArticleImageIndex == articleImages.length - 1)
					{
						$("article-media-browser-image-next").addClassName("disabled");
					}
					else
					{
						$("article-media-browser-image-next").removeClassName("disabled");
					}

					for (var i = 0; i < currentImage.childNodes.length; i++)
					{
						var node = currentImage.childNodes[i];

						if (typeof node.nodeName !== "undefined")
						{
							node.nodeValue = articleImages[currentArticleImageIndex].description;
						}
					}

					new Effect.Tween(
						currentImage,
						(delta > 0 ? currentImage.getWidth() : -currentImage.getWidth()),
						0,
						{
							duration: 0.5,
							afterFinish: function()
							{
								currentImage.removeClassName("animating");
							}
						},
						function(value)
						{
							currentImage.setStyle(
								{
									left: Math.floor(value) + "px"
								}
							);
						}
					);
				};

				image.onerror = function()
				{
					alert("Error loading image.");
				};

				image.src = src;
			}
		},
		function(value)
		{
			currentImage.setStyle(
				{
					left: Math.floor(value) + "px"
				}
			);
		}
	);
}

function popupVideo(mediaId)
{
	var fadeout = $("page-fadeout");
	fadeout.setStyle(
		{
			opacity: 0.4,
			display: "block"
		}
	);

	$("video-player-" + mediaId).setStyle(
		{
			display: "block"
		}
	);
}

function closeVideo(mediaId)
{
	var fadeout = $("page-fadeout");
	fadeout.setStyle(
		{
			display: "none"
		}
	);

	$("video-player-" + mediaId).setStyle(
		{
			display: "none"
		}
	);
}
