1<!DOCTYPE html> 2 3<!-- live_stsg_internet_nlb32-7 --> 4 5 6 7 8 9 10 11 12 13 <html prefix="fb: http://ogp.me/ns/fb# og: http://ogp.me/ns#" xml:lang="de" lang="de"> 14 15 16 17 18 19 20 21 22 23 24 25 26 27<head> 28 <title>St.Galler Stadtwerke</title> 29 30 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 31 <meta http-equiv="Content-Language" content="de" /> 32 33 34 <!-- START of Swiftype specific Meta Tags --> 35 <meta class="swiftype" name="title" data-type="string" content="St.Galler Stadtwerke" /> 36 <meta class="swiftype" name="type" data-type="enum" content="Inhaltsseite" /> 37 <meta class="swiftype" name="domain" data-type="string" content="www.sgsw.ch" /> 38 <meta class="swiftype" name="published_at" data-type="date" content="2026-08-26" /> 39 40 41 42 <!-- END of Swiftype specific Meta Tags --> 43 44 45 46 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" /> 47 <meta name="apple-mobile-web-app-capable" content="yes" /><meta name="apple-mobile-web-app-title" content="sg.ch" /> 48 <!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><![endif]--> 49 50 51 <meta name="description" content="Die St.Galler Stadtwerke sind der zuverlässige Partner für die Versorgung der Stadt St.Gallen mit Energie, Wasser und Glasfasern."/> 52 <meta name="keywords" content="Energie, Strom, Elektrizität, Wasser, Gas, Erdgas, Biogas, Wärme, Glasfaser, Mobilität, Kundendienst, Telecom, sgsw, St.Galler, Stadtwerke, sgsw"/> 53 54 <link rel="canonical" href="https://www.sgsw.ch/home.html"/> 55 56 <meta http-equiv="last_modified" content="2026-08-26"/> 57 <meta name="modified" content="2026-08-26"/> 58 <meta http-equiv="created" content="2026-08-26"/> 59 <meta name="created" content="2026-08-26"/> 60 61 62 63 64 65 <meta name="facebook-domain-verification" content="wti3cerg6yiq7yycx5pfn26z2u1xw3" /> 66 67 68 69 70 71 <meta name="format-detection" content="telephone=no" /> 72 73 74 75 76 77 78 79 80 81 82 83 84 <link href="/apps/core/docroot/styles/footable.css" rel="stylesheet" media="all" type="text/css"/> 85 86 <link href="/apps/core/docroot/styles/slick.css" rel="stylesheet" media="all" type="text/css"/> 87 88 <link href="/apps/core/docroot/styles/slick-theme_sgsw.css" rel="stylesheet" media="all" type="text/css"/> 89 90 <link href="/apps/apps/stsg/clientlibs/stsgFonts/fontawesomepro/css/fontawesome.css" rel="stylesheet" media="all" type="text/css"/> 91 92 <link href="/apps/apps/stsg/clientlibs/stsgFonts/fontawesomepro/css/light.css" rel="stylesheet" media="all" type="text/css"/> 93 94 <link href="/apps/apps/stsg/clientlibs/stsgFonts/fontawesomepro/css/regular.css" rel="stylesheet" media="all" type="text/css"/> 95 96 <link href="/apps/apps/stsg/clientlibs/stsgFonts/fontawesomepro/css/brands.css" rel="stylesheet" media="all" type="text/css"/> 97 98 <link href="/apps/apps/stsg/clientlibs/stsgFonts/fontawesomepro/css/solid.css" rel="stylesheet" media="all" type="text/css"/> 99 100 <link href="/apps/core/docroot/styles/sgsw_onlinewelt_bootstrap_theme.css" rel="stylesheet" media="all" type="text/css"/> 101 102 <link href="/apps/core/docroot/styles/sgsw_onlinewelt_bootstrap.css" rel="stylesheet" media="all" type="text/css"/> 103 104 <link href="/apps/core/docroot/styles/stadtsg_fonts.css" rel="stylesheet" media="all" type="text/css"/> 105 106 <link href="/apps/core/docroot/styles/bootstrap-datepicker.min.css" rel="stylesheet" media="all" type="text/css"/> 107 108 <link href="/apps/apps/stsg/clientlibs/stsgLibs/css/datatables.min.css" rel="stylesheet" media="all" type="text/css"/> 109 110 <link href="/apps/apps/stsg/clientlibs/stsgLibs/css/jquery.dataTables.yadcf.css" rel="stylesheet" media="all" type="text/css"/> 111 112 <link href="/apps/core/docroot/styles/sgsw_onlinewelt_formate.css" rel="stylesheet" media="all" type="text/css"/> 113 114 <link href="/apps/core/docroot/styles/sgsw_onlinewelt_content.css" rel="stylesheet" media="all" type="text/css"/> 115 116 <link href="/apps/core/docroot/styles/sgsw_onlinewelt_responsive.css" rel="stylesheet" media="all" type="text/css"/> 117 118 <link href="/apps/core/docroot/styles/sgsw_onlinewelt_blog.css" rel="stylesheet" media="all" type="text/css"/> 119 120 <link href="/apps/apps/stsg/clientlibs/stsgLibs/css/plyr.css" rel="stylesheet" media="all" type="text/css"/> 121 122 <link href="/apps/core/docroot/styles/swiftype_custom.css" rel="stylesheet" media="all" type="text/css"/> 123 124 <link href="/apps/core/docroot/styles/swiftype_custom_sgsw.css" rel="stylesheet" media="all" type="text/css"/> 125 126 <link href="/apps/core/docroot/styles/serper_search.css" rel="stylesheet" media="all" type="text/css"/> 127 128 <link href="/apps/core/docroot/styles/sgsw_onlinewelt_author.css" rel="stylesheet" media="all" type="text/css"/> 129 130 131 132 133 134 <!--[if lte IE 5.5999]><link rel="stylesheet" href="/apps/core/docroot/styles/ie5.css" media="screen" type="text/css" /><![endif]--> 135 136 137 <link href="/apps/core/docroot/styles/sgsw_onlinewelt_print.css" rel="stylesheet" media="print" type="text/css"/> 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 <link rel="SHORTCUT ICON" href="/apps/core/docroot/images/favicons/sgsw.ico" type="image/vnd.microsoft.icon"/> 157 158 <!-- CSRF Security --> 159
159<script src="/etc.clientlibs/clientlibs/granite/jquery/granite/csrf.js"></script>
159 160 161 162 163
163<script language="javascript" type="text/javascript" src="/apps/core/docroot/js/jquery-3.7.1.min.js"></script>
163 164 165
165<script language="javascript" type="text/javascript" src="/apps/core/docroot/js/jquery-migrate-3.5.2.min.js"></script>
165 166 167
167<script language="javascript" type="text/javascript" src="/apps/core/docroot/js/bootstrap-datepicker.min.js"></script>
167 168 169
169<script language="javascript" type="text/javascript" src="/apps/core/docroot/js/bootstrap-datepicker.de.js"></script>
169 170 171
171<script language="javascript" type="text/javascript" src="/apps/core/docroot/js/sgsw_onlinewelt_preload.js"></script>
171 172 173
173<script language="javascript" type="text/javascript" src="/apps/core/docroot/js/jquery.footable.js"></script>
173 174 175
175<script language="javascript" type="text/javascript" src="/apps/core/docroot/js/slick.js"></script>
175 176 177
177<script language="javascript" type="text/javascript" src="/apps/apps/stsg/clientlibs/stsgLibs/js/plyr.js"></script>
177 178 179
179<script language="javascript" type="text/javascript" src="/apps/apps/stsg/clientlibs/stsgLibs/js/shariff.min.js"></script>
179 180 181
181<script language="javascript" type="text/javascript" src="/apps/apps/stsg/clientlibs/stsgLibs/js/datatables.min.js"></script>
181 182 183
183<script language="javascript" type="text/javascript" src="/apps/apps/stsg/clientlibs/stsgLibs/js/jquery.dataTables.yadcf.js"></script>
183 184 185
185<script language="javascript" type="text/javascript" src="/apps/core/docroot/js/jquery.slimscroll.min.js"></script>
185 186 187
187<script language="javascript" type="text/javascript" src="/apps/core/docroot/js/modernizr-2.6.1.min.js"></script>
187 188 189
189<script language="javascript" type="text/javascript" src="/apps/core/docroot/js/sgsw_onlinewelt_bootstrap.js"></script>
189 190 191
191<script language="javascript" type="text/javascript" src="/apps/core/docroot/js/sgsw_onlinewelt_blog.js"></script>
191 192 193
193<script language="javascript" type="text/javascript" src="/apps/core/docroot/js/jquery.validate.js"></script>
193 194 195
195<script language="javascript" type="text/javascript" src="/apps/core/docroot/js/Chart.bundle.min.js"></script>
195 196 197
197<script language="javascript" type="text/javascript" src="/apps/core/docroot/js/chartjs-plugin-datalabels.min.js"></script>
197 198 199
199<script language="javascript" type="text/javascript" src="/apps/core/docroot/js/chartjs-plugin-deferred.min.js"></script>
199 200 201
201<script language="javascript" type="text/javascript" src="/apps/core/docroot/js/formConditionalVisibility.js"></script>
201 202 203
203<script language="javascript" type="text/javascript" src="/apps/core/docroot/js/sgsw_onlinewelt_postload.js"></script>
203 204 205 <!-- Javascripts welche nur fuer responsive design verwendet werden --> 206 207 208 209 210 <!--[if lt IE 9]>
210<script src="/apps/core/docroot/js/html5shiv.min.js"></script>
210<![endif]--> 211 212 <!--[if lt IE 9]>
212<script src="/apps/core/docroot/js/respond.min.js"></script>
212<![endif]--> 213 214 215 216 217 218 219 220 <!-- Google Tag Manager -->
221<script>
vendor: 331 bytes, lines 221-225
221(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 222new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 223j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 224'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 225})(window,document,'script','dataLayer','
225GTM-5RK8B4F
vendor: 3 bytes, line 225
225');
225</script>
225 226<!-- End Google Tag Manager --> 227 228<!-- Meta Pixel Code -->
229<script>
vendor: 408 bytes, lines 229-238
229 230!function(f,b,e,v,n,t,s) 231{if(f.fbq)return;n=f.fbq=function(){n.callMethod? 232n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 233if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 234n.queue=[];t=b.createElement(e);t.async=!0; 235t.src=v;s=b.getElementsByTagName(e)[0]; 236s.parentNode.insertBefore(t,s)}(window, document,'script', 237'https://connect.facebook.net/en_US/fbevents.js'); 238fbq('init', '
238640793797038171
vendor: 32 bytes, lines 238-239
238'); 239fbq('track', 'PageView');
240</script>
240 241<noscript> 242<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=640793797038171&ev=PageView&noscript=1"/> 243</noscript> 244<!-- End Meta Pixel Code --> 245 246</head> 247 248 249 250 251 252 253 254 255<body data-spy="scroll" data-target="#sgsw-sidebar-scrollspy" data-offset="0"> 256 257 <!-- Google Tag Manager -->
vendor: 71 bytes, lines 257-258
257 258 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
258GTM-5RK8B4F
vendor: 89 bytes, lines 258-260
258" 259 height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 260
260<!-- End Google Tag Manager --> 261 262 <div id="wrapper" class="sgsw home"> 263 <div id="site-canvas"> 264 <div id="site-menu" class="mobile-visible"> 265 266 267 268 269 270 271 272 273<nav class="navbar navbar-inverse main-nav-sub mobile-visible" data-spy="affix" data-offset-top="155"> 274 <div class="container"> 275 <ul class="nav navbar-nav hotlink-nav pull-right"> 276 277 <li class="mobile-visible pull-left scrollspy-content-toggler-outer"> 278 279 280 281 282 283 <a style="height: 44px;"></a> 284 285 286 </li> 287 </ul> 288 </div> 289</nav> 290<div class="mobile-nav" id="mobileNav" aria-hidden="true"> 291 <div class="mobile-nav__panel"> 292 <div class="mobile-nav__header"> 293 <button class="mobile-nav__back js-mobile-nav-back" type="button" aria-label="Zurück"><i class="fa fa-chevron-left"></i></button> 294 <div class="mobile-nav__brand js-mobile-nav-brand"><div class="logo"></div></div> 295 <div class="mobile-nav__title js-mobile-nav-title"></div> 296 <button class="mobile-nav__close js-mobile-menu-close" type="button" aria-label="Navigation schliessen"><i class="fa fa-times"></i></button> 297 <button class="mobile-nav__burger js-mobile-menu-close" type="button" aria-label="Navigation schliessen"><i class="fa fa-times"></i></button>
298 </div> 299 <!-- 1. Ebene --> 300 <div class="mobile-nav__screen mobile-nav__screen--level1 is-active" data-level="1"> 301 <div class="mobile-nav__content"> 302 <ul class="mobile-nav__main"> 303 304 305 <li 306 > 307 <button type="button" class="js-open-submenu" data-target="strom">Strom</button> 308 </li> 309 310 <li 311 > 312 <button type="button" class="js-open-submenu" data-target="wasser">Wasser</button> 313 </li> 314 315 <li 316 > 317 <button type="button" class="js-open-submenu" data-target="heizen">Heizen</button> 318 </li> 319 320 <li 321 > 322 <button type="button" class="js-open-submenu" data-target="glasfaser">Glasfaser</button> 323 </li> 324 325 <li 326 > 327 <button type="button" class="js-open-submenu" data-target="e-mobilitaet">E-Mobilität</button> 328 </li> 329 330 331 <li> 332 333 334 335 336 337 338
339<script type="text/javascript" src="/apps/core/docroot/js/swiftype/hogan-3.0.1.js"></script>
339 340<div class="search mobile minimized"> 341 <button type="button" class="search-toggler"><span>Suchen</span><i class="far fa-search"></i></button> 342 <div class="searchform-container-box not-shown"> 343 <form id="searchFormBox" name="searchFormBox" class="searchform" autocomplete="off"> 344 <label class="input-label search-label" for="searchfield"> 345 <span>Wonach suchen Sie?</span> 346 <input type="text" placeholder="Wonach suchen Sie?" class="searchfield" name="searchfield" id="searchfield" /> 347 </label> 348 <button type="submit" class="search-go"><i class="far fa-search"></i></button> 349 </form> 350 <ul id="st-results-container" class="linklist hidden"></ul> 351 <ul class="linklist initialSearchLink"> 352 <li><a href="/gn/suchen.html" title="Interner Link: Erweiterte Suche">Erweiterte Suche</a></li> 353 </ul> 354 </div> 355</div> 356
357<script type="text/javascript"> 358 let searchResultsMobile = []; 359 360 var searchConfigMobile = { 361 domain: "www.sgsw.ch", 362 facets: {}, 363 isSearch: false, 364 activeFilter: 'content', 365 searchType: 'searchbox', 366 num: 10 367 }; 368 369 /**** Custom Result Templates ****/ 370 371 var resultTemplateMobile = Hogan.compile([ 372 "<li>", 373 "<a href='{{url}}' title='{{title}}'>{{title}}</a>", 374 "</li>" 375 ].join('') ); 376 377 let debounceTimeoutMobile; 378 $(document).on('keyup', '.mobile-nav #searchfield', function (key) { 379 if (key.keyCode != 13 && key.keyCode != null) { 380 // Entfernt vorheriges Timeout, wenn eine neue Taste gedrueckt wird 381 clearTimeout(debounceTimeoutMobile); 382 383 debounceTimeoutMobile = setTimeout(function () { // Setzt neues Timeout 384 var searchTag = $('.mobile-nav .tile-filter li.searchtag').text(); 385 if(searchTag != ''){ 386 resetSearchMobile(false); 387 } 388 var searchValue = $(".mobile-nav #searchfield").val(); 389 if(searchValue == ''){ 390 $('.mobile-nav .initialSearchLink').removeClass("hidden"); 391 $('.mobile-nav #st-results-container').addClass("hidden"); 392 $('.mobile-nav #st-results-container').empty(); 393 getResultsMobile(); 394 } else if(searchValue.length > 4){ 395 searchValue = xssPreventionMobile(searchValue,true); 396 $('.mobile-nav .initialSearchLink').addClass("hidden"); 397 $('.mobile-nav #st-results-container').removeClass("hidden"); 398 window.searchConfigMobile.isSearch = true; 399 getResultsMobile(); 400 } 401 }, 500); // Debounce-Zeit in Millisekunden 402 } 403 }); 404 405 $(document).on('submit', '.mobile-nav #searchFormBox', function (e) { 406 e.preventDefault(); 407 var searchValue = $('.mobile-nav #searchfield').val(); 408 if(searchValue.length > 0){ 409 searchValue = xssPreventionMobile(searchValue,true); 410 var searchTag = "<li class='searchtag'><a href='#' onclick='javascript:resetSearchMobile(true)'>" + searchValue + "</a></li>"; 411 var $searchFacetContainer = $('.mobile-nav .tile-filter ul.inhaltstyp-items'); 412 $searchFacetContainer.prepend(searchTag); 413 $searchFacetContainer.removeClass("hidden"); 414 $('.mobile-nav #st-results-container').removeClass("hidden"); 415 $('.mobile-nav .initialSearchLink').addClass("hidden"); 416 $(".mobile-nav #searchfield").blur(); 417 window.searchConfigMobile.isSearch = true; 418 getResultsMobile(); 419 }else{ 420 resetSearchMobile(true); 421 } 422 }); 423 424 function getResultsMobile() { 425 var searchValue = encodeURI($(".mobile-nav #searchfield").val()); 426 var domain = window.searchConfigMobile.domain; 427 var activeFilter = window.searchConfigMobile.activeFilter; 428 var searchType = window.searchConfigMobile.searchType; 429 var num = window.searchConfigMobile.num; 430 $.ajax({
431 type: "GET", 432 url: "/content/sgsw_onlinewelt/home.searchresults.html?search=true", 433 contentType: 'application/x-www-form-urlencoded; charset=UTF-8', 434 //dataType: "json", 435 data: { 436 searchValue: searchValue, 437 isSearchPage: false, 438 domain: domain, 439 activeFilter: activeFilter, 440 searchType: searchType, 441 num: num 442 }, 443 encode: true, 444 success: function(data) { 445 var dataString = data; 446 var index = data.indexOf('<!--cq'); 447 if(index >= 0){ 448 dataString = data.substring(0, index); 449 } 450 const jsonObj = JSON.parse(dataString); 451 searchResultsMobile = jsonObj.organic; 452 displayResultsMobile(searchResultsMobile); 453 } 454 }); 455 } 456 457 function displayResultsMobile(results) { 458 const resultContainer = $('.mobile-nav #st-results-container'); 459 resultContainer.empty(); 460 461 const totalResultCount = results.length 462 var count = 0; 463 464 Array.from(results).forEach((result) => { 465 // cleanup title 466 var resultTitle = result.title; 467 resultTitle = resultTitle.replaceAll(" - stadt.sg.ch - Kanton St. Gallen", "") 468 .replaceAll(" | stadt.sg.ch - Kanton St. Gallen", "") 469 .replaceAll(" - stadt.sg.ch - Kanton St.Gallen", "") 470 .replaceAll(" | stadt.sg.ch - Kanton St.Gallen", "") 471 .replaceAll(" - stadt.sg.ch", "") 472 .replaceAll(" | stadt.sg.ch", "") 473 .replaceAll(" - Kanton St. Gallen", "") 474 .replaceAll(" | Kanton St. Gallen", "") 475 .replaceAll(" - Kanton St.Gallen", "") 476 .replaceAll(" | Kanton St.Gallen", "") 477 .replaceAll(" - St.Galler Stadtwerke", "") 478 .replaceAll(" | St.Galler Stadtwerke", ""); 479 480 var data = { 481 url: result.link, 482 title: resultTitle 483 }; 484 485 if (result.link.indexOf(".ocFile") >= 0 || result.link.indexOf("/content/dam/") >= 0 || result.link.indexOf("/news/stsg_") >= 0 || result.link.indexOf("/news/sgsw_") >= 0 || result.link.indexOf("/home/news") >= 0) { 486 return; 487 } 488 489 count++; 490 if (count <= 10) { 491 const item = resultTemplateMobile.render(data); 492 resultContainer.append(item); 493 } 494 }); 495 496 var currentSearchValue = $(".mobile-nav #searchfield").val(); 497 currentSearchValue = xssPreventionMobile(currentSearchValue,false); 498 499 if (totalResultCount === 0) { 500 resultContainer.html("<li><a style='color: #e00025' href='/gn/suchen.html#stq=" + currentSearchValue + "'>Suche erweitern</a></li>"); 501 } else { 502 var nofSearchTiles = 10; 503 if (totalResultCount === 10) { 504 resultContainer.append("<li><a style='color: #e00025' href='/gn/suchen.html#stq=" + currentSearchValue + "'>Weitere Ergebnisse</a></li>"); 505 } else{ 506 resultContainer.append("<li><a style='color: #e00025' href='/gn/suchen.html#stq=" + currentSearchValue + "'>Suche erweitern</a></li>"); 507 } 508 } 509 } 510 511 function resetSearchMobile(clearSearchField){ 512 window.searchConfigMobile.isSearch = false; 513 $('.mobile-nav .tile-filter').addClass("hidden"); 514 $('.mobile-nav .tile-filter ul.inhaltstyp-items').empty(); 515 if(clearSearchField){ 516 $(".mobile-nav #searchfield").val(''); 517 $(".mobile-nav #searchfield").focus(); 518 $('.mobile-nav #st-results-container').addClass("hidden"); 519 $('.mobile-nav .initialSearchLink').removeClass("hidden"); 520 } 521 window.location.hash = ''; 522 getResultsMobile(); 523 } 524 525 function xssPreventionMobile(value,output){ 526 var lt = /</g, 527 gt = />/g, 528 ap = /'/g, 529 ic = /"/g; 530 if(output){ 531 value = value.toString().replace(lt, "").replace(gt, ""); 532 }else{ 533 value = value.toString().replace(lt, "").replace(gt, "").replace(ap, "'").replace(ic, """); 534 } 535 return value; 536 } 537</script>
537 538 </li> 539 540 </ul> 541 <div class="mobile-nav__meta"> 542 543 <a href="/home/energieportal.html" title="Interner Link: Meine sgsw">Meine sgsw<i class="fa fa-user"></i></a> 544 545 546 <a href="/home/news.html" title="Interner Link: News">News</a> 547 548 <a href="/home/ueber-uns.html" title="Interner Link: Ãber uns">Ãber uns</a> 549 550 <a href="/home/jobs.html" title="Interner Link: Jobs">Jobs</a> 551 552 <a href="/home/ueber-uns/kontakt.html" title="Interner Link: Kontakt">Kontakt</a> 553 554 555 556 <a href="/home/downloads.html" title="Interner Link: Downloads">Downloads<i class="fas fa-download"></i></a> 557 558 </div> 559 560 <div class="mobile-nav__service"> 561 <a href="/home/ueber-uns/kontakt.html" title="Interner Link: Kontakt"><i class="fa fa-phone-alt"></i>Kontakt</a> 562 </div> 563 564 </div> 565 </div> 566 <!-- 2. Ebenen --> 567 568 <div class="mobile-nav__screen mobile-nav__screen--level2" data-menu="strom"> 569 <div class="mobile-nav__content"> 570 571 <div class="mobile-nav__cards"> 572 573 <a href="/home/strom/tarife.html#Par_sgsw_electricity_cal" title="Interner Link: Tarife#Par_sgsw_electricity_cal" class="mobile-nav__card"> 574 <span class="icon"><img src="/content/dam/bilder_library/sgsw-onlinewelt/icons/positiv/sgsw_icon_rgb_berechnung.svg" alt="" class="svg-icon"></span> 575 <span class="content"> 576 <span class="title">
576Strompreis-Rechner</span> 577 <span class="desc">Tarife, Zusammensetzung</span> 578 </span> 579 </a> 580 581 <a href="/home/strom/energiegemeinschaften/leg.html" title="Interner Link: LEG" class="mobile-nav__card"> 582 <span class="icon"><img src="/content/dam/bilder_library/sgsw-onlinewelt/icons/positiv/sgsw_icon_rgb_zusammenschluss-zum-eigenverbrauch.svg" alt="" class="svg-icon"></span> 583 <span class="content"> 584 <span class="title">LEG</span> 585 <span class="desc">Lokale Elektrizitätsgemeinschaft</span> 586 </span> 587 </a> 588 589 <a href="/home/strom/smart-meter.html" title="Interner Link: Smart Meter" class="mobile-nav__card"> 590 <span class="icon"><img src="/content/dam/bilder_library/sgsw-onlinewelt/icons/positiv/sgsw_icon_rgb_inelligentes-last-management.svg" alt="" class="svg-icon"></span> 591 <span class="content"> 592 <span class="title">Smart Meter</span> 593 <span class="desc">Intelligente Zähler</span> 594 </span> 595 </a> 596 597 </div> 598 599 <div class="mobile-nav__section"> 600 601 602 <a href="/home/strom.html" title="Interner Link: Ãbersicht Strom" class="mobile-nav__link ">Ãbersicht Strom</a> 603 </div> 604 605 606 607 608 <div class="mobile-nav__section"> 609 610 611 <a href="/home/strom/tarife.html" title="Interner Link: Tarife" class="mobile-nav__link ">Tarife</a> 612 </div> 613 614 615 616 617 618 <div class="mobile-nav__section has-accordion"> 619 <div class="mobile-nav__accordion-head"> 620 <a href="/home/strom/solarstrom.html" title="Interner Link: Solarstrom" class="mobile-nav__link">Solarstrom</a> 621 <button type="button" class="js-accordion-toggle" aria-expanded="false" aria-label="Solarstrom öffnen"></button> 622 </div> 623 <div class="mobile-nav__accordion-body"> 624 625 626 627 <a href="/home/strom/solarstrom/solar-community.html" title="Interner Link: Solar Community">Solar Community</a> 628 629 </div> 630 </div> 631 632 633 634 635 636 637 <div class="mobile-nav__section has-accordion"> 638 <div class="mobile-nav__accordion-head"> 639 <a href="/home/strom/energiegemeinschaften.html" title="Interner Link: Energiegemeinschaften" class="mobile-nav__link">Energiegemeinschaften</a> 640 <button type="button" class="js-accordion-toggle" aria-expanded="false" aria-label="Energiegemeinschaften öffnen"></button> 641 </div> 642 <div class="mobile-nav__accordion-body"> 643 644 645 646 <a href="/home/strom/energiegemeinschaften/eigenverbrauch.html" title="Interner Link: Eigenverbrauch ZEV/EVG">Eigenverbrauch ZEV/EVG</a> 647 648 649 650 <a href="/home/strom/energiegemeinschaften/leg.html" title="Interner Link: LEG">LEG</a> 651 652 </div> 653 </div> 654 655 656 657 658 659 660 661 <div class="mobile-nav__section"> 662 663 664 <a href="/home/strom/smart-meter.html" title="Interner Link: Smart Meter" class="mobile-nav__link ">Smart Meter</a> 665 </div> 666 667 668 669 670 671 <div class="mobile-nav__section has-accordion"> 672 <div class="mobile-nav__accordion-head"> 673 <a href="/home/strom/stromservices.html" title="Interner Link: Services" class="mobile-nav__link">Services</a> 674 <button type="button" class="js-accordion-toggle" aria-expanded="false" aria-label="Services öffnen"></button> 675 </div> 676 <div class="mobile-nav__accordion-body"> 677 678 679 680 <a href="/home/strom/stromservices.html#Par_sgsw_contactbusiness" title="Interner Link: Strom für Veranstaltungen">Strom für Veranstaltungen</a> 681 682 </div> 683 </div> 684 685 686 687 688 689 690 <div class="mobile-nav__section has-accordion"> 691 <div class="mobile-nav__accordion-head"> 692 <a href="/home/strom/gebaeude.html" title="Interner Link: Gebäude " class="mobile-nav__link">Gebäude </a> 693 <button type="button" class="js-accordion-toggle" aria-expanded="false" aria-label="Gebäude öffnen"></button> 694 </div> 695 <div class="mobile-nav__accordion-body"> 696 697 698 699 <a href="/home/strom/gebaeude.html#Par_sgsw_imagetext" title="Interner Link: Energiedienstleistung PV">Energiedienstleistung PV</a> 700 701 702 703 <a href="/home/strom/gebaeude.html#Par_sgsw_imagetext_5_cop" title="Interner Link: Hausinstallationskontrolle">Hausinstallationskontrolle</a> 704 705 706 707 <a href="/home/strom/gebaeude.html#Par_sgsw_imagetext_7_cop" title="Interner Link: Installationsbewilligung">Installationsbewilligung</a> 708 709 </div> 710 </div> 711 712 713 714 715 716 717 718 <div class="mobile-nav__section"> 719 720 721 <a href="/home/strom/geschaeftskunden.html" title="Interner Link: Geschäftskunden" class="mobile-nav__link ">Geschäftskunden</a> 722 </div> 723 724 725 726 </div> 727 </div> 728 729 <div class="mobile-nav__screen mobile-nav__screen--level2" data-menu="wasser"> 730 <div class="mobile-nav__content"> 731 732 <div class="mobile-nav__cards"> 733 734 <a href="/home/555-jahre-wasserversorgung-st-gallen.html" title="Interner Link: 555 Jahre Wasserversorgung St.Gallen" class="mobile-nav__card"> 735 <span class="icon"><img src="/content/dam/bilder_library/sgsw-onlinewelt/icons/positiv/sgsw_icon_rgb_feiern_1.svg" alt="" class="svg-icon"></span> 736 <span class="content"> 737 <span class="title">555 Jahre Wasser</span> 738 <span class="desc">Feiern Sie mit!</span> 739 </span> 740 </a> 741 742 <a href="/home/wasser/formular.html" title="Interner Link: Bestellung «Wasser-Rappen»" class="mobile-nav__card"> 743 <span class="icon"><img src="/content/dam/bilder_library/sgsw-onlinewelt/icons/positiv/sgsw_icon_rgb_recht-sauberes-wasser.svg" alt="" class="svg-icon"></span> 744 <span class="content"> 745 <span class="title">Wasser-Rappen</span> 746 <span class="desc">Spendenformular ausfüllen</span> 747 </span> 748 </a> 749 750 <a href="/news/sgsw_news/2026/07/die--st-galler-brunnen-challenge--startet-mit-zwei-neuen-routen.html" title="Interner Link: Die «St.Galler Brunnen-Challenge» startet mit zwei neuen Routen" class="mobile-nav__card"> 751 <span class="icon"><img src="/content/dam/bilder_library/sgsw-onlinewelt/icons/positiv/sgsw_icon_rgb_quiz_1.svg" alt="" class="svg-icon"></span> 752 <span class="content"> 753 <span class="title">Brunnen-Challenge</span> 754 <span class="desc">Zwei neue Routen zum Jubiläum</span> 755 </span> 756 </a> 757 758 </div> 759 760 <div class="mobile-nav__section"> 761 762 763 <a href="/home/wasser.html" title="Interner Link: Ãbersicht Wasser" class="mobile-nav__link ">
763Ãbersicht Wasser</a> 764 </div> 765 766 767 768 769 <div class="mobile-nav__section"> 770 771 772 <a href="/home/wasser/services.html" title="Interner Link: Services" class="mobile-nav__link ">Services</a> 773 </div> 774 775 776 777 778 779 <div class="mobile-nav__section has-accordion"> 780 <div class="mobile-nav__accordion-head"> 781 <a href="/home/wasser/gebaeude.html" title="Interner Link: Gebäude" class="mobile-nav__link">Gebäude</a> 782 <button type="button" class="js-accordion-toggle" aria-expanded="false" aria-label="Gebäude öffnen"></button> 783 </div> 784 <div class="mobile-nav__accordion-body"> 785 786 787 788 <a href="/home/wasser/gebaeude.html#_Par_sgsw_downloadlist_1_" title="Interner Link: Hausinstallationskontrolle">Hausinstallationskontrolle</a> 789 790 </div> 791 </div> 792 793 794 795 796 </div> 797 </div> 798 799 <div class="mobile-nav__screen mobile-nav__screen--level2" data-menu="heizen"> 800 <div class="mobile-nav__content"> 801 802 <div class="mobile-nav__cards"> 803 804 <a href="/home/heizen.html#Par_sgsw_product_advisor" title="Interner Link: St.Galler Wärme#Par_sgsw_product_advisor" class="mobile-nav__card"> 805 <span class="icon"><img src="/content/dam/bilder_library/sgsw-onlinewelt/icons/positiv/sgsw_icon_rgb_heizung.svg" alt="" class="svg-icon"></span> 806 <span class="content"> 807 <span class="title">Wärmelösung finden</span> 808 <span class="desc">Jetzt Adresse eingeben</span> 809 </span> 810 </a> 811 812 </div> 813 814 <div class="mobile-nav__section"> 815 816 817 <a href="/home/heizen.html" title="Interner Link: Ãbersicht Heizen" class="mobile-nav__link ">Ãbersicht Heizen</a> 818 </div> 819 820 821 822 <div class="mobile-nav__section has-accordion"> 823 <div class="mobile-nav__accordion-head"> 824 <a href="/home/heizen/fernwaerme.html" title="Interner Link: Fernwärme" class="mobile-nav__link">Fernwärme</a> 825 <button type="button" class="js-accordion-toggle" aria-expanded="false" aria-label="Fernwärme öffnen"></button> 826 </div> 827 <div class="mobile-nav__accordion-body"> 828 829 830 831 <a href="/home/heizen/fernwaerme.html#Par_sgsw_product_electri" title="Interner Link: Produkte">Produkte</a> 832 833 834 835 <a href="/home/heizen/fernwaerme.html#Par_sgsw_pricelist" title="Interner Link: Preise">Preise</a> 836 837 </div> 838 </div> 839 840 841 842 843 844 845 <div class="mobile-nav__section has-accordion"> 846 <div class="mobile-nav__accordion-head"> 847 <a href="/home/heizen/gas.html" title="Interner Link: Gas" class="mobile-nav__link">Gas</a> 848 <button type="button" class="js-accordion-toggle" aria-expanded="false" aria-label="Gas öffnen"></button> 849 </div> 850 <div class="mobile-nav__accordion-body"> 851 852 853 854 <a href="/home/heizen/gas.htm.html#Par_sgsw_product_electri" title="Interner Link: Produkte">Produkte</a> 855 856 857 858 <a href="/home/heizen/gas.html#Par_sgsw_pricelist_copy" title="Interner Link: Preise">Preise</a> 859 860 861 862 <a href="/home/heizen/gas.html#Par_sgsw_imagetext_copy_" title="Interner Link: Wartungs-Abo">Wartungs-Abo</a> 863 864 </div> 865 </div> 866 867 868 869 870 871 872 873 <div class="mobile-nav__section"> 874 875 876 <a href="/home/heizen/waermepumpe.html" title="Interner Link: Wärmepumpe" class="mobile-nav__link ">Wärmepumpe</a> 877 </div> 878 879 880 881 882 883 884 <div class="mobile-nav__section"> 885 886 887 <a href="/home/heizen/blockheizkraftwerk.html" title="Interner Link: Blockheizkraftwerk" class="mobile-nav__link ">Blockheizkraftwerk</a> 888 </div> 889 890 891 892 893 894 895 <div class="mobile-nav__section"> 896 897 898 <a href="/home/heizen/geschaeftskunden.html" title="Interner Link: Geschäftskunden" class="mobile-nav__link ">Geschäftskunden</a> 899 </div> 900 901 902 903 </div> 904 </div> 905 906 <div class="mobile-nav__screen mobile-nav__screen--level2" data-menu="glasfaser"> 907 <div class="mobile-nav__content"> 908 909 <div class="mobile-nav__cards"> 910 911 <a href="/home/glasfaser.html#Par_sgsw_productinfo_lis" title="Interner Link: St.Galler Glasfaser#Par_sgsw_productinfo_lis" class="mobile-nav__card"> 912 <span class="icon"><img src="/content/dam/bilder_library/sgsw-onlinewelt/icons/positiv/sgsw_icon_rgb_stecker.svg" alt="" class="svg-icon"></span> 913 <span class="content"> 914 <span class="title">Jetzt Angebot bestellen</span> 915 <span class="desc">Steigen Sie auf Glasfaser um.</span> 916 </span> 917 </a> 918 919 <a href="/home/glasfaser.html#Par_sgsw_contactbusiness_1720540927" title="Interner Link: St.Galler Glasfaser#Par_sgsw_contactbusiness_1720540927" class="mobile-nav__card"> 920 <span class="icon"><img src="/content/dam/bilder_library/sgsw-onlinewelt/icons/positiv/sgsw_icon_rgb_kein-planungs-betriebsaufwand.svg" alt="" class="svg-icon"></span> 921 <span class="content"> 922 <span class="title">Technischer Support</span> 923 <span class="desc">Probleme mit Glasfaseranschluss?</span> 924 </span> 925 </a> 926 927 </div> 928 929 <div class="mobile-nav__section"> 930 931 932 <a href="/home/glasfaser.html" title="Interner Link: Ãbersicht Glasfaser" class="mobile-nav__link ">
932Ãbersicht Glasfaser</a> 933 </div> 934 935 936 937 938 <div class="mobile-nav__section"> 939 940 941 <a href="/home/glasfaser/gebaeude.html" title="Interner Link: Gebäude" class="mobile-nav__link ">Gebäude</a> 942 </div> 943 944 945 946 </div> 947 </div> 948 949 <div class="mobile-nav__screen mobile-nav__screen--level2" data-menu="e-mobilitaet"> 950 <div class="mobile-nav__content"> 951 952 <div class="mobile-nav__section"> 953 954 955 <a href="/home/e-mobilitaet.html" title="Interner Link: Ãbersicht E-Mobilität" class="mobile-nav__link ">Ãbersicht E-Mobilität</a> 956 </div> 957 958 959 960 <div class="mobile-nav__section has-accordion"> 961 <div class="mobile-nav__accordion-head"> 962 <a href="/home/e-mobilitaet/zuhause.html" title="Interner Link: Zuhause" class="mobile-nav__link">Zuhause</a> 963 <button type="button" class="js-accordion-toggle" aria-expanded="false" aria-label="Zuhause öffnen"></button> 964 </div> 965 <div class="mobile-nav__accordion-body"> 966 967 968 969 <a href="/home/e-mobilitaet/zuhause.html#Par_sgsw_facts_tiles" title="Interner Link: Fördergelder">Fördergelder</a> 970 971 </div> 972 </div> 973 974 975 976 977 978 979 980 <div class="mobile-nav__section"> 981 982 983 <a href="/home/e-mobilitaet/arbeitsplatz.html" title="Interner Link: Arbeitsplatz" class="mobile-nav__link ">Arbeitsplatz</a> 984 </div> 985 986 987 988 989 990 991 <div class="mobile-nav__section"> 992 993 994 <a href="/home/e-mobilitaet/quartier.html" title="Interner Link: Quartier" class="mobile-nav__link ">Quartier</a> 995 </div> 996 997 998 999 1000 1001 1002 <div class="mobile-nav__section"> 1003 1004 1005 <a href="/home/e-mobilitaet/unterwegs.html" title="Interner Link: Unterwegs" class="mobile-nav__link ">Unterwegs</a> 1006 </div> 1007 1008 1009 1010 </div> 1011 </div> 1012 1013 </div> 1014</div>
1015<script> 1016document.addEventListener('DOMContentLoaded', function () { 1017 const mobileNav = document.getElementById('mobileNav'); 1018 const openButton = document.querySelector('.js-mobile-menu-open'); 1019 const closeButtons = document.querySelectorAll('.js-mobile-menu-close'); 1020 const backButton = document.querySelector('.js-mobile-nav-back'); 1021 const titleEl = document.querySelector('.js-mobile-nav-title'); 1022 const brandEl = document.querySelector('.js-mobile-nav-brand'); 1023 1024 const level1 = mobileNav.querySelector('[data-level="1"]'); 1025 const submenus = mobileNav.querySelectorAll('[data-menu]'); 1026 const submenuTriggers = document.querySelectorAll('.js-open-submenu'); 1027 const accordionToggles = mobileNav.querySelectorAll('.js-accordion-toggle'); 1028 1029 function openMobileNav() { 1030 mobileNav.classList.add('is-open'); 1031 mobileNav.setAttribute('aria-hidden', 'false'); 1032 document.body.classList.add('mobile-nav-open'); 1033 //showLevel1(); 1034 showActiveLevel(); 1035 } 1036 1037 function closeMobileNavOld() { 1038 mobileNav.classList.remove('is-open', 'is-submenu'); 1039 mobileNav.setAttribute('aria-hidden', 'true'); 1040 document.body.classList.remove('mobile-nav-open'); 1041 1042 level1.classList.add('is-active'); 1043 submenus.forEach(function (menu) { 1044 menu.classList.remove('is-active'); 1045 }); 1046 1047 titleEl.textContent = ''; 1048 titleEl.hidden = true; 1049 brandEl.hidden = false; 1050 } 1051 1052 function closeMobileNav() { 1053 mobileNav.classList.remove('is-open'); 1054 mobileNav.setAttribute('aria-hidden', 'true'); 1055 document.body.classList.remove('mobile-nav-open'); 1056 titleEl.hidden = true; 1057 brandEl.hidden = false; 1058 } 1059 1060 function showLevel1() { 1061 mobileNav.classList.remove('is-submenu'); 1062 1063 level1.classList.add('is-active'); 1064 submenus.forEach(function (menu) { 1065 menu.classList.remove('is-active'); 1066 }); 1067 1068 titleEl.textContent = ''; 1069 titleEl.hidden = true; 1070 brandEl.hidden = false; 1071 } 1072 1073 function showActiveLevel() { 1074 const targetMenu = mobileNav.querySelector('.mobile-nav__screen.mobile-nav__screen--level2.is-active'); 1075 if (targetMenu) { 1076 titleEl.hidden = false; 1077 brandEl.hidden = true; 1078 } 1079 } 1080 1081 function openSubmenu(menuName, menuTitle) { 1082 level1.classList.remove('is-active'); 1083 submenus.forEach(function (menu) { 1084 menu.classList.remove('is-active'); 1085 }); 1086 1087 const targetMenu = mobileNav.querySelector('[data-menu="' + menuName + '"]'); 1088 if (targetMenu) { 1089 targetMenu.classList.add('is-active'); 1090 mobileNav.classList.add('is-submenu'); 1091 titleEl.textContent = menuTitle; 1092 titleEl.hidden = false; 1093 brandEl.hidden = true; 1094 } 1095 } 1096 1097 if (openButton) { 1098 openButton.addEventListener('click', openMobileNav); 1099 } 1100 1101 closeButtons.forEach(function (button) { 1102 button.addEventListener('click', closeMobileNav); 1103 }); 1104 1105 if (backButton) { 1106 backButton.addEventListener('click', showLevel1); 1107 } 1108 1109 submenuTriggers.forEach(function (trigger) { 1110 trigger.addEventListener('click', function () { 1111 const menuName = this.dataset.target; 1112 const menuTitle = this.textContent.trim(); 1113 openSubmenu(menuName, menuTitle); 1114 }); 1115 }); 1116 1117 accordionToggles.forEach(function (toggle) { 1118 toggle.addEventListener('click', function () { 1119 const section = this.closest('.has-accordion'); 1120 const isOpen = section.classList.contains('is-open'); 1121 1122 section.classList.toggle('is-open'); 1123 this.setAttribute('aria-expanded', String(!isOpen)); 1124 }); 1125 }); 1126 1127 document.addEventListener('keydown', function (e) { 1128 if (e.key === 'Escape' && mobileNav.classList.contains('is-open')) { 1129 if (mobileNav.classList.contains('is-submenu')) { 1130 showLevel1(); 1131 } else { 1132 closeMobileNav(); 1133 } 1134 } 1135 });
1136}); 1137</script>
1137 1138 </div> 1139 1140 1141 1142 1143 1144 1145<div id="accesskeys"> 1146 <h2>Accesskeys</h2> 1147 <ul> 1148 <li> 1149 <a href="/home.html" title="Interner Link: [Alt+0] Direkt zur Startseite" accesskey="0" tabindex="0">Direkt zur Startseite</a> 1150 </li> 1151 <li> 1152 <a href="#navigation" title="[Alt+1] Direkt zur Navigation" accesskey="1" tabindex="1">Direkt zur Navigation</a> 1153 </li> 1154 <li> 1155 <a href="#inhalt" title="[Alt+2] Direkt zum Inhalt" accesskey="2" tabindex="2">Direkt zum Inhalt</a> 1156 </li> 1157 1158 1159 <li> 1160 <a href="#searchfield" title="[Alt+5] Direkt zur Suche" accesskey="5" tabindex="5">Direkt zur Suche</a> 1161 </li> 1162 1163 </ul> 1164</div> 1165 1166 <div id="main"> 1167 <div id="headerprint"><img src="/apps/core/docroot/images/design/sgsw-onlinewelt/bg-head-sgsw-print-img.gif" alt=""/></div> 1168 <header> 1169 1170 <div class="navigations"> 1171 1172 1173<nav class="navbar top-nav"> 1174 <div class="container"> 1175 1176 <ul class="nav navbar-nav navbar-right my-section desktop-visible"> 1177 1178 <li class="my-sgsw-account"> 1179 <a href="/home/energieportal.html" title="Interner Link: Meine sgsw"><i class="fa fa-user"></i><span class="mysgsw-description">Meine sgsw</span></a> 1180 </li> 1181 1182 1183 </ul> 1184 <ul class="nav navbar-nav generic-section desktop-visible"> 1185 1186 <li><a href="/home/news.html" title="Interner Link: News">News</a></li> 1187 1188 <li><a href="/home/ueber-uns.html" title="Interner Link: Ãber uns">Ãber uns</a></li> 1189 1190 <li><a href="/home/jobs.html" title="Interner Link: Jobs">Jobs</a></li> 1191 1192 <li><a href="/home/ueber-uns/kontakt.html" title="Interner Link: Kontakt">Kontakt</a></li> 1193 1194 1195 1196 1197 <li><a href="/home/downloads.html" title="Interner Link: Downloads"><i class="fas fa-download"></i>Downloads</a></li> 1198 1199 </ul> 1200 </div> 1201</nav> 1202 1203 1204<nav class="navbar main-nav-first" data-spy="affix" data-offset-top="100"> 1205 <div class="container-fluid"> 1206 <div class="navbar-header wide-screen"> 1207 <a href="https://www.sgsw.ch" title="St.Galler Stadtwerke" class="navbar-brand"><div class="logo"></div></a> 1208 </div> 1209 <div class="container main-nav-container"> 1210 <div class="navbar-header mid-screen desktop-visible"> 1211 <a href="https://www.sgsw.ch" title="St.Galler Stadtwerke" class="navbar-brand"><div class="logo"></div></a> 1212 </div> 1213 <ul class="nav navbar-nav desktop-visible" id="navigation"> 1214 1215 1216 <li> 1217 <a class="js-mega-trigger" data-menu="strom" title="Strom" href="#">Strom</a> 1218 </li> 1219 1220 <li> 1221 <a class="js-mega-trigger" data-menu="wasser" title="Wasser" href="#">Wasser</a> 1222 </li> 1223 1224 <li> 1225 <a class="js-mega-trigger" data-menu="heizen" title="Heizen" href="#">Heizen</a> 1226 </li> 1227 1228 <li> 1229 <a class="js-mega-trigger" data-menu="glasfaser" title="Glasfaser" href="#">Glasfaser</a> 1230 </li> 1231 1232 <li> 1233 <a class="js-mega-trigger" data-menu="e-mobilitaet" title="E-Mobilität" href="#">E-Mobilität</a> 1234 </li> 1235 1236 </ul> 1237 1238 1239 1240 1241 1242 1243<nav class="navbar main-nav-megamenu"> 1244 <div class="container mega-menu-content"> 1245 1246 <div class="mega-menu-panel" data-menu-panel="strom"> 1247 <button class="mega-close js-mega-close" type="button">Schliessen<i class="fal fa-times"></i></button> 1248 <div class="mega-menu-inner has-teaser"> 1249 1250 <div class="mega-col mega-teaser"> 1251 1252 <a href="/home/strom/tarife.html#Par_sgsw_electricity_cal" title="Interner Link: Tarife#Par_sgsw_electricity_cal" class="mega-box"> 1253 <span class="icon"><img src="/content/dam/bilder_library/sgsw-onlinewelt/icons/positiv/sgsw_icon_rgb_berechnung.svg" alt="" class="svg-icon"></span> 1254 <span class="content"> 1255 <span class="title">
1255Strompreis-Rechner</span> 1256 <span class="desc">Tarife, Zusammensetzung</span> 1257 </span> 1258 </a> 1259 1260 <a href="/home/strom/energiegemeinschaften/leg.html" title="Interner Link: LEG" class="mega-box"> 1261 <span class="icon"><img src="/content/dam/bilder_library/sgsw-onlinewelt/icons/positiv/sgsw_icon_rgb_zusammenschluss-zum-eigenverbrauch.svg" alt="" class="svg-icon"></span> 1262 <span class="content"> 1263 <span class="title">LEG</span> 1264 <span class="desc">Lokale Elektrizitätsgemeinschaft</span> 1265 </span> 1266 </a> 1267 1268 <a href="/home/strom/smart-meter.html" title="Interner Link: Smart Meter" class="mega-box"> 1269 <span class="icon"><img src="/content/dam/bilder_library/sgsw-onlinewelt/icons/positiv/sgsw_icon_rgb_inelligentes-last-management.svg" alt="" class="svg-icon"></span> 1270 <span class="content"> 1271 <span class="title">Smart Meter</span> 1272 <span class="desc">Intelligente Zähler</span> 1273 </span> 1274 </a> 1275 1276 </div> 1277 1278 <div class="mega-col mega-nav"> 1279 <ul> 1280 <li class="parent-nav"> 1281 <a href="/home/strom.html" title="Interner Link: Ãbersicht Strom">Ãbersicht Strom</a> 1282 </li> 1283 1284 <li class="parent-nav"> 1285 <a href="/home/strom/tarife.html" title="Interner Link: Tarife">Tarife</a> 1286 1287 </li> 1288 1289 <li class="parent-nav"> 1290 <a href="/home/strom/solarstrom.html" title="Interner Link: Solarstrom">Solarstrom</a> 1291 1292 <ul> 1293 1294 <li><a href="/home/strom/solarstrom/solar-community.html" title="Interner Link: Solar Community">Solar Community</a></li> 1295 1296 </ul> 1297 1298 </li> 1299 1300 <li class="parent-nav"> 1301 <a href="/home/strom/energiegemeinschaften.html" title="Interner Link: Energiegemeinschaften">Energiegemeinschaften</a> 1302 1303 <ul> 1304 1305 <li><a href="/home/strom/energiegemeinschaften/eigenverbrauch.html" title="Interner Link: Eigenverbrauch ZEV/EVG">Eigenverbrauch ZEV/EVG</a></li> 1306 1307 <li><a href="/home/strom/energiegemeinschaften/leg.html" title="Interner Link: LEG">LEG</a></li> 1308 1309 </ul> 1310 1311 </li> 1312 1313 <li class="parent-nav"> 1314 <a href="/home/strom/smart-meter.html" title="Interner Link: Smart Meter">Smart Meter</a> 1315 1316 </li> 1317 1318 <li class="parent-nav"> 1319 <a href="/home/strom/stromservices.html" title="Interner Link: Services">Services</a> 1320 1321 <ul> 1322 1323 <li><a href="/home/strom/stromservices.html#Par_sgsw_contactbusiness" title="Interner Link: Strom für Veranstaltungen">Strom für Veranstaltungen</a></li> 1324 1325 </ul> 1326 1327 </li> 1328 1329 <li class="parent-nav"> 1330 <a href="/home/strom/gebaeude.html" title="Interner Link: Gebäude ">Gebäude </a> 1331 1332 <ul> 1333 1334 <li><a href="/home/strom/gebaeude.html#Par_sgsw_imagetext" title="Interner Link: Energiedienstleistung PV">Energiedienstleistung PV</a></li> 1335 1336 <li><a href="/home/strom/gebaeude.html#Par_sgsw_imagetext_5_cop" title="Interner Link: Hausinstallationskontrolle">Hausinstallationskontrolle</a></li> 1337 1338 <li><a href="/home/strom/gebaeude.html#Par_sgsw_imagetext_7_cop" title="Interner Link: Installationsbewilligung">Installationsbewilligung</a></li> 1339 1340 </ul> 1341 1342 </li> 1343 1344 <li class="parent-nav"> 1345 <a href="/home/strom/geschaeftskunden.html" title="Interner Link: Geschäftskunden">Geschäftskunden</a> 1346 1347 </li> 1348 1349 </ul> 1350 </div> 1351 </div> 1352 </div> 1353 1354 <div class="mega-menu-panel" data-menu-panel="wasser"> 1355 <button class="mega-close js-mega-close" type="button">Schliessen<i class="fal fa-times"></i></button> 1356 <div class="mega-menu-inner has-teaser"> 1357 1358 <div class="mega-col mega-teaser"> 1359 1360 <a href="/home/555-jahre-wasserversorgung-st-gallen.html" title="Interner Link: 555 Jahre Wasserversorgung St.Gallen" class="mega-box"> 1361 <span class="icon"><img src="/content/dam/bilder_library/sgsw-onlinewelt/icons/positiv/sgsw_icon_rgb_feiern_1.svg" alt="" class="svg-icon"></span> 1362 <span class="content"> 1363 <span class="title">555 Jahre Wasser</span> 1364 <span class="desc">Feiern Sie mit!</span> 1365 </span> 1366 </a> 1367 1368 <a href="/home/wasser/formular.html" title="Interner Link: Bestellung «Wasser-Rappen»" class="mega-box"> 1369 <span class="icon"><img src="/content/dam/bilder_library/sgsw-onlinewelt/icons/positiv/sgsw_icon_rgb_recht-sauberes-wasser.svg" alt="" class="svg-icon"></span> 1370 <span class="content"> 1371 <span class="title">Wasser-Rappen</span> 1372 <span class="desc">Spendenformular ausfüllen</span> 1373 </span> 1374 </a> 1375 1376 <a href="/news/sgsw_news/2026/07/die--st-galler-brunnen-challenge--startet-mit-zwei-neuen-routen.html" title="Interner Link: Die «St.Galler Brunnen-Challenge» startet mit zwei neuen Routen" class="mega-box"> 1377 <span class="icon"><img src="/content/dam/bilder_library/sgsw-onlinewelt/icons/positiv/sgsw_icon_rgb_quiz_1.svg" alt="" class="svg-icon"></span> 1378 <span class="content"> 1379 <span class="title">Brunnen-Challenge</span> 1380 <span class="desc">Zwei neue Routen zum Jubiläum</span> 1381 </span> 1382 </a> 1383 1384 </div> 1385 1386 <div class="mega-col mega-nav"> 1387 <ul> 1388 <li class="parent-nav"> 1389 <a href="/home/wasser.html" title="Interner Link: Ãbersicht Wasser">
1389Ãbersicht Wasser</a> 1390 </li> 1391 1392 <li class="parent-nav"> 1393 <a href="/home/wasser/services.html" title="Interner Link: Services">Services</a> 1394 1395 </li> 1396 1397 <li class="parent-nav"> 1398 <a href="/home/wasser/gebaeude.html" title="Interner Link: Gebäude">Gebäude</a> 1399 1400 <ul> 1401 1402 <li><a href="/home/wasser/gebaeude.html#_Par_sgsw_downloadlist_1_" title="Interner Link: Hausinstallationskontrolle">Hausinstallationskontrolle</a></li> 1403 1404 </ul> 1405 1406 </li> 1407 1408 </ul> 1409 </div> 1410 </div> 1411 </div> 1412 1413 <div class="mega-menu-panel" data-menu-panel="heizen"> 1414 <button class="mega-close js-mega-close" type="button">Schliessen<i class="fal fa-times"></i></button> 1415 <div class="mega-menu-inner has-teaser"> 1416 1417 <div class="mega-col mega-teaser"> 1418 1419 <a href="/home/heizen.html#Par_sgsw_product_advisor" title="Interner Link: St.Galler Wärme#Par_sgsw_product_advisor" class="mega-box"> 1420 <span class="icon"><img src="/content/dam/bilder_library/sgsw-onlinewelt/icons/positiv/sgsw_icon_rgb_heizung.svg" alt="" class="svg-icon"></span> 1421 <span class="content"> 1422 <span class="title">Wärmelösung finden</span> 1423 <span class="desc">Jetzt Adresse eingeben</span> 1424 </span> 1425 </a> 1426 1427 </div> 1428 1429 <div class="mega-col mega-nav"> 1430 <ul> 1431 <li class="parent-nav"> 1432 <a href="/home/heizen.html" title="Interner Link: Ãbersicht Heizen">Ãbersicht Heizen</a> 1433 </li> 1434 1435 <li class="parent-nav"> 1436 <a href="/home/heizen/fernwaerme.html" title="Interner Link: Fernwärme">Fernwärme</a> 1437 1438 <ul> 1439 1440 <li><a href="/home/heizen/fernwaerme.html#Par_sgsw_product_electri" title="Interner Link: Produkte">Produkte</a></li> 1441 1442 <li><a href="/home/heizen/fernwaerme.html#Par_sgsw_pricelist" title="Interner Link: Preise">Preise</a></li> 1443 1444 </ul> 1445 1446 </li> 1447 1448 <li class="parent-nav"> 1449 <a href="/home/heizen/gas.html" title="Interner Link: Gas">Gas</a> 1450 1451 <ul> 1452 1453 <li><a href="/home/heizen/gas.htm.html#Par_sgsw_product_electri" title="Interner Link: Produkte">Produkte</a></li> 1454 1455 <li><a href="/home/heizen/gas.html#Par_sgsw_pricelist_copy" title="Interner Link: Preise">Preise</a></li> 1456 1457 <li><a href="/home/heizen/gas.html#Par_sgsw_imagetext_copy_" title="Interner Link: Wartungs-Abo">Wartungs-Abo</a></li> 1458 1459 </ul> 1460 1461 </li> 1462 1463 <li class="parent-nav"> 1464 <a href="/home/heizen/waermepumpe.html" title="Interner Link: Wärmepumpe">Wärmepumpe</a> 1465 1466 </li> 1467 1468 <li class="parent-nav"> 1469 <a href="/home/heizen/blockheizkraftwerk.html" title="Interner Link: Blockheizkraftwerk">Blockheizkraftwerk</a> 1470 1471 </li> 1472 1473 <li class="parent-nav"> 1474 <a href="/home/heizen/geschaeftskunden.html" title="Interner Link: Geschäftskunden">Geschäftskunden</a> 1475 1476 </li> 1477 1478 </ul> 1479 </div> 1480 </div> 1481 </div> 1482 1483 <div class="mega-menu-panel" data-menu-panel="glasfaser"> 1484 <button class="mega-close js-mega-close" type="button">Schliessen<i class="fal fa-times"></i></button> 1485 <div class="mega-menu-inner has-teaser"> 1486 1487 <div class="mega-col mega-teaser"> 1488 1489 <a href="/home/glasfaser.html#Par_sgsw_productinfo_lis" title="Interner Link: St.Galler Glasfaser#Par_sgsw_productinfo_lis" class="mega-box"> 1490 <span class="icon"><img src="/content/dam/bilder_library/sgsw-onlinewelt/icons/positiv/sgsw_icon_rgb_stecker.svg" alt="" class="svg-icon"></span> 1491 <span class="content"> 1492 <span class="title">Jetzt Angebot bestellen</span> 1493 <span class="desc">Steigen Sie auf Glasfaser um.</span> 1494 </span> 1495 </a> 1496 1497 <a href="/home/glasfaser.html#Par_sgsw_contactbusiness_1720540927" title="Interner Link: St.Galler Glasfaser#Par_sgsw_contactbusiness_1720540927" class="mega-box"> 1498 <span class="icon"><img src="/content/dam/bilder_library/sgsw-onlinewelt/icons/positiv/sgsw_icon_rgb_kein-planungs-betriebsaufwand.svg" alt="" class="svg-icon"></span> 1499 <span class="content"> 1500 <span class="title">Technischer Support</span> 1501 <span class="desc">Probleme mit Glasfaseranschluss?</span> 1502 </span> 1503 </a> 1504 1505 </div> 1506 1507 <div class="mega-col mega-nav"> 1508 <ul> 1509 <li class="parent-nav"> 1510 <a href="/home/glasfaser.html" title="Interner Link: Ãbersicht Glasfaser">
1510Ãbersicht Glasfaser</a> 1511 </li> 1512 1513 <li class="parent-nav"> 1514 <a href="/home/glasfaser/gebaeude.html" title="Interner Link: Gebäude">Gebäude</a> 1515 1516 </li> 1517 1518 </ul> 1519 </div> 1520 </div> 1521 </div> 1522 1523 <div class="mega-menu-panel" data-menu-panel="e-mobilitaet"> 1524 <button class="mega-close js-mega-close" type="button">Schliessen<i class="fal fa-times"></i></button> 1525 <div class="mega-menu-inner"> 1526 1527 <div class="mega-col mega-nav"> 1528 <ul> 1529 <li class="parent-nav"> 1530 <a href="/home/e-mobilitaet.html" title="Interner Link: Ãbersicht E-Mobilität">Ãbersicht E-Mobilität</a> 1531 </li> 1532 1533 <li class="parent-nav"> 1534 <a href="/home/e-mobilitaet/zuhause.html" title="Interner Link: Zuhause">Zuhause</a> 1535 1536 <ul> 1537 1538 <li><a href="/home/e-mobilitaet/zuhause.html#Par_sgsw_facts_tiles" title="Interner Link: Fördergelder">Fördergelder</a></li> 1539 1540 </ul> 1541 1542 </li> 1543 1544 <li class="parent-nav"> 1545 <a href="/home/e-mobilitaet/arbeitsplatz.html" title="Interner Link: Arbeitsplatz">Arbeitsplatz</a> 1546 1547 </li> 1548 1549 <li class="parent-nav"> 1550 <a href="/home/e-mobilitaet/quartier.html" title="Interner Link: Quartier">Quartier</a> 1551 1552 </li> 1553 1554 <li class="parent-nav"> 1555 <a href="/home/e-mobilitaet/unterwegs.html" title="Interner Link: Unterwegs">Unterwegs</a> 1556 1557 </li> 1558 1559 </ul> 1560 </div> 1561 </div> 1562 </div> 1563 1564 </div> 1565</nav> 1566
1567<script> 1568document.addEventListener('DOMContentLoaded', function () { 1569 const triggers = document.querySelectorAll('.js-mega-trigger'); 1570 const megaMenu = document.querySelector('.main-nav-megamenu'); 1571 const panels = document.querySelectorAll('.mega-menu-panel'); 1572 const overlay = document.querySelector('.page-overlay'); 1573 const closeButtons = document.querySelectorAll('.js-mega-close'); 1574 1575 function closeMegaMenu() { 1576 document.body.classList.remove('mega-menu-open'); 1577 if (!CSS.supports('scrollbar-gutter: stable')) { 1578 document.body.style.paddingRight = ''; 1579 } 1580 megaMenu.classList.remove('is-open'); 1581 1582 panels.forEach(panel => { 1583 panel.classList.remove('is-active'); 1584 }); 1585 1586 triggers.forEach(trigger => { 1587 trigger.parentElement.classList.remove('is-open'); 1588 }); 1589 } 1590 1591 function openMegaMenu(menuName, clickedTrigger) { 1592 if (!CSS.supports('scrollbar-gutter: stable')) { 1593 const scrollBarWidth = window.innerWidth - document.documentElement.clientWidth; 1594 document.body.style.paddingRight = scrollBarWidth + 'px'; 1595 } 1596 document.body.classList.add('mega-menu-open'); 1597 megaMenu.classList.add('is-open'); 1598 1599 panels.forEach(panel => { 1600 panel.classList.remove('is-active'); 1601 }); 1602 1603 const activePanel = megaMenu.querySelector( 1604 '[data-menu-panel="' + menuName + '"]' 1605 ); 1606 1607 if (activePanel) { 1608 activePanel.classList.add('is-active'); 1609 } 1610 1611 triggers.forEach(trigger => { 1612 trigger.parentElement.classList.remove('is-open'); 1613 }); 1614 1615 clickedTrigger.parentElement.classList.add('is-open'); 1616 } 1617 1618 triggers.forEach(trigger => { 1619 trigger.addEventListener('click', function (e) { 1620 e.preventDefault(); 1621 1622 const menuName = this.dataset.menu; 1623 const isAlreadyOpen = this.parentElement.classList.contains('is-open'); 1624 1625 if (isAlreadyOpen) { 1626 closeMegaMenu(); 1627 } else { 1628 openMegaMenu(menuName, this); 1629 } 1630 }); 1631 }); 1632 1633 closeButtons.forEach(button => { 1634 button.addEventListener('click', closeMegaMenu); 1635 }); 1636 1637 if (overlay) { 1638 overlay.addEventListener('click', closeMegaMenu); 1639 } 1640 1641 document.addEventListener('keydown', function (e) { 1642 if (e.key === 'Escape') { 1643 closeMegaMenu(); 1644 } 1645 }); 1646}); 1647</script>
1647 1648 1649 1650 1651 1652 1653
1654<script type="text/javascript" src="/apps/core/docroot/js/swiftype/hogan-3.0.1.js"></script>
1654 1655 1656<div class="search minimized desktop-visible"> 1657 <button type="button" class="search-toggler"><span>Suche</span><i class="far fa-search"></i></button> 1658 <div class="searchform-container-box not-shown"> 1659 <form id="searchFormBox" name="searchFormBox" class="searchform" autocomplete="off"> 1660 <label class="input-label search-label" for="searchfield"> 1661 <span><span class="inline-desktop-visible">Wonach suchen Sie?</span></span> 1662 <input type="text" placeholder="Wonach suchen Sie?" class="searchfield" name="searchfield" id="searchfield" /> 1663 </label> 1664 <button type="submit" class="search-go"><i class="far fa-search"></i></button> 1665 </form> 1666 <ul id="st-results-container" class="linklist hidden"></ul> 1667 <ul class="linklist initialSearchLink"> 1668 <li><a href="/gn/suchen.html" title="Interner Link: Erweiterte Suche">Erweiterte Suche</a></li> 1669 </ul> 1670 </div> 1671</div> 1672<div class="search hidden"> 1673 <form id="swiftypeMainSearch" name="searchFormBox" class="searchform" method="post" action="/home.sendCQForm.html"> 1674 <label class="input-label search-label" for="stq"> 1675 <input type="text" class="searchfield" id="stq" name="stq" placeholder="Suche" /> 1676 </label> 1677 <button type="submit" class="search-go"><i class="far fa-search"></i></button> 1678 </form> 1679</div> 1680
1681<script type="text/javascript"> 1682 // mobile searchfield 1683 $(document).on('submit', '#site-menu #swiftypeMainSearch', function (e) { 1684 e.preventDefault(); 1685 $("#st-search-input").val($('#site-canvas #stq').val()); 1686 window.location = '/gn/suchen.html#stq___' + $('#site-canvas #stq').val(); 1687 }); 1688</script>
1688 1689
1690<script type="text/javascript"> 1691 let searchResults = []; 1692 1693 var searchConfig = { 1694 domain: "www.sgsw.ch", 1695 facets: {}, 1696 isSearch: false, 1697 activeFilter: 'content', 1698 searchType: 'searchbox', 1699 num: 10 1700 }; 1701 1702 /**** Custom Result Templates ****/ 1703 1704 var resultTemplate = Hogan.compile([ 1705 "<li>", 1706 "<a href='{{url}}' title='{{title}}'>{{title}}</a>", 1707 "</li>" 1708 ].join('') ); 1709 1710 let debounceTimeout; 1711 $(document).on('keyup', '.main-nav-first #searchfield', function (key) { 1712 if (key.keyCode != 13 && key.keyCode != null) { 1713 // Entfernt vorheriges Timeout, wenn eine neue Taste gedrueckt wird 1714 clearTimeout(debounceTimeout); 1715 1716 debounceTimeout = setTimeout(function () { // Setzt neues Timeout 1717 var searchTag = $('.main-nav-first .tile-filter li.searchtag').text(); 1718 if(searchTag != ''){ 1719 resetSearch(false); 1720 } 1721 var searchValue = $(".main-nav-first #searchfield").val(); 1722 if(searchValue == ''){ 1723 $('.main-nav-first .initialSearchLink').removeClass("hidden"); 1724 $('.main-nav-first #st-results-container').addClass("hidden"); 1725 $('.main-nav-first #st-results-container').empty(); 1726 getResults(); 1727 } else if(searchValue.length > 4){ 1728 searchValue = xssPrevention(searchValue,true); 1729 $('.main-nav-first .initialSearchLink').addClass("hidden"); 1730 $('.main-nav-first #st-results-container').removeClass("hidden"); 1731 window.searchConfig.isSearch = true; 1732 getResults(); 1733 } 1734 }, 500); // Debounce-Zeit in Millisekunden 1735 } 1736 }); 1737 1738 $(document).on('submit', '.main-nav-first #searchFormBox', function (e) { 1739 e.preventDefault(); 1740 var searchValue = $('.main-nav-first #searchfield').val(); 1741 if(searchValue.length > 0){ 1742 searchValue = xssPrevention(searchValue,true); 1743 var searchTag = "<li class='searchtag'><a href='#' onclick='javascript:resetSearch(true)'>" + searchValue + "</a></li>"; 1744 var $searchFacetContainer = $('.main-nav-first .tile-filter ul.inhaltstyp-items'); 1745 $searchFacetContainer.prepend(searchTag); 1746 $searchFacetContainer.removeClass("hidden"); 1747 $('.main-nav-first #st-results-container').removeClass("hidden"); 1748 $('.main-nav-first .initialSearchLink').addClass("hidden"); 1749 $(".main-nav-first #searchfield").blur(); 1750 window.searchConfig.isSearch = true; 1751 getResults(); 1752 }else{ 1753 resetSearch(true); 1754 } 1755 }); 1756 1757 function getResults() { 1758 var searchValue = encodeURI($(".main-nav-first #searchfield").val()); 1759 var domain = window.searchConfig.domain; 1760 var activeFilter = window.searchConfig.activeFilter; 1761 var searchType = window.searchConfig.searchType; 1762 var num = window.searchConfig.num; 1763 $.ajax({
1764 type: "GET", 1765 url: "/content/sgsw_onlinewelt/home.searchresults.html?search=true", 1766 contentType: 'application/x-www-form-urlencoded; charset=UTF-8', 1767 //dataType: "json", 1768 data: { 1769 searchValue: searchValue, 1770 isSearchPage: false, 1771 domain: domain, 1772 activeFilter: activeFilter, 1773 searchType: searchType, 1774 num: num 1775 }, 1776 encode: true, 1777 success: function(data) { 1778 var dataString = data; 1779 var index = data.indexOf('<!--cq'); 1780 if(index >= 0){ 1781 dataString = data.substring(0, index); 1782 } 1783 const jsonObj = JSON.parse(dataString); 1784 searchResults = jsonObj.organic; 1785 displayResults(searchResults); 1786 } 1787 }); 1788 } 1789 1790 function displayResults(results) { 1791 const resultContainer = $('.main-nav-first #st-results-container'); 1792 resultContainer.empty(); 1793 1794 const totalResultCount = results.length 1795 var count = 0; 1796 1797 Array.from(results).forEach((result) => { 1798 // cleanup title 1799 var resultTitle = result.title; 1800 resultTitle = resultTitle.replaceAll(" - stadt.sg.ch - Kanton St. Gallen", "") 1801 .replaceAll(" | stadt.sg.ch - Kanton St. Gallen", "") 1802 .replaceAll(" - stadt.sg.ch - Kanton St.Gallen", "") 1803 .replaceAll(" | stadt.sg.ch - Kanton St.Gallen", "") 1804 .replaceAll(" - stadt.sg.ch", "") 1805 .replaceAll(" | stadt.sg.ch", "") 1806 .replaceAll(" - Kanton St. Gallen", "") 1807 .replaceAll(" | Kanton St. Gallen", "") 1808 .replaceAll(" - Kanton St.Gallen", "") 1809 .replaceAll(" | Kanton St.Gallen", "") 1810 .replaceAll(" - St.Galler Stadtwerke", "") 1811 .replaceAll(" | St.Galler Stadtwerke", ""); 1812 1813 var data = { 1814 url: result.link, 1815 title: resultTitle 1816 }; 1817 1818 if (result.link.indexOf(".ocFile") >= 0 || result.link.indexOf("/content/dam/") >= 0 || result.link.indexOf("/news/stsg_") >= 0 || result.link.indexOf("/news/sgsw_") >= 0 || result.link.indexOf("/home/news") >= 0) { 1819 return; 1820 } 1821 1822 count++; 1823 if (count <= 10) { 1824 const item = resultTemplate.render(data); 1825 resultContainer.append(item); 1826 } 1827 }); 1828 1829 var currentSearchValue = $(".main-nav-first #searchfield").val(); 1830 currentSearchValue = xssPrevention(currentSearchValue,false); 1831 1832 if (totalResultCount === 0) { 1833 resultContainer.html("<li><a style='color: #e00025' href='/gn/suchen.html#stq=" + currentSearchValue + "'>Suche erweitern</a></li>"); 1834 } else { 1835 var nofSearchTiles = 10; 1836 if (totalResultCount === 10) { 1837 resultContainer.append("<li><a style='color: #e00025' href='/gn/suchen.html#stq=" + currentSearchValue + "'>Weitere Ergebnisse</a></li>"); 1838 } else{ 1839 resultContainer.append("<li><a style='color: #e00025' href='/gn/suchen.html#stq=" + currentSearchValue + "'>Suche erweitern</a></li>"); 1840 } 1841 } 1842 } 1843 1844 function resetSearch(clearSearchField){ 1845 window.searchConfig.isSearch = false; 1846 $('.main-nav-first .tile-filter').addClass("hidden"); 1847 $('.main-nav-first .tile-filter ul.inhaltstyp-items').empty(); 1848 if(clearSearchField){ 1849 $(".main-nav-first #searchfield").val(''); 1850 $(".main-nav-first #searchfield").focus(); 1851 $('.main-nav-first #st-results-container').addClass("hidden"); 1852 $('.main-nav-first .initialSearchLink').removeClass("hidden"); 1853 } 1854 window.location.hash = ''; 1855 getResults(); 1856 } 1857 1858 function xssPrevention(value,output){ 1859 var lt = /</g, 1860 gt = />/g, 1861 ap = /'/g, 1862 ic = /"/g; 1863 if(output){ 1864 value = value.toString().replace(lt, "").replace(gt, ""); 1865 }else{ 1866 value = value.toString().replace(lt, "").replace(gt, "").replace(ap, "'").replace(ic, """); 1867 } 1868 return value; 1869 } 1870</script>
1870 1871 1872 <div class="navbar-header pull-right"> 1873 <a href="#site-menu" class="mobile-menu-toggle js-mobile-menu-open btn mobile-visible" id="toggle-button"><i class="fa fa-bars"></i><span class="sr-only">Menü aufklappen</span></a> 1874 </div> 1875 </div> 1876 </div> 1877</nav> 1878<div class="page-overlay"></div> 1879 1880 1881 1882 </div> 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 <div class="jumbotron"> 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 <div class="sgsw-slider"> 1910 1911 1912 1913 <div class="image"> 1914 1915 <div style="background-image: url(/content/dam/bilder_library/sgsw-onlinewelt/keyvisuals/sgsw_keyvisual_homepage_2.jpg);"></div> 1916 1917 </div> 1918 1919 1920 </div> 1921 <div class="sgsw-slider-mobile"> 1922 1923 1924 1925 <div class="image"> 1926 1927 <div style="background-image: url(/content/dam/bilder_library/sgsw-onlinewelt/keyvisuals/sgsw_keyvisual_homepage_2.jpg);"></div> 1928 1929 </div> 1930 1931 1932 </div> 1933
1933<script type="text/javascript"> 1934 $('.sgsw-slider .image').slick({ 1935 dots: false, 1936 infinite: true, 1937 speed: 1000, 1938 slidesToShow: 1, 1939 adaptiveHeight: true, 1940 autoplay: true, 1941 autoplaySpeed: 5000, 1942 fade: true, 1943 pauseOnHover: false 1944 }); 1945 1946 $('.sgsw-slider-mobile .image').slick({ 1947 dots: false, 1948 infinite: true, 1949 speed: 1000, 1950 slidesToShow: 1, 1951 adaptiveHeight: true, 1952 autoplay: true, 1953 autoplaySpeed: 5000, 1954 fade: true, 1955 pauseOnHover: false 1956 }); 1957 </script>
1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971<div class="teaser left"> 1972 1973 <div class="teaser-content"> 1974 1975 <p class="content">Wie sieht unsere Energiezukunft aus?</p> 1976 1977 <div class="teaser-canvas-arrow"> </div> 1978 </div> 1979 1980</div> 1981 1982 1983 </div> 1984 <div class="LeadPar sgsw_productlead parbase"> 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994<div class="row lead-box header color-grey" id="Par_LeadPar"> 1995 1996 1997 1998 1999 <div class="col-md-12"> 2000 <div class="container"> 2001 <div class="stsg-tile"> 2002 <div class="row leadrow"> 2003 2004 2005 2006 <div class="col-md-12"> 2007 <h1>Wir haben die Antwort.</h1> 2008 <p>Wer sich mit der Zukunft beschäftigt, möchte Klarheit. Gemeinsam mit Ihnen finden wir die für Sie bestmögliche Lösung. Damit Sie auch künftig wie gewohnt rund um die Uhr gut und sicher versorgt sind: Mit <a href="/home/strom.html">Strom</a>, <a href="/home/wasser.html">Wasser</a>, <a href="/home/heizen.html">Wärme</a>, <a href="/home/heizen/gas.html">Gas</a>, <a href="https://www.sgsw.ch/home/glasfaser.html" target="_blank">Glasfasern<span class="sr-only"> neues Fenster</span></a> und Lösungen für <a href="/home/e-mobilitaet.html">E-Mobilität</a>.</p> 2009 </div> 2010 2011 2012 </div> 2013 2014 </div> 2015 </div> 2016 </div> 2017 2018 2019</div> 2020 2021</div> 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044<div class="id-wissenswertes-linktiles" id="home-header-linktiles"> 2045 <div class="container"> 2046 <div class="container intro"> 2047 <h2>Das könnte Sie interessieren:</h2> 2048 </div> 2049 <div class="row link-boxes"> 2050 2051 <div class="col-xs-12 col-sm-6 col-md-4"> 2052 <a href="/home/energieportal/rechnungen.html" title="Interner Link: Alles über Rechnungen" class="wrapper-link simple">Alles über Rechnungen</a> 2053 </div> 2054 2055 <div class="col-xs-12 col-sm-6 col-md-4"> 2056 <a href="https://meine.sgsw.ch/forms/notify-move-departure" title="Externer Link: Es öffnet sich ein neues Fenster: Umzug melden" class="wrapper-link simple" target="_blank">Umzug melden<span class="hidden"> neues Fenster</span></a> 2057 </div> 2058 2059 <div class="col-xs-12 col-sm-6 col-md-4"> 2060 <a href="/home/strom/solarstrom.html" title="Interner Link: Hier finden Sie unsere Solarstrom-Lösungen." class="wrapper-link simple">Solarstrom</a> 2061 </div> 2062 2063 <div class="col-xs-12 col-sm-6 col-md-4"> 2064 <a href="/home/555-jahre-wasserversorgung-st-gallen.html" title="Interner Link: Hier finden Sie alles über unser Jubiläum." class="wrapper-link simple">555 Jahre Trinkwasser</a> 2065 </div> 2066 2067 <div class="col-xs-12 col-sm-6 col-md-4"> 2068 <a href="/home/e-mobilitaet/zuhause.html" title="Interner Link: Hier erfahren Sie mehr über E-Ladestationen." class="wrapper-link simple">E-Ladestationen</a> 2069 </div> 2070 2071 <div class="col-xs-12 col-sm-6 col-md-4"> 2072 <a href="/home/stoerungen.html" title="Interner Link: Störung melden." class="wrapper-link simple">Störungen</a> 2073 </div> 2074 2075 </div> 2076 </div> 2077</div> 2078 2079 2080 2081 2082 2083 2084 2085 </header> 2086 2087 <div class="scrolldown"> 2088 <div class="scroll icon"><i class="far fa-2x fa-angle-down"></i></div> 2089 </div> 2090 2091 <div class="scrolltop"> 2092 <div class="scroll icon"><i class="far fa-2x fa-angle-up"></i></div> 2093 </div> 2094 <div class="container-fluid page-content" id="inhalt" data-swiftype-index="true"> 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119<div class="row id-news-home overlay-bottom-white" id="Par_news-home"> 2120 <div class="col-md-12"> 2121 <div class="container"> 2122 <div class="container intro"> 2123 <div class="row"> 2124 <div class="col-md-12"> 2125 <div class="title-row"> 2126 <h2>News</h2> 2127 </div> 2128 </div> 2129 </div> 2130 </div> 2131 <div class="home-news-overview"> 2132 <div class="news-box leadstory"> 2133 <a href="https://www.sgsw.ch/news/sgsw_news/2026/09/wie-ein-altbau-fit-fuer-die-energiezukunft-wird.html" title="Interner Link: Wie ein Altbau fit für die Energiezukunft wird" class="newslink"> 2134 <div class="newsimage">
2135 <span class="image" style="background-image:url('/content/dam/bilder_library/sgsw-onlinewelt/news/2026-09-02-grütlistrasse/Thumbnail.jpg')"></span> 2136 </div> 2137 <div class="tile-content"> 2138 <div class="content"> 2139 <div class="date">09.09.2026</div> 2140 <div class="intro">Mehrfamilienhaus aus den 1960er-Jahren </div> 2141 <div class="title hyphenate">Wie ein Altbau fit für die Energiezukunft wird</div> 2142 </div> 2143 </div> 2144 </a> 2145 </div> 2146 <div class="news-box disorder"> 2147 <div class="tile-content"> 2148 <div class="current-disorder"> 2149 <div class="title">Aktuelle Störungen</div> 2150 <div class="description hyphenate"> 2151 <p></p> 2152 </div> 2153 <div class="morelink"> 2154 <a href="/home/stoerungen.html" title="Interner Link: Zu Störungen" class="disorder-link">Zu Störungen</a> 2155 </div> 2156 </div> 2157 <div class="report-disorder"> 2158 <a href="/home/stoerungen.html" title="Interner Link: Störung melden" class="btn btn-link disorder">Störung melden</a> 2159 </div> 2160 </div> 2161 </div> 2162 2163 <div class="news-box"> 2164 <a href="https://www.sgsw.ch/news/sgsw_news/2026/09/verwaltungsgerichtsurteil-zu-gasgebuehren-bundesgericht-tritt-nicht-auf-die-beschwerde-der-stadt-ein.html" title="Interner Link: Bundesgericht tritt nicht auf die Beschwerde der Stadt ein" class="newslink"> 2165 <div class="newsimage"> 2166 <span class="image" style="background-image:url('/content/dam/bilder_library/sgsw-onlinewelt/news/2026-09-30-medienmitteilung/thumbn
2166ail.jpg')"></span> 2167 </div> 2168 <div class="tile-content"> 2169 <div class="content"> 2170 <div class="date">30.09.2026<span class="medienmitteilung">Medienmitteilung</span></div> 2171 <div class="intro">Verwaltungsgerichtsurteil zu Gasgebühren</div> 2172 <div class="title hyphenate">Bundesgericht tritt nicht auf die Beschwerde der Stadt ein</div> 2173 </div> 2174 </div> 2175 </a> 2176 </div> 2177 2178 <div class="news-box"> 2179 <a href="https://www.sgsw.ch/news/sgsw_news/2026/09/ein-quartier-als-labor-wo-innovative-loesungen-fuer-die-ganze-stadt-entstehen.html" title="Interner Link: Wo innovative Lösungen für die ganze Stadt entstehen" class="newslink"> 2180 <div class="newsimage"> 2181 <span class="image" style="background-image:url('/content/dam/bilder_library/sgsw-onlinewelt/news/2026-09-15-philipp-ditzel/Philipp Ditzel Thumbnail.jpg')"></span> 2182 </div> 2183 <div class="tile-content"> 2184 <div class="content"> 2185 <div class="date">23.09.2026</div> 2186 <div class="intro">5 Fragen an den Bereichsleiter Digitalisierung und Informatik</div> 2187 <div class="title hyphenate">Wo innovative Lösungen für die ganze Stadt entstehen</div> 2188 </div> 2189 </div> 2190 </a> 2191 </div> 2192 2193 <div class="news-box"> 2194 <a href="https://www.sgsw.ch/news/sgsw_news/2026/08/leichter-anstieg-der-strompreise-ab-1--januar-2027-fuer-haushalt.html" title="Interner Link: Leichter Anstieg der Strompreise ab 1. Januar 2027 für Haushalte" class="newslink"> 2195 <div class="newsimage"> 2196 <span class="image" style="background-image:url('/content/applikationen/news/sgsw_news/2026/08/leichter-anstieg-der-strompreise-ab-1--januar-2027-fuer-haushalt/jcr:content/NewsdetailPar/image.imageWidth__630.jpg/headerimage.jpg')"></span> 2197 </div> 2198 <div class="tile-content"> 2199 <div class="content"> 2200 <div class="date">26.08.2026<span class="medienmitteilung">Medienmitteilung</span></div> 2201 2202 <div class="title hyphenate">Leichter Anstieg der Strompreise ab 1. Januar 2027 für Haushalte</div> 2203 </div> 2204 </div> 2205 </a> 2206 </div> 2207 2208 <div class="news-box"> 2209 <a href="https://www.sgsw.ch/news/sgsw_news/2026/08/rund-1-500-gaeste-feiern--555-jahre-wasser-in-st-gallen-.html" title="Interner Link: Rund 1'500 Gäste feiern «555 Jahre Wasser in St.Gallen»" class="newslink"> 2210 <div class="newsimage"> 2211 <span class="image" style="background-image:url('/content/dam/bilder_library/sgsw-onlinewelt/news/2026-08-25-jubiläumsanlass-555/Jubiläumsanlass _555 Jahre Wasser in St.Gallen_ 8 t.jpg')"></span> 2212 </div> 2213 <div class="tile-content"> 2214 <div class="content"> 2215 <div class="date">26.08.2026</div> 2216 <div class="intro">Jubiläumsfest auf dem Gallusplatz</div> 2217 <div class="title hyphenate">Rund 1'500 Gäste feiern «555 Jahre Wasser in St.Gallen»</div> 2218 </div> 2219 </div> 2220 </a> 2221 </div> 2222 2223 <div class="news-box"> 2224 <a href="https://www.sgsw.ch/news/sgsw_news/2026/08/rwsg-startet-mit-dem-bau-des-seewasserwerks-riet-ii-.html" title="Interner Link: RWSG startet mit dem Bau des Seewasserwerks Riet II " class="newslink"> 2225 <div class="newsimage"> 2226 <span class="image" style="background-image:url('/content/dam/bilder_library/sgsw-onlinewelt/news/2026-08-14-baustrat-riet-ii/Vertreterinnen und Vertreter der Aktionärspartner, Projektverantwortliche und weitere Beteiligte beim Baustart des Riet II t.jpg')"></span> 2227 </div> 2228 <div class="tile-content"> 2229 <div class="content"> 2230 <div class="date">14.08.2026<span class="medienmitteilung">Medienmitteilung</span></div> 2231 2232 <div class="title hyphenate">RWSG startet mit dem Bau des Seewasserwerks Riet II </div> 2233 </div> 2234 </div> 2235 </a> 2236 </div> 2237 2238 <div class="news-box more-button"> 2239 <a href="/home/news.html" title="Interner Link: Alle News ansehen" class="wrapper-link"><h4>Alle News ansehen</h4></a> 2240 </div> 2241 </div> 2242 </div> 2243 </div> 2244</div> 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256<div class="row id-produkte color-grey" id="Par_sgsw_available_produ"> 2257 <link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"> 2258 <link rel="stylesheet" href="https://js.arcgis.com/3.18/esri/css/esri.css"> 2259 <div class="col-md-12">
2260 <div class="container"> 2261 <div class="container intro"> 2262 <h2>Unsere Angebote an Ihrer Adresse:</h2> 2263 <p>Geben Sie Ihre Adresse ein und entdecken Sie die verfügbaren Angebote.</p> 2264 </div> 2265 </div> 2266 <div class="row id-map-home"> 2267 <div class="col-md-12 no-gutter"> 2268 <div class="mapwrap"> 2269 <div class="select-box panel panel-default"> 2270 <div class="panel-heading text-left box-toggler">Nach Themen filtern<i class="far fa-angle-up toggler pull-right"></i></div> 2271 <div class="panel-body"> 2272 <div id="layerSelect"></div> 2273 </div> 2274 </div> 2275 <div class="overlay" onClick="style.pointerEvents='none'"></div> 2276 <div id="maphome" class="map maphome"> 2277 <button id="CloseButton" title="Karte schliessen"><i class="fal fa-times"></i></button> 2278 <div id="LocateButton"></div> 2279 <div id="BasemapToggle"> 2280 <img id="BasemapThumbnail"/> 2281 </div> 2282 </div> 2283 </div> 2284 </div> 2285 <div id="overlay-msg" class="modal" role="dialog" style="display: none;"> 2286 <div class="modal-dialog"> 2287 <div class="modal-content"> 2288 <div class="modal-header"> 2289 <button type="button" class="close" data-dismiss="modal">Ã</button> 2290 <h3 class="modal-title">Hinweis</h3> 2291 </div> 2292 <div class="modal-body"> 2293 <p>Die Eignung Photovoltaik ist auf diesem Zoom-Level nicht verfügbar.<br/>Zoomen Sie weiter in die Karte hinein, bis die Eignung sichtbar wird.</p> 2294 <p><a href="https://www.sgsw.ch/home/strom/solarstrom.html" title="mehr zu Solarstrom" class="btn btn-link">mehr zu Solarstrom</a></p> 2295 </div> 2296 </div> 2297 </div> 2298 </div> 2299 </div> 2300 <div class="row available-products-search color-grey"> 2301 <div class="col-md-12"> 2302 <div class="container"> 2303 <div class="row searchfield"> 2304 <div class="col-xs-12"> 2305 <form class="form adresse" id="form"> 2306 <label class="input-label adresse" for="adresse"> 2307 <span>Adresse eingeben</span> 2308 <input type="text" name="adresse" id="adresse"> 2309 </label> 2310 <button type="submit" class="search-go toggle-available-products"><i class="fal fa-search"></i></button> 2311 </form> 2312 <a href="#" title="Karte ausklappen" class="icon-link inline-icon-link pulldown pull-right" id="map-toggler"></a> 2313 </div> 2314 </div> 2315 </div> 2316 </div> 2317 </div> 2318 <div class="row available-products-static color-grey"> 2319 <div class="col-md-12"> 2320 <div class="container"> 2321 <div class="tilebox"> 2322 <div class="stsg-tile product-tile width-33"> 2323 <span class="title">Strom</span> 2324 <img class="img-responsive" src="/content/dam/bilder_library/sgsw-onlinewelt/products/sgsw_produkte_strom.svg"/> 2325 <span class="description">St.Galler Stromprodukte</span> 2326 <a href="/home/strom.html" title="Interner Link: Mehr Infos" class="btn btn-link">Mehr Infos</a> 2327 </div> 2328 <div class="stsg-tile product-tile width-33"> 2329 <span class="title">Solar Community</span> 2330 <img class="img-responsive" src="/content/dam/bilder_library/sgsw-onlinewelt/products/[email protected]"/> 2331 <span class="description">St.Galler Solar Community</span> 2332 <a href="/home/strom/solarstrom/solar-community.html" title="Interner Link: Mehr Infos" class="btn btn-link">Mehr Infos</a> 2333 </div> 2334 <div class="stsg-tile product-tile width-33"> 2335 <span class="title">Gas</span> 2336 <img class="img-responsive" src="/content/dam/bilder_library/sgsw-onlinewelt/products/sgsw_produkte_gas.svg"/> 2337 <span class="description">Erdgas und Biogas</span> 2338 <a href="/home/heizen/gas.html" title="Interner Link: Mehr Infos" class="btn btn-link">Mehr Infos</a> 2339 </div> 2340 <div class="stsg-tile product-tile width-33"> 2341 <span class="title">Fernwärme</span> 2342 <img class="img-responsive" src="/content/dam/bilder_library/sgsw-onlinewelt/products/sgsw_produkte_waerme.svg"/> 2343 <span class="description">St.Galler Wärme</span> 2344 <a href="/home/heizen/fernwaerme.html" title="Interner Link: Mehr Infos" class="btn btn-link">Mehr Infos</a> 2345 </div> 2346 <div class="stsg-tile product-tile width-33"> 2347 <span class="title">Glasfaser</span> 2348 <img class="img-responsive" src="/content/dam/bilder_library/sgsw-onlinewelt/products/sgsw_produkte_glasfasernetz.svg"/> 2349 <span class="description">St.Galler Glasfasernetz</span> 2350 <a href="/home/glasfaser.html" title="Interner Link: Mehr Infos" class="btn btn-link">Mehr Infos</a> 2351 </div> 2352 <div class="stsg-tile product-tile width-33"> 2353 <span class="title">E-Mobilität</span> 2354 <img class="img-responsive" src="/content/dam/bilder_library/sgsw-onlinewelt/products/sgsw_produkte_mobilitaet.svg"/> 2355 <span class="description">E-Mobilitätslösungen</span> 2356 <a href="/home/e-mobilitaet.html" title="Interner Link: Mehr Infos" class="btn btn-link">Mehr Infos</a> 2357 </div> 2358 </div> 2359 </div> 2360 </div> 2361 </div> 2362 <div class="row available-products-results color-grey" style="display: none;"></div> 2363 </div> 2364
2364<script src="/apps/core/docroot/js/jquery-ui.autocomplete.min.js"></script>
2364 2365
2365<script src="https://js.arcgis.com/3.18/init.js"></script>
2365 2366
2366<script> 2367 require(["dojo/dom", "dojo/dom-construct", "dijit/form/CheckBox", "esri/dijit/LocateButton", "esri/basemaps", "esri/arcgis/utils", "esri/geometry/Point", "esri/SpatialReference", "esri/symbols/PictureMarkerSymbol", "esri/graphic", "dojo/domReady!"], 2368 function(dom, domConstruct, CheckBox, LocateButton, esriBasemaps, arcgisUtils, Point, SpatialReference, PictureMarkerSymbol, Graphic) 2369 { 2370 // WebMap - reference target WebMap created by RIZ 2371 var webMapItemID = "f8a9a2413b104a248dd6a89966823365"; 2372 var map; 2373 var layerInfo; 2374 var deferred = arcgisUtils.createMap(webMapItemID, "maphome", { 2375 bingMapsKey: "quyKvCPHhi6hZQ4uTwzV~8-jJu5PN-YKsgCWXxxZu-Q~Ap7M4krA0-zSc_Z5GxdzLaeGSkcTCRsSNSCEtCfjYhCykr6qyH2odgO7eZo2tkGI" 2376 }); 2377 deferred.then(function(response) { 2378 map = response.map; 2379 layerInfo = response.itemInfo.itemData.operationalLayers; 2380 esriBasemaps.sgsw = { 2381 baseMapLayers: response.itemInfo.itemData.baseMap.baseMapLayers, 2382 thumbnailUrl: "https://js.arcgis.com/3.18/esri/images/basemap/satellite.jpg", 2383 title: "Imagery" 2384 }; 2385 viewReadyHandler(); 2386 }); 2387 2388 // Spatial reference system for address search - wkid 3857 is fixed 2389 var addressSR = new SpatialReference(3857); 2390 2391 // Symbol for address marker - can be any image of any size 2392 var addressMarker = new PictureMarkerSymbol("/apps/core/docroot/images/design/sgsw-onlinewelt/map-marker-icon.png", 32, 32); 2393 2394 // event handler function - called once when map is ready 2395 var viewReadyHandler = function() { 2396 // LocationFinder autocomplete 2397 $(function() { 2398 $("#adresse").autocomplete({ 2399 source: function(request, response) { 2400 $.ajax({
2401 url: "https://locationfinder.stadt.sg.ch:8085/Finder/Lookup?filter=type:AdresseSGSWOnline", 2402 dataType: "json", 2403 jsonp: false, 2404 data: { 2405 query: request.term 2406 }, 2407 success: function(data) { 2408 // show only street addresses (street and house number) 2409 var filterData = jQuery.grep(data.locs, function(a) { 2410 return a.type == "AdresseSGSWOnline"; 2411 }); 2412 var modData = jQuery.map(filterData, function(n, i) { 2413 n.label = n.name; 2414 return n; 2415 2416 }); 2417 modData.sort(compareAdresses); 2418 response(modData); 2419 } 2420 }); 2421 }, 2422 minLength: 2, 2423 // set address location after selection 2424 select: function(event, ui) { 2425 setAddress(ui.item.cx, ui.item.cy); 2426 checkAvailableProducts(ui.item.id, ''); 2427 } 2428 }); 2429 }); 2430 2431 // compare LocationFinder results (alphanumeric sorting) 2432 var compareAdresses = function(as, bs) { 2433 as = as.name; 2434 bs = bs.name; 2435 var a, b, a1, b1, i = 0, 2436 n, L, 2437 rx = /(\.\d+)|(\d+(\.\d+)?)|([^\d.]+)|(\.\D+)|(\.$)/g; 2438 if (as === bs) return 0; 2439 a = as.toLowerCase().match(rx); 2440 b = bs.toLowerCase().match(rx); 2441 L = a.length; 2442 while (i < L) { 2443 if (!b[i]) return 1; 2444 a1 = a[i], 2445 b1 = b[i++]; 2446 if (a1 !== b1) { 2447 n = a1 - b1; 2448 if (!isNaN(n)) return n; 2449 return a1 > b1 ? 1 : -1; 2450 } 2451 } 2452 return b[i] ? -1 : 0; 2453 } 2454 2455 // dynamic creation of the input elements used for layer selection 2456 map.graphicsLayerIds.forEach(function(layerId, i) { 2457 var id = "layerSelect" + i; 2458 var layer = map.getLayer(layerId); 2459 var box = new CheckBox({ 2460 id: id, 2461 class: "layerSelectCheckBox", 2462 checked: layer.visible, 2463 onChange: function(visible) { 2464 layer.setVisibility(visible); 2465 } 2466 }); 2467 box.placeAt("layerSelect", "first"); 2468 domConstruct.place('<label for="' + id + '">' + getLayerTitle(layer) + '</label>', dom.byId(id), 'before'); 2469 }); 2470 2471 // register events for mouse-over and visiblity change 2472 map.graphicsLayerIds.forEach(function(layerId, i) { 2473 var layer = map.getLayer(layerId); 2474 layer.on("mouse-over", mouseOverHandler); 2475 layer.on("mouse-out", mouseOutHandler); 2476 layer.on("visibility-change", visibilityChangeHandler); 2477 }); 2478 2479 // register event handler the change of zoom levels 2480 map.on("extent-change", extentChangeHandler); 2481 2482 // create geolocate tool and button 2483 var locateButton = new LocateButton({ 2484 map: map 2485 }, "LocateButton"); 2486 locateButton.startup(); 2487 2488 // create basemap tool and toggle button 2489 var toggle = false; 2490 var thumbnails = { 2491 false: "https://js.arcgis.com/3.18/esri/images/basemap/topo.jpg", 2492 true: esriBasemaps.sgsw.thumbnailUrl 2493 }; 2494 $("#BasemapThumbnail").attr("src", thumbnails[toggle]); 2495 $("#BasemapThumbnail").click(function() { 2496 map.layerIds.map(function(s) { 2497 map.getLayer(s).setVisibility(toggle); 2498 }); 2499 if (!toggle) map.setBasemap("topo"); 2500 if (toggle) map.setBasemap("sgsw"); 2501 toggle = !toggle; 2502 $("#BasemapThumbnail").attr("src", thumbnails[toggle]); 2503 }); 2504 }; 2505 2506 // event handler for visibility change 2507 var visibilityChangeHandler = function(evt) { 2508 var layer = evt.target; 2509 if (layer.visible && !layer.visibleAtMapScale) { 2510 //alert("not visible at current zoom level: " + getLayerTitle(layer));
2511 $('#overlay-msg').modal('show'); 2512 } 2513 // close info window if parent layer is hidden 2514 if (!layer.visible) { 2515 if (map.infoWindow && map.infoWindow.features) { 2516 map.infoWindow.features.forEach(function(feature, i) { 2517 if (feature._graphicsLayer.id == layer.id) { 2518 if (map.infoWindow.isShowing) { 2519 map.infoWindow.hide(); 2520 } 2521 } 2522 }); 2523 } 2524 } 2525 } 2526 2527 // event handler for change of zoom levels 2528 var extentChangeHandler = function(evt) { 2529 if (evt.levelChange) { 2530 var hiddenLayers = getHiddenLayers(); 2531 var hiddenLayersMsg = hiddenLayers.map(function(item) { 2532 return getLayerTitle(item); 2533 }); 2534 if (hiddenLayers.length > 0) { 2535 //alert("not visible at current zoom level: " + hiddenLayersMsg); 2536 //$('#overlay-msg').modal('show'); 2537 } 2538 } 2539 } 2540 2541 // returns all activated layers that are currently not visible due to map scale limitations 2542 var getHiddenLayers = function() { 2543 var hiddenLayers = []; 2544 map.graphicsLayerIds.forEach(function(layerId, i) { 2545 var layer = map.getLayer(layerId); 2546 if (layer.visible && !layer.visibleAtMapScale) { 2547 hiddenLayers.push(layer); 2548 } 2549 }); 2550 return hiddenLayers; 2551 } 2552 2553 // returns the human readable title of a layer as configured in the WebMap 2554 var getLayerTitle = function(layer) { 2555 for (i = 0; i < layerInfo.length; i++) { 2556 if (layerInfo[i].id == layer.id) { 2557 return layerInfo[i].title; 2558 } 2559 } 2560 return layer.name; 2561 } 2562 2563 // mouse-over event handler for info window 2564 var infoWindowTimer; 2565 var mouseOverHandler = function(evt) { 2566 infoWindowTimer = setTimeout(function() { 2567 map.infoWindow.setFeatures([evt.graphic]); 2568 map.infoWindow.show(evt.mapPoint, { 2569 closestFirst: true 2570 }); 2571 }, 500); 2572 } 2573 2574 // mouse-out event handler for info window 2575 var mouseOutHandler = function(evt) { 2576 clearTimeout(infoWindowTimer); 2577 } 2578 2579 // set address location for immediate display in map 2580 var setAddress = function(cx, cy) { 2581 map.graphics.clear(); 2582 var addressPoint = new Point(cx, cy, addressSR); 2583 var addressGraphic = new Graphic(addressPoint, addressMarker); 2584 map.centerAndZoom(addressPoint, 19).then(function() { 2585 map.graphics.add(addressGraphic); 2586 }); 2587 } 2588 2589 // additional functions by OC 2590 2591 $('#addressLocator').click(function (e) { 2592 e.preventDefault(); 2593 $('#LocateButton .zoomLocateButton').trigger('click'); 2594 }); 2595 2596 $('#layerSelect').click(function (e) { 2597 $('.mapwrap .overlay').css("pointer-events", "none"); 2598 }); 2599 2600 $('#adresse').change(function () { 2601 var adresse = $('#adresse').val(); 2602 if(adresse == '') { 2603 resetMapData(true); 2604 } 2605 }); 2606 2607 $('#form').submit(function (e) { 2608 e.preventDefault(); 2609 $('.toggle-available-products').trigger('click'); 2610 }); 2611 2612 $('.toggle-available-products').click(function () { 2613 //var adresse = $('#adresse').val(); 2614 var adresse = encodeURI($('#adresse').val()); 2615 if(adresse == '') { 2616 resetMapData(true); 2617 } else { 2618 checkAvailableProducts(-1, adresse); 2619 $.ajax({
2620 url: "https://locationfinder.stadt.sg.ch:8085/Finder/Lookup?filter=type:AdresseSGSWOnline", 2621 dataType: "json", 2622 jsonp: false, 2623 data: { 2624 query: adresse 2625 }, 2626 success: function(data) { 2627 if(data.count != 0){ 2628 setAddress(data.locs[0].cx, data.locs[0].cy); 2629 } else { 2630 resetMapData(false); 2631 } 2632 } 2633 }); 2634 } 2635 }); 2636 2637 function resetMapData(emptyAddress) { 2638 if(emptyAddress){ 2639 $(".available-products-results").slideUp(); 2640 $(".available-products-static").slideDown(); 2641 } 2642 map.graphics.clear(); 2643 map.setZoom(15); 2644 } 2645 2646 }); 2647 2648 function checkAvailableProducts(addressId, addressValue) { 2649 $(".available-products-results").slideUp(); 2650 $(".available-products-static").slideUp(); 2651 $.ajax({ 2652 type: "GET", 2653 url: "/content/sgsw_onlinewelt/home.availability.html?check=true", 2654 dataType: "html", 2655 data: { 2656 addressId: addressId, 2657 addressValue: addressValue, 2658 componentName: "sgsw_available_produ" 2659 }, 2660 success: function(data) { 2661 var pane = $(".available-products-results"); 2662 pane.html(data); 2663 pane.slideDown(); 2664 } 2665 }); 2666 } 2667 2668 $('.box-toggler').click(function () { 2669 $('.panel-heading.box-toggler + .panel-body').slideToggle(); 2670 $('.panel-heading.box-toggler i.far').toggleClass('fa-angle-up fa-angle-down'); 2671 }); 2672 2673 $(document).on('click', '#map-toggler', function () { 2674 $(".id-produkte .mapwrap").toggleClass("active"); 2675 $("#map-toggler").toggleClass("open"); 2676 }); 2677 2678 $(document).on('click', '#CloseButton', function () { 2679 $(".id-produkte .mapwrap").toggleClass("active"); 2680 $("#map-toggler").toggleClass("open"); 2681 }); 2682 </script>
2682 2683</div> 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695<div class="row id-wissenswertes-linktiles color-grey" id="Par_sgsw_further_info_li"> 2696 <div class="col-md-12"> 2697 <div class="container"> 2698 <div class="container intro"> 2699 <h2>Kundenservice</h2> 2700 2701 </div> 2702 <div class="row link-boxes"> 2703 <div class="parsys"> 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713<div class="col-xs-12 col-md-6"> 2714 <a href="/home/energieportal.html" title="Interner Link: Energieportal" class="wrapper-link icon"> 2715 <span class="link-icon"> 2716 <img src="/content/dam/bilder_library/sgsw-onlinewelt/icons/positiv/sgsw_icon_rgb_alles-aus-einer-hand.svg" alt="" class="svg-icon"> 2717 </span> 2718 <span class="link-content"> 2719 <span class="title">Energieportal</span> 2720 <span class="text">«Meine sgsw» â jederzeit Zugriff auf Ihre Daten.</span> 2721 </span> 2722 </a> 2723</div> 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737<div class="col-xs-12 col-md-6"> 2738 <a href="https://meine.sgsw.ch/forms" title="Externer Link: Es öffnet sich ein neues Fenster: Online-Schalter" class="wrapper-link icon" target="_blank"> 2739 <span class="link-icon"> 2740 <img src="/content/dam/bilder_library/sgsw-onlinewelt/icons/positiv/sgsw_icon_rgb_betriebsfuehrung.svg" alt="" class="svg-icon"> 2741 </span> 2742 <span class="link-content"> 2743 <span class="title">Online-Schalter</span> 2744 <span class="text">Umzug melden, Produkte bestellen, Zahlungsart ändern etc.</span> 2745 </span> 2746 <span class="hidden"> neues Fenster</span></a> 2747</div> 2748 2749 2750 2751 2752</div> 2753 2754 </div> 2755 </div> 2756 </div> 2757</div> 2758 2759 2760 2761 2762 </div> 2763 2764 2765 2766 2767 2768 2769 2770 2771<footer id="footer"> 2772 <div class="container"> 2773 <div class="row footer"> 2774 <div class="col-md-7"> 2775 <h4 class="contact-title desktop-visible">Kontakt</h4> 2776 <div class="contact"> 2777 <p class="address"> 2778 <span class="icon"><i class="fa fa-home"></i></span> 2779 <span class="text"> 2780 <span class="address-title">St.Galler Stadtwerke</span><br /> 2781 2782 Vadianstrasse 8<br /> 2783 9001 St.Gallen 2784 </span> 2785 </p> 2786 <div class="social-icons mobile-visible"> 2787 <ul class="inline-list"> 2788 <li class="footnote-element"><a class="social-icon" href="https://www.facebook.com/St.GallerStadtwerke/" title="Facebook" target="_blank"><i class="fab fa-2x fa-facebook"></i></a></li> 2789 2790 <li class="footnote-element"><a class="social-icon" href="https://www.instagram.com/stgallerstadtwerke" title="Instagram" target="_blank"><i class="fab fa-2x fa-instagram"></i></a></li> 2791 <li class="footnote-element"><a class="social-icon" href="https://www.linkedin.com/company/stgaller-stadtwerke/" title="LinkedIn" target="_blank"><i class="fab fa-2x fa-linkedin"></i></a></li> 2792 </ul> 2793 </div> 2794 <ul class="iconlist"> 2795 <li class="phone"><a href="tel:+41848747900" title="Anrufen: 0848 747 900"><i class="fa fa-phone-alt"></i>0848 747 900</a></li> 2796 <li class="fax inline-desktop-visible"><i class="fa fa-fax"></i>0848 747 950</li> 2797 <li class="mail"><a href="mailto:[email protected]" title="Mail schreiben an: [email protected]"><i class="fa fa-envelope"></i>[email protected]</a></li> 2798 <li class="standorte"><a href="/home/ueber-uns/kontakt.html" title="Interner Link: Unsere Standorte"><i class="fa fa-map-marker-alt"></i>Unsere Standorte</a></li> 2799 </ul> 2800 </div> 2801 </div> 2802 <div class="col-md-5 opening-hours"> 2803 <div class="clearfix"> 2804 <h4 class="kundenzentrum-oeffnungszeiten-title fs17">Kundendienst</h4> 2805 <ul class="list-2-col kundenzentrum-oeffnungszeiten-content"> 2806 <li><span class="pull-left">Montag - Donnerstag:</span><span class="pull-left">08.30 - 11.30 Uhr und 13.30 - 17.00 Uhr</span></li> 2807 <li><span class="pull-left">Freitag:</span><span class="pull-left">08.30 - 11.30 Uhr und 13.30 - 16.30 Uhr</span></li> 2808 2809 2810 2811 </ul> 2812 <a href="/home/ueber-uns/kontakt.html" title="Interner Link: Ãffnungszeiten Kundenzentrum" class="btn btn-link kundenzentrum-oeffnungszeiten-button">Ãffnungszeiten Kundenzentrum</a> 2813 </div> 2814 <div class="clearfix"> 2815 <h4 class="shop-oeffnungszeiten-title fs17"></h4> 2816 <ul class="list-2-col shop-oeffnungszeiten-content"> 2817 2818 2819 2820 2821 2822 </ul> 2823 2824 </div> 2825 </div> 2826 <div class="col-md-7"> 2827 <h4 class="kundenservice-title fs17">Kundenservice</h4> 2828 <ul class="linklist kundenservice-content"> 2829 2830 <li class="halfwidth"><a href="/home/energieportal.html" title="Interner Link: Meine sgsw">Meine sgsw</a></li> 2831 2832 <li class="halfwidth"><a href="https://meine.sgsw.ch/forms/notify-move-departure" title="Externer Link: Es öffnet sich ein neues Fenster: Umzug melden" target="_blank">Umzug melden<span class="hidden"> neues Fenster</span></a></li> 2833 2834 <li class="halfwidth"><a href="/home/energieportal/rechnungen.html" title="Interner Link: Alles über Rechnungen">Alles über Rechnungen</a></li> 2835 2836 <li class="halfwidth"><a href="https://www.stadt.sg.ch/home/mobilitaet-verkehr/baustellen-strassenunterhalt/bau
2836stellen.html" title="Externer Link: Es öffnet sich ein neues Fenster: Baustellen" target="_blank">Baustellen<span class="hidden"> neues Fenster</span></a></li> 2837 2838 <li class="halfwidth"><a href="https://meine.sgsw.ch/forms" title="Externer Link: Es öffnet sich ein neues Fenster: Online-Schalter" target="_blank">Online-Schalter<span class="hidden"> neues Fenster</span></a></li> 2839 2840 <li class="halfwidth"><a href="/home/stoerungen.html" title="Interner Link: Störung melden">Störung melden</a></li> 2841 2842 </ul> 2843 </div> 2844 <div class="col-md-5"> 2845 <h4 class="about-sgsw-title">Die sgsw</h4> 2846 <ul class="linklist about-sgsw-content"> 2847 2848 <li class="halfwidth"><a href="/home/news.html" title="Interner Link: News">News</a></li> 2849 2850 <li class="halfwidth"><a href="/home/downloads.html" title="Interner Link: Downloads">Downloads</a></li> 2851 2852 <li class="halfwidth"><a href="/home/news/newsletter.html" title="Interner Link: Newsletter und Push-Meldung">Newsletter und Push-Meldung</a></li> 2853 2854 <li class="halfwidth"><a href="/home/ueber-uns.html" title="Interner Link: Ãber uns">Ãber uns</a></li> 2855 2856 <li class="halfwidth"><a href="/home/jobs.html" title="Interner Link: Jobs">Jobs</a></li> 2857 2858 2859 2860 <li class="halfwidth mobile-visible"><a href="/f/datenschutz.html" title="Interner Link: Datenschutz">Datenschutz</a></li> 2861 2862 <li class="halfwidth mobile-visible"><a href="/f/impressum.html" title="Interner Link: Impressum">Impressum</a></li> 2863 2864 <li class="halfwidth mobile-visible"><a href="/f/nutzungsbedingungen.html" title="Interner Link: Nutzungsbedingungen">Nutzungsbedingungen</a></li> 2865 2866 </ul> 2867 </div> 2868 </div> 2869 <div class="row footerend"> 2870 <div class="col-md-3"> 2871 <div class="logo"></div> 2872 </div> 2873 <div class="col-md-4"> 2874 <div class="bottom">© 2026 St.Galler Stadtwerke</div> 2875 </div> 2876 <div class="col-md-5"> 2877 <ul class="inline-list bottom"> 2878 2879 <li class="footnote-element inline-desktop-visible"><a href="/f/datenschutz.html" title="Interner Link: Datenschutz">Datenschutz</a></li> 2880 2881 <li class="footnote-element inline-desktop-visible"><a href="/f/impressum.html" title="Interner Link: Impressum">Impressum</a></li> 2882 2883 </ul> 2884 <div class="social-icons pull-right desktop-visible"> 2885 <ul class="inline-list"> 2886 <li class="footnote-element"><a class="social-icon" href="https://www.facebook.com/St.GallerStadtwerke/" title="Facebook" target="_blank"><i class="fab fa-2x fa-facebook"></i></a></li> 2887 2888 <li class="footnote-element"><a class="social-icon" href="https://www.instagram.com/stgallerstadtwerke" title="Instagram" target="_blank"><i class="fab fa-2x fa-instagram"></i></a></li> 2889 <li class="footnote-element"><a class="social-icon" href="https://www.linkedin.com/company/stgaller-stadtwerke/" title="LinkedIn" target="_blank"><i class="fab fa-2x fa-linkedin"></i></a></li> 2890 </ul> 2891 </div> 2892 </div> 2893 </div> 2894 </div> 2895</footer> 2896 </div> 2897 </div> 2898 </div> 2899 2900 <!-- siteimprove Tracking Code --> 2901
2901<script type="text/javascript"> 2902 /*<![CDATA[*/ 2903 (function() { 2904 var sz = document.createElement('script'); sz.type = 'text/javascript'; sz.async = true; 2905 sz.src = '//siteimproveanalytics.com/js/siteanalyze_6027256.js'; 2906 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(sz, s); 2907 })(); 2908 /*]]>*/ 2909 </script>
2909 2910 2911</body> 2912 2913 </html> 2914 2915 2916 2917 2918
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.