var loadVar = null;
var el_ymm		 			= document.getElementById("ymm");
var onChangeEvent			= false;

if (el_ymm != null) {
	load_ymm_dropdown();
}

$(this).ajaxComplete(function(){
	if(loadVar != null){
		loadVar.disabled = false;
	}

});

function load_ymm_dropdown() {

    partfinder_init();

	var el_ymm_submit 			= document.getElementById("ymm_submit");
	var el_ymm		 			= document.getElementById("ymm");
	var el_ymm_year 			= document.getElementById("ymm_year");
	var el_ymm_make 			= document.getElementById("ymm_make");
	var el_ymm_model 			= document.getElementById("ymm_model");
	var el_ymm_submodel 		= document.getElementById("ymm_submodel");
	var el_ymm_engine 			= document.getElementById("ymm_engine");
	var el_select_year 			= document.getElementById("selected_year");
	var el_select_make 			= document.getElementById("selected_make");
	var el_select_model 		= document.getElementById("selected_model");
	var el_select_submodel 		= document.getElementById("selected_submodel");
	var el_select_engine 		= document.getElementById("selected_engine");

	if (el_ymm != null) {

		el_ymm_make.disabled = true;
        el_ymm_make.disabled = true;
        el_ymm_model.disabled = true;
        el_ymm_submodel.disabled = true;
        el_ymm_engine.disabled = true;

		var myvehicles              = document.getElementById("myvehicles");
		var headline_year           = document.getElementById("headlineYear");
		var headline_make           = document.getElementById("headlineMake");
        var headline_model          = document.getElementById("headlineModel");
        var headline_submodel       = document.getElementById("headlineSubmodel");
        var headline_engine         = document.getElementById("headlineEngine");

        //for my vehicle in my account
        var nosubmit          = document.getElementById("nosubmit");

		if (myvehicles != null) {
            var saved_vehicle_year      = document.getElementById("myvehiclesYear").value;
            var saved_vehicle_make      = document.getElementById("myvehiclesMake").value;
            var saved_vehicle_model     = document.getElementById("myvehiclesModel").value;
            var saved_vehicle_submodel  = document.getElementById("myvehiclesSubmodel").value;
            var saved_vehicle_engine    = document.getElementById("myvehiclesEngine").value;
            onChangeEvent = false;

            loadVar = el_ymm_year;
    		load_ymm_years(saved_vehicle_year);
            
    		loadVar = el_ymm_make;
    		load_ymm_makes(saved_vehicle_year, saved_vehicle_make);
            
    		loadVar = el_ymm_model;
    		load_ymm_models(saved_vehicle_year, saved_vehicle_make, saved_vehicle_model);
            
			loadVar = el_ymm_submodel;
			load_ymm_submodels(saved_vehicle_year, saved_vehicle_make, saved_vehicle_model, saved_vehicle_submodel);
            
			loadVar = el_ymm_engine;
			load_ymm_engines(saved_vehicle_year, saved_vehicle_make, saved_vehicle_model, saved_vehicle_submodel, saved_vehicle_engine);
            
    	} else if (headline_year != null) {
    	    loadVar = el_ymm_year;
    		load_ymm_years(headline_year.value);
    		if (headline_make != null) {
        		loadVar = el_ymm_make;
        		load_ymm_makes(headline_year.value, headline_make.value);
        		if (headline_model != null) {
            		loadVar = el_ymm_model;
            		load_ymm_models(headline_year.value, headline_make.value, headline_model.value);
        		} else {
        		    loadVar = el_ymm_model;
            		load_ymm_models(headline_year.value, headline_make.value);
        		}
    	    } else {
    	        loadVar = el_ymm_make;
        		load_ymm_makes(headline_year.value);
    	    }
    	} else {
    	    loadVar = el_ymm_year;
			if(el_select_year != null){
				if(el_select_year.value != ''){
					load_ymm_years(el_select_year.value);
					load_ymm_makes(el_select_year.value,el_select_make.value);
					if(el_select_model.value != ''){
						load_ymm_models(el_select_year.value,el_select_make.value,el_select_model.value);
					}else{
						load_ymm_models(el_select_year.value,el_select_make.value);
					}
				}else{
					load_ymm_years();
				}
			}else{
				load_ymm_years();
			}
    	}


		$(el_ymm_year).change( function() {
			loadVar = el_ymm_make;
			onChangeEvent = true;
			load_ymm_makes(this.value);
            // yearChange(this.value);
		});
		$(el_ymm_make).change( function() {
			loadVar = el_ymm_model;
			onChangeEvent = true;
			load_ymm_models(el_ymm_year.value, this.value);
            makeChange(this.value);
		});
		$(el_ymm_model).change( function() {
			loadVar = el_ymm_submodel;
            onChangeEvent = true;
			load_ymm_submodels(el_ymm_year.value, el_ymm_make.value, this.value);
            modelChange(this.value);
		});
		$(el_ymm_submodel).change( function() {
			loadVar = el_ymm_engine;
            onChangeEvent = true;
			load_ymm_engines(el_ymm_year.value, el_ymm_make.value, el_ymm_model.value, this.value);
            submodelChange(this.value);
		});
		$(el_ymm_engine).change( function() {
			if (this.value!="") {
				loadVar = null;
				if (nosubmit == null) {
					onChangeEvent = true;
				    save_vehicle(el_ymm_year.value, el_ymm_make.value, el_ymm_model.value, el_ymm_submodel.value, this.value);
			    }
			}
            engineChange(this.value);
		});

		$(el_ymm_submit).click( function() {
			if (el_ymm_year.value == '') {
				alert('Please select a year');
                return false;
			} else if (el_ymm_make.value == '') {
				alert('Please select a make');
                return false;
			} else if (el_ymm_model.value == '') {
				alert('Please select a model');
                return false;
            } else if (nosubmit != null) {
                ManageVehicleFits();
			} else {
                // save vehicle to cookie
				save_vehicle(el_ymm_year.value, el_ymm_make.value, el_ymm_model.value, el_ymm_submodel.value, el_ymm_engine.value);
			}
		});

        return false;
	}

}

