HEX
Server: Apache
System: Linux v38079.2is.nl 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User: democfellows (10015)
PHP: 8.1.34
Disabled: opcache_get_status
Upload Files
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();
		
		
		
	});
	
	
}