1 2 3 4 5 6 7<!DOCTYPE html> 8<html lang="en"> 9 10<head> 11 12 <meta charset="utf-8"> 13 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 14 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> 15 16 17 18 19<meta name="description" content="SilverBlaze Capricorn is your power hub for customer self service web portals supplying electrical energy to residential, commercial and industrial customers."> 20<meta name="keywords" content="SilverBlaze, Capricorn, deregulation, heating, energy, power, utility, appliance, range, stove, dryer, water heater, air conditioning, fireplace, home improvement, renovation, electricity, electric power, electric energy, electric generation, electric meter, customer service, electric bill, residential electric rates, business electric rates, energy audit, kilowatt, kilowatt hour, kWh, bill payment information, electrical usage rates, rates, bill payment information, electrical information, electricity information, electrical services"> 21 22 23 24 25 26 27 28 29
29<script src="/SilverBlazePortalV4.0/js/jquery.min.js"></script>
29 30 31 32 33 <link href="/SilverBlazePortalV4.0/css/cap.min.css" rel="stylesheet" type="text/css"> 34 35 36 37 <link href="/SilverBlazePortalV4.0/capricornCustom.css" rel="stylesheet" type="text/css"> 38 <link rel="shortcut icon" href="/SilverBlazePortalV4.0/favicon.ico" type="image/x-icon"> 39 <link rel="icon" href="/favicon.ico" type="image/x-icon"> 40 41 42 <title>Fortis ONTARIO :: My Account Login</title> 43 44 45 46 47</head> 48 49<body onLoad="initFields(); getAccountNo();"> 50 51<style> 52 .navbar-default .navbar-nav > li > a { 53 color: #333; 54 font-size: medium; 55 text-transform: uppercase; 56 } 57 ul.company-logos{margin:0px !important; padding:5px 0px; display:flex; justify-content:center} 58 ul.company-logos li{xdisplay:inline-block !important; border:0px solid #000; list-style-type:none; border-right:1px solid #EEE; padding:0px 20px; flex-wrap:wrap} 59 ul.company-logos li:last-child{border-right:0px solid;} 60 .space-The-Top{ 61 padding:20px 0px; 62 } 63</style> 64 65<!--change number: 252-013--> 66<div id="main_content_wrapper"> 67 68 <!-- Main Mega Menu Navigation --> 69 70 <nav class="navbar navbar-default " id="main-menu" role="navigation" style="padding-bottom:0px;"> 71 <div class="container-fluid" style=" border-bottom:10px solid #1e305f; border-top:0px solid #1e305f;"> 72 <div class="col-sm-12 col-lg-12" style="xpadding-left:0px; xpadding-right:0px; "> 73 <div style=""> 74 <ul class="company-logos"> 75 <li> 76 <img alt="Fortis ONTARIO" src="/SilverBlazePortalV4.0/images/sbs_fo.png" class="ximg-responsive" width="250px" height="80px" > 77 </li> 78 <li> 79 <img alt="Algoma Power Inc." src="/SilverBlazePortalV4.0/images/sbs_api.png" class="ximg-responsive" width="250px" height="80px"> 80 </li> 81 <li> 82 <img alt="Cornwall Electric" src="/SilverBlazePortalV4.0/images/sbs_ce.png" class="ximg-responsive" width="250px" height="80px"> 83 </li> 84 <li> 85 <img alt="Canadian Niagra Power Inc." src="/SilverBlazePortalV4.0/images/sbs_cnp.png" class="ximg-responsive" width="250px" height="80px"> 86 </li> 87 <li> 88 <img alt="Eastern Ontario Power" src="/SilverBlazePortalV4.0/images/sbs_eop.png" class="ximg-responsive" width="250px" height="80px"> 89 </li> 90 </ul> 91 </div> 92 </div> 93 94 <!-- /.navbar-header --> 95 <!--div class="navbar-collapse collapse" style="margin-top: 15px;"> 96 <ul class="nav navbar-nav navbar-right"> 97 <li class="dropdown fhmm-fw"><a href="/Home/Outages.html" data-toggle="dropdown" class="dropdown-toggle">Outages<strong class="caret"></strong></a></li> 98 <li class="dropdown fhmm-fw"><a href="/Home/EnergyManagement.html" data-toggle="dropdown" class="dropdown-toggle">Energy Management<strong class="caret"></strong></a></li> 99 <li class="dropdown fhmm-fw"><a href="/Home/Contact.html" data-toggle="dropdown" class="dropdown-toggle">Contact Us<strong class="caret"></strong></a></li> 100 </ul> 101 </div--><!-- end #navbar-collapse-1 --> 102 <!-- /.navbar-collapse --> 103 </div> 104
104<script> 105 106 </script>
106 107 108 <div class="clearfix" id="site-Header-Spacer"></div> 109 <!-- /.container --> 110 111 </nav> 112 113 <!-- This is the processing dialog (loading bar) for all pages --> 114 <div class="modal fade" id="processingDialog" tabindex="-1" role="dialog" 115 aria-labelledby="processingDialog" aria-hidden="true" data-keyboard="false" data-backdrop="static"> 116 <div class="modal-dialog"> 117 <div class="modal-content"> 118 <div class="text-center"> 119 <div class="progress progress-striped active capricorn-progress" style="margin-bottom: 0px;"> 120 <div class="progress-bar progress-bar-primary capricorn-progress-bar" style="width: 100%; font-size: 14px;"> 121 <strong>Loading...</strong> 122 </div> 123 </div> 124 </div> 125 </div> 126 </div> 127 </div> 128 129 130 131 132<div class="capricorn-container container"> 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 <div class="row"> 149 150 151 152 153 154 155 156 <!-- Login Panel --> 157 <div class="col-md-6"> 158 <h3>My Account Login</h3> 159 <div class="well"> 160 <form id="login-form" role="form" name="login" method="post" action="/app/capricorn?para=index"> 161 <input type="hidden" name="jspCSRFToken" value="3e7a1d3828153c0dd802d02c7e7999ddf3bc2cbe" /> 162 <div class="capricorn-login-form-group form-group"> 163 <label for="accessCode" class="control-label">User Name</label> 164 <div class="controls"> <input type="text" class="form-control" id="accessCode" name="accessCode" autocorrect="off" autocapitalize="none" placeholder="User Name"> </div> 165 </div> 166 <div class="capricorn-login-form-group form-group"> 167 <label for="password" class="control-label">Password</label> 168 <div class="input-group"> 169 <input type="password" class="form-control" id="password" name="password" maxlength="60" placeholder="Password" autocomplete="new-password"> 170 <span toggle="#password" class="input-group-addon toggle-password" style="cursor: pointer;"><i class="fa fa-eye"></i></span> 171 </div> 172 </div> 173 174 175 <div class="form-actions"> 176 <button type="submit" class="pull-right btn btn-primary btn-lg" >Login <span class="glyphicon glyphicon-log-in"></span></button> 177 </div> 178 <div class="checkbox" style="max-width: 50%;"> 179 <label> 180 <input type="checkbox" title="rememberMyAccountNumber" name="rememberMyAccountNumber" class="" value="Y" /> Remember me 181 </label> 182 </div> 183 184 <div><a href="contact.jsp" id="capricorn-login-help-link">Contact Us</a></div> 185 <hr> 186 187 <div class="capricorn-login-form-group"> 188 <div><a id="capricorn-forgot-password-link" href="/app/forgotPassword.jsp">Forgot your password?</a></div> 189 <div><a id="capricorn-forgot-user-link" href="/app/forgotAccessCode.jsp">Forgot your User Name?</a></div> 190 191 </div> 192 193 <input type="hidden" name="nextPara" value="" /> 194 <input type="hidden" name="nextPara_attr1" value="" /> 195 </form> 196 </div> 197 </div> 198 199 <!-- Signup Panel --> 200 <div class="col-md-6"> 201 <h3>Don't have a User Name yet?</h3> 202 <div class="well"> 203 <p>Creating a User Name gives you access to your account details and some great tools including:</p> 204 205<ul style="list-style:none;"> 206 <li><i class="fa fa-bar-chart" aria-hidden="true"></i> - View Smart Meter consumption data </li> 207 <li> <i class="fa fa-file-pdf-o" aria-hidden="true"></i> - View and Pay your bills online </li> 208 <li><i class="fa fa-list" aria-hidden="true"></i> - Review your transaction and payment history </li> 209 <li><i class="fa fa-area-chart" aria-hidden="true"></i> - Analyze and download electricity </li> 210 <li><i class="fa fa-user" aria-hidden="true"></i> - Add multiple accounts to your web profile</li> 211</ul> 212<p>Before you get started, please have your most recent bill handy to complete the registration form.</p> 213 214 <hr> 215 <form role="form"> 216 <div class="button-set clearfix"> 217 <a href="register.jsp" type="button" class="pull-right btn btn-primary btn-lg" id="capricorn-login-signup">
217Register Now <span class="glyphicon glyphicon-check"></span> </a> 218 </div> 219 </form> 220 </div> 221 </div> 222 223 224 225 226 227 228 229 230 231 </div> <!-- ./row --> 232 233 234 235 236 237 238 <div class="row" style="margin-top:12px;"> 239 <div class="col-md-6"> 240 <div class="well"> 241 <h3 style="margin-top:0;">Are you a new customer or a current customer setting up an additional account?</h3> 242 <h4>Fill out our online <a href="https://myaccount.cnpower.com/ApolloWE/ctl?para=publicRequest&workflowProcess=MIV1&TYPE=PUBLIC&WE_LANG=EN" target="newApp">Application for New Service</a></h4> 243 </div> 244 <!-- class="well" style="margin-bottom:0;min-height: 170px;"> 245 <h3 style="margin-top:0;">Register Now</h3> 246 <h4>Watch our video demo series to see all the great tools and services available to you any time on any device.</h4> 247 <div class="pull-right"> 248 <h3>Check it out <i class="fa fa-arrow-circle-right hidden-xs hidden-sm" aria-hidden="true"></i><i class="fa fa-arrow-circle-down hidden-md hidden-lg" aria-hidden="true"></i></h3> 249 </div> 250 </div> 251 </div> 252<!-- class="col-md-6"> 253 <div class="embed-responsive embed-responsive-16by9"> 254 <iframe class="embed-responsive-item" src="https://www.youtube.com/embed/videoseries?list=PL53iLnMxVll7Gdl1ZBp0Q2kfeLI56nFk2" frameborder="0" allowfullscreen style="width: 100%; min-height: 210px;"></iframe> 255 </div> 256 </div> --> 257 258 259 </div> 260 <div class="col-md-6"> 261 <div class="well"> 262 <h3 style="margin-top:0;" class="bigger">Stay Connected!</h3> 263 <p class="h4" style="text-align:left;">Please make sure your email and phone number are up to date on your account. This helps us keep you informed with important updates and useful information about your utility services.</p> 264 </div> 265 </div> 266</div> 267 268 269 270 271 272 273 274</div> 275<!-- ./container --> 276 277 278 279 280 281 282 283<div class="fix-to-bottom" id="fix-to-bottom" > 284 <div class="container-fluid" style="border-top:20px solid #fdc217; background:#1e305f; margin-top:24px; width:100%; color:#FFF;" > 285 <div id="footer" class="container" style="margin-top:12px; width:100%"> 286 <div class="row"> 287 <div class="col-md-12"> 288 <ul class="footer-nav-links"> 289 <li><a href="https://www.fortisontario.com/" target="_fortisONT">Home<a/></li> 290 <li><a href="https://www.fortisontario.com/about-fortisontario/company-profile" target="_fortisONT">About FortisOntario<a/></li> 291 <li><a href="https://www.fortisontario.com/distribution" target="_fortisONT">Distribution<a/></li> 292 <li><a href="https://www.fortisontario.com/transmission" target="_fortisONT">Transmission<a/></li> 293 <li><a href="https://www.fortisontario.com/news-media" target="_fortisONT">News & Media<a/></li> 294 <li><a href="https://www.fortisontario.com/accessibility" target="_fortisONT">Accessibility<a/></li> 295 <li><a href="https://www.fortisontario.com/contact" target="_fortisONT">Contact</a></li> 296 </ul> 297 </div> 298 <div class="col-md-12"> 299 <p> 300 <br /><img alt="Fortis ONTARIO" src="/SilverBlazePortalV4.0/images/logo-footer.jpg" class="ximg-responsive pull-right" ><br /> 301 </p> 302 </div> 303 <div class="col-md-12"> 304 <ul class="copyright-nav-links"> 305 <li>Copyright © 2019 FortisOntario. All Rights Reserved.</li> 306 <li><a href="https://www.fortisontario.com/privacy-policy" target="_fortisONT">Privacy Policy</a></li> 307 <li><a href="https://www.fortisontario.com/legal-notice" target="_fortisONT">Legal Notice</a></li> 308 </ul> 309 </div> 310 </div> 311 </div> 312 313 </div> 314<!--change number: 252-013--> 315</div> <!-- end for main_content_wrapper --> 316
317<script> 318 <!-- 319 var newSize = 0; 320 $(document).ready(function(){ 321 if($(".fix-to-bottom").position().top < $(window).height()){ 322 newSize = ( $(window).height() - $("#fix-to-bottom").position().top) - $("#fix-to-bottom").height()+24; 323 <!-- console.log('if: ' + newSize); --> 324 } 325 //else { 326 //console.log('else'); 327 //} 328 $(".fix-to-bottom").css("margin-top", Math.abs(newSize)); 329 }); 330 331 $(window).on("resize", function(){ 332 // console.log("Fix to bottom: " + $(".fix-to-bottom").position().top +" | window: "+ $(window).height()); 333 if($(".fix-to-bottom").position().top < $(window).height()){ 334 newSize = ($("#fix-to-bottom").position().top - $(window).height()) + $("#fix-to-bottom").height(); 335 if(newSize < 0) 336 $(".fix-to-bottom").css("margin-top", Math.abs(newSize)); 337 else 338 $(".fix-to-bottom").css("margin-top", Math.abs(newSize)-1); 339 } 340 }); 341 --> 342 // console.log("Window H: " + $(window).height() + " | FixToBottom Position: " + $(".fix-to-bottom").position().top + " | Document H: " + $(document).height()); 343 344</script>
344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361
361<script src="/SilverBlazePortalV4.0/js/cap.min.js" type="text/javascript"></script>
361 362 363 364 365 366
367<script src="/SilverBlazePortalV4.0/js/custom.js" type="text/javascript"></script>
367 368
369<script type="text/javascript"> 370 371 372//change the moment locale globally based on the language code. 373moment.locale('en'); 374 375 376function showProcessingDialog(processingBarLabel) { 377 if(processingBarLabel != null && processingBarLabel !== ''){ 378 $("#processingBarLabel").html(processingBarLabel); 379 } 380 $("#processingDialog").modal('show'); 381} 382 383function hideProcessingDialog(){ 384 $("#processingDialog").modal('hide'); 385} 386 387$(document).ready(function() { 388 var secureFlag = false; 389 390 /* Close the scotch panel (left-menu) while clicking on iframe contents. */ 391 $('body, .tabContentWrapper').on('click', function(e){ 392 if(window.parent.dashboardScotchPanel !== undefined){ 393 window.parent.dashboardScotchPanel.close(); 394 } 395 }); 396 397 398 399 $("head").append("<link href='//fonts.googleapis.com/css?family=Roboto' rel='stylesheet' type='text/css'>"); 400 401 $("head").append("<link href='//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,700italic,400,300,700' rel='stylesheet' type='text/css'>"); 402 403 404 405 406 407 // ========================================= 408 409 // JS codes for topIncludeV3.jsp 410 //$("#subtabs, #xs-subtabs").buttonset(); 411 412 $("#subtabs input[type=radio], #xs-subtabs input[type=radio]").change(function() { 413 // 330-694 Kubra changes for EMWD support generic landing page and open page in new window instead of iframe via opttar 414 if ('_blank' === $(this).attr("data-opttar")) { 415 window.open($(this).attr("rel") + '&opttar=_blank', '_blank') ; 416 var _this = this; 417 setTimeout(function() { $(_this).parent().removeClass('active') ;}); // trick to deselect the radio 418 }else if ('parent' === $(this).attr("data-opttar") ) { 419 window.parent.location.href = $(this).attr("rel") + '&opttar=parent'; 420 return false; 421 }else { 422 showProcessingDialog(); 423 window.location.href = $(this).attr("rel"); 424 } 425 426 }); 427 // END JS codes for topIncludeV3.jsp 428 // ========================================= 429 430 $('#SMCONSUM').click(function() { 431 showProcessingDialog(); 432 }); 433 $('#SMARTCON').click(function() { 434 showProcessingDialog(); 435 }); 436 437 $('a[rel*=blockUI]').click(function() { 438 showProcessingDialog(); 439 }); 440 441 442 // Setup jQuery button styling 443 $( "input:submit, input:button, a, button", ".buttonV2" ).button(); 444 $( "a", ".buttonV2" ).click(function() { return false; }); 445 446 // Setup shadows 447 $('.box.standard').shadow(); 448 $('.box.lifted').shadow('lifted'); 449 $('.box.perspective').shadow('perspective'); 450 $('.box.raised').shadow('raised'); 451 $('.box.sides-vt-1').shadow({type:'sides',sides:'vt-1'}); 452 $('.box.sides-vt-2').shadow({type:'sides',sides:'vt-2'}); 453 $('.box.sides-hz-1').shadow({type:'sides',sides:'hz-1'}); 454 $('.box.sides-hz-2').shadow({type:'sides',sides:'hz-2'}); 455 $('.box.rotated').shadow({type:'rotated',rotate:'-5deg'}); 456 457 // Help text dialog 458 $(".helpLink").click(function () { 459 $("#helpDialog").attr('src', $(this).attr("href")); 460 $("#helpDiv").dialog({ 461 width: 640, 462 height: 450, 463 modal: true, 464 close: function () { 465 $("#helpDialog").attr('src', "about:blank"); 466 } 467 }); 468 return false; 469 }); 470 471 // change number: 252-013
472 var f=navigator.userAgent.search("Firefox"); 473 var c=navigator.userAgent.search("Chrome"); 474 var ie=navigator.userAgent.search("MSIE") + (navigator.userAgent.search(/Trident/)); // MSIE for older ie and Trident for newer IE such as IE 11 475 var ie9=navigator.userAgent.search("MSIE 9.0"); 476 477 // set the zoom level from cookie 478 var cookie_name = "zoom_level"; 479 var index = document.cookie.indexOf(cookie_name); 480 var zoomlvl = 100; 481 482 // change number: 252-013 483 // write cookies 484 function write_cookie_for_zoom(zoomLevel) { 485 $.cookie(cookie_name, zoomLevel, { path: '/', expires: 3650, secure: secureFlag }); 486 } 487 488 if (index >= 0) { 489 zoomlvl = Number(document.cookie.substring(index).split(";")[0].split("=")[1]); 490 491 if(zoomlvl!=100){ 492 zoom(zoomlvl); 493 } 494 495 }else{ 496 /*console.log("Cookie not Found at the beginning.");*/ 497 } 498 499 // zoom in the page 500 $("#zoom_in_page").click(function () { 501 // max zoom level is 150% 502 if(zoomlvl>= 150){ 503 return; 504 } 505 zoomlvl += 10; 506 zoom(zoomlvl); 507 }); 508 509 // zoom out the page 510 $("#zoom_out_page").click(function () { 511 // min zoom level is 70% 512 if(zoomlvl<=70){ 513 return; 514 } 515 zoomlvl -= 10; 516 zoom(zoomlvl); 517 }); 518 519 // zoom back 520 $("#back_to_original_page").click(function () { 521 zoomlvl = 100; 522 zoom(zoomlvl); 523 }); 524 525 526 function zoom(zoomlvl){ 527 if(f>-1){ // for firefox, use css3: transform:scale 528 $("body").css({ 529 "-moz-transform": "scale(" + zoomlvl/100 + ")", 530 "-moz-transform-origin": "0 0" 531 }); 532 var viewPortWidth = $(window).width(); 533 var currMainContentWrapperWidth = viewPortWidth * (zoomlvl/100); 534 var mainContentWidthDiff = (currMainContentWrapperWidth - viewPortWidth) / 2; 535 if(mainContentWidthDiff>50){ /* zoom in */ 536 $("body").css("left", "-" + mainContentWidthDiff + "px"); 537 }else if(mainContentWidthDiff<50){ /* zoom out */ 538 $("body").css("left", mainContentWidthDiff + "px"); 539 } 540 541 }else if(ie9>-1){ // for ie9 542 $("body").css({ 543 "transform": "scale(" + zoomlvl/100 + ")", 544 "transform-origin": "0 0", 545 "-ms-transform": "scale(" + zoomlvl/100 + ")", 546 "-ms-transform-origin": "0 0" 547 }); 548 549 }else{ // for other browers, use zooming 550 $("body").css("zoom", zoomlvl+"%"); 551 if(ie>-1){ // for ie, re-position the div to center 552 $("body").css("width", "100%"); 553 554 // center the viewport in the center if there is scroll bar in the window. 555 var newPosition = ($(document).width() - $(window).width())/2; 556 window.scrollTo(newPosition,0); 557 } 558 } 559 write_cookie_for_zoom(zoomlvl); 560 } 561 562 563 564 565 566 567 568 569 function onElementHeightChange(elm, callback){ 570 571 if(elm == null) 572 return; 573 574 var index = 0; 575 var lastHeight = elm.clientHeight, newHeight; 576 (function run(){ 577 newHeight = elm.clientHeight; 578 579 if( lastHeight != newHeight || (lastHeight == newHeight && !iframeHeightAdjusted)) 580 callback(); 581 lastHeight = newHeight; 582 583 if( elm.onElementHeightChangeTimer ) 584 clearTimeout(elm.onElementHeightChangeTimer); 585 586 //console.log('run' + (index++)); 587 elm.onElementHeightChangeTimer = setTimeout(run, 500); 588 })(); 589 590 // #330-300 - 2018-11-15 : Enhance the performance by reducing the workload. Cancel the resize function in 10 seconds. 591 if( elm.onElementHeightChangeTimer ){ 592 setTimeout( function(){ 593 clearTimeout(elm.onElementHeightChangeTimer); 594 //console.log('clear timeout'); 595 }, 10000); 596 } 597 } 598 599 onElementHeightChange(document.body, function(){ 600 resizeIFrameWhenBodyHeightChanges(); 601 }); 602 //setTimeout(resizeIFrameWhenBodyHeightChanges, 2000); 603 604 605 $(document).on('click', ".logoff", function(e){ 606 e.preventDefault(); 607 $("#form-logoff").submit(); 608 }); 609 610}); /* end jQuery.document.ready() */ 611 612 613 614 615var iframeHeightAdjusted = (typeof $.cookie("googtrans") == 'undefined' || $.cookie("googtrans") === "/en/en"); 616 617 618// 2017-06-06 @hli: Resize current active iframe according to its own content height when the page finishes loading. 619// 2017-08-14 @grohman: Account for new dashboard nav. 620function resizeIFrameWhenBodyHeightChanges(){ 621 var $frametabs = parent.$('.iframetab'); 622 var currentFrame; 623 $frametabs.each(function(){ 624 var $iframeTabContainer = $(this).closest(".tab-pane"); 625 if($iframeTabContainer.css("display") != "none"){ // all other iframes are invisible. Find the current active iframe. 626 currentFrame = $(this); 627 currentFrame.load(resizeIframe()); // reload the current iframe size. 628 return; 629 } 630 }); 631 632 // reload iframe according to the content size. 633 function resizeIframe() { 634 var frameBodyElment = currentFrame.contents().find("body")[0]; 635 if(frameBodyElment == undefined){ 636 return; 637 } 638 var contentHeight = frameBodyElment.offsetHeight; 639 640 var myScotchNav = parent.document.getElementById('myAccountTabs'); 641 if(typeof myScotchNav !== 'undefined'){ 642 if(contentHeight < myScotchNav.offsetHeight){ 643 contentHeight = myScotchNav.offsetHeight; 644 } 645 } 646 647 648 649 if(!iframeHeightAdjusted){ 650 currentFrame.height(contentHeight+1); 651 iframeHeightAdjusted = true; 652 } 653 //console.log("contentHeight=" + contentHeight); 654 currentFrame.height(contentHeight); 655 } 656} 657 658 659 660 661 662 663 664 665 666 667function MM_openBrWindow(theURL,winName,features) { //v2.0 668 return window.open(theURL,winName,features); 669} 670 671</script>
671 672 673 674<!-- Page Rating JS -->
675<script> 676 677 function browserSupportsCors() { 678 if ("withCredentials" in new XMLHttpRequest()) return true; 679 else if (typeof XDomainRequest == "object") return true; 680 else return false; 681 } 682 683 $(document).ready(function(){ 684 var $star_rating = $('.star-rating .fa'); 685 686 var SetRatingStar = function() { 687 return $star_rating.each(function() { 688 if (parseInt($star_rating.siblings('input.rating-value').val()) >= parseInt($(this).data('rating'))) { 689 return $(this).removeClass('fa-star-o').addClass('fa-star'); 690 } else { 691 return $(this).removeClass('fa-star').addClass('fa-star-o'); 692 } 693 }); 694 }; 695 696 $star_rating.on('click', function() { 697 $star_rating.siblings('input.rating-value').val($(this).data('rating')).change(); 698 return SetRatingStar(); 699 }); 700 701 SetRatingStar(); 702 }); 703 704 705 // Page Rating 706 $('input[name="pageRating"]').on("change", function(){ 707 708 var pageRating = $(this).val(); 709 var documentId = $('#pageCommentsAndRating').find('input[name="documentId"]').val(); 710 var pageRatingCSRFToken = $('#pageCommentsAndRating').find('input[name="jspCSRFToken"]').val(); 711 712 var url = "/app/capricorn?para=documentRatingAndComments&type=RATING"; 713 714 if(browserSupportsCors()) { 715 jQuery.ajax({ 716 type: "POST", 717 cache: false, 718 url: url, 719 data: { 720 "pageRating" : pageRating, 721 "documentId" : documentId, 722 "jspCSRFToken" : pageRatingCSRFToken 723 } 724 }) 725 .done(function(data){ 726 727 $('#input-pageRating').val(""); 728 729 $('#ratingResponse').html(data); 730 }); 731 } else { 732 alert("CORS not supported"); 733 } 734 735 }); 736 737 // Page Comments 738 function submitDocumentComments(){ 739 var documentId = $('#pageCommentsAndRating').find('input[name="documentId"]').val(); 740 var ratingComment = $('#input-pageComment').val(); 741 var pageRatingCSRFToken = $('#pageCommentsAndRating').find('input[name="jspCSRFToken"]').val(); 742 743 if(ratingComment === "") return; 744 745 var url = "/app/capricorn?para=documentRatingAndComments&type=COMMENT"; 746 747 if(browserSupportsCors()) { 748 jQuery.ajax({ 749 type: "POST", 750 cache: false, 751 url: url, 752 data: { 753 "documentId" : documentId, 754 "ratingComment" : ratingComment, 755 "jspCSRFToken" : pageRatingCSRFToken 756 } 757 }) 758 .done(function(data){ 759 $('#input-pageComment').val(""); 760 761 $('#commentsResponse').html(data); 762 }); 763 } else { 764 alert("CORS not supported"); 765 } 766 767 } 768 769 $('button[name="pageCommentButton"]').on("click", function(){ 770 submitDocumentComments(); 771 }); 772 773 $("#pageCommentForm").on('submit', function(e){ 774 e.preventDefault(); 775 submitDocumentComments(); 776 }); 777 778 779 // ========================================================= 780 // Center modal dialog to the middle of current view. 781 // ========================================================= 782 var iframeId = ""; 783 var iframeTop = 0; 784 if(window.frameElement){ 785 iframeId = window.frameElement.id; 786 iframeTop = parent.$("#"+iframeId).offset().top; // get the iframe top, i.e. the height between 0 and the iframe's top border. 787 } 788 // A variable that saves the original form data to detect if the form has been changed when submitting the form. 789 var $form_original_data = ""; 790 // reposition the dialog modal based on the screen view. 791 /* $(document).on('shown.bs.modal', '#subscribeDialog, #ajaxSelectLinkedAccountsModal, #ajaxViewAddtionalProfileModal', function(e) { 792 // cache the element into js. 793 var $currentTarget = $(e.currentTarget); // modal 794 var dialog = $currentTarget.find('.modal-dialog'); 795 centerModalWidget(dialog); 796 797 }); */ 798 799 $(document).on('shown.bs.modal', '.modal:not(#processingDialog)', function(e) { 800 // cache the element into js. 801 var $currentTarget = $(e.currentTarget); // modal 802 var dialog = $currentTarget.find('.modal-dialog'); 803 804 805 resizeModalForView($currentTarget); 806 807 808 if(navigator.userAgent.match(/(iPod|iPhone|iPad)/)){ 809 parent.$('body,html').addClass("modal-open"); 810 }else{ 811 centerModalWidget(dialog); 812 } 813 }); 814 815 816 function resizeModalForView($currentTarget){ 817 var percentageInsideWindow = 0.65;
818 var modalObj = $currentTarget.find('.modal-content'); 819 var modalCurrentHeight = $(modalObj).height(); 820 var modalNewHeight = parent.window.innerHeight * percentageInsideWindow; 821 if (modalCurrentHeight > modalNewHeight) { 822 //alert("modalCurrentHeight=" + modalCurrentHeight); // leave it for debug. 823 //alert("modalNewHeight=" + modalNewHeight); // leave it for debug. 824 var modalBody = $currentTarget.find('.modal-body'); 825 826 var modalHeaderHeight = $currentTarget.find('.modal-header').height(); 827 var modalFooterHeight = $currentTarget.find('.modal-footer').height(); 828 var newModalBodyHeight = Math.max(modalNewHeight - modalHeaderHeight - modalFooterHeight, 50); 829 //alert("newModalBodyHeight=" + newModalBodyHeight); // leave it for debug. 830 $(modalBody).height(newModalBodyHeight); 831 $(modalBody).css('overflow-y', 'auto'); 832 } 833 } 834 835 836 $(document).on('hide.bs.modal', '.modal:not(#processingDialog)', function(e) { 837 if(navigator.userAgent.match(/(iPod|iPhone|iPad)/)){ 838 parent.$('body, html').removeClass("modal-open"); 839 } 840 }); 841 842 843 844 $('#processingDialog').on('show.bs.modal', function(e){ 845 var $currentTarget = $(e.currentTarget); // modal 846 var dialog = $currentTarget.find('.modal-dialog'); 847 centerModalWidget(dialog, 450); // note: make the height larger such as 450 would put the widget higher instead of center. 848 }); 849 850 851 852 // a function to center the passed in dialog/modal in the current view port. 853 function centerModalWidget(dialog, dialogHeight){ 854 var offset = $(parent.document).scrollTop(); // Get the current vertical position of the scroll bar for the first element in the set of matched elements 855 var actualViewportHeight = parent.window.innerHeight; 856 // #330-304 - Enhance the centerModal logic by using a more accurate modal height if applicable. 857 var modalHeight = 0; 858 859 // #330-370: use the height from the parameter by default. If no height value is passed in, detect the modal height programmatically. 860 if(typeof(dialogHeight) !== 'undefined' && dialogHeight!==0){ 861 modalHeight = dialogHeight; 862 }else{ 863 modalHeight = dialog.height(); 864 } 865 866 // If the modalHeight is still 0, then use an average height value. 867 if(modalHeight == 0) 868 modalHeight = 495; 869 870 // show the modal at the position of (parent.scrollTop - iframe's top) [inner viewport start point] + (actualViewportHeight-modalHeight)/2) [center in the current view port] . 871 var newPosition = 0; 872 var innerFrameTop = 0; 873 if(window.frameElement){ // if this is inside a iframe, then calculate the distance between iframeTop and scrollTop. If not a iframe, then always use 0. 874 // #330-337 - When the view port is staying at the top of the iframe, this value should allow to be negative.The negative iframeTop value should be included in the calculation for centering. 875 //innerFrameTop = Math.max(0, offset-iframeTop); 876 innerFrameTop = offset-iframeTop; 877 // #330-337 - the final new position must be either postive value or 0. 878 newPosition = Math.max(0, innerFrameTop + (actualViewportHeight-modalHeight)/2); 879 }else{ 880 innerFrameTop = offset; 881 newPosition = Math.max(0, innerFrameTop); 882 } 883 884 885 886 /* 887 console.log("innerFrameTop=" + innerFrameTop); 888 console.log("actualViewportHeight=" + actualViewportHeight); 889 console.log("modalHeight=" + modalHeight); 890 console.log("scrollTop=" + offset); 891 console.log("iframeTop=" + iframeTop); 892 console.log("innerFrameTop=scrollTop-iframeTop= " + innerFrameTop); 893 console.log("newPosition = innerFrameTop + (actualViewportHeight-modalHeight)/2 = " + newPosition); 894 */ 895 dialog.css("top", newPosition); 896 897/* if(innerFrameTop>0){ // if the viewport is showing deep down in the parent window, i.e. innerFrameTop will be greater than 0. Show the dialog in the center of innerFrameTop. 898 dialog.css("top", newPosition); 899 } else{ // if the viewport is showing the top of the parent window, i.e. innerFrameTop will be 0. Show the dialog closed to the top of inner frame. 900 dialog.css("top", "20%"); 901 } */ 902 } 903 904 905 $(document).on('click', ".btnClickLoading", function(e){
906 var $thisButton = $(this); 907 if($thisButton.attr("data-loading-text") === ""){ // add the default loading message if not set. 908 $thisButton.attr("data-loading-text", "Loading..."); 909 } 910 $thisButton.button('loading'); 911 }); 912 913</script>
913 914<!-- / Page Rating JS --> 915 916 917 918 919 920 921<!-- Script to Activate the Carousel -->
922<script type="text/javascript"> 923$('.carousel').carousel({ 924 interval: 5000 //changes the speed 925}) 926</script>
926 927
928<script type="text/javascript"> 929 930 931 // +--------------------------------------------------------------------- 932 // | Auto Refresh: 330-263 933 // +--------------------------------------------------------------------- 934 var itimer; 935 var timeInterval; 936 937 function set_interval() { 938 var timeoutMins = 1000 * 1 * 300; 939 itimer=setTimeout("auto_reload()",timeoutMins); 940 } 941 942 function auto_reload() { 943 location.replace('/app/login.jsp'); 944 } 945 // +--------------------------------------------------------------------- 946 947 948 function initFields() { 949 var form = document.login; 950 form.accessCode.focus(); 951 form.accessCode.select(); 952 953 set_interval(); 954 955 } 956 957 function processRememberMyAccountNumber() { 958 // if rememberMyAccountNumber flag is check, then write the account# to the PowerStream cookie 959 if (document.login.rememberMyAccountNumber.checked == true) { 960 write_cookie('Y'); 961 } else { 962 write_cookie('N'); 963 } 964 965 } 966 967 cookie_name = "www.fortisontario.ca_admin"; 968 function write_cookie(writeAcctFlag) { 969 if (document.cookie) { 970 index = document.cookie.indexOf(cookie_name); 971 } else { 972 index = -1; 973 } 974 if (index == -1) { // cookie not found 975 if (writeAcctFlag == "Y") { 976 // #330-068 : @jli 2018-02-16 - encode the access code value before putting it into cookie 977 document.cookie = cookie_name + "=" + encodeURI(document.login.accessCode.value) + "; expires=Wednesday, 01-Aug-2040 08:00:00 GMT"; 978 } 979 } else { // cookie found 980 if (writeAcctFlag == "Y") { 981 // #330-068 : @jli 2018-02-16 - encode the access code value before putting it into cookie. 982 document.cookie = cookie_name + "=" + encodeURI(document.login.accessCode.value) + "; expires=Wednesday, 01-Aug-2040 08:00:00 GMT"; 983 } else { 984 document.cookie = cookie_name + "=NA"; 985 } 986 } 987 } 988 989 function getAccountNo() { 990 if (document.cookie) { 991 index = document.cookie.indexOf(cookie_name); 992 if (index != -1) { // cookie for powerstream found 993 countbegin = (document.cookie.indexOf("=", index) + 1); 994 countend = document.cookie.indexOf(";", index); 995 if (countend == -1) { 996 countend = document.cookie.length; 997 } 998 accountNo = document.cookie.substring(countbegin, countend); 999 if (accountNo == "NA") { 1000 accountNo = ""; 1001 document.login.rememberMyAccountNumber.checked = false; 1002 } else { 1003 document.login.rememberMyAccountNumber.checked = true; 1004 } 1005 // #330-068 : @jli 2018-02-16 - decode the access code value when retrieving it from cookie. 1006 document.login.accessCode.value = decodeURI(accountNo); 1007 if (document.login.accessCode.value != "") { 1008 document.login.password.focus(); 1009 } 1010 } else { // cookie for powerstream not found 1011 document.login.rememberMyAccountNumber.checked = false; 1012 } 1013 } 1014 } 1015 1016 jQuery(function ($) { 1017 1018 $('#login-form').validate({ 1019 rules: { 1020 accessCode: { 1021 required: true 1022 }, 1023 password: { 1024 required: true 1025 } 1026 }, 1027 highlight: function(element) { 1028 $(element).closest('.form-group').addClass('has-error'); 1029 }, 1030 unhighlight: function(element) { 1031 $(element).closest('.form-group').removeClass('has-error'); 1032 }, 1033 errorElement: 'span', 1034 errorClass: 'help-block', 1035 errorPlacement: function(error, element) { 1036 if(element.parent('.input-group').length) { 1037 error.insertAfter(element.parent()); 1038 } else { 1039 error.insertAfter(element); 1040 } 1041 }, 1042 submitHandler: function(form) { 1043 $("#processingDialog .progress-bar").html("<strong>Please wait a few seconds while we verify your login information...</strong>"); 1044 $("#processingDialog").modal('show'); 1045 processRememberMyAccountNumber(); 1046 form.submit(); 1047 } 1048 }); 1049 1050 1051 1052 1053 1054 1055 });
1056 1057</script>
1057 1058 1059
1060<script type="text/javascript"> 1061 //CAP-230 : 2021-01-25 : Toggle-password-visibility 1062 $(".toggle-password").click(function() { 1063 $(this).children("i").toggleClass(".fa-eye fa-eye-slash"); 1064 var pwdInput = $($(this).attr("toggle")); 1065 if (pwdInput.attr("type") === "text") { 1066 pwdInput.attr("type", "password"); 1067 } else { 1068 pwdInput.attr("type", "text"); 1069 } 1070 }); 1071</script>
1071 <!-- CAP-230 --> 1072</body> 1073</html> 1074
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.