function setShopByVehicleCookies() {
    
	var cookieVal = '';
	var flag = true;
    var today = new Date();
	today.setTime( today.getTime() );
	
    var expire = new Date();
    expire.setTime(today.getTime() + (60000) );
    document.cookie = 'anlytxsbv=' + flag + "; expires=" + expire.toGMTString()+";path=/ ";		    
}

function save_vehicle(year, make, model, submodel, engine) {
	// APW
	// encoded_make 		= escape(encode(make.toLowerCase()));
	// encoded_model 		= escape(encode(model.toLowerCase()));
	// encoded_submodel	= escape(encode(submodel.toLowerCase()));
	// encoded_engine 		= escape(encode(engine.toLowerCase()));

	// non-APW
	encoded_make 		= escape(encodeWithCase(make));
	encoded_model 		= escape(encodeWithCase(model));
	encoded_submodel	= escape(encodeWithCase(submodel));
	encoded_engine 		= escape(encodeWithCase(engine));

	document.getElementById('ymm_year').disabled = true;
    document.getElementById('ymm_make').disabled = true;
    document.getElementById('ymm_model').disabled = true;
    document.getElementById('ymm_submodel').disabled = true;
    document.getElementById('ymm_engine').disabled = true;
	document.getElementById('ymm_submit').disabled = true;

    // disable submit button, to prevent double form submission
    // $('#ymm_submit').submit(function(){
        // $('input[type=button]', this).attr('disabled', 'disabled');
    // });


    
	loadVar = null;
	setShopByVehicleCookies();
	
	// APW
    // $.get("/managevehicle/?status=add&year="+year+"&make="+escape(make.toLowerCase())+"&model="+escape(encode(model.toLowerCase()))+'&submodel='+escape(submodel.toLowerCase())+'&engine='+escape(engine.toLowerCase()),{  }, function(data,status){

	// non-APW
    $.get("/managevehicle/?status=change&year="+year+"&make="+escape(make)+"&model="+escape(encodeWithCase(model))+'&submodel='+escape(submodel)+'&engine='+escape(engine),{  }, function(data,status){
		if(status=="success"){
			if(!data){
				window.location.reload();
			}else{
				vehicle_params = year + '/' + encoded_make + '/' + encoded_model;
				serp_params = 'Nr=AND(year:' + year + ',make:' + make + ',model:' + model;

				if(encoded_submodel.length > 0){
					vehicle_params += '/' + encoded_submodel;
					serp_params += ',submodel:' + submodel;
				}

				if(encoded_engine.length > 0){
					vehicle_params += '/' + encoded_engine;
					serp_params += ',engine:' + engine;
				}
				
				serp_params += ')';
				serp_params = 'N=0&' + serp_params;
				
				
				// construct SERP params
				

				if($("#ymm").attr('action').indexOf("/vehicle/") != -1){
					$("#ymm").attr({'action':$("#ymm").attr('action') + vehicle_params +  '.html'});
					$("#ymm").submit();
				}else if(($("#ymm").attr('action').indexOf("/search/") != -1) || ($("#ymm").attr('action').indexOf("/results/") != -1)){
					$("#ymm").attr({'action':$("#ymm").attr('action') + '?' + serp_params});
					$("#ymm").submit();
				}else{
					window.parent.location.href = removeVehicleQuery(0);
				}
			}
		}
    });
}
function load_ymm_years(hidden_year) {
    document.getElementById('ymm_year').options.length 		= 1;
	document.getElementById('ymm_make').options.length 		= 1;
    document.getElementById('ymm_model').options.length 	= 1;
	document.getElementById('ymm_submodel').options.length 	= 1;
	document.getElementById('ymm_engine').options.length 	= 1;
	
    document.getElementById('ymm_year').disabled 		= false;
	document.getElementById('ymm_make').disabled 		= true;
	document.getElementById('ymm_model').disabled 		= true;
	document.getElementById('ymm_submodel').disabled 	= true;
	document.getElementById('ymm_engine').disabled 		= true;
	
	select_year_text = document.getElementById('ymm_year').options[0].text;
	document.getElementById('ymm_year').options[0].text = "Loading Years...";

    $.get("/partfinder/year/0",{  }, function(data){
		data = $.trim(data);
		data = data.split("|");
		for (i=0; i<data.length; i++) {
			document.getElementById('ymm_year').options[i+1] = new Option(data[i], data[i]);
			if (hidden_year != "") {
			    if (data[i] ==  hidden_year) {
			        document.getElementById('ymm_year').selectedIndex = i+1;
			        document.getElementById('ymm_year').disabled = false;
			        document.getElementById('ymm_make').disabled = false;
			    }
			}
		}
		document.getElementById('ymm_year').options[0].text = select_year_text;

    });
}

