// emailing links
function showemailform()
{
	d("email1").style.display = "block";
	d("email2").style.display = "block";
	d("email3").style.display = "block";
	d("email4").style.display = "block";
	d("email").style.display = "none";
	d("facebook").style.display = "none";
	d("twitter").style.display = "none";
	d("stumbleupon").style.display = "none";

	d("myname").value = "My name";
	d("friendsname").value = "Friend's name";
	d("friendsemail").value = "Friend's email address";
	d("myname").disabled = false;
	d("friendsname").disabled = false;
	d("friendsemail").disabled = false;
	d("sendmail").disabled = false;
	d("cancelmail").disabled = false;
}

function sendemail()
{
	var myname = d("myname").value;
	var friendsname = d("friendsname").value;
	var friendsemail = d("friendsemail").value;
	var errors = "";

	if(myname == "" || myname == "My name")
		errors += "- You didn't enter your name!\n";

	if(friendsname == "" || friendsname == "Friend's name")
		errors += "- You didn't enter your friend's name!\n";

	if(friendsemail == "" || friendsemail == "Friend's email address")
		errors += "- You didn't enter your friend's email address!\n";

	if(friendsemail.indexOf(".") < 3 || friendsemail.indexOf("@") < 1)
		errors += "- Your friend's email address looks invalid.\n";

	if(errors != "")
	{
		alert("Oh noes, there's some problems with the email form:\n\n" + errors);
		return;
	}

	d("myname").disabled = true;
	d("friendsname").disabled = true;
	d("friendsemail").disabled = true;
	d("sendmail").disabled = true;
	d("cancelmail").disabled = true;

	var request = new AJAXRequest();
	request.Target = "/sendemail.aspx?myname=" + escape(myname) + "&friendsname=" + escape(friendsname) + "&friendsemail=" + friendsemail + "&url=" + document.location;

	request.Req.onreadystatechange = function()
	{
		if(request.Req.readyState < 4)
			return;

		d("myname").disabled = false;
		d("friendsname").disabled = false;
		d("friendsemail").disabled = false;
		d("sendmail").disabled = false;
		d("cancelmail").disabled = false;

		var result = request.Req.responseText;

		if(result.indexOf("success") == 0)
		{
			d("myname").value = "My name";
			d("friendsname").value = "Friend's name";
			d("friendsemail").value = "Friend's email address";
			alert("Your email has been sent!");
		}
		else
		{
			alert("Unable to send email, please check your friend's address");
		}
	}

	request.Load();
}

function cancelemail()
{
	d("email1").style.display = "none";
	d("email2").style.display = "none";
	d("email3").style.display = "none";
	d("email4").style.display = "none";
	d("email").style.display = "block";
	d("facebook").style.display = "block";
	d("twitter").style.display = "block";
	d("stumbleupon").style.display = "block";
}

// favoriting and unfavoriting
function favorite(levelid, link)
{
	if(userid == 0)
	{
		alert("You must sign in or register to save your favorite levels");
		return;
	}

	var request = new AJAXRequest();

	if(link.innerHTML == "Add to favorites")
	{
		request.Target = "/cannonplunder/fave.aspx?levelid=" + levelid;
		link.innerHTML = "Remove from favorites";
	}
	else
	{
		request.Target = "/cannonplunder/unfave.aspx?levelid=" + levelid;
		link.innerHTML = "Add to favorites";
	}

	request.Load();
}

// rating
function rating_highlight(n)
{
	var stars = d("stars");

	for(var i=0; i<5; i++)
	{
		stars.children[i].src = n >= (i+1) ? "/images/starred.jpg" : "/images/staroff.jpg";
	}
}

function rating_unhighlight(n)
{
	var stars = d("stars");

	for(var i=0; i<5; i++)
	{
		stars.children[i].src = n >= (i+1) ? "/images/staron.jpg" : n >= (i+0.5) ? "/images/starhalf.jpg" : "/images/staroff.jpg";
	}
}

function rating_vote(n)
{
	if(n != 1 && n != 2 && n != 3 && n != 4 && n != 5)
		return;

	var request = new AJAXRequest();
	request.Target = "/cannonplunder/rate.aspx?levelid=" + levelid + "&rating=" + n;
	request.Load();

	var stars = d("stars");

	for(var i=0; i<5; i++)
	{
		stars.children[i].src = n >= (i+1) ? "/images/starred.jpg" : "/images/staroff.jpg";
		stars.children[i].onmouseover = null;
		stars.children[i].onmouseout = null;
		stars.children[i].onclick = null;
	}
}
