var selectMake = "";
var selectModel = "";
var dealerMakes = "";
var makes = new Array();
var models = new Array();
var formElem;

function TaxObj() {	
	for (var i = 0; i < 6; i++) {
		models[i] = new Array();
	}
}

TaxObj.prototype.setSelectMake = function(selectMakeText) {
	selectMake = selectMakeText;
}
TaxObj.prototype.setSelectModel = function(selectModelText) {
	selectModel = selectModelText;
}
TaxObj.prototype.setDealerMakes = function(dMakes) {
	dealerMakes = dMakes;
}
TaxObj.prototype.buildTaxonomy = function() {
	var makeIndex = 0;

	// "Select Make/Model" text
	makes[0] = selectMake;
	models[0][0] = selectModel;

	// Compare dealer's makes with custom taxonomy makes to build taxonomy for dealer.
	if (dealerMakes.toLowerCase().indexOf("volkswagen") > -1) {
		makes.push("Volkswagen");
			
		models[1][0] = selectModel;
		models[1][1] = "City Golf";
		models[1][2] = "Rabbit";
		models[1][3] = "GTI";
		models[1][4] = "GLI";
		models[1][5] = "New Beetle";
		models[1][6] = "New Beetle Convertible";
		models[1][7] = "Jetta";
		models[1][8] = "Jetta TDI";
		models[1][9] = "Jetta Wagon";
		models[1][10] = "Jetta Wagon TDI";
		models[1][11] = "City Jetta";
		models[1][12] = "Passat";
		models[1][13] = "Passat Wagon";
		models[1][14] = "Passat CC";
		models[1][15] = "Eos";
		models[1][16] = "Tiguan";
		models[1][17] = "Touareg 2";
		models[1][18] = "Touareg 2 TDI";
		models[1][19] = "Routan";
	}
	
	if (document.frmQuickQuote != undefined) {
		formElem = document.frmQuickQuote;
	} else if (document.frmOrderParts != undefined) {
		formElem = document.frmOrderParts;
	} else if (document.serviceAppointmentRequest != undefined) {
		formElem = document.serviceAppointmentRequest;
	}
	
	formElem.elements['vehicle:buy:make'].options.length = 0;
	if (makes.length == 2) {
		formElem.elements['vehicle:buy:make'].options[0] = new Option(makes[1], makes[1]);
		this.setMake(makes[1]);
	} else {
		for(var i = 0; i < makes.length; i++) {
			formElem.elements['vehicle:buy:make'].options[i] = new Option(makes[i], makes[i]);
		}
		this.setMake(makes[0]);
	}
}

// Overwriting setMake() from inventorySearchAPI.js so that listed models match our custom taxonomy.
TaxObj.prototype.setMake = function(newMake) {
	var makeNum = 0;
	
	for(var i = 0; i < makes.length; i++) {
		if (makes[i] == newMake) {
			makeNum = i;
			break;
		}
	}
	formElem.elements['vehicle:buy:model'].options.length = 0;
	for (var i = 0; i < models[makeNum].length; i++) {
		formElem.elements['vehicle:buy:model'].options[i] = new Option(models[makeNum][i], models[makeNum][i]);
	}
}

// Overwriting setModel() from inventorySearchAPI.js so that it does nothing because ASM QQ will not show Trim.  
TaxObj.prototype.setModel = function() {}
