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");
}
}