File: /var/www/vhosts/creativefellows.nl/kannick.creativefellows.nl/public/js/app.js
$(document).foundation().ready(function(){
$(".calendar").datepicker({ maxDate: new Date });
$(".expertise-calculator").expertiseCalculator();
$('.slide-submit').slideToSubmit({
errorText: 'Niet alle velden zijn ingevuld',
successText: 'Bezig met verzenden ...',
submitDelay: 500,
graceZone: 100,
done: function(element){
var form = element.closest("form");
var check = form.find(".slided_by_human");
check.val( form.attr("data-token") );
}
});
});
/*
* Toggle details
*/
$.fn.expertiseCalculator = function(element, options)
{
return this.each(function(){
var calculator = $(this);
var sliders = calculator.find(".slider");
var input_other = calculator.find(".form-text");
calculator.settings = {}
var defaults = {
elements : [],
days_max: 730,
day_in_ms: 1000 * 60 * 60 * 24
}
calculator.init = function()
{
// extend options
calculator.settings = $.extend({}, defaults, options);
// create sliders
calculator.initSliders();
// start calculation
calculator.calculate();
// change date
$("#date_sick").on("change",function(){
calculator.calculate();
});
}
// init sliders
calculator.initSliders = function(){
sliders.each(function(){
var slider = $(this);
var slider_el = slider.get(0);
var value = $(this).next();
var start = slider.attr("data-start");
var min = slider.attr("data-min");
var max = slider.attr("data-max");
var copy_value_field = slider.attr("data-copy");
//create Ui slider
noUiSlider.create( slider_el, {
start: [start],
connect: 'lower',
step: 1,
range: {
'min': [parseInt(min)],
'max': [parseInt(max)]
},
format: {
to: function (value) {
return Math.floor(value);
},
from: function (value) {
return Math.floor(value);
}
}
});
// set dom value
slider_el.noUiSlider.on('update', function (values, handle) {
// update om
value.html( values[handle].toLocaleString() );
// bind value
calculator.setValue(slider.attr("data-id"),values[handle]);
// set input value
$(copy_value_field).val(values[handle].toLocaleString());
//console.log(copy_value_field);
// calculate result
calculator.calculate();
});
});
}
// set slider value
calculator.setValue = function(id,value)
{
calculator.settings.elements[id] = value;
}
// calculate the values on slider values
calculator.calculate = function()
{
// user set date
var user_date = $("#date_sick").val().split("-");
// To set present_dates to two variables
var today = new Date();
var sick_day = new Date(user_date[2], user_date[1] - 1, user_date[0]);
var time_dif_days = Math.round((today.getTime() - sick_day.getTime()) / calculator.settings.day_in_ms) - 1;
//console.log(time_dif_days);
// amount to pay
//. 730 - ()
var to_pay = (calculator.settings.days_max - time_dif_days) * (calculator.settings.elements["disability"]/100) * (calculator.settings.elements["salary"]/30);
$("#pay_untill_date").val( Math.floor(to_pay).toLocaleString() );
// roi amount
var roi_amount = (calculator.settings.elements["salary"] * (calculator.settings.elements["disability"]/100) * calculator.settings.elements["reduction_months"] * (calculator.settings.elements["chance_after"]/100)) - calculator.settings.elements["offer_amount"];
$("#roi_euro").val( Math.floor(roi_amount).toLocaleString() );
// roi in months
var roi_months = calculator.settings.elements["offer_amount"] / calculator.settings.elements["salary"];
$("#roi_months").val( roi_months.toFixed(1) ); // roi_months.toFixed(1) // Math.ceil(roi_months)
input_other.each(function(){
var copy = $(this).attr("data-copy");
$( copy ).val( $(this).val() );
});
}
// init
calculator.init();
});
}