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/test.creativefellows.nl/liez/public/js/app.js
$(document).foundation().ready(function(){
	
	// slide to submit form 
	$('.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");
			var action = form.attr("data-action"); 
			check.val( form.attr("data-token") );	
			
		}
	});
	
	$(".toggle-navigation").toggleSearchNavigation();
	
	$("#header").fixednav();
			
	$('#acceptCookie').on("click",function(event)
	{
		event.preventDefault();

		var cookies = $(this).closest(".cookies");
		
		$.ajax({
			type: 'POST',
			url: "accept-cookies",
			success: function (response) {
				$("#cookies").slideUp("fast");	
			}	
		});
		
	});
	
	$(".liez-calculator, .masthead, .cta-offerte-aanvragen").liezCalculator();
	
	
	// showcase
	$('.image-showcase').slick({
	  	pauseOnHover:true,
		autoplay: true,
		autoplaySpeed: 4000,
		dots: false,
		infinite: true,
		speed: 500,
		fade: true,
		cssEase: 'linear',
		arrows: false		
	});
	
	
	
	
});




$.fn.liezCalculator = function(element, options){
	
	return this.each(function(){
				
		var calculator		= $(this);
		var form			= $( calculator.attr('data-form-id') ).find("form");
		var calc_on_blur	= calculator.attr("data-calculate-blur") ? calculator.attr("data-calculate-blur") : 1;
		var leasetype_el	= form.find("input[name='typeaanvraag']");		
		var leasetype;
		
		calculator.settings = {}
		
	    var defaults = {
			inputElements : $("#aanschafprijsexclbtw, #inruilaanbetaling, #slottermijn, #looptijd"), // #slottermijn
			endTerm: 0.0063900,
			euroSign: "€ ",
			operational_fields : $("#kilometerperjaar, #67kilometerperjaar, #71kilometerperjaar, #70optiesenaccessoires,#72looptijd,#7looptijd,#73typeaanvraag"),
			financial_fields : $("#22leaseberekening, #5investeringsbedrag, #23inruilaanbetaling, #6slottermijn, #7looptijd, #8maandbedrag, #inruilaanbetaling, #slottermijn, #aanschafprijsexclbtw,#uwinvestering,#looptijd,#73typeaanvraag")		
		}			   

		
		calculator.init = function()
		{
			// extend options
			calculator.settings = $.extend({}, defaults, options);
						
			
			// calculate on blur input
			if(calc_on_blur == 1)
			{
				calculator.settings.inputElements.on("keyup",function(){
					calculator.setValues();				
					calculator.calculate();
				});
				
				if($("#slottermijn").val() != "" ){
					
					calculator.setValues();				
					calculator.calculate();
					
				}
				
			}
			// calculate on click
			else
			{
			
				// button click			
				calculator.find(".button").on("click",function(){

				
										
					if( $(this).attr("type") != "submit")
					{				
						calculator.copyValues();
						calculator.setValues();
						calculator.calculate();
					}
				
											
				});
				
				// keyup change
				calculator.settings.inputElements.on("keyup",function(){

					calculator.setValues();				
					calculator.calculate();

				});
					
			}	
	
			
			
			// set lease type
			calculator.setLeaseType();
			calculator.toggleFields();
			
			//changing the looptijd
			calculator.find("select[name='looptijd']").on("change",function(){
							
				calculator.setValues();
				calculator.calculate();
					
			});
			
			
			// toggle fields based on lease type
			leasetype_el.on("click",function(){
				
				leasetype = $(this).val().toLowerCase();
				calculator.toggleFields();
				
				$("#73typeaanvraag").val( leasetype );
				
			});
			
			
			// show tooltips
			calculator.showTooltip();
			
			
		}
		
		calculator.toggleFields = function()
		{
			switch(leasetype)
			{
				case "financial lease":
					calculator.settings.financial_fields.closest("fieldset").show();
					calculator.settings.operational_fields.closest("fieldset").hide();
				break;
					
				case "operational lease":
					calculator.settings.operational_fields.closest("fieldset").show();
					calculator.settings.financial_fields.closest("fieldset").hide();

				break;
			}
			
		}
		
		
		calculator.setLeaseType = function()
		{
			leasetype = leasetype_el.filter(":checked").val().toLowerCase();
		}
		
		
		// copy the showcase values into the lease form
		calculator.copyValues = function(){
			
			var inputs = $(".input-form .input-showcase");
						
			inputs.each(function(){
								
				if( $(this).attr("data-copy-target") )
				{
					var copy_id = $(this).attr("data-copy-target");			
			
					$("#"+copy_id).val( $(this).val() );
					//console.log( $(this).val() );
					//$("#"+copy_id).closest("fieldset").hide();
					//$("#"+copy_id).closest("form").find("fieldset:first").hide();
				}
				
			});
		}
		
		
		calculator.setValues = function(){
			
			calculator.settings.amount 	= $("#aanschafprijsexclbtw").val().replace(/[^0-9\.]/g,'');

			calculator.settings.months 	= $("#looptijd").val() ;
			calculator.settings.deposit	= calculator.parseInput( $("#inruilaanbetaling") );
			calculator.settings.endterm = calculator.parseInput( $("#slottermijn") );//.val().replace(/[^0-9\.]/g,'');
			//calculator.settings.km_pj 	= $("#kilometerperjaar").val().replace(/[^0-9\.]/g,'');
			
			calculator.settings.months_str = $("#looptijd option:selected").html();
						
			calculator.find( $("input.required") ).each(function(){
								
				if( $(this).val() == "" ) $(this).addClass("error");
				else $(this).removeClass("error");
				
			});
						
		}
		
		
		calculator.parseInput = function(element){
		
			var value = element.val().replace(/[^0-9]/g,'');
			//console.log(value);
			if(value == "" || value == "NaN") value = 0;
			else value = parseFloat(value)
			
			element.val(value);
			return value;
		}
		
		
		calculator.calculate = function(){
			
			console.log(calculator.settings.endterm);
			console.log(calculator.settings.endTerm);
			var total = (calculator.settings.amount - calculator.settings.endterm) * calculator.settings.months + calculator.settings.endterm * calculator.settings.endTerm;
			
			//alert(calculator.settings.endTerm);
			
			//console.log(calculator.settings.endterm);
			

			if(calculator.settings.amount == "" || calculator.settings.months == "") return;
			
			$("#5investeringsbedrag").val( calculator.settings.amount ).prev().val(calculator.settings.euroSign + calculator.settings.amount);
			$("#6slottermijn").val( calculator.settings.endterm ).prev().val(calculator.settings.euroSign + calculator.settings.endterm);
			$("#7looptijd").val( calculator.settings.months_str ).prev().val(calculator.settings.months_str);
			$("#8maandbedrag").val( total.toFixed(2)).prev().val(calculator.settings.euroSign + total.toFixed(2));
			$("#23inruilaanbetaling").val( calculator.settings.euroSign +  calculator.settings.deposit ).prev().val(calculator.settings.euroSign +  calculator.settings.deposit );//"fdsafdsa"+ calculator.settings.euroSign +  calculator.settings.deposit );
			//$("#67kilometerperjaar").val( total.toFixed(2)).prev().val(calculator.settings.km_pj );
			
			//$("#67kilometerperjaar").val( calculator.settings.km_pj ).prev().val( calculator.settings.km_pj );//.css("border","solid 1px red");
		
		
			setTimeout(function(){
				
				$(".liez-calculator").first().focus();
				
				
				if($("#page-cta-form").length > 0 && $("#page-cta-form").is(":hidden"))
				{
				
					$("#page-cta-form").hide().addClass("visible");
					$("#page-cta-form").slideToggle("fast");
			        $('html, body').stop().animate({
			            scrollTop: $('#page-cta-form').offset().top - 100
			        }, 500);
				}
				
		      
				
			},10);
			
		}
		
		
		
		
		calculator.showTooltip = function()
		{
			var ietjes = calculator.find("i");
						
			ietjes.each(function(el)
			{	
				var lbl = $(this).attr("data-label");
				$(this).attr("title",lbl);
				
				var options = {dataDisableHover: true, allowAllClosed: false};
				var elem 	= new Foundation.Tooltip($(this), options);
		
			
			});
			
	
		}
		
		// init the plugin
	    calculator.init();
		
		
		
	});
	
}



