function valErrorStyle(formField, msg)
{
	document.getElementById('valErrorDisplay').innerHTML = msg;
	document.getElementById('valErrorDisplay').style.color="#ca0000";
	document.getElementById('valErrorDisplay').style.fontWeight="700";
	document.getElementById(formField).style.backgroundColor="#FBC9C5";
	//document.getElementById(formField).focus();	
}

function validate()
{
	var strErrorMsg		= "";
	var strErrEmail		= "";
    var min_age         = 60;
    var max_age         = 115;
    var age = Number(document.getElementById('calcAge').value);

    if (document.getElementById('calcAge'))
    {
        if ((age < min_age) || (age > max_age))
        {
            //valErrorStyle('calcAge', "Age must be between " + min_age + " and " + max_age + " years");
            valErrorStyle('calcAge', "Age must be between " + min_age + " and over.");
            document.getElementById('calcAge').focus();
            document.getElementById('calcAge').select();
            return false;
        }
        
        if (document.getElementById('calcAge').value=="")
        {
            valErrorStyle('calcAge', "Please enter your Age.");
	        document.getElementById('calcAge').focus();
	        document.getElementById('calcAge').select();
	        return false;	
        }

        if (!document.getElementById('calcAge').value.match(/^[0-9]+$/))
        {
            valErrorStyle('calcAge', "Please check that your Age is entered correctly.");
	        document.getElementById('calcAge').focus();
	        document.getElementById('calcAge').select();
	        return false;	
        }
    }

    if (document.getElementById('calcPropertyValue'))
    {
        if (document.getElementById('calcPropertyValue').value=="")
        {
            valErrorStyle('calcPropertyValue', "Please enter your Property Value.");
	        document.getElementById('calcPropertyValue').focus();
	        document.getElementById('calcPropertyValue').select();
	        return false;	
        }
        
        if (!document.getElementById('calcPropertyValue').value.match(/^[0-9.,\u00A3]+$/))
        
        {
            valErrorStyle('calcPropertyValue', "Please check that your Property Value is entered correctly.");
	        document.getElementById('calcPropertyValue').focus();
	        document.getElementById('calcPropertyValue').select();
	        return false;	
        }
    }
    
    if (document.getElementById('title'))
    {
        if (document.getElementById('title').value=="select")
	    {
	        valErrorStyle('title', "Please select your Title.");
		    document.getElementById('title').focus();
		    return false;
	    }
    }

	if (document.getElementById('firstName'))
	{
	    if (document.getElementById('firstName').value=="")
	    {
	        valErrorStyle('firstName', "Please enter your First Name.");
		    document.getElementById('firstName').focus();
		    return false;
	    }

        if (!document.getElementById('firstName').value.match(/^[A-Za-z]+$/))
	    {
		    valErrorStyle('firstName', "Please check that your first name is entered correctly.");
		    document.getElementById('firstName').focus();
            return false;	
        }
	}

	if (document.getElementById('lastName'))
	{
	    if (document.getElementById('lastName').value=="")
	    {
	        valErrorStyle('lastName', "Please enter your Last Name.");
		    document.getElementById('lastName').focus();
            return false;
        }

        if (!document.getElementById('lastName').value.match(/^[A-Za-z-\s]+$/))
	    {
            valErrorStyle('lastName', "Please check that your Last Name is entered correctly.");		    
            document.getElementById('lastName').focus();
		    return false;
	    }
    }

    if (document.getElementById('CdobDay') && document.getElementById('CdobMonth') && document.getElementById('CdobYear'))
    {
        if ((document.getElementById('CdobDay').value=="0") || (document.getElementById('CdobMonth').value=="0") || (document.getElementById('CdobYear').value=="0"))
	    {
		    valErrorStyle('CdobDay', "Please select your Date of Birth.");			
		    document.getElementById('CdobDay').focus();
		    return false;	
	    }
    }
    
	//if (document.getElementById('email').value=="")
	//{
    //    valErrorStyle('email', "Entered Email Address is invalid.");			
    //    document.getElementById('email').focus();
	//	return false;
	//}
	
    if (document.getElementById('phone'))    
    {
	var objPhone = document.getElementById('phone');
	 if (objPhone.value == '') 
	 {
            valErrorStyle('phone', "Please enter your Phone Number.");		    
            objPhone.focus();
		    return false;
	 }
	 else
	 {
		if (!objPhone.value.match(/^0\d{9,10}$/))
		    {
		    valErrorStyle('phone', "Please check that your Phone Number is entered correctly.");		    
		    objPhone.focus();
			    return false;
			}
	 }    
    }
	

    if (document.getElementById('email') && document.getElementById('email').value!="")
    {
        if (!document.getElementById('email').value.match(/^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/))
	    {
            valErrorStyle('email', "Please check that your Email Address is entered correctly.");
		    document.getElementById('email').focus();
		    return false;
	    }
	}

    if (document.getElementById('email') && document.getElementById('vemail'))	
    {
	    if (document.getElementById('email').value != document.getElementById('vemail').value)
	    {	
            valErrorStyle('vemail', "Please check your Email address, as the two entries do not match.");			
            document.getElementById('vemail').focus();
		    return false;
	    }
    }

    if (document.getElementById('searchhouse'))
    {
	    if (document.getElementById('searchhouse').value=="")
	    {
		    valErrorStyle('searchhouse', "Please enter your House number/name and Postcode and\n  then click the Find My Address button.");			
		    document.getElementById('searchhouse').focus();
		    return false;
	    }
    }
    
    if (document.getElementById('postcode'))
    {
	    if (document.getElementById('postcode').value=="")
	    {
		    valErrorStyle('postcode', "Please enter your Postcode and then click the Find My Address button.");			
		    document.getElementById('postcode').focus();
		    return false;
	    }
    }
    
    if (document.getElementById('address1') && document.getElementById('address2'))
    {
	    if (document.getElementById('address1').value=="" && document.getElementById('address2').value=="")
	    {
		    valErrorStyle('address1', "Please enter your House number or House name.");			
		    document.getElementById('address1').focus();
		    return false;
	    }
    }
    
    if (document.getElementById('address4'))
    {
	    if (document.getElementById('address4').value=="")
	    {
            valErrorStyle('address4', "Please enter your Town.");			
		    document.getElementById('address4').focus();
		    return false;
	    }

        if (!document.getElementById('address4').value.match(/^[A-Za-z-\s]+$/))
	    {
	        valErrorStyle('address4', "Please check that your Town is entered correctly.");			
	        document.getElementById('address4').focus();
            return false;
	    }
    }

	//if (document.getElementById('DPact').checked!=true)
	//{
	//    valErrorStyle('DPact', "Please tick the box to confirm you have read the data protection document.");			
	//	document.getElementById('DPact').focus();
	//	return false;
	//}

	return true;
}

