//JavaScript Document
//By Gazok (http://gazokblog.co.uk) for Jackreyes
//Content/Colour Switcher
//Arrays are your friend
function switchContent(obj) 
{
	var summaryArray = new Array();
	summaryArray[0] = document.getElementById('homesummary');
	summaryArray[1] = document.getElementById('blogsummary');
	summaryArray[2] = document.getElementById('projectsummary');
	summaryArray[3] = document.getElementById('gallerysummary');
	summaryArray[4] = document.getElementById('contactsummary');
	
	var backgroundColourArray = new Array();
	backgroundColourArray[0] = "#466180"; //Home
	backgroundColourArray[1] = "#46805E"; //Blog
	backgroundColourArray[2] = "#804546"; //Projects
	backgroundColourArray[3] = "#7F6045"; //Gallery
	backgroundColourArray[4] = "#5B365B"; //Contact
	
	var textColourArray = new Array();
	textColourArray[0] = "#6185AE"; //Home
	textColourArray[1] = "#4E9D70"; //Blog
	textColourArray[2] = "#AF6161"; //Projects
	textColourArray[3] = "#AF8561"; //Gallery
	textColourArray[4] = "#7F4D7F"; //Contact
	
	var linkColourArray = new Array();
	linkColourArray[0] = "#50749D"; //Home
	linkColourArray[1] = "#3D8C60"; //Blog
	linkColourArray[2] = "#9E5050"; //Projects
	linkColourArray[3] = "#9E7450"; //Gallery
	linkColourArray[4] = "#6E3C6E"; //Contact
	
	//They really are
	
	//This just switches a load of CSS attributes after checking through a loop to see which attributes it needs to change.
	for (i in summaryArray)
	{
		if (i == obj)
		{
			summaryArray[i].style.visibility = 'visible';
			var docbody = document.body.style;
			docbody.backgroundColor = backgroundColourArray[i];
			docbody.color = textColourArray[i];
			
			var links = summaryArray[i].getElementsByTagName("a");
			for (var j = 0; j < links.length; j++) 
			{ 
				links[j].style.color = linkColourArray[i];
			}
		}
		else
		{
			summaryArray[i].style.visibility = 'hidden';
		}
	}
}

//Verbose form checker - Makes sure the error message is in comprehendable english
//Arrays continue to be your friend
function checkForm()
{
	var valid = true;
	var errorMessage = " ";
	
	var totalErrors = 0;
	
	var userValues = new Array();
	userValues[0] = document.forms[0].name.value;
	userValues[1] = document.forms[0].email.value;
	userValues[2] = document.forms[0].subject.value;
	userValues[3] = document.forms[0].message.value;
	
	var formNames = new Array();
	formNames[0] = "Name";
	formNames[1] = "Email";
	formNames[2] = "Subject";
	formNames[3] = "Message";
	//Oh they're so magical
	
	
	var validname = /^[a-zA-Z ]*$/;
	var validemail = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
	
	if (validname.test (userValues[0]) == false || validemail.test (userValues[1]) == false)
	{
		if (validname.test (userValues[0]) == false)
		{
			errorMessage = errorMessage + "Name cannot contain letters or special characters. "
		}
		
		if (validemail.test (userValues[1]) == false && userValues[1] != "")
		{
			errorMessage = errorMessage + "Invalid email. "
		}
		totalErrors++;
	}
	
	
	var currentErrors = new Array();
	
	for (i in userValues)
	{
		if(userValues[i] == "" && i != 2)
		{
			currentErrors[currentErrors.length] = formNames[i];
		}
	}
	
	if (currentErrors.length > 0)
	{
		for (i = 0; i < currentErrors.length; i++)
		{
			if (currentErrors.length > 1) 
			{
				if (i + 1 == currentErrors.length)
				{
					//Processing the last of several errors
					errorMessage = errorMessage + " and " + currentErrors[i];					
				}
				else if (i == 0)
				{
					//Processing the first of several errors
					errorMessage = errorMessage + currentErrors[i];
				}
				else
				{
					//And all those in between
					errorMessage = errorMessage + ", " + currentErrors[i];
				}
			}
			else
			{
				//Processing of only one error
				errorMessage = errorMessage + currentErrors[i];
			}
		}
		errorMessage = errorMessage + " cannot be empty. ";
		totalErrors++;
	}
	
	if (totalErrors > 0)
	{
		valid = false;
		
		if (totalErrors > 1)
		{
			errorMessage = "<p>The following errors occured:" + errorMessage;
		}
		else
		{
			errorMessage = "<p>The following error occured:" + errorMessage;
		}
		
		errorMessage = errorMessage + "</p>";
		document.getElementById('errormessage').innerHTML = errorMessage;
	}
	
	return valid;
}