  var http_request = false;
  var postfix = "";

  function makePOSTRequest(url, parameters)
  {
    http_request = false;

    if (window.XMLHttpRequest) {
      http_request = new XMLHttpRequest();
      if (http_request.overrideMimeType) {
        http_request.overrideMimeType('text/html');
      }
    } else if (window.ActiveXObject) {
      try {http_request = new ActiveXObject("Msxml2.XMLHTTP");} catch (e) {try {http_request = new ActiveXObject("Microsoft.XMLHTTP");} catch (e) {}}
    }

    if (!http_request) return false;

    http_request.onreadystatechange = alertContents;
    http_request.open('POST', url, true);
    http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http_request.setRequestHeader("Content-length", parameters.length);
    http_request.setRequestHeader("Connection", "close");
    http_request.send(parameters);
  }

  function isNumber(string){for(var position = 0; position < string.length; position++) {var sc = string.charAt(position);if (sc < "0" || sc > "9") return false;}return true;}

  function alertContents() {
    if (http_request.readyState == 4) {
      if (http_request.status == 200) {
        displayMessage(http_request.responseText, postfix);
      } else {
        displayMessage("A problem occurred. Please try again later.", postfix);
      }
    }
  }

  function displayMessage(message)
  {
    return document.getElementById("pc_output" + postfix).innerHTML = message;
  }

  function submitForm(postfixString)
  {
  	if (postfixString != "") {
  	  postfix = "_" + postfixString;
  	}
  	
    var countryPrefix = document.getElementById("pc_country_prefix" + postfix).value;
    var phoneNumber = document.getElementById("pc_phone_number" + postfix).value;
    var wid = document.getElementById("pc_wid" + postfix).value;

    if (phoneNumber == "") {
      return displayMessage("Bitte tragen Sie eine Telefonnummer ein.", postfix);
    }

    if (phoneNumber.length < 6) {
      return displayMessage("Ihre Telefonnummer ist zu kurz.", postfix);
    }

    if (isNumber(phoneNumber) == false) {
      return displayMessage("Bitte tragen Sie nur Nummern ein.", postfix);
    }

    makePOSTRequest('/callback/request', 'wid=' + wid + '&country_prefix=' + countryPrefix + '&phone_number=' + phoneNumber, postfix);
  }
