Thank You!
For being a loyal Wave Customer
To show our appreciation, please enjoy 3 FREE On Demand movies on us.
Fields marked with an * are required.
Select State *
Alabama
Alaska
Arizona
Arkansas
California
Colorado
Connecticut
D.C.
Delaware
Florida
Georgia
Hawaii
Idaho
Illinois
Indiana
Iowa
Kansas
Kentucky
Louisiana
Maine
Maryland
Massachusetts
Michigan
Minnesota
Mississippi
Missouri
Montana
Nebraska
Nevada
New Hampshire
New Jersey
New Mexico
New York
North Carolina
North Dakota
Ohio
Oklahoma
Oregon
Pennsylvania
Rhode Island
South Carolina
South Dakota
Tennessee
Texas
Utah
Vermont
Virginia
Washington
West Virginia
Wisconsin
Wyoming
.elq-form .loader{
vertical-align: middle;
display: inline-block;
margin-left:10px;
border: 3px solid #f3f3f3;
border-radius: 50%;
border-top: 3px solid #3498db;
width: 20px;
height: 20px;
-webkit-animation: spin 2s linear infinite;
animation: spin 2s linear infinite;
}
@-webkit-keyframes spin {
0% {
-webkit-transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
}
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.LV_validation_message{
font-weight:bold;
margin: 0 0 0 5px;
}
.LV_valid{
color:#00c1ec;
display:none;
}
.LV_invalid{
color:#ff984b;
font-size:10px;
}
.LV_valid_field, input.LV_valid_field:hover, input.LV_valid_field:active, textarea.LV_valid_field:hover, textarea.LV_valid_field:active {
outline: 1px solid #00c1ec;
}
.LV_invalid_field, input.LV_invalid_field:hover, input.LV_invalid_field:active, textarea.LV_invalid_field:hover, textarea.LV_invalid_field:active {
outline: 1px solid #ff984b;
}
$(document).ready(function(){
$(“:input”).inputmask();
})
var dom0 = document.querySelector(‘#form168 #field0’);
var field0 = new LiveValidation(dom0, {
validMessage: “”, onlyOnBlur: false, wait: 300}
);
field0.add(Validate.Custom, {
against: function(value) {
return !value.match(/(telnet|ftp|https?):\/\/(?:[a-z0-9][a-z0-9-]{0,61}[a-z0-9]\.|[a-z0-9]\.)+[a-z]{2,63}/i);
}
, failureMessage: “Value must not contain any URL’s”}
);
field0.add(Validate.Custom, {
against: function(value) {
return !value.match(/(]+)>)/ig);
}
, failureMessage: “Value must not contain any HTML”}
);
field0.add(Validate.Length, {
tooShortMessage:”Invalid length for field value”, tooLongMessage: “Invalid length for field value”, minimum: 0, maximum: 35}
);
var dom1 = document.querySelector(‘#form168 #field1’);
var field1 = new LiveValidation(dom1, {
validMessage: “”, onlyOnBlur: false, wait: 300}
);
field1.add(Validate.Custom, {
against: function(value) {
return !value.match(/(telnet|ftp|https?):\/\/(?:[a-z0-9][a-z0-9-]{0,61}[a-z0-9]\.|[a-z0-9]\.)+[a-z]{2,63}/i);
}
, failureMessage: “Value must not contain any URL’s”}
);
field1.add(Validate.Custom, {
against: function(value) {
return !value.match(/(]+)>)/ig);
}
, failureMessage: “Value must not contain any HTML”}
);
field1.add(Validate.Length, {
tooShortMessage:”Invalid length for field value”, tooLongMessage: “Invalid length for field value”, minimum: 0, maximum: 35}
);
var dom2 = document.querySelector(‘#form168 #field2’);
var field2 = new LiveValidation(dom2, {
validMessage: “”, onlyOnBlur: false, wait: 300}
);
field2.add(Validate.Format, {
pattern: /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i, failureMessage: “A valid email address is required”}
);
var dom3 = document.querySelector(‘#form168 #field3’);
var field3 = new LiveValidation(dom3, {
validMessage: “”, onlyOnBlur: false, wait: 300}
);
field3.add(Validate.Custom, {
against: function(value) {
return !value.match(/(telnet|ftp|https?):\/\/(?:[a-z0-9][a-z0-9-]{0,61}[a-z0-9]\.|[a-z0-9]\.)+[a-z]{2,63}/i);
}
, failureMessage: “Value must not contain any URL’s”}
);
field3.add(Validate.Custom, {
against: function(value) {
return !value.match(/(]+)>)/ig);
}
, failureMessage: “Value must not contain any HTML”}
);
field3.add(Validate.Length, {
tooShortMessage:”Invalid length for field value”, tooLongMessage: “Invalid length for field value”, minimum: 0, maximum: 35}
);
var dom4 = document.querySelector(‘#form168 #field4’);
var field4 = new LiveValidation(dom4, {
validMessage: “”, onlyOnBlur: false, wait: 300}
);
field4.add(Validate.Custom, {
against: function(value) {
return !value.match(/(telnet|ftp|https?):\/\/(?:[a-z0-9][a-z0-9-]{0,61}[a-z0-9]\.|[a-z0-9]\.)+[a-z]{2,63}/i);
}
, failureMessage: “Value must not contain any URL’s”}
);
field4.add(Validate.Custom, {
against: function(value) {
return !value.match(/(]+)>)/ig);
}
, failureMessage: “Value must not contain any HTML”}
);
field4.add(Validate.Length, {
tooShortMessage:”Invalid length for field value”, tooLongMessage: “Invalid length for field value”, minimum: 0, maximum: 35}
);
var dom5 = document.querySelector(‘#form168 #field5’);
var field5 = new LiveValidation(dom5, {
validMessage: “”, onlyOnBlur: false, wait: 300}
);
field5.add(Validate.Custom, {
against: function(value) {
return !value.match(/(telnet|ftp|https?):\/\/(?:[a-z0-9][a-z0-9-]{0,61}[a-z0-9]\.|[a-z0-9]\.)+[a-z]{2,63}/i);
}
, failureMessage: “Value must not contain any URL’s”}
);
field5.add(Validate.Custom, {
against: function(value) {
return !value.match(/(]+)>)/ig);
}
, failureMessage: “Value must not contain any HTML”}
);
field5.add(Validate.Length, {
tooShortMessage:”Invalid length for field value”, tooLongMessage: “Invalid length for field value”, minimum: 0, maximum: 35}
);
var dom6 = document.querySelector(‘#form168 #field6’);
var field6 = new LiveValidation(dom6, {
validMessage: “”, onlyOnBlur: false, wait: 300}
);
field6.add(Validate.Custom, {
against: function(value) {
return !value.match(/(telnet|ftp|https?):\/\/(?:[a-z0-9][a-z0-9-]{0,61}[a-z0-9]\.|[a-z0-9]\.)+[a-z]{2,63}/i);
}
, failureMessage: “Value must not contain any URL’s”}
);
field6.add(Validate.Custom, {
against: function(value) {
return !value.match(/(]+)>)/ig);
}
, failureMessage: “Value must not contain any HTML”}
);
field6.add(Validate.Length, {
tooShortMessage:”Invalid length for field value”, tooLongMessage: “Invalid length for field value”, minimum: 0, maximum: 35}
);
var dom7 = document.querySelector(‘#form168 #field7’);
var field7 = new LiveValidation(dom7, {
validMessage: “”, onlyOnBlur: false, wait: 300}
);
field7.add(Validate.Custom, {
against: function(value) {
return !value.match(/(telnet|ftp|https?):\/\/(?:[a-z0-9][a-z0-9-]{0,61}[a-z0-9]\.|[a-z0-9]\.)+[a-z]{2,63}/i);
}
, failureMessage: “Value must not contain any URL’s”}
);
field7.add(Validate.Custom, {
against: function(value) {
return !value.match(/(]+)>)/ig);
}
, failureMessage: “Value must not contain any HTML”}
);
field7.add(Validate.Length, {
tooShortMessage:”Invalid length for field value”, tooLongMessage: “Invalid length for field value”, minimum: 0, maximum: 35}
);
var dom8 = document.querySelector(‘#form168 #field8’);
var field8 = new LiveValidation(dom8, {
validMessage: “”, onlyOnBlur: false, wait: 300}
);
field8.add(Validate.Custom, {
against: function(value) {
return !value.match(/(telnet|ftp|https?):\/\/(?:[a-z0-9][a-z0-9-]{0,61}[a-z0-9]\.|[a-z0-9]\.)+[a-z]{2,63}/i);
}
, failureMessage: “Value must not contain any URL’s”}
);
field8.add(Validate.Custom, {
against: function(value) {
return !value.match(/(]+)>)/ig);
}
, failureMessage: “Value must not contain any HTML”}
);
field8.add(Validate.Length, {
tooShortMessage:”Invalid length for field value”, tooLongMessage: “Invalid length for field value”, minimum: 0, maximum: 35}
);
function handleFormSubmit(ele) {
var submitButton = ele.querySelector(‘input[type=submit]’);
var spinner = document.createElement(‘span’);
spinner.setAttribute(‘class’, ‘loader’);
submitButton.setAttribute(‘disabled’, true);
submitButton.style.cursor = ‘wait’;
submitButton.parentNode.appendChild(spinner);
return true;
}
function resetSubmitButton(e){
var submitButtons = e.target.form.getElementsByClassName(‘submit-button’);
for(var i=0;i<submitButtons.length;i++){
submitButtons[i].disabled = false;
}
}
function addChangeHandler(elements){
for(var i=0; i<elements.length; i++){
elements[i].addEventListener('change', resetSubmitButton);
}
}
var form = document.getElementById('form168');
addChangeHandler(form.getElementsByTagName('input'));
addChangeHandler(form.getElementsByTagName('select'));
addChangeHandler(form.getElementsByTagName('textarea'));
var nodes = document.querySelectorAll('#form168 input[data-subscription]');
if (nodes) {
for (i = 0, len = nodes.length; i < len; i++) {
var status = nodes[i].dataset ? nodes[i].dataset.subscription : nodes[i].getAttribute('data-subscription');
if(status ==='true') {
nodes[i].checked = true;
}
}
};
var nodes = document.querySelectorAll('#form168 select[data-value]');
if (nodes) {
for (var i = 0; i < nodes.length; i++) {
var node = nodes[i];
var selectedValue = node.dataset ? node.dataset.value : node.getAttribute('data-value');
if (selectedValue) {
for (var j = 0; j < node.options.length; j++) {
if(node.options[j].value === selectedValue) {
node.options[j].selected = 'selected';
break;
}
}
}
}
}
To get your free movie
Click the On Demand button on your remote or go to Channel 1
Pick the movie you want from the hundreds of titles and press the OK button
Sit back and enjoy your movie
Complete the form above and click Redeem
You’ll receive a credit (up to $5.99) for the movie on an upcoming bill
Offer valid for residential customers only and will expire July 31, 2020. On Demand movie bill credit up to $5.99 per movie. Offer is non-transferable and may not be exchanged or substituted for other credit. Photocopies prohibited. A digital converter is required to receive On Demand selections. Your account will be credited the cost of your selection, up to $5.99. On Demand credit may take 1 to 2 billing cycles for credit to appear on bill. Must redeem within 30 days from the order date of your On Demand movie. Not valid on adult content, events or Subscription On Demand. Other restrictions may apply. © Wave. All rights reserved.
Service offerings are contingent upon Wave verification that the specific address covered by the service request is an Wave serviceable location. Prices do not include taxes, franchise fees or other surcharges. Services and pricing are subject to change. All photos used within residential.wavebroadband.com are intellectual properties of their respective owners. Services are subject to terms and conditions of Wave’s subscriber agreements, on-line policies, and other applicable terms and conditions. Other restrictions may apply.