(function ($){
$('#laske').click(function (e){
e.preventDefault();
const postinumero=$('#hp_hintalaskuri_postinumero').val(),
tuloswrapper=$('#hp_hintalaskuri_kuluttaja_tulos'),
rakennusvuosi =
parseFloat($('#hp_hintalaskuri_rakennusvuosi').val())||0,
laattaneliot=parseFloat($('#hp_hintalaskuri_laattaneliot').val())||0,
silikonisaumat=$('#hp_hintalaskuri_silikonisaumat :selected').val(),
laattasaumojen_kunto=$(
'#hp_hintalaskuri_laattasaumojen_kunto :selected'
).val();
const alue1=393.32 * Math.pow(laattaneliot, -0.518) * laattaneliot;
const alue2=695.88 * Math.pow(laattaneliot, -0.685) * laattaneliot;
const alue3=313.87 * Math.pow(laattaneliot, -0.475) * laattaneliot;
const alue4=254.36 * Math.pow(laattaneliot, -0.36) * laattaneliot;
$.getJSON('https://hohdepinnoitus.fi/data.json', function (data){
const alue=data.find((o)=> o.Postinumero===postinumero);
const alueHinta=(alue)=> {
switch (alue.markkina_alue){
case 'I':
return alue1;
case 'II':
return alue2;
case 'III':
return alue3;
case 'IV':
return alue4;
default:
return;
}};
const saumaHinta=(silikonisaumat)=> {
switch (silikonisaumat){
case 'Alle 10m':
return 0;
case '10-20m':
return 100;
case '20-30m':
return 200;
case '30-50m':
return 400;
default:
return;
}};
const ovh=alueHinta(alue) + saumaHinta(silikonisaumat);
const tarjous=ovh <=800 ? 800:ovh;
console.log(ovh);
const alennettu=tarjous * 0.85;
const date=new Date();
const vuosi=date.getFullYear();
const ika=vuosi - rakennusvuosi;
const ktvahennys=alennettu - alennettu * 0.8 * 0.4;
const attr='hp_hintalaskuri_kasiteltava_tila\\[\\]';
const inputs=$(`input:checkbox[name=${attr}]:checked`).toArray();
const text=inputs.map((i)=> {
const id=i.getAttribute('id');
const amount=$(`#hp_hintalaskuri_${id}kpl`);
return `${i.value} ${amount.val()}kpl`;
});
tuloswrapper.append('<h4>Tiedot</h4>' +
'<strong>Postinumero:</strong> ' +
postinumero +
' <br>' +
'<strong>Käsiteltävät tilat:</strong> ' +
text.join(', ') +
' <br>' +
'<strong>Rakennusvuosi tai viimeisin remontti:</strong> ' +
rakennusvuosi +
' <br>' +
'<strong>Pinnoitettavat laattaneliöt:</strong> ' +
laattaneliot +
' m<sup>2</sup> <br>' +
'<strong>Silikonisaumat:</strong> ' +
silikonisaumat +
' <br>' +
'<strong>Laattasaumojen kunto:</strong> ' +
laattasaumojen_kunto +
' <br>'
);
document.getElementById('tarjous').value=Math.ceil(tarjous / 10) * 10;
document.getElementById('alennus').value=Math.ceil(alennettu / 10) * 10;
document.getElementById('ktvahennys').value=Math.ceil(ktvahennys / 10) * 10;
});
$('#laske').removeClass('color');
$('#laske').addClass('block');
$('#tarjousbtn').addClass('color');
$('#tarjousbtn').removeClass('hidden');
$('#personal-info').removeClass('hidden');
});
$('#clear').click(function (e){
e.preventDefault();
$('#hp_hintalaskuri_kuluttaja_tulos').empty();
});
})(jQuery);
function validoi(){
const postinumero=document.getElementById('hp_hintalaskuri_postinumero')
.value;
document.getElementById('postinumero_error').innerHTML='';
regexp=/^[0-9]{5}$/;
postinumero_validated=regexp.test(postinumero)===true ? true:false;
try {
if(postinumero_validated===false) throw 'Postinumero on väärä';
} catch (err){
document.getElementById('postinumero_error').innerHTML=err;
}
const rakennusvuosi=document.getElementById('hp_hintalaskuri_rakennusvuosi')
.value;
document.getElementById('rakennusvuosi_error').innerHTML='';
try {
if(rakennusvuosi < 1970) throw 'Rakennusvuosi oltava vähintään 1970';
} catch (err){
document.getElementById('rakennusvuosi_error').innerHTML=err;
}};