function validate() {
    var error = true;
	var errorMsg = "";   
    
    //validate txtName	  
	var trimmed = document.getElementById("tbName").value.replace(/^\s+|\s+$/g, '') ;
    if (trimmed == "") {
        document.getElementById("tbName").focus();
        errorMsg="Please enter Name.\n";
        error=false;
    }
    
     //validate txtSurname	  
	var trimmed = document.getElementById("tbSurname").value.replace(/^\s+|\s+$/g, '') ;
    if (trimmed == "") {
        if(error==true){
          document.getElementById("tbSurname").focus();
        }
        errorMsg=errorMsg+"Please enter Surname.\n";
        error=false;
    }
	
	//validate Country
	if (document.getElementById("tbCountry").value == "null") {
		if(error==true){
		   document.getElementById("tbCountry").focus();
		}
		errorMsg=errorMsg+"Please enter Country.\n";
		error=false;
	}
	
	//validate Provence
	if (document.getElementById("tbCountry").value == "south_africa") {
		if (document.getElementById("tbProvince").value == "") {
			if(error==true){
		   	   document.getElementById("tbProvince").focus();
		    }
		    errorMsg=errorMsg+"Please enter Province.\n";
		    error=false;
	    }
	}
    
     //validate txtTel	  
	var trimmed = document.getElementById("tbPhone").value.replace(/^\s+|\s+$/g, '') ;
    if (trimmed == "") {
        if(error==true){
           document.getElementById("tbPhone").focus();
        }  
        errorMsg=errorMsg+"Please enter Telephone number.\n";
        error=false;
    }
    
    //validate email
	var str = document.getElementById("tbEmail").value; // email string
    
	var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
	var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // valid
	if (!reg1.test(str) && reg2.test(str)) { // if syntax is valid
		
	}
	else{
        if(error==true){
           document.getElementById("tbEmail").focus();
        }
	errorMsg=errorMsg+"Incorrect email address.\n";
	error= false;
	}
	
    if(!error)
	{
	   alert(errorMsg);
	   return error;
	}
	else
	{
	  return error;
	}
}
