//
// validateRequired()
// Cycles through all elements with a class of "reqField",
// and uses some basic validation.  If the element has an ID of "email"
// or "Email" it will test the value against a regular expression.
//
function validateRequired()
{

	var fields = document.getElementsByClassName("reqField");
	var error = "The following required fields are incomplete or contain errors.\n\n";
	var returnError = false;
	var emailFilter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

	if (fields.length != 0)
	{

		for (var i=0; i<fields.length; i++)
		{

			if (fields[i].value == null || fields[i].value.length == 0)
			{
				error += " - "+ camelCaseToString(fields[i].id)+" is empty\n";
				returnError = true;
			}
			else if (fields[i].id == "email" || fields[i].id == "Email")
			{

				if (!emailFilter.test(fields[i].value))
				{
					error += " - "+fields[i].id+" is invalid\n";
					returnError = true;
				}

			}


		}
		
	}

	document.getElementById("hidReferrer").value = location.href;

	error += "\n\nPlease correct these fields before continuing.";

	if (returnError == true)
	{
		alert(error);
		return false;
	}
	else
		return true;

}

//
// camelCaseToString(str)
// Takes 'CamelCase' and returns 'camel case'.
//
function camelCaseToString(str)
{
	var newStr;
	newStr = str.replace(/([A-Z])/g, " $1");

	return newStr.toLowerCase();
}

//
// showImage(img)
// Used on pages to show a thumbnail as the main image
//
function showImage(img)
{
	var description;
	var mainImage;
	var newImage;

	description = document.getElementById("mainImgDescription");
	mainImage = document.getElementById("mainImg");
	newImage = img.src.replace('_thmb','');

	mainImage.src = newImage;
	description.innerHTML = img.alt;
}