Qualify <!-- --> let map; let autocomplete; let lat; let lon; let elv = 23; let addressObj; var successPage = "./success.html"; var failPage = "./moreinfo.html"; var homePage = "./index.html"; var isp_id = 2; var center = { lat: 33.65635, lng: -95.5556 }; var zoom = 9; var visp= ''; var status = ''; var checkObj; var submitted = false; var frmvalid = false; var Events; var datasource; var addresssGeocodeServiceUrlTemplate = 'https://atlas.microsoft.com/search/address/json?typeahead=true&api-version=1&query={query}&language={language}&countrySet={countrySet}&view=Auto'; function loadMapScenario(){ map = new atlas.Map('myMap', { center: [center.lng, center.lat], zoom: zoom, view: 'Auto', //Add authentication details for connecting to Azure Maps. authOptions: { authType: 'subscriptionKey', subscriptionKey: '5eyGEYgB3di7CHrUXfajK7PeZi2Ei2bRQdkoUn0LpUI1fz3oD03lJQQJ99BCACYeBjFMfOrBAAAgAZMPtBUf' } }); map.events.add('ready', function() { //Create a data source and add it to the map. datasource = new atlas.source.DataSource(); map.sources.add(datasource); //Add a layer for rendering point data. var resultLayer = new atlas.layer.SymbolLayer(datasource, null, { iconOptions: { image: 'pin-round-darkblue', anchor: 'center', allowOverlap: true }, textOptions: { anchor: "top" } }); map.layers.add(resultLayer); map.setStyle({ style: "satellite_road_labels" }) }); $("#address").autocomplete({ minLength: 3, //Don't ask for suggestions until atleast 3 characters have been typed. This will reduce costs by not making requests that will likely not have much relevance. source: function (request, response) { //Create a URL to the Azure Maps search service to perform the address search. var requestUrl = addresssGeocodeServiceUrlTemplate.replace('{query}', encodeURIComponent(request.term)) .replace('{language}', 'en-US') .replace('{countrySet}', 'US'); //A comma seperated string of country codes to limit the suggestions to. //Proces the request. fetch(requestUrl, { method: 'GET', mode: 'cors', headers: { //'x-ms-client-id': '41de30d9-8ce6-4365-8333-3460b10f747d', //'Authorization': 'Bearer ' + token, 'Subscription-Key': 'CFiEp0Ow2dbFTlrtjzq8RUtahIq7hy8d9mRJF8soJ7JqLFZLlpInJQQJ99AKACrJL3JdwjGVAAAgAZMP2EYB', 'Content-Type': 'application/json; charset=utf-8' } }).then(r => r.json()).then(data => { response(data.results); }); }, select: function (event, ui) { //When a suggestion has been selected. var selection = ui.item.address.freeformAddress; ui.item.value = selection; addressObj = ui.item.address; lat = ui.item.position.lat; lon = ui.item.position.lon; const addrMarker = new atlas.HtmlMarker({ draggable: true, position: [lon,lat], text: '', anchor: 'center' }); map.markers.add(addrMarker); map.setCamera({ center: [lon,lat], zoom: 18 }); map.events.add('drag', addrMarker, function () { var pos = addrMarker.getOptions().position; lat = pos[1]; lon = pos[0]; //Round longitude,latitude values to 5 decimal places. //output.innerText = Math.round(pos[0] * 100000) / 100000 + ', ' + Math.round(pos[1] * 100000) / 100000; }); } }).autocomplete("instance")._renderItem = function (ul, item) { //Format the displayed suggestion to show the formatted suggestion string. var suggestionLabel = item.address.freeformAddress; if (item.poi && item.poi.name) { suggestionLabel = item.poi.name + ' (' + suggestionLabel + ')'; } return $("
  • ") .append("" + suggestionLabel + "") .appendTo(ul); }; }; function selectedSuggestion(suggestionResult) { map.entities.clear(); map.setView({ mapTypeId: Microsoft.Maps.MapTypeId.aerial, zoom: 19, center: suggestionResult.location }); var pushpin = new Microsoft.Maps.Pushpin(suggestionResult.location,{draggable: true}); map.entities.push(pushpin); lat = suggestionResult.location.latitude; lon = suggestionResult.location.longitude; addressObj = suggestionResult.address; console.log("lat",lat,"lon",lon); Events.addHandler(pushpin, 'dragend', function () { var deloc = pushpin.getLocation(); lat = deloc.latitude; lon = deloc.longitude; console.log("lat",lat,"lon",lon); }) } function markerMove(event){ lat = event.latLng.lat(); lon = event.latLng.lng(); console.log("lat/lng " + lat + "/" + lon); } function checkfrmValid(fid){ let fval = document.getElementById(fid).checkValidity(); if(!fval){ document.getElementById(fid).style = "box-shadow: 0 0 5px 1px red; background-color:red; color: white"; }else{ document.getElementById(fid).style = "background-color:#d0ffd0; color: #000000"; } } function checkAddress(){ if (submitted == false){ frmvalid = true; var formdata = document.forms.custform; var first = formdata.first.value; var last = formdata.last.value; var email = formdata.email.value; var phone = formdata.phone.value; if (first == '' ){ let fval = document.getElementById('first').checkValidity(); if(!fval){ frmvalid = false; document.getElementById('first').style = "box-shadow: 0 0 5px 1px red; background-color:red; color: white"; } } if (last == '' ){ let fval = document.getElementById('last').checkValidity(); if(!fval){ frmvalid = false; document.getElementById('last').style = "box-shadow: 0 0 5px 1px red; background-color:red; color: white"; } } if (email == '' ){ let fval = document.getElementById('email').checkValidity(); if(!fval){ frmvalid = false; document.getElementById('email').style = "box-shadow: 0 0 5px 1px red; background-color:red; color: white"; } } if (phone == '' ){ let fval = document.getElementById('phone').checkValidity(); if(!fval){ frmvalid = false; document.getElementById('phone').style = "box-shadow: 0 0 5px 1px red; background-color:red; color: white"; } } if (frmvalid){ submitted = true; document.getElementById('submitbutton').innerHTML = 'Checking...Please Wait'; fetch('https://www.regulatorysolutions.us/prequal/qualify/', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' }, body: JSON.stringify({ org: isp_id, lat: lat, lon: lon, elv: elv }), }) .then(res => res.json()) .then(res => checkObj = res) .then(res => { console.log(res.result, JSON.stringify(checkObj)) if(res.result == 'success'){ console.log("here "); if(checkObj.served == true){ submitContact(); }else{ submitContact(); } }else{ alert('Something went wrong with your submission. Please call our sales line for assistance.') } } ) } } } function submitContact(){ //SUBMIT CONTACT TO VISP VIA API AND REDIRECT TO SUCCESS PAGE var formdata = document.forms.custform; var first = formdata.first.value; var last = formdata.last.value; var email = formdata.email.value; var phone = formdata.phone.value; var addr = addressObj.streetNumber + addressObj.streetName; //addressObj.addressLine; var addr2 = formdata.address2.value; var city = addressObj.municipality; //locality; var state = addressObj.countrySubdivision; //adminDistrict; var zip = addressObj.postalCode; var country = addressObj.country; var notes = "Submitted from Wifires Internet site. " + formdata.notes.value; var speeds = ''; var ap = ''; var fiber = false; var cable = false; var dsl = false; var copper = false; if (checkObj.served == true){ speeds = checkObj.maxdn + '/' + checkObj.maxup; ap = checkObj.ap; fiber = checkObj.fiber; cable = checkObj.cable; dsl = checkObj.dsl; copper = checkObj.copper; } var served = checkObj.served; if ((!first || first == '') || (!last || last == '') || (!email || email == '') || (!addr || addr == '') || (!phone || phone == '')){ return false; }else{ fetch('https://www.regulatorysolutions.us/prequal/addLead/' + isp_id, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({"first": first, "last": last, "name": first + ' ' + last, "address": addr, "address2": addr2, "city": city, "state": state, "zip": zip, "phone":phone,"email": email, "lat":lat,"lon":lon , "speeds": speeds, "ap":ap, "served":served, "fiber": fiber, "cable": cable, "dsl": dsl, "copper": copper, "notes": notes}), }) .then(res => res.json()) .then(res => { console.log(JSON.stringify(res)); if(res.result == 'success'){ if(checkObj.served == true){ if(ap != ''){ alert("Good News! It appears that we can likely service your location with speeds up to " + speeds); } if(fiber == true){ alert("Good News! It appears that we can likely service your location with fiber internet") } if(cable == true){ alert("Good News! It appears that we can likely service your location with cable internet") } if(dsl == true){ alert("Good News! It appears that we can likely service your location with DSL internet") } if(copper == true){ alert("Good News! It appears that we can likely service your location ") } submitted = false; document.getElementById('submitbutton').innerHTML = 'Check for Service'; //window.location.href = successPage; }else{ alert("The results of our online check were inconclusive and we need some more information to make an accurate determination. One of our representatives will be reaching out to you for more information soon."); submitted = false; document.getElementById('submitbutton').innerHTML = 'Check for Service'; window.location.href = homePage; } //window.location.href = successPage }else{ console.log('failed'); submitted = false; document.getElementById('submitbutton').innerHTML = 'Check for Service'; //window.location.href = failPage } }) } }

    Check for Service

    Using the form, input your information. Once the pin appears on the map, drag it to your rooftop for the best results, then click "Check for Service"

    See if WiFires is available in your area

    <!-- -->