PageSourceSearch

https://smartmsg.ai/

html smartmsg.ai collected 2026-10-05 14:49:03 UTC 20,782 bytes, 429 lines download raw bytes

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">&times;</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.