function trim(s){
  return s.replace(/^\s+|\s+$/, '');
}

function validateEmpty(fld, name) {
    var error = "";
 
	if ((fld.value == "") || (fld.value == " "))
	{
        error = "- " + name + " is required.\n"
		fld.style['background'] = 'red';
    }
	else 	fld.style['background'] = '';
   return error;
}

function validateChecked(fld, name) {
    var error = "";
 
	if (!fld.checked)
	{
        error = "- " + name + " is required.\n"
		fld.style['background'] = 'red';
    }
	else 	fld.style['background'] = '';
   return error;
}

function validateSelected(fld, name) {
    var error = "- " + name + " is required.\n";

	for (var i=fld.length-1; i > -1; i--)
	{
        if (fld[i].checked) 
		{
	        error = "";
			fld[i].style['background'] = '';
		}
//		else fld[i].style['background'] = 'red';
    }
return error;
}

function validateNumeric(fld, name) {
	var error = "";

	if (isNaN(fld.value))
	{
        error = "- " + name + " must be numeric only.\n"
		fld.style['background'] = 'red';
    }
	else 	fld.style['background'] = '';
return error;
}

function validateAlpha(str, name) {
	var error = "";

	if (!isNaN(str))
	{
        error = "- " + name + " must not be numeric.\n"
    }
return error;
}

function validateLength(fld, name, length) {
	var error = "";

	if (fld.value.length != length) 
	{
        error = "- " + name + " must be " + length + " digits long.\n"

		fld.style['background'] = 'red';
    }
	else 	fld.style['background'] = '';
return error;
}

function validateMaxLength(fld, name, length) 
{
	var error = "";

	if ((fld.value == "") || (fld.value == " "))
	{
        error = "- " + name + " is required.\n";
		fld.style['background'] = 'red';
    }
	else if (fld.value.length > length) 
	{
        error = "- " + name + " must not be longer than " + length + " characters.\n";
		fld.style['background'] = 'red';
    }
	else 	fld.style['background'] = '';
return error;
}

function validateEmail(fld) {
	var error="";
	var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
	var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
	var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
	
	if (!emailFilter.test(tfld))
	{              //test email for illegal characters
		error = "- Please enter a valid email address.\n";
		fld.style['background'] = 'red';
    }
	else if (fld.value.match(illegalChars))
	{
		error = "- The email address contains illegal characters.\n";
		fld.style['background'] = 'red';
    }
	else 	fld.style['background'] = '';
return error;
}

function validateImage(file){
	var error = "";
	var fObj = new ActiveXObject("Scripting.FileSystemObject");
	
	if(!fObj.GetFile(file).Type.match(/image/gi))
	{
		error = "- You must choose an image.\n";
		fld.style['background'] = 'red';
    }
	else 	fld.style['background'] = '';
return error;
}

function validateMobile(fld) {
	var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');    
	var error = "";
	
	if ((fld.value == "") || (fld.value == " "))
	{
		error = "- Mobile number is required.\n";
		fld.style['background'] = 'red';
	}
	else if (isNaN(parseInt(stripped)))
	{
		error = "- Mobile number contains illegal characters.\n";
		fld.style['background'] = 'red';
	}
	else if (fld.value.length != 10)
	{		
		error = "- Mobile number must be ten (10) digits long.\n";
		fld.style['background'] = 'red';
    }
	else 	fld.style['background'] = '';
return error;
}