CINXE.COM

Simulador de Hipotecas | Cinco Días

<!DOCTYPE html> <html lang="es"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="format-detection" content="address=no,email=no,telephone=no"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" /> <meta name="theme-color" content="#222222"> <meta name="msapplication-navbutton-color" content="#222222"> <meta name="apple-mobile-web-app-status-bar-style" content="#222222"> <title>Simulador de Hipotecas | Cinco Días</title> <meta name="lang" content="es" /> <meta name="author" content="Ediciones El País" /> <meta name="description" content="Calcula la cuota mensual de tu hipoteca, intereses, principal y amortización con el simulador hipotecario de Cinco Días en EL PAÍS Economía." /> <meta name="keywords" content="calcular hipoteca, simulador amortizacion hipoteca, Euribor, calcular cuota hipoteca, calcular préstamo, simulador hipoteca, calcular cuota mensual hipoteca" /> <meta property="og:title" content=" Simulador hipotecas"/> <meta property="og:type" content="article"/> <meta property="og:description" content="Calcula la cuota mensual de tu hipoteca, intereses, principal y amortización con el simulador hipotecario de Cinco Días en EL PAÍS Economía."/> <meta property="og:url" content="https://cincodias.elpais.com/herramientas/simulador-hipotecas/"/> <meta property="og:site_name" content="EL PAÍS"/> <meta property="fb:app_id" content="208175322545407"/> <meta property="fb:pages" content="36280712574" /> <meta property="fb:admins" content="851024123, 100008251487379" /> <meta property="og:image" content="//d500.epimg.net/cincodias/iconos/v2.x/v2.1/favicon.png"/> <meta property="twitter:card" content="summary"> <meta property="twitter:site" content="@CincoDiascom"> <meta property="article:section" content="Actualidad"> <link rel="canonical" href="https://cincodias.elpais.com/herramientas/simulador-hipotecas/" /> <link rel="search" href="//d500.epimg.net/cincodias/xml/opensearch/opensearch.xml" type="application/opensearchdescription+xml" title="cincodias.com" /> <link rel="icon" href="//d500.epimg.net/cincodias/iconos/v2.x/v2.1/favicon.png" type="image/png" /> <link rel="publisher" href="https://plus.google.com/+cincodias"/> <link rel="apple-touch-icon" sizes="152x152" href="//d500.epimg.net/cincodias/iconos/v2.x/v2.1/redes/152x152.png"/> <link rel="apple-touch-icon" sizes="144x144" href="//d500.epimg.net/cincodias/iconos/v2.x/v2.1/redes/144x144.png"/> <link rel="apple-touch-icon" sizes="120x120" href="//d500.epimg.net/cincodias/iconos/v2.x/v2.1/redes/120x120.png"/> <link rel="apple-touch-icon" sizes="114x114" href="//d500.epimg.net/cincodias/iconos/v2.x/v2.1/redes/114x114.png"/> <link rel="apple-touch-icon" sizes="72x72" href="//d500.epimg.net/cincodias/iconos/v2.x/v2.1/redes/72x72.png"/> <link rel="apple-touch-icon-precomposed" href="//d500.epimg.net/cincodias/iconos/v2.x/v2.1/redes/57x57.png"/> <link href="//d500.epimg.net/cincodias/estilos/v2.x/v2.4/section-manual.css" rel="stylesheet" /> <link href="//d500.epimg.net/cincodias/estilos/v2.x/v2.4/cincodias.css" rel="stylesheet" /> <link href="//d500.epimg.net/cincodias/estilos/v2.x/v2.4/footer.css" rel="stylesheet" /> <script type="text/javascript" src="//d500.epimg.net/cincodias/js/v2.x/v2.0/cincodias.min.js"></script> <script type="text/javascript" src="//d500.epimg.net/cincodias/js/v2.x/v2.0/user-layer.min.js"></script> <style>.me {left:0;}</style> <link href="//d500.epimg.net/estaticos/rss/" rel="alternate" type="application/rss+xml" title="RSS de CINCO DÍAS" /> <link href="//d500.epimg.net/cincodias/estilos/v2.x/v2.4/herramientas.css" rel="stylesheet" /> <script src="//d500.epimg.net/cincodias/js/herramientas/comun.js"></script> <script src="//d500.epimg.net/cincodias/js/graficos/v1.x/v1.0/Chart.min.js"></script> </head> <body id="salida_carcasa" class=""><div id="pxlhddncntrl" style="display:none"><script src="//ep00.epimg.net/js/prisa/user.min.js?i=1"></script><script src="//d500.epimg.net/cincodias/js/v1.x/v1.0/user.min.js?v=1"></script><script src="//ep00.epimg.net/js/comun/avisopcdidomi2.js"></script><script src="//ep00.epimg.net/js/gdt/0681c221600c/a81a11db86dc/launch-f2b3c876fe9c.min.js"></script><script src="//d500.epimg.net/cincodias/js/comun/comun.min.js"></script><script src="https://arcsubscriptions.elpais.com/shareSession.js"></script></div><script src="//d500.epimg.net/cincodias/js/comun/ll/lazyload.min.js"></script> <!-- === <script type="text/javascript" src="//ep00.epimg.net/js/pbs/pbs.slots.elpais.js"></script> === --> <script type="text/javascript" src="https://ak-ads-ns.prisasd.com/slot/elpais/slot.js"></script> <div id="AdsCode" style="display:none"> <script type="text/javascript"> var gtpadunit= "elpais_finanzas_cincodias_tipoacceso/calculadoras/portada"; var gtpdivid= "cds_gpt"; var la_kw_publicidad = []; var listadoKW = []; if (typeof(DFP_tags) != "undefined") listadoKW = DFP_tags; //Se añade keywords extras listadoKW = listadoKW.concat(la_kw_publicidad); var la_kw_edicion_y_pais = ['p_1','g_default']; listadoKW = listadoKW.concat(la_kw_edicion_y_pais); if (typeof(PBS) != "undefined") { var pbs_dimensiones = PBS.axm.C.screen(); var lb_es_movil = PBS.axm.C.isMovil(); if (lb_es_movil == false) var ls_publi_tipo_acceso = "web"; else var ls_publi_tipo_acceso= "mob"; var gtpadunit = gtpadunit.replace('tipoacceso', ls_publi_tipo_acceso); if (pbs_dimensiones.ancho >= 980){ var huecosPBS = { "inter":true, "skin":true, "ldb1":[[980, 250],[980, 90],[728, 90]], "ldb2":[[980, 90],[728, 90]], "mpu1":[[300, 600],[300, 250]], "mpu2":[[300, 600],[300, 250]], "mpu3":[300, 250], "mpu4":[300, 250], "nstdX":[1,2] }; } else if (pbs_dimensiones.ancho >= 728) { var huecosPBS = { "inter":true, "ldb1":[728, 90], "ldb2":[728, 90], "mpu1":[[300, 600],[300, 250]], "mpu2":[[300, 600],[300, 250]], "mpu3":[300, 250], "mpu4":[300, 250], "nstdX":[1,2] } }else{ var huecosPBS = { "mldb1":[[320, 100],[320, 50]], "mldb2":[320, 50], "mpu1":[[300, 600],[300, 250]], "mpu2":[[300, 600],[300, 250]], "mpu3":[300, 250], "mpu4":[300, 250], "nstdX":[1,2] } } PBS.setAds({ asy:true, ced:true, adunit:gtpadunit, divid:gtpdivid, key:{ paiskey:listadoKW }, ads:huecosPBS }); } else var PBS = {display:function(){}}; </script> </div> <div class="envoltorio_publi estirar"> <script type='text/javascript'> if (pbs_dimensiones.ancho >= 728) { document.write("<div id='cds_gpt-INTER'> <script type='text/javascript'> PBS.display('INTER');<\/script></div><div id='cds_gpt-SKIN'><script type='text/javascript'>PBS.display('SKIN');<\/script></div>"); }else{ document.write("<div id='cds_gpt-MINTER'><script type='text/javascript'>PBS.display('MINTER');<\/script></div>"); } </script> </div> <div id="contenedor" class="contenedor"> <aside class="envoltorio_publi envoltorio_publi_billboard estirar"> <script type='text/javascript'> if ( pbs_dimensiones.ancho >= 728) document.write("<div id='cds_gpt-LDB1' class='publi_luto_vertical'><script type='text/javascript'>PBS.display('LDB1');<\/script></div>"); else document.write("<div id='cds_gpt-MLDB1' class='publi_luto_vertical'><script type='text/javascript'>PBS.display('MLDB1');<\/script></div>"); </script> </aside> <aside class="widget widget_cotizaciones"> <div class="widget__interior"> <div class="widget-body"> <div class="data estirar"> <span class="indice"><a href="/mercados/bolsa/ibex_35/582/" target="_top">IBEX 35</a></span> <span class="cotizacion">10.102,10</span> <span class="sube">0,16%</span> </div> <div class="data estirar"> <span class="indice"><a href="/mercados/bolsa/eurostoxx_50/1321/" target="_top">EUROSTOXX 50</a></span> <span class="cotizacion">4.521,65</span> <span class="sube">0,16%</span> </div> <div class="data estirar"> <span class="indice"><a href="/mercados/bolsa/sp_500/55626/" target="_top">S&P 500</a></span> <span class="cotizacion">4.769,83</span> <span class="baja">-0,28%</span> </div> <div class="data estirar"> <span class="indice"><a href="/mercados/divisas/eurosxdolares_usa/41/">EUR x USD</a></span> <span class="cotizacion">1,1036</span> <span class="baja">-0,208%</span> </div> <div class="data estirar"> <span class="indice"><a href="/mercados/materias-primas/petroleo_brent/1/">Petroleo Brent</a></span> <span class="cotizacion">77,080</span> <span class="baja">-0,091%</span> </div> </div> </div> </aside> <header class="cg"> <div class="x"> <div class="_g _g-o _g-xs x_w"> <div class="x_bh"> <button class="btn btn-h" id="btn_open_hamburger" aria-label="Desplegar menú"> <svg class="" viewBox="0 0 40 40"> <use xlink:href="#svg-hamburguesa"></use> </svg> </button> </div> <span class="ep_l"> <a class="ep_e _db" href="https://cincodias.elpais.com" data-dtm-region="header_areausuario"> <img onload="lzld(this)" src="//d500.epimg.net/t.gif" data-src="https://static-sandbox.elpais.com/dist/resources/images/sections/cinco-dias/logo-cincodias-45.svg" class="ep_i" alt="Cinco Días" width="357" height="63"> </a> </span> <div class="x_u _df" id="u_c_dv" data-dtm-region="header_areausuario"> <div id="x_u_test" class="x_u_t"></div> <a class="button | flex btn btn-xs btn-2" href="//cincodias.elpais.com/estaticos/suscripciones/" data-ctn-subscription>Suscr&iacute;bete</a> <button class="button | flex btn btn-u _dn l_u_b"> <abbr class="l_u_in">H</abbr><span class="_dn l_u_fn">HOLA</span> </button> <a class="btn btn-u n_l_us" href="https://elpais.com/subscriptions/#/sign-in?prod=REG5D&o=CABEP&backURL=https%3A%2F%2Fcincodias.elpais.com%2Fherramientas%2Fsimulador-hipotecas%2F" aria-label="Iniciar sesión"> <svg class="icon_portal_login_user" viewBox="0 0 40 40"> <use xlink:href="#svg-usuario"></use> </svg> <span class="_dn">Iniciar sesión</span> </a> </div> </div> </div> <div class="_g-o"> <div class="_g _g-xs clm"> <div class="x_e"> <time datetime="2023-09-03T19:03:48+02:00" data-date="2023-09-03T19:03:48+02:00"> <span> 3 SEP 2023</span> <span class="x_e_s">|</span> <span>Actualizado 19:03 <abbr title="Central European Summer Time">CEST</abbr></span> <span class="x_e_s">|</span> </time> </div> <nav class="clm_m"> <div class="sm _df"> <a href="//cincodias.elpais.com/companias/" class="">Empresas y finanzas</a> <a href="//cincodias.elpais.com/mercados-financieros/" class="">Mercados</a> <a href="//cincodias.elpais.com/economia/" class="">Economía</a> <a href="//cincodias.elpais.com/mercados/" class="">Cotizaciones</a> <a href="//cincodias.elpais.com/fondos-y-planes/" class="">Fondos y planes</a> <a href="//cincodias.elpais.com/opinion/" class="clm_m_n">Opinión</a> </div> </nav> <div class="x_u _df" id="u_c_dv" data-dtm-region="header_areausuario"> <div id="x_u_test" class="x_u_t"></div> <a class="button | flex btn btn-xs btn-2" href="//cincodias.elpais.com/estaticos/suscripciones/" data-ctn-subscription>Suscr&iacute;bete</a> <button class="button | flex btn btn-u _dn l_u_b"> <abbr class="l_u_in">H</abbr><span class="_dn l_u_fn">HOLA</span> </button> <a class="btn btn-u n_l_us" href="https://elpais.com/subscriptions/#/sign-in?prod=REG5D&o=CABEP&backURL=https%3A%2F%2Fcincodias.elpais.com%2Fherramientas%2Fsimulador-hipotecas%2F" aria-label="Iniciar sesión"> <svg class="icon_portal_login_user" viewBox="0 0 40 40"> <use xlink:href="#svg-usuario"></use> </svg> <span class="_dn">Iniciar sesión</span> </a> </div> </div> </div> </header> <div class="me _pf _dn" id="me-h"> <div class="me_bg me_bg-o"> <div class="me-n _pr" id="hamburger_container" data-dtm-region="header_hamburguesa"> <button class="btn btn-1 btn-c _pa" aria-label="Cerrar" id="btn_toggle_hamburger"> <svg class="" viewBox="0 0 26 26"> <use xlink:href="#svg-cerrar"></use> </svg> </button> <div class="me_f"> <form id="searchForm" class="_df" accept-charset="UTF-8" method="GET" action="/buscador/"> <label class="_dn">Buscar</label> <input type="search" id="searchBox" class="f_i" name="q" placeholder="Buscar contenido"> <button class="btn btn btn-bu" aria-label="Buscar"> <svg class="" viewBox="0 0 15 15"> <use xlink:href="#svg-buscar"></use> </svg> </button> </form> </div> <nav> <div class="me_f "> <ul class="_ls"> <li><a href="//cincodias.elpais.com/economia/">Economía</a></li> <li><a href="//cincodias.elpais.com/mercados-financieros/">Mercados</a> <button class="button | flex btn btn-fl"> <svg class="icon_arrow_down" viewBox="0 0 16 16"> <use xlink:href="#svg-flecha-abajo"></use> </svg> </button><div class="me_sm _db"> <ul class="_ls"> <li><a href="//cincodias.elpais.com/noticias/bolsa/">Bolsas</a></li> <li><a href="//cincodias.elpais.com/noticias/mercado-divisas/">Divisas</a></li> <li><a href="//cincodias.elpais.com/noticias/fondos-inversion/">Fondos</a></li> <li><a href="//cincodias.elpais.com/noticias/materias-primas/">Materias primas</a></li> <li><a href="//cincodias.elpais.com/noticias/deuda-publica/">Deuda</a></li> <li><a href="//cincodias.elpais.com/noticias/criptomonedas/">Criptoactivos</a></li> </ul> </div> </li> <li><a href="//cincodias.elpais.com/companias/">Empresas</a> <button class="button | flex btn btn-fl"> <svg class="icon_arrow_down" viewBox="0 0 16 16"> <use xlink:href="#svg-flecha-abajo"></use> </svg> </button><div class="me_sm _db"> <ul class="_ls"> <li><a href="//cincodias.elpais.com/noticias/banca/">Banca y seguros</a></li> <li><a href="//cincodias.elpais.com/noticias/telecomunicaciones/">Telecos</a></li> <li><a href="//cincodias.elpais.com/noticias/tecnologia/">Tecnología, internet y medios</a></li> <li><a href="//cincodias.elpais.com/noticias/energia/">Energía</a></li> <li><a href="//cincodias.elpais.com/noticias/construccion/">Construcción e infraestructuras</a></li> <li><a href="//cincodias.elpais.com/noticias/industria/">Industria</a></li> <li><a href="//cincodias.elpais.com/noticias/consumo/">Consumo</a></li> <li><a href="//cincodias.elpais.com/noticias/turismo/">Turismo</a></li> <li><a href="//cincodias.elpais.com/noticias/mercado-inmobiliario/">Inmobiliario</a></li> <li><a href="//cincodias.elpais.com/noticias/salud/">Salud</a></li> </ul> </div> </li> <li><a href="//cincodias.elpais.com/opinion/">Opinión</a> <button class="button | flex btn btn-fl"> <svg class="icon_arrow_down" viewBox="0 0 16 16"> <use xlink:href="#svg-flecha-abajo"></use> </svg> </button><div class="me_sm _db"> <ul class="_ls"> <li><a href="//cincodias.elpais.com/opinion/editoriales/">Editoriales</a></li> <li><a href="//cincodias.elpais.com/opinion/analisis/">Análisis</a></li> <li><a href="//cincodias.elpais.com/opinion/tribunas/">Tribunas</a></li> <li><a href="//cincodias.elpais.com/opinion/breakingviews/">Breaking Views</a></li> </ul> </div> </li> <li><a href="//cincodias.elpais.com/fondos-y-planes/">Fondos y Planes</a> <button class="button | flex btn btn-fl"> <svg class="icon_arrow_down" viewBox="0 0 16 16"> <use xlink:href="#svg-flecha-abajo"></use> </svg> </button><div class="me_sm _db"> <ul class="_ls"> <li><a href="//cincodias.elpais.com/noticias/fondos-inversion/">Fondos de inversión</a></li> <li><a href="//cincodias.elpais.com/noticias/planes-pensiones/">Planes de pensiones</a></li> </ul> </div> </li> <li><a href="//cincodias.elpais.com/fortunas/">Fortuna</a></li> <li><a href="//cincodias.elpais.com/extras/">Extras</a></li> <li><a href="//cincodias.elpais.com/mercados/">Cotizaciones</a> <button class="button | flex btn btn-fl"> <svg class="icon_arrow_down" viewBox="0 0 16 16"> <use xlink:href="#svg-flecha-abajo"></use> </svg> </button><div class="me_sm _db"> <ul class="_ls"> <li><a href="//cincodias.elpais.com/mercados/bolsa/">Bolsa</a></li> <li><a href="//cincodias.elpais.com/mercados/divisas/">Divisas</a></li> <li><a href="//cincodias.elpais.com/mercados/prima-de-riesgo/">Deuda</a></li> <li><a href="//cincodias.elpais.com/mercados/materias-primas/">Materias primas</a></li> <li><a href="//cincodias.elpais.com/mercados/tipos-de-interes/">Tipos de interés</a></li> </ul> </div> </li> </ul> </div> <div class="me_f"> <ul class="_ls"> <li><a href="//cincodias.elpais.com/smartlife/">Smartlife</a></li> <li><a href="//cincodias.elpais.com/territorio_pyme/">Territorio Pyme</a></li> <li><a href="//cincodias.elpais.com/agr/legal/">Legal</a></li> <li><a href="//cincodias.elpais.com/agr/blogs/a">Blogs</a></li> <li><a href="https://plus.elpais.com/perfil/newsletters/?rel=areausuario">Mis newsletters</a></li> </ul> </div> <div class="me_f"> <b> <a href="https://plus.elpais.com/newsletters/#?" class="_db"> <div class="svg-nl"> <svg class="" viewBox="0 0 16 10"> <use xlink:href="#svg-newsletter"></use> </svg> </div> Newsletter </a> </b> </div> <div class="me_f me_f-o"> <ul class="_ls"> <li><a href="//cincodias.elpais.com/herramientas/">Herramientas</a> <button class="button | flex btn btn-fl"> <svg class="icon_arrow_down" viewBox="0 0 16 16"> <use xlink:href="#svg-flecha-abajo"></use> </svg> </button><div class="me_sm _db"> <ul class="_ls"> <li><a href="//cincodias.elpais.com/herramientas/calculadora-sueldo-neto/">Calculadora sueldo neto</a></li> <li><a href="//cincodias.elpais.com/herramientas/calculadora-irpf/">Calculadora IRPF</a></li> <li><a href="//cincodias.elpais.com/herramientas/simulador-hipotecas/">Simulador Hipotecas</a></li> <li><a href="//cincodias.elpais.com/herramientas/simulador-pensiones/">Simulador Pensiones</a></li> <li><a href="//cincodias.elpais.com/herramientas/conversor-divisas/">Conversor de divisas</a></li> <li><a href="//cincodias.elpais.com/directorio-empresas/">Directorio de empresas</a></li> </ul> </div> </li> </ul> </div> </nav> <div class="w_rs"> <span class="w_rs_t">Síguenos en:</span> <div class="w_rs_i"> <a class="_btn " href="https://www.facebook.com/Cincodias/" target="_blank" rel="noopener noreferrer"> <svg class="icon_social_facebook" viewBox="0 0 26 26"> <use xlink:href="#svg-facebook"></use> </svg> </a> </div> <div class="w_rs_i"> <a class="_btn " href="https://twitter.com/cincodiascom" target="_blank" rel="noopener noreferrer"> <svg class="icon_social_twitter" viewBox="0 0 26 26"> <use xlink:href="#svg-twitter"></use> </svg> </a> </div> <div class="w_rs_i"> <a class="_btn " href="https://www.youtube.com/c/cincodias" target="_blank" rel="noopener noreferrer"> <svg class="icon_social_youtube" viewBox="0 0 26 26"> <use xlink:href="#svg-youtube"></use> </svg> </a> </div> </div> <div class="me_deg"></div> </div> </div> </div> <main class="principal" id="principal"> <div class="principal-seccion "> <div class="seccion"> <div class="seccion__interior"> <div class="seccion-migas"> <span itemtype="http://data-vocabulary.org/Breadcrumb" itemscope="" class="miga miga_seccion"> <a class="enlace" href="/herramientas/" itemprop="url"> <span itemprop="title">Herramientas</span> </a> </span> </div> <div id="seccion_submenu" class="seccion-submenu"> <button class="boton_seccion-submenu" id="boton_seccion_menu" data-capa="seccion_menu"> <span class="boton-nombre">Menú</span> </button> <div class="seccion-submenu__interior"> <nav class="seccion-submenu-navegacion"> <ul class="seccion-submenu-navegacion-listado" itemscope="" itemtype="http://www.schema.org/SiteNavigationElement"> <li itemprop="name" ><a itemprop="url" href="/herramientas/calculadora-sueldo-neto/">CALCULADORA SUELDO NETO </a></li> <li itemprop="name" ><a itemprop="url" href="/herramientas/calculadora-irpf/">CALCULADORA IRPF </a></li> <li itemprop="name" class="selected"><a itemprop="url" href="/herramientas/simulador-hipotecas/">SIMULADOR HIPOTECAS </a></li> <li itemprop="name" ><a itemprop="url" href="/herramientas/simulador-pensiones/">SIMULADOR PENSIONES</a></li> <li itemprop="name" ><a itemprop="url" href="/herramientas/conversor-divisas/">CONVERSOR DIVISAS</a></li> </ul> </nav> </div> </div> </div> </div> </div> <section class=""> <div class="bloque__interior"> <div class="articulos articulos_izquierda "> <div class="articulos__interior"> <div class="cab-type"> <h1 class="cab-tit hipoteca">Simulador Hipotecas</h1> <style> .cab-type {position: relative;} .cab-type .seccion-branded-logo {display: block; text-indent: -9999px; position: absolute; right: 20px; top: 45px; width: 40px; height: 45px; background-image: url(/estaticos/2019/06/herramientas/logo-kutxabank.svg); background-repeat: no-repeat; background-size: contain; background-position: center;} .cab-type .seccion-branded-logo:after {content: "PATROCINADO POR"; text-indent: 0; position: absolute; bottom: -2px; left: -90px; font-family: "MarcinAntB", sans-serif; font-size: 9px; color: #666;} @media (min-width: 768px) { .cab-type .seccion-branded-logo {top: 16px; right: 30px; width: 55px; height: 60px;} .cab-type .seccion-branded-logo:after {left: -115px; font-size: 11px;} } </style> <a class="seccion-branded-logo" rel="nofollow" href="https://clientes.kutxabank.es/microsite/h/72075273" target="_blank">Kutxabank</a> <div class="cab-info"> <p>Calcula la cuota de tu hipoteca y lo que queda por pagar con el simulador hipotecario de Cinco Días.Lo que se paga de principal e intereses en cada periodo de vida de la hipoteca y el pago total de intereses, además de ofrecer un cuadro de amortización completo. </p> <p>El simulador es válido tanto para hipotecas a tipo fijo como vinculadas al euríbor o con cláusulas suelo.</p> <p> Si la hipoteca se firmó antes de 2013 y se mantiene el derecho a la deducción por inversión en vivienda habitual, el simulador muestra el efecto fiscal de su hipoteca y permite conocer si la deducción cubre los intereses pagados al banco.</p> </div> </div> <script type="text/javascript"> //control para la creacion del grafico //si hay un grafico previo debe destruirse var prev_graph = ''; /** * Verifica si la tecla insertada es numero o letra * param: evt, evento del teclado * return Boolean */ function isNumber(evt) { var charCode = (evt.which) ? evt.which : event.keyCode; if (charCode > 31 && (charCode < 48 || charCode > 57)) return false; return true; } /** * Valida el formato correcto del euribor * return Boolean */ function validateEuribor() { var euribor = document.getElementById("valor_euribor"); var dato = euribor.value; var indexPtoDec = dato.indexOf("."); if (indexPtoDec >= 0) { euribor.value = formatNumber(dato); } else if (indexPtoDec == -1) { euribor.value = pintarResultado(f_format_string_to_number(dato), null); } return true; } /** * Valida el formato correcto del diferencial * return Boolean */ function validateDiferencial() { var diferencial = document.getElementById("valor_diferencial"); var dato = diferencial.value; var indexPtoDec = dato.indexOf("."); if (indexPtoDec >= 0) { diferencial.value = formatNumber(dato); } else if (indexPtoDec == -1) { diferencial.value = pintarResultado(f_format_string_to_number(dato), null); } return true; } /** * Valida el formato correcto de la clausula suelo * return Boolean */ function validateSuelo() { var clausula_suelo = document.getElementById("clausula_suelo"); var dato = clausula_suelo.value; var indexPtoDec = dato.indexOf("."); if (indexPtoDec >= 0) { clausula_suelo.value = formatNumber(dato); } else if (indexPtoDec == -1) { clausula_suelo.value = pintarResultado(f_format_string_to_number(dato), null); } return true; } /** * * Pinta el numero correcto en caso de tener un 0 o varios a la izquierda */ function validateNumber(){ var tiempo = document.getElementById("tiempo_amortizacion"); var amortizacion = tiempo.value; tiempo.value = pintarResultado(f_format_string_to_number(amortizacion), null); } /** * Valida que el contenido del input sean solo numeros * param evt, evento del teclado * return Boolean */ function onlyNumbers(evt) { var theEvent = evt || window.event; var key = theEvent.keyCode || theEvent.which; key = String.fromCharCode(key); if (key.length == 0) return; var regex = /^[0-9.,\b]+$/; if (!regex.test(key)) { theEvent.returnValue = false; if (theEvent.preventDefault) theEvent.preventDefault(); } } /** * Valida que el contenido del input sean solo numeros * param evt, evento del teclado * return Boolean */ function numbers(evt) { var theEvent = evt || window.event; var key = theEvent.keyCode || theEvent.which; key = String.fromCharCode(key); if (key.length == 0) return; var regex = /^-?[0-9.,\b]?$/; if (!regex.test(key)) { theEvent.returnValue = false; if (theEvent.preventDefault) theEvent.preventDefault(); } } /** * Detecta la pulsación de la tecla return o intro... */ function checkSubmit(e) { var keycode; if (window.event) keycode = window.event.keyCode; else if (e) keycode = e.which; else return true; if (keycode == 13 || keycode == 3) { f_calcular_hipoteca(); } } /** * Detecta la pulsación de la tecla return o intro... */ function ponerFoco() { var el = document.getElementById('capital_prestamo'); if (el) { el.focus(); } } /** * Obtiene la cantidad de meses que iniciados o para terminar el año * param: month, string, nombre del mes * param: year, string, año * param: es el primer año o el ultimo año * return numero de meses */ function getMonthOfYearsToPay(month, year, isfirst) { var date = new Date(year, month); if (isfirst === true) { return (12 - parseInt(date.getMonth())); } else { return (parseInt(date.getMonth())); } } /** * Formateo de la fecha a UTC * * param: year, number|string, año * param: month, number, mes indice del mes Enero 0 * return: string, fecha formateada */ function renderDateLocale(year, month) { var fecha_mensual = new Date(year, month); // var dia = fecha_mensual.getDay(); var dia = fecha_mensual.getDate(); if (dia < 10) { dia = '0' + dia; } var mes = fecha_mensual.getMonth() + 1; if (mes < 10) { mes = '0' + mes; } return dia + '/' + mes + '/' + year; } /** * Obtiene la tabla por periodos * * param: interes_mensual * param: capital_prestamo * param: cuota * param: year_first * param: month_first_index * param: months_first_year * param: periodos * return: void, Renderiza la tabla con los datos completos por periodos */ function getTablaPorPeriodos(capital_prestamo, interes_mensual, cuota, year_first, month_first_index, months_first_year, periodos) { var simbolo_euro = "&euro;"; //variables para utilizar en el loop var interes = interes_mensual * capital_prestamo; var principal = cuota - interes; //Tabla var capital_vivo = 0; var capital_amortizado = 0; var nuevo_interes = 0; var nuevo_principal = 0; var year = year_first; var month = month_first_index; //Funcion que remueve los datos antes de volver a pintarlos removeTable("resultados"); var table_id = getHead("resultados_calculadora_nomina", "mensual"); var table = document.getElementById(table_id); var tbody = document.createElement("tbody"); capital_vivo = capital_prestamo - principal; nuevo_interes = interes; nuevo_principal = cuota - nuevo_interes; capital_amortizado += principal; //Recalculo todos los valores de la tabla y los pinto for (var i = 1; i <= periodos; i++) { //Pinta de cada columna en una fila var row = tbody.insertRow(i - 1); for (var j = 0; j < 6; j++) { if (j === 0) { if (month > 11) { month = 0; year += 1; } var cel = row.insertCell(j); var label = renderDateLocale(year, month); cel.innerHTML = label; month += 1; } if (j === 1) { cel = row.insertCell(j); cel.innerHTML = pintarResultado(cuota, simbolo_euro); } if (j === 2) { cel = row.insertCell(j); cel.innerHTML = pintarResultado(nuevo_interes, simbolo_euro); } if (j === 3) { cel = row.insertCell(j); cel.innerHTML = pintarResultado(nuevo_principal, simbolo_euro); } if (j === 4) { cel = row.insertCell(j); cel.innerHTML = pintarResultado(capital_vivo, simbolo_euro); } if (j === 5) { cel = row.insertCell(j); cel.innerHTML = pintarResultado(capital_amortizado, simbolo_euro); } cel.className = "normal"; } //Recalculos para la siguiente fila capital_vivo = capital_vivo - nuevo_principal; capital_amortizado = capital_amortizado + nuevo_principal; nuevo_interes = capital_vivo * interes_mensual; nuevo_principal = cuota - nuevo_interes; if (i === (months_first_year)) { months_first_year += 12; } } //table.className = "tabla1 tabla2"; table.appendChild(tbody); } /** * * param: numero_personas * param: cuota_anual * return: valor_deduccion_mensual */ function calcularDeduccionMensual(numero_personas, cuota_anual) { //Dato del monto max de deducción var deduccion_normal = 9040; var valor_deduccion_anual = 0; var suma_parcial = cuota_anual / numero_personas; if (suma_parcial > deduccion_normal) { valor_deduccion_anual = deduccion_normal * (15 / 100) * numero_personas; return valor_deduccion_anual / 12; } else { valor_deduccion_anual = suma_parcial * (15 / 100) * numero_personas; return valor_deduccion_anual / 12; } } /** * Pinta el div de deduccion * * param: div * param: cuota_anual * param: tiempo_amortizacion * param: numero_personas * return: void */ function pintarDivDeduccion(div, cuota_anual, tiempo_amortizacion, numero_personas, year, month) { var simbolo_euro = "&euro;"; var valor_deduccion = document.getElementById("valor_deduccion"); var valor_deduccion_total = document.getElementById("valor_deduccion_total"); var valor_deduccion_parcial_first = document.getElementById("valor_deduccion_parcial_first"); var valor_deduccion_parcial_last = document.getElementById("valor_deduccion_parcial_last"); var divd = document.getElementById(div); var first = document.getElementById("deduccion_first"); var last = document.getElementById("deduccion_last"); var valor_deduccion_mensual = calcularDeduccionMensual(numero_personas, cuota_anual); if (divd.style.display == "none") { divd.style.display = "block"; } // if (year !== null && month !== null) { // // if (month > 0) { // first.style.display = "block"; // valor_deduccion_parcial_first.innerHTML = pintarResultado((valor_deduccion_mensual * getMonthOfYearsToPay(month, year, true)), simbolo_euro); // // last.style.display = "block"; // valor_deduccion_parcial_last.innerHTML = pintarResultado((valor_deduccion_mensual * getMonthOfYearsToPay(month, year, false)), simbolo_euro); // } // } valor_deduccion.innerHTML = pintarResultado((valor_deduccion_mensual * 12), simbolo_euro); valor_deduccion_total.innerHTML = pintarResultado((valor_deduccion_mensual * 12 * tiempo_amortizacion), simbolo_euro); } /** * Pinta el div de resumen pagos realizados * * param: div * param: cuota_mensual * param: year_start * param: month_start * return: void */ function pintarDivPagos(div, cuota_mensual, periodos, capital_prestado, year_start, month_start, interes_mensual) { var simbolo_euro = "&euro;"; var fecha_control = new Date(); var pago_capital = document.getElementById("pago_capital"); var pago_interes = document.getElementById("pago_interes"); var pago_total = document.getElementById("pago_total"); var deuda_capital = document.getElementById("deuda_capital"); var deuda_interes = document.getElementById("deuda_interes"); var deuda_total = document.getElementById("deuda_total"); var divd = document.getElementById(div); if (divd.style.display == "none") { divd.style.display = "block"; } var total = 0; var capital = 0; var interes = 0; if (fecha_control.getFullYear() == year_start && fecha_control.getMonth() == month_start) { var inte = interes_mensual * capital_prestado; pago_capital.innerHTML = pintarResultado((cuota_mensual - inte), simbolo_euro); pago_interes.innerHTML = pintarResultado(inte, simbolo_euro); pago_total.innerHTML = pintarResultado(cuota_mensual, simbolo_euro); deuda_capital.innerHTML = pintarResultado((capital_prestado - cuota_mensual), simbolo_euro); deuda_interes.innerHTML = pintarResultado((((cuota_mensual * periodos) - capital_prestado) - inte), simbolo_euro); deuda_total.innerHTML = pintarResultado(((cuota_mensual * periodos) - cuota_mensual), simbolo_euro); return; } else if (fecha_control.getFullYear() == year_start && fecha_control.getMonth() < month_start) { pago_capital.innerHTML = pintarResultado(0, simbolo_euro); pago_interes.innerHTML = pintarResultado(0, simbolo_euro); pago_total.innerHTML = pintarResultado(0, simbolo_euro); deuda_capital.innerHTML = pintarResultado(capital_prestado, simbolo_euro); deuda_interes.innerHTML = pintarResultado(((cuota_mensual * periodos) - capital_prestado), simbolo_euro); deuda_total.innerHTML = pintarResultado((cuota_mensual * periodos), simbolo_euro); return; } else { var res = calculaPagos(interes_mensual, capital_prestado, cuota_mensual, periodos, year_start, month_start); pago_capital.innerHTML = pintarResultado(res.pago_capital, simbolo_euro); pago_interes.innerHTML = pintarResultado(res.pago_interes, simbolo_euro); pago_total.innerHTML = pintarResultado(res.pago_total, simbolo_euro); deuda_capital.innerHTML = pintarResultado(capital_prestado - res.pago_capital, simbolo_euro); deuda_interes.innerHTML = pintarResultado((((cuota_mensual * periodos) - capital_prestado) - res.pago_interes), simbolo_euro); deuda_total.innerHTML = pintarResultado(((cuota_mensual * periodos) - res.pago_total), simbolo_euro); return; } } /** * Pinta la tabla por año * * param: capital_prestamo * param: interes_mensual * param: cuota * param: year_first * param: month_first_index * param: tiempo_amortizacion * param: months_first_year * param: months_last_year * param: valor_deduccion_mensual * return: void, pinta tabla por año en el div correspondiente */ function getTablaPorYear(capital_prestamo, interes_mensual, cuota, year_first, month_first_index, months_first_year, months_last_year, tiempo_amortizacion) { var simbolo_euro = "&euro;"; //variables para utilizar en el loop var interes = interes_mensual * capital_prestamo; var capital_vivo = capital_prestamo; var nuevo_interes = interes; var nuevo_principal = cuota - nuevo_interes; var capital_amortizado = 0; var acum_principal = 0; var acum_interes = 0; var acum_cuota = 0; var arrayChart = []; var labels = []; var control_year = year_first; if (month_first_index > 0) { tiempo_amortizacion = parseInt(tiempo_amortizacion + 1); } //Funcion que remueve los datos antes de volver a pintarlos removeTable("resultados"); var table_id = getHead("resultados_calculadora_nomina", "anual"); var table = document.getElementById(table_id); var tbody = document.createElement("tbody"); var max_mes = 12; for (var c = 1; c <= tiempo_amortizacion; c++) { if (c === 1) { max_mes = months_first_year; } if (c == tiempo_amortizacion && tiempo_amortizacion > 1 && months_last_year > 0) { max_mes = months_last_year; } for (var meses = 1; meses <= max_mes; meses++) { capital_vivo = capital_vivo - nuevo_principal; capital_amortizado += nuevo_principal; nuevo_interes = capital_vivo * interes_mensual; nuevo_principal = cuota - nuevo_interes; acum_interes += nuevo_interes; acum_principal += nuevo_principal; acum_cuota += cuota; } max_mes = 12; var row = tbody.insertRow(c - 1); for (var j = 0; j < 6; j++) { if (j === 0) { var cel = row.insertCell(j); var label = control_year; cel.innerHTML = label; labels.push(label); control_year += 1; } if (j === 1) { cel = row.insertCell(j); cel.innerHTML = pintarResultado(acum_cuota, simbolo_euro); } if (j === 2) { cel = row.insertCell(j); cel.innerHTML = pintarResultado(acum_interes, simbolo_euro); } if (j === 3) { cel = row.insertCell(j); cel.innerHTML = pintarResultado(acum_principal, simbolo_euro); } if (j === 4) { cel = row.insertCell(j); if (capital_vivo < 0) { capital_vivo = 0; } cel.innerHTML = pintarResultado(capital_vivo, simbolo_euro); } if (j === 5) { cel = row.insertCell(j); cel.innerHTML = pintarResultado(capital_amortizado, simbolo_euro); } cel.className = "normal"; } arrayChart.push(acum_interes); acum_interes = 0; acum_principal = 0; acum_cuota = 0; max_mes = 12; } //table.className = "tabla1 tabla2"; table.appendChild(tbody); } /** * Devuelve los meses que hay entre la fecha de inicio y la actual * * param: fecha_inicio, Date, fecha de inicio del calculo de la hipoteca * return: Number, cantidad de meses entre fechas */ function contarMeses(fecha_inicio) { var fecha_actual = new Date(); return (fecha_actual.getFullYear() - fecha_inicio.getFullYear()) * 12 + (fecha_actual.getMonth() - fecha_inicio.getMonth()) + 1; } /** * Calculo de los pagos realizados hasta la fecha * * param: interes_mensual, float, interes mensual a pagar * param: capital_prestamo, float, capital prestado * param: cuota, float, cuota mensual a pagar * param: year_first, number, año de comienzo de la hipoteca * param: month_first_index, number, indice del mes de comienzo de la hipoteca * return: resultados, object, datos de los totales e intereses pagados hasta la fecha indicada */ function calculaPagos(interes_mensual, capital_prestamo, cuota, periodos, year_first, month_first_index) { var meses = 0; var mes_fin = 0; var year_fin = 0; var index = 0; var resto_meses = 0; //Inicializacion var interes = interes_mensual * capital_prestamo; var principal = cuota - interes; var capital_vivo = capital_prestamo - principal; var nuevo_principal = principal; var nuevo_interes = interes; var resultados = { pago_total: 0, pago_interes: 0, pago_capital: 0 }; if (month_first_index > 0 && month_first_index <= 11) { mes_fin = month_first_index - 1; year_fin = year_first + (periodos / 12); } if (month_first_index == 0) { mes_fin = 11; year_fin = year_first + ((periodos / 12) - 1); } var fecha_inicio = new Date(year_first, month_first_index); var fecha_fin = new Date(year_fin, mes_fin); var today = new Date(); meses = contarMeses(fecha_inicio); if (fecha_fin >= today) { index = meses; for (var i = 1; i <= index; i++) { resultados.pago_total += cuota; resultados.pago_capital += nuevo_principal; resultados.pago_interes += nuevo_interes; capital_vivo = capital_vivo - nuevo_principal; nuevo_interes = capital_vivo * interes_mensual; nuevo_principal = cuota - nuevo_interes; } } if (fecha_fin < today) { for (var i = 1; i <= periodos; i++) { resultados.pago_total += cuota; resultados.pago_capital += nuevo_principal; resultados.pago_interes += nuevo_interes; capital_vivo = capital_vivo - nuevo_principal; nuevo_interes = capital_vivo * interes_mensual; nuevo_principal = cuota - nuevo_interes; } } //Recalculo todos los valores de la tabla y los pinto return resultados; } /** * Pinta el grafico * * param: capital_prestamo * param: interes_mensual * param: cuota * param: year_first * param: month_first_index * param: tiempo_amortizacion * param: months_first_year * param: months_last_year * param: valor_deduccion_mensual * * return: void, pinta tabla por año en el div correspondiente **/ function pintarGraficoAreas(capital_prestamo, interes_mensual, cuota, year_first, month_first_index, tiempo_amortizacion, months_first_year, months_last_year, valor_deduccion_mensual) { var interes = interes_mensual * capital_prestamo; var principal = cuota - interes; var capital_vivo = capital_prestamo; var nuevo_principal = principal; var nuevo_interes = 0; //Acumuladores var acum_interes = 0; var acum_cuota = 0; var acum_deduccion = 0; var labels = []; var cuotas = []; var inter = []; var deduccion = []; var control_year = year_first; if (month_first_index > 0) { tiempo_amortizacion = parseInt(tiempo_amortizacion + 1); } var max_mes = 12; for (var c = 1; c <= tiempo_amortizacion; c++) { labels.push(control_year); control_year += 1; if (c === 1) { max_mes = months_first_year; } if (c == tiempo_amortizacion && tiempo_amortizacion > 1 && months_last_year > 0) { max_mes = months_last_year; } for (var meses = 1; meses <= max_mes; meses++) { if (valor_deduccion_mensual !== 0) { acum_deduccion += valor_deduccion_mensual; } capital_vivo = capital_vivo - nuevo_principal; nuevo_interes = capital_vivo * interes_mensual; acum_interes += nuevo_interes; acum_cuota += cuota; } if (acum_deduccion > 0) { deduccion.push(acum_deduccion); acum_deduccion = 0; } inter.push(acum_interes); cuotas.push(acum_cuota); acum_interes = 0; acum_cuota = 0; max_mes = 12; } if (prev_graph != '') { prev_graph.destroy(); } showDivGraf(); if (deduccion.length > 0) { prev_graph = pintaGraficoDeduccion(labels, cuotas, inter, deduccion); } else { prev_graph = pintaGrafico(labels, cuotas, inter); } } /** * Pinta las tablas resultantes * return: void, void, render table */ function f_render_tabla() { var d = getDataAndLoadVars(); var tipo_detalle = document.getElementById("detalle_hipoteca").value; if (tipo_detalle == "mensual") { getTablaPorPeriodos(d.capital_prestamo, d.interes_mensual, d.cuota, d.year_first, d.month_first_index, d.months_first_year, d.periodos); } else if (tipo_detalle == "anual") { getTablaPorYear(d.capital_prestamo, d.interes_mensual, d.cuota, d.year_first, d.month_first_index, d.months_first_year, d.months_last_year, d.tiempo_amortizacion); } } /** * Lee los inputs para calcular y calcula * return: ,Object, datos leidos y procesados con la clave identificativa */ function getDataAndLoadVars() { var marca_suelo = false; //Obteniendo los valores var capital_prestamo = Number(f_format_string_to_number(document.getElementById("capital_prestamo").value)); if ((isNaN(capital_prestamo)) || (capital_prestamo <= 0)) { //alert("El capital de prestamo no es un dato correcto"); f_muestra_error("El capital de prestamo no es un dato correcto"); return false; } var valor_euribor = Number(f_format_string_to_number(document.getElementById("valor_euribor").value)); if (isNaN(valor_euribor)) { //alert("El valor del euribor no es un dato correcto"); f_muestra_error("El valor del euribor no es un dato correcto"); return false; } var valor_diferencial = Number(f_format_string_to_number(document.getElementById("valor_diferencial").value)); if ((isNaN(valor_diferencial)) || (valor_diferencial < 0)) { //alert("El valor del diferencial no es un dato correcto"); f_muestra_error("El valor del diferencial no es un dato correcto"); return false; } var tiempo_amortizacion = Number(f_format_string_to_number(document.getElementById("tiempo_amortizacion").value)); if ((isNaN(tiempo_amortizacion)) || (tiempo_amortizacion <= 0)) { //alert("El tiempo de amortizacion no es un dato correcto"); f_muestra_error("El tiempo de amortizacion no es un dato correcto"); return false; } else if ((isNaN(tiempo_amortizacion)) || (tiempo_amortizacion > 35)) { //alert("El tiempo de amortizacion no debe ser mayor a 35"); f_muestra_error("El tiempo de amortizacion no debe ser mayor a 35"); return false; } var clausula_suelo = Number(f_format_string_to_number(document.getElementById("clausula_suelo").value)); if ((isNaN(clausula_suelo)) || (clausula_suelo < 0)) { //alert("La cláusula suelo no es un dato correcto"); f_muestra_error("La cláusula suelo no es un dato correcto"); return false; } //Obteniendo la fecha var time_month = Number(document.getElementById("time_month").value); var time_year = Number(document.getElementById("time_year").value); var valor_interes_anual = (valor_euribor + valor_diferencial); if (clausula_suelo > 0 && clausula_suelo > valor_interes_anual) { valor_interes_anual = clausula_suelo; marca_suelo = true; } //Calculando var interes_mensual = Math.pow((1 + (valor_interes_anual / 100)), (1 / 12)) - 1; var periodos = tiempo_amortizacion * 12; var cuota = f_calcular_pmt(interes_mensual, periodos, -capital_prestamo); return { capital_prestamo: capital_prestamo, valor_euribor: valor_euribor, valor_diferencial: valor_diferencial, interes_mensual: interes_mensual, valor_interes_anual: valor_interes_anual, cuota: cuota, year_first: time_year, month_first_index: time_month, months_first_year: getMonthOfYearsToPay(time_month, time_year, true), periodos: periodos, months_last_year: getMonthOfYearsToPay(time_month, time_year, false), tiempo_amortizacion: tiempo_amortizacion, clausula_suelo: clausula_suelo, marca_suelo: marca_suelo }; } function f_muestra_error(error){ var div_error = document.getElementById("error"); div_error.innerHTML = error; } /** * Calcula la hipoteca */ function f_calcular_hipoteca() { // evento para marcado f_cal_marcado("cincodias calculadora simulador hipotecas"); var simbolo_euro = "&euro;"; //muestro div resultados document.getElementById("resultados_generales").style.display = "block"; var div_ded = document.getElementById("div_deduccion"); var chk_ded = document.getElementById("deduccion_vivienda"); if (chk_ded.checked === false && div_ded.style.display == "block") { div_ded.style.display = "none"; } //Obteniendo los valores var a = getDataAndLoadVars(); if (a == false) return; else document.getElementById("error").innerHTML = ""; //Obteniendo elementos por ID para pintar los resultados var capital = document.getElementById("capital_prestamo"); // var numero_pagos = document.getElementById("numero_pagos"); var valor_cuota = document.getElementById("valor_cuota"); var pagos_totales_anual = document.getElementById("pagos_totales_anual"); var coste_total = document.getElementById("coste_total"); var interes_anual = document.getElementById("interes_anual"); // var input_interes_mensual = document.getElementById("interes_mensual"); var intereses_totales = document.getElementById("intereses_totales"); //Pintando resultados resumen capital.value = formatNumber(a.capital_prestamo.toFixed(0)); // numero_pagos.innerHTML = a.tiempo_amortizacion * 12; valor_cuota.innerHTML = pintarResultado(a.cuota, simbolo_euro); pagos_totales_anual.innerHTML = pintarResultado((a.cuota * 12), simbolo_euro); coste_total.innerHTML = pintarResultado((a.cuota * a.periodos), simbolo_euro); if (a.marca_suelo === true) { interes_anual.innerHTML = formatNumber(a.clausula_suelo.toFixed(3)); } else { interes_anual.innerHTML = formatNumber((a.valor_euribor + a.valor_diferencial).toFixed(3)); } intereses_totales.innerHTML = pintarResultado(((a.cuota * a.periodos) - a.capital_prestamo), simbolo_euro); pintarDivPagos("div_pagos", a.cuota, a.periodos, a.capital_prestamo, a.year_first, a.month_first_index, a.interes_mensual); //Dato del monto max de deducción var cuota_anual = a.cuota * 12; var deduccion_vivienda = document.getElementById("deduccion_vivienda"); var numero_personas = parseInt(document.getElementById("numero_personas").value); var valor_deduccion_mensual = 0; //Calculo de la deducción if (deduccion_vivienda.checked) { pintarDivDeduccion("div_deduccion", cuota_anual, a.tiempo_amortizacion, numero_personas, a.year_first, a.month_first_index); valor_deduccion_mensual = calcularDeduccionMensual(numero_personas, cuota_anual); } pintarGraficoAreas(a.capital_prestamo, a.interes_mensual, a.cuota, a.year_first, a.month_first_index, a.tiempo_amortizacion, a.months_first_year, a.months_last_year, valor_deduccion_mensual); getTablaPorYear(a.capital_prestamo, a.interes_mensual, a.cuota, a.year_first, a.month_first_index, a.months_first_year, a.months_last_year, a.tiempo_amortizacion); document.getElementById("detalle_hipoteca").value = "anual"; document.getElementById("resultados_generales").value = ""; } /** * Calculo del a cuota mensual con la funcion pmt de excel * * param: i, float, interes mensual * param: n, float, numero de periodos * param: p, float, capital prestado */ function f_calcular_pmt(i, n, p) { return parseFloat(i.toFixed(7)) * p * Math.pow((1 + parseFloat(i.toFixed(7))), n) / (1 - Math.pow((1 + parseFloat(i.toFixed(7))), n)); } function ponerResultado(campo, valor, simbol) { if (typeof (valor) == "number") valor = valor.toFixed(0); var elemento = document.getElementById(campo); if (elemento) { elemento.innerHTML = formatNumber(valor) + simbol; } } function pintarResultado(valor, simbol) { if (typeof (valor) == "number") //Quitando decimales valor = valor.toFixed(0); if (simbol === null) return formatNumber(valor); return formatNumber(valor) + simbol; } /** * Función que remueve las celdas vacias o con resultados * Para la regeneración de los resultados */ function removeRowFromTable() { var tbl = document.getElementById('resultados'); var rows = tbl.rows.length; if (rows === 2) { tbl.deleteRow(1); } else if (rows > 2) { for (var cell = rows - 1; cell >= 1; cell--) { tbl.deleteRow(cell); } } } /** * * Muestra y oculta el checklist de personas * Al marcar y deseleccionar el checkbox de deducción */ function showPeople() { var personas = document.getElementById('personas'); var deduccion_vivienda = document.getElementById('deduccion_vivienda'); if (deduccion_vivienda.checked) { personas.style.display = "block"; } else { personas.style.display = "none"; } } /** * Crea y obtiene el encabezado de la tabla y devuelve el id de la tabla * * param: div, string, id del div donde se pintara la tabla. * param: type, string, tipo de tabla mensual o anual * return: string, id de la tabla */ function getHead(div, type) { var heading = new Array(); var element = document.getElementById(div); var table = document.createElement('table'); table.id = "resultados"; if (type == "mensual") { heading[0] = "Fecha"; heading[1] = "Amortización"; heading[2] = "Interés"; heading[3] = "Cuota"; heading[4] = "Capital pendiente"; heading[5] = "Capital Amortizado"; } else if (type == "anual") { heading[0] = "Año"; heading[1] = "Amortización"; heading[2] = "Interés"; heading[3] = "Cuota"; heading[4] = "Capital pendiente"; heading[5] = "Capital Amortizado"; } var header = table.createTHead(); var row_header = header.insertRow(0); for (var i = 0; i <= heading.length - 1; i++) { var newCell = document.createElement('th'); newCell.innerHTML = heading[i]; newCell.scope = "col"; row_header.appendChild(newCell); } element.appendChild(table); return table.id; } function removeTable(id) { var tbl = document.getElementById(id); if (tbl) tbl.parentNode.removeChild(tbl); } </script> <div class="c-nomina "> <div class="cal-sup "> <form name="formulario_calculadora_irpf" onKeyPress="return checkSubmit(event)" class="formulario_calculadora_hipotecas"> <fieldset class="cal-datos "> <div class="n-general "> <h3>Datos Hipoteca</h3> <div class="c-izq "> <!-- Capital Prestamo --> <p class="medium"> <label for="capital_prestamo">Capital prestado</label> <input id="capital_prestamo" onkeypress="return isNumber(event)" name="capital_prestamo" value="180000" type="text" required> </p> <!-- Euribor --> <p class="medium"> <label for="valor_euribor">Euríbor (*)</label> <input id="valor_euribor" name="valor_euribor" onkeypress="return numbers(event)" onchange="validateEuribor()" value="" type="text" required> </p> <!-- Diferencial --> <p class="little"> <label for="valor_diferencial">Diferencial</label> <input id="valor_diferencial" name="valor_diferencial" onkeypress="return onlyNumbers(event)" onchange="validateDiferencial()" value="0" type="text" required> </p> <!-- amortizacion --> <p class="little"> <label for="tiempo_amortizacion">Años amortización</label> <input id="tiempo_amortizacion" name="tiempo_amortizacion" onkeypress="return isNumber(event)" onchange="validateNumber()" value="30" type="text" required> </p> </div><!-- fin c-izq --> <div class="c-dch "> <!-- Mes --> <p class="medium"> <label for="time_month">Mes adjudicación</label> <select id="time_month" name="time_month"> <option value="0">Enero</option> <option value="1">Febrero</option> <option value="2">Marzo</option> <option value="3">Abril</option> <option value="4">Mayo</option> <option value="5">Junio</option> <option value="6">Julio</option> <option value="7">Agosto</option> <option value="8">Septiembre</option> <option value="9">Octubre</option> <option value="10">Noviembre</option> <option value="11">Diciembre</option> </select> </p> <!-- Año --> <p class="medium"> <label for="time_year">Año adjudicación</label> <select id="time_year" name="time_year"> </select> </p> <!-- Clausula Suelo --> <p class="medium"> <label for="clausula_suelo">Cláusula Suelo</label> <input id="clausula_suelo" name="clausula_suelo" onkeypress="return onlyNumbers(event)" onchange="validateSuelo()" value="0" type="text"> </p> <!-- deduccion vivienda --> <p class="check"> <label for="deduccion_vivienda">Deducción por vivienda (**)</label> <input id="deduccion_vivienda" name="deduccion_vivienda" onclick="showPeople()" type="checkbox"> </p> <p id="personas" class="little"> <!-- personas --> <label for="numero_personas">Personas (***)</label> <select id="numero_personas" name="numero_personas"> <option value="1" selected="selected">1</option> <option value="2">2</option> </select> </p> </div><!-- c-dch --> <div class="notas_pie "> <p>(*) La calculadora toma por defecto el último dato diario del euríbor a 12 meses. Para un cálculo más exacto es preciso introducir el euríbor de referencia del último mes o del mes en el que se revisa la hipoteca. Para tipos fijos, introducir el tipo fijo en sustitución del euríbor y un diferencial cero</p> <p>(**) Aunque la deducción por vivienda solo sirve para hipotecas anteriores a 2013, la calculadora permite simular el efecto de la deducción si aún siguiese en vigor.</p> <p>(***) Número de personas a nombre de las que está la hipoteca; si son dos y se presenta declaración de IRPF individual, el límite de la deducción es más alto.</p> </div> </div><!--n-modone --> </fieldset> <fieldset class="c-boton "> <div class="error" id="error"></div> <input class="boton" id="calcular_nomina" name="calcular" value="calcular" onclick="f_calcular_hipoteca();" type="button"> </fieldset> </form> </div> <div id="resultados_generales" class="cal-sup oculto"> <table> <tbody> <tr> <th class="" scope="row">Cuota Mensual</th> <td><div id="valor_cuota"></div></td> </tr> <tr> <th class="" scope="row">Cuota anual</th> <td><div id="pagos_totales_anual"></div></td> </tr> <tr> <th class="" scope="row">Coste total de la hipoteca</th> <td><div id="coste_total"></div></td> </tr> <tr> <th class="" scope="row">Intereses totales a pagar</th> <td><div id="intereses_totales"></div></td> </tr> <tr> <th class="" scope="row">Interés nominal anual</th> <td><div id="interes_anual"></div></td> </tr> </tbody> </table> <div id="div_deduccion" style="display: none;"> <table> <caption>Deducción</caption> <tbody> <tr> <th class="" scope="row">Deducción Anual</th> <td><div id="valor_deduccion"></div></td> </tr> <tr> <th class="" scope="row">Deducción Total</th> <td><div id="valor_deduccion_total"></div></td> </tr> </tbody> </table> </div> <div id="div_pagos" style="display: none;"> <table> <caption>Pagos Realizados</caption> <tbody> <tr> <th class="" scope="row">Total Capital</th> <td><div id="pago_capital"></div></td> </tr> <tr> <th class="" scope="row">Total Intereses</th> <td><div id="pago_interes"></div></td> </tr> <tr> <th class="" scope="row">Total</th> <td><div id="pago_total"></div></td> </tr> </tbody> </table> <table> <caption>Pagos Pendientes</caption> <tbody> <tr> <th class="" scope="row">Total Capital</th> <td><div id="deuda_capital"></div></td> </tr> <tr> <th class="" scope="row">Total Intereses</th> <td><div id="deuda_interes"></div></td> </tr> <tr> <th class="" scope="row">Total</th> <td><div id="deuda_total"></div></td> </tr> </tbody> </table> </div> <div id="graficos" class="n-general " style="display: none;"> <h3>Evolución del pago de la cuota anual y de los interés de la hipoteca</h3> <canvas id="mi_grafico"></canvas> <div id="chartjs-tooltip"></div> <!-- <div id="legend"></div>--> </div> <div class="detalle "> <!-- detalle hipoteca --> <p class="large"> <label for="detalle_hipoteca">Ver detalle Hipoteca: </label> <select id="detalle_hipoteca" name="detalle_hipoteca" onchange="f_render_tabla();"> <option value="anual" selected="selected">Anual</option> <option value="mensual">Mensual</option> </select> </p> </div> <div id="resultados_calculadora_nomina" class="scroll-horizontal"></div> </div><!-- resultados --> <!-- <p id="txtHint"></p>--> <script type="text/javascript"> getAndPaintEuribor(); //Segmento de codigo que carga el mes actual y el año actual en los dropdown list de las fechas. var today = new Date(); var months = document.getElementById('time_month'); var month = today.getMonth(); for (var i = 0; i < 12; i++) { if (i == month) { months.options[i].selected = true; break; } } var select_year = document.getElementById('time_year'); var year = today.getFullYear(); t2 = "35"; for (var i = 0, j = year; i <= t2; i++, j--) { var y = String(j); select_year.options[i] = new Option(y, y); if (j === year) { select_year.options[i].selected = true; } } // Uncheck document.getElementById("deduccion_vivienda").checked = false; function getAndPaintEuribor() { var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function () { if (xhr.readyState == 4 && xhr.status == 200) { var jsonObj = JSON.parse(xhr.responseText); var i = 1; var index = ''; for (var property in jsonObj) { if (i > 1) { break; } index = property; i++; } if (index != '') { document.getElementById("valor_euribor").value = formatNumber(jsonObj[index]["cotizacion"]); } } } xhr.open("GET", "/datosmercados/tipos_interbancarios/08/8/8_ultimo_valor.js2", true); xhr.send(); } //documentacion Libreria Grafico de Areas //http://www.chartjs.org/docs/ /** * Pinta Grafico con 3 arrays labels linea x, dato1,2,3 * * param: labels, array of string Etiquetas de * param: dato1, array of number, cuota * param: dato2, array of number, interes * return: void, Pinta el grafico en el div correspondiente */ function pintaGrafico(labels, dato1, dato2) { var pointHitDetectionRadius = 1; if (labels.length > 0 && labels.length <= 15) { pointHitDetectionRadius = 10; } else if (labels.length > 16 && labels.length <= 25) { pointHitDetectionRadius = 5; } else { pointHitDetectionRadius = 3; } var toolTipOpts = { responsive: true, scaleGridLineWidth: 4, scaleGridLineColor: "rgba(230,230,230,1)", showTooltips: true, scaleShowHorizontalLines: false, bezierCurve: false, scaleFontSize: 15, scaleFontColor: "#535353", scaleLineWidth: 2, pointHitDetectionRadius: pointHitDetectionRadius, // pointHitDetectionRadius: 3, datasetStrokeWidth: 3, animation: false }; var lineChartData = { labels: labels, datasets: [ { label: "Cuota anual", fillColor: "rgba(245,245,245,0.8)", strokeColor: "rgba(230,111,111,1)", pointColor: "rgba(230,111,111,1)", pointStrokeColor: "#fff", pointHighlightFill: "#fff", pointHighlightStroke: "rgba(230,111,111,1)", data: dato1 } , { label: "Interés pagado", fillColor: "rgba(111, 189, 202,0.8)", strokeColor: "rgba(234, 95, 27, 1)", pointColor: "rgba(234, 95, 27, 1)", pointStrokeColor: "#fff", pointHighlightFill: "#fff", pointHighlightStroke: "rgba(234, 95, 27, 1)", data: dato2 } ] }; var ctx = document.getElementById("mi_grafico").getContext("2d"); setCustomTooltip(); return new Chart(ctx).Line(lineChartData, toolTipOpts); } /** * Pinta Grafico con 4 arrays labels linea x, dato1,2,3 * * param: labels, array of string Etiquetas de * param: dato1, array of number, cuota * param: dato2, array of number, interes * param: dato3, array of number, deduccion * return: void, Pinta el grafico en el div correspondiente */ function pintaGraficoDeduccion(labels, dato1, dato2, dato3) { var pointHitDetectionRadius = 1; if (labels.length > 0 && labels.length <= 15) { pointHitDetectionRadius = 10; } else if (labels.length > 16 && labels.length <= 25) { pointHitDetectionRadius = 5; } else { pointHitDetectionRadius = 3; } var toolTipOpts = { responsive: true, scaleGridLineWidth: 4, showTooltips: true, scaleShowHorizontalLines: false, bezierCurve: false, scaleFontSize: 14, scaleFontColor: "#535353", pointHitDetectionRadius: pointHitDetectionRadius, datasetStrokeWidth: 3, animation: false }; var lineChartData = { labels: labels, datasets: [ { label: "Cuota anual", fillColor: "rgba(245,245,245,0.8)", strokeColor: "rgba(230,111,111,1)", pointColor: "rgba(230,111,111,1)", pointStrokeColor: "#fff", pointHighlightFill: "#fff", pointHighlightStroke: "rgba(230,111,111,1)", data: dato1 } , { label: "Interés pagado", fillColor: "rgba(111, 189, 202,0.8)", strokeColor: "rgba(234, 95, 27, 1)", pointColor: "rgba(234, 95, 27, 1)", pointStrokeColor: "#fff", pointHighlightFill: "#fff", pointHighlightStroke: "rgba(234, 95, 27, 1)", data: dato2 } , { label: "Deducción anual", fillColor: "rgba(92,168,105,0.01)", strokeColor: "#31A3B6", pointColor: "rgba(49,163,182,1)", pointStrokeColor: "#fff", pointHighlightFill: "#fff", pointHighlightStroke: "rgba(49,163,182,1)", data: dato3 } ] }; var ctx = document.getElementById("mi_grafico").getContext("2d"); setCustomTooltip(); return new Chart(ctx).Line(lineChartData, toolTipOpts); } /** * * return: void */ function showDivGraf() { var div_gr = document.getElementById("graficos"); if (div_gr.style.display == "none") { div_gr.style.display = "block"; } } /** * * return: void */ function setCustomTooltip() { //Seteando parmetro para el custom tooltip Chart.defaults.global.pointHitDetectionRadius = 1; Chart.defaults.global.customTooltips = function (tooltip) { var tooltipEl = document.getElementById("chartjs-tooltip"); //Activamos el div tooltipEl.style.display = "block"; // Hide if no tooltip if (!tooltip) { tooltipEl.style.opacity = 0; return; } // Set caret Position tooltipEl.classList.remove('above\bbelow'); tooltipEl.classList.add(tooltip.yAlign); // Set Text //Array temporal investigar de donde sacar estas etiquetas if (tooltip.labels.length == 2) { var tmp = ['Cuota anual: ', 'Interés pagado: ', 'Capital amortizado: ']; } else if (tooltip.labels.length == 3) { var tmp = ['Cuota anual: ', 'Interés pagado: ', 'Deducción anual: ', 'Capital amortizado: ']; } var innerHtml = 'Año ' + tooltip.title + ''; var acum = 0; var cambiasigno = false; var cambio_label = ''; for (var i = 0; i <= tooltip.labels.length - 1; i++) { if (i == 2) { cambio_label = '<div class="chartjs-tooltip-section">' + '<span class="chartjs-tooltip-key" style="background-color:' + tooltip.legendColors[i].fill + '"></span>' + '<span class="chartjs-tooltip-value">' + tmp[i] + pintarResultado(parseFloat(tooltip.labels[i]), "&euro;") + '</span></div>'; continue; } acum += parseFloat(tooltip.labels[i]); if (cambiasigno === false) { acum *= -1; cambiasigno === true; } innerHtml += [ '<div class="chartjs-tooltip-section">', ' <span class="chartjs-tooltip-key" style="background-color:' + tooltip.legendColors[i].fill + '"></span>', ' <span class="chartjs-tooltip-value">' + tmp[i] + pintarResultado(parseFloat(tooltip.labels[i]), "&euro;") + '</span>', '</div>' ].join(''); } var label_resultado = (tooltip.labels.length == 2) ? tmp[2] : tmp[3]; var sum = '<div class="chartjs-tooltip-section"><span class="chartjs-tooltip-key" style="background-color: #f7f7f7;"></span><span class="chartjs-tooltip-value">' + label_resultado + pintarResultado(acum, "&euro;") + '</span></div>'; if (cambio_label != '') { sum += cambio_label; } tooltipEl.innerHTML = innerHtml + sum; tooltipEl.style.opacity = 1; tooltipEl.style.left = tooltip.chart.canvas.offsetLeft + tooltip.x + 'px'; tooltipEl.style.top = tooltip.chart.canvas.offsetTop + tooltip.y + 'px'; tooltipEl.style.fontFamily = tooltip.fontFamily; tooltipEl.style.fontSize = tooltip.fontSize; tooltipEl.style.fontStyle = tooltip.fontStyle; acum = 0; cambiasigno = false; }; } </script> <script> //evento OnLoad!!!!! if (document.addEventListener) { window.addEventListener("DOMContentLoaded", ponerFoco, false); } else { window.attachEvent('onload', ponerFoco); //IE } </script> </div> <aside class="widget widget_herramientas"> <div class="widget__interior"> <header class="widget-cabecera"> <h4 class="widget-titulo"><a href="http://cincodias.com/herramientas/" class="enlace">Más herramientas</a></h4> </header> <div class="widget-cuerpo"> <ul class="widget-listado"> <li><a href="/herramientas/calculadora-irpf/" class="item_reformafiscal"><span><abbr title="Impuesto sobre la Renta de las Personas Físicas">Calcular</abbr></span>IRPF</a></li> <li><a href="/herramientas/simulador-hipotecas/" class="item_hipoteca"><span>Simulador</span> de hipoteca</a></li> <li><a href="/herramientas/calculadora-sueldo-neto/" class="item_sueldoneto"><span>Calcular</span> sueldo neto</a></li> <li><a href="/herramientas/simulador-pensiones/" class="item_jubilacion"><span>Planifica</span> tu jubilación</a></li> <li><a href="/herramientas/conversor-divisas/" class="item_divisas"><span>Cambio</span> de divisas</a></li> </ul> </div> </div> </aside> </div> </div> <aside class="lateral"> <aside class="widget widget_newsletter"> <div class="widget__interior"> <header class="widget-cabecera"> <h4 class="widget-titulo"><a href="https://plus.elpais.com/newsletters/lnp/1/350/?prm=not_landingnwl_5d" class="enlace">Newsletter</a></h4> </header> </div> </aside> <aside class="envoltorio_publi" id="roba_principal"> <div id='cds_gpt-MPU1' class='publi_luto_horizontal'> <script type='text/javascript'> PBS.display('MPU1'); </script> </div> </aside> <script src="//d500.epimg.net/cincodias/js/buscador/mercados/suggest.js" language="JavaScript" type="text/javascript"></script> <aside class="widget widget_buscadores"> <div class="widget__interior"> <header class="widget-cabecera"> <h4 class="widget-titulo">Buscar bolsas y mercados</h4> </header> <div class="widget-cuerpo"> <form> <fieldset class="campos campos_buscador"> <div class="campo campo--predictivo"> <input id="busqueda_buscador_mercados_lateral" type="search" value="" placeholder="Buscar" autocomplete="off"> <button class="boton--ico boton_buscar">Buscar</button> </div> </fieldset> </form> <ul class="widget-mercados"> <li><a href="/mercados/bolsa/ibex_35/582/">IBEX 35</a></li> <li><a href="/mercados/bolsa/nasdaq_100/4915/">NASDAQ</a></li> <li><a href="/mercados/divisas/eurosxdolares_usa/41/">EUR / USD</a></li> </ul> </div> </div> <script>new EPETSuggestMercadosElement(document.getElementById('busqueda_buscador_mercados_lateral'));</script> </aside> <aside class="envoltorio_publi estirar"> <div id='cds_gpt-NSTD2' class='publi_luto_vertical_pequeno'> <script type='text/javascript'> PBS.display('NSTD2'); </script> </div> </aside> <aside class="envoltorio_publi estirar"> <div id='cds_gpt-MPU2' class='publi_luto_horizontal'> <script type='text/javascript'> PBS.display('MPU2'); </script> </div> </aside> </aside> </div> </section> </main> <aside class="envoltorio_publi estirar"> <script type='text/javascript'> if ( pbs_dimensiones.ancho >= 728) document.write("<div id='cds_gpt-LDB2' class='publi_luto_vertical'><script type='text/javascript'>PBS.display('LDB2');<\/script></div>"); else document.write("<div id='cds_gpt-MLDB2' class='publi_luto_vertical'><script type='text/javascript'>PBS.display('MLDB2');<\/script> </div>"); </script> </aside> <footer id="pie" class="pie"> <section class="fo_ser" data-dtm-region="footer_servicios"> <span>Servicios</span> <ul class="_ls"> <li class="fo_ico fo_ico-irpf"><a href="https://cincodias.elpais.com/herramientas/calculadora-irpf/">calcular irpf</a></li> <li class="fo_ico fo_ico-sh"><a href="https://cincodias.elpais.com/herramientas/simulador-hipotecas/">simulador hipoteca</a></li> <li class="fo_ico fo_ico-sn"><a href="https://cincodias.elpais.com/herramientas/calculadora-sueldo-neto/">sueldo neto</a></li> <li class="fo_ico fo_ico-pj"><a href="https://cincodias.elpais.com/herramientas/simulador-pensiones/">planifica tu jubilación</a></li> <li class="fo_ico fo_ico-cd"><a href="https://cincodias.elpais.com/herramientas/conversor-divisas/">cambio divisas</a></li> <li class="fo_ico fo_ico-de"><a href="https://cincodias.elpais.com/directorio-empresas">directorio empresas</a></li> <li class="fo_ico fo_ico-co"><a href="https://cincodias.elpais.com/mercados/bolsa/">cotizaciones</a></li> <li class="fo_ico fo_ico-ap-i"><a href="https://itunes.apple.com/app/elpais-com/id301049096?mt=8">app ios</a></li> <li class="fo_ico fo_ico-ap-a"><a href="https://play.google.com/store/apps/details?id=com.elpais.elpais">app android</a></li> </ul> </section> <div class="_g _g-lg fo_en"> <div class="fo_en-c1"><span data-dtm-region="footer_ediciones-ep">© <!-- -->CincoDías</span> <div class="fo_en_redes" data-dtm-region="footer_siguenos"> <div class="w_rs_i"> <a class="_btn " href="https://www.facebook.com/elpais/" target="_blank" rel="noopener noreferrer"> <svg class="" viewBox="0 0 26 26"> <title>Facebook</title> <use xlink:href="#svg-facebook"></use> </svg> </a> </div> <div class="w_rs_i"> <a class="_btn " href="https://twitter.com/el_pais" target="_blank" rel="noopener noreferrer"> <svg class="" viewBox="0 0 26 26"> <title>Twitter</title> <use xlink:href="#svg-twitter"></use> </svg> </a> </div> <div class="w_rs_i"> <a class="_btn " href="https://www.youtube.com/user/elpaiscom" target="_blank" rel="noopener noreferrer"> <svg class="" viewBox="0 0 26 26"> <title>Youtube</title> <use xlink:href="#svg-youtube"></use> </svg> </a> </div> </div> <div class="fo_en_in"> <p>EL PAÍS realiza una reserva expresa de las reproducciones y usos de las obras y otras prestaciones accesibles desde este sitio web a medios de lectura mecánica u otros medios que resulten adecuados a tal fin de conformidad con el artículo 67.3 del Real Decreto - ley 24/2021, de 2 de noviembre</p><div id="footer_menu_links"> <a href="https://elpais.com/estaticos/contacte/">Contacto</a> <a href="https://elpais.com/estaticos/aviso-legal/">Aviso legal</a> <a href="https://www.prisa.com/es/info/politica-de-cookies-publi">Politica de cookies</a> <a href="https://cincodias.elpais.com/#">Configuración de cookies</a> <a href="https://elpais.com/estaticos/politica-privacidad/">Política de privacidad</a> <a href="https://elpais.com/estaticos/mapa-web/">Mapa</a> </div> </div> </div> <div class="fo_en-c2"> <h3 class="fo_pri">PRISA</h3> <button class="btn btn-4" id="webs-button"><span>Webs de PRISA</span></button> <div class="fo_en-c2_iframe" id="fo_iframe"> <div> <span>Webs de PRISA</span> <span id="iframe-cerrar"> <svg width="24" height="25" viewBox="0 0 24 25" xmlns="http://www.w3.org/2000/svg"> <path d="m22.47 1.147 1.06 1.06-10.47 10.47 10.39 10.39-1.06 1.06L12 13.738 1.61 24.127l-1.06-1.06 10.39-10.39L.47 2.207l1.06-1.06L12 11.617l10.47-10.47z" fill="#111" fill-rule="nonzero"/> </svg> </span> </div> <iframe src="https://www.prisacom.com/comunes/piecomun-v9/i-pie-comun-enlaces.html" class="block" height="281" width="100%" title="Webs de PRISA" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" loading="lazy"></iframe> </div> </div> </div> <div hidden=""> <svg version="1.1" xmlns="http://www.w3.org/2000/svg"> <symbol id="svg-account-logout" viewBox="0 0 8 8"> <path d="M3 0v1h4v5h-4v1h5v-7h-5zm-1 2l-2 1.5 2 1.5v-1h4v-1h-4v-1z"></path> </symbol> <symbol id="svg-buscar" width="100%" height="100%" viewBox="0 0 14 14"> <path d="M13.685 11.847L10.338 8.5c.506-.834.794-1.805.794-2.847C11.132 2.625 8.507 0 5.479 0 2.452 0 0 2.457 0 5.485c0 3.024 2.62 5.649 5.648 5.649 1.006 0 1.95-.276 2.762-.75l3.369 3.37c.328.328.86.328 1.192 0l.838-.838c.324-.328.204-.74-.124-1.069M1.689 5.485c0-2.097 1.698-3.795 3.795-3.795 2.092 0 3.963 1.862 3.963 3.959 0 2.101-1.702 3.8-3.8 3.8-2.092 0-3.958-1.871-3.958-3.964" transform="translate(-3 -3) translate(3 3)"></path> </symbol> <symbol id="svg-newsletter" width="100%" height="100%" viewBox="0 0 17 10"> <path d="M1 10h12.464c.552 0 1-.448 1-1V1c0-.552-.448-1-1-1H1C.448 0 0 .448 0 1v8c0 .552.448 1 1 1zM1.306.729h11.853l-5.927 5.44L1.306.73zm8.288 4.27l4.168-3.801v7.604L9.594 5zM.703 1.199L4.872 5 .702 8.802V1.198zm8.36 4.295l4.096 3.78H1.306l4.093-3.78 1.833 1.669 1.832-1.669z" transform="translate(-2 -5) translate(2.5 5) translate(.274)"></path> </symbol> <symbol id="svg-facebook" width="100%" height="100%" viewBox="0 0 17 15"> <path d="M11.849 8.402l.435-2.704H9.561V3.944c0-.737.38-1.46 1.6-1.46H12.4V.183S11.276 0 10.202 0C7.959 0 6.493 1.294 6.493 3.638v2.06H4v2.704h2.493v5.942c.499.075 2.567.074 3.068 0V8.402h2.288z" transform="translate(-2 -3) translate(2 3)"></path> </symbol> <symbol id="svg-twitter" width="100%" height="100%" viewBox="0 0 17 15"> <path d="M5.68 13.986c2.293.013 4.496-.894 6.115-2.518 1.62-1.624 2.52-3.83 2.501-6.122.011-.128.011-.256 0-.384.583-.43 1.087-.958 1.488-1.56-.55.243-1.132.405-1.728.48.628-.383 1.097-.98 1.32-1.68-.592.352-1.242.596-1.92.72-.95-.976-2.432-1.203-3.631-.556-1.199.646-1.823 2.01-1.529 3.34-2.447-.159-4.714-1.344-6.24-3.264-.8 1.38-.391 3.145.936 4.032-.482-.006-.954-.138-1.368-.384-.008 1.436.995 2.68 2.4 2.976-.45.108-.918.108-1.368 0 .404 1.23 1.537 2.075 2.832 2.112-1.076.84-2.403 1.296-3.768 1.296H1c1.39.891 3.005 1.366 4.656 1.368" transform="translate(-2 -2) translate(2 2)"></path> </symbol> <symbol id="svg-instagram" width="100%" height="100%" viewBox="0 0 16 14"> <path d="M10.165 0h-6.29C1.737 0 0 1.724 0 3.842v6.239c0 2.118 1.738 3.842 3.874 3.842h6.291c2.137 0 3.875-1.724 3.875-3.842V3.842C14.04 1.724 12.302 0 10.165 0zm2.63 10.08c0 1.438-1.18 2.607-2.63 2.607h-6.29c-1.45 0-2.63-1.169-2.63-2.606V3.842c0-1.437 1.18-2.607 2.63-2.607h6.29c1.45 0 2.63 1.17 2.63 2.607v6.239z" transform="translate(-2 -3) translate(2 3) translate(.941)"></path> <path d="M7.02 3.374c-1.995 0-3.618 1.61-3.618 3.588s1.623 3.587 3.618 3.587c1.995 0 3.618-1.61 3.618-3.587 0-1.979-1.623-3.588-3.618-3.588zm0 5.94c-1.308 0-2.372-1.056-2.372-2.353 0-1.297 1.064-2.352 2.372-2.352 1.308 0 2.372 1.055 2.372 2.352S8.328 9.314 7.02 9.314zM10.79 2.327c-.24 0-.476.096-.646.265-.17.168-.268.402-.268.64 0 .239.098.472.268.641.17.168.405.265.645.265.241 0 .476-.097.646-.265.17-.169.268-.403.268-.64 0-.24-.097-.473-.268-.641-.169-.17-.405-.265-.646-.265z" transform="translate(-2 -3) translate(2 3) translate(.941)"></path> </symbol> <symbol id="svg-youtube" width="100%" height="100%" viewBox="0 0 16 15"> <path d="M15.67 3.862c-.184-.728-.724-1.302-1.41-1.498C13.008 2 8 2 8 2s-5.008 0-6.26.35c-.673.196-1.226.784-1.41 1.512C0 5.192 0 7.952 0 7.952s0 2.772.33 4.088c.184.728.724 1.302 1.41 1.499 1.265.364 6.26.364 6.26.364s5.008 0 6.26-.35c.686-.196 1.226-.77 1.41-1.499.33-1.33.33-4.089.33-4.089s.013-2.772-.33-4.103zM6.405 10.5V5.403L10.57 7.95 6.405 10.5z" transform="translate(-2 -2) translate(2 2)"></path> </symbol> <symbol id="svg-cerrar" width="100%" height="100%" viewBox="0 0 16 16"> <path d="M15.127 0L16 .873 8.872 8 16 15.127l-.873.873L8 8.872.873 16 0 15.127 7.128 8 0 .873.873 0 8 7.128 15.127 0z" transform="translate(-2 -2) translate(2 2)"></path> </symbol> <symbol id="svg-flecha-dcha" width="100%" height="100%" viewBox="0 0 2 6"> <g fill="none" fill-rule="evenodd" stroke-linecap="round"> <path d="M0 0l2 1.886M0 4l2-1.886" transform="translate(-9 -7) translate(9 8)"></path> </g> </symbol> <symbol id="svg-flecha-abajo" width="100%" height="100%" viewBox="0 0 2 6"> <g> <path d="M0 0l2 1.886M0 4l2-1.886" transform="translate(-9 -7) translate(9 8)"></path> </g> </symbol> <symbol id="svg-hamburguesa" width="100%" height="100%" viewBox="0 0 20 11"> <path d="M0 0H20V1.154H0zM0 4.615H13.846V5.769H0zM0 9.231H20V10.385H0z" transform="translate(0 -5) translate(0 5)"></path> </symbol> <symbol id="svg-usuario" width="100%" height="100%" viewBox="0 0 16 16"> <path d="M12.8952636,11.1231799 L10.463364,10.3125356 C10.4051883,10.2929874 10.3442343,10.2829791 10.2828452,10.2828117 L5.71270293,10.2828117 C5.65131381,10.2829456 5.59035983,10.2929874 5.5321841,10.3125356 L3.10028452,11.1231799 C1.24773222,11.7386778 -0.00177405858,13.4721674 -1.88666908e-06,15.4242678 C-1.88666908e-06,15.7397824 0.25576569,15.9955481 0.571280335,15.9955481 L15.4242678,15.9955481 C15.7397824,15.9955481 15.99555,15.7397824 15.99555,15.4242678 C15.9973222,13.4721674 14.7478159,11.7386778 12.8952636,11.1231799 Z"> </path> <path d="M7.99775732,0 C6.1047364,0 4.57014226,1.53459414 4.57014226,3.42761506 L4.57014226,5.71270293 C4.57201674,7.60495397 6.10550628,9.13844351 7.99775732,9.14031799 C9.89000837,9.13844351 11.4234979,7.60495397 11.4253724,5.71270293 L11.4253724,3.42761506 C11.4253724,1.53459414 9.89077824,0 7.99775732,0 Z"> </path> </symbol> </svg> </div> <script type="text/javascript"> if(typeof Fotogaleria != "undefined") accionesOnLoadFotogaleria(); if(typeof window['ampliaFoto'] == 'function'){ window['ampliaFoto'] = amplia_foto; } </script> </footer> <div id="me-u" class="me _pf _dn"> <div class="me_bg"> <div class="me-u _pa _df" id="p_b_i" data-dtm-region="header_areausuario"> <button aria-label="Cerrar" class="button | flex btn btn-1 btn-c _pa" id="p_c_b"> <svg class="icon_portal_profile_close" viewBox="0 0 26 26"> <use xlink:href="#svg-cerrar"></use> </svg> </button> <div class="me_f"> <b class="_db me_nu" id="p_u_fn">HOLA</b> </div> <div class="me_f -su" id="p_u_si" data-ctn-subscription> <a class="button | flex btn btn-2 _db _nu" href="https://elpais.com/subscriptions/#/register?prod=REG5D&o=CABEP&backURL=https%3A%2F%2Fcincodias.elpais.com%2Fherramientas%2Fsimulador-hipotecas%2F" id="l_u_si_ht">Suscríbete por 1€</a> </div> <ul class="me_f _ls"> <li><a href="https://plus.elpais.com/perfil/actividad/?rel=areausuario">Mi actividad</a></li> <li><a href="https://elpais.com/subscriptions/#/manage?rel=areausuario">Mi suscripción</a></li> <li><a href="https://elpais.com/subscriptions/#/profile?rel=areausuario">Mis datos</a></li> <li><a href="https://plus.elpais.com/perfil/newsletters/?rel=areausuario">Mis newsletters</a></li> <li><a href="https://plus.elpais.com/perfil/baja/?rel=areausuario">Derechos y baja</a></li> <li><a href="https://elpais.com/suscripciones/elpaismas.html?rel=areausuario">Experiencias para mí</a></li> </ul> <div class="me-u_sp"></div> <a class="button | flex btn btn-3" href="https://elpais.com/subscriptions/#/sign-out?backURL=https%3A%2F%2Fcincodias.elpais.com%2Fherramientas%2Fsimulador-hipotecas%2F">desconectar</a> </div> </div> </div> </div> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10