function CheckDateFormat( sFieldName )
{
	var sText = document.form1.elements( sFieldName ).value
	var sMsg = ''
	var sRes = ''
	
	if ( sText != '' )
	{
		var d = sText.split('/')

		if ( d.length == 2 )
		{
			var d = new Date()
			d[2] = d.getFullYear()
		}
		
		if ( d.length != 3 )
		{
			sMsg = 'Invalid date format - ' + sText
		}
		else
		{
			if ( isNaN(parseInt(d[0],10)) || d[0] > 31 || d[0] < 1 )
			{
				sMsg = 'Invalid day of month - ' + d[0]
			}
			else if ( isNaN(parseInt(d[1],10)) || d[1] > 12 || d[1] < 1 )
			{
				sMsg = 'Invalid month - ' + d[1]			
			}
			else if ( isNaN(parseInt(d[2],10)) )
			{
				sMsg = 'Invalid day of year - ' + d[2]			
			}
			else if ( d[2] > -1 && d[2] < 100 )
			{
				d[2] = parseInt(d[2],10) + 2000
			}
			
			if ( d[2] < 1900 || d[2] > 3000 )
			{
				sMsg = 'Invalid year - ' + d[2]
			}
			
			var day, month
			
			day = parseInt(d[0],10)
			if (day<10)
				day = '0' + day
			
			month = parseInt(d[1],10)
			if ( month<10 )
				month = '0' + month
			
			sRes = day + '/' + month  + '/' + parseInt(d[2],10) 
		}
	}
	
	if ( sMsg != '' )
	{
		alert( sMsg )
		document.form1.elements( sFieldName ).focus()
		document.form1.elements( sFieldName ).select()
	}
	else
	{
		document.form1.elements( sFieldName ).value = sRes
	}
}
function IsIntegerOneToFive( sFieldName ) 
{
	var sMsg = ''
	var sInt = document.form1.elements( sFieldName ).value
	
	if ( ( isNaN(parseInt(sInt)) || sInt < 1 || sInt > 5) && sInt!='' )
	{
		sMsg = 'Please enter a numeric value between 1 and 5'
	}
	
	if ( sMsg != '' )
	{
		alert( sMsg )
		document.form1.elements( sFieldName ).focus()
		document.form1.elements( sFieldName ).select()
	}
	else
	{
		document.form1.elements( sFieldName ).value = sInt
	}
}
function IsIntegerZeroToFiftyNine( sFieldName ) 
{
	var sMsg = ''
	var sInt = document.form1.elements( sFieldName ).value
	
	if ( ( isNaN(parseInt(sInt)) || sInt < 0 || sInt > 59) && sInt!='' )
	{
		sMsg = 'Please enter a numeric value between 0 and 59'
	}
	
	if ( sMsg != '' )
	{
		alert( sMsg )
		document.form1.elements( sFieldName ).focus()
		document.form1.elements( sFieldName ).select()
	}
	else
	{
		document.form1.elements( sFieldName ).value = sInt
	}
}
function CheckTimesheet() 
{
	if (document.form1.dtStudyDate.value.Trim() == '')
	{
		alert( 'You must enter a date of study' );
		document.form1.dtStudyDate.focus();
		return false;
	}
	if (document.form1.sDescription.value.Trim() == '')
	{
		alert( 'You must enter a description' );
		document.form1.sDescription.focus();
		return false;
	}
	else if (IsInteger(document.form1.liHoursSpent.value) == false )
	{
		alert('Please enter a numeric value for time spent (hours)')
		document.form1.liHoursSpent.focus();
		return false;
	}
	else if (IsInteger(document.form1.liMinutesSpent.value) == false )
	{
		alert('Please enter a numeric value for time spent (minutes)')
		document.form1.liMinutesSpent.focus();
		return false;
	}
	else
		return true;
}
function CheckSignUp() 
{
	if (document.form1.sName.value.Trim() == '')
	{
		alert( 'Please enter your name' );
		document.form1.sName.focus();
		return false;
	}
	else if (document.form1.sJobTitle.value.Trim() == '')
	{
		alert( 'Please enter your job title' );
		document.form1.sJobTitle.focus();
		return false;
	}
	else if (document.form1.sBusinessName.value.Trim() == '')
	{
		alert( 'Please enter the name of your business' );
		document.form1.sBusinessName.focus();
		return false;
	}
	else if (document.form1.sAddressLine1.value.Trim() == '')
	{
		alert( 'Please enter the first line of your address' );
		document.form1.sAddressLine1.focus();
		return false;
	}
	else if (document.form1.sTown.value.Trim() == '')
	{
		alert( 'Please enter a town' );
		document.form1.sTown.focus();
		return false;
	}
	else if (document.form1.sPostcode.value.Trim() == '')
	{
		alert( 'Please enter a postcode' );
		document.form1.sPostcode.focus();
		return false;
	}
	else if (document.form1.sTelephoneNo.value.Trim() == '')
	{
		alert( 'Please enter your telephone number' );
		document.form1.sTelephoneNo.focus();
		return false;
	}
	else
		return true;
	
}
function SubmitPasswordForm()
{
	if ( CheckMembersPassword() )
	{
		return true;
	}
	else
	{
		return false;
	}
}
function CheckMembersPassword()
{
	if (document.form1.CurrentPassword.value.Trim() == '')
	{
		alert( 'You must enter your current password' );
		document.form1.CurrentPassword.focus();
		return false;
	}
	else if (document.form1.NewPassword.value.Trim() == '')
	{
		alert( 'You must enter a new password' );
		document.form1.NewPassword.focus();
		return false;
	}
	else if (document.form1.ConfirmNewPassword.value.Trim() == '')
	{
		alert( 'You must confirm your new password' );
		document.form1.ConfirmNewPassword.focus();
		return false;
	}
	if (document.form1.NewPassword.value == document.form1.ConfirmNewPassword.value)
	{
		if (document.form1.NewPassword.value.length >= 4) 
			{
			if (document.form1.NewPassword.value.indexOf("'") != -1) 
				{
					alert( 'Your password contains an invalid character' );
					return false;
				}
				else
				{
					return true;
				}
			}
		else
			{
				alert( 'Your password must be at least 4 characters long' );
				return false;
			}
	}
	else
	{
		alert( 'The passwords do not match' );
		return false;
	}	
}
function validEmail(item) 
{
	var s = item;
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9])+$/;
		
	if (s == '')
	{
		return true;
	}
	else
	{
		if (filter.test(s)) 
		{
			return true;
		}	
		else
		{
			return false;	
		}
	}
}
function CheckLogin()
{
	if (document.form1.sUserName.value.Trim() == '')
	{
		alert( 'Please enter a username' );
		document.form1.sUserName.focus();
		return false;
	}
	else if (document.form1.sPassword.value.Trim() == '')
	{	
		alert( 'Please enter a password' );
		document.form1.sPassword.focus();
		return false;
	}		
	else
		return true;
}
function CheckForgottenPassword()
{
	if (document.form1.sUserName.value.Trim() == '')
	{
		alert( 'Please enter a username' );
		document.form1.sUserName.focus();
		return false;
	}
	else
		return true;
}
String.prototype.IsWhiteSpace = function()
{
	return this == ' ' || this == '\t';
}
String.prototype.TrimLeft = function()
{
	var i=0;
	
	while (this.charAt(i).IsWhiteSpace())
		i++;
		
	return this.substr(i)
}
String.prototype.TrimRight = function()
{
	var i=this.length;
	
	while (this.charAt(i).IsWhiteSpace())
		i--;
		
	return this.substr(0,i+1)
}
String.prototype.Trim = function()
{
	return this.TrimLeft().TrimRight();
}
function IsInteger(value) 
{
	if ( value == parseInt(value) )
		return true;
	else
		return false;
}

