var TBK = {};$(document).ready(function() { 	TBK.init();});TBK.init = function() {	// Images to preload	var blue_rolls = [ "/images/blue/send-roll.gif", "/images/blue/go-roll.gif", "/images/blue/go2-roll.gif", "/images/blue/getaquote-roll.jpg", "/images/blue/submit-roll.gif", "/images/blue/clickhere-roll.gif", "/images/blue/sendtoafriend-roll.gif", "/images/blue/privacy-roll.gif", "/images/blue/contact-roll.gif", "/images/blue/about-roll.gif" ]	var orange_rolls = [ "/images/orange/send-roll.gif", "/images/orange/go-roll.gif", "/images/orange/go2-roll.gif", "/images/orange/getaquote-roll.jpg", "/images/orange/submit-roll.gif", "/images/orange/clickhere-roll.gif", "/images/orange/sendtoafriend-roll.gif", "/images/orange/privacy-roll.gif", "/images/orange/contact-roll.gif", "/images/orange/about-roll.gif" ]	var _rolls = $("body.blue").length > 0 ? blue_rolls : orange_rolls;	for( var i = 0 ; i < _rolls.length ; i++)	{		TBK.debug("Preloading: " + _rolls[i]);		var _img = $('<img />').attr('src', _rolls[i]);	}		// Code from firebug lite to provide a console object to browsers without one	if (! ("console" in window) || !("firebug" in console)) {	    var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];	    window.console = {};	    for (var i = 0; i <names.length; ++i) window.console[names[i]] = function() {};	}		// Add a replaceWith function to the top level jquery object	$.fn.replaceWith = function(html) { return this.after(html).remove(); };		TBK.clearFormDefault("#quoteZipField","enter zip code");	TBK.clearFormDefault("#zipField","enter zip code");	TBK.clearFormDefault("#miles_per_week","miles per week");	TBK.clearFormDefault("#sendYourName","your name");	TBK.clearFormDefault("#sendYourEmail","your email address");	TBK.clearFormDefault("#friendsEmail","friend's email address");		$("#zipSubmit").click( function(e) { 		TBK.debug("#zipSubmit click");		$("#zipForm").submit();		return TBK.killEvent(e);	});	$("#quote a").mouseover( function(e) { 		$("#quote").addClass("roll");	});	$("#quote a").mouseout( function(e) { 		$("#quote").removeClass("roll");	});	$("#quoteSubmit").click( function(e) {		$("#quoteForm").submit();		return TBK.killEvent(e);	});	$("#calcualtorSubmit").click( function(e) { 		TBK.debug("#calcualtorSubmit click");		$("#commuterCalculator").submit();		return TBK.killEvent(e);	});		$("#commuterCalculator").submit( function(e) {		$("#calculatorResults .error").hide();		var _vehicle = $("#vehicle_type").val();		var _region = $("#region").val();		var _miles_per_week = parseInt($("#miles_per_week").val());		TBK.debug(_vehicle + " - " + _region + " - #" + _miles_per_week + "#");				if(_vehicle == "-1")		{			$("#calculator .error").html("Please Select a Vehicle Type");			$("#calculator .error").show();			return TBK.killEvent(e);		}		if(_region == "-1")		{			$("#calculator .error").html("Please Select a Region");			$("#calculator .error").show();			return TBK.killEvent(e);		}		if(isNaN(_miles_per_week))		{			$("#calculator .error").html("Please enter your Mileage");			$("#calculator .error").show();			return TBK.killEvent(e);		}				var splitResult = _vehicle.split("|");		var mpg = parseInt(splitResult[0]);		var ampw = parseInt(splitResult[1]);				var ppg = parseInt(_region);		var mpw = parseInt(_miles_per_week);				var fuelCostPerMile = Math.round(ppg/mpg * 100)/100; // ppg / mpg		var totalFuelVolume = Math.round(mpw/mpg * 100)/100; // ampw / mpg		var priceForFuel = Math.round(ppg / mpg * mpw * 100)/100; // ppg / mpg * ampw			var averagefuelCostPerMile = Math.round(ppg / mpg * ampw * 100)/100; // ppg / mpg * ampw					TBK.debug("Average Miles Driven Per Week " + ampw + "\n            Average Fuel Cost $" + averagefuelCostPerMile + "\n");		TBK.debug("Your " + mpw + " mile trip will cost you about " + priceForFuel + " in fuel, based on an efficiency of " + mpg + " miles per gallon and a total fuel volume of " + totalFuelVolume + " gallons \(your fuel cost per mile will be about " + fuelCostPerMile + "\).");			var msg = "";		var title = "";		TBK.debug(ampw + " - " + mpw);		if (ampw == mpw) {			title = "Great job!";			msg = "You pay the same for gas and drive the same miles as most commuters in your region.";		} else if (ampw > mpw) {			title = "Great job!";			msg = "You pay $" + Math.round((averagefuelCostPerMile - priceForFuel) * 100)/100 + " less on gas and drive " + (ampw-mpw) + " miles less than the average commuter.";		} else {			title = "Too bad!";			msg = "You pay $" + Math.round((priceForFuel-averagefuelCostPerMile) * 100)/100 + " more in gas and drive " + (mpw-ampw) + " miles more than the average commuter.";		}		TBK.debug(title);		TBK.debug(msg);		$("#calculatorResults .title").html(title);		$("#calculatorResults .results").html(msg);		if($.browser.msie && $.browser.version < 7)		{			$("#vehicle_type").css("visibility","hidden");			$("#region").css("visibility","hidden");			$("#miles_per_week").css("visibility","hidden");		}		$("#calculatorResults").show();				return TBK.killEvent(e);	});	$("#calculatorResults .close").click( function(e) {		if($.browser.msie && $.browser.version < 7)		{			$("#vehicle_type").css("visibility","visible");			$("#region").css("visibility","visible");			$("#miles_per_week").css("visibility","visible");		}		$("#calculatorResults").hide();		return TBK.killEvent(e);	});	$("#calculatorResults .sendToAFriend").click( function(e) {		if($.browser.msie && $.browser.version < 7)		{			$("#vehicle_type").css("visibility","hidden");			$("#region").css("visibility","hidden");			$("#miles_per_week").css("visibility","hidden");		}		$("#calculatorSend").show();		$("#calculatorResults").hide();		return TBK.killEvent(e);	});	$("#calculatorSend .close").click( function(e) {		if($.browser.msie && $.browser.version < 7)		{			$("#vehicle_type").css("visibility","visible");			$("#region").css("visibility","visible");			$("#miles_per_week").css("visibility","visible");		}		$("#calculatorSend").hide();		return TBK.killEvent(e);	});		$("#calculatorSendSubmit").click( function(e) {		$("#calculatorSendForm").submit();		return TBK.killEvent(e);	});}/* Common function to prevent event propagation */TBK.killEvent = function( e ) {	e.stopPropagation();    e.preventDefault();    return false;}TBK.debug = function(msg) { 	//DEBUGGING_ON	//if(console && console.debug)	//{	//	console.debug(msg);	//}}	TBK.clearFormDefault = function(elem, txt) { 	$(elem).focus( function(e) { 		if( $(this).val() == txt ) { $(this).val(""); }	});	$(elem).blur( function(e) { 		var str = $(this).val().replace(/\s/g,"");		if( str.length == 0 ) { $(this).val(txt); }	});}	