jQuery.noConflict();jQuery(document).ready( function( $ ) {
function selectHasValue( select ) {
var hasValue = false;
select.find('option').each( function() {
if( '' != jQuery(this).val() && 0 != jQuery(this).val() ) {
hasValue = true;
}
});
return hasValue;
}
var decorateUnavailableSelections = function() {
if( 1 != 1)
{
return;
}
var mode = '';
var select = jQuery('.makeSelect');
if( !selectHasValue( select ) ) {
switch( mode ) {
case 'hide':
select.hide();
select.prev('label').hide();
break;
case 'disable':
select.attr('disabled','disabled');
break;
}
}
var select = jQuery('.modelSelect');
if( !selectHasValue( select ) ) {
switch( mode ) {
case 'hide':
select.hide();
select.prev('label').hide();
break;
case 'disable':
select.attr('disabled','disabled');
break;
}
}
var select = jQuery('.engineSelect');
if( !selectHasValue( select ) ) {
switch( mode ) {
case 'hide':
select.hide();
select.prev('label').hide();
break;
case 'disable':
select.attr('disabled','disabled');
break;
}
}
var select = jQuery('.literSelect');
if( !selectHasValue( select ) ) {
switch( mode ) {
case 'hide':
select.hide();
select.prev('label').hide();
break;
case 'disable':
select.attr('disabled','disabled');
break;
}
}
var select = jQuery('.fuelSelect');
if( !selectHasValue( select ) ) {
switch( mode ) {
case 'hide':
select.hide();
select.prev('label').hide();
break;
case 'disable':
select.attr('disabled','disabled');
break;
}
}
}
// @author Kevin van Zonneveld (http://kevin.vanzonneveld.net), Onno Marsman, Brett Zamir (http://brett-zamir.me)
function ucfirst (str) {
str += '';
var f = str.charAt(0).toUpperCase();
return f + str.substr(1);
}
decorateUnavailableSelections();
var chained = function() {
var myGarageActive = jQuery( '.vafMyGarageActive' );
if( 0 < myGarageActive.length )
{
jQuery('#vafForm').hide();
}
jQuery('.vafMyGarageChange').click( function() {
jQuery('#vafForm').toggle();
});
var showSelect = function( select ) {
jQuery(select)
.show()
.removeAttr('disabled')
.prev('label').show();
}
var loadNextSelectIfOneOption = function( loadedSelect, selectAfterLoaded ) {
if( jQuery('.' + loadedSelect + 'Select option' ).length == 1 ) {
var myFuncName = 'load' + ucfirst(selectAfterLoaded) + 's';
jQuery('.' + loadedSelect + 'Select option' ).change();
}
}
function lastLevel() {
return 'fuel';
}
var getUrl = function( form, requestLevel ) {
var requestLevel = requestLevel.replace(' ','_');
if( form.find('.' + requestLevel + 'Select').size() ) {
var select = form.find('.' + requestLevel + 'Select');
} else {
var select = form.find('.' + requestLevel + '_startSelect');
}
var value = select.val();
var product = jQuery('#vafProduct').val();
var url = '/vaf/ajax/process?';
var levels = select.metadata().prevLevelsIncluding.split(',');
url = url + '&product=' + product;
url = url + '&front=1';
url = url + '&requestLevel=' + requestLevel;
$.each(levels, function(index,level){
var level = level.replace(' ','_');
if(level==requestLevel) {
return;
}
url = url + '&' + level + '=' + form.find('.' + level + 'Select').val();
});
return url;
}
jQuery('select').each(function(){
jQuery(this).change(function(){
/*if(jQuery(this).val() == "0")
{*/
jQuery(this).next('select').nextAll('select').each(function() {
//jQuery(this).html('').prop('disabled',true);
jQuery(this).prop('disabled',true);
});
//}
});
});
jQuery('.yearSelect').attr('data-'+'level',0);jQuery('.makeSelect').attr('data-'+'level',1);jQuery('.modelSelect').attr('data-'+'level',2);jQuery('.engineSelect').attr('data-'+'level',3);jQuery('.literSelect').attr('data-'+'level',4);
var loadMakes = function() {
var callbackFunc = function(){
showSelect(this);
loadNextSelectIfOneOption( 'make', 'model' );
decorateUnavailableSelections();
jQuery(this).trigger('vafLevelLoaded');
};
decorateUnavailableSelections();
var loadingText = '';
if(jQuery('.make_startSelect').size()) {
var url = getUrl( jQuery(this).parent('form'), 'make' );
alert(jQuery('.make_startSelect').val());
jQuery(this).nextAll('.make_startSelect').html( loadingText );
jQuery(this).nextAll('.make_endSelect').html( loadingText );
jQuery(this).nextAll('.make_startSelect').load( url, {}, function(responseText) {
jQuery(this).html(responseText);
callbackFunc.apply( this );
});
jQuery(this).nextAll('.make_endSelect').load( url, {}, function(responseText) {
jQuery(this).html(responseText);
callbackFunc.apply( this );
});
} else {
if(jQuery('.yearSelect').val() != "0")
{
var url = getUrl( jQuery(this).parent('form'), 'make' );
jQuery(this).nextAll('.makeSelect').html( loadingText );
jQuery(this).nextAll('.makeSelect').load( url, {}, function(responseText) {
jQuery(this).html(responseText);
callbackFunc.apply( this );
});
}
else
{
//jQuery(this).nextAll('.makeSelect').html('').attr('disabled','disabled');
//jQuery(this).nextAll('.makeSelect').prop('disabled', true);
jQuery(this).nextAll('select').each(function() {
//jQuery(this).html('').prop('disabled',true);
jQuery(this).prop('disabled',true);
});
}
}
jQuery('.makeSelect').html('');
//jQuery('.makeSelect').attr('data-'+'level',1);
jQuery('.modelSelect').html('');
//jQuery('.modelSelect').attr('data-'+'level',2);
jQuery('.engineSelect').html('');
//jQuery('.engineSelect').attr('data-'+'level',3);
jQuery('.literSelect').html('');
//jQuery('.literSelect').attr('data-'+'level',4);
jQuery('.fuelSelect').html('');
//jQuery('.fuelSelect').attr('data-'+'level',5);
jQuery('.Select').html('');
//jQuery('.Select').attr('data-'+'level',6);
}
var loadModels = function() {
var callbackFunc = function(){
showSelect(this);
loadNextSelectIfOneOption( 'model', 'engine' );
decorateUnavailableSelections();
jQuery(this).trigger('vafLevelLoaded');
};
decorateUnavailableSelections();
var loadingText = '';
if(jQuery('.model_startSelect').size()) {
var url = getUrl( jQuery(this).parent('form'), 'model' );
alert(jQuery('.model_startSelect').val());
jQuery(this).nextAll('.model_startSelect').html( loadingText );
jQuery(this).nextAll('.model_endSelect').html( loadingText );
jQuery(this).nextAll('.model_startSelect').load( url, {}, function(responseText) {
jQuery(this).html(responseText);
callbackFunc.apply( this );
});
jQuery(this).nextAll('.model_endSelect').load( url, {}, function(responseText) {
jQuery(this).html(responseText);
callbackFunc.apply( this );
});
} else {
if(jQuery('.makeSelect').val() != "0")
{
var url = getUrl( jQuery(this).parent('form'), 'model' );
jQuery(this).nextAll('.modelSelect').html( loadingText );
jQuery(this).nextAll('.modelSelect').load( url, {}, function(responseText) {
jQuery(this).html(responseText);
callbackFunc.apply( this );
});
}
else
{
//jQuery(this).nextAll('.modelSelect').html('').attr('disabled','disabled');
//jQuery(this).nextAll('.modelSelect').prop('disabled', true);
jQuery(this).nextAll('select').each(function() {
//jQuery(this).html('').prop('disabled',true);
jQuery(this).prop('disabled',true);
});
}
}
jQuery('.modelSelect').html('');
//jQuery('.modelSelect').attr('data-'+'level',2);
jQuery('.engineSelect').html('');
//jQuery('.engineSelect').attr('data-'+'level',3);
jQuery('.literSelect').html('');
//jQuery('.literSelect').attr('data-'+'level',4);
jQuery('.fuelSelect').html('');
//jQuery('.fuelSelect').attr('data-'+'level',5);
jQuery('.Select').html('');
//jQuery('.Select').attr('data-'+'level',6);
}
var loadEngines = function() {
var callbackFunc = function(){
showSelect(this);
loadNextSelectIfOneOption( 'engine', 'liter' );
decorateUnavailableSelections();
jQuery(this).trigger('vafLevelLoaded');
};
decorateUnavailableSelections();
var loadingText = '';
if(jQuery('.engine_startSelect').size()) {
var url = getUrl( jQuery(this).parent('form'), 'engine' );
alert(jQuery('.engine_startSelect').val());
jQuery(this).nextAll('.engine_startSelect').html( loadingText );
jQuery(this).nextAll('.engine_endSelect').html( loadingText );
jQuery(this).nextAll('.engine_startSelect').load( url, {}, function(responseText) {
jQuery(this).html(responseText);
callbackFunc.apply( this );
});
jQuery(this).nextAll('.engine_endSelect').load( url, {}, function(responseText) {
jQuery(this).html(responseText);
callbackFunc.apply( this );
});
} else {
if(jQuery('.modelSelect').val() != "0")
{
var url = getUrl( jQuery(this).parent('form'), 'engine' );
jQuery(this).nextAll('.engineSelect').html( loadingText );
jQuery(this).nextAll('.engineSelect').load( url, {}, function(responseText) {
jQuery(this).html(responseText);
callbackFunc.apply( this );
});
}
else
{
//jQuery(this).nextAll('.engineSelect').html('').attr('disabled','disabled');
//jQuery(this).nextAll('.engineSelect').prop('disabled', true);
jQuery(this).nextAll('select').each(function() {
//jQuery(this).html('').prop('disabled',true);
jQuery(this).prop('disabled',true);
});
}
}
jQuery('.engineSelect').html('');
//jQuery('.engineSelect').attr('data-'+'level',3);
jQuery('.literSelect').html('');
//jQuery('.literSelect').attr('data-'+'level',4);
jQuery('.fuelSelect').html('');
//jQuery('.fuelSelect').attr('data-'+'level',5);
jQuery('.Select').html('');
//jQuery('.Select').attr('data-'+'level',6);
}
var loadLiters = function() {
var callbackFunc = function(){
showSelect(this);
loadNextSelectIfOneOption( 'liter', 'fuel' );
decorateUnavailableSelections();
jQuery(this).trigger('vafLevelLoaded');
};
decorateUnavailableSelections();
var loadingText = '';
if(jQuery('.liter_startSelect').size()) {
var url = getUrl( jQuery(this).parent('form'), 'liter' );
alert(jQuery('.liter_startSelect').val());
jQuery(this).nextAll('.liter_startSelect').html( loadingText );
jQuery(this).nextAll('.liter_endSelect').html( loadingText );
jQuery(this).nextAll('.liter_startSelect').load( url, {}, function(responseText) {
jQuery(this).html(responseText);
callbackFunc.apply( this );
});
jQuery(this).nextAll('.liter_endSelect').load( url, {}, function(responseText) {
jQuery(this).html(responseText);
callbackFunc.apply( this );
});
} else {
if(jQuery('.engineSelect').val() != "0")
{
var url = getUrl( jQuery(this).parent('form'), 'liter' );
jQuery(this).nextAll('.literSelect').html( loadingText );
jQuery(this).nextAll('.literSelect').load( url, {}, function(responseText) {
jQuery(this).html(responseText);
callbackFunc.apply( this );
});
}
else
{
//jQuery(this).nextAll('.literSelect').html('').attr('disabled','disabled');
//jQuery(this).nextAll('.literSelect').prop('disabled', true);
jQuery(this).nextAll('select').each(function() {
//jQuery(this).html('').prop('disabled',true);
jQuery(this).prop('disabled',true);
});
}
}
jQuery('.literSelect').html('');
//jQuery('.literSelect').attr('data-'+'level',4);
jQuery('.fuelSelect').html('');
//jQuery('.fuelSelect').attr('data-'+'level',5);
jQuery('.Select').html('');
//jQuery('.Select').attr('data-'+'level',6);
}
var loadFuels = function() {
var callbackFunc = function(){
showSelect(this);
decorateUnavailableSelections();
jQuery(this).trigger('vafLevelLoaded');
};
decorateUnavailableSelections();
var loadingText = '';
if(jQuery('.fuel_startSelect').size()) {
var url = getUrl( jQuery(this).parent('form'), 'fuel' );
alert(jQuery('.fuel_startSelect').val());
jQuery(this).nextAll('.fuel_startSelect').html( loadingText );
jQuery(this).nextAll('.fuel_endSelect').html( loadingText );
jQuery(this).nextAll('.fuel_startSelect').load( url, {}, function(responseText) {
jQuery(this).html(responseText);
callbackFunc.apply( this );
});
jQuery(this).nextAll('.fuel_endSelect').load( url, {}, function(responseText) {
jQuery(this).html(responseText);
callbackFunc.apply( this );
});
} else {
if(jQuery('.literSelect').val() != "0")
{
var url = getUrl( jQuery(this).parent('form'), 'fuel' );
jQuery(this).nextAll('.fuelSelect').html( loadingText );
jQuery(this).nextAll('.fuelSelect').load( url, {}, function(responseText) {
jQuery(this).html(responseText);
callbackFunc.apply( this );
});
}
else
{
//jQuery(this).nextAll('.fuelSelect').html('').attr('disabled','disabled');
//jQuery(this).nextAll('.fuelSelect').prop('disabled', true);
jQuery(this).nextAll('select').each(function() {
//jQuery(this).html('').prop('disabled',true);
jQuery(this).prop('disabled',true);
});
}
}
jQuery('.fuelSelect').html('');
//jQuery('.fuelSelect').attr('data-'+'level',5);
jQuery('.Select').html('');
//jQuery('.Select').attr('data-'+'level',6);
}
jQuery('#vafForm').bind("vafSubmit", function() {
jQuery('#vafForm').submit();
});
jQuery('#vafChooserForm').bind("vafChooserSubmit", function() {
jQuery('#vafChooserForm').submit();
});
submitVafForm = function()
{
if( jQuery('#categorySelect').val() != '?' )
{
jQuery('#vafForm').attr( 'action', jQuery('#categorySelect').val() );
}
var chooser = jQuery('#categorySelect');
if( !chooser.is('input') && !chooser.is('select')) {
chooser.html('');
}
jQuery('#vafForm').trigger("vafSubmit");
return true;
}
submitVafChooserForm = function()
{
jQuery('#vafChooserForm').trigger("vafChooserSubmit");
return true;
}
clearVafForm = function()
{
window.location = '?year=0&make=0&model=0&engine=0&liter=0&fuel=0';
}
jQuery('#vafForm .vafSubmit').click(submitVafForm);
jQuery('#vafChooserForm .vafSubmit').click(submitVafChooserForm);
jQuery('#vafClear').click( clearVafForm );
jQuery('.vafClear').click( clearVafForm );
jQuery( '.vafCheckAll' ).click( function() {
jQuery( '.vafcheck' ).attr( 'checked', jQuery(this).attr( 'checked' ) );
})
jQuery( '.vaf-cat-toggler' ).click( function() {
var icon = jQuery(this).children( 'div.vaf-toggle-icon ' );
icon.toggleClass( 'vaf-toggle-icon-minus' );
var toggleDiv = jQuery(this).nextAll( 'div.vaf-toggle' );
toggleDiv.toggle();
});
jQuery( 'div.vaf-toggle' ).hide();
var callback = loadMakes;
jQuery('.yearSelect').change( callback );
var callback = loadModels;
jQuery('.makeSelect').change( callback );
var callback = loadEngines;
jQuery('.modelSelect').change( callback );
var callback = loadLiters;
jQuery('.engineSelect').change( callback );
var callback = loadFuels;
jQuery('.literSelect').change( callback );
}
jQuery.fn.chained = function() {
this.each( function() {
var mychained = new chained( this );
});
};
jQuery('#vafForm').chained();
jQuery('#vafChooserForm').chained();});