
	if (typeof jQuery == 'undefined') {
	    var script = document.createElement('script');
	    script.type = "text/javascript";
	    script.src = "//ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js";
	    document.getElementsByTagName('head')[0].appendChild(script);
	}
	$(function(){
        $.ajax({
            url: '/calculator/calcpavimentwidget/widget.php',
            dataType: "html",
			type: "POST",
			data: {lang:"pt", calculator:calculator, calculator_attributes:calculator_attributes,price:pricecalc},
            success: function(data) {
                $('head').append('<link rel="stylesheet" media="screen" type="text/css" href="/calculator/calcpavimentwidget/styles.css">');
                $('body').append(data);
                load();
            },
            //error: function(e) {
           	//    console.log("error",e);
            //}
        });
	});
function load(){

	// UI Elements
	const
		btn = "btn-calc",
		startButton = $("."+btn),
	    modalWrapper = $(".calc-overlay"),
        body = $("body");

	startButton.on("click", function(){
		body.addClass("overflow");
		modalWrapper.addClass("show");

		// Closing modal
		document.addEventListener("keyup", (e) => {
			if(e.keyCode === 27) {
				modalWrapper.removeClass("show");
				body.removeClass("overflow");
			}
		});

		modalWrapper.on("click", function(e) {
			if (e.target.classList.contains("calc-close") || e.target.classList.contains("calc-overlay") || e.target.classList.contains("calc-adicionar")) {
				modalWrapper.removeClass("show");
				body.removeClass("overflow");
			}
		})
	});

	$('#area').on('keyup',function() {
		validateArea($(this),this.value);
	});
	$('.spinner').on('keyup',function() {
		validateNumber($(this),$(this).val());
	});

	$('input[type=radio][name=selector]').on('change',function() {
		var t = this.value;
		 $('.calc-wrapper > div').fadeOut(100);
		 $('.div-'+t).fadeIn();
	});

	$('.btajuda').on('click',function(){
		$('.calc-ajuda').toggleClass('open');
	});

	$('.calc-adicionar').on('click',function(){
		$('.qt-item-cart').addClass('d-block');
	});
	// Botão calculo
	$('.showcalc').on('click', function() {
		if(($("#option1").is(':checked') && $("#width").val()>0 && $("#width").val()<1000 && $("#length").val()>0 && $("#length").val()<1000 || ($("#option2").is(':checked') && $("#area").val()<1000000))){
			width=$("#width").val();
			length=$("#length").val();
			$("#calc-comprimento").text(length);
			$("#calc-largura").text(width);
			if ($(this).data("rule")) {
				if($("#option1").is(':checked')){
					$("#calc-total_sup").text(width*length);
					rule = $(this).data("rule").replace(new RegExp("var", 'g'), width*length);
				}else{
					$("#calc-comprimento").text("-");
					$("#calc-largura").text("-");
					$("#calc-total_sup").text($("#area").val());
					rule = $(this).data("rule").replace(new RegExp("var", 'g'), $("#area").val());
				}
				$("#calc-nitems").text(Math.ceil(eval(rule)));
				$("#calc-total").text((Math.ceil(eval(rule))*$(this).data("price")).toFixed(2));
			}else{
				if($("#option1").is(':checked')){
					if(width != "" && length != ""){
						var area = parseInt(width)*parseInt(length);
						$("#calc-total_sup").text(area);
					}
				}else{
					$("#calc-comprimento").text("-");
					$("#calc-largura").text("-");
					$("#calc-total_sup").text($("#area").val());
				}
			}
			$('.calc-modal').addClass('open');
		}
	});

	$('.add').on('click', function() {
		var input=$(this).parent().find("input");
		input.val( parseInt(input.val()) + 1 );
		if($("#option1").is(':checked')){
			validateNumber(input,input.val());
		}else{
			validateArea(input,input.val());
		}
	});

	$('.sub').on('click', function() {
		var input=$(this).parent().find("input");
		input.val( parseInt(input.val()) - 1 );
		if($("#option1").is(':checked')){
			validateNumber(input,input.val());
		}else{
			validateArea(input, input.val());
		}
	});

	function validateNumber(input,val){
		if(val < 1 || val > parseInt(input.attr("max"))){
			input.addClass("has-error");
		}else{
			input.removeClass("has-error");
		}
	}

	function validateArea(input,val){
		if(val < 1 || val > parseInt(input.attr("max"))){
			$("#area").addClass("has-error");
		}else{
			$("#area").removeClass("has-error");
		}
	}
}
