var nbsp = 160;
var emptyString = /^\s*$/ ;

// --------------------------------------------
//                  trim
// Trim leading/trailing whitespace off string
// --------------------------------------------
function trim(str)
{
	return str.replace(/^\s+|\s+$/g, '');
}

// --------------------------------------------
//            commonCheck
// Common code for all validation routines to:
// (a) check for older / less-equipped browsers
// (b) check if empty fields are required
// Returns true (validation passed), 
//         false (validation failed) or 
//         proceed (don't know yet)
// --------------------------------------------
function commonCheck (valfield)		// element to be validated
{
	if (emptyString.test(valfield.value)) {
		return false;
	}
	else {
		return true;
	}
}

// --------------------------------------------
//            validatePresent
// Validate if something has been entered
// Returns true if so 
// --------------------------------------------
function validatePresent(valfield)
{
	var stat = commonCheck(valfield);
	if (stat != true) return stat;
	return true;
}

function validateEmail(valfield)
{
	var stat = commonCheck(valfield);
	if (stat != true) return stat;

	var tfld = trim(valfield.value);	// trim whitespace
	var email = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
	if (!email.test(tfld)) {
		return false;
	}
	return true;
}

function validateTelnr(valfield)
{
	var stat = commonCheck(valfield);
	if (stat != true) return stat;

	var tfld = trim(valfield.value);	// trim whitespace
	var telnr = /^\+?[0-9 ()-]+[0-9]$/ ;
	if (!telnr.test(tfld)) {
		return false;
	}
	
	var numdigits = 0;
	for (var j=0; j<tfld.length; j++)
		if (tfld.charAt(j)>='0' && tfld.charAt(j)<='9') numdigits++;
	
	if (numdigits<6) 
		return false;

	if (numdigits>14)
		return false;
	
	return true;
}

