var nummer = 0;
var valid = false;

function isValidPostcode(postcode) {
  return /^\d{4} ?[A-Za-z]{2}$/.test(postcode);
}

function startsWithPostcode(postcode) {
  return /^\d{4} ?[A-Za-z]{2}/.test(postcode);
}

function namefinder() {
  var str = document.getElementById('searchstring').value;

  if (isValidPostcode(str)) {
    loadscript('http://6pp.kvdb.net/services/lookup?postcode=' + escape(str) + '&tg_format=json&jsonp=parse6PP');   
  } else if (startsWithPostcode(str)) {
    if (str.indexOf(',') != -1) {
      var foo = str.split(',');
      var postcode = foo[0];
      nummer = foo[1];
      valid = true;
      loadscript('http://6pp.kvdb.net/services/lookup?postcode=' + escape(postcode) + '&streetnumber=' + escape(nummer) + '&tg_format=json&jsonp=parse6PP');   
    }
  }
}

function loadscript(url) {
  var script = document.createElement('script');
  script.type = 'text/javascript';
  script.src = url;
  document.getElementsByTagName('head')[0].appendChild(script);
}

function parse6PP(json) {
  if (json.result.length != 0) {
    if (valid == true) {
      loadscript("proxy.php?q=" + escape(json.result[0].street) + " " + nummer + "," + escape(json.result[0].city));
      valid = false;
    } else {
      loadscript("proxy.php?q=" + escape(json.result[0].street) + "," + escape(json.result[0].city));
    }
  }
}

function parseNameFinder(json) {
  var lat = json[0].lat;
  var lon = json[0].lon;

  gotoLatLon(lat, lon);
}

