"Fuel Cost Calculator"
Bootstrap 3.3.0 Snippet by msphix

<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css"> <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/js/bootstrap.min.js"></script> <script src="//code.jquery.com/jquery-1.11.1.min.js"></script> <!------ Include the above in your HEAD tag ----------> <div class="container"> <div class="price-box"> <div class="row"> <div class="col-sm-6"> <form class="form-horizontal form-pricing" role="form"> <div class="price-slider"> <h4 class="great">Cena kupna roweru</h4> <div class="col-sm-12"> <div id="slider_mpy"></div> </div> </div> <div class="price-slider"> <h4 class="great">Wiek roweru</h4> <div class="col-sm-12"> <div id="slider_mpg"></div> </div> </div> <div class="price-slider"> <h4 class="great">OC</h4> <div class="col-sm-12"> <div id="slider_diesel"></div> </div> </div> </div> <div class="col-sm-6"> <div class="price-form"> <div class="form-group"> <div class="row"> <div class="col-sm-6"> <label class="control-label">Wrtość roweru</label> </div> <div class="col-sm-6"> <input type="hidden" id="amount_amirol" class="form-control"> <input class="price lead" name="dieselGallons" type="text" id="dieselGallons" disabled="disabled" style="" /> </div> </div> </div> <div class="form-group"> <div class="row"> <div class="col-sm-6"> <label class="control-label">Składka od kradzieży</label> </div> <div class="col-sm-6"> <input type="hidden" id="amount_amirol" class="form-control"> <input class="price lead" name="dieselCost" type="text" id="dieselCost" disabled="disabled" style="" /> </div> </div> </div> <div class="form-group"> <div class="row"> <div class="col-sm-6"> <label class="control-label">Składka OC</label> </div> <div class="col-sm-6"> <input type="hidden" id="amount_amirol" class="form-control"> <input class="price lead" name="cngCost" type="text" id="cngCost" disabled="disabled" style="" /> </div> </div> </div> <div class="form-group"> <div class="row"> <div class="col-sm-6"> <label class="control-label">Roczna składka</label> </div> <div class="col-sm-6"> <input type="hidden" id="amount_amirol" class="form-control"> <input class="price lead" name="savings" type="text" id="savings" disabled="disabled" style="" /> </div> </div> </div> </div> </form> </div> </div> </div> </div> <script src="https://code.jquery.com/ui/1.10.4/jquery-ui.min.js"></script>
body { padding-top: 60px; } .price-box { margin: 0 auto; background: #E9E9E9; border-radius: 10px; padding: 40px 15px; /*width: 500px;*/ } .ui-widget-content { border: 1px solid #bdc3c7; background: #e1e1e1; color: #222222; margin-top: 4px; } .ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 7.2em; height: 2.7em; cursor: default; margin: 0 -40px auto !important; text-align: center; line-height: 30px; color: #FFFFFF; font-size: 12px; } .ui-slider .ui-slider-handle .glyphicon { color: #FFFFFF; margin: 0 1px; font-size: 11px; opacity: 0.7; } .ui-corner-all { border-radius: 20px; } .ui-slider-horizontal .ui-slider-handle { top: -.9em; } .ui-state-default, .ui-widget-content .ui-state-default { border: 1px solid #f9f9f9; background: #3498db; } .ui-slider-horizontal .ui-slider-handle { margin-left: -0.5em; } .ui-slider .ui-slider-handle { cursor: pointer; } .ui-slider a, .ui-slider a:focus { cursor: pointer; outline: none; } .price, .lead p { font-weight: 600; font-size: 32px; display: inline-block; line-height: 60px; border:0; width: 245px; } h4.great { margin: 0 0 25px 0; padding: 7px 15px; font-size: 18px; font-weight: 600; } .total { border-bottom: 1px solid #7f8c8d; /*display: inline; padding: 10px 5px;*/ position: relative; padding-bottom: 20px; } .total:before { content: ""; display: inline; position: absolute; left: 0; bottom: 5px; width: 100%; height: 3px; background: #7f8c8d; opacity: 0.5; } .price-slider { margin-bottom: 70px; } .price-slider span { font-weight: 200; display: inline-block; color: #7f8c8d; font-size: 13px; } .form-pricing { background: #ffffff; padding: 20px; border-radius: 4px; } .price-form { background: #ffffff; margin-bottom: 10px; padding: 20px; border: 1px solid #eeeeee; border-radius: 4px; /*-moz-box-shadow: 0 5px 5px 0 #ccc; -webkit-box-shadow: 0 5px 5px 0 #ccc; box-shadow: 0 5px 5px 0 #ccc;*/ } .form-group { margin-bottom: 0; } .form-group span.price { font-weight: 200; display: inline-block; color: #7f8c8d; font-size: 14px; } .help-text { display: block; margin-top: -10px; margin-bottom: 10px; color: #737373; /*position: absolute;*/ /*margin-left: 20px;*/ font-weight: 200; /*text-align: right;*/ width: 188px; } .price-form label { font-weight: 200; font-size: 21px; } img.payment { display: block; margin-left: auto; margin-right: auto } .ui-slider-range-min { background: #2980b9; } .active-month, .active-term { background: #3276b1; } /* HR */ hr.style { margin-top: 0; border: 0; border-bottom: 1px dashed #ccc; background: #999; }
// JavaScript Document var price, age, oc; $(document).ready(function() { $("#total").val("10000"); $("#slider_mpy").slider({ range: "min", animate: true, min: 1, max: 10000, step: 1, value: 2000, slide: function(event, ui) { update("#slider_mpy",ui.value); //changed price = ui.value; calcualtePrice(ui.value); } }); $("#slider_mpg").slider({ range: "min", animate: true, min: 0, max: 23, step: 1, value: 0, slide: function(event, ui) { update("#slider_mpg",ui.value); //changed age = ui.value; calcualtePrice(ui.value); } }); $("#slider_diesel").slider({ range: "min", animate: true, min: 0, max: 100000, step: 50000, value: 0, slide: function(event, ui) { update("#slider_diesel",ui.value); //changed oc = ui.value; calcualtePrice(ui.value); } }); $('#slider_mpy a').html('<label><span class="glyphicon glyphicon-chevron-left"></span> '+$("#slider_mpy").slider("value")+' <span class="glyphicon glyphicon-chevron-right"></span></label>'); $('#slider_mpg a').html('<label><span class="glyphicon glyphicon-chevron-left"></span> '+$("#slider_mpg").slider("value")+' <span class="glyphicon glyphicon-chevron-right"></span></label>'); $('#slider_diesel a').html('<label><span class="glyphicon glyphicon-chevron-left"></span> '+$("#slider_diesel").slider("value")+' <span class="glyphicon glyphicon-chevron-right"></span></label>'); $('#slider_natgas a').html('<label><span class="glyphicon glyphicon-chevron-left"></span> '+$("#slider_natgas").slider("value")+' <span class="glyphicon glyphicon-chevron-right"></span></label>'); price = $("#slider_mpy").slider("value"); age = $("#slider_mpg").slider("value"); oc = $("#slider_diesel").slider("value"); total = $("#slider_natgas").slider("value"); calcualtePrice(); }); function update(slider,val) { if(undefined === val) val = "0"; $('#sliderVal').val(val); $('a', slider).html('<label><span class="glyphicon glyphicon-chevron-left"></span> '+val+' <span class="glyphicon glyphicon-chevron-right"></span></label>'); } function calcualtePrice(val){ //alert(val + " " + $("#slider_natgas").slider("value")); if(undefined === val) val = $('#sliderVal').val(); var discount = 0; var theft = 0; var value = 0; if(age < 7) { value = price; } else if (age < 18) { value = price * 0.8; } else if (age < 24) { value = price * 0.7; } var theft = value * 0.05; if(oc == 50000){ oc = 20; discount = theft * 0.1; } else if (oc == 100000) { oc = 25; discount = theft * 0.1; } theft = theft - discount; $("#dieselGallons").val(value).formatCurrency({ symbol: '', roundToDecimalPlace: 0, decimalSymbol:',', digitGroupSymbol:"." }); $("#dieselCost").val(Math.round(theft)).formatCurrency({ symbol: '', roundToDecimalPlace: 2, decimalSymbol:',', digitGroupSymbol:"." }); $("#cngCost").val(Math.round(oc)).formatCurrency({ symbol: '', roundToDecimalPlace: 2, decimalSymbol:',', digitGroupSymbol:"." }); $("#savings").val(theft + oc).formatCurrency({ symbol: '', roundToDecimalPlace: 2, decimalSymbol:',', digitGroupSymbol:"." }); } (function($){$.formatCurrency={};$.formatCurrency.regions=[];$.formatCurrency.regions[""]={symbol:"$",positiveFormat:"%s%n",negativeFormat:"(%s%n)",decimalSymbol:".",digitGroupSymbol:",",groupDigits:true}; $.fn.formatCurrency=function(destination,settings){if(arguments.length==1&&typeof destination!=="string"){settings=destination;destination=false }var defaults={name:"formatCurrency",colorize:false,region:"",global:true,roundToDecimalPlace:2,eventOnDecimalsEntered:false};defaults=$.extend(defaults,$.formatCurrency.regions[""]); settings=$.extend(defaults,settings);if(settings.region.length>0){settings=$.extend(settings,getRegionOrCulture(settings.region))}settings.regex=generateRegex(settings); return this.each(function(){$this=$(this);var num="0";num=$this[$this.is("input, select, textarea")?"val":"html"]();if(num.search("\\(")>=0){num="-"+num }if(num===""||(num==="-"&&settings.roundToDecimalPlace===-1)){return}if(isNaN(num)){num=num.replace(settings.regex,"");if(num===""||(num==="-"&&settings.roundToDecimalPlace===-1)){return }if(settings.decimalSymbol!="."){num=num.replace(settings.decimalSymbol,".")}if(isNaN(num)){num="0"}}var numParts=String(num).split(".");var isPositive=(num==Math.abs(num)); var hasDecimals=(numParts.length>1);var decimals=(hasDecimals?numParts[1].toString():"0");var originalDecimals=decimals;num=Math.abs(numParts[0]); num=isNaN(num)?0:num;if(settings.roundToDecimalPlace>=0){decimals=parseFloat("1."+decimals);decimals=decimals.toFixed(settings.roundToDecimalPlace); if(decimals.substring(0,1)=="2"){num=Number(num)+1}decimals=decimals.substring(2)}num=String(num);if(settings.groupDigits){for(var i=0;i<Math.floor((num.length-(1+i))/3); i++){num=num.substring(0,num.length-(4*i+3))+settings.digitGroupSymbol+num.substring(num.length-(4*i+3))}}if((hasDecimals&&settings.roundToDecimalPlace==-1)||settings.roundToDecimalPlace>0){num+=settings.decimalSymbol+decimals }var format=isPositive?settings.positiveFormat:settings.negativeFormat;var money=format.replace(/%s/g,settings.symbol);money=money.replace(/%n/g,num); var $destination=$([]);if(!destination){$destination=$this}else{$destination=$(destination)}$destination[$destination.is("input, select, textarea")?"val":"html"](money); if(hasDecimals&&settings.eventOnDecimalsEntered&&originalDecimals.length>settings.roundToDecimalPlace){$destination.trigger("decimalsEntered",originalDecimals) }if(settings.colorize){$destination.css("color",isPositive?"black":"red")}})};$.fn.toNumber=function(settings){var defaults=$.extend({name:"toNumber",region:"",global:true},$.formatCurrency.regions[""]); settings=jQuery.extend(defaults,settings);if(settings.region.length>0){settings=$.extend(settings,getRegionOrCulture(settings.region))}settings.regex=generateRegex(settings); return this.each(function(){var method=$(this).is("input, select, textarea")?"val":"html";$(this)[method]($(this)[method]().replace("(","(-").replace(settings.regex,"")) })};$.fn.asNumber=function(settings){var defaults=$.extend({name:"asNumber",region:"",parse:true,parseType:"Float",global:true},$.formatCurrency.regions[""]); settings=jQuery.extend(defaults,settings);if(settings.region.length>0){settings=$.extend(settings,getRegionOrCulture(settings.region))}settings.regex=generateRegex(settings); settings.parseType=validateParseType(settings.parseType);var method=$(this).is("input, select, textarea")?"val":"html";var num=$(this)[method](); num=num?num:"";num=num.replace("(","(-");num=num.replace(settings.regex,"");if(!settings.parse){return num}if(num.length==0){num="0"}if(settings.decimalSymbol!="."){num=num.replace(settings.decimalSymbol,".") }return window["parse"+settings.parseType](num)};function getRegionOrCulture(region){var regionInfo=$.formatCurrency.regions[region];if(regionInfo){return regionInfo }else{if(/(\w+)-(\w+)/g.test(region)){var culture=region.replace(/(\w+)-(\w+)/g,"$1");return $.formatCurrency.regions[culture]}}return null}function validateParseType(parseType){switch(parseType.toLowerCase()){case"int":return"Int"; case"float":return"Float";default:throw"invalid parseType"}}function generateRegex(settings){if(settings.symbol===""){return new RegExp("[^\\d"+settings.decimalSymbol+"-]","g") }else{var symbol=settings.symbol.replace("$","\\$").replace(".","\\.");return new RegExp(symbol+"|[^\\d"+settings.decimalSymbol+"-]","g")}}})(jQuery);

Related: See More


Questions / Comments: