// Validate the fields in a form ->

function validateFields(frm) {

	var elements = frm.elements;

	var emailPattern = /^[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$/;

	var integerPattern = /(^-?\d\d*$)/;

	var currencyPattern = /-?[0-9]+\.[0-9]{2}$/;

	for (var i = 0; i < elements.length; i++) {
		
		// Check a field for any content ->

		if(/(^| )checkRequired( |$)/.test(elements[i].className) && elements[i].value == "") {

			elements[i].focus();
	
			elements[i].style.border = "1px solid #c00";
	
			alert("Please fill out all of the required fields marked with an asterix.");
	
			return false;

		}
		
		// Check a field for an email address ->

		if(/(^| )checkEmail( |$)/.test(elements[i].className) && !emailPattern.test(elements[i].value)) {

			elements[i].focus();

			elements[i].style.border = "1px solid #c00";

			alert("Please fill in a valid e-mail address.");

			return false;

		}

		// Check for a number ->

		if(/(^| )checkInteger( |$)/.test(elements[i].className) && !integerPattern.test(elements[i].value)) {

			elements[i].focus();
			
			elements[i].style.border = "1px solid #c00";
			
			alert("Please enter a number value in this field.");
			
			return false;

		}

		// Check for a decimal currency value ->

		if(/(^| )checkCurrency( |$)/.test(elements[i].className) && !currencyPattern.test(elements[i].value)) {

			elements[i].focus();
			
			elements[i].style.border = "1px solid #c00";
			
			alert("Please enter a decimal currency value eg 2.99.");
			
			return false;

		}

		// Check that a checkbox is ticked ->

		if(/(^| )checkTicked( |$)/.test(elements[i].className) && (elements[i].checked) == false) {

			elements[i].focus();
			
			elements[i].style.border = "1px solid #c00";
			
			alert("Please make sure you have checked all the required boxes.");
			
			return false;

		}

	}

	return true;

}




// Check if a customer email address is already being used by the system ->

function checkEmail(current) {
	
	var uName = document.forms["details"].elements["s_email"].value;
	
	if((uName != "") && (uName != current)) {

		var url = "/includes/js/functions/check-email.php?e="+ uName;
	
		var string = "";
	
		getXmlObject(url, string, true);
		
	} else {
		
		return true;
		
	}

}



// Check to see if a credit card number is valid using the LUHN Formula ->

function checkCardNumber(value, type) {

	var url = "/includes/js/functions/check-card.php?number="+ value +"&type="+ type;

	var string = "";

	getXmlObject(url, string, true);

}