1 2<!DOCTYPE html> 3<html class="no-js" lang="es"> 4<head> 5 6 7 8<meta charset="utf-8"> 9<meta http-equiv="X-UA-Compatible" content="IE=edge"> 10<meta name="viewport" content="width=device-width, initial-scale=1"> 11<link rel="icon" type="image/png" href="https://cdn.teleticket.com.pe/favicon_2022.ico" /> 12<link rel="SHORTCUT ICON" href="https://cdn.teleticket.com.pe/favicon_2022.ico" /> 13 14 15<title>SignIn</title> 16<meta name="description" content="Teleticket.com.pe - Tu entrada a los mejores eventos"> 17<meta property="fb:app_id" content="185751294773934" /> 18<meta property="og:type" content="website" /> 19 20 21 <meta property="og:title" content="SignIn" /> 22 <meta property="og:url" content="https://teleticket-web-c0c8gwe9epdcbye2.brazilsouth-01.azurewebsites.net/Account/SignIn" /> 23 24<meta name="twitter:card" content="summary_large_image" /> 25<meta name="twitter:site" content="@teleticketperu" /> 26<meta name="twitter:creator" content="@teleticketperu" /> 27<meta name="twitter:domain" content="www.teleticket.com.pe" /> 28 29<meta name="twitter:title" content="Teleticket.com.pe - Tu entrada a los mejores eventos" /> 30<meta name="twitter:description" content="Encuentra entradas para los mejores eventos en Perú en Teleticket: conciertos, eventos deportivos, festivales, espectáculos teatrales y mucho más." /> 31 <meta name="google-site-verification" content="wdoyTY41EmGZxuYc-AW5fcE7Si406XPxvjeLxGeciFk" /> 32 33 34 35 36 37 38
38<script> var dataLayer = window.dataLayer = window.dataLayer || []; </script>
38 <!-- Google Tag Manager -->
38<script>
vendor: 331 bytes, line 38
38(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','
38GTM-MZ7NPMW
vendor: 3 bytes, line 38
38');
38</script>
38 <!-- End Google Tag Manager --> 39 <link rel="stylesheet" href="https://cdnp.teleticket.com.pe/Content/css/estilo-2021/bootstrap.css?v=20240131" /> 40 41 <link rel="stylesheet" href="https://cdnp.teleticket.com.pe/Content/css/estilo-2021/proceso-compra.css?v=20251207"> 42 <link rel="stylesheet" href="https://cdnp.teleticket.com.pe/Content/css/estilo-2021/login.css?v=20241028" /> 43 <link rel="stylesheet" href="https://cdnp.teleticket.com.pe/Content/css/estilo-2021/variables.css?v=20250505" /> 44 <link rel="stylesheet" href="https://cdn.teleticket.com.pe/assets/owl-carousel/2.3.4/css/owl.min.css"> 45 46 <link rel="stylesheet" href="https://cdnp.teleticket.com.pe/Content/css/estilo-2021/layout.css?v=20260217"> 47 <link rel="stylesheet" href="https://cdnp.teleticket.com.pe/Content/css/estilo-2021/modal-version.css"> 48 <link rel="stylesheet" href="https://cdnp.teleticket.com.pe/Content/css/estilo-2021/seleccion-version.css?v=20220725"> 49 <link rel="stylesheet" href="https://cdn.teleticket.com.pe/assets/fancybox/3.5.6/jquery.fancybox.min.css" /> 50 <link rel="stylesheet" href="https://cdn.teleticket.com.pe/assets/font-awesome/fontawesome-free-5.15.4-web/fontawesome-free-5.15.4-web/css/all.min.css" /> 51 <link rel="preconnect" href="https://fonts.gstatic.com"> 52 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@300;400;700&display=swap"> 53 <!-- Load Vue followed by BootstrapVue --> 54
54<script src="https://cdn.teleticket.com.pe/assets/vue/2.6.14/vue.min.js?v=20240402v1"></script>
54 55
55<script src="https://cdn.teleticket.com.pe/assets/vue-i18n/8.28.2/js/vue-i18n.js"></script>
55 56
56<script src="https://cdn.teleticket.com.pe/assets/bootstrap/bootstrap-vue/2.21.2/bootstrap-vue.min.js?v=20240402v1"></script>
56 57 <!-- JS no async --> 58
58<script src="https://cdn.teleticket.com.pe/assets/jquery/2.1.1/jquery.min.js"></script>
58 59 <!--Axios--> 60
60<script src="https://cdn.teleticket.com.pe/assets/axios/0.24.0/axios.min.js"></script>
60 61 62
62<script type='text/javascript'> 63 var appInsights=window.appInsights||function(config) 64 { 65 function r(config){ t[config] = function(){ var i = arguments; t.queue.push(function(){ t[config].apply(t, i)})} } 66 var t = { config:config},u=document,e=window,o='script',s=u.createElement(o),i,f;for(s.src=config.url||'//az416426.vo.msecnd.net/scripts/a/ai.0.js',u.getElementsByTagName(o)[0].parentNode.appendChild(s),t.cookie=u.cookie,t.queue=[],i=['Event','Exception','Metric','PageView','Trace','Ajax'];i.length;)r('track'+i.pop());return r('setAuthenticatedUserContext'),r('clearAuthenticatedUserContext'),config.disableExceptionTracking||(i='onerror',r('_'+i),f=e[i],e[i]=function(config, r, u, e, o) { var s = f && f(config, r, u, e, o); return s !== !0 && t['_' + i](config, r, u, e, o),s}),t 67 }({ 68 instrumentationKey:"9074188e-5cfc-43a7-822f-6d0ce14d69ef" 69 }); 70 window.appInsights=appInsights; 71 appInsights.trackPageView(); 72 </script>
72 73</head> 74<body> 75 76 <!-- Google Tag Manager (noscript) -->
vendor: 69 bytes, line 76
76 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
76GTM-MZ7NPMW
vendor: 85 bytes, line 76
76" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
76<!-- End Google Tag Manager (noscript) --> 77 78 <div class="menu-side" id="menu-side-container"> 79 <div class="overlay--menu"></div> 80 <!-- MOVIL --> 81 <div class="content-menu-movil d-block d-md-none d-lg-none menu-cuenta"> 82 <div class="logeado"> 83 <div id="accordionB"> 84 <div class="categoria--mov"> 85 <div class="card-header" id="headingTwo"> 86 <span role="button" data-toggle="collapse" data-target="#cuenta-mov" aria-expanded="true" aria-controls="cuenta-mov" v-t="'layout.welcome'"> 87 <i class="fas fa-chevron-down"></i> Bienvenido 88 </span> 89 </div> 90 <div id="cuenta-mov" class="collapse show" aria-labelledby="headingTwo" data-parent="#accordion"> 91 <div class="card-body"> 92 <div id="menu-home" class="d-flex flex-column"> 93 <a class="link-categoria text-uppercase" href="https://teleticket.com.pe/Cliente/MisOrdenes" data-value="1" data-ga-tracking="event, Homepage, Click, SubMenuMusica-ClienteID:0" v-t="'layout.orders'"> 94 MIS COMPRAS 95 </a> 96 <a class="link-categoria text-uppercase" href="https://teleticket.com.pe/Cliente/MisETickets" data-value="2" data-ga-tracking="event, Homepage, Click, SubMenuDeportes-ClienteID:0"> 97 E-TICKETS 98 </a> 99 <a class="link-categoria text-uppercase" href="https://teleticket.com.pe/Cliente/MisDevoluciones" data-ga-tracking="event, Homepage, Click, SubMenuDeportes-ClienteID:0" v-t="'layout.devolutions'"> 100 Mis Devoluciones 101 </a> 102 <a class="link-categoria text-uppercase" href="/Cliente/CambioContrasena" data-value="2" data-ga-tracking="event, Homepage, Click, SubMenuDeportes-ClienteID:0" v-t="'layout.changePassword'"> 103 Cambiar Contraseña 104 </a> 105 <a class="link-categoria text-uppercase" href="https://teleticket.com.pe/Account/SignOut" data-value="3" data-ga-tracking="event, Homepage, Click, SubMenuTeatro-ClienteID:0" v-t="'layout.logOut'"> 106 CERRAR SESIÃN 107 </a> 108 </div> 109 </div> 110 </div> 111 </div> 112 </div> 113 </div> 114 <!-- INGRESO MOVIL --> 115 <div class="puntos-venta__movil visita" style="display: none"> 116 <div class="d-flex ingreso--movil"> 117 <a class="" href="https://teleticket.com.pe/Account/SignIn" target="_self"> 118 <i class="fa fa-user"></i> {{ $t('layout.signIn') }} 119 </a> 120 </div> 121 </div> 122 <!-- FIN INGRESO MOVIL --> 123 <!-- REGISTRO MOVIL --> 124 <div class="puntos-venta__movil visita" style="display: none"> 125 <div class="card-header d-flex ingreso--movil"> 126 <a class="" href="https://teleticket.com.pe/Account/Register" target="_self"> 127 <i class="log-in"> 128 <img src="https://cdnp.teleticket.com.pe/Content/images/estilo-2021/icon/log-in.svg" alt="Registrate"> 129 </i> {{ $t('layout.signUp') }} 130 </a> 131 </div> 132 </div> 133 <!-- MENU MOVIL --> 134 <div id="accordion" class="accordion"> 135 <div class="categoria--mov"> 136 <div class="card-header" id="headingOne">
137 <span data-toggle="collapse" data-target="#cat-mov" aria-expanded="true" aria-controls="cat-mov"> 138 <i class="fas fa-chevron-down"></i> {{ $t('layout.categories') }} 139 </span> 140 </div> 141 <div id="cat-mov" class="collapse" aria-labelledby="headingOne" data-parent="#accordion"> 142 <div class="card-body"> 143 <div id="menu-home" class="d-flex flex-column"> 144 <a class="link-categoria" href="/conciertos" data-ga-tracking="event, Homepage, Click, SubMenuMusica-ClienteID:0" v-t="'layout.concerts'">Conciertos</a> 145 <a class="link-categoria" href="/deportes" data-ga-tracking="event, Homepage, Click, SubMenuDeportes-ClienteID:0" v-t="'layout.sports'">Deportes</a> 146 <a class="link-categoria" href="/teatro" data-ga-tracking="event, Homepage, Click, SubMenuTeatro-ClienteID:0" v-t="'layout.theater'">Teatro</a> 147 <a class="link-categoria" href="/entretenimiento" data-ga-tracking="event, Homepage, Click, SubMenuFamilia-ClienteID:0" v-t="'layout.entertainment'">Entretenimiento</a> 148 <a class="link-categoria" href="/otros" data-ga-tracking="event, Homepage, Click, SubMenuEspeciales-ClienteID:0" v-t="'layout.others'">Otros</a> 149 <a class="link-categoria" href="/todos" data-ga-tracking="event, Homepage, Click, SubMenuEspeciales-ClienteID:0" v-t="'layout.all'">Todos</a> 150 </div> 151 </div> 152 </div> 153 </div> 154 </div> 155 <!-- MENU MOVIL--> 156 <!-- BOTON CERRAR --> 157 <div class="cerrar" id="cerrar-mov"> 158 <img src="https://cdnp.teleticket.com.pe/Content/images/estilo-2021/icon/close.svg" alt="cerrar"> 159 </div> 160 <!-- BOTON CERRAR--> 161 <!-- PUNTOS DE VENTA --> 162 <div class="puntos-venta__movil last"> 163 <div role="tab" id="headingOne"> 164 <a href="https://teleticket.com.pe/puntosventa" class="puntos"> 165 <i class="fas fa-map-marker-alt"></i> <span>PUNTOS DE VENTA</span> 166 </a> 167 </div> 168 </div> 169 <!-- FIN PUNTOS DE VENTA --> 170 </div> 171 <!-- FIN MOVIL --> 172 <!-- DESKTOP --> 173 <div class="container"> 174 <div class="nav-category navbar-collapse d-none d-sm-none d-md-block d-lg-block"> 175 <div id="menu-home" class="d-flex"> 176 <a class="link-categoria" href="/conciertos" data-ga-tracking="event, Homepage, Click, SubMenuMusica-ClienteID:0" v-t="'layout.concerts'">Conciertos</a> 177 <a class="link-categoria" href="/deportes" data-ga-tracking="event, Homepage, Click, SubMenuDeportes-ClienteID:0" v-t="'layout.sports'">Deportes</a> 178 <a class="link-categoria" href="/teatro" data-ga-tracking="event, Homepage, Click, SubMenuTeatro-ClienteID:0" v-t="'layout.theater'">Teatro</a> 179 <a class="link-categoria" href="/entretenimiento" data-ga-tracking="event, Homepage, Click, SubMenuFamilia-ClienteID:0" v-t="'layout.entertainment'">Entretenimiento</a> 180 <a class="link-categoria" href="/otros" data-ga-tracking="event, Homepage, Click, SubMenuEspeciales-ClienteID:0" v-t="'layout.others'">Otros</a> 181 <a class="link-categoria" href="/todos" data-ga-tracking="event, Homepage, Click, SubMenuEspeciales-ClienteID:0" v-t="'layout.all'">Todos</a> 182 </div> 183 </div> 184 </div> 185 </div> 186 187 <!-- DESKTOP --> 188 <!-- header 2021 --> 189 <div class="header--compra"> 190 <div class="container"> 191 <a href="https://teleticket.com.pe"> 192 <img src="https://cdnp.teleticket.com.pe/Content/images/estilo-2021/logos/logo.png?v=20220725" alt="Teleticket" class="img-fluid float-right float-md-left"> 193 </a> 194 </div> 195 <div class="border--bottom__header"></div> 196 </div> 197 198 <!-- header 2021 --> 199 <div id="body-content"> 200 201 202 203 204<div style="min-height: 84.2vh"> 205 206 207<main class=""> 208 <div class="grid--login d-flex flex-column flex-md-row"> 209 <div class="left--login w-100 w-sm-50"> 210 <div class="container--left"> 211 <div class="d-flex idiomas flex-row"> 212 <button type="button" data-link="/Account/ChangeLanguage?returnUrl=%2FAccount%2FSignIn&language=es" id="btn-lang-es" class="link--lang lang--activo">Español</button>
213 <span>|</span> 214 <button type="button" data-link="/Account/ChangeLanguage?returnUrl=%2FAccount%2FSignIn&language=en" id="btn-lang-en" class="link--lang">English</button> 215 <span>|</span> 216 <button type="button" data-link="/Account/ChangeLanguage?returnUrl=%2FAccount%2FSignIn&language=pt" id="btn-lang-pt" class="link--lang">Portugues</button> 217 </div> 218 <!-- FORMULARIO --> 219 <div class="tabs"> 220 <div class="containersTabs"> 221 <div class="tab" id="internacional"> 222 <form id="form-login-ext" method="post" class="form_interno"> 223 <div class="form-group"> 224 <label for="username-ext">Email</label> 225 <input type="text" class="form-control password-input" id="username-ext" name="username-ext" placeholder="Ingresa tu email"> 226 </div> 227 <div class="form-group"> 228 <div class="content"> 229 <label for="password">Contraseña</label> 230 <input type="password" placeholder="Contraseña" name="password-ext" class="input_clave form-control" id="password-ext"> 231 <i class="fas fa-eye-slash eye-icon" id="ojo" onclick="toggle()"></i> 232 </div> 233 </div> 234 <div id="recaptcha-ext" style="transform: scale(0.77); -webkit-transform: scale(0.77); transform-origin: 0 0; -webkit-transform-origin: 0 0;"></div> 235 <div id="error-login-ext" class="error-login" role="alert" style="display: none;"></div> 236 <div class="col-12 col-sm-6 col-md-6 col-lg-6"> 237 <div class="row"> 238 <button class="seleccionar" id="btn-login-ext" type="submit">Ingresa</button> 239 </div> 240 </div> 241 </form> 242 </div> 243 </div> 244 </div> 245 <!-- FORMULARIO --> 246 </div> 247 <div class="contrasenas"> 248 <div class="container--left"> 249 <div class="d-flex flex-row justify-content-between links--contrasena"> 250 <a href="https://teleticket.com.pe/Account/RequestPasswordReset">¿Olvidaste tu contraseña?</a> 251 <a href="https://teleticket.com.pe/Account/Register">¿Aún no tienes cuenta? Regístrate</a> 252 </div> 253 </div> 254 </div> 255 </div> 256 <div class="right--login w-100 w-sm-50 d-none d-sm-block"> 257 <div id="contaianer"> 258 <section id="wrap"> 259 <div class="p1" data-speed="0.01" data-revert="true"></div> 260 <div class="p2" data-speed="0.02"></div> 261 </section> 262 </div> 263 </div> 264 </div> 265</main> 266 267<div id="modalValidacionIP"> 268 269 <b-modal id="modal-validacionIP" :title="$t('modal.title')" modal-class="modal-pt-01" centered hide-footer no-close-on-esc no-close-on-backdrop> 270 <template #modal-header="{ close }" class="modal-pt-01"> 271 272 <img style="padding: 0 1rem;" src="/Content/images/estilo-2021/icon/candado.png" alt="img" /> 273 <h5 class="title" style="color: black;">Hemos añadido un método de verificación</h5> 274 275 <button size="sm" class="modal-pt-01__btn-cerrar" @click="close()"> 276 <i class="fas fa-times" style="font-size: 1.2rem"></i> 277 </button> 278 </template> 279 280 <form @submit="onSubmit"> 281 <p style="text-align: justify; color: black;" class="px-30 py-10"> 282 Por tu seguridad, hemos añadido un método adicional de verificación. <br /> 283Para continuar, enviamos un código de {{largoCodigo}} dÃgitos a <span class="font-weight-bold">
283 {{ twoFactorResponse.emailCodigo }} </span> registrado en tu cuenta. 284 </p> 285 286 <div style="color: black;" class="bgfranja mt-10"> 287 <h4>¡Falta poquito!</h4> 288 <p>Para finalizar ingresa el código que te enviamos a tu mail.</p> 289 </div> 290 291 <div v-if="requestCompletarSignInEstado != requestCompletarSignInEstados.FINALIZADO_OK" style="color: black;" class="text-center mt-10"> 292 <p class="text-center font-weight-bolder" style="font-size: 1rem"> 293 Ingresa el código 294 </p> 295 <input type="text" class="input-codigo" 296 :max="maxLargoNumber" 297 :disabled="contadorFinalizado || requestsCodErrores[105] == requestCompletarSignInEstadoCodError" 298 @keydown="onInputCodigoKeydown" 299 @paste="onPegarCodigo" 300 @keypress="onInputCodigoKeyPress" 301 v-model="inputCodigo" 302 :style="{ 'padding-inline-start': inputPaddingInlineStart }" /> 303 </div> 304 305 <div v-if="requestCompletarSignInEstado == requestCompletarSignInEstados.FINALIZADO_OK" class="verificacion-ok-wrapper"> 306 <i style="color: var(--azul); font-size: 2.6rem; margin-bottom: .5rem" class="far fa-check-circle"></i> 307 <p class="font-weight-bold" style="font-size: 1rem;">Código válido</p> 308 </div> 309 310 <div v-else-if="errorMensaje" class="verificacion-nok-wrapper"> 311 <p>{{ errorMensaje.titulo }}</p> 312 <p class="font-weight-bold">{{ errorMensaje.mensaje }}</p> 313 </div> 314 315 <div v-else style="color: black; padding-bottom: 16px;" class="d-flex flex-column justify-content-center align-items-center botonera-body"> 316 <p v-if="debug"> 317 mostrarMensajeReenviar: {{ mostrarMensajeReenviar }} 318 </p> 319 320 <p v-if="procesoEstado != estadosValidacionIP.TIMEOUT && mostrarMensajeReenviar"> 321 Reenviar código en {{ `${contadorDuracionCodigo.minutos}:${contadorDuracionCodigo.segundos}` }} 322 </p> 323 324 <p v-if="debug"> 325 procesoEstado: {{ procesoEstado }} requestCompletarSignInEstado: {{ requestCompletarSignInEstado }} 326 </p> 327 328 <a v-if="procesoEstado == estadosValidacionIP.TIMEOUT" 329 class="mb-10" 330 @click="solicitarNuevoCodigo" 331 :disabled="requestSolicitarCodigo == requestSolicitarCodigoEstados.ENVIADO" 332 href="#"> 333 Reenviar código 334 </a> 335 336 <div v-if="requestCompletarSignInEstado == requestCompletarSignInEstados.FINALIZADO_ERROR" class="verificacion-nok-wrapper"> 337 <i style="color: var(--rojo); font-size: 2.6rem; margin-top: .5rem" class="fas fa-times-circle"></i> 338 <p>Código erróneo</p> 339 </div> 340 341 <input type="submit" hidden /> 342 343 <button v-f="requestCompletarSignInEstado == requestCompletarSignInEstados.INACTIVO" 344 :disabled="btnEnvioCodigoEstado || inputCodigo.length < largoCodigo" 345 ref="btnEnviarCodigo" 346 class="text-uppercase w-75 btn btn-rojo" 347 @click="enviarCodigo" 348 type="button"> 349 <template v-if="requestCompletarSignInEstado != requestCompletarSignInEstados.ENVIADO"> 350 Confirmar 351 </template> 352 <b-spinner v-else-if="requestCompletarSignInEstado == requestCompletarSignInEstados.ENVIADO" label="Loading..."></b-spinner> 353 </button> 354 </div> 355 356 <div style="overflow: hidden;" class="px-30 py-10"> 357 <div style="float: left; margin-right: 15px;"> 358 <img src="/Content/images/estilo-2021/icon/campanita.png" alt="img" /> 359 </div> 360 <p style="text-align: justify; color: black;"> 361 Si no recibes el correo, revisa tu carpeta de no deseados o spam. 362 </p> 363 </div> 364 </form> 365 </b-modal> 366</div> 367 368 369</div> 370 371 372 </div> 373 374 <div class="cookie-disclaimer" style="display: none;"> 375 <div class="row align-items-center justify-content-center justify-content-md-start"> 376 <div class="col-auto"> 377 <div class="row"> 378 <div class="col-10"> 379 <h3 class="cookie-disclaimer__titulo">Nuestro sitio web utiliza cookies.</h3> 380 </div> 381 <div class="col-2" style=" margin-top:10px;"> 382 <div class="outer">
383 <div id="btn-cerrar-cookies" class="inner"> 384 <label class="label-cerrar-cookies">Cerrar</label> 385 </div> 386 </div> 387 </div> 388 </div> 389 <p class="text-justify cookie-disclaimer__mensaje"> 390 Las cookies de este sitio web se usan para personalizar el contenido y los anuncios, ofrecer funciones de redes sociales y analizar el tráfico. 391 Además, compartimos información sobre el uso que haga el sitio web con nuestros partners de redes sociales, publicidad y análisis web, 392 quienes pueden combinarla con otra información que les haya proporcionado o que hayan recopilado a partir del uso que haya hecho de sus servicios. 393 </p> 394 </div> 395 <div class="col-6 col-md-auto text-center"> 396 <button class="cookie-disclaimer__btn">Aceptar</button> 397 </div> 398 </div> 399 </div> 400 401 402 403<head> 404</head> 405 406<footer id="footer" class="footer-incompleto"> 407 408 <div class="container"> 409 <div class="row"> 410 <div class="col-12 col-sm-8 col-md-8 col-lg-8"> 411 <div class="d-flex flex-row justify-content-star align-items-center links--footer"> 412 <div class="log-footer"> 413 <img src="https://cdnp.teleticket.com.pe/Content/images/estilo-2021/logos/logo-footer-mov.jpg" alt="logo footer"> 414 </div> 415 416 <div> 417 <ul class="m-0 p-0"> 418 <li> 419 <a href="https://teleticket.com.pe/paginas/TerminoCondiciones">Términos y condiciones</a> 420 </li> 421 </ul> 422 </div> 423 </div> 424 </div> 425 </div> 426 </div> 427 428</footer> 429 430 431 432 433
433<script type="text/javascript" src="https://cdn.teleticket.com.pe/assets/jquery.bcSwipe/jquery.bcSwipe.min.js"></script>
433 434
434<script type="text/javascript" src="https://cdn.teleticket.com.pe/assets/jquery-slidebars/slidebars.min.js"></script>
434 435
435<script type="text/javascript" src="https://cdn.teleticket.com.pe/assets/jquery.autocomplete/1.2.2/jquery.autocomplete.min.js"></script>
435 436
436<script type="text/javascript" src="https://cdn.teleticket.com.pe/assets/jquery.screwdefaultbuttons/2.0.6/jquery.screwdefaultbuttons.min.js"></script>
436 437
437<script type="text/javascript" src="https://cdn.teleticket.com.pe/assets/jquery.readmore/readmore.min.js"></script>
437 438
438<script type="text/javascript" src="https://cdn.teleticket.com.pe/assets/jquery.placeholder/2.0.8/jquery.placeholder.js"></script>
438 439
439<script type="text/javascript" src="https://cdn.teleticket.com.pe/js/jquery.rut.js"></script>
439 440
440<script type="text/javascript" src="https://cdn.teleticket.com.pe/js/jquery.validate.min.js"></script>
440 441
441<script type="text/javascript" src="https://cdn.teleticket.com.pe/js/jquery.form.js"></script>
441 442
442<script type="text/javascript" src="https://cdn.teleticket.com.pe/assets/underscore/1.8.3/underscore-min.js"></script>
442 443
443<script type="text/javascript" src="https://cdn.teleticket.com.pe/assets/bootstrap/4.6.0/js/popper.js"></script>
443 444
444<script type="text/javascript" src="https://cdnp.teleticket.com.pe/Content/js/customValidators.js?v=20240531"></script>
444 445
445<script type="text/javascript" src="https://cdnp.teleticket.com.pe/Content/js/estilo-2021/search.js?v=20250204"></script>
445 446
446<script type="text/javascript" src="https://cdn.teleticket.com.pe/assets/bootstrap/4.3.1/js/bootstrap.min.js"></script>
446 447
447<script type="text/javascript" src="https://cdn.teleticket.com.pe/assets/owl-carousel/2.3.4/js/owl.carousel.min.js"></script>
447 448
448<script type="text/javascript" src="https://cdnp.teleticket.com.pe/Content/js/utils-1.10.js?v=20240402"></script>
448 449
449<script type="text/javascript" src="https://cdnp.teleticket.com.pe/Content/js/estilo-2021/home.js?v=20221014"></script>
449 450
450<script type="text/javascript" src="https://cdnp.teleticket.com.pe/Content/js/gaEventTracking.min.js?v=20170725"></script>
450 451
451<script type="text/javascript" src="https://cdnp.teleticket.com.pe/Content/js/estilo-2021/cookie-disclaimer.js?v=20241028"></script>
451 452
452<script type="text/javascript" src="https://cdnp.teleticket.com.pe/Content/js/estilo-2021/layout.js"></script>
452 453
453<script type="text/javascript" src="https://cdn.teleticket.com.pe/assets/fancybox/3.5.6/jquery.fancybox.min.js"></script>
453 454 <!-- Luxon Datetime library --> 455
455<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/[email protected]/build/global/luxon.min.js"></script>
455 456 457
457<script type="text/javascript" src="https://cdn.teleticket.com.pe/assets/lodash/4.17.21/lodash.min.js"></script>
457 458 459 460 461
461<script type="text/javascript" src="https://cdnp.teleticket.com.pe/Content/js/estilo-2021/tweenMax.js?v=20210422"></script>
461 462
462<script type="text/javascript" src="https://cdnp.teleticket.com.pe/Content/js/estilo-2021/signIn.js?v=20210422"></script>
vendor: 155 bytes, lines 462-465
462 463 464 <script src="https://www.google.com/recaptcha/api.js?hl=es-419&onload=onloadGrecaptchaCallback&render=explicit" async defer></script> 465
465<script type="text/javascript"> 466 var recaptchaActive = true; 467 var onloadGrecaptchaCallback = function () { 468 grecaptcha.render('recaptcha-ext', { 469 'sitekey': '6Leq3zIUAAAAAJ4uApshNgDMe7s1Iq3uLnJ_2fya' 470 }); 471 }; 472 </script>
472 473 474
474<script type="text/javascript"> 475 var ESTADOS_VALIDACION_IP = { 476 INACTIVO: 'INACTIVO', 477 INICIADO: 'INICIADO', 478 TIMEOUT: 'TIMEOUT' 479 } 480 481 const mensajesModalIP = { 482 en: { 483 modal: { 484 title: "Verification", 485 header: "We have added a verification method", 486 descripcion1: "For your security, we added an additional verification method.", 487 descripcion2: "To continue, we send a code of {largoCodigo} digits to {email} registered in your account.", 488 faltaPoquito: "Almost done!", 489 ingresaCodigo: "Enter the code we sent to your email.", 490 ingresaCodigoInput: "Enter code", 491 codigoValido: "Valid code", 492 reenviarCodigo: "Resend code in {minutos}:{segundos}", 493 reenviar: "Resend code", 494 confirmar: "Confirm", 495 noRecibesCorreo: "If you donât receive the email, check your spam folder.", 496 timeOut: "Timeout", 497 requestMoreCodes: "It is no longer possible to request more codes.", 498 maximunNumber: "Maximum number of attempts passed.", 499 tryAgain: "Vuelve a intentar." 500 } 501 }, 502 es: { 503 modal: { 504 title: "Verificación", 505 header: "Hemos añadido un método de verificación", 506 descripcion1: "Por tu seguridad, hemos añadido un método adicional de verificación.", 507 descripcion2: "Para continuar, enviamos un código de {largoCodigo} dÃgitos a {email} registrado en tu cuenta.", 508 faltaPoquito: "¡Falta poquito!", 509 ingresaCodigo: "Para finalizar ingresa el código que te enviamos a tu mail.", 510 ingresaCodigoInput: "Ingresa el código", 511 codigoValido: "Código válido", 512 reenviarCodigo: "Reenviar código en {minutos}:{segundos}", 513 reenviar: "Reenviar código", 514 confirmar: "Confirmar", 515 noRecibesCorreo: "Si no recibes el correo, revisa tu carpeta de no deseados o spam.", 516 timeOut: "Tiempo de espera agotado", 517 requestMoreCodes: "Ya no es posible solicitar más códigos.", 518 maximunNumber: "Máximo de intentos superados.", 519 tryAgain: "Vuelve a intentar." 520 } 521 }, 522 pt: { 523 modal: { 524 title: "Verificação", 525 header: "Adicionámos um método de verificação", 526 descripcion1: "Por sua segurança, adicionámos um método adicional de verificação.", 527 descripcion2: "Para continuar, enviamos um código de {largoCodigo} dÃgitos para {email} registado na sua conta.", 528 faltaPoquito: "Quase lá!", 529 ingresaCodigo: "Para finalizar, insira o código que enviámos para o seu email.", 530 ingresaCodigoInput: "Insira o código", 531 codigoValido: "Código válido", 532 reenviarCodigo: "Reenviar código em {minutos}:{segundos}", 533 reenviar: "Reenviar código", 534 confirmar: "Confirmar", 535 noRecibesCorreo: "Se não receber o e-mail, verifique a pasta de spam.", 536 timeOut: "Tempo esgotado", 537 requestMoreCodes: "Número máximo de tentativas aprovadas.", 538 maximunNumber: "Número máximo de tentativas aprovadas.", 539 tryAgain: "Por favor, tente novamente." 540 } 541 } 542 }; 543 544 const idiomaActual = getCookie("_ptlang") || "es"; 545 546 var modalValidacionIPApp = new Vue({ 547 el: "#modalValidacionIP", 548 i18n: new VueI18n({ 549 locale: idiomaActual, 550 messages: mensajesModalIP 551 }), 552 data: { 553 debug: false, 554 correoUsuarioOfuscado: null, 555 contadorDuracionCodigo: { 556 totalSeconds: 90, 557 minutos: -1, 558 segundos: -1, 559 intervalo: null 560 }, 561 largoCodigo: 6, 562 inputCodigo: "", 563 twoFactorResponse: { 564 sessionID: null, 565 ttlCode: 90, 566 emailCodigo: "" 567 }, 568 urlRetornoFinalizacion: null, 569 estadosValidacionIP: ESTADOS_VALIDACION_IP, 570 procesoEstado: ESTADOS_VALIDACION_IP.INACTIVO, 571 requestCompletarSignInEstado: 'INACTIVO', 572 requestCompletarSignInEstadoCodError: null, 573 requestCompletarSignInEstados: { 574 INACTIVO: 'INACTIVO', 575 ENVIADO: "enviado", 576 FINALIZADO_OK: "OK", 577 FINALIZADO_ERROR: "ERROR", 578 }, 579 requestSolicitarCodigo: 'INACTIVO', 580 requestSolicitarCodigoCodError: null, 581 requestSolicitarCodigoEstados: { 582 INACTIVO: 'INACTIVO', 583 ENVIADO: "enviado", 584 FINALIZADO_OK: "OK", 585 FINALIZADO_ERROR: "ERROR" 586 }, 587 requestsCodErrores: { 588 101: "SessionInvalida", 589 102: "SessionInvalida", 590 103: "MaximoCodigosSuperados", 591 104: "CodigoVencidoOInvalido", 592 105: "MaximoIntentosSuperados" 593 } 594 }, 595 mounted() { 596 this.$root.$on('bv::modal::hidden', (bvEvent, modalId) => { 597 if(modalId == "modal-validacionIP") { 598 $("#btn-login-ext").removeAttr('disabled'); 599 try { 600 document.querySelector('#recaptcha-ext').style.display = 'block'; 601 } catch (e) { 602 console.warn('error al intentar de mostrar el recaptcha') 603 } 604 } 605 }); 606 }, 607 computed: { 608 errorMensaje() { 609 if (this.requestSolicitarCodigoCodError == this.requestsCodErrores[101]) { 610 return { 611 titulo: this.$t('modal.timeOut'), 612 mensaje: this.$t('modal.tryAgain') 613 } 614 } 615 616 if (this.requestSolicitarCodigoCodError == this.requestsCodErrores[103]) { 617 return { 618 titulo: this.$t('modal.requestMoreCodes'), 619 mensaje: this.$t('modal.tryAgain') 620 } 621 } 622 623 if (this.requestCompletarSignInEstadoCodError == this.requestsCodErrores[105]) { 624 return { 625 titulo: this.$t('modal.maximunNumber'), 626 mensaje: this.$t('modal.tryAgain') 627 } 628 } 629 return null; 630 }, 631 btnEnvioCodigoEstado() { 632 return this.requestCompletarSignInEstado == this.requestCompletarSignInEstados.ENVIADO; 633 }, 634 contando() { 635 const { minutos, segundos } = this.contadorDuracionCodigo; 636 return minutos >= 0 && segundos >= 0 && !this.contadorFinalizado; 637 }, 638 contadorFinalizado() { 639 return parseInt(this.contadorDuracionCodigo.segundos) == 0 && parseInt(this.contadorDuracionCodigo.minutos) == 0;
640 }, 641 mostrarMensajeReenviar() { 642 const { minutos, segundos } = this.contadorDuracionCodigo; 643 return minutos >= 0 && segundos >= 0; 644 }, 645 maxLargoNumber() { 646 return parseInt(Array.from({ length: this.largoCodigo }, (v, k) => 9).join("")); 647 }, 648 inputPaddingInlineStart() { 649 return this.inputCodigo.length > 0 ? "4%" : 0; 650 } 651 }, 652 watch: { 653 procesoEstado: function () { 654 }, 655 requestCompletarSignInEstadoCodError: function (val) { 656 if(val == this.requestsCodErrores[104]) { 657 this.resetInputCodigo(); 658 this.requestCompletarSignInEstadoCodError = null; 659 } 660 }, 661 "twoFactorResponse.ttlCode": function (val, oldVal) { 662 this.contadorDuracionCodigo.totalSeconds = val;// val; 663 }, 664 "contadorDuracionCodigo.segundos": function () { 665 try { 666 if (parseInt(this.contadorDuracionCodigo.segundos) == 0 && parseInt(this.contadorDuracionCodigo.minutos) == 0) { 667 clearInterval(this.contadorDuracionCodigo.intervalo); 668 this.procesoEstado = ESTADOS_VALIDACION_IP.TIMEOUT; 669 } 670 } catch (e) { 671 console.error(e); 672 } 673 }, 674 inputCodigo() { 675 if (this.inputCodigo.length >= this.largoCodigo) { 676 this.$refs['btnEnviarCodigo'].focus(); 677 } 678 } 679 }, 680 methods: { 681 iniciarProceso2fa(AuthSessionID, TtlCode, urlRetorno, emailCodigo = "") { 682 this.requestCompletarSignInEstadoCodError = null; 683 this.requestSolicitarCodigoCodError = null; 684 this.resetInputCodigo(); 685 clearInterval(this.contadorDuracionCodigo.intervalo); 686 this.requestCompletarSignInEstado = this.requestCompletarSignInEstados.INACTIVO; 687 this.twoFactorResponse.sessionID = AuthSessionID; 688 this.twoFactorResponse.ttlCode = TtlCode; 689 this.twoFactorResponse.emailCodigo = emailCodigo; 690 this.contadorDuracionCodigo.totalSeconds = TtlCode; 691 this.urlRetornoFinalizacion = urlRetorno; 692 this.iniciarContador(); 693 this.levantarModal(); 694 this.procesoEstado = ESTADOS_VALIDACION_IP.INICIADO; 695 }, 696 resetInputCodigo() { 697 this.inputCodigo = ""; 698 }, 699 onSubmit(e) { 700 e.preventDefault(); 701 e.stopPropagation(); 702 if (this.inputCodigo.length >= this.largoCodigo) { 703 this.finalizarSignIn(); 704 } 705 return false; 706 }, 707 async finalizarSignIn() { 708 const codigo = this.inputCodigo; 709 const { sessionID } = this.twoFactorResponse; 710 try { 711 this.requestCompletarSignInEstado = this.requestCompletarSignInEstados.ENVIADO; 712 const res = await fetch(`CompletarSignIn?codigo=${codigo}&sessionID=${sessionID}`); 713 const data = await res.json(); 714 const { success, codigo: codigoError } = data; 715 716 if (success) { 717 setTimeout(() => { 718 window.location.replace(this.urlRetornoFinalizacion); 719 }, 2500); 720 this.requestCompletarSignInEstado = this.requestCompletarSignInEstados.FINALIZADO_OK; 721 } else { 722 this.requestCompletarSignInEstadoCodError = this.requestsCodErrores[codigoError]; 723 this.requestCompletarSignInEstado = this.requestCompletarSignInEstados.FINALIZADO_ERROR; 724 } 725 } catch (e) { 726 this.requestCompletarSignInEstado = this.requestCompletarSignInEstados.FINALIZADO_ERROR; 727 console.error(e); 728 } 729 if(this.requestCompletarSignInEstado != this.requestCompletarSignInEstados.FINALIZADO_OK) { 730 setTimeout(() => { 731 this.requestCompletarSignInEstado = this.requestCompletarSignInEstados.INACTIVO; 732 }, 3000); 733 } 734 }, 735 async solicitarNuevoCodigo() { 736 this.resetInputCodigo(); 737 const { sessionID } = this.twoFactorResponse; 738 this.requestCompletarSignInEstado = this.requestCompletarSignInEstados.INACTIVO; 739 740 try { 741 this.requestSolicitarCodigo = this.requestSolicitarCodigoEstados.ENVIADO; 742 const res = await fetch(`${window.location.origin}/DobleFactor/SolicitarCodigo?sessionID=${sessionID}`, { 743 method: 'POST', 744 headers: { 745 Accept: 'application/json', 746 'Content-Type': 'application/json', 747 } 748 }); 749 const data = await res.json(); 750 const { success, codigo: codigoError } = data; 751 if (success) { 752 this.iniciarProceso2fa(this.twoFactorResponse.sessionID, this.twoFactorResponse.ttlC
752ode, this.urlRetornoFinalizacion); 753 this.requestSolicitarCodigo = this.requestSolicitarCodigoEstados.FINALIZADO_OK; 754 } else { 755 this.requestSolicitarCodigo = this.requestSolicitarCodigoEstados.FINALIZADO_ERROR; 756 this.requestSolicitarCodigoCodError = this.requestsCodErrores[codigoError]; 757 console.error(`solicitarNuevoCodigo success error`) 758 } 759 } catch (e) { 760 this.requestSolicitarCodigo = this.requestSolicitarCodigoEstados.FINALIZADO_ERROR; 761 console.error(`solicitarNuevoCodigo error`, e); 762 } 763 }, 764 onPegarCodigo(e) { 765 const { length: inputLargoAntesDePegar } = this.inputCodigo; 766 setTimeout(() => { 767 var characters = e.target.value; 768 const { selectionStart, selectionEnd, value } = e.target; 769 var inputMasCharsLen = (inputLargoAntesDePegar + characters.length); 770 771 if (!(/^\d+$/.test(characters))) { 772 this.inputCodigo = characters.trim().replace(/\D/g, ''); 773 } 774 775 if (characters.length > this.largoCodigo) { 776 this.inputCodigo = this.inputCodigo.trim().substring(0, this.largoCodigo) 777 } 778 }, 50); 779 }, 780 onInputCodigoKeyPress(e) { 781 const { key } = e; 782 var noEsNumero = !Number.isInteger(Number(key)); 783 if (noEsNumero && key != "Enter") { 784 e.preventDefault(); 785 e.stopPropagation(); 786 return false; 787 } 788 }, 789 onInputCodigoKeydown(e) { 790 const { keyCode, key, ctrlKey } = e; 791 const { selectionStart, selectionEnd, value } = e.target; 792 const { length: inputLargo } = this.inputCodigo; 793 const keyCodesDisponibles = [37, 39, 8, 46];// atras, adelante, delete, suprimir 794 795 var noEsNumero = !Number.isInteger(Number(key)); //(keyCode > 31 && ((keyCode < 48 || keyCode > 57) || (e.keyCode >= 96 && e.keyCode <= 105))) && keyCode !== 46; 796 var esCopiarPegar = (keyCode == 86 || keyCode == 17) && ctrlKey; 797 // 88 cortar 798 if (this.debug) { 799 console.log('=====================================================') 800 console.log('key', key, 'keyCode', keyCode, 'noEsNumero', noEsNumero, 'selectionStart == selectionEnd', selectionStart, selectionEnd); 801 } 802 803 //keyCode 69 = e, 116 = f5 804 if ([37, 39, 8, 46, 116, 13].includes(keyCode)) { 805 if (this.debug) { 806 console.log('es tecla permitida'); 807 } 808 return true; 809 } 810 //17 ctrlleft, 86 v 811 else if (inputLargo >= this.largoCodigo && !keyCodesDisponibles.includes(keyCode) && selectionStart == selectionEnd) { 812 if (this.debug) { 813 console.log(`largo mas a ${this.largoCodigo}`, this.inputCodigo); 814 } 815 e.preventDefault(); 816 e.stopPropagation(); 817 return false; 818 } 819 else if (esCopiarPegar) { 820 return true; 821 } 822 else if (noEsNumero || keyCode == 222) { 823 if (this.debug) { 824 console.log('no es numero o key e'); 825 } 826 if (selectionStart == selectionEnd) { 827 e.preventDefault(); 828 e.stopPropagation(); 829 return false; 830 } 831 } else { 832 if (this.debug) { 833 console.log('pasa!') 834 } 835 return true; 836 } 837 }, 838 enviarCodigo() { 839 this.procesoEstado = "enviando"; 840 this.finalizarSignIn() 841 }, 842 levantarModal() { 843 this.$bvModal.show('modal-validacionIP'); 844 try { 845 document.querySelector('#recaptcha-ext').style.display = 'none'; 846 } catch (e) { 847 console.warn('error al intentar de ocultar el recaptcha') 848 } 849 }, 850 iniciarContador() { 851 this.contadorDuracionCodigo.segundos = -1; 852 this.contadorDuracionCodigo.minutos = -1; 853 this.contadorDuracionCodigo.intervalo = setInterval(this.contar, 1000); 854 }, 855 contar() { 856 this.contadorDuracionCodigo.segundos = this.pad(this.contadorDuracionCodigo.totalSeconds % 60); 857 this.contadorDuracionCodigo.minutos = this.pad(parseInt(this.contadorDuracionCodigo.totalSeconds / 60)); 858 --this.contadorDuracionCodigo.totalSeconds; 859 }, 860 pad(val) { 861 var valString = val + ""; 862 if (valString.length < 2) { 863 return "0" + valString; 864 } else { 865 return valString; 866 } 867 } 868 } 869 }); 870 871 $(document).ready(function () { 872 873 $(".dropdown li a").click(function () { 874 $(".dropdown button").text($(this).text()); 875 }); 876 877 $("#form-login-ext").validate({ 878 ignore: '', 879 rules: { 880 "username-ext": { 881 required: true, 882 email: true 883 }, 884 "password-ext": { 885 required: true, 886 minlength: 4, 887 caracterespermitidos: true 888 } 889 890 ,"g-recaptcha-response": { 891 required: true 892 } 893 894 }, 895 messages: { 896 "username-ext": { 897 required: 'Debes ingresar el email', 898 email: 'El email tiene un formato incorrecto' 899 }, 900 "password-ext": { 901 required: 'Debes ingresar la contraseña', 902 minlength: 'La contraseña debe tener entre 8 y 16 caracteres' 903 }, 904 "g-recaptcha-response": { 905 required: "Debes certificar que no eres un robot" 906 } 907 }, 908 submitHandler: function () { 909 var terminosycondicionesJson = null; 910 if ($("#terminosycondiciones").children().length > 0) { 911 terminosycondicionesJson = {}; 912 var tycDocument = $("#terminosycondiciones").children();
913 914 _.forEach($("#terminosycondiciones").children(), function (tyc) { 915 var t = tyc.control.id.replace('chbCondicionesCliente-TyC_', ''); 916 terminosycondicionesJson[t] = tyc.control.checked; 917 }); 918 } 919 var loginButton = $("#btn-login-ext"); 920 loginButton.attr('value', 'Validando...'); 921 loginButton.attr('disabled', 'disabled'); 922 923 $.ajax({ 924 type: "POST", 925 url: "/Account/SignIn", 926 data: { 927 'Username' : $("#username-ext").val(), 928 'Password': $("#password-ext").val(), 929 'TerminosYCondiciones': terminosycondicionesJson ? JSON.stringify(terminosycondicionesJson) : terminosycondicionesJson, 930 'CustomerType': '2' 931 932 , 933 'g-recaptcha-response': $("#form-login-ext textarea[name='g-recaptcha-response']").val() 934 935 }, 936 success: function (data) { 937 938 var { Success, Message, ErrorList, TwoFactorRequired, TtlCode, AuthSessionID, Email } = data; 939 Message = $.parseJSON(Message) || {}; 940 941 if (data != null) { 942 if (data.Success) { 943 if (Message.Cliente) { 944 setLoginState(Message.Cliente) 945 } 946 var returnUrl = queryString("ReturnUrl"); 947 //Si la autenticación es correcta, verificamos si se requiere el 2fa 948 let urlARedireccionar = window.location.origin + returnUrl; 949 950 if (!returnUrl || returnUrl == "false") { 951 urlARedireccionar = "https://teleticket.com.pe" 952 } 953 954 if (TwoFactorRequired) { 955 modalValidacionIPApp.iniciarProceso2fa(AuthSessionID, TtlCode, urlARedireccionar, Email) 956 } else { 957 window.location.replace(urlARedireccionar); 958 } 959 } else { 960 ShowErrorLoginExt(data.ErrorList); 961 962 var terminosycondiciones = data.TerminosCondicionesClienteHtml; 963 $('#terminosycondiciones').empty(); 964 965 _.forEach(terminosycondiciones, function (tyc) { 966 //debugger; 967 var documentTYC = ' <label><input id="chbCondicionesCliente-' + tyc.ID + '" data-obligatorio="' + tyc.obligatorio + '" type="checkbox" />' + tyc.XML + '</label>'; 968 $('#terminosycondiciones').append(documentTYC); 969 }); 970 } 971 } 972 else { 973 ShowErrorLoginExt('Ha ocurrido un error al intentar autenticar, intenta de nuevo'); 974 } 975 }, 976 error: function (data) { 977 ShowErrorLoginExt('Ha ocurrido un error al intentar autenticar, intenta de nuevo'); 978 } 979 }, 'json'); 980 }, 981 success: function (label) { 982 label.remove(); 983 }, 984 errorElement: "p", 985 errorLabelContainer: "#error-login-ext" 986 }); 987 988 function GetTycCliente(clienteID) { 989 var clienteID = "" 990 $.ajax({
991 url: "/Account/GetTerminosYCondicionesSinFirmar", 992 method: "POST", 993 data: { clienteID: clienteID }, 994 success: function(data) { 995 console.log(data); 996 }, 997 error: function(data) { 998 console.log(data); 999 } 1000 }); 1001 } 1002 }); 1003 1004 function ShowErrorLoginExt(errorList) { 1005 1006 grecaptcha.reset(0); 1007 1008 var html = ''; 1009 errorList.forEach(function(error) { html = html + '<p>' + error + '</p>'; }); 1010 $("#error-login-ext").html(html).show(); 1011 $("#btn-login-ext").attr('value', 'Ingresa').removeAttr('disabled'); 1012 } 1013 1014 function ShowErrorLogin(errorList) { 1015 1016 grecaptcha.reset(0); 1017 1018 var html = ''; 1019 errorList.forEach(function (error) { html = html + '<p>' + error + '</p>'; }); 1020 $("#error-login").html(html).show(); 1021 $("#btn-login").attr('value', 'Ingresa').removeAttr('disabled'); 1022 } 1023 1024 $(".link--lang").on("click", function () { 1025 var link = $(this).data('link'); 1026 window.location.href = link; 1027 }) 1028 1029 if (getCookie("_ptlang") == "es") { 1030 $('.link--lang').removeClass('lang--activo') 1031 $('#btn-lang-es').addClass('lang--activo') 1032 } else if (getCookie("_ptlang") === "en") { 1033 $('.link--lang').removeClass('lang--activo') 1034 $('#btn-lang-en').addClass('lang--activo') 1035 } else if (getCookie("_ptlang") === "pt") { 1036 $('.link--lang').removeClass('lang--activo') 1037 $('#btn-lang-pt').addClass('lang--activo') 1038 } else { 1039 console.warn('lang no conocido!') 1040 } 1041 </script>
1041 1042 1043 1044 1045 1046
1046<script type="text/javascript"> 1047 var DateTime = luxon.DateTime; 1048 const layoutResources = { 1049 es: { 1050 layout: { 1051 hi: 'Hola', 1052 home: 'Inicio', 1053 account: 'Mis Datos', 1054 purchasesAndETickets: 'Compras & e-Tickets', 1055 signIn: 'Ingresa', 1056 signUp: 'RegÃstrate', 1057 orders: 'Mis compras', 1058 devolutions: 'Mis Devoluciones', 1059 changePassword: 'Cambiar contraseña', 1060 logOut: 'Cerrar sesión', 1061 searchByArtist: 'Busca por artista, evento o lugar', 1062 categories: 'CategorÃas', 1063 sports: 'Deportes', 1064 concerts: 'Conciertos', 1065 others: 'Otros', 1066 entertainment: 'Entretenimiento', 1067 music: 'Música', 1068 theater: 'Teatro', 1069 family: 'Familia', 1070 specials: 'Especiales', 1071 all: 'Todos', 1072 welcome: "Bienvenido" 1073 }, 1074 sidebar: { 1075 popular: 'Destacados', 1076 puntoStore: 'PUNTOS DE RETIRO Y/O VENTA', 1077 visitOur: 'Visita nuestro:', 1078 helpCenter: 'Centro de Ayuda' 1079 } 1080 }, 1081 en: { 1082 layout: { 1083 hi: 'Hi', 1084 home: 'Home', 1085 account: "Account", 1086 purchasesAndETickets: 'Purchases and e-tickets', 1087 signIn: 'Sign In', 1088 signUp: 'Sign Up', 1089 orders: 'Orders', 1090 devolutions: 'My Returns', 1091 changePassword: 'Change password', 1092 logOut: 'Log Out', 1093 searchByArtist: 'Search by artist, event or place', 1094 categories: 'Categories', 1095 sports: 'Sports', 1096 concerts: 'Concerts', 1097 others: 'Others', 1098 entertainment: 'Entertainment', 1099 music: 'Music', 1100 theater: 'Theater', 1101 family: 'Family', 1102 specials: 'Specials', 1103 all: 'All', 1104 welcome: "Welcome" 1105 }, 1106 sidebar: { 1107 popular: "Popular", 1108 puntoStore: 'PICK UP AND/OR SALE SITES', 1109 visitOur: "Visit our:", 1110 helpCenter: 'Help Center' 1111 } 1112 }, 1113 pt: { 1114 layout: { 1115 hi: 'Olá', 1116 home: 'InÃcio', 1117 account: "Conta", 1118 purchasesAndETickets: 'Compras e e-tickets', 1119 signIn: 'Entrar', 1120 signUp: 'Cadastrar-se', 1121 orders: 'Minhas Compras', 1122 devolutions: 'Minhas Devoluções', 1123 changePassword: 'Alterar senha', 1124 logOut: 'Sair', 1125 searchByArtist: 'Buscar por artista, evento ou local', 1126 categories: 'Categorias', 1127 sports: 'Esportes', 1128 concerts: 'Concertos', 1129 others: 'Outros', 1130 entertainment: 'Entretenimento', 1131 music: 'Música', 1132 theater: 'Teatro', 1133 family: 'FamÃlia', 1134 specials: 'Especiais', 1135 all: 'Todos', 1136 welcome: "Bem-vindo" 1137 }, 1138 sidebar: { 1139 popular: "Popular", 1140 puntoStore: 'PONTOS DE RETIRADA E/OU VENDA', 1141 visitOur: "Visite nosso:", 1142 helpCenter: 'Centro de Ajuda' 1143 } 1144 } 1145 } 1146 1147 window.ptLangCookie = getCookie("_ptlang"); 1148 window.idiomas = ['es', 'en', 'pt']; 1149 window.idioma = window.idiomas.includes(window.ptLangCookie) ? window.ptLangCookie : 'es'; 1150 1151 const i18nLayout = new VueI18n({ 1152 locale: idioma,
1153 messages: layoutResources, 1154 }); 1155 1156 new Vue({ 1157 el: "#sidebar", 1158 i18n: i18nLayout 1159 }); 1160 1161 new Vue({ 1162 el: "#menu-side-container", 1163 i18n: i18nLayout 1164 }); 1165 1166 new Vue({ 1167 el: "#menu-navbar", 1168 i18n: i18nLayout, 1169 methods: { 1170 getKey(key) { 1171 return this.$i18n.t(key); 1172 } 1173 } 1174 }); 1175 1176 new Vue({ 1177 el: "#menu-top", 1178 i18n: i18nLayout 1179 }); 1180 1181 1182 $(function () { 1183 1184 function cargarInfoUserLogeado({ Nombres = '', Apellidos = '' }) { 1185 $('.nombre-cliente').html(Nombres + " " + Apellidos); 1186 } 1187 1188 var ptab = getCookie("_ptab"); 1189 1190 if (typeof ptab !== 'undefined' && ptab === "1") { 1191 $(".menu-cuenta > .visita").hide(); 1192 $(".menu-cuenta-mobile > .visita").hide(); 1193 $(".menu-cuenta > .logeado").show(); 1194 $(".menu-cuenta").show(); 1195 cargarInfoUserLogeado(getLoginState()); 1196 } 1197 else { 1198 $(".menu-cuenta > .logeado").hide(); 1199 $(".menu-cuenta-mobile > .logeado").hide(); 1200 $(".menu-cuenta > .visita").show(); 1201 $(".menu-cuenta-mobile > .visita").show(); 1202 $(".menu-cuenta").show(); 1203 try { 1204 removeLoginState(); 1205 } catch (e) { 1206 //console.error(e); 1207 } 1208 } 1209 if (typeof gaEventTracking !== 'undefined') { 1210 gaEventTracking.init({ 1211 inheritance: true 1212 }); 1213 } 1214 }); 1215 </script>
1215 1216 <!-- GetChatScript --> 1217
1217<script id="ze-snippet" src="https://static.zdassets.com/ekr/snippet.js?key=224dfbd2-da79-4541-bc1b-9905b20ebe73"></script>
1217<script type="text/JavaScript">window.zESettings = { webWidget: { color: { theme: "#AD201A" } } };</script>
1217 1218</body> 1219</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.