/* Collection Variables returned by AJAX calls: */
var aicModels = null;
var allMakes = null;
var compareModels = null;
var compVehicles = null;
var compareData = null;
var longestShortName = 0;

/* Constructors for data structures returned as components of quasi-JSON AJAX responses: */
function aicMake(makeName, arrModelKeys) {
	this.name = makeName;
	this.models = arrModelKeys; //an array of aicModel objects
}

function aicModel(id, name, defaultImageUrl, arrTrims, maxTrimNameLength) {		
		this.id = id;
		this.name = name;
		this.defaultImg = defaultImageUrl;
		this.trims = arrTrims;
		this.maxTrimNameLength = maxTrimNameLength;
}

function trimWrapper(id, shortName, imgUrl, year, parentID) {
	this.id = id;
	this.shortName = shortName;
	this.img = imgUrl;
	this.year = year;
	this.parentID = parentID;
	this.currentColumn = null; //a convenience field which can be added/accessed later
	this.make = arguments[5];
	this.model = arguments[7];
}

function trimCeqWrapper(id, shortName, imgUrl, year, parentID) {	
	this.id = id;
	this.shortName = shortName;
	this.img = imgUrl;
	this.year = year;
	this.parentID = parentID;
	this.currentColumn = null; //a convenience field which can be added/accessed later
	this.addedFeatures = (arguments.length >= 9 ) ? arguments[8] : null;
	this.make = (arguments.length == 7) ? arguments[6] : null;
}

function compareObject(header, arrCompareDetailObject) {
	this.header = header;
	this.details = arrCompareDetailObject; //an array of compareDetailObjects
	this.hasMitsAdvantage = arguments.length == 3 ? arguments[2] : false;
}

function compareDetailObject(label, arrValues, advantageFlag, tm_flag, tm_desc) {
	var self = this;
	this.label = label;
	this.values = arrValues; //an array of string values
	this.advantageFlag = advantageFlag;
	this.tm_flag = tm_flag;
	this.tm_desc = tm_desc;
	
	//this.advantageFlag = (arguments.length == 5) ? arguments[4] : false;
	
	this.getAdvantageFlag = function() {
		return self.advantageFlag;
	};
}

