(function($) {
	var strings = [];
	strings["English"] = [];
	strings["French"]  = [];
	strings["Spanish"] = [];
	
	strings["English"]["choose_a_year"]          = "Choose a year ...";
	strings["English"]["choose_a_make"]          = "Choose a make ...";
	strings["English"]["choose_a_model"]         = "Choose a model ...";
	strings["English"]["choose_an_option"]       = "Choose an option ...";
	strings["English"]["choose_a_type"]          = "Choose a type ...";
	strings["English"]["choose_a_width"]         = "Choose a width ...";
	strings["English"]["choose_an_aspect_ratio"] = "Choose an aspect ratio ...";
	strings["English"]["choose_a_size"]          = "Choose a rim size ...";
	strings["English"]["choose_a_tire_name"]     = "Choose a tire name ...";
	strings["English"]["choose_a_category"]      = "Choose a category ...";

	strings["French"]["choose_a_year"]           = "S&eacute;lectionnez une ann&eacute;e";
	strings["French"]["choose_a_make"]           = "S&eacute;lectionnez une marque";
	strings["French"]["choose_a_model"]          = "S&eacute;lectionnez une mod&egrave;le";
	strings["French"]["choose_an_option"]        = "S&eacute;lectionnez une option";
	strings["French"]["choose_a_type"]           = "S&eacute;lectionnez une type de dimension";
	strings["French"]["choose_a_width"]          = "S&eacute;lectionnez une largeur";
	strings["French"]["choose_an_aspect_ratio"]  = "S&eacute;lectionnez un rapport d'aspect";
	strings["French"]["choose_a_size"]           = "S&eacute;lectionnez un diam&egrave;tre de la jante";
	strings["French"]["choose_a_tire_name"]      = "S&eacute;lectionnez un nom de pneu";
	strings["French"]["choose_a_category"]       = "S&eacute;lectionnez une cat&eacute;gorie";

	strings["Spanish"]["choose_a_year"]          = "";
	strings["Spanish"]["choose_a_make"]          = "";
	strings["Spanish"]["choose_a_model"]         = "";
	strings["Spanish"]["choose_an_option"]       = "";
	strings["Spanish"]["choose_a_type"]          = "";
	strings["Spanish"]["choose_a_width"]         = "";
	strings["Spanish"]["choose_an_aspect_ratio"] = "";
	strings["Spanish"]["choose_a_size"]          = "";
	strings["Spanish"]["choose_a_tire_name"]     = "";
	strings["Spanish"]["choose_a_category"]      = "";

	// VARIABLES
	var data_dir = "/tire-selector/tire-selector/data";
	var brand_dir = "";
	var widget = true;

	var prefillVehicle = false;
	var year, make, model, option;
	var prefillSize = false;
	var tireSizeType, tireSectionWidth, tireAspectRatio, tireRimDiameter;

	// FUNCTIONS
	function filter(v) {
		if (v) v=v.toLowerCase().replace(/[^a-zA-Z0-9]/g, "_");
		return v;
	}
	
	function sizeTypeFilter(v) {
		if (v) v=v.toLowerCase().replace(/^[\r\n]+|[\r\n]+$/g, "").substring(0,(v.indexOf("(")-1));
		return v;
	}
	
	function urlEncode(v) {
		if(v) v=encodeURIComponent(v).replace(/%20/g,"+").replace(/%2F/g,"|");
		return v;
	}
	
	function trim(v) {
		if(v) v=v.replace(/^\s+|\s+$/g,"");
		return v;
	}

	// ON PAGE READY
	$(function() {
		if(typeof brand == "undefined" || typeof country == "undefined" || typeof language == "undefined") {
			var domain = document.domain.toLowerCase();
			if(domain.indexOf("michelinman.com") != -1) {
				brand    = "Michelin";
				country  = "United States";
				language = "English";
			} else if(domain.indexOf("bfgoodrichtires.com") != -1) {
				brand    = "BFGoodrich";
				country  = "United States";
				language = "English";
			} else if(domain.indexOf("uniroyaltires.com") != -1) {
				brand    = "Uniroyal";
				country  = "United States";
				language = "English";
			} else if(domain.indexOf("michelinman.ca") != -1) {
				brand    = "Michelin";
				country  = "Canada";
				language = "English";
			} else if(domain.indexOf("bonhommemichelin.ca") != -1) {
				brand    = "Michelin";
				country  = "Canada";
				language = "French";
			} else if(domain.indexOf("bfgoodrichtires.ca") != -1) {
				brand    = "BFGoodrich";
				country  = "Canada";
				language = "English";
			} else if(domain.indexOf("pneusbfgoodrich.ca") != -1) {
				brand    = "BFGoodrich";
				country  = "Canada";
				language = "French";
			} else if(domain.indexOf("fr.uniroyal.ca") != -1) {
				brand    = "Uniroyal";
				country  = "Canada";
				language = "French";
			} else if(domain.indexOf("uniroyal.ca") != -1) {
				brand    = "Uniroyal";
				country  = "Canada";
				language = "English";
			}
		} else {
			widget = false;
		}

		if(language == "Canada" || language == "United States") {
			temp = language;
			language = country;
			country = temp;
		}

		brand_dir = brand.toLowerCase() + "_" + ((country == "United States") ? "us" : "ca");

		$('body').append('<div class="tooltip_widget prehide"><img src="/images/tire-selector/icon_x.gif" /><span></span></div>');

		var submittable = false;
		var searchType = false;
		var submitForm;

		$("div#note_winter_available p.button, div#note_only_winter_available p.button").addClass('clickable').click(function() {
			if($("input[name=winter_radio]:checked").val() == 'yes') {
				submittable = true;
				$(submitForm).attr('action', $(submitForm).attr('action')+'winter-tires');
				submitForm.submit();
			} else if($("input[name=winter_radio]:checked").val() == 'no') {
				submittable = true;
				$(submitForm).attr('action', $(submitForm).attr('action')+'tires');
				submitForm.submit();
			}
		});

		$("form#search_dropdowns, form#find_vehicle, form#find_size, form#find_name, form#find_category").submit(function() {
			homepage = false;
			if($(this).attr('id').substring(0,5) == 'find_') homepage = true;
			if(location.href.indexOf('tire-selector/tire-search') != -1) {
				// Dedicated Search Page
				searchType = $(this).attr('id').substring(5);
			}

			year	= $("#year option:selected").val();
			make	= $("#make option:selected").val();
			model	= $("#model option:selected").val();
			option	= $("#options option:selected").val();
		
			tireSizeType		= $("#tireSizeType option:selected").val();
			tireSectionWidth	= $("#tireSectionWidth option:selected").val();
			tireAspectRatio		= $("#tireAspectRatio option:selected").val();
			tireRimDiameter		= $("#tireRimDiameter option:selected").val();
			
			tireName			= $('#tireName option:selected').val();
	
			tireCategory		= $('#tireCategory option:selected').val();
		
			if (typeof(year) != "undefined" && year.length>0 && filter(year) != 'please_select____' && typeof(make) != "undefined" && make.length>0 && filter(make) != 'please_select____' && typeof(model) != "undefined" && model.length>0 && filter(model) != 'please_select____' && typeof(option) != "undefined" && option.length>0 && filter(option) != 'please_select____') {
				if(submittable) return true;
				$(this).attr('action','/tire-selector/vehicle/'+urlEncode(year)+'/'+urlEncode(make)+'/'+urlEncode(model)+'/'+urlEncode(option)+'/');
				submitForm = this;
				if(homepage) {
					$.getJSON("/tire-selector/tireselector/testVehicleWinter?IS_MULTIBRAND=true&year="+urlEncode(year)+"&make="+urlEncode(make)+"&model="+urlEncode(model)+"&option="+urlEncode(option), function(data) {
						if(data.winter == "true" && data.nonWinter == "true") {
							// BOTH
							var p = $(submitForm).closest('div').position();
							$("#note_winter_available").show().css({'left':p.left,'top':p.top});
							$("ul.dropdowns", submitForm).hide();
							$("img.close").addClass("clickable").click(function() {
								$(this).parent().hide();
								$("ul.dropdowns", submitForm).show();
								$("img.close").unbind("click");
							});
						} else if(data.winter == "true") {
							// WINTER ONLY
							$(submitForm).attr('action', $(submitForm).attr('action')+'winter-tires');
							submittable = true;
							$(submitForm).submit();
						} else {
							$(submitForm).attr('action', $(submitForm).attr('action')+'tires');
							submittable = true;
							$(submitForm).submit();
						}
					});
					return submittable;
				} else {
					if(location.href.indexOf('/winter-tires')!=-1 || location.href.indexOf('/compare-winter-tires') !=-1) $(submitForm).attr('action', $(submitForm).attr('action')+'winter-tires');
					else $(submitForm).attr('action', $(submitForm).attr('action')+'tires');
				}
				return true; 
			} else if (typeof(tireSizeType) != "undefined" && tireSizeType.length>0 && filter(tireSizeType) != 'please_select____' && typeof(tireSectionWidth) != "undefined" && tireSectionWidth.length>0 && filter(tireSectionWidth) != 'please_select____' && typeof(tireAspectRatio) != "undefined" && tireAspectRatio.length>0 && filter(tireAspectRatio) != 'please_select____' && typeof(tireRimDiameter) != "undefined" && tireRimDiameter.length>0 && filter(tireRimDiameter) != 'please_select____') {
				if(submittable) return true;
				$(this).attr('action','/tire-selector/size/'+urlEncode(tireSizeType)+'/'+urlEncode(tireSectionWidth)+'/'+urlEncode(tireAspectRatio)+'/'+urlEncode(tireRimDiameter)+'/');
				submitForm = this;
				if(homepage) {
					$.getJSON("/tire-selector/tireselector/testVehicleWinter?IS_MULTIBRAND=true&tireSizeType="+urlEncode(tireSizeType)+'&tireSectionWidth='+urlEncode(tireSectionWidth)+'&tireAspectRatio='+urlEncode(tireAspectRatio)+'&tireRimDiameter='+urlEncode(tireRimDiameter), function(data) {
						if(data.winter == "true" && data.nonWinter == "true") {
							// BOTH
							var p = $(submitForm).closest('div').position();
							$("#note_winter_available").show().css({'left':p.left,'top':p.top});
							$("ul.dropdowns", submitForm).hide();
							$("img.close").addClass("clickable").click(function() {
								$(this).parent().hide();
								$("ul.dropdowns", submitForm).show();
								$("img.close").unbind("click");
							});
						} else if(data.winter == "true") {
							// WINTER ONLY
							$(submitForm).attr('action', $(submitForm).attr('action')+'winter-tires');
							submittable = true;
							// $(submitForm).submit();
						} else {
							$(submitForm).attr('action', $(submitForm).attr('action')+'tires');
							submittable = true;
							// $(submitForm).submit();
						}
					});
					return submittable;
				}
				if(location.href.indexOf("winter-tires") != -1)	
					$(submitForm).attr('action', $(submitForm).attr('action')+'winter-tires');
				else	
					$(submitForm).attr('action', $(submitForm).attr('action')+'tires');
				return true;
			} else if (typeof(tireName) != "undefined" && tireName.length>0 && filter(tireName) != 'please_select____') {
				submittable = true;
				$(this).attr('action','/tire-selector/name/'+tireName+'-tires');
				return submittable;
			} else if (typeof(tireCategory) != "undefined" && tireCategory.length>0 && filter(tireCategory) != 'please_select____') {
				submittable = true;
				$(this).attr('action','/tire-selector/category/'+tireCategory+'-tires');
				return submittable;
			} else {
				submittable = false;
				return submittable;
			}
		});

		$("form#search_dropdowns #search_dropdowns_submit").addClass('clickable').click(function() {
			$("form#search_dropdowns").submit();
		}).bind('keyup', function(e) {
			if(e.keyCode == 13) {
				$("form#search_dropdowns").submit();
			}
		});

		$("form[id^=find_] img[id$=submit]").addClass('clickable').click(function() {
			$(this).parents("form").submit();
			// $("form#search_dropdowns").submit();
		}).bind('keyup', function(e) {
			if(e.keyCode == 13) {
				// $("form#search_dropdowns").submit();
			}
		});

		// Tire Names
		if($('#tireName').length > 0){
			var tireName = $('#tireName option').val();
			if(typeof(tireName) == "undefined") {
				tireName = '';
			}
			$.ajax({
				type: "GET",
				url: '/tire-selector/tireselector/getBrandLinesForDropdown',
				success: function(data) {
					var r=data.split("||");
					if (r.length>1) {
						tireName = tireName.toLowerCase().replace(/[ \/]/g,'-').replace(/[^a-z0-9-]/g,'');
						var opts = '<option value="Please select ...">'+strings[language]["choose_a_tire_name"]+'</option>';
						$(r).each(function() {
							var s=this.split('~');
							opts += '<option ' + ((tireName == s[0]) ? 'selected="selected" ' : '') + 'value="'+s[0]+'">'+s[1]+'</option>';
						});
						$("#tireName").html(opts);
					} else {
						$("#tireName").html('<option value="'+r+'">'+r+'</option>');
					}
				},
				error: function(a,b,c) {
					$("#tireName").html('');
				}
			});
		}
	
		$("#tireName").change(function() {
			if($("#tireName option:selected").val() != 'Please select ...') {
				dcsMultiTrack("DCS.dcsuri", "/funnel_action/tsn/step_1", "WT.ti", "Funnel Action > TSN > Step 1", "WT.si_n", "TSN", "WT.si_x", "1");
			}
		});
	
		// BY TIRE CATEGORY
		if($('#tireCategory').length > 0){
			var tireCategory		= $('#tireCategory option').val();
			if(typeof(tireCategory) == "undefined") {
				tireCategory = '';
			}
			$.ajax({
				type: "GET",
				url: '/tire-selector/tireselector/getCategories',
				success: function(data) {
					$("#tireCategory").html('');
					var r=data;
					var r=r.split("||");
					if (r.length>1) {
						$("#tireCategory").append('<option value="Please select ...">'+strings[language]["choose_a_category"]+'</option>');
						$(r).each(function() {
							var s=this.split('~');
							// if(tireCategory.toLowerCase().replace(/[^a-z0-9 -]/g,'').replace(/[ \/]+/g,'-') == s[0]) {
							if(tireCategory.toLowerCase().replace(/[^a-z0-9 -]/g,'').replace(/[ \/]+/g,'-') == s[0]) {
								$("#tireCategory").append('<option selected="selected" value="'+s[0]+'">'+s[1]+'</option>');
							} else {
								$("#tireCategory").append('<option value="'+s[0]+'">'+s[1]+'</option>');
							}
						});
					} else {
						$("#tireCategory").html('').append('<option value="'+r.toLowerCase().replace(/[ \/]/g,'-').replace(/[^a-z0-9-]/g,'')+'">'+r+'</option>');
					}
				},
				error: function(a,b,c) {
					$("#tireCategory").html('');
				}
			});
		}

		// 	|	BY_VEHICLE		|
		if($('#year').length > 0){
			//alert('Should not run on detail page.');
			year	= $("#year option").val();
			make	= $("#make option").val();
			model	= $("#model option").val();
			option	= $("#options option").val();
		
			if (typeof(year) != "undefined" && year.length>0 && typeof(make) != "undefined" && make.length>0 && typeof(model) != "undefined" && model.length>0 && typeof(option) != "undefined" && option.length>0) {
				prefillVehicle = true;
			}
			
			$.ajax({
				type: "GET",
				url: data_dir+'/ymmo/years.txt',
				success: function(data) {
						$("#year").html('');
						var r=data.replace(/^[\r\n]+|[\r\n]+$/g, "");
						if(r.substring(r.length-2,r.length)=="||") r=r.substring(0,r.length-2);
						var r=r.split("||");
						r = r.reverse();
						if (r.length>1) {
							if(!prefillVehicle) {
								$("#year").append('<option value="Please select ..." selected="selected">'+strings[language]["choose_a_year"]+'</option>');
							} else {
								$("#year").append('<option value="Please select ...">'+strings[language]["choose_a_year"]+'</option>');
							}
							$(r).each(function() {
								if(prefillVehicle && (year == this)) {
									$("#year").append('<option selected="selected" value="'+this+'">'+this+'</option>');
								} else {
									$("#year").append('<option value="'+this+'">'+this+'</option>');
								}
							});
						} else {
							$("#year").html('').append('<option value="'+r+'">'+r+'</option>').change();
						}
						$("#year").change();
						$("#tire_module_loading").hide();
						$("#tire_module select").show();
				},
				error: function(a,b,c) {
					$("#year").html('');
				}
			});
		
			$("#year").change(function() {
				submittable = false;
				if(prefillVehicle && year != $(this).val()) prefillVehicle = false;
				var my_year = filter($(this).val());
				$("#make, #model, #options, #by-vehicle-btn").html('');
		
				if(my_year != 'please_select____') {
					$.ajax({
						type: "GET",
						url: data_dir+'/ymmo/'+my_year+'.makes.txt',
						success: function(data) {
							dcsMultiTrack("DCS.dcsuri", "/funnel_action/tsv/step_1", "WT.ti", "Funnel Action > TSV > Step 1", "WT.si_n", "TSV", "WT.si_x", "1");
							var r=data.replace(/^[\r\n]+|[\r\n]+$/g, "");
							if(r.substring(r.length-2,r.length)=="||") r=r.substring(0,r.length-2);
							var r=r.split("||");
							if (r.length>1) {
								$("#make").html('').append('<option value="Please select ...">'+strings[language]["choose_a_make"]+'</option>');
								$(r).each(function() {
									if(prefillVehicle && (make == this)) {
										$("#make").append('<option selected="selected" value="'+this+'">'+this+'</option>');
									} else {
										$("#make").append('<option value="'+this+'">'+this+'</option>');
									}
								});
								$("#make").change();
							} else {
								$("#make").html('').append('<option value="'+r+'">'+r+'</option>').change();
							}
						},
						error: function(a,b,c) {
							$("#make").html('');
						}
					});
				} else {
					$("#make").html('');
				}
			});
		
			$("#make").change(function() {
				submittable = false;
				if(prefillVehicle && make != $(this).val()) prefillVehicle = false;
				var my_year = filter($("#year").val());
				var my_make = filter($(this).val());
				$("#model, #options, #by-vehicle-btn").html('');
				if(my_make != 'please_select____') {
					$.ajax({
						   type: "GET",
						   url: data_dir+'/ymmo/'+my_year+"."+my_make+'.models.txt',
						   success: function(data) {
							dcsMultiTrack("DCS.dcsuri", "/funnel_action/tsv/step_2", "WT.ti", "Funnel Action > TSV > Step 2", "WT.si_n", "TSV", "WT.si_x", "2");
							var r=data.replace(/^[\r\n]+|[\r\n]+$/g, "");
								if(r.substring(r.length-2,r.length)=="||") r=r.substring(0,r.length-2);
								var r=r.split("||");
								if (r.length>1) {
									$("#model").html('').append('<option value="Please select ...">'+strings[language]["choose_a_model"]+'</option>');
									$(r).each(function() {
										if(prefillVehicle && (model == this)) {
											$("#model").append('<option selected="selected" value="'+this+'">'+this+'</option>');
										} else {
											$("#model").append('<option value="'+this+'">'+this+'</option>');
										}
									});
									$("#model").change();
								} else {
									$("#model").html('').append('<option value="'+r+'">'+r+'</option>').change();
								}
						   },
							error: function(a,b,c) {
								$("#model").html('');
							}
					});
				} else {
					$("#model").html('');
				}
			});
		
			$("#model").change(function() {
				submittable = false;
				if(prefillVehicle && model != $(this).val()) prefillVehicle = false;
				var my_year = filter($("#year").val());
				var my_make = filter($("#make").val());
				var my_model = filter($(this).val());
				$("#options, #by-vehicle-btn").html('');
				if(my_model != 'please_select____') {
					$.ajax({
						type: "GET",
						url: data_dir+'/ymmo/'+my_year+'.'+my_make+'.'+my_model+'.options.txt',
						success: function(data) {
							 dcsMultiTrack("DCS.dcsuri", "/funnel_action/tsv/step_3", "WT.ti", "Funnel Action > TSV > Step 3", "WT.si_n", "TSV", "WT.si_x", "3");
							var r=data.replace(/^[\r\n]+|[\r\n]+$/g, "");
							if(r.substring(r.length-2,r.length)=="||") r=r.substring(0,r.length-2);
							var r=r.split("||");
							if (r.length>1) {
								$("#options").html('').append('<option value="Please select ...">'+strings[language]["choose_an_option"]+'</option>').change();
								$(r).each(function() {
									if(prefillVehicle && (trim(option) == this)) {
										$("#options").append('<option selected="selected" value="'+this+'">'+this+'</option>');
									} else {
										$("#options").append('<option value="'+this+'">'+this+'</option>');
									}
								});
								$("#options").change();
							} else {
								$("#options").html('').append('<option value="'+r+'">'+r+'</option>').change();
							}
						},
						error: function(a,b,c) {
							$("#options").html('');
						}
					});
				} else {
					$("#options").html('');
				}
			});
			
			$("#options").change(function() {
				if($("#options option:selected").val() != 'Please select ...') {
					dcsMultiTrack("DCS.dcsuri", "/funnel_action/tsv/step_4", "WT.ti", "Funnel Action > TSV > Step 4", "WT.si_n", "TSV", "WT.si_x", "4");
				}
				submittable = false;
			});
		}
		
		// BY TIRE SIZE
		if($('#tireSizeType').length > 0){
			//alert('Should not run on detail page.');
			tireSizeType		= $("#tireSizeType option").val();
			tireSectionWidth	= $("#tireSectionWidth option").val();
			tireAspectRatio		= $("#tireAspectRatio option").val();
			tireRimDiameter		= $("#tireRimDiameter option").val();
		
			if (typeof(tireSizeType) != "undefined" && tireSizeType.length>0 && typeof(tireSectionWidth) != "undefined" && tireSectionWidth.length>0 && typeof(tireAspectRatio) != "undefined" && tireAspectRatio.length>0 && typeof(tireRimDiameter) != "undefined" && tireRimDiameter.length>0) {
				prefillSize = true;
			}
		
			$.ajax({
				type: 'GET',
				url: data_dir+'/tires/'+brand_dir+'/types.txt',
				success: function(data) {
					var r=data.replace(/^[\r\n]+|[\r\n]+$/g, "");
					if(r.substring(r.length-2,r.length)=="||") r=r.substring(0,r.length-2);
					var r=r.split("||");
					if (r.length>1) {
						if(!prefillSize) {
							$("#tireSizeType").append('<option selected="selected" value="Please select ...">'+strings[language]["choose_a_type"]+'</option>');
						} else {
							$("#tireSizeType").html('<option value="Please select ...">'+strings[language]["choose_a_type"]+'</option>');
						}
						$(r).each(function() {
							if(prefillSize && (sizeTypeFilter(tireSizeType+' (') == sizeTypeFilter(this))) {
								$("#tireSizeType").append('<option selected="selected" value="'+sizeTypeFilter(this)+'">'+this.replace('(','(Ex: ')+'</option>');
							} else {
								$("#tireSizeType").append('<option value="'+sizeTypeFilter(this)+'">'+this.replace('(','(Ex: ')+'</option>');
							}
						});
					}
					$("#tireSizeType").change();
				},
				error: function(a,b,c) {
					$("#tireSizeType").html('');
				}
			});
		
			$("#tireSizeType").change(function() {
				submittable = false;
				if(prefillSize && sizeTypeFilter(tireSizeType+' (') != $(this).val()) prefillSize = false;
				var my_type = filter($(this).val());
				$("#tireSectionWidth, #tireAspectRatio, #tireRimDiameter").html('');
		
				if(my_type != 'please_select____') {
					$.ajax({
						type: 'GET',
						url: data_dir+'/tires/'+brand_dir+'/'+my_type+'/widths.txt',
						success: function(data) {
							dcsMultiTrack("DCS.dcsuri", "/funnel_action/tss/step_1", "WT.ti", "Funnel Action > TSS > Step 1", "WT.si_n", "TSS", "WT.si_x", "1");
							var r=data.replace(/^[\r\n]+|[\r\n]+$/g, "");
							if(r.substring(r.length-2,r.length)=="||") r=r.substring(0,r.length-2);
							var r=r.split("||");
							if (r.length>1) {
								if(prefillSize) {
									$("#tireSectionWidth").html('<option value="Please select ...">'+strings[language]["choose_a_width"]+'</option>');
								} else {
									$("#tireSectionWidth").append('<option value="Please select ..." selected="selected">'+strings[language]["choose_a_width"]+'</option>');
								}
								$(r).each(function() {
									if(prefillSize && (tireSectionWidth == this)) {
										$("#tireSectionWidth").append('<option selected="selected">'+this+'</option>');
									} else {
										$("#tireSectionWidth").append('<option>'+this+'</option>');
									}
								});
								$("#tireSectionWidth").change();
							} else if (r.length == 1) {
								$(r).each(function() {
									$("#tireSectionWidth").append('<option>'+this+'</option>');
								});
								$("#tireSectionWidth").change();
							}
						},
						error: function(a,b,c) {
							$("#tireSectionWidth").html('');
						}
					});
				}
			});
		
			$("#tireSectionWidth").change(function() {
				submittable = false;
				if(prefillSize && (tireSectionWidth != $(this).val())) prefillSize = false;
				var my_type = filter($("#tireSizeType").val());
				var my_width = filter($(this).val());
				$("#tireAspectRatio, #tireRimDiameter").html('');
				if(my_width != 'please_select____') {
					$.ajax({
						type: 'GET',
						url: data_dir+'/tires/'+brand_dir+'/'+my_type+'/'+my_width+'.aspects.txt',
						success: function(data) {
							dcsMultiTrack("DCS.dcsuri", "/funnel_action/tss/step_2", "WT.ti", "Funnel Action > TSS > Step 2", "WT.si_n", "TSS", "WT.si_x", "2");
							var r=data.replace(/^[\r\n]+|[\r\n]+$/g, "");
							if(r.substring(r.length-2,r.length)=="||") r=r.substring(0,r.length-2);
							var r=r.split("||");
							$("#tireAspectRatio").html('');
							if (r.length>1) {
								if(prefillSize) {
									$("#tireAspectRatio").html('<option value="Please select ...">'+strings[language]["choose_an_aspect_ratio"]+'</option>');
								} else {
									$("#tireAspectRatio").append('<option value="Please select ..." selected="selected">'+strings[language]["choose_an_aspect_ratio"]+'</option>');
								}
								$(r).each(function() {
									if(prefillSize && (tireAspectRatio == this)) {
										$("#tireAspectRatio").append('<option selected="selected">'+this+'</option>');
									} else {
										$("#tireAspectRatio").append('<option>'+this+'</option>');
									}
								});
								$("#tireAspectRatio").change();
							} else if (r.length == 1) {
								$(r).each(function() {
									$("#tireAspectRatio").append('<option>'+this+'</option>');
								});
								$("#tireAspectRatio").change();
							}
						},
						error: function(a,b,c) {
							$("#tireAspectRatio").html('');
						}
					});
				}
			});
		
			$("#tireAspectRatio").change(function() {
				submittable = false;
				if(prefillSize && (tireAspectRatio != $(this).val())) prefillSize = false;
				var my_type = filter($("#tireSizeType").val());
				var my_width = filter($("#tireSectionWidth").val());
				var my_aspect = filter($(this).val());
				$("#tireRimDiameter").html('');
				if(my_aspect != 'please_select____') {
					$.ajax({
						type: 'GET',
						url: data_dir+'/tires/'+brand_dir+'/'+my_type+'/'+my_width+'.'+my_aspect+'.sizes.txt',
						success: function(data) {
							dcsMultiTrack("DCS.dcsuri", "/funnel_action/tss/step_3", "WT.ti", "Funnel Action > TSS > Step 3", "WT.si_n", "TSS", "WT.si_x", "3");
							var r=data.replace(/^[\r\n]+|[\r\n]+$/g, "");
							if(r.substring(r.length-2,r.length)=="||") r=r.substring(0,r.length-2);
							var r=r.split("||");
							$("#tireRimDiameter").html('');
							if (r.length>1) {
								if(prefillSize) {
									$("#tireRimDiameter").append('<option value="Please select ...">'+strings[language]["choose_a_size"]+'</option>');
								} else {
									$("#tireRimDiameter").append('<option selected="selected" value="Please select ...">'+strings[language]["choose_a_size"]+'</option>');
								}
								$(r).each(function() {
									if(prefillSize && (tireRimDiameter == this)) {
										$("#tireRimDiameter").append('<option selected="selected">'+this+'</option>');
									} else {
										$("#tireRimDiameter").append('<option>'+this+'</option>');
									}
								});
								$("#tireRimDiameter").change();
							} else if (r.length == 1) {
								$(r).each(function() {
									$("#tireRimDiameter").append('<option>'+this+'</option>');
								});
								$("#tireRimDiameter").change();
							}
						},
						error: function(a,b,c) {
							$("#tireRimDiameter").html('');
						}
					});
				}
			});
			
			$("#tireRimDiameter").change(function() {
				submittable = false;
				if($("#tireRimDiameter option:selected").val() != 'Please select ...') {
					dcsMultiTrack("DCS.dcsuri", "/funnel_action/tss/step_4", "WT.ti", "Funnel Action > TSS > Step 4", "WT.si_n", "TSS", "WT.si_x", "4");
				}
			});
		}

		$("#tab_tiresize_content li:has(select) img, #find_size li:has(select) img").addClass('clickable').click(function(e) {
			$("div.tooltip_widget").show().css({
				position:'absolute',
				top: (e.pageY-75)+'px',
				left:(e.pageX+25)+'px'
			}).children('span').eq(0).html($(this).attr('alt').split('\n').join('<br />'));
		});
	
		$("div.tooltip_widget img").addClass('clickable').click(function() {
			$("div.tooltip_widget").hide();
		});
		
		// $("table[id^=tab_performanceratings], table[id^=tab_techspecs]").tablesorter({debug:true});

		$("p#dealer_link a").addClass('clickable').click(function() {
			$("div#dealer_expanded").show().css('z-index',100);
			$("ul.dropdowns").hide();
			return false;
		});
		
		$("div#dealer_expanded p.back a").click(function() {
			$("div#dealer_expanded").hide();
			$("ul.dropdowns").show();
			return false;
		});
/*
		$("table.tire_results tr :has([class*=showhide_])").addClass('clickable').click(function() {
			if($(this).find('.showhide_closed').size() != 0) {
				$(this).find('.showhide_closed').removeClass('showhide_closed').addClass('showhide_open').html('Hide').closest("table.tire_results").find("tr:gt(0)").show();
			} else {
				$(this).find('.showhide_open').removeClass('showhide_open').addClass('showhide_closed').html('Show').closest("table.tire_results").find("tr:gt(0)").hide();	
			}
		});
/* */

		$("span[class^=showhide]").closest('tr').each(function() {
			$(this).addClass('clickable').click(function() {
				if($(this).find('.showhide_closed').size() != 0) {
					$(this).find('.showhide_closed').removeClass('showhide_closed').addClass('showhide_open').html('Hide').closest("table.tire_results").find("tr:gt(0)").show();
				} else {
					$(this).find('.showhide_open').removeClass('showhide_open').addClass('showhide_closed').html('Show').closest("table.tire_results").find("tr:gt(0)").hide();	
				}
			});
		});

		$("img#tire-name-btn").addClass('clickable').click(function() {
			$("form#locate_a_dealer").submit();
		});

		if($("div.testimonial").height() > 120) {
			$("div.testimonial").append('<p><a class="more collapsed">More</a></p>').children('p.text').height('100px');
		}
		
		$("div.testimonial .more").addClass('clickable').click(function() {
			if($(this).hasClass('collapsed')) {
				$("div.testimonial p.text").height('auto');
				$(this).html('Less').removeClass('collapsed').addClass('expanded');
			} else {
				$(this).html('More').removeClass('expanded').addClass('collapsed');
				$("div.testimonial p.text").height('100px');
			}
		});

		if($("#tire_details div.tire_info div.f_and_b").height() > 270) {
			$("#tire_details div.tire_info").append('<p><a class="more collapsed">More</a></p>').children('div.f_and_b').height('250px');
		}

		$("#tire_details div.tire_info .more").addClass('clickable').click(function() {
			if($(this).hasClass('collapsed')) {
				$("#tire_details div.tire_info div.f_and_b").height('auto');
				$(this).html('Less').removeClass('collapsed').addClass('expanded');
			} else {
				$(this).html('More').removeClass('expanded').addClass('collapsed');
				$("#tire_details div.tire_info div.f_and_b").height('250px');
			}
		});

		if($.tablesorter) {
			$("div[id^=tab_performanceratings_] table").tablesorter({widgets:['zebra']});
		}

		$.getScript("/js/tire-selector/tireselector_ps.js");
		if(!widget) {
			setTimeout('$.getScript("/js/tire-selector/tooltips.js")', 3000);
			$.getScript("/js/tire-selector/tireselector_ga.js");
			if(brand == "Michelin" && country == "United States") {
				$.getScript('/js/tire-selector/survey_intercept_michelin.js');
			} else if(brand == "BFGoodrich" && country == "United States") {
				// $.getScript('/js/tire-selector/survey_intercept_bfgoodrich.js');
			}
		}
	});
})(jQuery);