1<!DOCTYPE html> 2 3 4 5 6 7<html lang="en"> 8 9<head id="head"> 10 11 <meta charset="utf-8"> 12 13 14 15<title>ETP AB | Login</title> 16 17<meta name="Title" content="ETP AB | Login"> 18<meta name="Description" content=""> 19 20 21
22<script src='//eu.fw-cdn.com/10155609/109022.js' chat='true'></script>
22<script type="text/javascript" charset="UTF-8" src="//cdn.cookie-script.com/s/07b9d16e1b6c49f193c5cb271c4ca0c0.js"></script>
22 23 24 25 26 27<!-- Google Tag Manager -->
28<script>
vendor: 451 bytes, lines 28-36
28 29 (function (w, d, s, l, i) { 30 w[l] = w[l] || []; w[l].push({ 31 'gtm.start': 32 new Date().getTime(), event: 'gtm.js' 33 }); var f = d.getElementsByTagName(s)[0], 34 j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 35 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); 36 })(window, document, 'script', 'dataLayer', '
36GTM-T85K99V
vendor: 3 bytes, line 36
36');
36</script>
36 37<!-- End Google Tag Manager --> 38 39 40 <link href="/Content/fonts/MavenPro/MavenPro.css?family=Maven+Pro:400,500,700,900" rel="stylesheet" type="text/css" /> 41 42 <link href="/Content/css/theme.wb.app.min.css" type="text/css" rel="stylesheet" /> 43<link href="/Content/css/bundle?v=gPRfPXRxfgyNkFUf9q2Zo2BCFbFk8hDR3r_jLPu6c3U1" rel="stylesheet"/> 44 <link href="/Home/GetCustomCss/4?v=639112339783700000" type="text/css" rel="stylesheet" /> 45 46 47 <link rel="apple-touch-icon" sizes="57x57" href="/image/getthumbnail/2048?width=57&height=57&version=1&s=001"> 48 <link rel="apple-touch-icon" sizes="60x60" href="/image/getthumbnail/2048?width=60&height=60&version=1&s=001"> 49 <link rel="apple-touch-icon" sizes="72x72" href="/image/getthumbnail/2048?width=72&height=72&version=1&s=001"> 50 <link rel="apple-touch-icon" sizes="76x76" href="/image/getthumbnail/2048?width=76&height=76&version=1&s=001"> 51 <link rel="apple-touch-icon" sizes="114x114" href="/image/getthumbnail/2048?width=114&height=114&version=1&s=001"> 52 <link rel="apple-touch-icon" sizes="120x120" href="/image/getthumbnail/2048?width=120&height=120&version=1&s=001"> 53 <link rel="apple-touch-icon" sizes="144x144" href="/image/getthumbnail/2048?width=144&height=144&version=1&s=001"> 54 <link rel="apple-touch-icon" sizes="152x152" href="/image/getthumbnail/2048?width=152&height=152&version=1&s=001"> 55 <link rel="apple-touch-icon" sizes="180x180" href="/image/getthumbnail/2048?width=180&height=180&version=1&s=001"> 56 <link rel="icon" type="image/png" sizes="192x192" href="/image/getthumbnail/2048?width=192&height=192&version=1&s=001"> 57 <link rel="icon" type="image/png" sizes="32x32" href="/image/getthumbnail/2048?width=32&height=32&version=1&s=001"> 58 <link rel="icon" type="image/png" sizes="96x96" href="/image/getthumbnail/2048?width=96&height=96&version=1&s=001"> 59 <link rel="icon" type="image/png" sizes="16x16" href="/image/getthumbnail/2048?width=16&height=16&version=1&s=001"> 60 <meta name="msapplication-TileColor" content="#ffffff"> 61 <meta name="msapplication-TileImage" content="/image/getthumbnail/2048?width=144&height=144&version=1&s=001"> 62 <meta name="theme-color" content="#ffffff"> 63 64 65 <!--PAGESTYLE--> 66 67 68 <!-- Viewport --> 69 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" /> 70 71 72
72<script src="/Scripts/jquery-3.6.0.min.js"></script>
72 73
73<script src="/Scripts/jquery-migrate-3.3.2.min.js"></script>
73 74
74<script defer src="/Scripts/jquery-ui-1.14.1.min.js"></script>
74 75 76
76<script src="/bundles/js/jquery-signalr?v=X1D8QVorupVtydBiuHh8eemyr9VWjTnvzdmEss6Znz01"></script>
76 77 78
78<script src="/signalr/hubs"></script>
78 79 80 81 82 83 84 85
86<script> 87 (function (PT, $, undefined) { 88 PT.Translation = (function () { 89 var pub = {}; 90 pub.Cart_Is_Updated = 'Cart is updated'; 91 pub.MiniCart_Is_Updated = 'Minicart is updated'; 92 pub.None_Selected = 'None Selected'; 93 pub.Selected = 'Selected'; 94 pub.Representative_Image = 'Representative picture only'; 95 pub.Clear = 'Clear'; 96 pub.Delete = 'Delete'; 97 pub.AddedToFavorites = 'Product is added to wishlist.'; 98 pub.RemovedFromFavorites = 'Product is removed from favorites.'; 99 pub.Search = 'Search'; 100 pub.Cart_Line_Removed = 'Cart line removed.'; 101 pub.Qty_Must_Be_Whole_Packages = 'Qty must be whole packages'; 102 pub.Qty_Must_Be_Minimum_Package_Size = 'Qty must be minimum package size'; 103 pub.Qty_Numbers_Only = 'Quantity field must contain numbers only'; 104 pub.StockCode = 'Stock code'; 105 pub.BasketIsEmpty = 'Cart is empty'; 106 pub.Ok = 'OK'; 107 pub.Cancel = 'Cancel'; 108 return pub; 109 })(); 110 }(window.PT = window.PT || {}, window.jQuery)); 111</script>
111 112 113
113<script> 114 (function (PT, $, undefined) { 115 PT.Domain = (function () { 116 var pub = {}; 117 pub.Url = '/'; 118 return pub; 119 })(); 120 }(window.PT = window.PT || {}, window.jQuery)); 121 122 123 var domainurl = '/'; 124 var fallbackImg = '/image/getthumbnail/1000?width=500&height=500&version=1&s=001'; 125 </script>
125 126 127 128 129 130 131
131<script></script>
131<link href="https://fonts.googleapis.com/css?family=Material+Icons|Material+Icons+Filled|Material+Icons+Outlined" rel="stylesheet">
131<script> (function (d, w, c) { if(!d.getElementById("spd-busns-spt")) { var n = d.getElementsByTagName('script')[0], s = d.createElement('script'); var loaded = false; s.id = "spd-busns-spt"; s.async = "async"; s.setAttribute("data-self-init", "false"); s.setAttribute("data-init-type", "opt"); s.src = 'https://cdn.euc-freshbots.ai/assets/share/js/freshbots.min.js'; s.setAttribute("data-client", "872fa3bf1569872bd92e1475f7536bd206bbd122"); s.setAttribute("data-bot-hash", "48b3ee6aa9010d49039a204161cdcc6848a04b4a"); s.setAttribute("data-env", "prod"); s.setAttribute("data-region", "euc"); if (c) { s.onreadystatechange = s.onload = function () { if (!loaded) { c(); } loaded = true; }; } n.parentNode.insertBefore(s, n); } }) (document, window, function () { Freshbots.initiateWidget({ autoInitChat: false, getClientParams: function () { return ; } }, function(successResponse) { }, function(errorResponse) { }); }); </script>
131<script type="text/javascript" id="hs-script-loader" async defer src="//js-eu1.hs-scripts.com/148037515.js"></script>
131<script></script>
131 132 133
133<script src="/Content/js/PT/PT.Analytics.js?v=3"></script>
133 134 135 136 137</head> 138 139 140<body data-environment="Production" class="" data-metakeys="sitename,mastername,masterdescription,pagetitle" 141 data-comp="SE" data-loggedin="False" data-customer="W001"> 142 143 <div id="PTPageEventSink"></div> 144 145
145<script src="/Scripts/js/pageevents?v=N99cmeXhA8uBgILtIUx9iAv13kpkun5e-qN79zj4x2g1"></script>
145 146 147 148 149 150 151 152 153<!-- Google Tag Manager (noscript) -->
vendor: 73 bytes, lines 153-155
153 154<noscript> 155 <iframe src="https://www.googletagmanager.com/ns.html?id=
155GTM-T85K99V
vendor: 96 bytes, lines 155-157
155" 156 height="0" width="0" style="display:none;visibility:hidden"></iframe> 157</noscript>
158<!-- End Google Tag Manager (noscript) --> 159 <div id="print"></div> 160 161 162 <!-- Notifier Partial --> 163 <div class="notifier-container"> 164 <a href="#" class="notifier-close" aria-label="Close"><span class="icon-cancel-squared" aria-hidden="true"></span> </a> 165 <p id="notifier-text"></p> 166 </div> 167 168 <div class="page pt-page-login" data-pageid="2"> 169 <input type="hidden" name="MasterLayoutId" value="4" /> 170 171 172 <div id="floatingBarsG" style="top: 50%;"> 173 <div class="blockG" id="rotateG_01"> 174 </div> 175 <div class="blockG" id="rotateG_02"> 176 </div> 177 <div class="blockG" id="rotateG_03"> 178 </div> 179 <div class="blockG" id="rotateG_04"> 180 </div> 181 <div class="blockG" id="rotateG_05"> 182 </div> 183 <div class="blockG" id="rotateG_06"> 184 </div> 185 <div class="blockG" id="rotateG_07"> 186 </div> 187 <div class="blockG" id="rotateG_08"> 188 </div> 189 </div> 190 191 192 <div id="ptmodal" class="modal fade" tabindex="-1"> 193 <div class="modal-dialog modal-lg"> 194 <div class="modal-content"> 195 196 </div> 197 </div> 198 </div> 199 200 201 <div id="topViewElements" class="col-xs-12 col-lg-8 col-lg-offset-2 hidden"> 202 203 </div> 204 205 <!-- Header --> 206 207 <!-- Main --> 208 <main id="cd-main-content" class="cd-main-content"> 209 210 211 <!-- ContentDetail --> 212 213 214 215 216 217 218 219 220 221 <div class="content"> 222 <input type="hidden" name="PAGEID" value="2" /> 223 <input type="hidden" id="CurrentUserName" /> 224<div class='container login-row'> <div data-rowid="6" class="row login-row "> 225 <div data-columnid="12" class="col-sm-12 "> 226 227 228 229 230 231 <section id="section_604" class="section section_Image section_604 " data-lazysection-routevalues="{"sectionid":604}" data-lazyload="false" data-action="Home/ImageSection" data-sectionid="604" data-view="Image/_Image_FullSize"> 232 233 234<img alt="" loading="lazy" src="/image/getthumbnail/1568?version=1&s=001" /> </section> 235 <section id="section_14" class="section section_Login section_14 " data-lazysection-routevalues="{"sectionid":14}" data-lazyload="false" data-action="User/LoginSection" data-sectionid="14" data-view="User/_Login"> 236<h3 class="sub-header">Login</h3> 237 238 239 240<form action="/user/login" class="form-horizontal" id="loginform" method="post"><input name="__RequestVerificationToken" type="hidden" value="AlrtNk7JgVo-16A4UxY1RiWLTCKJ1XtTSPfNZ94kaplfRHs9dsG5nRguAxxL5qy5Ys9-8VgVO_xs8rzYCo2lUWFWrLM1" /><input id="ReturnUrl" name="ReturnUrl" type="hidden" value="/Home/Index" /><input data-val="true" data-val-required="The KeepBasket field is required." id="KeepBasket" name="KeepBasket" type="hidden" value="False" /> <div class="row"> 241 <div class="col-md-5"> 242 <div class="form-group"> 243 <label for="User_UserName" class="nowrap col-sm-12 control-label control-label-lg text-uppercase align-left ">Email</label> 244 <div class="col-sm-8 top10"> 245 <input autocomplete="off" class="form-control input-lg" id="User_UserName" name="User.UserName" placeholder="Email" type="text" value="" /> 246 <span class="field-validation-valid" data-valmsg-for="User.UserName" data-valmsg-replace="true"></span> 247 </div> 248 </div> 249 </div> 250 <div class="col-md-5"> 251 <div class="form-group"> 252 <label for="User_Password" class="nowrap col-sm-12 control-label control-label-lg text-uppercase align-left">Password</label> 253 <div class="col-sm-8 top10"> 254 <input autocomplete="off" class="form-control input-lg" id="User_Password" name="User.Password" placeholder="Password" type="password" value="" /> 255 <span class="field-validation-valid" data-valmsg-for="User.Password" data-valmsg-replace="true"></span> 256 </div> 257 </div> 258 </div> 259 <div class="col-md-2 top37"> 260 <button type="submit" class="btn btn-primary btn-lg btn-block">Login</button> 261 </div> 262 </div> 263 <div class="row"> 264 <p id="login-response-msg-holder"><p /> 265 <div class="col-md-5"> 266 <div class="form-group error-message"> 267 268 <div class="hidden" id="validationSum"> 269 <div class="validation-summary-valid" data-valmsg-summary="true"><ul><li style="display:none"></li> 270</ul></div> 271 </div> 272 </div> 273 </div> 274 </div> 275</form>
276<script> 277 $(document).ready(function () { 278 setTimeout(function () { 279 if ($('.validation-summary-errors').length > 0) { 280 var errorMsg; 281 if ($('.validation-summary-errors').find('li')[0].innerText === undefined) { 282 errorMsg = $('.validation-summary-errors').find('li')[0].textContent; 283 } else { 284 errorMsg = $('.validation-summary-errors').find('li')[0].innerText; 285 } 286 if (errorMsg.length > 0) 287 alertify.error(errorMsg); 288 } 289 }, 200); 290 }); 291</script>
291 </section> 292 <section id="section_228" class="section section_ForgotPassword section_228 " data-lazysection-routevalues="{"sectionid":228}" data-lazyload="false" data-action="User/ForgotPasswordSection" data-sectionid="228" data-view="User/_ForgotPassword"> 293<h3 class="sub-header">Forgot or reset Password</h3> 294<p>To reset your password, enter your email below and click send. A password reset link will be sent to your mailbox.</p> 295 296<form class="form-horizontal"> 297 <input name="__RequestVerificationToken" type="hidden" value="lKhtxf49CDT8c3IkFmUkdu3d_Z02yvDxOmXG_EKnIUkCw7wNlnhLjL1fKXs7hgGEPuhWYl6IIht6pbRBT9AxBbUnBwY1" /> 298 <input id="SiteId" name="SiteId" type="hidden" value="001" /> 299 <label for="forgot-pw-input" class="nowrap control-label control-label-lg text-uppercase">Email address</label> 300 <div class="input-group input-group-lg"> 301 <input type="email" id="forgot-pw-input" name="email" class="form-control" data-rule-email=Email > 302 <span class="input-group-btn"> 303 <button id="js-forgot-pw" class="btn btn-primary" type="button">Send</button> 304 </span> 305 </div> 306 <p id="forgot-pw-msg"></p> 307 <!-- /input-group --> 308</form> 309 </section> 310 <section id="section_229" class="section section_SignUp section_229 " data-lazysection-routevalues="{"sectionid":229}" data-lazyload="false" data-action="User/SignupSection" data-sectionid="229" data-view="User/_SignUp"> 311 312 313<h3 class="sub-header">Apply for an account</h3> 314<p> 315 For many of our articles on our site you do not need an account. Simply browse our product range and start shopping! 316 317Want to become a user with log in credentials? 318Click button below to apply for an account. 319</p> 320 321 322 <br /> 323 <div class="row"> 324 <div class="col-sm-12"> 325 <button type="submit" onclick="GetSectionPopup('19');return false;" class="btn btn-primary btn-lg">Apply for an account</button> 326 </div> 327 </div> 328 </section> 329 330 331 </div> 332 </div> 333</div> 334 <div class="push"></div> 335 336 </div> 337 338 339 340 341 342 343 344 </main> 345 346 <!-- Footer --> 347 348 </div> 349 350 351 <div class="col-md-12" id="sessionNotification" style="position: fixed; top: 0px; background-color: #C60F21; color: #fff; z-index: 9999; display: none;"> 352 <div class="row" style="padding: 15px; padding-top: 30px; padding-bottom: 30px;"> 353 <div class="col-md-5 col-md-offset-4"> 354 <i class="fa fa-exclamation-triangle" style="font-size: 16px; margin-right: 10px;"></i> 355 Your session has been terminated due to inactivity, please login again. 356 </div> 357 </div> 358 </div> 359 360 361 362 363 <input type="hidden" id="sid" value="001" /> 364 365
365<script src="/Scripts/js/bundle?v=7jZjAz7xxlCtnMJ0cbiv1yVTEuVuXFy_oiSolUYghno1" defer></script>
365 366 367 368 <!--PAGESCRIPT--> 369 370 371 372 373
373<script></script>
373 374 375
375<script> 376 $(document).ready(function () 377 { 378 var ActivateAll = function () 379 { 380 var details = $(".quotation-details"); 381 details.PTQuotationDetails({ 382 YesMessage: "Yes", 383 NoMessage: "No", 384 Basket: 385 { 386 GetDeleteLineConfirmMessage: function () 387 { 388 return "Are you sure you want to delete the line?"; 389 }, 390 GetDeleteLineCommentConfirmMessage: function () 391 { 392 return "Are you sure you want to delete the comment?"; 393 }, 394 GetClearBasketMessage: function () 395 { 396 return "Empty basket?"; 397 }, 398 GetClearQuotationToCopyMessage: function () 399 { 400 return "Clear quotation before copying?"; 401 }, 402 GetClearCartToCopyMessage: function () 403 { 404 return "Clear cart before copying?"; 405 }, 406 GetUpdateProductDataMessage: function () 407 { 408 return "Are you sure you want to update all lines with current product data?"; 409 }, 410 }, 411 Render: 412 { 413 Messages: 414 { 415 Rendering: { Message: "Rendering...", Class: "rendering" }, 416 Saving: { Message: "Saving...", Class: "saving" }, 417 RenderFailed: { Message: "Render failed", Class: "renderfailed" }, 418 SaveFailed: { Message: "Save failed", Class: "savefailed" }, 419 Done: { Message: "OK", Class: "ok" }, 420 }, 421 }, 422 Parts: 423 { 424 GetDeleteConfirmMessage: function (partname) 425 { 426 var s = "Are you sure you want to delete \u0027{0}\u0027?"; 427 s = s.replace("{0}", partname); 428 return s; 429 }, 430 GetClearConfirmMessage: function () 431 { 432 return "Are you sure you want to delete all parts?"; 433 }, 434 } 435 }); 436 }; 437 438 $("body").on("update_basket", function () 439 { 440 ActivateAll(); 441 }); 442 443 ActivateAll(); 444 }); 445</script>
445 446 447 448 <!--MAINSCRIPT--> 449
449<script type="text/javascript"> 450 /* Toggle forgot password */ 451$('.section_ForgotPassword > h3.sub-header').click(function() { 452 $('.section_ForgotPassword > p').toggle(); 453 $('.section_ForgotPassword > form').toggle(); 454}); 455 </script>
455 456 457 458 459 460 461 <form id="OneGenericWebToPrintForm" class="hidden" method="POST" 462 action="/WebToPrint/CreatePdf" target="OneGenericPrintPdfLanding"> 463 <input type="hidden" id="OnePageType" name="OnePageType" value="" /> 464 <input type="hidden" id="OneRequestDataId" name="OneRequestDataId" value="" /> 465 <input type="hidden" id="PrintPageSize" name="PrintPageSize" value="" /> 466 <input type="hidden" id="PrintPageLandscape" name="PrintPageLandscape" value="" /> 467 <input type="hidden" id="PrintRenderEngine" name="PrintRenderEngine" value="" /> 468 <input type="hidden" id="PrintPageMarginH" name="PrintPageMarginH" value="" /> 469 <input type="hidden" id="PrintPageMarginV" name="PrintPageMarginV" value="" /> 470 <input type="hidden" id="PrintPageHeaderHeight" name="PrintPageHeaderHeight" value="" /> 471 <input type="hidden" id="PrintPageFooterHeight" name="PrintPageFooterHeight" value="" /> 472 <input type="hidden" id="PrintPageHeaderCaption" name="PrintPageHeaderCaption" value="" /> 473 <input type="hidden" id="PrintPageNrOfFiles" name="PrintPageNrOfFiles" value="" /> 474 <input type="hidden" id="PrintPagePlaceHolderStyle" name="PrintPagePlaceHolderStyle" value="" /> 475 <input type="hidden" id="PrintPageUseHeader" name="PrintPageUseHeader" value="" /> 476 <input type="hidden" id="PrintPageUseFooter" name="PrintPageUseFooter" value="" /> 477 <input type="hidden" id="PrintPageUseFrame" name="PrintPageUseFrame" value="" /> 478 <input type="hidden" id="PrintPageExternalFiles" name="PrintPageExternalFiles" value="" /> 479 <input type="hidden" id="PrintPageEmbedFonts" name="PrintPageEmbedFonts" value="" /> 480 <textarea name="WebToPrintHtml" id="WebToPrintHtml"></textarea> 481 </form> 482 <iframe style="border: none; overflow: hidden;" id="OneGenericPrintPdfLanding" class="hide" name="OneGenericPrintPdfLanding" allowfullscreen=""></iframe> 483
483<script> 484 485 $(document).ready(function () 486 { 487 if (navigator.userAgent.match(/(iPod|iPhone|iPad)/)) 488 { 489 $("#OneGenericWebToPrintForm").prop("target", "_blank"); 490 } 491 492 }); 493 494 </script>
494 495 496 497 498 <div class="device-xs visible-xs"></div> 499 <div class="device-sm visible-sm"></div> 500 <div class="device-md visible-md"></div> 501 <div class="device-lg visible-lg"></div> 502 503
503<script> 504 function ResoreMiniBasket() { 505 var data = localStorage.getItem(GetUniqueSiteId('MiniBasketContent')); 506 if (data) { 507 var baskets = $('.minibasket'); 508 baskets.each(function (e, item) { 509 $(item).replaceWith(data); 510 }); 511 } 512 } 513 $(window).bind("pageshow", function (event) { 514 if (event.originalEvent.persisted) { 515 ResoreMiniBasket(); 516 } 517 }); 518 $(document).ready(function () { 519 jQuery.extend(jQuery.validator.messages, { 520 required: 'Required field', 521 remote: "Please fix this field.", 522 email: 'The field {0} is not correct Email Address', 523 url: "Please enter a valid URL.", 524 date: "Please enter a valid date.", 525 dateISO: "Please enter a valid date (ISO).", 526 number: "Please enter a valid number.", 527 digits: "Please enter only digits.", 528 creditcard: "Please enter a valid credit card number.", 529 equalTo: "Please enter the same value again.", 530 accept: "Please enter a value with a valid extension.", 531 maxlength: jQuery.validator.format("Please enter no more than {0} characters."), 532 minlength: jQuery.validator.format("Please enter at least {0} characters."), 533 rangelength: jQuery.validator.format("Please enter a value between {0} and {1} characters long."), 534 range: jQuery.validator.format("Please enter a value between {0} and {1}."), 535 max: jQuery.validator.format("Please enter a value less than or equal to {0}."), 536 min: jQuery.validator.format("Please enter a value greater than or equal to {0}.") 537 }); 538 }); 539 </script>
539 540 541 542 543 544 545 546 547</body> 548</html> 549
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.