function VehicleList(items,pagename){
   this.vehicles = items;
   this.pagename = pagename;

}

function Vehicle(year,displayname,location){
	this.year = year;
	this.displayname = displayname;
	this.location = location;
}

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 + "\" class=\"font\" onchange=\"javascript:oVehicleList.changevehicle();\">";
	
	sDrop += "<option value=''>-- Select a Year --</option>";
	//sDrop += "<option value=''>-- Select a 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;
}

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.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;
		}
	}
	if(sPath == "/trucks/f-150heritage"){
		sPath = "/trucks/f150heritage";
	}
	if (sPath == "/trucks/f-150supercrew"){
		sPath = "/trucks/f150";
	}
	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
	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=\"font\" id=\"model_" + this.pagename + "\"  style=\"width:150px;\" onchange=\"javascript:hideTrimDD(); \">";
	}
	else
	{
		sHTML += "<select class=\"font\" id=\"model_" + this.pagename + "\"  style=\"width:150px;\" onchange=\"javascript:hideTrimDD(); \">";
	}
	sHTML += "<option value=''>-- Select a Vehicle --</option>";
  
	for(var i=0;i<aVehicles.length;i++){
		if(selected == aVehicles[i]){
			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/offers/results/index.asp?model='+ sModel + '&year=' + sYear+ '&zip=' + sZip + '&referrer=' + referer + "&planType=" + plan;
		}else{
			sAction = sPath + '/incentives/offers/results/index.asp?model='+ sModel + '&year=' + sYear+ '&zip=' + sZip;
		}
	}
	else{
		if(plan.length > 0 || referer.length >0){
			sAction = '/incentives/offers/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 = '/incentives/offers/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");
	
	try{
	document.getElementById("incMain").style.display = 'none';
	}catch(e){
	}
	obj.innerHTML = this.vehicledropdown(objSelVehicle.value, spreselect);
	//Hide Trim when year is changed
	hideTrimDD();
	

}

function hideTrimDD()
{
	try{
	document.getElementById("incMain").style.display = 'none';
	}catch(e){
	}
	
	//document.getElementById("trimLabelTd").style.display = 'none';
	//document.getElementById("trimTd").style.display = 'none';
	//document.getElementById("modelSelector").style.display = 'none';
}
VehicleList.prototype.togglebox = function(szDivID, iState, obj){
		if(document.layers)	   //NN4+
		{
			document.layers[szDivID].visibility = iState ? "show" : "hide";
		}
		else if(document.getElementById)	  //gecko(NN6) + IE 5+
		{

			var DivRef = document.getElementById(szDivID);
			//DivRef.parentNode = obj;
			if(iState == "1")
			{
				if(szDivID == "divvehicle_" + this.pagename)
				{
					var hide1 = document.getElementById("yeardropdown");
					var hide2 = document.getElementById("modeldropdown")
					var hide3 = document.getElementById("trimdropdown")
					//hide1.style.display="none";
					//hide2.style.display="none";
					//hide3.style.display="none";
				}

				DivRef.style.display = "block";
			}
			else
			{
				if(szDivID == "divvehicle_" + this.pagename)
				{
					var hide1 = document.getElementById("yeardropdown");
					var hide2 = document.getElementById("modeldropdown");
					var hide3 = document.getElementById("trimdropdown");
					//hide1.style.display="block";
					//hide2.style.display="block";
					//hide3.style.display="block";
				}

				DivRef.style.display = "none";
			}
		}
		else if(document.all)	// IE 4
		{
			document.all[szDivID].style.visibility = iState ? "visible" : "hidden";
		}

}

