1<!doctype html> 2<html lang="en"> 3 <head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 6 <meta name="description" content=""> 7 <meta name="author" content=""> 8 <link href="https://fonts.googleapis.com/css?family=Lato:300,400,700|Montserrat:200,300,400,500,600,700,800,900|Raleway:400,500,700,800,900" rel="stylesheet"> 9 <!-- Bootstrap CSS --> 10 <link rel="stylesheet" href="css/bootstrap.min.css"> 11 <link rel="stylesheet" href="css/style.css"> 12 <link rel="stylesheet" href="css/mobile-responsive.css"> 13
13<script>document.getElementsByTagName("html")[0].className += " js";</script>
13 14 <title>Smart Notification</title> 15 <!-- FORM: HEAD SECTION --> 16 17 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 18
18<script type="text/javascript"> 19 // initialize our variables 20 var captchaReady = 0; 21 var wFORMSReady = 0; 22 23 // when wForms is loaded call this 24 var wformsReadyCallback = function () { 25 // using this var to denote if wForms is loaded 26 wFORMSReady = 1; 27 // call our recaptcha function which is dependent on both 28 // wForms and an async call to google 29 // note the meat of this function wont fire until both 30 // wFORMSReady = 1 and captchaReady = 1 31 onloadCallback(); 32 } 33 var gCaptchaReadyCallback = function() { 34 // using this var to denote if captcha is loaded 35 captchaReady = 1; 36 // call our recaptcha function which is dependent on both 37 // wForms and an async call to google 38 // note the meat of this function wont fire until both 39 // wFORMSReady = 1 and captchaReady = 1 40 onloadCallback(); 41 }; 42 43 // add event listener to fire when wForms is fully loaded 44 document.addEventListener("wFORMSLoaded", wformsReadyCallback); 45 46 var enableSubmitButton = function() { 47 var submitButton = document.getElementById('submit_button'); 48 var explanation = document.getElementById('disabled-explanation'); 49 if (submitButton != null) { 50 submitButton.removeAttribute('disabled'); 51 if (explanation != null) { 52 explanation.style.display = 'none'; 53 } 54 } 55 }; 56 var disableSubmitButton = function() { 57 var submitButton = document.getElementById('submit_button'); 58 var explanation = document.getElementById('disabled-explanation'); 59 if (submitButton != null) { 60 submitButton.disabled = true; 61 if (explanation != null) { 62 explanation.style.display = 'block'; 63 } 64 } 65 }; 66 67 // call this on both captcha async complete and wforms fully 68 // initialized since we can't be sure which will complete first 69 // and we need both done for this to function just check that they are 70 // done to fire the functionality 71 var onloadCallback = function () { 72 // if our captcha is ready (async call completed) 73 // and wFORMS is completely loaded then we are ready to add 74 // the captcha to the page 75 if (captchaReady && wFORMSReady) { 76 grecaptcha.render('g-recaptcha-render-div', { 77 'sitekey': '6LeISQ8UAAAAAL-Qe-lDcy4OIElnii__H_cEGV0C', 78 'theme': 'light', 79 'size': 'normal', 80 'callback': 'enableSubmitButton', 81 'expired-callback': 'disableSubmitButton' 82 }); 83 var oldRecaptchaCheck = parseInt('1'); 84 if (oldRecaptchaCheck === -1) { 85 var standardCaptcha = document.getElementById("tfa_captcha_text"); 86 standardCaptcha = standardCaptcha.parentNode.parentNode.parentNode; 87 standardCaptcha.parentNode.removeChild(standardCaptcha); 88 } 89 90 if (!wFORMS.instances['paging']) { 91 document.getElementById("g-recaptcha-render-div").parentNode.parentNode.parentNode.style.display = "block"; 92 //document.getElementById("g-recaptcha-render-div").parentNode.parentNode.parentNode.removeAttribute("hidden"); 93 } 94 document.getElementById("g-recaptcha-render-div").getAttributeNode('id').value = 'tfa_captcha_text'; 95 96 var captchaError = ''; 97 if (captchaError == '1') { 98 var errMsgText = 'The CAPTCHA was not completed successfully.'; 99 var errMsgDiv = document.createElement('div'); 100 errMsgDiv.id = "tfa_captcha_text-E"; 101 errMsgDiv.className = "err errMsg"; 102 errMsgDiv.innerText = errMsgText; 103 var loc = document.querySelector('.g-captcha-error'); 104 loc.insertBefore(errMsgDiv, loc.childNodes[0]); 105 106 /* See wFORMS.behaviors.paging.applyTo for origin of this code */ 107 if (wFORMS.instances['paging']) { 108 var b = wFORMS.instances['paging'][0]; 109 var pp = base2.DOM.Element.querySelector(document, wFORMS.behaviors.paging.CAPTCHA_ERROR); 110 if (pp) { 111 var lastPage = 1; 112 for (var i = 1; i < 100; i++) { 113 if (b.behavior.isLastPageIndex(i)) { 114 lastPage = i; 115 break; 116 } 117 } 118 b.jumpTo(lastPage); 119 } 120 } 121 } 122 } 123 }; 124 </script>
vendor: 178 bytes, lines 124-127
124 125 <script src='https://www.google.com/recaptcha/api.js?onload=gCaptchaReadyCallback&render=explicit' async 126 defer></script> 127
127<script type="text/javascript"> 128 document.addEventListener("DOMContentLoaded", function() { 129 var warning = document.getElementById("javascript-warning"); 130 if (warning != null) { 131 warning.parentNode.removeChild(warning); 132 } 133 var oldRecaptchaCheck = parseInt('1'); 134 if (oldRecaptchaCheck !== -1) { 135 var explanation = document.getElementById('disabled-explanation'); 136 var submitButton = document.getElementById('submit_button'); 137 if (submitButton != null) { 138 submitButton.disabled = true; 139 if (explanation != null) { 140 explanation.style.display = 'block'; 141 } 142 } 143 } 144 }); 145 </script>
145 146
146<script type="text/javascript"> 147 document.addEventListener("DOMContentLoaded", function(){ 148 const FORM_TIME_START = Math.floor((new Date).getTime()/1000); 149 let formElement = document.getElementById("tfa_0"); 150 if (null === formElement) { 151 formElement = document.getElementById("0"); 152 } 153 let appendJsTimerElement = function(){ 154 let formTimeDiff = Math.floor((new Date).getTime()/1000) - FORM_TIME_START; 155 let cumulatedTimeElement = document.getElementById("tfa_dbCumulatedTime"); 156 if (null !== cumulatedTimeElement) { 157 let cumulatedTime = parseInt(cumulatedTimeElement.value); 158 if (null !== cumulatedTime && cumulatedTime > 0) { 159 formTimeDiff += cumulatedTime; 160 } 161 } 162 let jsTimeInput = document.createElement("input"); 163 jsTimeInput.setAttribute("type", "hidden"); 164 jsTimeInput.setAttribute("value", formTimeDiff.toString()); 165 jsTimeInput.setAttribute("name", "tfa_dbElapsedJsTime"); 166 jsTimeInput.setAttribute("id", "tfa_dbElapsedJsTime"); 167 jsTimeInput.setAttribute("autocomplete", "off"); 168 if (null !== formElement) { 169 formElement.appendChild(jsTimeInput); 170 } 171 }; 172 if (null !== formElement) { 173 if(formElement.addEventListener){ 174 formElement.addEventListener('submit', appendJsTimerElement, false); 175 } else if(formElement.attachEvent){ 176 formElement.attachEvent('onsubmit', appendJsTimerElement); 177 } 178 } 179 }); 180 </script>
180 181 182 183
183<script type="text/javascript" src="https://www.tfaforms.com/wForms/3.11/js/wforms.js?v=540"></script>
183 184
184<script type="text/javascript"> 185 wFORMS.behaviors.prefill.skip = false; 186 </script>
186 187
187<script type="text/javascript" src="https://www.tfaforms.com/wForms/3.11/js/localization-en_US.js?v=540"></script>
187 188 <!-- Favicon --> 189 <link rel="icon" href="images/favicon.ico" type="image/x-icon"> 190 191 </head> 192 <body> 193 <header> 194 <div class="container"> 195 <div class="row"> 196 <div class="col-md-12 col-sm-12 col-xs-12"> 197 <h1 class="homeHdng">Smart Notifications</h1> 198 <span>Engage your customers with digital notifications</span> 199 <a class="rDemo rDemoHeader" href="#" id="contact">REQUEST A DEMO</a> 200 </div> 201 </div> 202 </div> 203 </header> 204 <section class="solutionPoint"> 205 <div class="container"> 206 <div class="row mb50"> 207 <div class="col-md-12 col-sm-12 col-xs-12"> 208 <div class="whyMforce"> 209 <h4>Elevate the experience of your customers with multi channel notifications via SMS Text, Email, Voice, and Social Media channels.</h4> 210 </div> 211 </div> 212 </div> 213 <div class="row mb50"> 214 <div class="col-md-6 col-sm-6 col-xs-12 pull-right"> 215 <img class="endtendImage" src="images/customer.svg"> 216 </div> 217 <div class="col-md-6 col-sm-6 col-xs-12"> 218 <div class="solContent solHomeContent endtendImage"> 219 <h5>Customer Service Notifications</h5> 220 <p>Send one time or recurring reminders and notifications for all types of customer service scenarios</p> 221 </div> 222 </div> 223 </div> 224 <div class="row mb50"> 225 <div class="col-md-6 col-sm-6 col-xs-12"> 226 <img class="innovativeImage" src="images/emergency.png"> 227 </div> 228 <div class="col-md-5 col-md-offset-1 col-sm-6 col-xs-12"> 229 <div class="solContent solHomeContent innovativeContent"> 230 <h5>Emergency Alerts</h5> 231 <p>Trigger large scale emergency notifications within seconds to alert your customers</p> 232 </div> 233 </div> 234 </div> 235 <div class="row"> 236 <div class="col-md-6 col-sm-6 col-xs-12 pull-right"> 237 <img class="onDemandImage" src="images/on-demand.svg"> 238 </div> 239 <div class="col-md-6 col-sm-6 col-xs-12"> 240 <div class="solContent solHomeContent endtendImage"> 241 <h5>On Demand, anytime</h5> 242 <p>Set up fully automated on demand notifications for billing, marketing, payment, outage, for various customer segments.</p> 243 </div> 244 </div> 245 </div> 246 </div> 247 </section> 248 <section class="clientRw"> 249 <div class="container"> 250 <div class="row"> 251 <div class="col-md-12 col-sm-12 col-xs-12"> 252 <div class="clientContent"> 253 <p class="quotes">Our customers want more information about their electric service, and this platform is significantly improving the experience we want to create for them. The response to outage and restoration notifications has been overwhelmingly positive, and this latest enhancement of billing and payment information, plus a text-to-pay option, provides even more peace of mind and more convenient options to fit everyoneâs preference.</p> 254 <b>Terena Boyer<span>Director Utility Customer Operations, OGE</span></b> 255 </div> 256 <div class="clientLogo"> 257 <ul> 258 <li><img src="images/oge-mini.svg"></li> 259 <li><img src="images/enmax.svg"></li> 260 <li><img src="images/gwp.svg"></li> 261 <li><img src="images/ugi.svg"></li> 262 <a class="rDemo mt40" href="success-stories.html">Success Stories</a> 263 </ul> 264 </div> 265 </div> 266 </div> 267 </div> 268 </section> 269 <section class="quickSetup"> 270 <div class="container"> 271 <div class="row"> 272 <div class="col-md-12 col-sm-12 col-xs-12"> 273 <h2 class="hdngFooter hdngBlack">Quick Setup. Better Customer Experience. No Hassle.</h2> 274 <p>Smart Notifications enable you to elevate the experience of your customers using multi channel notifications. Rest easy, you can setup the customer service, marketing, or alerts within two weeks and launch for your customers.</p> 275 </div> 276 <div class="col-md-4 col-sm-4 col-xs-12"> 277 <div class="steps"> 278 <img src="images/pay.svg"> 279 <h5>Pay-as-you-go</h5> 280 <p>We charge a nominal annual fee for the service and beyond that you pay as you go for the notifications that you send</p> 281 </div> 282 </div> 283 <div class="col-md-4 col-sm-4 col-xs-12"> 284 <div class="steps"> 285 <img src="images/security.svg"> 286 <h5>Security first</h5> 287 <p>Secure data at transfer and rest using industry best practices and standards</p> 288 </div> 289 </div> 290 <div class="col-md-4 col-sm-4 col-xs-12"> 291 <div class="steps"> 292 <img src="images/advanced.svg"> 293 <h5>Advanced reporting</h5> 294 <p>Get live dashboards to view status of the messages sent including voice recording</p> 295 </div> 296 </div> 297 </div> 298 </div> 299 </section> 300 <a name="contact1"></a> 301 <footer> 302 <div class="container"> 303 <div class="row"> 304 <div class="col-md-12 col-sm-12 col-xs-12"> 305 <h2 class="hdngFooter">Intrested in making your product awesome?</h2>
306 </div> 307 <div class="col-md-8 col-md-offset-2 col-sm-12 col-xs-12"> 308 <div class="formfields"> 309 <div class="wFormContainer" > 310 <div class="wForm" id="0-WRPR" dir="ltr"> 311 <div class="codesection" id="code-0"></div> 312 <form method="post" action="https://www.tfaforms.com/responses/processor" class="hintsBelow labelsAbove" id="0" role="form"> 313 <div class="formfieldsLeft"> 314 <div class="oneField field-container-D " id="tfa_1-D"> 315 <div class="inputWrapper"><input placeholder="Your Name" type="text" id="tfa_1" name="tfa_1" value="" aria-required="true" title="Your Name" data-dataset-allow-free-responses="" class="required"></div> 316 </div> 317 <div class="oneField field-container-D " id="tfa_2-D"> 318 <div class="inputWrapper"><input placeholder="Company" type="text" id="tfa_2" name="tfa_2" value="" aria-required="true" title="Company" data-dataset-allow-free-responses="" class="required"></div> 319 </div> 320 <div class="oneField field-container-D " id="tfa_3-D"> 321 <div class="inputWrapper"><input placeholder="Email" type="text" id="tfa_3" name="tfa_3" value="" aria-required="true" title="Email" data-dataset-allow-free-responses="" class="validate-email required"></div> 322 </div> 323 <div class="oneField field-container-D " id="tfa_4-D"> 324 <div class="inputWrapper"><input placeholder="Phone" type="text" id="tfa_4" name="tfa_4" value="" aria-required="true" title="Phone Number" data-dataset-allow-free-responses="" class="required"></div> 325 </div> 326 </div> 327 <div class="formfieldsRight"> 328 <div class="oneField field-container-D " id="tfa_5-D"> 329 <div class="inputWrapper"><textarea placeholder="Your Message" aria-required="true" id="tfa_5" name="tfa_5" title="Message" class="required"></textarea></div> 330 </div> 331 <div class="actions" id="0-A"> 332 <div id="google-captcha" style="display: none"> 333 <div class="captcha"> 334 <div class="oneField"> 335 <div class="g-recaptcha" id="g-recaptcha-render-div"></div> 336 <div class="g-captcha-error"></div> 337 </div> 338 </div> 339 <br> 340 </div> 341 </div> 342 </div> 343 344 <div class="actions" id="0-A"><input type="submit" data-label="Submit" class="rDemo primaryAction" id="submit_button" value="Let's Connect"></div> 345 <div style="clear:both"></div> 346 <input type="hidden" class="rDemo" value="4740274" name="tfa_dbFormId" id="tfa_dbFormId"><input type="hidden" value="" name="tfa_dbResponseId" id="tfa_dbResponseId"><input type="hidden" value="30282b9d154cf488b165f5f3f1db6647" name="tfa_dbControl" id="tfa_dbControl"><input type="hidden" value="1" name="tfa_dbVersionId" id="tfa_dbVersionId"><input type="hidden" value="" name="tfa_switchedoff" id="tfa_switchedoff"> 347 </form> 348 </div> 349 </div> 350 </div> 351 </div> 352 <div class="col-md-12 col-sm-12 col-xs-12 mt60"> 353 <div class="row"> 354 <div class="col-md-6 col-sm-6 col-xs-12"> 355 <div class="footerAddress"> 356 <h5>Address</h5> 357 <p>19900 MacArthur<br/>Blvd, STE 370<br/>Irvine, CA 92612</p> 358 </div> 359 <div class="footerAddress AddressRight"> 360 <h5>Contact</h5> 361 <p>(909) 217-3344</p> 362 <a href="mailto:[email protected]">[email protected]</a> 363 </div> 364 </div> 365 <div class="col-md-6 col-sm-6 col-xs-12"> 366 <ul class="footerSocila"> 367 <li><a href="https://www.facebook.com/SmartEnergyWater/" target="_blank"><img src="images/fb.svg"></a></li> 368 <li><a href="https://www.linkedin.com/company/smartenergywater" target="_blank"><img src="images/linkedin.svg"></a></li> 369 <li><a href="https://twitter.com/SmartEnergyW" target="_blank"><img src="images/twitter.svg"></a></li> 370 <li><a href="https://www.instagram.com/smartenergyw/" target="_blank"><img src="images/ig.svg"></a></li> 371 </ul> 372 </div> 373 </div> 374 </div> 375 </div> 376 </div> 377 </footer> 378 <!-- Modal --> 379 <div class="modal fade about_modal in" id="myModal" role="dialog"> 380 <div class="modal-dialog"> 381 <!-- Modal content--> 382 <div class="modal-content"> 383 <div class="modal-body"> 384 <button type="button" class="close" data-dismiss="modal">×</button> 385 <h5>THANK YOU!</h5> 386 <p>Your request has been submitted. We will contact you shortly.</p> 387 </div> 388 </div> 389 </div> 390 </div> 391 <a href="#" class="cd-top text--replace js-cd-top">Top</a> 392 <!-- jQuery first, then Popper.js, then Bootstrap JS --> 393
393<script src="js/jquery.min.js"></script>
393 394
394<script> 395 function scrollToAnchor(aid){ 396 var aTag = $("a[name='"+ aid +"']"); 397 $('html,body').animate({scrollTop: aTag.offset().top},'slow'); 398 } 399 400 $("#contact").click(function() { 401 scrollToAnchor('contact1'); 402 }); 403 </script>
403 404
404<script src="js/bootstrap.min.js"></script>
404 405
405<script src="js/util.js"></script>
405 406
406<script src="js/main.js"></script>
406 407
407<script> 408 $(document).ready(function () { 409 var requestURL = window.location.href; 410 if (requestURL.indexOf('mobilerequest=1') > 0) { 411 $("body").addClass("modal-open"); 412 $("#myModal").css("display","block"); 413 $(".fade").css("opacity","1"); 414 $(".close").click(function(){ 415 $("#myModal").hide(); 416 $("body").removeClass("modal-open"); 417 $("#myModal").css("display","none"); 418 $(".fade").css("opacity","0"); 419 }); 420 } 421 }); 422 $(document).ready(function(){ 423 $(".navbar-toggle").click(function(){ 424 $(".navbar-toggle").toggleClass("change_menu"); 425 }); 426 }); 427 </script>
427 428 </body> 429</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.