function trim(str) {
    return str.replace(/^\s+/g, '');
}

function checklength(textpass) {
  if(textpass.length < 6)
    return false;
  else
    return true;
}

function validateSignup(obj) {
	var flag = 1;
	var fname = trim(obj.firstname.value);
	var lname = trim(obj.lastname.value);
	var uname = trim(obj.username.value);
	var passwd = trim(obj.passwd.value);
	var email = trim(obj.email.value);
  if( fname == "" ) {
  	alert("Please enter the firstname");
  	obj.firstname.focus();
  	flag = 0;
  	return false;
  } else if( lname == "" ) {
  	alert("Please enter the lastname");
  	obj.lastname.focus();
  	flag = 0;;
  	return false;
  } else if( uname == "" ) {
  	alert("Please enter the username");
  	obj.username.focus();
  	flag = 0;
  	return false;
  } else if (!checklength(uname)) {
    alert("Username should be more than 6 letters");
    obj.username.focus();
  	flag = 0;
  	return false;
  } else if( passwd == "" ) {
  	alert("Please enter the password");
  	obj.passwd.focus();
  	flag = 0;
  	return false;
  } else if (!checklength(passwd)) {
    alert("Password should be more than 6 letters");
    obj.passwd.focus();
  	flag = 0;
  	return false;
  } else if(!checkemail(email)) {
  	alert("Invalid email address");
  	obj.email.focus();
  	flag = 0;
  	return false;
  } else if( email == "" ) {
  	alert("Please enter the email address");
  	obj.email.focus();
  	flag = 0;
  	return false;
  } else if( !obj.terms.checked) {
  	alert("Please check terms and conditions");
  	obj.terms.focus();
  	flag = 0;
  	return false;
  }  else if (flag == 1) {
    if (window.XMLHttpRequest) {
      xmlhttp = new XMLHttpRequest();
	  } else if(window.ActiveXObject) {
	      xmlhttp = new ActiveXObject("MSXML2.XMLHTTP");
	  }
	  var searchURL = "registration_process.php";
	  var posturl = "action=checkDuplicate&uname="+uname+"&email="+email;
	  if (obj.user_id.value != "")
	  	posturl += "&user_id="+obj.user_id.value;
	  
	  xmlhttp.open("POST",searchURL,true);
    xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
    xmlhttp.send(posturl);
	xmlhttp.onreadystatechange=updateDiv
  }
}

function updateDiv() {
  if (xmlhttp.readyState==4) {
      if (xmlhttp.responseText == 1){
        alert("The username already exist. Please provide some other name");
        return false;
      } else if (xmlhttp.responseText == 2) {
        alert("The email address already exist. Please provide some other email address");
        return false;
      } else if (xmlhttp.responseText == 3) {
        document.signup.submit();
      }
  }
}


var testresults;
function checkemail(str) {
    var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i

    if (filter.test(str))
        testresults=true
    else{
         testresults=false
    }
    return (testresults)
}