function CheckInput()
{
	if (document.getElementById('Artist_ID').value == "")
	{
		alert("You must select an Artist");
		document.getElementById('Artist_ID').style.backgroundColor = "#eeaaaa";
		document.getElementById('Artist_ID').focus();
		return false;
	}
	if (document.getElementById('First_Name').value == "")
	{
		document.getElementById('First_Name').style.backgroundColor = "#eeaaaa";
		document.getElementById('First_Name').focus();
		document.getElementById('First_Name').select();
		alert("You must enter your First Name");
		return false;
	}
	if (document.getElementById('Last_Name').value == "")
	{
		document.getElementById('Last_Name').style.backgroundColor = "#eeaaaa";
		document.getElementById('Last_Name').focus();
		document.getElementById('Last_Name').select();
		alert("You must enter your Last Name");
		return false;
	}
	if ((document.getElementById('Zip_Code').value == "") || (document.getElementById('Zip_Code').value.length < 5))
	{
		document.getElementById('Zip_Code').style.backgroundColor = "#eeaaaa";
		document.getElementById('Zip_Code').focus();
		document.getElementById('Zip_Code').select();
		alert("You must enter your Zip Code");
		return false;
	}
	var Email = document.getElementById('Email').value;
	if (Email == "")
	{
		document.getElementById('Email').style.backgroundColor = "#eeaaaa";
		document.getElementById('Email').focus();
		document.getElementById('Email').select();
		alert("You must enter your Email");
		return false;
	}
	else
	{
		// Validate that Email entered is OK format
		if (!isValidEmail(Email, true))
		{
			document.getElementById('Email').style.backgroundColor = "#eeaaaa";
			document.getElementById('Email').focus();
			document.getElementById('Email').select();
			alert("You must enter a valid Email address");
			return false;
		}
	}
	// Get a listing of all <input> elements
	var nodes = document.getElementsByTagName('INPUT');
	var countOfFriends = 0;
	for (var i = 0; i < nodes.length; i++)
	{
		if ((nodes[i].nodeName == "INPUT") && (nodes[i].id.indexOf("Friend_Email_") > -1))
		{
			if (nodes[i].value != "")
			{
				// If the Friend Email is not a well-formed email address
				if (!isValidEmail(nodes[i].value, true))
				{
					nodes[i].style.backgroundColor = "#eeaaaa";
					nodes[i].focus();
					nodes[i].select();
					alert("The Email address entered here is invalid.  Please enter a valid Email address.");
					return false;
				}
				// If the Friend Email is the same as the main Email address used
				else if (nodes[i].value == Email)
				{
					nodes[i].style.backgroundColor = "#eeaaaa";
					nodes[i].focus();
					nodes[i].select();
					alert("The Email address entered here was already used.  Please enter a different Email address.");
					return false;
				}
				else if (IsEmailInFriendEmailsArray(nodes[i].value, i))
				{
					nodes[i].style.backgroundColor = "#eeaaaa";
					nodes[i].focus();
					nodes[i].select();
					alert("The Email address entered here was already used as another Friend Email.  Please enter a different Email address.");
					return false;
				}
				else
				{
					countOfFriends++;
				}
			}
		}
	}
	if (countOfFriends < 3)
	{
		alert("You must enter email addresses for at least 3 friends in order to download songs from this album.");
		return false;
	}
	
	if (document.getElementById('Recommend_Music').checked == false)
	{
		alert("You must click the checkbox to allow us to contact the Friend Emails you listed on this page.");
		return false;
	}
	
	if (document.getElementById('Agree_Join_Mailing_List').checked == false)
	{
		alert("You must click the checkbox to allow us to add your email to this Artist's Email Newsletter.\n\n(You can request removal from the list after receiving the first email newsletter)");
		return false;
	}
	// Check for Yahoo.com email addresses
	if (Email.indexOf('@yahoo.com') > -1)
	{
		alert("Yahoo Mail tends to place these Download Link email requests into your Spam folder.  To make sure you get your download link delivered to your Yahoo Mail inbox, please add 'no-reply@pjtw.com' to your Contacts.\n\nAlso, you can optionally search through your Spam folder for an email beginning with \"FREE Album Download\" which will have your download key inside.");
	}
	return true;
}

function IsEmailInFriendEmailsArray(Email, pos)
{
	// Get a listing of all <input> elements
	var nodes = document.getElementsByTagName('INPUT');
	var countOfFriends = 0;
	for (var i = 0; i < nodes.length; i++)
	{
		if (i == pos)
		{
			i++;
		}
		else
		{
			if ((nodes[i].nodeName == "INPUT") && (nodes[i].id.indexOf("Friend_Email_") > -1))
			{
				if (nodes[i].value != "")
				{
					if (nodes[i].value == Email)
					{
						return true;
					}
				}
			}
		}
	}
	return false;
}

function GetArtistAlbums(Artist_ID)
{
	CheckIfFieldIsBlank(document.getElementById('Artist_ID'));
	
	var url = 'ajax/usp_getAlbumsByArtistID.php?artistid='+escape(Artist_ID);
	httpReqQUEUE(url, 'handleArtistAlbums');
}

function handleArtistAlbums(pos)
{
	var response = httpReqQueue[pos].xmlhttp.responseText;
	var obj = document.getElementById('Album_ID');
	if (response.length != 0)
	{
		var recordsets = response.split("~");
		if (recordsets[0].length != 0)
		{
			var rows = recordsets[0].split("`");
			var rowCounter = rows.length;
			var numItemsOutput = 0;
			// Loop through all rows in this recordset
			for (var j = 0; j < rowCounter; j++)
			{
				var cols = rows[j].split("|");
				var allColsAreEmpty = true;
				for (var i = 0; i < cols.length; i++)
				{
					if (!IsNullOrEmpty(cols[i]))
					{
						allColsAreEmpty = false;					
						break;
					}
				}
				
				if (allColsAreEmpty)
				{
					ResetSelectMenus();
				}
				else
				{	
					if (obj.options.length == 0)
					{
						GetNumSongs(cols[0]);
					}
					// Create a <option> and add it to this <select> obj
					createOption(obj, cols[0], cols[2]);
					
					// Set selected <option>
					for (var i = 0; i < obj.options.length; i++)
					{
						if (obj.options[i].text == cols[2])
						{
							obj.options[i].selected = true;
							break;
						}
					}					
				}
				
			}
		}
		else
		{			
			ResetSelectMenus();
		}
	}
	else
	{
		ResetSelectMenus();
	}
}

function GetNumSongs(Album_ID)
{	
	var url = 'ajax/usp_getNumSongsByAlbumID.php?albumid='+escape(Album_ID);
	httpReqQUEUE(url, 'handleGetNumSongs');
}

function handleGetNumSongs(pos)
{
	var response = httpReqQueue[pos].xmlhttp.responseText;
	if (response.length != 0)
	{
		var recordsets = response.split("~");
		if (recordsets[0].length != 0)
		{
			var rows = recordsets[0].split("`");
			var rowCounter = rows.length;
			var numItemsOutput = 0;
			// Loop through all rows in this recordset
			for (var j = 0; j < rowCounter; j++)
			{
				var cols = rows[j].split("|");				
				if (cols[0] > 0)
				{
					document.getElementById('full').innerHTML = 'Give 5 email addresses of friends and get all '+cols[0]+' songs on the entire album!';
				}
				
			}
		}
	}
}

function ResetSelectMenus()
{
	var obj = document.getElementById('Album_ID');
	// Remove all <options> from <select>
	var numOptions = obj.options.length-1;
	for (var i = numOptions; i >= 0; i--)
	{
		obj.options[i] = null;
	}
}