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("honda") > -1) {
		makes.push("Honda");
			
		models[1][0] = selectModel;
		models[1][1] = "FIT";
		models[1][2] = "Civic Sedan";
		models[1][3] = "Civic Si Sedan";
		models[1][4] = "Civic Coupe";
		models[1][5] = "Civic Si Coupe";
		models[1][6] = "Civic Hybrid";
		models[1][7] = "Accord Sedan";
		models[1][8] = "Accord Coupe";
		models[1][9] = "CR-V";
		models[1][10] = "Pilot";
		models[1][11] = "Odyssey";
		models[1][12] = "Ridgeline";
	}
	if (dealerMakes.toLowerCase().indexOf("renault") > -1) {
		makes.push("Renault");
		
		for(var i = 1; i < makes.length; i++) {
			if (makes[i] == "Renault") {
				models[i][0] = selectModel;
				models[i][1] = "Clio";
				models[i][2] = "Fluence";
				models[i][3] = "Kangoo";
				models[i][4] = "Kangoo Express";
				models[i][5] = "Kangoo Pasajeros";
				models[i][6] = "Koleos";
				models[i][7] = "Megan"; 
				models[i][8] = "Safrane";
				models[i][9] = "Sandero";
				models[i][10] = "Scala";
				models[i][11] = "Scenic";
				models[i][12] = "Stepway";
				models[i][13] = "Trafic";
				
				break;
			}
		}
	}
	if (dealerMakes.toLowerCase().indexOf("seat") > -1) {
		makes.push("Seat");
		
		for(var i = 1; i < makes.length; i++) {
			if (makes[i] == "Seat") {
				models[i][0] = selectModel;
				models[i][1] = "Ibiza Reference 1.6L 2 Puertas 2009";
				models[i][2] = "Ibiza Sport 2.0L 2 Puertas 2009";
				models[i][3] = "Ibiza Sport 2.0L 4 Puertas 2009";
				models[i][4] = "Ibiza Sport Automatico Tiptronic 1.6L 4 Puertas 2009";
				models[i][5] = "Ibiza Sport Automatico Tiptronic 1.6L 2 Puertas 2009";
				models[i][6] = "Ibiza Blitz 1.6L 2 Puertas Con Frenos ABS 2009";
				models[i][7] = "Ibiza Blitz 1.6L 4 Puertas Con Frenos ABS 2009";
				models[i][8] = "Ibiza Blitz Automatico Tiptronic 1.6L 4 Puertas 2009";
				models[i][9] = "Nuevo Ibiza Sport 2.0L 115 HP 4 Puertas 2009";
				models[i][10] = "Nuevo Ibiza Sport 2.0L 115 HP 4 Puertas Pintura Customizada 2009";
				models[i][11] = "Cordoba Reference Automatico Tiptronic 1.6L 4Ptas. 2009";
				models[i][12] = "Cordoba Reference 1.6L 4 Puertas 2009";
				models[i][13] = "Cordoba Stylance 2.0L 4 Puertas 2009";
				models[i][14] = "Cordoba Sport 2.0L 4 Puertas Sensoe Lluvia 2009";
				models[i][15] = "Cordoba 1.6L Blitz Puertas Con Frenos ABS 2009";
				models[i][16] = "Cordoba Blitz Automatico Tiptronic 1.6L 4Ptas. 2009";
				models[i][17] = "Nuevo Leon Reference 1.4L TSI 125hp 4Ptas. 2009";
				models[i][18] = "Nuevo Leon Stylance 1.8L TSI 160hp 2009";
				models[i][19] = "Nuevo Leon Stylance 2.0L FSI 4 Puertas 2009";
				models[i][20] = "Nuevo Leon FR 2.0T FSI 200 Hp 4 Puertas 2009";
				models[i][21] = "Nuevo Leon Cupra 2.0T FSI 240Hp 2009";
				models[i][22] = "Nuevo Leon Cupra 2.0T FSI 280Hp 2009";
				models[i][23] = "Altea XL 2.0L FSI 4 Ptas. 2009";
				models[i][24] = "Freetrack 2.0L TSI 4 Ptas. 2009";
				break;
			}
		}
	}
	if (dealerMakes.toLowerCase().indexOf("volkswagen") > -1) {
		makes.push("Volkswagen");

		for(var i = 1; i < makes.length; i++) {
			if (makes[i] == "Volkswagen") {
				models[i][0] = selectModel;
				models[i][1] = "The Beetle";
				models[i][2] = "CC";
				models[i][3] = "Clasico";
				models[i][4] = "CrossFox";
				models[i][5] = "Gol";
				models[i][6] = "Gol Sedan";
				models[i][7] = "Golf Sportwagen";
				models[i][8] = "GTI";
				models[i][9] = "Jetta";
				models[i][10] = "Jetta GLI";
				models[i][11] = "Protect";
				models[i][12] = "Routan";
				models[i][13] = "Tiguan";
				models[i][14] = "Touareg";
				models[i][15] = "Amarok";
				models[i][16] = "Crafter";
				models[i][17] = "Saveiro";
				models[i][18] = "Transporter";
				break;
			}
		}
	}
if (ContextManager.getFranchises().toString().toLowerCase().indexOf("nissan") > -1) {
		makes.push("Nissan");
		
		for(var i = 1; i < makes.length; i++) {
			if (makes[i] == "Nissan") {
				models[i][0] = selectModel;
				models[i][1] = "Altima";
				models[i][2] = " Altima Coupe";
				models[i][3] = "Armada";
				models[i][4] = "Cabstar";
				models[i][5] = "Camiones NP300";
				models[i][6] = "Frontier V6";
				models[i][7] = "Frontier XE";
				models[i][8] = "Maxima";
				models[i][9] = "Murano";
				models[i][10] = "Pathfinder";
				models[i][11] = "Rogue";
				models[i][12] = "Sentra";
				models[i][13] = "Sentra SE-R";
				models[i][14] = "Tiida HB";
				models[i][15] = "Tiida Sd";
				models[i][16] = "Titan";
				models[i][17] = "Tsuru";
				models[i][18] = "Urvan";
				models[i][19] = "X-trail";			
				break;
			}
		}
	}
	
		
	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() {}