function load_ymm_makes(year,hidden_make) {
    document.getElementById('ymm_make').options.length 		= 1;
    document.getElementById('ymm_model').options.length 	= 1;
	document.getElementById('ymm_submodel').options.length 	= 1;
	document.getElementById('ymm_engine').options.length 	= 1;
	
	document.getElementById('ymm_make').disabled 		= true;
	document.getElementById('ymm_model').disabled 		= true;
	document.getElementById('ymm_submodel').disabled 	= true;
	document.getElementById('ymm_engine').disabled 		= true;
	
	select_make_text = document.getElementById('ymm_make').options[0].text;

    if (year != "") {
		document.getElementById('ymm_make').options[0].text = "Loading Makes...";
	    $.get("/partfinder/make/year/"+year,{ }, function(data){
			data = $.trim(data);
			data = data.split("|");
			for (i=0; i<data.length; i++) {
				document.getElementById('ymm_make').options[i+1] = new Option(data[i], encodeURIComponent(encodeWithCase(data[i])));
				if (hidden_make != "") {
    			    if (data[i] ==  hidden_make) {
    			        document.getElementById('ymm_make').selectedIndex = i+1;
    			        document.getElementById('ymm_make').disabled = false;
    			        document.getElementById('ymm_model').disabled = false;
    			    }
    			}
			}
			document.getElementById('ymm_make').options[0].text = select_make_text;
			document.getElementById('ymm_make').disabled = false;
	    });

    } else {
        document.getElementById('ymm_make').disabled = true;
        document.getElementById('ymm_model').disabled = true;
        document.getElementById('ymm_submodel').disabled = true;
        document.getElementById('ymm_engine').disabled = true;
    }
}
function load_ymm_models(year,make,hidden_model) {
    document.getElementById('ymm_model').options.length 	= 1;
	document.getElementById('ymm_submodel').options.length 	= 1;
	document.getElementById('ymm_engine').options.length 	= 1;
	
	document.getElementById('ymm_model').disabled 		= true;
	document.getElementById('ymm_submodel').disabled 	= true;
	document.getElementById('ymm_engine').disabled 		= true;
	
	select_model_text = document.getElementById('ymm_model').options[0].text;


    if (make != "") {
		document.getElementById('ymm_model').options[0].text = "Loading Models...";
	    $.get("/partfinder/model/year/"+year+"/make/"+encodeURIComponent(encodeWithCase(make)),{  }, function(data){
            // data = "Regal"; // debug;
			data = $.trim(data);
			isEmpty = ('' == data);
			data = data.split("|");
			document.getElementById('ymm_model').options[0].text = select_model_text;

			if(!isEmpty && 1 == data.length){
				document.getElementById('ymm_model').options[1] = new Option(data[0], encodeURIComponent(encodeWithCase(data[0])));
				document.getElementById('ymm_model').selectedIndex = 1;
				document.getElementById('ymm_model').disabled = false;
				modelChange(data[0]);

				if(typeof hidden_model == 'undefined' || (typeof hidden_model != 'undefined' && '' == hidden_model) ){
					load_ymm_submodels(year,make,data[0]);
				}

			}else if(!isEmpty){
				for (i=0; i<data.length; i++) {
					document.getElementById('ymm_model').options[i+1] = new Option(data[i], encodeURIComponent(encodeWithCase(data[i])));
					
					if (hidden_model != "" && hidden_model != undefined) {
						if (data[i].toLowerCase() ==  hidden_model.toLowerCase()) {
							document.getElementById('ymm_model').selectedIndex = i+1;
							document.getElementById('ymm_model').disabled = false;
							modelChange(hidden_model);
							$("#ymm .submodel").show();
						}
					}
				}
				document.getElementById('ymm_model').disabled = false;
			} else {
                modelChange(hidden_model);
            }

	    });
    } else {
        document.getElementById('ymm_make').disabled = false;
        document.getElementById('ymm_model').disabled = true;
        document.getElementById('ymm_submodel').disabled = true;
        document.getElementById('ymm_engine').disabled = true;
    }
}
function load_ymm_submodels(year,make,model,hidden_submodel) {
    var nosubmit = document.getElementById("nosubmit");
    var el_ymm_model = document.getElementById("ymm_model");
    
	document.getElementById('ymm_submodel').options.length 	= 1;
	document.getElementById('ymm_engine').options.length 	= 1;
	
	document.getElementById('ymm_submodel').disabled 	= true;
	document.getElementById('ymm_engine').disabled 		= true;
	select_submodel_text = document.getElementById('ymm_submodel').options[0].text;


    if (model != "") {
		document.getElementById('ymm_submodel').options[0].text = "Loading Submodels...";
	    $.get("/partfinder/submodel/year/"+year+"/make/"+encodeURIComponent(encodeWithCase(make))+"/model/"+encodeURIComponent(encodeWithCase(model)),{  }, function(data){
			data = $.trim(data);
			isEmpty = ('' == data);
			data = data.split("|");
			document.getElementById('ymm_submodel').options[0].text = select_submodel_text;
				
			if(!isEmpty && 1 == data.length){
				document.getElementById('ymm_submodel').options[1] = new Option(data[0], encodeURIComponent(encodeWithCase(data[0])));
				document.getElementById('ymm_submodel').selectedIndex = 1;
				document.getElementById('ymm_submodel').disabled = false;
                $("#ymm .submodel").show();
				submodelChange(data[0]);

				//alert(data[0]);
				if(typeof hidden_submodel == 'undefined' || (typeof hidden_submodel != 'undefined' && '' == hidden_submodel) ){
					load_ymm_engines(year,make,model,data[0]);
				}
			}else if(!isEmpty){
                
				for (i=0; i<data.length; i++) {
					document.getElementById('ymm_submodel').options[i+1] = new Option(data[i], encodeURIComponent(encodeWithCase(data[i])));
					if (hidden_submodel != "" && hidden_submodel != undefined) {
						if (data[i].toLowerCase() ==  hidden_submodel.toLowerCase()) {
							document.getElementById('ymm_submodel').selectedIndex = i+1;
							document.getElementById('ymm_submodel').disabled = false;
							$("#ymm .engine").show();
						}
					}
				}
                submodelChange(hidden_submodel);
				document.getElementById('ymm_submodel').disabled = false;
			} else if (isEmpty) {
                if (nosubmit == null) {
                    if (onChangeEvent) {
                        // alert(onChangeEvent);
                        // return false;
                        save_vehicle(year, make, model, '', '');
                    }
                }
            }
	    });
    } else {
        document.getElementById('ymm_model').disabled = false;
        document.getElementById('ymm_submodel').disabled = true;
        document.getElementById('ymm_engine').disabled = true;
    }
}
function load_ymm_engines(year,make,model,submodel,hidden_engine) {
    var nosubmit = document.getElementById("nosubmit");
    var el_ymm_submodel = document.getElementById("ymm_submodel");
    
    document.getElementById('ymm_engine').options.length = 1;
	document.getElementById('ymm_engine').disabled = true;
	select_engine_text = document.getElementById('ymm_engine').options[0].text;

    if (submodel != "") {
		document.getElementById('ymm_engine').options[0].text = "Loading Engines...";
	    $.get("/partfinder/engine/year/"+year+"/make/"+encodeURIComponent(encodeWithCase(make))+"/model/"+encodeURIComponent(encodeWithCase(model))+"/submodel/"+encodeURIComponent(encodeWithCase(submodel)),{  }, function(data){
            // data = "4 Cyl 2.4L"; // debug;
			data = $.trim(data);
			isEmpty = ('' == data);
			data = data.split("|");
            if($.trim(data[0]) == '' && (onChangeEvent) ){
                save_vehicle(year, make, model, submodel, '');
            }
			document.getElementById('ymm_engine').options[0].text = select_engine_text;

			if(!isEmpty && 1 == data.length){
				document.getElementById('ymm_engine').options[1] = new Option(data[0], encodeURIComponent(encodeWithCase(data[0])));
				document.getElementById('ymm_engine').selectedIndex = 1;
				document.getElementById('ymm_engine').disabled = true;
				$("#ymm .engine").show();
                
                if (nosubmit != null) {
                document.getElementById('ymm_engine').disabled = false;
                }
                
				engineChange(hidden_engine);
				if(typeof hidden_engine == 'undefined' || (typeof hidden_engine != 'undefined' && '' == hidden_engine) ){
                    if (nosubmit == null) {
                        if (onChangeEvent) {
                            save_vehicle(year, make, model, submodel, data[0]);
                        }
                    }
				}

			}else if(!isEmpty){
				for (i=0; i<data.length; i++) {
					document.getElementById('ymm_engine').options[i+1] = new Option(data[i], encodeURIComponent(encodeWithCase(data[i])));
					if (hidden_engine != "" && hidden_engine != undefined) {
						if (data[i].toLowerCase() ==  hidden_engine.toLowerCase()) {
							document.getElementById('ymm_engine').selectedIndex = i+1;
							document.getElementById('ymm_engine').disabled = false;
							$("#ymm .engine").show();
						}
					} else {
                        document.getElementById('ymm_engine').disabled = false;
                        $("#ymm .engine").show();
                    }
				}
                engineChange(hidden_engine);
				document.getElementById('ymm_engine').disabled = false;
			}
	    });
    } else {
        document.getElementById('ymm_submodel').disabled = false;
        document.getElementById('ymm_engine').disabled = true;
    }
}
function check_ymm_model(year, make, model, submodel, engine) {
    if (year == '') {
        alert('Please select a year');
    } else if (make == '') {
        alert('Please select a make');
    } else if (model == '') {
        alert('Please select a model');
    } else {
		save_vehicle(year, make, model, submodel, engine);
    }
}

