var request = false;
    try {
      request = new XMLHttpRequest();
    } catch (trymicrosoft) {
      try {
        request = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (othermicrosoft) {
        try {
          request = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (failed) {
          request = false;
        }  
      }
    }

if (!request)
  alert("Error initializing XMLHttpRequest!");

function resetForm(){
  document.register_form.reset();
  document.getElementById("span_username").innerHTML = "";
}

function submitForm(){
  var flag = 1;
  var firstname = document.getElementById("first_name").value;
  var lastname = document.getElementById("family_name").value;
  if((document.getElementById("first_name").value == '')&&(flag == 1)){
    flag = 0;
	alert(document.getElementById("wrong_first").value);
	document.register_form.first_name.focus();
  }	
  if((document.getElementById("family_name").value == '')&&(flag == 1)){
    flag = 0;
	alert(document.getElementById("wrong_family").value);
	document.register_form.family_name.focus();
  }
  if((document.getElementById("email").value == '')&&(flag == 1)){
    flag = 0;
	alert(document.getElementById("wrong_email").value);
	document.register_form.email.focus();
  }
  if(flag == 1){
    var property_id = document.getElementById("property_id").value;
  	if(property_id != ''){
	  document.register_form.action = "register.php?pid="+property_id;
	}else{
	  document.register_form.action = "register.php";
	}
	document.register_form.submit();
  }
}

function setUsername(){
	alert("yes");
 	var firstname = document.getElementById("first_name").value;
    var lastname = document.getElementById("family_name").value;
	var url = "special.php?fname=" + escape(firstname) + "&lname=" + escape(lastname);
	request.open("GET", url, true);
	request.onreadystatechange = setUsernameResponse;
	request.send(null);
}

function setUsernameResponse(){
  if (request.readyState == 4) {
	 if(request.status == 200){	
  		var result = request.responseText;
		if(result != ''){
			alert(result);
		}else{
		 var flag = 1;
  		 var firstname = document.getElementById("first_name").value;
  		 var lastname = document.getElementById("family_name").value;
  		 if(document.getElementById("first_name").value == ''){
    		flag = 0;
			alert(document.getElementById("wrong_first").value);
			document.register_form.first_name.focus();
	  	 }	
	  	 if((document.getElementById("family_name").value == '')&&(flag == 1)){
    		flag = 0;
			alert(document.getElementById("wrong_family").value);
			document.register_form.family_name.focus();
		 }
		 if(flag == 1){
    		document.getElementById("username").value = firstname+"."+lastname;
			document.getElementById("span_username").innerHTML = firstname+"."+lastname;
	     }
		} 
	 }
  }		
}

function submitCompany(){
  var flag = 1;
  var str = document.getElementById("company_name").value;
  if((document.getElementById("company_name").value == '')&&(flag == 1)){
    flag = 0;
	alert(document.getElementById("wrong_company").value);
	document.getElementById("company_name").focus();
  }
  if((isAlphaNumeric(str) == false)&&(flag == 1)){
  	flag = 0;
	alert("Company Name contains characters which are not allowed. Please, make sure you use only letters, numbers and spaces. Thank you!");
	document.getElementById("company_name").focus();
  }	
  if((document.getElementById("username").value == '')&&(flag == 1)){
    flag = 0;
	alert(document.getElementById("wrong_user").value);
	document.register_form.username.focus();
  }
  if((document.getElementById("email").value == '')&&(flag == 1)){
    flag = 0;
	alert(document.getElementById("wrong_email").value);
	document.register_form.email.focus();
  }
  if((document.getElementById("password").value == '')||(document.getElementById("repassword").value == '')||(document.getElementById("password").value != document.getElementById("repassword").value)&&(flag == 1)){
  	flag = 0;
	alert(document.getElementById("wrong_password").value);
	document.register_form.password.focus();
  }
  if(flag == 1){
    document.register_form.action = "register.php";
	document.register_form.submit();
  }
}

function getLanguage( selectedlang )
{
  document.register_form.langtype.value = selectedlang;
  document.register_form.action = "registration.php?register=1";
  document.register_form.submit();
}

function isAlphaNumeric(txt)
{
	return ValidString(txt,'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 ');
}

// Returns true if the CheckString only contains characters passed in ValidString (empty string = true)
function ValidString(ChkString,ValidString)
{
	for (i=0; i<ChkString.length; i++)
	{
		if (ValidString.indexOf(ChkString.substring(i,i+1)) == -1) return false;
	}
	return true;
}
