var mobileSnapWidth = 768; //Used all over //Override for ajax Shopify.money_format = '$ {{amount}}'; $(function(){ //Navigation notches $('#header #navblock ul.nav canvas.notch').each(function(){ if (this.getContext){ var ctx = this.getContext('2d'); if(ctx) { ctx.beginPath(); ctx.fillStyle = "#ffffff"; ctx.moveTo(0,10); ctx.lineTo(10,0); ctx.lineTo(20,10); ctx.fill(); } } }); //Want some AJAX in your shop? Only for non-mobile if(!iOS && !android && !otherBrowser && !isIE6) { $('form[action*="/cart/add"]').submit(function(e) { //Responsive check - skip mobile sizes if($('#wrap').width() > 768) { //Prevent normal submit e.preventDefault(); //Disable the add button until this process is over $('.addbutton').attr('disabled', true).addClass('disabled'); //Add the item to your cart Shopify.addItemFromForm($(this).attr('id')); } }); } }); //Function to display a popup message after adding to cart $.extend({ shopAddPopup : function(options) { var settings = $.extend({ title: '', message: '', $positionElement: null }, options); var $popup = $('
').html(settings.message).addClass('addToCartPopup').hide(); /*if(settings.$positionElement != null) { var offset = settings.$positionElement.offset(); $popup.css({'left': offset.left, 'top':}); }*/ var $otherPopups = $('.addToCartPopup'); if($otherPopups.length > 0) { var toppest = 0; for(var i=0; i<$otherPopups.length; i++) { var thisTop = parseInt($($otherPopups[i]).css('top').replace("px", "")); if(thisTop > toppest) { toppest = thisTop; } } $popup.css('top', toppest + 55); } $popup.appendTo('body').fadeIn(500).delay(3000).fadeOut(1000, function(){ $(this).remove(); }); } }); //Override Shopify.onItemAdded = function(line_item) { //Make button usable again var $addedButton = $('form .addbutton.disabled'); $addedButton.attr('disabled', false).removeClass('disabled'); //Adding to cart successful, update cart Shopify.getCart(); //Show friendly popup $.shopAddPopup({title: "Item added", message: line_item.title + ' added to cart', positionElement: $addedButton}); } //Override Shopify.onError = function(XMLHttpRequest, textStatus) { //Fetch button that triggered this and make it usable again var $addedButton = $('form .addbutton.disabled'); $addedButton.attr('disabled', false).removeClass('disabled'); //Display error message var data = eval('(' + XMLHttpRequest.responseText + ')'); if (!!data.message) { $.shopAddPopup({title: data.message, message: data.description, positionElement: $addedButton}); } else { $.shopAddPopup({message: Shopify.fullMessagesFromErrors(data).join('; '), positionElement: $addedButton}); } }; //Override Shopify.onCartUpdate = function(cart) { $('#header #cart .items').html(cart.item_count + (cart.item_count==1 ? ' item' : ' items')); $('#header #cart .total').html(Shopify.formatMoney(cart.total_price)); //Rebuild the cart summary in sidebar if($('#aside').length > 0) { var $cartsummary = $('#aside .cartsummary').empty(); var $header = $('
').addClass('header'); $header.append($('

').text('Cart Summary')); $header.append($('

').append($('').attr('href','/cart').html(cart.item_count + (cart.item_count==1 ? ' item (' : ' items (') + Shopify.formatMoney(cart.total_price) + ')'))); $cartsummary.append($header); var $sidelist = $('

    '); for(var i=0; i' + cart.items[i].quantity + 'x ' + cart.items[i].title + ''); $sidelist.append(item); } $cartsummary.append($sidelist); } } // ]]>

    Classic Car Audio Installations

    Classic cars present their own challenges and rewards. I personally very much enjoy many of these vehicles as a canvas to work with. I enjoy peoples reaction when they look at classic cars that I have completed. It's often difficult for many people to distinguish where the original car stops and my fabricated parts begin. Some parts are obvious, but all "look the part". 

    Designing panels, speaker grills, and other parts for classic cars that highlight the vehicles nostalgic qualities is a lot of fun.

    Electronically these vehicles are not as challenging to us as they might be to many other shops due to our extensive experience with complete chassis electrical rewires. We stock thousands of parts that are direct replacements or upgrades for pretty much every part of a domestic classic vehicle.

    Hiding the radio

    Hiding the radio and keeping that original look is not much of a problem anymore these days. Nearly everyone carries around a capable smart phone that can perform all of the duties that a traditional radio used to do.

    The Trick Is:

    The trick is to properly integrate a smart phone with the audio system so that it is easy to use, sounds great, and is reliable. Using a smartphone as an audio source is a great way to go, but is not without it's own pitfalls.

    Many people make the mistake of connecting the phone directly to an amplifier using a generic audio adapter. This doesn't work so well because the phone is not designed to do that. We have a number of high quality pre-amps that allow us to extract a very high quality audio signal from most any modern smartphone. 

    Featured products

    Show products here! Go to the 'Product display settings' section of the theme settings in your Admin area to set up the collection you want to show!

    Cart Summary

    Your cart is empty

    Recommended products

    Create a collection for products to feature here, then enable through the Theme Settings page.