function ValidateAll()
{
	if(CheckName(document.contact.Name.value) == false) return false;
	if(CheckEmail(document.contact.Email.value) == false) return false;
	if(CheckPhone(document.contact.Phone.value) == false) return false;
	if(CheckMessage(document.contact.Message.value) == false) return false;
	return true;
}

function StripSpacesFromEnds(s)
{
	while((s.indexOf(' ',0) == 0) && (s.length> 1))
	{
		s = s.substring(1,s.length);
	}
	while((s.lastIndexOf(' ') == (s.length - 1)) && (s.length> 1))
	{
		s = s.substring(0,(s.length - 1));
	}
	if((s.indexOf(' ',0) == 0) && (s.length == 1)) s = '';
	return s;
}

function IsItPresent(s,explanation)
{
	s = StripSpacesFromEnds(s);
	if(s.length) return s;
	alert('Please enter ' + explanation + '.');
	return '';
}



function CheckName(s_name)
{
	s_name = IsItPresent(s_name,'your full name');
	if(! s_name) return false;
	var i = s_name.indexOf('  ',0);
	while(i> -1)
	{
		s_name = s_name.substring(0,(i + 1)) + 
		s_name.substring((i + 2),s_name.length);
		i = s_name.indexOf('  ',0);
	}
	s_name = s_name.toLowerCase();
	var s = new String(s_name.substring(0,1));
	s = s.toUpperCase();
	s_name = s + s_name.substring(1,s_name.length);
	i = s_name.indexOf(' ',0);
	if(i == (s_name.length - 1)) i = -1;
	var ts = new String("");
	var j = 0;
	while(i> -1)
	{
		i++;
		j = i + 1;
		s = s_name.substring(i,j);
		s = s.toUpperCase();
		ts = '';
		if(i> 0) ts = s_name.substring(0,i);
		s_name = ts + s + s_name.substring(j,s_name.length);
		i = s_name.indexOf(' ',j);
		if(i == (s_name.length - 1)) i = -1;
	}
	document.contact.Name.value = s_name;
	return true;
}

function CheckPhone(s_phone)
{
	s_phone = IsItPresent(s_phone,'your phone number');
	if(! s_phone) return false;
	var i = s_phone.indexOf('  ',0);
	while(i> -1)
	{
		s_phone = s_phone.substring(0,(i + 1)) + 
			s_phone.substring((i + 2),s_phone.length);
		i = s_phone.indexOf('  ',0);
	}
	s_phone = s_phone.toLowerCase();
	var s = new String(s_phone.substring(0,1));
	s = s.toUpperCase();
	s_phone = s + s_phone.substring(1,s_phone.length);
	i = s_phone.indexOf(' ',0);
	if(i == (s_phone.length - 1)) i = -1;
	var ts = new String("");
	var j = 0;
	while(i> -1)
	{
		i++;
		j = i + 1;
		s = s_phone.substring(i,j);
		s = s.toUpperCase();
		ts = '';
		if(i> 0) ts = s_phone.substring(0,i);
		s_phone = ts + s + s_phone.substring(j,s_phone.length);
		i = s_phone.indexOf(' ',j);
		if(i == (s_phone.length - 1)) i = -1;
	}
	document.contact.Phone.value = s_phone;
	return true;
}

function CheckMessage(s_message)
{
	s_message = IsItPresent(s_message,'a messsage');
	if(! s_message) return false;
	var i = s_message.indexOf('  ',0);
	while(i> -1)
	{
		s_message = s_message.substring(0,(i + 1)) + 
			s_message.substring((i + 2),s_message.length);
		i = s_message.indexOf('  ',0);
	}
	var s = new String(s_message.substring(0,1));
	s_message = s + s_message.substring(1,s_message.length);
	i = s_message.indexOf(' ',0);
	if(i == (s_message.length - 1)) i = -1;
	var ts = new String("");
	var j = 0;
	while(i> -1)
	{
		i++;
		j = i + 1;
		s = s_message.substring(i,j);
		ts = '';
		if(i> 0) ts = s_message.substring(0,i);
		s_message = ts + s + s_message.substring(j,s_message.length);
		i = s_message.indexOf(' ',j);
		if(i == (s_message.length - 1)) i = -1;
	}
	document.contact.Message.value = s_message;
	return true;
}

function CheckEmail(s_email)
{
	s_email = IsItPresent(s_email,'your email address');
	if(! s_email) return false;
	var i = s_email.indexOf(' ',0);
	while(i> -1)
	{
		s_email = s_email.substring(0,i) + 
		s_email.substring((i + 1),s_email.length);
		i = s_email.indexOf(' ',0);
	}
	document.contact.Email.value = s_email;
	if((s_email.length < 6) ||
	   (s_email.indexOf('@',0) < 1) ||
	   (s_email.lastIndexOf('@') != s_email.indexOf('@',0)) ||
	   (s_email.lastIndexOf('@') > (s_email.length - 5)) ||
	   (s_email.lastIndexOf('.') > (s_email.length - 3)) ||
	   (s_email.lastIndexOf('.') < (s_email.length - 4)) ||
	   (s_email.indexOf('..',0) > -1) ||
	   (s_email.indexOf('@.',0) > -1) ||
	   (s_email.indexOf('.@',0) > -1) ||
	   (s_email.indexOf(',',0) > -1))
	{
		alert('Sorry, the email address "' + s_email + '" is not valid. Please enter a valid email address.');
		return false;
	}
	return true;
}