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/debets/public/script/app.js
$( document ).ready(function() {
    
	$("[liez-calculator]").embedCalculator();
	
});

$.fn.embedCalculator = function(element, options){
	
	return this.each(function(){
				
		var calculator	= $(this);
		var id			= calculator.attr("data-liezcalculator");
		//var button		= calculator.find("button[data-calculate]");
		var $modal 		= $('<div class="liez-modal">');
		var $dialog		= $('<div class="liez-dialog">\
								<div class="liez-dialog-head">\
									<h3 style="color:'+ calculator.attr("data-color") +'">Lease aanvragen</h3>\
								</div>\
									<div class="liez-dialog-body"></div>\
								</div>');
		
		calculator.defaults = {
			css: 		"http://api.liez.test:8888/css/calculator.css",
			base_url: 	"http://api.liez.test:8888/v1/",
			id: 		apikey,
			parameters: {}
		}
		
			
		calculator.init = function()
		{	
			// extend options
			calculator.settings = $.extend({}, calculator.defaults, options);
			
			// load css
			calculator.loadCss()
			
			// convert data-attributes to post parameters
			calculator.setParameters();
			
			// set brand and model
			calculator.setBrandAndModel()
					
			// get data
			calculator.getData();
			
			// button click			
			calculator.on("click",function(){
				
				// create layer
				calculator.createLayer();
				
				calculator.createFrame();

				// fadeIn
				$modal.fadeIn("fast");
				

			});
			
				
		}	
		
		calculator.setBrandAndModel = function()
		{
			$dialog.find(".liez-dialog-head h3").append( $("<span>").text(calculator.settings.parameters.leasebrand+" "+calculator.settings.parameters.leasemodel) );	
		}
		
		calculator.setParameters = function()
		{
			// get attributes
			var data = calculator.data();

			for(var i in data){

				var value 	= data[i];
				var int 	= parseInt(value);
				if(int) value = int;
				calculator.settings.parameters[i] = value;
			}
			
		//	console.log(calculator.settings.parameters);
			
		}
		
		calculator.createFrame = function()
		{
			
			$modal.find(".liez-dialog-body").prepend('<iframe class="liez-embed-frame" id="liez-frame" src="'+ calculator.getFrameUrl() +'"></iframe>');
			
		}
		
		calculator.getData = function(){
					
		    $.ajax({
		        type: "POST",
		        url: calculator.getUrl(),
				data: calculator.getParameters(),
				dataType: "json",
		        success: function(data){
					
					calculator.setData(data);
																	
					calculator.insertAmount();
					
		        }
		    });	
			
		}
		
		calculator.getParameters = function(){
			
			return calculator.settings.parameters;
		}
		
		calculator.insertAmount = function()
		{
			//console.log(calculator.object[0]);
			
			$div = $('<div class="liez-list-item">Financial lease vanaf <span class="liez-amount">€ '+ calculator.object[0].amount.toFixed(2) +' <span class="liez-amout-label">p/m</span></span></div>');
			$div.insertBefore(calculator);
		}
		
		
		calculator.setData = function(data)
		{
			calculator.object = data
		}
		
		
		calculator.getUrl = function()
		{
			return calculator.settings.base_url + 'calculate/' + calculator.settings.id;
		}
		
		calculator.getFrameUrl = function()
		{
			return calculator.settings.base_url + 'start/' + calculator.settings.id + "?"+ $.param( calculator.settings.parameters, true );
		}
		
		
		calculator.createLayer = function()
		{
			$modal.hide().append($dialog);
			$("body").append( $modal );
			
			$modal.click(calculator.deleteLayer);
		}	
		
		
		calculator.deleteLayer = function()
		{
			$modal.remove();
		}	
		
		
		calculator.loadCss = function()
		{
			var head = document.getElementsByTagName('head')[0];
			var style = document.createElement('link');
			style.href = calculator.settings.css;
			style.type = 'text/css';
			style.rel = 'stylesheet';
			head.append(style);
		}

	
		
		// init the plugin
	    calculator.init();
		
		
		
	});
	
}