
	var errorDisplayed = false;
	
	function validate(result, message, object)
	{
		if (!result)
		{
			if (!errorDisplayed)
			{
				alert(message)
				object.focus();
				errorDisplayed = true;
			}
		}
	}
	
	function allOK()
	{
		var temp = errorDisplayed;
		errorDisplayed = false;
		return !temp;
	}
	
	function isEmail(testEmail)
	{
		var regex = /^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;
		return regex.test(testEmail);
	}
	
	function isCreditCard(number)
	{
		var v = '0123456789';
		var w = '';
		for (i=0; i < number.length; i++) {
		x = number.charAt(i);
		if (v.indexOf(x,0) != -1)
		w += x;
		}
		// validate number
		j = w.length / 2;
		if (j < 6.5 || j > 8 || j == 7) return false;
		k = Math.floor(j);
		m = Math.ceil(j) - k;
		c = 0;
		for (i=0; i<k; i++) {
		a = w.charAt(i*2+m) * 2;
		c += a > 9 ? Math.floor(a/10 + a%10) : a;
		}
		for (i=0; i<k+m; i++) c += w.charAt(i*2+1-m) * 1;
		return (c%10 == 0);
	}
	
	function isNumeric(text)
	{
   		var validChars = "0123456789.";
   		var isNumber = true;
   		var thisChar;

		if(text == '') isNumber = false;
 
   		for (i = 0; i < text.length && isNumber == true; i++) 
      	{ 
      		thisChar = text.charAt(i); 
      		if (validChars.indexOf(thisChar) == -1) 
        	{
         	isNumber = false;
         	}
      	}
   		return isNumber;
	}
	
function isDate(testDate)
{
	var pattern = /^(\d{1,2})(\/)(\d{1,2})(\/)(\d{2}|\d{4})$/;
	if (!pattern.test(testDate)) return false;
	
	var dateArray = testDate.split(/\//g);
	
	var day, month, year
	day = dateArray[0];
	month = dateArray[1];
	year = dateArray[2];
	
	if (month < 1 || month > 12) return false;
	if (day < 1 || day > 31) return false;
	if ((month == 4 || month == 6 || month == 9 || month == 11) && day == 31) return false;
	
    if (month == 2)
	{ // check for february 29th
        var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
        if (day > 29 || (day==29 && !isleap)) return false;
    }
	
	return true;
}

function isFutureDate(testDate)
{
	if (isDate(testDate))
	{
		testDate = testDate.split('/');
		var dateNow = new Date();
		var dateTest = new Date();
		dateTest.setDate(testDate[0]);
		dateTest.setMonth(testDate[1]-1);
		dateTest.setFullYear(testDate[2]);
  		return dateTest > dateNow;
	}
	else return false;
	
}