function bindMediaSwitcher()
{
	var switcher = document.getElementById("article-media-switcher");
	if (switcher)
	{
		var links = switcher.getElementsByTagName("a");
	
		for (var i = 0; i < links.length; i++)
		{
			if (links[i].attachEvent)
			{
				links[i].attachEvent("onclick", switchMedia);
			}
			else
			{
				links[i].addEventListener("click", switchMedia, true);
			}
		}
	}
}

function switchMedia()
{
	var event = (window.event ? window.event : arguments[0]);
	var link = (event.srcElement ? event.srcElement : event.target);
	
	var divs = document.getElementById("article-media").getElementsByTagName("div");

	var targetId = "article-media-" + link.parentNode.className;
	
	for (var i = 0; i < divs.length; i++)
	{
		var div = divs[i];
		
		if (div.className == "article-media-container")
		{
			div.style.display = (div.id == targetId ? "" : "none");
		}
	}
}

function switchImage()
{	
	var event = (window.event ? window.event : arguments[0]);
	var li = (event.srcElement ? event.srcElement : event.target);

	while (li && li.nodeName.toLowerCase() != "li")
	{
		li = li.parentNode;
	}

	if (!li)
	{
		throw "Couldn't find parent li";
	}

	var lis = document.getElementById("article-media-image-full").getElementsByTagName("li");
	var targetId = "article-media-image-full-" + li.id.match(/([0-9]+)/)[1];

	for (var i = 0; i < lis.length; i++)
	{
		lis[i].style.display = (lis[i].id == targetId ? "" : "none");
	}
}

function bindImageSwitcher()
{
	var strip = document.getElementById("article-media-image-thumbnails");

	if (strip)
	{
		var lis = strip.getElementsByTagName("li");

		for (var i = 0; i < lis.length; i++)
		{
			if (lis[i].attachEvent)
			{
				lis[i].attachEvent("onclick", switchImage);
			}
			else
			{
				lis[i].addEventListener("click", switchImage, true);
			}
		}
	}
}

function showEmailToFriend()
{
	document.getElementById("email-to-friend").style.display = "block";
}

function sendEmailToFriend(url)
{
	var elem = document.getElementById("email-to-friend");
	
	// show the "Sending..." text
	elem.getElementsByTagName("p")[0].style.display = "block";

	// build the query string
	var textareas = elem.getElementsByTagName("textarea");
	var inputs = elem.getElementsByTagName("input");
	
	var query = "";
	for (var i = 0; i < textareas.length; i++)
	{
		query += escape(textareas[i].name) + "=" + escape(textareas[i].value) + "&";
	}
	
	for (var i = 0; i < inputs.length; i++)
	{
		query += escape(inputs[i].name) + "=" + escape(inputs[i].value) + "&";
	}
	
	xhr = (window.XMLHttpRequest ? new window.XMLHttpRequest() : new ActiveXObject("MSXML2.XMLHTTP.3.0"));
	xhr.open("POST", url, true);
	xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xhr.onreadystatechange = function()
	{
		if (xhr.readyState == 4)
		{
			if (xhr.status == 200 && xhr.responseXML && xhr.responseXML.documentElement)
			{
				var type = xhr.responseXML.documentElement.getAttribute("type");
				if (type == "success")
				{
					closeEmailToFriend();
				}
				else if (xhr.firstChild && xhr.firstChild.nodeValue)
				{
					alert(xhr.firstChild.nodeValue);
				}
				else
				{
					alert("There was an error processing your request.\nPlease make sure you completed all fields and try again.");
				}
			}
			else
			{
				alert("There was an error processing your request.");
			}
			
			// show the "Sending..." text
			elem.getElementsByTagName("p")[0].style.display = "";
		}
	};
	
	xhr.send(query);
}

function closeEmailToFriend()
{
	document.getElementById("email-to-friend").style.display = "";
}

if (window.attachEvent)
{
	window.attachEvent("onload", bindMediaSwitcher);
	window.attachEvent("onload", bindImageSwitcher);
}
else
{
	window.addEventListener("load", bindMediaSwitcher, true);
	window.addEventListener("load", bindImageSwitcher, true);
}
