function FindPhoneNr(nPC4)
{
	if (nPC4 < 1000) return null;
	if (nPC4 <= 1127) return "020-";
	if (nPC4 <= 1145) return "0299-";
	if (nPC4 <= 1154) return "020-";
	if (nPC4 <= 1156) return "0299-";
	if (nPC4 <= 1171) return "020-";
	if (nPC4 <= 1175) return "023-";
	if (nPC4 <= 1191) return "020-";
	if (nPC4 <= 1277) return "035-";
	if (nPC4 <= 1359) return "036-";
	if (nPC4 <= 1399) return "0294-";
	if (nPC4 <= 1412) return "035-";
	if (nPC4 <= 1437) return "0297-";
	if (nPC4 <= 1438) return "020-";
	if (nPC4 <= 1451) return "0299-";
	if (nPC4 <= 1454) return "020-";
	if (nPC4 <= 1456) return "0299-";
	if (nPC4 <= 1458) return "075-";
	if (nPC4 <= 1485) return "0299-";
	if (nPC4 <= 1566) return "075-";
	if (nPC4 <= 1607) return "0228-";
	if (nPC4 <= 1609) return "0229-";
	if (nPC4 <= 1619) return "0228-";
	if (nPC4 <= 1634) return "0229-";
	if (nPC4 <= 1636) return "072-";
	if (nPC4 <= 1643) return "0229-";
	if (nPC4 <= 1646) return "072-";
	if (nPC4 <= 1663) return "0229-";
	if (nPC4 <= 1676) return "0227-";
	if (nPC4 <= 1679) return "0229-";
	if (nPC4 <= 1686) return "0228-";
	if (nPC4 <= 1692) return "0229-";
	if (nPC4 <= 1693) return "0228-";
	if (nPC4 <= 1697) return "0229-";
	if (nPC4 <= 1704) return "072-";
	if (nPC4 <= 1718) return "0226-";
	if (nPC4 <= 1719) return "0229-";
	if (nPC4 <= 1724) return "0226-";
	if (nPC4 <= 1732) return "0224-";
	if (nPC4 <= 1738) return "0226-";
	if (nPC4 <= 1746) return "0224-";
	if (nPC4 <= 1749) return "0226-";
	if (nPC4 <= 1753) return "0224-";
	if (nPC4 <= 1755) return "0226-";
	if (nPC4 <= 1759) return "0224-";
	if (nPC4 <= 1764) return "0223-";
	if (nPC4 <= 1768) return "0224-";
	if (nPC4 <= 1779) return "0227-";
	if (nPC4 <= 1788) return "0223-";
	if (nPC4 <= 1797) return "0222-";
	if (nPC4 <= 1842) return "072-";
	if (nPC4 <= 1844) return "0299-";
	if (nPC4 <= 1873) return "072-";
	if (nPC4 <= 1902) return "0251-";
	if (nPC4 <= 1906) return "072-";
	if (nPC4 <= 1921) return "0251-";
	if (nPC4 <= 1935) return "072-";
	if (nPC4 <= 1969) return "0251-";
	if (nPC4 <= 1985) return "0255-";
	if (nPC4 <= 2143) return "023-";
	if (nPC4 <= 2153) return "0252-";
	if (nPC4 <= 2155) return "0172-";
	if (nPC4 <= 2156) return "071-";
	if (nPC4 <= 2191) return "0252-";
	if (nPC4 <= 2204) return "071-";
	if (nPC4 <= 2215) return "0252-";
	return null;
}

function GetDigitPos(sTelNr)
{
	switch (sTelNr.charAt(1))
	{
	case "1":
		switch (sTelNr.charAt(2))
		{
		case "0":
		case "3":
		case "5":
			return 3;
		}
		return 4;
	case "2":
		switch (sTelNr.charAt(2))
		{
		case "0":
		case "3":
		case "4":
		case "6":
			return 3;
		}
		return 4;
	case "3":
		switch (sTelNr.charAt(2))
		{
		case "0":
		case "3":
		case "5":
		case "6":
		case "8":
			return 3;
		}
		return 4;
	case "4":
		switch (sTelNr.charAt(2))
		{
		case "0":
		case "3":
		case "5":
		case "6":
			return 3;
		}
		return 4;
	case "5":
		switch (sTelNr.charAt(2))
		{
		case "0":
		case "3":
		case "5":
		case "8":
			return 3;
		}
		return 4;
	case "6":
		return 2;
	case "7":
		return 3;
	default:
		return 4;
	}
}

function BeautifyPhoneNr(ctrl, sPostcodeField, sPlaatsField)
{
	if (!ctrl.value.length)
		return;

	ctrl.value = ctrl.value.replace(/^(\+|00)31[\s\(0\)]*/, "0");
	if ((ctrl.value.search(/^(\+|00)/) != -1))
		return;		// don't touch foreign numbers

	var sTmp = ctrl.value.replace(/[^\d]/g, "");
	if (sTmp.indexOf("-") == -1)
	{
		if (sTmp.charAt(0) == "0")
		{
			var nPos = GetDigitPos(sTmp);
			sTmp = sTmp.slice(0, nPos) + "-" + sTmp.slice(nPos);
		}
		else if (sTmp.length <= 7)
		{
			var sNetNr = (sPostcodeField ? FindPhoneNr(ctrl.form[sPostcodeField].value.substring(0, 4) * 1) : null);
			if (sNetNr)
				sTmp = sNetNr + sTmp;
			else if (sPlaatsField)
			{
				switch (ctrl.form[sPlaatsField].value.substring(0, 9).toLowerCase())
				{
				case "amsterdam":
				case "amstelvee":
				case "diemen":
				case "badhoeved":
				case "ouderkerk":
				case "duivendre":
					sTmp = "020-" + sTmp;
					break;
				case "haarlem":
				case "heemstede":
				case "hoofddorp":
					sTmp = "023-" + sTmp;
					break;
				case "purmerend":
				case "volendam":
				case "monnicken":
				case "edam":
					sTmp = "0299-" + sTmp;
					break;
//				default:
				}
			}
		}
	}

	if ((sTmp != ctrl.value) && (sTmp.length == 11) && (sTmp.indexOf("-") != -1) && (sTmp.charAt(0) == "0"))
		ctrl.value = sTmp;
}

