<!--hide this script from non-javascript-enabled browsers


function trimString( stringToTrim )
{
	//
	// from the beginning ^
	// match any whitespace \s*
	// then remember (
	// all other characters \b.*\b|
	// )
	// match and whitespace till the end of the string \s
	//
	return stringToTrim.replace(/^\s*(\b.*\b|)\s*$/, '$1');
}

//
// a@a.com is ok - is there a 2 letter ending???
//
function validEmail( emailObject )
{
	if ( emailObject == null )
		return 'Please enter a valid email address';

	// Check for ..

	if ( emailObject.indexOf( '..' ) >= 0 )
		return 'Invalid format, please try again';

	switch( emailObject.charAt(0) )
	{
		case '.':
		case '-':
			return 'Invalid initial character, please try again';
		default:
			break;
	}

	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

	if (filter.test( emailObject ) )
		return 'ok';
	else
		return 'Invalid format, please try again';
}

function validText( textObject, minCount, maxCount, allowSpaces )
{
	if ( textObject == null )
		return 'Invalid format, please try again';

	textObject = trimString( textObject );

	if ( textObject.length < minCount )
	{
		var txt = 'Please enter a minimum of ' + minCount + ' characters';
		return txt;
	}

	if ( textObject.length > maxCount )
		return 'Please enter a maximum of ' + maxCount + ' characters';

	if ( !allowSpaces )
	{
		if ( textObject.indexOf( ' ' ) > 0 )
			return 'Please check that no invalid characters are contained in this field';
	}

	return 'ok';
}

function validateIndexPage()
{
	var emailObject = document.form1.email.value;
	var passwordObject = document.form1.password.value;	
	
	var result = 'ok';
	result = validEmail( emailObject );

	if ( result != 'ok' )
	{
		var errorText = 'Invalid email - ' + result;
		document.getElementById("errortext").innerHTML=errorText;
		document.form1.email.value = '';
		document.form1.password.value = '';
		return false;
	}

	result = validText( passwordObject, 5, 30, false );

	if ( result != 'ok' )
	{
		var errorText = 'Invalid password - ' + result;
		document.getElementById("errortext").innerHTML=errorText;

		document.form1.password.value = '';
		return false;
	}

	return true;
}

function insertErrorMessage(name, msg) {
  var obj = document.getElementById(name);
  if (obj) {
    obj.innerHTML = msg;
  }
}

function removeErrorMessage(name) {
  var obj = document.getElementById(name);
  if (obj) {
    // obj.innerHTML='&nbsp;';
    if (obj.innerHTML && obj.innerHTML.length > 0) {
      obj.removeChild(obj.firstChild);
    }
  }
}

function validateRegisterPage()
{
	if (document.getElementById || document.all || document.layers)
	{
		var formObj			= document.form1;
		var pageError		= false;
		var fNameObject		= formObj.fname.value;
		var sNameObject		= formObj.sname.value;
		var emailObject		= formObj.email.value;
		var passwordObject	= formObj.password.value;
		var password2Object	= formObj.password2.value;
		var countryObject	= formObj.country.value;
		var genderObject	= formObj.gender.value;

		result = validText( fNameObject, 2, 30, true );
		if (result != 'ok') {
			pageError = true;
			document.getElementById("fnameerrortext").innerHTML=result;
		}
		else {
      removeErrorMessage('fnameerrortext');
    }

		result = validText( sNameObject, 2, 30, true );
		if (result != 'ok') {
			pageError = true;
			document.getElementById("snameerrortext").innerHTML=result;
		}
		else {
			removeErrorMessage("snameerrortext");
    }

		result = validEmail( emailObject );
		if (result != 'ok') {
			pageError = true;
			document.getElementById("emailerrortext").innerHTML=result;
		}
		else {
			removeErrorMessage("emailerrortext");
    }

		result = validText( passwordObject, 5, 30, false );
		if (result != 'ok') {
			pageError = true;
			formObj.password.value	= '';
			formObj.password2.value	= '';
			document.getElementById("passworderrortext").innerHTML=result;
		}
		else if (passwordObject != password2Object) {
			pageError = true;
			document.getElementById("passworderrortext").innerHTML="Passwords don't match";
			formObj.password.value	= '';
			formObj.password2.value	= '';
		}
		else {
			removeErrorMessage("passworderrortext");
    }

		if (countryObject == 0) {
			pageError = true;
			document.getElementById("countryerrortext").innerHTML='Please select a location';
		}
		else {
			removeErrorMessage("countryerrortext");
    }

		if (genderObject == 0) {
			pageError = true;
			document.getElementById("gendererrortext").innerHTML='Please make a selection';
		}
		else {
			removeErrorMessage("gendererrortext");
    }

		if (formObj.region != null && formObj.region.disabled == false) {
			var regionObject		= formObj.region.value;

			if (regionObject == 0) {
				pageError = true;
				document.getElementById("regionerrortext").innerHTML='Please select a region';
			}
			else {
				removeErrorMessage("regionerrortext");
      }
		}
		else {
			document.getElementById("regionerrortext").innerHTML='';
    }

		// validate the dob
		var bValidDOB = true;
		if (formObj.day == null || formObj.month == null || formObj.year == null) {
			bValidDOB = false;
		}
		else if ( formObj.day.value == 'Day' || formObj.day.value.length == 0 ||
							formObj.month.value == 'Month' || formObj.month.value.length == 0 ||
							formObj.year.value == 'Year' || formObj.year.value.length == 0 ) {
			// different error message for each 1?
			bValidDOB = false;
		}

		if (!bValidDOB) {
			pageError = true;
			document.getElementById("dateerrortext").innerHTML='Please enter a valid date';
		}
		else {
			removeErrorMessage("dateerrortext");
		}

		if (pageError) {
			return false;
		}
	}
	
	return true;
}

