$(function () { $("input#Date").datepicker({ maxDate: '+0d' }); $("input#CityName").autocomplete({ source: "/City/Autocomplete", minLength: 2 }); $("input#EmployeeName, input#Assigned, input#UserFullName").autocomplete({ source: "/User/Autocomplete", minLength: 2 }); $("form select#Year").change(function () { $.getJSON('/Log/GetValidLogMonths', { year: $(this).val() }, function (months) { var options = ''; for (var i = 0; i < months.length; i++) { options += ''; } $("form select#Month").html(options); }); }); $("input#ModelYear,input#Price,input#VehicleId,input#EndOdometer,input#GasPurchased").numeric(); $(".report-miles").append(' ▴').each(function () { var content = $(this).next('.report-calculation'); $(this).qtip({ content: content, hide: { fixed: true, delay: 1000 }, style: { width: 520, classes: "qtip-light" }, position: { my: "top right", at: "bottom left" }, }); }); $(".miles-unknown").addClass('label label-warning').append(' ▴') .each(function () { $(this).qtip({ content: "No previous log for this vehicle", style: { classes: "qtip-red" } }); }); }); // add recent logs to a div if it exists $(function () { var $recentLogs = $("#RecentLogs"); if ($recentLogs.length > 0) { $.ajax({ url: "/CreateLog/RecentLogs", success: function (data) { $recentLogs.append(data); } }); } }); $(function() { // move checkbox elements into their labels $('label[for]').each(function() { var $label = $(this); var $for = $label.attr('for'); if ($for.length > 0) { var $input = $('input#' + $for + ',input[name="' + $for + '"]'); if ($input.filter(':checkbox').length > 0) { $input.prependTo($label); $label.addClass('checkbox'); } } }); }); // Add active class to nav $(function() { var idNavActiveRegex = { 'log-nav': /\/log/i, 'vehicle-nav': /\/vehicle/i, 'user-nav': /\/user/i }; $.each(idNavActiveRegex, function (id, regex) { if (regex.test(document.URL)) { $("#" + id).addClass('active'); } }); }); $(function () { var textToIcon = { 'Edit': 'edit', 'Filter': 'filter', 'Details' : 'zoom-in', 'Delete': 'trash', 'Add': 'plus', 'Export': 'download', 'Driver Mileage': 'user', 'Vehicle Mileage': 'car' }; $.each(textToIcon, function(text, icon) { $("a:contains('" + text + "')") .prepend(' '); }); $(".navbar-inverse a[title='Manage']") .prepend(' '); }); // Convert MVC3 WebGrid paging to Bootstrap $(function() { var $paging = $('table.table tfoot tr td'); var $currentPage = $paging.contents() .filter(function () { return this.nodeType == 3 && this.length != 1; }); var $otherPages = $('a', $paging); if ($paging.length == 1 && $otherPages.length > 0) { $currentPage.wrap('
...
" }, hide: { fixed: true, delay: 500 }, style: { classes: 'qtip-light qtip-shadow', width: 300 }, position: { viewport: $(window) } }); } }); /* * Form Validation * This script will set Bootstrap error classes when form.submit is called. * The errors are produced by the MVC unobtrusive validation. */ $(function () { $('form').submit(function () { $(this).find('div.control-group').each(function () { if ($(this).find('span.field-validation-error').length == 0) { $(this).removeClass('error'); } }); if (!$(this).valid()) { $(this).find('div.control-group').each(function () { if ($(this).find('span.field-validation-error').length > 0) { $(this).addClass('error'); } }); } }); $('form').each(function () { $(this).find('div.control-group').each(function () { if ($(this).find('span.field-validation-error').length > 0) { $(this).addClass('error'); } }); }); //Update that validator if ($.validator === undefined) return; $.validator.setDefaults({ highlight: function (element) { $(element).closest(".control-group").addClass("error"); }, unhighlight: function (element) { $(element).closest(".control-group").removeClass("error"); }, debug: true }); }); /* End Form Validation */