function VehicleList(items,pagename){
	this.vehicles = items;
	this.pagename = pagename;
}

function Vehicle(year,displayname, location){
	this.year = year;
	this.displayname = displayname;
	this.location = location;
}

function remDups(ary){
	var s ='';
	var outary = new Array;
	var j = 1;
	for (var i=0; i<ary.length; i++){
		if (i==0){
			s=ary[i];
			outary[0] = ary[i];
		}
		if (ary[i]==s){

		}
		else{
			outary[j] = ary[i];
			j = j + 1;
			s = ary[i];
		}
	}
	return outary;
}

VehicleList.prototype.yeardropdown = function(spreselect){

	var str = new String();
	for(var i=0;i<this.vehicles.length;i++){
		if(str.length==0){
			str = this.vehicles[i].year;
			}else{
			str += "," + this.vehicles[i].year;
			}
	}

	var arrYear = str.split(",").sort().reverse();
	arrYear = remDups(arrYear);
	var sDrop = new String();
	sDrop = "<select id=\"year_" + this.pagename + "\" style='border:1px solid #d2d2d2;width:100px;' onchange=\"javascript:oVehicleList.changevehicle();\">";
	sDrop += "<option value=''>Year</option>";

	for(var i=0;i<arrYear.length;i++){
		if(arrYear[i] == spreselect){
			sDrop += "<option value=\"" + arrYear[i] + "\" selected>" + arrYear[i] + "</option>";
		}else{
			sDrop += "<option value=\"" + arrYear[i] + "\">" + arrYear[i] + "</option>";
		}
	}

	sDrop += "</select>";
	return sDrop;
}

VehicleList.prototype.finddirectory = function(displayname){
	var sPath = "";
	for(var i=0;i<this.vehicles.length;i++){
		if(this.vehicles[i].displayname == displayname){
			sPath =  this.vehicles[i].location;
		}
	}
	return sPath;
}

VehicleList.prototype.finddisplayname = function(location){
	for(var i=0;i<this.vehicles.length;i++){
		if(this.vehicles[i].location == location){
			return this.vehicles[i].displayname;
		}
	}
	return "";
}

VehicleList.prototype.vehicledropdown = function(location, selected, trims){
	var sHTML = new String();
	var aVehicles = new Array();
	var sVehicles = new String();
	var sZip = document.forms["rfm_" + this.pagename].zip.value
	
	if (typeof selected !== 'undefined' && selected && selected!=null )
		selected = selected.toLowerCase();
	else
		selected = "nothing";
	
	for(var i=0;i<this.vehicles.length;i++){
		if (location==this.vehicles[i].year){
			if(sVehicles.indexOf(this.vehicles[i].displayname+",") < 0){
				aVehicles.push(this.vehicles[i].displayname);
			}
			sVehicles += this.vehicles[i].displayname + ",";
		}
	}
	
	//aVehicles.sort();
	
	if (sZip != ''){
		sHTML += "<select class=\"incentModelList\" id=\"model_" + this.pagename + "\"  onchange=\"javascript:hideTrimDD();\">";
	}else{
		sHTML += "<select class=\"incentModelList\" id=\"model_" + this.pagename + "\"  onchange=\"javascript:hideTrimDD();\">";
	}
	sHTML += "<option value=''>Vehicle</option>";
	
	var nameFix = /[\s\+]/gi; 
	for(var i=0;i<aVehicles.length;i++){
		sCompVeh = aVehicles[i].toLowerCase().replace(nameFix,"").replace(/explorersporttrac/i,"sporttrac");
		selected = selected.replace(nameFix,"").replace(/explorersporttrac/i,"sporttrac");
		if(selected == sCompVeh){
			sHTML += "<option value='" + this.finddirectory(aVehicles[i]) + "' selected>" + aVehicles[i] + "</option>";
		}else{
			sHTML += "<option value='" + this.finddirectory(aVehicles[i]) + "'>" + aVehicles[i] + "</option>";
		}
	}
	sHTML += "</select>";
	return sHTML;
}

VehicleList.prototype.changeTrim = function(sTrims){
			var strTrimSelectText = new String();
			var obj3 = document.getElementById("trimdropdown");
			if (sTrims != "")
			{
				var aTrims = sTrims.split(',');
				strTrimSelectText = "<select class=\"font\" id=\"trim_" + this.pagename + "\"  style=\"width:350px;\" onchange=\"javascript:onStart(false);\">";
				for (i=0; i< aTrims.length; i++)
				{
					if (i==0)
					{
						strTrimSelectText = strTrimSelectText + "<option value='" + i + "' selected>" + aTrims[i] + "</option>";
					}
					else
					{
						strTrimSelectText = strTrimSelectText + "<option value='" + i + "'>" + aTrims[i] + "</option>";
					}
				}
				strTrimSelectText = strTrimSelectText + "</select>";
				obj3.innerHTML =  strTrimSelectText;
			}
}

VehicleList.prototype.submitform = function(formname, plan, referer){
	
	var objSelPath = document.getElementById("model_" + this.pagename);
	var objSelYear = document.getElementById("year_" + this.pagename);
	var sPath = objSelPath.options[objSelPath.options.selectedIndex].value;
	var sYear = objSelYear.options[objSelYear.options.selectedIndex].value;
	var sModel = oVehicleList.finddisplayname(sPath);
	var sZip = document.forms[formname].zip.value

	if (sPath.length >0) {
		if(plan.length > 0 || referer.length >0){
			sAction = sPath + 'incentives/results/index.asp?model='+ sModel + '&year=' + sYear+ '&zip=' + sZip + '&referrer=' + referer + "&planType=" + plan;
		}else{
			sAction = sPath + 'incentives/results/index.asp?model='+ sModel + '&year=' + sYear+ '&zip=' + sZip;
		}
	}
	else{
		if(plan.length > 0 || referer.length >0){
			sAction = 'http://www.fordenespanol.com/incentives/error/index.asp?error=Please+check+the+fields+above.+You+must+enter+information in each one.&model='+ sModel + '&year=' + sYear+ '&zip=' + sZip + '&referrer=' + referer + "&planType=" + plan;
		}else{
			sAction = 'http://www.fordenespanol.com/incentives/error/index.asp?error=Please+check+the+fields+above.+You+must+enter+information in each one.&model='+ sModel + '&year=' + sYear+ '&zip=' + sZip;
		}
		
		
	}
	document.forms[formname].action = sAction;
	document.forms[formname].submit();
}

VehicleList.prototype.changevehicle = function(spreselect){
	var objSelVehicle = document.getElementById("year_" + this.pagename);
	var obj = document.getElementById("modeldropdown");
	obj.innerHTML = this.vehicledropdown(objSelVehicle.value, spreselect);
	
	hideTrimDD();
}


function hideTrimDD()
{
	try{
		if (typeof document.getElementById("incMain") != 'undefined' && document.getElementById("incMain"))
			document.getElementById("incMain").style.display = 'none';
	}catch(e){
	}
}

