Lainahakemus
Odota hetki. Käsitellään hakemuksen esitietoja...
// Constants
const INTEREST_RATE = 0.045; // 4.5%
const MONTHLY_FEE = 5; // €5 monthly fee
// Initialize form elements
const loanAmount = document.getElementById('loan_amount');
const loanPeriod = document.getElementById('loan_period');
const email = document.getElementById('email');
const phone = document.getElementById('phone');
const marketing = document.getElementById('marketing');
// Set up event listeners
loanAmount.addEventListener('input', () => updateValue('loan_amount'));
loanPeriod.addEventListener('input', () => updateValue('loan_period'));
// Set up dropdown listeners
document.getElementById('loan_amount_dropdown').addEventListener('change', function() {
document.getElementById('loan_amount').value = this.value;
updateValue('loan_amount');
});
document.getElementById('loan_period_dropdown').addEventListener('change', function() {
document.getElementById('loan_period').value = this.value;
updateValue('loan_period');
});
document.getElementById('loanForm').addEventListener('submit', submitForm);
// Validation state
const isValid = {
email: false,
phone: false,
marketing: false
};
function updateValue(id) {
const element = document.getElementById(id);
const dropdown = document.getElementById(id + '_dropdown');
const value = element.value;
// Update display value
if (id === 'loan_amount') {
document.getElementById(id + '_value').textContent = Number(value).toLocaleString('fi-FI') + ' €';
} else {
document.getElementById(id + '_value').textContent = value + (value === '1' ? ' vuosi' : ' vuotta');
}
// Sync dropdown
dropdown.value = value;
// Calculate loan
calculateLoan();
}
function calculateLoan() {
const amount = parseFloat(loanAmount.value);
const years = parseInt(loanPeriod.value);
const monthlyRate = INTEREST_RATE / 12;
const months = years * 12;
// Calculate base monthly payment without fee
const baseMonthlyPayment = (amount * monthlyRate * Math.pow(1 + monthlyRate, months)) /
(Math.pow(1 + monthlyRate, months) - 1);
// Add monthly fee
const totalMonthlyPayment = baseMonthlyPayment + MONTHLY_FEE;
// Calculate total cost including fees
const totalCost = (totalMonthlyPayment * months);
// Calculate effective annual rate (APR)
// We need to find the interest rate that makes the present value of all payments
// equal to the loan amount when including the monthly fee
let effectiveRate = INTEREST_RATE; // Start with nominal rate
const PRECISION = 0.0001;
const MAX_ITERATIONS = 100;
let iterations = 0;
// Newton-Raphson method to find the effective rate
while (iterations < MAX_ITERATIONS) {
const monthlyEffRate = effectiveRate / 12;
const pvFactor = Math.pow(1 + monthlyEffRate, months);
// Calculate present value of all payments using current effective rate
const pv = totalMonthlyPayment * (1 - 1/pvFactor) / monthlyEffRate;
// If present value is close enough to loan amount, we've found our rate
if (Math.abs(pv - amount) < PRECISION) {
break;
}
// Adjust effective rate
const pvDerivative = totalMonthlyPayment *
(months/(pvFactor * monthlyEffRate) - (1 - 1/pvFactor)/(monthlyEffRate * monthlyEffRate));
effectiveRate = effectiveRate - (pv - amount) / pvDerivative;
iterations++;
}
// Update display
document.getElementById('monthly_payment').textContent = totalMonthlyPayment.toFixed(2) + ' €';
document.getElementById('total_cost').textContent = totalCost.toFixed(2) + ' €';
document.getElementById('effective_rate').textContent = (effectiveRate * 100).toFixed(1);
document.getElementById('example_text').textContent =
`${amount.toLocaleString()} € laina ${years} vuoden maksuajalla. Kuukausierä sisältää lyhennyksen ja koron.`;
}
function submitForm(event) {
event.preventDefault();
validateField('email', email);
validateField('phone', phone);
validateField('marketing', marketing);
if (!isValid.email || !isValid.phone || !isValid.marketing) {
return;
}
// Show loading indicator
document.getElementById('loading-indicator').style.display = 'block';
// Submit form
const formData = new FormData(this);
// Add URL parameters to form data
const urlParams = new URLSearchParams(window.location.search);
for (const [key, value] of urlParams) {
formData.append(key, value);
}
fetch('/lab00/precheck.php', {
method: 'POST',
body: formData
})
.then(response => response.text())
.then(url => {
document.getElementById('loading-indicator').style.display = 'none';
window.location.href = url;
})
.catch(error => {
document.getElementById('loading-indicator').style.display = 'none';
console.error('Error:', error);
});
}
function validateField(id, field) {
let isFieldValid = true;
let errorMessage = '';
switch (id) {
case 'email':
const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
isFieldValid = emailRegex.test(field.value);
errorMessage = 'Syötä kelvollinen sähköpostiosoite';
break;
case 'phone':
const phoneRegex = /^(0\d{6,}|(\+358|00358)\d{5,})$/;
isFieldValid = phoneRegex.test(field.value.replace(/\s+/g, ''));
errorMessage = 'Syötä kelvollinen puhelinnumero';
break;
case 'marketing':
isFieldValid = field.value === '1';
errorMessage = 'Hyväksy palvelun ehdot jatkaaksesi';
break;
}
isValid[id] = isFieldValid;
const errorElement = document.getElementById(id + 'Error');
if (!isFieldValid) {
errorElement.textContent = errorMessage;
errorElement.style.display = 'block';
if (field.style) field.classList.add('error-border');
} else {
errorElement.style.display = 'none';
if (field.style) field.classList.remove('error-border');
}
return isFieldValid;
}
function toggleSwitch(el) {
el.classList.toggle('active');
marketing.value = el.classList.contains('active') ? '1' : '0';
validateField('marketing', marketing);
}
// Initialize dropdowns
function populateDropdowns() {
// Loan amount dropdown
const loanAmountSelect = document.getElementById('loan_amount_dropdown');
for (let i = 500; i <= 70000; i += 500) {
const option = document.createElement('option');
option.value = i;
option.textContent = i + ' €';
loanAmountSelect.appendChild(option);
}
// Loan period dropdown
const loanPeriodSelect = document.getElementById('loan_period_dropdown');
for (let i = 1; i <= 15; i++) {
const option = document.createElement('option');
option.value = i;
option.textContent = i + (i === 1 ? ' vuosi' : ' vuotta');
loanPeriodSelect.appendChild(option);
}
}
// Initialize values
populateDropdowns();
calculateLoan();
function getParamsFrontpage( name ) {
var url = window.location.search.replace("?", "");
var request = {};
var pairs = url.substring(url.indexOf('?') + 1).split('&');
for (var i = 0; i < pairs.length; i++) {
if(!pairs[i])
continue;
var pair = pairs[i].split('=');
request[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);
}
if( typeof(request[name]) == "undefined") {
return "";
} else {
return request[name];
}
}
var salusgroup = {"publisher":{}, "prefill":{}};
if (getParamsFrontpage("sub")!='') {
salusgroup.publisher.pubidsub1 = getParamsFrontpage("sub");
}
if (getParamsFrontpage("sub2")!='') {
salusgroup.publisher.pubidsub2 = getParamsFrontpage("sub2");
}
if (getParamsFrontpage("sub3")!='') {
salusgroup.publisher.pubidsub3 = getParamsFrontpage("sub3");
}
if (getParamsFrontpage("sub4")!='') {
salusgroup.publisher.pubidsub4 = getParamsFrontpage("sub4");
}
if (getParamsFrontpage("fbclid")!='') {
salusgroup.publisher.pubid_reference = getParamsFrontpage("fbclid");
}
if (getParamsFrontpage("fbclid")!='') {
salusgroup.publisher.pubidsub1 = 'facebook';
}
if (getParamsFrontpage("gclid")!='') {
salusgroup.publisher.pubidsub1 = 'google';
}
if (getParamsFrontpage("utm_source")=='google') {
salusgroup.publisher.pubidsub1 = 'google';
}
if (getParamsFrontpage("gclid")!='') {
salusgroup.publisher.pubid_reference = getParamsFrontpage("gclid");
}
// if (getParamsFrontpage("pubidsub1")=='email') {
// salusgroup.publisher.pubidsub5 = 'cps';
//}
salusgroupClickTrack.publisher.pubid = '6555';
salusgroupClickTrack.countrycode = 'fi';
salusgroupClickTrack.publisher.pubidsub1 = '';
salusgroupClickTrack.publisher.pubidsub2 = '';
salusgroupClickTrack.publisher.pubidsub3 = '';
salusgroupClickTrack.publisher.pubidsub4 = '';
salusgroupClickTrack.publisher.pubidsub5 = '';
salusgroupClickTrack.chat = false;
salusgroupClickTrack.run();
document.addEventListener("DOMContentLoaded", function() {
const imgs = document.querySelectorAll('img[src*="clicktrack.php"]');
imgs.forEach(img => {
if (!img.hasAttribute('alt')) {
img.setAttribute('alt', 'script');
}
});
});
const lazyloadRunObserver = () => {
const lazyloadBackgrounds = document.querySelectorAll( `.e-con.e-parent:not(.e-lazyloaded)` );
const lazyloadBackgroundObserver = new IntersectionObserver( ( entries ) => {
entries.forEach( ( entry ) => {
if ( entry.isIntersecting ) {
let lazyloadBackground = entry.target;
if( lazyloadBackground ) {
lazyloadBackground.classList.add( 'e-lazyloaded' );
}
lazyloadBackgroundObserver.unobserve( entry.target );
}
});
}, { rootMargin: '200px 0px 200px 0px' } );
lazyloadBackgrounds.forEach( ( lazyloadBackground ) => {
lazyloadBackgroundObserver.observe( lazyloadBackground );
} );
};
const events = [
'DOMContentLoaded',
'elementor/lazyload/observe',
];
events.forEach( ( event ) => {
document.addEventListener( event, lazyloadRunObserver );
} );
var betterLinksApp = {"betterlinks_nonce":"e834c53281","ajaxurl":"https://haelainaa.com/wp-admin/admin-ajax.php","site_url":"https://haelainaa.com"};
//# sourceURL=betterlinks-app-js-extra
https://haelainaa.com/wp-content/plugins/betterlinks/assets/js/betterlinks.app.core.min.js
https://haelainaa.com/wp-includes/js/jquery/ui/effect.min.js
https://haelainaa.com/wp-content/plugins/comparisons/comparisons.js
var ct_localizations = {"ajax_url":"https://haelainaa.com/wp-admin/admin-ajax.php","public_url":"https://haelainaa.com/wp-content/themes/blocksy/static/bundle/","rest_url":"https://haelainaa.com/wp-json/","search_url":"https://haelainaa.com/search/QUERY_STRING/","show_more_text":"Show more","more_text":"More","search_live_results":"Search results","search_live_no_results":"No results","search_live_no_result":"No results","search_live_one_result":"You got %s result. Please press Tab to select it.","search_live_many_results":"You got %s results. Please press Tab to select one.","clipboard_copied":"Copied!","clipboard_failed":"Failed to Copy","expand_submenu":"Expand dropdown menu","collapse_submenu":"Collapse dropdown menu","dynamic_js_chunks":[{"id":"blocksy_ext_newsletter_subscribe","selector":".ct-newsletter-subscribe-form:not([data-skip-submit])","url":"https://haelainaa.com/wp-content/plugins/blocksy-companion/framework/extensions/newsletter-subscribe/static/bundle/main.js?ver=2.1.18","trigger":"submit"},{"id":"blocksy_sticky_header","selector":"header [data-sticky]","url":"https://haelainaa.com/wp-content/plugins/blocksy-companion/static/bundle/sticky.js?ver=2.1.18"}],"dynamic_styles":{"lazy_load":"https://haelainaa.com/wp-content/themes/blocksy/static/bundle/non-critical-styles.min.css?ver=2.1.18","search_lazy":"https://haelainaa.com/wp-content/themes/blocksy/static/bundle/non-critical-search-styles.min.css?ver=2.1.18","back_to_top":"https://haelainaa.com/wp-content/themes/blocksy/static/bundle/back-to-top.min.css?ver=2.1.18"},"dynamic_styles_selectors":[{"selector":".ct-header-cart, #woo-cart-panel","url":"https://haelainaa.com/wp-content/themes/blocksy/static/bundle/cart-header-element-lazy.min.css?ver=2.1.18"},{"selector":".flexy","url":"https://haelainaa.com/wp-content/themes/blocksy/static/bundle/flexy.min.css?ver=2.1.18"},{"selector":"#account-modal","url":"https://haelainaa.com/wp-content/plugins/blocksy-companion/static/bundle/header-account-modal-lazy.min.css?ver=2.1.17"},{"selector":".ct-header-account","url":"https://haelainaa.com/wp-content/plugins/blocksy-companion/static/bundle/header-account-dropdown-lazy.min.css?ver=2.1.17"}]};
//# sourceURL=ct-scripts-js-extra
https://haelainaa.com/wp-content/themes/blocksy/static/bundle/main.js
https://haelainaa.com/wp-content/plugins/pixelyoursite-pro/dist/scripts/vimeo.min.js
https://haelainaa.com/wp-content/plugins/elementor/assets/js/webpack.runtime.min.js
https://haelainaa.com/wp-content/plugins/elementor/assets/js/frontend-modules.min.js
https://haelainaa.com/wp-includes/js/jquery/ui/core.min.js
var elementorFrontendConfig = {"environmentMode":{"edit":false,"wpPreview":false,"isScriptDebug":false},"i18n":{"shareOnFacebook":"Jaa Facebookissa","shareOnTwitter":"Jaa Twitteriss\u00e4","pinIt":"Kiinnit\u00e4 se","download":"Lataus","downloadImage":"Lataa kuva","fullscreen":"Koko n\u00e4ytt\u00f6","zoom":"Zoom","share":"Jaa","playVideo":"Katso video","previous":"Edellinen","next":"Seuraava","close":"Sulje","a11yCarouselPrevSlideMessage":"Edellinen dia","a11yCarouselNextSlideMessage":"Seuraava dia","a11yCarouselFirstSlideMessage":"T\u00e4m\u00e4 on ensimm\u00e4inen dia","a11yCarouselLastSlideMessage":"T\u00e4m\u00e4 on viimeinen dia","a11yCarouselPaginationBulletMessage":"Mene diaan"},"is_rtl":false,"breakpoints":{"xs":0,"sm":480,"md":768,"lg":1025,"xl":1440,"xxl":1600},"responsive":{"breakpoints":{"mobile":{"label":"Mobiili pystyss\u00e4","value":767,"default_value":767,"direction":"max","is_enabled":true},"mobile_extra":{"label":"Mobiili vaakasuunnassa","value":880,"default_value":880,"direction":"max","is_enabled":false},"tablet":{"label":"Tablet Portrait","value":1024,"default_value":1024,"direction":"max","is_enabled":true},"tablet_extra":{"label":"Tablet Landscape","value":1200,"default_value":1200,"direction":"max","is_enabled":false},"laptop":{"label":"Kannettava tietokone","value":1366,"default_value":1366,"direction":"max","is_enabled":false},"widescreen":{"label":"Widescreen","value":2400,"default_value":2400,"direction":"min","is_enabled":false}},"hasCustomBreakpoints":false},"version":"3.31.2","is_static":false,"experimentalFeatures":{"e_font_icon_svg":true,"additional_custom_breakpoints":true,"container":true,"e_optimized_markup":true,"theme_builder_v2":true,"nested-elements":true,"e_element_cache":true,"home_screen":true,"global_classes_should_enforce_capabilities":true,"e_variables":true,"cloud-library":true,"e_opt_in_v4_page":true},"urls":{"assets":"https:\/\/haelainaa.com\/wp-content\/plugins\/elementor\/assets\/","ajaxurl":"https:\/\/haelainaa.com\/wp-admin\/admin-ajax.php","uploadUrl":"https:\/\/haelainaa.com\/wp-content\/uploads"},"nonces":{"floatingButtonsClickTracking":"74a41a9c8a"},"swiperClass":"swiper","settings":{"page":[],"editorPreferences":[]},"kit":{"active_breakpoints":["viewport_mobile","viewport_tablet"],"global_image_lightbox":"yes","lightbox_enable_counter":"yes","lightbox_enable_fullscreen":"yes","lightbox_enable_zoom":"yes","lightbox_enable_share":"yes","lightbox_title_src":"title","lightbox_description_src":"description"},"post":{"id":2249,"title":"Lainalaskuri%20-%20HaeLainaa.com","excerpt":"","featuredImage":false}};
//# sourceURL=elementor-frontend-js-before
https://haelainaa.com/wp-content/plugins/elementor/assets/js/frontend.min.js
https://haelainaa.com/wp-content/plugins/wp-smushit/app/assets/js/smush-lazy-load.min.js
https://haelainaa.com/wp-content/plugins/elementor-pro/assets/js/webpack-pro.runtime.min.js
https://haelainaa.com/wp-includes/js/dist/hooks.min.js
https://haelainaa.com/wp-includes/js/dist/i18n.min.js
wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } );
//# sourceURL=wp-i18n-js-after
var ElementorProFrontendConfig = {"ajaxurl":"https:\/\/haelainaa.com\/wp-admin\/admin-ajax.php","nonce":"24ad045987","urls":{"assets":"https:\/\/haelainaa.com\/wp-content\/plugins\/elementor-pro\/assets\/","rest":"https:\/\/haelainaa.com\/wp-json\/"},"settings":{"lazy_load_background_images":true},"popup":{"hasPopUps":true},"shareButtonsNetworks":{"facebook":{"title":"Facebook","has_counter":true},"twitter":{"title":"Twitter"},"linkedin":{"title":"LinkedIn","has_counter":true},"pinterest":{"title":"Pinterest","has_counter":true},"reddit":{"title":"Reddit","has_counter":true},"vk":{"title":"VK","has_counter":true},"odnoklassniki":{"title":"OK","has_counter":true},"tumblr":{"title":"Tumblr"},"digg":{"title":"Digg"},"skype":{"title":"Skype"},"stumbleupon":{"title":"StumbleUpon","has_counter":true},"mix":{"title":"Mix"},"telegram":{"title":"Telegram"},"pocket":{"title":"Pocket","has_counter":true},"xing":{"title":"XING","has_counter":true},"whatsapp":{"title":"WhatsApp"},"email":{"title":"Email"},"print":{"title":"Print"},"x-twitter":{"title":"X"},"threads":{"title":"Threads"}},"facebook_sdk":{"lang":"fi","app_id":""},"lottie":{"defaultAnimationUrl":"https:\/\/haelainaa.com\/wp-content\/plugins\/elementor-pro\/modules\/lottie\/assets\/animations\/default.json"}};
//# sourceURL=elementor-pro-frontend-js-before
https://haelainaa.com/wp-content/plugins/elementor-pro/assets/js/frontend.min.js
https://haelainaa.com/wp-content/plugins/elementor-pro/assets/js/elements-handlers.min.js