function removeUserVehicle(vehicle_id,status,element){
    $.get("/managevehicle/?status="+status+"&id="+vehicle_id, function(data,status){
		if(status=="success"){
			window.parent.location.href = removeVehicleQuery(element);
		}
    });
}

function removeVehicleQuery(element){
	params 		= window.parent.location.search;
	hostname	= window.parent.location.hostname;
	protocol	= window.parent.location.protocol;
	pathname	= window.parent.location.pathname;
	href		= window.parent.location.href;
	_pathname	= pathname;
	_params		= '';


	if( $("#mySelectedVehiclePivot:hidden").length > 0 && $("#mySelectedVehicleInfo:hidden").length > 0 ){
		arrParams = params.substring(1).split('&');
		vpivot 		= $("#mySelectedVehiclePivot:hidden").val().replace(/\+/g,' ');
		vinfo		= unescape($("#mySelectedVehicleInfo:hidden").val()).replace(/\+/g,' ');
		arrVpivot 	= vpivot.split(' ');
		arrVinfo 	= vinfo.split('|');
		newParams 	= '';

		if(pathname.search(/^\/vehicle\//) != -1){
			if(element == 0){
				if( $("div #myvehicles a[href^='/vehicle/']").eq(1).length > 0 ){
					_pathname = $("div #myvehicles a[href^='/vehicle/']").eq(1).attr('href');
				}else{
					_pathname = '/';
				}
			}else{
				_params = params;
			}
		}else{
			if(element == 0){
				for( i = 0; i < arrParams.length; i++){
					arrQuery = arrParams[i].split('=');
					switch(arrQuery[0]){
						case 'VN':
						case 'V':
							newQVehiclePivot = '';
							qVehiclePivot = unescape(arrQuery[1]).replace(/\+/g,' ');
							arrQVehiclePivot = qVehiclePivot.split(' ');

							for( x = 0; x < arrVpivot.length; x++ ){
								for( _i = 0; _i < arrQVehiclePivot.length; _i++){
									if( arrQVehiclePivot[_i] != 0 && arrVpivot[x]  == arrQVehiclePivot[_i] ){
										qVehiclePivot = qVehiclePivot.replace(arrVpivot[x].toLowerCase(), '');
										qVehiclePivot = qVehiclePivot.replace(/\+/g,' ');
										newQVehiclePivot = qVehiclePivot.replace(/^\s+|\s+$/g,"");
									}
								}
							}

							if('VN' == arrQuery[0]){
								if( newQVehiclePivot.length > 0 ){
									newQVehiclePivot = 'VN='.concat(escape(newQVehiclePivot));
									newParams += '&'.concat(newQVehiclePivot);
								}
							}else{
								if(newQVehiclePivot.length > 0){
									newQVehiclePivot = 'V='.concat(escape(newQVehiclePivot));
									newParams += '&'.concat(newQVehiclePivot);
								}
							}

						break;

						case 'D':
						case 'Ntt':
						case 'Vh':
							qVehicleInfo = unescape(arrQuery[1]).replace(/\+/g,' ').toLowerCase();

							for( _i = 0; _i < arrVinfo.length; _i++){
								if(qVehicleInfo.search(arrVinfo[_i].toLowerCase()) != -1){
									qVehicleInfo = qVehicleInfo.replace(arrVinfo[_i].toLowerCase(), '');
									qVehicleInfo = qVehicleInfo.replace(/\+/g,' ');
									qVehicleInfo = qVehicleInfo.replace(/^\s+|\s+$/g,"")
								}
							}

							if(qVehicleInfo.length > 0){
								if('Ntt' == arrQuery[0]){
									newQVehicleInfo = 'Ntt='.concat(escape(qVehicleInfo));
								}else if('Vh' == arrQuery[0]){
									newQVehicleInfo = 'Vh='.concat(escape(qVehicleInfo));
								}else{
									newQVehicleInfo = 'D='.concat(escape(qVehicleInfo));
								}

								newParams += '&'.concat(newQVehicleInfo);
							}
						break;

						default:
							newParams += '&'.concat(arrParams[i]);
					}
				}

				if(newParams.substring(1).length > 0){
					_params = '?'.concat(newParams.substring(1));
				}
			}else{
				_params = params;
			}
		}

		href = protocol.concat('//').concat(hostname).concat(_pathname).concat(_params);
	}

	return href;
}


// Side part finder behavior prototype.
// Note that this is only a prototype to show the desired behavior-- feel free
// to rewrite this!

function partfinder_init() {
    $('.select-2 select, .select-3 select, .select-4 select, .select-5 select').attr('disabled', 'true');

    // All partfinder dropdowns
    $('#shop-by-vehicle select').change(function() {
        // Remove highlight (will be placed again later)
        $('#shop-by-vehicle .highlight').removeClass('highlight');
    });
}

function yearChange(year) {
    // remove highlight from all dropdowns
    for (var i=1; i<=5; ++i)
        { $('.select-'+i).removeClass('highlight'); }

    if (year != "") {
        // Highlight and enable next dropdown
        $('.select-2').addClass('highlight');
        if ( $('.select-2 select').length )
        $('.select-2 select').removeAttr('disabled')[0].focus();

        // Hide and disable remaining dropdowns
        for (var i=3; i<=5; ++i)
            { $('.select-'+i+' select').attr('disabled', 'true'); }
    
    } else {
        // Hide and disable remaining dropdowns
        for (var i=2; i<=5; ++i)
        { $('.select-'+i+' select').attr('disabled', 'true'); }
        $('.select-1').addClass('highlight');
    }
    
    // hide submodel and engine dropdowns
    $('.select-4, .select-5').slideUp('fast');
}

function makeChange(make) {
    // remove highlight from all dropdowns
    for (var i=1; i<=5; ++i)
        { $('.select-'+i).removeClass('highlight'); }

    if (make != "") {
        // Highlight and enable next dropdown
        $('.select-3').addClass('highlight');
        if ( $('.select-3 select').length )
        $('.select-3 select').removeAttr('disabled')[0].focus();

        // Hide and disable remaining dropdowns
        for (var i=4; i<=5; ++i)
            { $('.select-'+i+' select').attr('disabled', 'true'); }
    } else {
        $('.select-2').addClass('highlight');
    }
    $('.select-4, .select-5').slideUp('fast');
}

function modelChange(model) {
    // remove highlight from all dropdowns
    for (var i=1; i<=5; ++i)
        { $('.select-'+i).removeClass('highlight'); }
        
    if (model != "") {

        // Hide and disable remaining dropdowns
        $('.select-5 select').attr('disabled', 'true');
        $('.select-5').slideUp('fast');


    } else {
        // hide model dropdown
        if (model == '') {
            $('.select-4, .select-5').slideUp('fast');
            $('.select-3').addClass('highlight');
        }
    }
}

function submodelChange(submodel) {
    // remove highlight from all dropdowns
    for (var i=1; i<=5; ++i)
        { $('.select-'+i).removeClass('highlight'); }
        
    if (submodel != "" && submodel != undefined) {
    
        // Show the current dropdown if it's not hidden
        if ($('.select-4').css('display') == 'none')
            { $('.select-4').animate({ 'height': 'toggle', 'opacity': 'toggle' }, 'fast'); }
    
        // Show the next dropdown if it's not hidden
        if ($('.select-5').css('display') == 'none')
            { $('.select-5').animate({ 'height': 'toggle', 'opacity': 'toggle' }, 'fast'); }

        // Focus on next dropdown
        if ( $('.select-5 select').length )
        $('.select-5 select').removeAttr('disabled')[0].focus();
        $('.select-5').addClass('highlight');
            
    } else {
    
        // Show the current dropdown if it's not hidden
        if ($('.select-4').css('display') == 'none')
            { $('.select-4').animate({ 'height': 'toggle', 'opacity': 'toggle' }, 'fast'); }

        // Focus on current dropdown
        if ( $('.select-4 select').length )
        $('.select-4 select').removeAttr('disabled')[0].focus();
        $('.select-4').addClass('highlight');

    
        // Highlight next dropdown
        // $('.select-4').addClass('highlight');

        // hide next dropdown
        $('.select-5 select').attr('disabled', 'true');
        $('.select-5').slideUp('fast');
    }
}

function engineChange(engine) {
    // remove highlight from all dropdowns
    for (var i=1; i<=5; ++i)
        { $('.select-'+i).removeClass('highlight'); }

    // Show the current dropdown if it's not hidden
    if ($('.select-5').css('display') == 'none')
        { $('.select-5').animate({ 'height': 'toggle', 'opacity': 'toggle' }, 'fast'); }
            
    $('.select-5').addClass('highlight');
}


function ManageVehicleFits()
{
	var year 	= document.getElementById("ymm_year").value;
	var make 	= document.getElementById("ymm_make").value;
	var model 	= document.getElementById("ymm_model").value;
    var submodel= document.getElementById("ymm_submodel").value;
    var engine 	= document.getElementById("ymm_engine").value;
	var brand 	= document.getElementById("brand").value;
	var sku 	= document.getElementById("sku").value;
	var part	= document.getElementById("part").value;
	// var title	= document.getElementById("title").value;
    // var tlc     = document.getElementById("tlc").value;
    var tlc     = '';

    var ajax_url = "/vehiclefits/" + year + "/" + make + "/" + model + "/";
    var vehicleNr = "year:" + year + ",make:" + escapeQueryValue(encodeNrValue(decode(make))) + ",model:" + escapeQueryValue(encodeNrValue(decode(model)));
    if (submodel != '') {
        ajax_url = ajax_url + submodel + "/";
        vehicleNr = vehicleNr + ",submodel:" + escapeQueryValue(encodeNrValue(decode(submodel)));
    }
    if (engine != '') {
        ajax_url = ajax_url + engine + "/";
        vehicleNr = vehicleNr + ",engine:" + escapeQueryValue(encodeNrValue(decode(engine)));
    }

    ajax_url = ajax_url + part + "/" + sku + "/" + brand + "/";

    $.get(ajax_url,{  }, function(data){

  	if(data == 0){

        document.getElementById("overlay-year").innerHTML = decode(year);
        document.getElementById("overlay-make").innerHTML = decode(make);
        document.getElementById("overlay-model").innerHTML = decode(model);
        document.getElementById("overlay-submodel").innerHTML = decode(submodel);
        document.getElementById("overlay-engine").innerHTML = decode(engine);


        param_brand_partname_prods = 'N=0&Nr=AND(' + vehicleNr + ',part:' +escapeQueryValue(encodeNrValue(decode(part))) + ',brand:' + escapeQueryValue(encodeNrValue(decode(brand))) + ')';
        url_brand_partname_prods = '/results/?N=0&Nr=AND(' + vehicleNr + ',part:' + escapeQueryValue(encodeNrValue(decode(part))) + ',brand:' + escapeQueryValue(encodeNrValue(decode(brand))) + ')';

        param_partname_prods = 'N=0&Nr=AND(' + vehicleNr + ',part:' + escapeQueryValue(encodeNrValue(decode(part))) + ')';
        url_partname_prods = '/results/?N=0&Nr=AND(' + vehicleNr + ',part:' + escapeQueryValue(encodeNrValue(decode(part))) + ')';

        url_all_parts_prods = '/vehicle/' + year + '/' + make + '/' + model;
        if (submodel != '')
            url_all_parts_prods = url_all_parts_prods + '/' + submodel;
        if (engine != '')
            url_all_parts_prods = url_all_parts_prods + '/' + engine;
        url_all_parts_prods = url_all_parts_prods + '.html';
        

        // param_kn_airfilter_prods = 'N=0&Nr=AND(' + vehicleNr + ',part:Air+Filter,brand:K%26N)';
        // url_kn_airfilter_prods = '/results/?N=0&Nr=AND(' + vehicleNr + ',part:Air+Filter,brand:K%26N)';

        document.getElementById("link_brand_partname").setAttribute('href', url_brand_partname_prods);
        document.getElementById("link_partname").setAttribute('href', url_partname_prods);
        document.getElementById("link_all_parts").setAttribute('href', url_all_parts_prods);
        // document.getElementById("link_kn_airfilter").setAttribute('href', url_kn_airfilter_prods);

        if (part.substr(-1) != 's') {
            document.getElementById("link_brand_partname").innerHTML = decode(brand) + ' ' + decode(part) + 's';
            document.getElementById("link_partname").innerHTML = decode(part) + 's';
        } else {
            document.getElementById("link_brand_partname").innerHTML = decode(brand) + ' ' + decode(part);
            document.getElementById("link_partname").innerHTML = decode(part) + 's';
        }


        document.getElementById("li_brand_partname").style.display = 'none';
        document.getElementById("li_partname").style.display = 'none';

        document.getElementById("li_all_parts").style.display = 'none';
        // document.getElementById("li_kn_airfilter").style.display = 'none';



        $.get("/prodcount/?"+param_brand_partname_prods, { },
        function(data_brand_partname_prods) {
            if (data_brand_partname_prods == '1') {
                document.getElementById("li_brand_partname").style.display = 'block';
            }else{
                document.getElementById("li_all_parts").style.display = 'block';
            }
        });


        $.get("/prodcount/?"+param_partname_prods, { },
        function(data_partname_prods) {
            if (data_partname_prods == 1) {
                document.getElementById("li_partname").style.display = 'block';
                // if (document.getElementById("li_brand_partname").style.display != 'block') {
                    // document.getElementById("li_all_parts").style.display = 'block';
                // }
            }else{
                document.getElementById("li_all_parts").style.display = 'block';
            }
        });
            
        // if (part == 'Air Filter' && brand == 'K&N') {
        
            // $.get("/prodcount/?"+param_kn_airfilter_prods, { },
            // function(data_kn_airfilter_prods) {
                // if (data_kn_airfilter_prods == 1) {
                    // if (document.getElementById("li_brand_partname").style.display != 'block') {
                    // document.getElementById("li_kn_airfilter").style.display = 'block';
                    // }
                    
                    // if (document.getElementById("li_brand_partname").style.display != 'block' && document.getElementById("li_partname").style.display != 'block') {
                        // document.getElementById("li_all_parts").style.display = 'block';
                    // }
                // }else{
                    // document.getElementById("li_all_parts").style.display = 'block';
                // }
            // });
            
        // }


        // close partfinder popup
        disablePopup();

        // then open "not fit" popup
        target_id = "#overlay-no-fit";
        centerPopup(target_id);
        loadPopup(target_id);

        return false;

	}else{
    	
		if (tlc != '') {
			
	        var skuPageURL= "/sku/" + escape(make) + "/" + escape(model) + "/" + escape(brand) + "/" + escape(part) + "/" + year + "/";
	        if (submodel != '')
	            skuPageURL = skuPageURL + escape(submodel) + "/";
	        if (engine != '')
	            skuPageURL = skuPageURL + escape(engine) + "/";
	
	        skuPageURL = skuPageURL + escape(sku) + ".html";
	
	        if (tlc != null)
	            skuPageURL = skuPageURL + "?tlc=" + escape(tlc);
        
        	window.location = skuPageURL;
        	
		 }else{
			//var deatailPageURL= "/details/QQ" + escape(make) + "QQ" + escape(model) + "QQ" + escape(brand) + "QQ" + escape(part) + "QQ" + year + "QQ";
			
			//if (submodel != '')
			//deatailPageURL = deatailPageURL + escape(submodel) + "QQ";
			//if (engine != '')
			//deatailPageURL = deatailPageURL + escape(engine) + "QQ";
			
			//deatailPageURL = deatailPageURL + escape(sku) + ".html";

			//window.location = deatailPageURL;
			
	        var skuPageURL= "/sku/" + escape(make) + "/" + escape(model) + "/" + escape(brand) + "/" + escape(part) + "/" + year + "/";
	        if (submodel != '')
	            skuPageURL = skuPageURL + escape(submodel) + "/";
	        if (engine != '')
	            skuPageURL = skuPageURL + escape(engine) + "/";
	
	        skuPageURL = skuPageURL + escape(sku) + ".html";
	
	        if (tlc != null)
	            skuPageURL = skuPageURL + "?tlc=" + escape(tlc);
        
        	window.location = skuPageURL;			
			
			
		 }
        
	}
    });
}

