function validateForm()
{
  var f=document.form1;	
  if (null==f.fname.value || !f.fname.value.length){
    alert('Please enter your first name');	
    f.fname.focus(); return false;
  }
  if (null==f.lname.value || !f.lname.value.length){
    alert('Please enter your last name');	
    f.lname.focus(); return false;
  }
  if (null==f.address.value || !f.address.value.length){
    alert('Please enter your address');	
    f.address.focus(); return false;
  }

  if (null==f.email.value || !f.email.value.length){
    alert('Please enter your email');
    f.email.focus(); return false; 
  }

  if(null==f.captcha.value){
    alert('Please enter secret phrase');
    f.captcha.focus(); return false; 
  }

  return true;
}


var url = 'captcheck.php?code=';
var captchaOK = 2; // 2 - not yet checked, 1 - correct, 0 - failed
var msg = '';
var http = getHTTPObject(); // We create the HTTP Object 

function validate() {

	// make default flag
	captchaOK = 2;

	if(!validateForm()) {
		return;
	}

	http.open("GET", url + escape(document.form1.captcha.value), true);
	http.onreadystatechange = handleHttpResponse;
	http.send(null);
}


function handleHttpResponse() {
	if (http.readyState == 4) {
		captchaOK = http.responseText;
		if(captchaOK != 1) {
			alert('The characters entered were incorrect. Please re-enter the characters to submit the form.');
			document.form1.captcha.value='';
			document.form1.captcha.focus();
			return false;
		}
		document.form1.submit();
	}
}


// ----------------------------

function getHTTPObject() {
	try {
		req = new XMLHttpRequest();
	} catch (err1) {
		try {
			req = new ActiveXObject("Msxml12.XMLHTTP");
		} catch (err2) {
			try {
				req = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (err3) {
				req = false;
			}
		}
	}
	return req;
}