function validateChangeDetailsPage()
{
	if (document.getElementById || document.all || document.layers)
	{
		var pageError			= false;
		var fNameObject			= document.form1.fname.value;
		var sNameObject			= document.form1.sname.value;
		var emailObject			= document.form1.email.value;
//		var curPasswordObject	= document.form1.curpassword.value;
		var passwordObject		= document.form1.password.value;
		var password2Object		= document.form1.password2.value;
		var locationObject		= document.form1.country.value;

		result = validText( fNameObject, 2, 30, true );
		if ( result != 'ok' )
		{
			pageError = true;
			document.getElementById("fnameerrortext").innerHTML=result;
		}
		else
      removeErrorMessage("fnameerrortext");
			//document.getElementById("fnameerrortext").innerHTML='&nbsp;';

		result = validText( sNameObject, 2, 30, true );
		if ( result != 'ok' )
		{
			pageError = true;
			document.getElementById("snameerrortext").innerHTML=result;
		}
		else
			document.getElementById("snameerrortext").innerHTML='&nbsp;';

		result = validEmail( emailObject );
		if ( result != 'ok' )
		{
			pageError = true;
			document.getElementById("emailerrortext").innerHTML=result;
		}
		else
			document.getElementById("emailerrortext").innerHTML='';

//		result = validText( curPasswordObject, 5, 30, false );
//		if ( result != 'ok' )
//		{
//			pageError = true;
//			document.form1.curpassword.value	= '';
//			document.form1.password.value		= '';
//			document.form1.password2.value		= '';
//			document.getElementById("curpassworderrortext").innerHTML=result;
//		}
//		else
		{
//			document.getElementById("curpassworderrortext").innerHTML='&nbsp;';
			if ( passwordObject.length > 0 )
			{
				result = validText( passwordObject, 5, 30, false );
				if ( result != 'ok' )
				{
					pageError = true;
					document.form1.curpassword.value	= '';
					document.form1.password.value		= '';
					document.form1.password2.value		= '';
					document.getElementById("passworderrortext").innerHTML=result;
				}
				else if ( passwordObject != password2Object )
				{
					pageError = true;
					document.getElementById("passworderrortext").innerHTML='Please re-enter your new password above, and confirm it below to ensure you typed it correctly';
					document.form1.curpassword.value	= '';
					document.form1.password.value		= '';
					document.form1.password2.value		= '';
				}
				else
					document.getElementById("passworderrortext").innerHTML='&nbsp;';

			}
		}

		if ( locationObject == 0 )
		{
			pageError = true;
			document.getElementById("locationerrortext").innerHTML='Please select a location';
		}
		else
			document.getElementById("locationerrortext").innerHTML='';

		if ( document.form1.region != null && document.form1.region.disabled == false )
		{
			var regionObject		= document.form1.region.value;

			if ( regionObject == 0 )
			{
				pageError = true;
				document.getElementById("regionerrortext").innerHTML='Please select a region';
			}
			else
				document.getElementById("regionerrortext").innerHTML='&nbsp;';
		}
		else
			document.getElementById("regionerrortext").innerHTML='';

		if ( pageError )
		{
			return false;
		}
	}
	return true;
}

// stop hiding -->