var errorCount  = 0;
var errors      = new Array();

function stuffError( message )
{
    if ( message != "" )
    {
        errors[errorCount] = message;
        errorCount++;
    }
}

function clearErrors()
{
	if($('error'))
		$("error").innerHTML = '';
}

function alertErrors( errorlist )
{
    var i;
    var dialogtext = "";
    
    for ( i = 0; i < errorlist.length; i++ )
    {
        dialogtext += "<li>" + errorlist[i] + "</li>";
    }
    
    dialogtext = "<ul>" + dialogtext + "</ul>";
    
    if($('error'))
		$("error").innerHTML = dialogtext;
}

function validatePattern( formId, pattern, message )
{
	var myError = "";
	$(formId).removeClass('red');
		
	if ( pattern.test( $(formId).value ) == false )
	{
	    $(formId).addClass('red');
		myError = message;
	}
			
	return myError;	
}

function validatePresence( formId, message )
{	
	var myError   = "";
	var myPattern = /^\s*$/;
	$(formId).removeClass('red');
	
	if ( myPattern.test( $(formId).value ) )
	{
	    $(formId).addClass('red');
		myError = message;
	}
	return myError;
}

function isValidDate(day,month,year)
{
	/*
	Purpose: return true if the date is valid, false otherwise

	Arguments: day integer representing day of month
	month integer representing month of year
	year integer representing year

	Variables: dteDate - date object
	*/
	
	var dteDate;

	//set up a Date object based on the day, month and year arguments
	//javascript months start at 0 (0-11 instead of 1-12)
	dteDate=new Date(year,month,day);
	
	/*
	Javascript Dates are a little too forgiving and will change the date to a reasonable guess if it's invalid. We'll use this to our advantage by creating the date object and then comparing it to the details we put it. If the Date object is different, then it must have been an invalid date to start with...
	*/

	return ((day==dteDate.getDate()) && (month==dteDate.getMonth()) && (year==dteDate.getFullYear()));
}
