﻿// Error Check Functionsfunction EC_name()	{	var obj 	= document.getElementById('name');	var div 	= obj.parentNode;	var value 	= obj.value;	if(/^[a-zA-Z\s\'\.]{1,100}$/.test(value) == false)		{		obj.onkeyup = function(){EC_name();}		addError(obj.getAttribute('id'),'The Name field is invalid, empty, or too long.');		div.className = "showError";		return true;		}	else		{		obj.onkeyup = null;		removeError(obj.getAttribute('id'));		div.className = "hideError";		return false;		}	}function EC_e_mail()	{	var obj 	= document.getElementById('e_mail');	var div 	= obj.parentNode;	var value 	= obj.value;	if(/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[_a-z0-9-]+)*(\.[_a-z0-9-]{2,3})$/i.test(value) == false)		{		obj.onkeyup = function(){EC_e_mail();}		addError(obj.getAttribute('id'),'The E-Mail field contains an invalid e-mail address or is empty.');		div.className = "showError";		return true;		}	else		{		obj.onkeyup = null;		removeError(obj.getAttribute('id'))		div.className = "hideError";		return false;		}	}function EC_subject()	{	var obj 	= document.getElementById('subject');	var div 	= obj.parentNode;	var value 	= obj.value;	if(/^(.){1,100}$/.test(value) == false)		{		obj.onkeyup = function(){EC_subject();}		addError(obj.getAttribute('id'),'The Subject field is invalid, empty, or too long.');		div.className = "showError";		return true;		}	else		{		obj.onkeyup = null;		removeError(obj.getAttribute('id'));		div.className = "hideError";		return false;		}	}function EC_message()	{	var obj 	= document.getElementById('message');	var div 	= obj.parentNode;	var value 	= obj.value;	if(/^(.|\s){1,2000}$/.test(value) == false)		{		obj.onkeyup = function(){EC_message();}		addError(obj.getAttribute('id'),'The Message field is empty or too long.');		div.className = "showError";		return true;		}	else		{		obj.onkeyup = null;		removeError(obj.getAttribute('id'));		div.className = "hideError";		return false;		}	}// Add error to listfunction addError(name,error)	{	var div 		= document.getElementById('errors_div');	var list 		= document.getElementById('errors_list');	var num_errors	= list.childNodes.length	// Check if error is already displayed	if(num_errors > 0)		{		for(var i=0;i<num_errors;i++)			{			var current_obj = list.childNodes[i];			if(current_obj.firstChild.nodeValue == error)				{				return false; // Exit				}			}		}	if(list.childNodes.length == 0)		{		div.className = 'showErrors';		}		var LI = document.createElement('li');	LI.className = 'errorType_'+name;	var TEXT = document.createTextNode(error);	LI.appendChild(TEXT);	list.appendChild(LI);	}// Remove error from listfunction removeError(name)	{	var div 		= document.getElementById('errors_div');	var list 		= document.getElementById('errors_list');	var num_errors 	= list.childNodes.length	for(var i=0;i<num_errors;i++)		{		var current_obj = list.childNodes[i];		if(current_obj.className == 'errorType_' + name)			{			list.removeChild(current_obj);			break;			}		}	if(list.childNodes.length == 0)		{		div.className = 'hideErrors';		}	}// Form Submit / Error Checkfunction submitMessage()	{	var errors = 0;	EC_name()? errors++ : null;	EC_e_mail()? errors++ : null;	EC_subject()? errors++ : null;	EC_message()? errors++ : null;	if(errors == 0)		{		document.getElementById('contact').submit();		}	else		{		alert('Please scroll up and correct the fields bordered in red.');		return false;		}	}