function calculateRegion() {
  var phoneNumber="";
  var regionID = 20;
  for(var i=0; i < document.AddBusinessForm.PhoneNumber.value.length; i++) {
    nowChecking = document.AddBusinessForm.PhoneNumber.value.substr(i,1);
    if ((nowChecking != " ") && (nowChecking != "-")) {
      phoneNumber += nowChecking
    }
  }
  
  switch (phoneNumber.substr(0,1)) { 
  
    case "3" : // entire South Island
      switch (phoneNumber.substr(1,1)) {
        case "2" : regionID = 18; break // Southland
        case "3" : // Marlborough or Canterbury
          switch (phoneNumber.substr(2,3)) {
            case "194" : regionID = 13; break
            case "195" : regionID = 13; break
            case "196" : regionID = 13; break
            default : regionID = 15
          }
          break
        case "4" : // Canterbury or Otago
          switch (phoneNumber.substr(2,2)) {
            case "35" : regionID = 15; break
            default : regionID = 17
          }
          break
        case "5" : // Nelson or Marlborough
          switch (phoneNumber.substr(2,1)) {
            case "7" : 
              switch (phoneNumber.substr(3,1)) {
                case "1" : regionID = 12; break
                case "6" : regionID = 12; break
                default : regionID = 13
              }
              break
            default : regionID = 12
          }
          break
        case "6" : regionID = 15; break // Canterbury
        case "7" : regionID = 14; break // West Coast
      }
      break
      
    case "4" : regionID = 11; break
  
    case "6" : // Gisborne, Hawke's Bay, Taranaki, Wanganui, Wairarapa, or Manawatu
      switch (phoneNumber.substr(1,1)) {
          case "2" : regionID = 7; break
        case "3" : // Hawke's Bay, Wanganui, Manawatu, Wairarapa
          switch (phoneNumber.substr(2,1)) {
            case "0" : regionID = 10; break
            case "2" : // Wanganui or Manawatu
              switch (phoneNumber.substr(3,1)) {
                case "2" : 
                  switch (phoneNumber.substr(4,1)) {
                    case "8" : regionID = 8; break
                    case "9" : regionID = 8; break
                    default : regionID = 9
                  }
                  break
                case "7" : regionID = 8; break
                default : regionID = 9
              }
              break
            case "5" : regionID = 9; break
            case "6" : regionID = 9; break
            case "7" : 
              switch (phoneNumber.substr(3,1)) {
                case "4" : regionID = 6; break
                default : regionID = 10
              }
              break
            default : regionID = 8
          }
          break
        case "7" : regionID = 7; break
        case "8" : // Gisborne or Hawke's Bay 
          switch (phoneNumber.substr(2,1)) {
            case "6" : regionID = 5; break
            default : regionID = 6
          }
          break
      }    
      break
      
    case "7" :
      switch (phoneNumber.substr(1,1)) {
        case "3" : regionID = 4; break
        case "5" : regionID = 4; break
        default : regionID = 3
      }
      break

      case "9" :
      switch (phoneNumber.substr(1,1)) {
        case "4" :
          switch (phoneNumber.substr(2,1)) {
               case "0" : regionID = 1; break
            case "3" : 
              switch (phoneNumber.substr(3,2)) {
                case "12" : regionID = 2; break
                case "14" : regionID = 2; break
                case "15" : regionID = 2; break
                default : regionID = 1
              }
              break
            default : regionID = 2  
          }
          break
        default : regionID = 2
      } 
      break
            
  } 
  
  document.AddBusinessForm.RegionID.value = regionID
}