/*
 * fixed navigation
 */
$.fn.fixednav = function(){
	
	var shrinkHeader 	= $('#header').height();
	var lastScrollTop	 = 0;
	
	$(window).scroll(function() {

		var scrollYpos = getCurrentScroll();

		if(scrollYpos >= shrinkHeader) $('#header').addClass('has-scrolled');
		else $('#header').removeClass('has-scrolled');
		
		// scrolling up
		if (scrollYpos < lastScrollTop) $('#header').removeClass('has-scrolled');
		 
		// set scroll pos
		lastScrollTop =  scrollYpos;
		
	});
	
	function getCurrentScroll()
	{
    	return window.pageYOffset;
    }
	
	function checkScrollPosition()
	{
		var scroll = getCurrentScroll();
		if(scroll >= shrinkHeader) $('#header').addClass('has-scrolled');
	}
	
	checkScrollPosition();	
	
}

/*
 * toggle navigation
 */
$.fn.toggleSearchNavigation = function()
{
	var shadeout	= null; 
	var fadeDelay 	= 500; 
	var menu_el		= new Foundation.ResponsiveToggle('.toggle-menu');
	var toggle_nav	= $(this);
	
	var close_search	= $('.close-search');
	var search 			= $('#search-products');
	
	$(this).on("click",function(event) 
	{	
		// toggle open class
		$(this).toggleClass('open');
		$("#header").toggleClass('open');
		
		// create mask element if not exists
		if( $(".shade-out").length == 0 ) createShadeOut();
		
		// open
		if( !$(this).hasClass("open") )
		{
			// hide shade-out
			shadeout.removeClass("is-open").delay(fadeDelay).fadeOut("fast");	
		}
		else
		{	
			// show shade-out
			shadeout.addClass("is-open").hide().fadeIn("fast");	
		}
					
	});
	
	$(".toggle-search").on("click",function(event) 
	{	
		
		$("#header").toggleClass('navigation-open');
		
		if($("#header").hasClass('navigation-open')){
			setTimeout(function(){
				$("#q").focus();
			},100)

		}
			
	});
	
	$('.close-search').on("click",function(event)
	{	
	
		$("#header").toggleClass('navigation-open');
		
	});
	
	var createShadeOut = function()
	{
		shadeout = $('<div class="shade-out"></div>').hide();
		shadeout.insertAfter("#header");
		shadeout.on("click",function(event)
		{	
			// fade shade
			hideShadeOut();
			
			// close menu
			menu_el.toggleMenu('close');
			
			//	
			toggle_nav.toggleClass('open');
			
		});	
	}
	
	var hideShadeOut = function()
	{
		// hide shade-out
		shadeout.removeClass("is-open").delay(fadeDelay).fadeOut("fast");				
	}
	
}