Ext.onReady(function(){ Ext.namespace('com.fcac.vehicle'); com.fcac.vehicle.years = [ ['2010'],['2009'],['2008'],['2007'],['2006'],['2005'],['2004'],['2003'],['2002'],['2001'],['2000'],['1999'],['1998'],['1997'],['1996'],['1995'],['1994'],['1993'],['1992'],['1991'],['1990'],['1989'],['1988'],['1987'],['1986'],['1985'],['1984'],['1983'] ]; var yearStore = new Ext.data.SimpleStore({ fields: ['year'], data: com.fcac.vehicle.years }); var vehicleStore = new Ext.data.JsonStore({ url: '/pricing/selectVehicle.action', root: 'data', fields: ['text', 'value'] }); var makeStore = new Ext.data.JsonStore({ url: '/pricing/selectVehicle.action', root: 'data', fields: ['text', 'value'] }); var modelStore = new Ext.data.JsonStore({ url: '/pricing/selectVehicle.action', root: 'data', fields: ['text', 'value'] }); var submodelStore = new Ext.data.JsonStore({ url: '/pricing/selectVehicle.action', root: 'data', fields: ['text', 'value', 'tpms', 'baseVehId'] }); var vehicleCombo = BFRC.dataCombo.cloneConfig({ store: vehicleStore, cls: 'vehicleCombo select' }); var yearCombo = vehicleCombo.cloneConfig({ id: 'year', store: yearStore, displayField: 'year', valueField: 'year', mode: 'local', emptyText: 'SELECT YEAR', applyTo: 'year', listeners: {select:{fn:function(combo, value) { var make = Ext.getCmp('make'); make.setValue(''); make.disable(); var model = Ext.getCmp('model'); model.setValue(''); model.disable(); var submodel = Ext.getCmp('submodel'); submodel.setValue(''); submodel.disable(); make.store.load({ params: { year: combo.getValue() }, callback: function() { var make = Ext.getCmp('make'); make.enable(); } }); }} }, width: 120 }); var makeCombo = vehicleCombo.cloneConfig({ id: 'make', emptyText: 'MAKE', applyTo: 'make', disabled: true, lastQuery: '', store: makeStore, listeners: {select:{fn:function(combo, value) { var model = Ext.getCmp('model'); model.setValue(''); model.disable(); var submodel = Ext.getCmp('submodel'); submodel.setValue(''); submodel.disable(); model.store.load({ params: { year: Ext.getCmp('year').getValue(), make: combo.getValue() }, callback: function() { var model = Ext.getCmp('model'); model.enable(); } }); }} } }); function setMakeModelHidden() { var makeCmp = Ext.getCmp('make'); var modelCmp = Ext.getCmp('model'); Ext.getDom('makeHidden').value = BFRC.getFirstLabelForValue(makeCmp); Ext.getDom('modelHidden').value = BFRC.getFirstLabelForValue(modelCmp); } var modelCombo = vehicleCombo.cloneConfig({ id: 'model', emptyText: 'MODEL', applyTo: 'model', disabled: true, lastQuery: '', store: modelStore, listeners: {select:{fn:function(combo, value) { setMakeModelHidden(); var submodel = Ext.getCmp('submodel'); submodel.setValue(''); submodel.disable(); submodel.store.load({ params: { year: Ext.getCmp('year').getValue(), make: Ext.getCmp('make').getValue(), model: combo.getValue() }, callback: function() { var submodel = Ext.getCmp('submodel'); var baseVehId = submodel.store.getAt(0).get('baseVehId'); var bvid = Ext.getDom('baseVehId'); if(bvid) bvid.value = baseVehId; if(submodel.store.getCount() == 1) { submodel.setValue(submodel.store.getAt(0).get('value')); submodel.fireEvent('select'); } submodel.enable(); } }); }} } }); var submodelCombo = vehicleCombo.cloneConfig({ id: 'submodel', emptyText: 'SUBMODEL', applyTo: 'submodel', width: 138, listWidth: 400, disabled: true, lastQuery: '', store: submodelStore, listeners: {select:{fn:function(combo, value) { }} } }); function showServicePopup() { var servicePopup = new Ext.Window({ id: 'servicePopup', title: 'Available Services for Reminders', width: 750, height: 550, modal: true, renderTo: 'servicePopupDiv', autoScroll: true, autoLoad: '/maintenance/listServices.action?baseVehId=' + document.forms['maintenanceForm'].baseVehId.value, listeners: {close:{fn:function() { show('maintPart2'); }} } }); servicePopup.setVisible(true); } }); function submitPricing(method, geoPointId) { var frm = document.forms['vehicleSelector']; var zip = frm['zip'].value; zip = zip.replace(/ /, ""); var msg = "Please select:\n"; var error = false; if(zip.length != 5) { msg += "ZIP Code\n"; error = true; } if(method == 'size') { var cross = frm['cross'].value; var aspect = frm['aspect'].value; var rim = frm['rim'].value; if(cross == '') { msg += "Cross Section\n"; error = true; } if(aspect == '') { msg += "Aspect\n"; error = true; } if(rim == '') { msg += "Rim Size\n"; error = true; } } else { var year = frm['vehicle.year'].value; var make = frm['vehicle.make'].value; var model = frm['vehicle.model'].value; var submodel = frm['vehicle.submodel'].value; if(year == 'SELECT YEAR') { msg += "Year\n"; error = true; } if(make == 'MAKE') { msg += "Make\n"; error = true; } if(model == 'MODEL') { msg += "Model\n"; error = true; } if(submodel == 'SUBMODEL') { msg += "Submodel\n"; error = true; } } if(error) { alert(msg); return; } frm.action = "/pricing/selectStore.action"; if (geoPointId) return !addressHelper.geocodeAndThenSubmitForm(zip.replace(/ /, ""), 'ts', geoPointId); frm.submit(); }