// Custom JS for the Theme // Config //------------------------------------------------------------- var companyName = "Car Rental Station"; // Enter your event title // Initialize Tooltip //------------------------------------------------------------- $('.my-tooltip').tooltip(); // Initialize jQuery Placeholder //------------------------------------------------------------- $('input, textarea').placeholder(); // Toggle Header / Nav //------------------------------------------------------------- $(document).on("scroll",function(){ if($(document).scrollTop()>39){ $("header").removeClass("large").addClass("small"); } else{ $("header").removeClass("small").addClass("large"); } }); // Vehicles Tabs / Slider //------------------------------------------------------------- $(".vehicle-data").hide(); var activeVehicleData = $(".vehicle-nav .active a").attr("href"); $(activeVehicleData).show(); $('.vehicle-nav-scroll').click(function(){ var direction = $(this).data('direction'); var scrollHeight = $('.vehicle-nav li').height() + 1; var navHeight = $('#vehicle-nav-container').height() + 1; var actTopPos = $(".vehicle-nav").position().top; var navChildHeight = $('#vehicle-nav-container').find('.vehicle-nav').height(); var x = -(navChildHeight - navHeight); var fullHeight = 0; $('.vehicle-nav li').each(function() { fullHeight += scrollHeight; }); navHeight = fullHeight - navHeight + scrollHeight; // Scroll Down if ((direction == 'down') && (actTopPos > x) && (-navHeight <= (actTopPos - (scrollHeight * 2)))) { topPos = actTopPos - scrollHeight; $(".vehicle-nav").css('top', topPos); } // Scroll Up if (direction == 'up' && 0 > actTopPos) { topPos = actTopPos + scrollHeight; $(".vehicle-nav").css('top', topPos); } return false; }); $(".vehicle-nav li").on("click", function(){ $(".vehicle-nav .active").removeClass("active"); $(this).addClass('active'); $(activeVehicleData).fadeOut( "slow", function() { activeVehicleData = $(".vehicle-nav .active a").attr("href"); $(activeVehicleData).fadeIn("slow", function() {}); }); return false; }); // Vehicles Responsive Nav //------------------------------------------------------------- $("
").appendTo("#vehicle-nav-container").addClass("styled-select-vehicle-data"); $("").appendTo(".styled-select-vehicle-data").addClass("vehicle-data-select"); $("#vehicle-nav-container a").each(function() { var el = $(this); $("", { "value" : el.attr("href"), "text" : el.text() }).appendTo("#vehicle-nav-container select"); }); $(".vehicle-data-select").change(function(){ $(activeVehicleData).fadeOut( "slow", function() { activeVehicleData = $(".vehicle-data-select").val(); $(activeVehicleData).fadeIn("slow", function() {}); }); return false; }); // Initialize Datepicker //------------------------------------------------------------------------------- var nowTemp = new Date(); var now = new Date(nowTemp.getFullYear(), nowTemp.getMonth(), nowTemp.getDate(), 0, 0, 0, 0); var checkin = $('#pick-up-date').datepicker({ onRender: function (date) { return date.valueOf() < now.valueOf() ? 'disabled' : ''; } }).on('changeDate', function (ev) { if (ev.date.valueOf() > checkout.date.valueOf()) { var newDate = new Date(ev.date) newDate.setDate(newDate.getDate() + 1); checkout.setValue(newDate); } checkin.hide(); $('#drop-off-date')[0].focus(); }).data('datepicker'); var checkout = $('#drop-off-date').datepicker({ onRender: function (date) { return date.valueOf() <= checkin.date.valueOf() ? 'disabled' : ''; } }).on('changeDate', function (ev) { checkout.hide(); }).data('datepicker'); // Toggle Drop-Off Location //------------------------------------------------------------------------------- $(".input-group.drop-off").hide(); $(".different-drop-off").on("click", function(){ $(".input-group.drop-off").toggle(); $(".autocomplete-suggestions").css("width", $('.pick-up .autocomplete-location').outerWidth()); return false; }); // Scroll to Top Button //------------------------------------------------------------------------------- $(window).scroll(function(){ if ($(this).scrollTop() > 100) { $('.scrollup').removeClass("animated fadeOutRight"); $('.scrollup').fadeIn().addClass("animated fadeInRight"); } else { $('.scrollup').removeClass("animated fadeInRight"); $('.scrollup').fadeOut().addClass("animated fadeOutRight"); } }); $('.scrollup, .navbar-brand').click(function(){ $("html, body").animate({ scrollTop: 0 }, 'slow', function(){ $("nav li a").removeClass('active'); }); return false; }); // Location Map Function //------------------------------------------------------------------------------- function loadMap(addressData){ var path = document.URL; path = path.substring(0, path.lastIndexOf("/") + 1) var locationContent = ""+addressData.value+"
"; var locationData = { map: { options: { maxZoom: 15, scrollwheel: false, } }, infowindow:{ options:{ content: locationContent } }, marker:{ options: { icon: new google.maps.MarkerImage( path+"img/mapmarker.png", new google.maps.Size(59, 58, "px", "px"), new google.maps.Point(0, 0), //sets the origin point of the icon new google.maps.Point(29, 34) //sets the anchor point for the icon ) } } }; if ($.isEmptyObject(addressData.latLng)) { locationData.infowindow.address = addressData.value; locationData.marker.address = addressData.value; } else{ locationData.infowindow.latLng = addressData.latLng; locationData.marker.latLng = addressData.latLng; } $('#locations .map').gmap3(locationData, "autofit" ); } loadMap(locations[0]); $("#location-map-select").append(''); $.each(locations, function( index, value ) { //console.log(index); var option = ''; $("#location-map-select").append(option); }); $('#location-map-select').on('change', function() { $('#locations .map').gmap3('destroy'); loadMap(locations[this.value]); }); // Scroll To Animation //------------------------------------------------------------------------------- var scrollTo = $(".scroll-to"); scrollTo.click( function(event) { $('.modal').modal('hide'); var position = $(document).scrollTop(); var scrollOffset = 110; if(position < 39) { scrollOffset = 260; } var marker = $(this).attr('href'); $('html, body').animate({ scrollTop: $(marker).offset().top - scrollOffset}, 'slow'); return false; }); // setup autocomplete - pulling from locations-autocomplete.js //------------------------------------------------------------------------------- $('.autocomplete-location').autocomplete({ lookup: locations }); // Newsletter Form //------------------------------------------------------------------------------- $( "#newsletter-form" ).submit(function() { $('#newsletter-form-msg').addClass('hidden'); $('#newsletter-form-msg').removeClass('alert-success'); $('#newsletter-form-msg').removeClass('alert-danger'); $('#newsletter-form input[type=submit]').attr('disabled', 'disabled'); $.ajax({ type: "POST", url: "php/index.php", data: $("#newsletter-form").serialize(), dataType: "json", success: function(data) { if('success' == data.result) { $('#newsletter-form-msg').css('visibility','visible').hide().fadeIn().removeClass('hidden').addClass('alert-success'); $('#newsletter-form-msg').html(data.msg[0]); $('#newsletter-form input[type=submit]').removeAttr('disabled'); $('#newsletter-form')[0].reset(); } if('error' == data.result) { $('#newsletter-form-msg').css('visibility','visible').hide().fadeIn().removeClass('hidden').addClass('alert-danger'); $('#newsletter-form-msg').html(data.msg[0]); $('#newsletter-form input[type=submit]').removeAttr('disabled'); } } }); return false; }); // Contact Form //------------------------------------------------------------------------------- $( "#contact-form" ).submit(function() { $('#contact-form-msg').addClass('hidden'); $('#contact-form-msg').removeClass('alert-success'); $('#contact-form-msg').removeClass('alert-danger'); $('#contact-form input[type=submit]').attr('disabled', 'disabled'); $.ajax({ type: "POST", url: "php/index.php", data: $("#contact-form").serialize(), dataType: "json", success: function(data) { if('success' == data.result) { $('#contact-form-msg').css('visibility','visible').hide().fadeIn().removeClass('hidden').addClass('alert-success'); $('#contact-form-msg').html(data.msg[0]); $('#contact-form input[type=submit]').removeAttr('disabled'); $('#contact-form')[0].reset(); } if('error' == data.result) { $('#contact-form-msg').css('visibility','visible').hide().fadeIn().removeClass('hidden').addClass('alert-danger'); $('#contact-form-msg').html(data.msg[0]); $('#contact-form input[type=submit]').removeAttr('disabled'); } } }); return false; }); // Car Select Form //------------------------------------------------------------------------------- $( "#car-select-form" ).submit(function() { var selectedCar = $("#car-select").find(":selected").text(); var selectedCarVal = $("#car-select").find(":selected").val(); var selectedCarImage = $("#car-select").val(); var pickupLocation = $("#pick-up-location").val(); var dropoffLocation = $("#drop-off-location").val(); var pickUpDate = $("#pick-up-date").val(); var pickUpTime = $("#pick-up-time").val(); var dropOffDate = $("#drop-off-date").val(); var dropOffTime = $("#drop-off-time").val(); var error = 0; if(validateNotEmpty(selectedCarVal)) { error = 1; } if(validateNotEmpty(pickupLocation)) { error = 1; } if(validateNotEmpty(pickUpDate)) { error = 1; } if(validateNotEmpty(dropOffDate)) { error = 1; } if(0 == error) { $("#selected-car-ph").html(selectedCar); $("#selected-car").val(selectedCar); $("#selected-vehicle-image").attr('src', selectedCarImage); $("#pickup-location-ph").html(pickupLocation); $("#pickup-location").val(pickupLocation); if("" == dropoffLocation) { $("#dropoff-location-ph").html(pickupLocation); $("#dropoff-location").val(pickupLocation); } else { $("#dropoff-location-ph").html(dropoffLocation); $("#dropoff-location").val(dropoffLocation); } $("#pick-up-date-ph").html(pickUpDate); $("#pick-up-time-ph").html(pickUpTime); $("#pick-up").val(pickUpDate+' at '+pickUpTime); $("#drop-off-date-ph").html(dropOffDate); $("#drop-off-time-ph").html(dropOffTime); $("#drop-off").val(dropOffDate+' at '+dropOffTime); $('#checkoutModal').modal(); } else { $('#car-select-form-msg').css('visibility','visible').hide().fadeIn().removeClass('hidden').delay(2000).fadeOut(); } return false; }); // Check Out Form //------------------------------------------------------------------------------- $( "#checkout-form" ).submit(function() { $('#checkout-form-msg').addClass('hidden'); $('#checkout-form-msg').removeClass('alert-success'); $('#checkout-form-msg').removeClass('alert-danger'); $('#checkout-form input[type=submit]').attr('disabled', 'disabled'); $.ajax({ type: "POST", url: "php/index.php", data: $("#checkout-form").serialize(), dataType: "json", success: function(data) { if('success' == data.result) { $('#checkout-form-msg').css('visibility','visible').hide().fadeIn().removeClass('hidden').addClass('alert-success'); $('#checkout-form-msg').html(data.msg[0]); $('#checkout-form input[type=submit]').removeAttr('disabled'); setTimeout(function(){ $('.modal').modal('hide'); $('#checkout-form-msg').addClass('hidden'); $('#checkout-form-msg').removeClass('alert-success'); $('#checkout-form')[0].reset(); $('#car-select-form')[0].reset(); }, 5000); } if('error' == data.result) { $('#checkout-form-msg').css('visibility','visible').hide().fadeIn().removeClass('hidden').addClass('alert-danger'); $('#checkout-form-msg').html(data.msg[0]); $('#checkout-form input[type=submit]').removeAttr('disabled'); } } }); return false; }); // Not Empty Validator Function //------------------------------------------------------------------------------- function validateNotEmpty(data){ if (data == ''){ return true; }else{ return false; } }