//Variable Definitions
var myCar = new mitsuCar();
var trimList = new Array();
var extColorList = new Array();
var intColorList = new Array();
var bpClassArray = new Array("bprItem", "bprItemAlt");
var dealerList = null;
var myTimer = new Array();
var specialOffersList = new Array();
var calcTimer = 0;
var navStep = 0;
var showingInfo = false;
var myZip = "";
var dbModelName = "";
var arrowHTML = "";
var zipReset = false;
var pacAccTotal = 0;
var finishedHeaderImage = "";
var modelHeaderImage = "";
var finishInit = false;
var displayPartnerPricing = false;
var strCurrSelAccessories = "";
var tmpWar1 = "";
var tmpWar2 = "";
var selectedModel;
var isFindOffersSubmitRequest = false;
var omnitureDebug = false;	// Omniture code debugging.
var currentStep = "";

/*********************************************
* Check query string for ModelId and TrimId  *
* If ModelId found preselect model           *
* If ModelId and TrimId found preselect trim *
*********************************************/
function checkQuery() {
	var args = new Object();
	var query = location.search.substring(1);
	var pairs = query.split("&");
	for (var i=0; i < pairs.length; i++) {
		var pos = pairs[i].indexOf('=');
		if (pos == -1) continue;
		var argname = pairs[i].substring(0,pos);
		var value = pairs[i].substring(pos+1);
		args[argname]=unescape(value);
	}

	//Grab arrow image from first cell
	arrowHTML = getItem('arrow1').innerHTML;

	if (args['modelId']) {
		advanceNav(1);

		//getItem('bprDisclaimerDiv').innerHTML = MSRP1 + moneyFormat(myCar.destPrice) + MSRP2 + moneyFormat(myCar.destPrice + 125) + MSRP3;
		getItem('bprDisclaimerDiv').style.visibility = 'visible';

		myCar.modelId = parseInt(args['modelId']);
	    //add disclaimers dynamically for this model
		loadDisclaimersForModel (myCar.modelId);
		//Assign to offer form
		getItem(inputModelId).value =  myCar.modelId;
		if (args['trimId']) {
			myCar.trimId = args['trimId'];
			advanceNav(2);
			getTrims(myCar.trimId);
			getExtColors();
			advanceNav(3);
		} else {
			getTrims();
		}
		//Check that a zipcode exists.
		if (sessionZipCode == "") {
				//Default Zipcode for somewhere in the US but not in Alaska.
				//This will make the default destination and handling charge appear
				//While not making the check zip function obsolete.
				sessionZipCode = "94105";
		} else {
			getItem('bprZip').value = sessionZipCode;
		}
	}


}

//Definition for special offer data
function specialOffer(id, shortDesc, longDesc, legalDesc, savings, endDate, offerType) {
	this.id = id;
	this.shortDesc = shortDesc;
	this.longDesc = longDesc;
	this.savings = savings;
	this.legal = legalDesc;
	this.endDate = endDate;
	this.offerType = offerType;
	this.selected = false;		//Used for pricing and display
}

//Definition for accessory data
function accessoryItem (id, name, price, image, copy){
	this.accessoryId = id;
	this.price = price;
	this.name = name;
	this.image = ((image!="")?"<":"")+image;
	this.copy = copy;
	this.selected = false;		//Used for pricing and display
	this.visible = true; 			//Used to hide accessory when included in a selected package
	this.enabled = true;
}

//Definition for accessory package data
function accessoryPackage(id, packageName, shortDesc, longDesc, footnote, price, partnerPrice, packageExclusions, packageRequirements, accessoryExclusions, accessoryInclusions) {
	this.packageName = packageName;
	this.shortDesc = shortDesc;
	this.longDesc = longDesc;
	this.footnote = footnote;
	this.price = price;
	this.partnerPrice = partnerPrice;
	this.selected = false;		//Used for pricing and display
	this.packageId = id;
	this.enabled = true;			//Used for package exclusions
	this.packageExclusions = packageExclusions;
	this.packageRequirements = packageRequirements;
	this.accessoryExclusions = accessoryExclusions;
	this.accessoryInclusions = accessoryInclusions;
}

//Definition for finance data
function financeValues() {
	this.tradeIn = 0;
	this.downPayment = 0;
	this.termMonths = 72;			//Default term
	this.apr = "";						//Default unassigned APR
	this.payment = 0;
}

//Update vehicle financing data from calculator form
function updateFinance() {
	var tradeIn = getItem("bprCalcTrade").value;
	var downPayment = getItem("bprCalcDown").value;
	var apr = getItem("bprCalcApr").value;
	myCar.finance.tradeIn = (tradeIn=="")?0:parseFloat(stripMoney(tradeIn));
	myCar.finance.downPayment = (downPayment=="")?0:parseFloat(stripMoney(downPayment));
	myCar.finance.termMonths = parseInt(getItem("bprCalcTerm").value);
	myCar.finance.apr = (apr=="")?"":parseFloat(stripMoney(apr));
	updatePricing();
	//surveyRequest ('kpi', 'pc');
}

//Stripping commas and $ from money values
function stripMoney(moneyString) {
	moneyString = moneyString.replace(/,/, "");
	moneyString = moneyString.replace(/\$/, "");
	return moneyString;
}

//Currently unused - Definition for lease data
function leaseValues() {
	this.tradeIn = 0;
	this.termMonths = 72;			//Default term
	this.rate = 1.9;					//Default rate
	this.payment = "0";
}

//Definition for trim data
function trimLine(id, name, msrp, img, footnote, features, partnerPrice, partnerCashIncentive, partnerDate, trimEngine, trimTransmission, trimDriveType, printImg) {
	this.id = id;
	this.name = name;
	this.msrp = msrp;
	this.carImg = "<"+img;
	this.footnote = footnote;
	this.features = features;
	this.partnerPrice = partnerPrice;
	this.cashIncentive = partnerCashIncentive;
	this.partnerDate = partnerDate;
	this.trimEngine = trimEngine;
	this.trimTransmission = trimTransmission;
	this.trimDriveType = trimDriveType;
	this.printImg = "<" + printImg;
}

//Calculate payment estimates
function calculatePayments(v) {
	if (v.finance.termMonths && typeof(v.finance.apr) != "string") {
		i = (v.finance.apr / 100 / 12);
		if (i) {
			v.finance.payment = (Math.round((v.totalPrice - v.finance.tradeIn - v.finance.downPayment) / ( ( 1 / i) * ( 1 - Math.pow( 1 / (1+i), v.finance.termMonths))) * 100 ) / 100);
		} else {
			//Prevent divide by zero for 0% APR offer
			v.finance.payment = (Math.round((v.totalPrice - v.finance.tradeIn - v.finance.downPayment) / v.finance.termMonths * 100 ) / 100);
		}
	}
}

//Definition for exterior color
function extColor(id, name, img, carImg, charge) {
	this.colorId = id;
	this.name = name;
	this.thumbImg = "<" + img;
	this.carImg = "<" + carImg;
	this.charge = charge;
	this.selected = false;
}

//Definition for interior
function intColor(id, name, img) {
	this.colorId = id;
	this.name = name;
	this.thumbImg = "<" + img;
	this.selected = false;
}

//Definition for the whole vehicle object
function mitsuCar() {
	this.modelId = 0;
	this.modelName = "";
	this.trimId = 0;
	this.trimName = "";
	this.trimImg = "";
	this.trimFootnote = "";
	this.trimFeatures = "";
	this.trimEngine = "";
	this.trimTransmission = "";
	this.trimDriveType = "";
	this.destPrice = 0;
	this.packages = new Array();
	this.accessories = "";  //Notes: Initialized with new Array() was not working the acc list had population???
	this.extColor = new Array();
	this.intColor = new Array();
	this.msrp = 0;
	this.partnerPrice = 0;
	this.partnerSavings = 0;
	this.cashIncentive = 0;
	this.totalPrice = 0;
	this.finance = new financeValues();
	this.lease = new leaseValues();
	this.specialOffers = new Array();
	this.dealer = new Array();
}

//Recalculate and display all pricing information
function updatePricing() {

	var price = (displayPartnerPricing)?myCar.partnerPrice:myCar.msrp;
	pacAccTotal = 0;
	pacAccPartnerTotal = 0;

	if (!displayPartnerPricing) {
		//Display premium paint charge line item for consumers
		var chargeLayer = getItem("premiumPaintChargeItem");
		if (myCar.extColor.charge) {
			price += myCar.extColor.charge;
			if (chargeLayer != null) {
				getItem("premiumPaintCharge").innerHTML = myCar.extColor.charge;
				chargeLayer.style.visibility = "visible";
				chargeLayer.style.position = "relative";
			}
		} else {
			if (chargeLayer != null) {
				chargeLayer.style.visibility = "hidden";
				chargeLayer.style.position = "absolute";
			}
		}
	} else {
		//Display premium paint charge line item for partners
		var msrpChargeLayer = getItem("diMsrpPaintChargeItem");
		var diChargeLayer = getItem("diPaintChargeItem");
		if (myCar.extColor.charge) {
			price += myCar.extColor.charge;
			getItem("diMsrpPaintCharge").innerHTML = myCar.extColor.charge;
			getItem("diPaintCharge").innerHTML = myCar.extColor.charge;
			msrpChargeLayer.style.visibility = "visible";
			msrpChargeLayer.style.position = "relative";
			diChargeLayer.style.visibility = "visible";
			diChargeLayer.style.position = "relative";
		} else {
			msrpChargeLayer.style.visibility = "hidden";
			msrpChargeLayer.style.position = "absolute";
			diChargeLayer.style.visibility = "hidden";
			diChargeLayer.style.position = "absolute";
		}

	}

	if (!displayPartnerPricing) {
		//Display destination charge line item for consumers
		var chargeLayer = getItem("destPriceItem");
		if (myCar.destPrice) {
			price += myCar.destPrice;
			if (chargeLayer != null) {
				getItem("destPrice").innerHTML = myCar.destPrice;
				chargeLayer.style.visibility = "visible";
				chargeLayer.style.position = "relative";
			}
		} else {
			if (chargeLayer != null) {
				chargeLayer.style.visibility = "hidden";
				chargeLayer.style.position = "absolute";
			}
		}
	} else {
		var chargeLayer = getItem("destPriceItem");
		chargeLayer.style.visibility = "hidden";
		chargeLayer.style.position = "absolute";
	}


	//Add accessory costs
	for (prop in myCar.accessories) {
		curAcc = myCar.accessories[prop];
		if (curAcc.selected) {
			pacAccTotal += curAcc.price;
		}
	}

	//Add package costs
	var pacSelString = "";
	for (prop in myCar.packages) {
		curPac = myCar.packages[prop];
		if (curPac.selected) {
			//myCar.partnerSavings += curPac.price - curPac.partnerPrice;
			pacAccTotal += curPac.price;
			pacAccPartnerTotal += curPac.partnerPrice
			pacSelString += URLencode(curPac.packageName) + "|";
		}
	}
	if (pacSelString != "") {
		//Remove terminating pipe
		pacSelString = pacSelString.substr(0, pacSelString.length - 1);

		//Assign to offer form
		getItem(inputPackageName).value = pacSelString;
	}

	if (displayPartnerPricing) {
		//Add destination charge to packages as these are one line item for partners
		pacAccPartnerTotal += myCar.destPrice;
		pacAccTotal += myCar.destPrice;

	}

	//Display Packages & Accessories line item
	try { getItem("pacAccTotal").innerHTML = moneyFormat(pacAccPartnerTotal); } catch (e) {}
	if (!displayPartnerPricing) {
		//Packages Line Item for consumers
		var pacAccLayer = getItem("pacAccItem");
		if (pacAccTotal) {
			getItem("pacAccTotal").innerHTML = moneyFormat(pacAccTotal);
			if (pacAccLayer != null) {
				pacAccLayer.style.visibility = "visible";
				pacAccLayer.style.position = "relative";
			}
		} else {
			if (pacAccLayer != null) {
				pacAccLayer.style.visibility = "hidden";
				pacAccLayer.style.position = "absolute";
			}
		}
	} else {
		var msrpPacAccLayer = getItem("diMsrpDestPacItem");
		var diPacAccLayer = getItem("diDestPacItem");
		if (pacAccPartnerTotal) {
			getItem("diMsrpDestPac").innerHTML = moneyFormat(pacAccTotal);
			getItem("diDestPac").innerHTML = moneyFormat(pacAccPartnerTotal);
			msrpPacAccLayer.style.visibility = "visible";
			msrpPacAccLayer.style.position = "relative";
			diPacAccLayer.style.visibility = "visible";
			diPacAccLayer.style.position = "relative";
		} else {
			msrpPacAccLayer.style.visibility = "hidden";
			msrpPacAccLayer.style.position = "absolute";
			diPacAccLayer.style.visibility = "hidden";
			diPacAccLayer.style.position = "absolute";
		}

	}
	price += ((displayPartnerPricing)?pacAccPartnerTotal:pacAccTotal);

	//Subtract savings
	if (!displayPartnerPricing) {
		for (prop in myCar.specialOffers) {
			curOff = myCar.specialOffers[prop];
			if (curOff.selected) {
				price -= curOff.savings;
			}
		}
	}

	//Subtract Partner Cash Incentive
	var cashIntLayer = getItem('cashIncentiveLine');
	var diLayer = getItem('dealerInvoiceLineItem');
	if (displayPartnerPricing) {
		price -= myCar.cashIncentive;
		getItem('cashIncentiveVal').innerHTML = moneyFormat(myCar.cashIncentive);
		if (cashIntLayer != null && myCar.cashIncentive > 0) {
			cashIntLayer.style.visibility = "visible";
			cashIntLayer.style.position = "relative";
		}
		if (diLayer != null) {
			diLayer.style.visibility = "visible";
			diLayer.style.position = "relative";
		}
	} else {
		if (cashIntLayer != null) {
			cashIntLayer.style.visibility = "hidden";
			cashIntLayer.style.position = "absolute";
		}
		if (diLayer != null) {
			diLayer.style.visibility = "hidden";
			diLayer.style.position = "absolute";
		}
	}

	myCar.totalPrice = price;
	msrpPrice = myCar.msrp + pacAccTotal;
	if (myCar.extColor.charge) msrpPrice += myCar.extColor.charge;
	myCar.partnerSavings = msrpPrice - myCar.totalPrice;
	calculatePayments(myCar);

	// refactored by JJG
	buildDisplayPricing();
	//getItem('bprDisclaimerDiv').innerHTML = MSRP1 + moneyFormat(myCar.destPrice) + MSRP2 + moneyFormat(myCar.destPrice + 125) + MSRP3;

	//Pricing reordering for final screen
	if (navStep == 5) {
		advanceNav(5);
		//displayFinished();
	}

}

// refactor by JJG
function buildDisplayPricing(){

	var bprPrintApr = "&nbsp;";
	try {

		if(getItem("bprCalcApr").value != -1) {
			bprPrintApr = getItem("bprFinanceTermsInside").innerHTML = myCar.finance.apr + perWith + "&nbsp;";
		}
	} catch(e) {}

	//always update the bprTotalPrice if the num
	if (getItem("bprTotalPrice") != null) {
		getItem("bprTotalPrice").innerHTML = curBefore + moneyFormat(myCar.totalPrice);
	}

	//not initial state
	//Mike Ottinger added the condition in front to go into this if,
	//if displayPartnerPricing is true
	if ((displayPartnerPricing) || getItem("bprTotalPrice") != null && (getItem("bprCalcApr").value != -1 || getItem("bprCalcTrade").value || getItem("bprCalcDown").value) ) {

		getItem("diTotal").innerHTML = moneyFormat(myCar.totalPrice);
		getItem("diMsrpTotal").innerHTML = moneyFormat(msrpPrice);
		getItem("diSavings").innerHTML = moneyFormat(myCar.partnerSavings);

		if (myCar.finance.termMonths > 0 && typeof(myCar.finance.apr) != "string") {
			//Display payment estimate
			//Hide default message
			getItem("bprFinancePaymentDefault").innerHTML = "";
			getItem("bprFinancePaymentInsideDefault").innerHTML = "";

			//if monthly payment get rid of estimate payment button //mitch
			//<img class="button" src="/MMNA/build/images/bpr_btnEstMonthlyPay.gif" border="0" alt="Estimated Monthly Payment" onclick="slideUp('financeCalc', 'financeCalcButton', slideStepValue, 187)">
			$(".estPaymentBtn").html("Your Estimated Monthly Payment");
			//getItem("estimateMonthlyPaymentBtn").innerHTML = "<span style='color:red'>Your Estimated Monthly Payment</span>";
			// differences for languages
			getItem("bprFinanceTerms").innerHTML = "<span style='font-size: 16px; font-weight: bold;'>" + curBefore + moneyFormat(myCar.finance.payment)  + "</span>&nbsp;";	//getItem("bprFinancePayment").innerHTML = curBefore + moneyFormat(myCar.finance.payment);
			$(".monthlyPayment").html(curBefore + moneyFormat(myCar.finance.payment) );
			
			//getItem("bprFinanceTerms2").innerHTML = "<span style='font-size: 16px; font-weight: bold; color:red'>" + curBefore + moneyFormat(myCar.finance.payment)  + "</span>&nbsp;";
			if (langCode == "en-us" ) {
				getItem("bprFinanceTerms").innerHTML += estimatedAt + " " + myCar.finance.termMonths + " " + mosAt + "&nbsp;@ " + bprPrintApr + curBefore + (myCar.finance.tradeIn + myCar.finance.downPayment)  + " " + downPayment + "&nbsp;" + availAPR + ".";
			} else {
				getItem("bprFinanceTerms").innerHTML += "<span style='line-height:9px;'>" + estimatedAt + "&nbsp;" + myCar.finance.termMonths + " " + mosAt + " " + bprPrintApr + curBefore + (myCar.finance.tradeIn + myCar.finance.downPayment)  + " " + downPayment + " " + availAPR + "." + "</span>";
			}

			//Put values inside calculator
			getItem("bprFinancePaymentInside").innerHTML = curBefore + moneyFormat(myCar.finance.payment);
			getItem("bprFinanceTermsInside").innerHTML = estimatedAt + " " + myCar.finance.termMonths + " " + mosAt + " " + bprPrintApr + curBefore + (myCar.finance.tradeIn + myCar.finance.downPayment)  + " " + downPayment + " " + availAPR;
		}
		else {
			//Hide display of payment estimate
			getItem("bprFinancePaymentDefault").innerHTML = defaultCalcMessage;
			getItem("bprFinancePaymentInsideDefault").innerHTML = defaultCalcMessage;
			
			
			$(".estPaymentBtn").html("<img class=\"button\" src=\"/MMNA/build/images/bpr_btnEstMonthlyPay."+langCode+".png\" border=\"0\" alt=\"Estimated Monthly Payment\" onclick=\"slideUp('financeCalc', 'financeCalcButton', slideStepValue, 187)\">");//getItem("estimateMonthlyPaymentBtn").innerHTML = "<img class=\"button\" src=\"/MMNA/build/images/bpr_btnEstMonthlyPay.gif\" border=\"0\" alt=\"Estimated Monthly Payment\" onclick=\"slideUp('financeCalc', 'financeCalcButton', slideStepValue, 187)\">";
			//getItem("bprFinancePayment").innerHTML = " ";
			getItem("bprFinanceTerms").innerHTML = " ";
			getItem("bprFinancePaymentInside").innerHTML = "&nbsp;";
			getItem("bprFinanceTermsInside").innerHTML = "&nbsp;";
		}
	}
	else { // user hasn't entered data into calculator
		//getItem("bprFinancePayment").innerHTML = "&nbsp;";
		try {
			
			//getItem("estimateMonthlyPaymentBtn").innerHTML = "<img class=\"button\" src=\"/MMNA/build/images/bpr_btnEstMonthlyPay.gif\" alt=\"Estimated Monthly Payment\" border=\"0\" onclick=\"slideUp('financeCalc', 'financeCalcButton', slideStepValue, 187)\">";
			$(".estPaymentBtn").html("<img class=\"button\" src=\"/MMNA/build/images/bpr_btnEstMonthlyPay."+langCode+".png\" border=\"0\" alt=\"Estimated Monthly Payment\" onclick=\"slideUp('financeCalc', 'financeCalcButton', slideStepValue, 187)\">");
			
			getItem("bprFinanceTerms").innerHTML = bprCalcIntro;
			//getItem("bprFinanceTerms2").innerHTML = "&nbsp;";
			$(".monthlyPayment").html("&nbsp;");
			
			getItem("bprFinancePaymentInside").innerHTML = "&nbsp;";
			getItem("bprFinanceTermsInside").innerHTML = "&nbsp;";
		} catch(e) {}
	}
}

//add by Mike O
//escape() encodes most of the stuff you need to encode.
//It misses single (%27) and double (%22) quotes, the plus sign (%2B) and slash (%2F)
// This might be better in the util file

function URLencode(sStr) {
    return escape(sStr).
			replace(/\+/g, '%2B').
			replace(/\"/g,'%22').
			replace(/\'/g, '%27').
			replace(/\//g,'%2F');
}

function showMSRPDisclaimer(discTitle) {
	showDisclaimer(discManuSuggestedPrice, discTitle);
//	showDisclaimer("discMSRP_"+selectedModel, discTitle);
}

function showPZEVDisclaimer(discTitle) {
	showDisclaimer("discPZEV_"+selectedModel, discTitle);
}

function loadDisclaimersForModel (selectedModel) {
	// all of this is temporary until we can get a better disclaimer system in place
	// something that loads notes dynamically and adjusts link text accordingly
	clearDisclaimer();
	
	switch  (selectedModel) {
		
	    case 100035:case "100042":case "100048": // outlander 2010 or 2011 or 2012
	    	addDisclaimer("discManuSuggestedPrice", "discDestinationPrice", "discGlobalAirbags", "discGlobalEpa");
	    break;
		
	    case 100031: // lancer 2010 
	    	addDisclaimer("discManuSuggestedPrice", "discDestinationPrice", "discGlobalAirbags", "discGlobalPzev", "discLnRoadside", "disciPod", "discGlobalEpa");
	    break;
	    
	    case 100040:case "100050": // lancer 2011 & 2012
	    	addDisclaimer("discManuSuggestedPrice", "discDestinationPrice", "discGlobalAirbags", "discGlobalLev", "discLnRoadside", "disciPod", "discGlobalEpa");
	    break;
	    
	    case 100033: // sportback 2010 
	    	addDisclaimer("discManuSuggestedPrice", "discDestinationPrice", "discGlobalAirbags", "discPzev161", "discLnRoadside", "disciPod", "discGlobalEpa");
	    break;
	    
	    case 100041:case 100051: // sportback 2011 & 2012
	    	addDisclaimer("discManuSuggestedPrice", "discDestinationPrice", "discGlobalAirbags", "discLev161", "discLnRoadside", "disciPod", "discGlobalEpa");
	    break;
	    
	    default:
	    	addDisclaimer("discManuSuggestedPrice", "discDestinationPrice", "discGlobalAirbags", "discGlobalLev", "discLnRoadside", "disciPod", "discGlobalEpa","discLnSafety");
	}
}


//Pick a model
function selectModel(modelId) {
	
	selectedModel = modelId;
    //add disclaimers dynamically for this model
	loadDisclaimersForModel (modelId);
	
	myCar.modelId = modelId;
	//Assign to offer form
	getItem(inputModelId).value =  modelId;
	//Put model name into right column display
	getTrims();

	getItem('bprDisclaimerDiv').style.visibility = 'visible';
	
	
	/*if (dealerList == null) {
		getDealerList();
	}*/
}

//Call destination price servlet and retrieve destination price based on zip (Alaska or Continental US)
function getDestPrice() {
	//var priceArgs = "modelId=" + myCar.modelId + "&zipCode=" + sessionZipCode;
	//Remove possibility of returning alaskan zip
	var priceArgs = "modelId=" + myCar.modelId + "&zipCode=94105";
	makeRequest('/MMNA/destPrice.do', priceArgs, 'eval(myCar.destPrice=parseInt(http_request[i].responseText));updatePricing();');
}

//Get Dealer List
function getDealerList(whichFunction) {
	//dealerList = null;
	var zipArgs = "bprZip=" + $.trim(sessionZipCode) + "&dealerMax=5&radius=3000&filterEcom=true&lang=" + langCode;
	makeRequest('/MMNA/findDealer.do', zipArgs, 'eval(http_request[i].responseText);writeDealerList("'+whichFunction+'")');	
	$("#bprFullDealerList").html (buildingDealerListMessage)
}

//Check zipcode for dealer
function checkRFQZip(whichFunction) {
	sessionZipCode = $("#bprZip").val();
	//sessionZipCode = getItem('bprZip').value;
	zipArgs = "zipCode=" + sessionZipCode + "&lang=" + langCode;
	//Send zip to servelet for validation
	makeRequest('/MMNA/validateZip.do', zipArgs, 'eval(setRFQZip(http_request[i].responseText, "'+whichFunction+'"));');
}

//If zip is valid display valid message and move to the next step else display invalid zip message
function setRFQZip(isValid,whichFunction) {
	if(isValid != "false") {
		getDealerList(whichFunction);
		getItem('zipCode').value = $.trim(sessionZipCode);
	} else {
		alert("setRFQZip: " + bprNoZipError);
	}
}

//Return RFQ Box to initial state
function restoreRfqBox() {
	getItem('bprEnterZip').style.display = "block";
	getItem('nextDealerLinkDiv').style.display = "none";
	getItem('bprRfq').style.backgroundImage = "url(../build/images/bpr_bgRfqPrintDetails."+langCode+".gif)";
}

function writeDealerList(whichFunction) {
	//Check for null dealers
	
	if (dealerList == null) {
		alert("writeDealerList: " + nextDealerError);
		return;
	}
	
	PMADealer = null;
	fullDealerDiv = getItem('bprFullDealerList');
	//Set correct header image
	if (whichFunction == "printFinal") {
		getItem('bprRfq').style.backgroundImage = "url(../build/images/bpr_bgPrintDetails."+langCode+".gif)";
	} else {
		getItem('bprRfq').style.backgroundImage = "url(../build/images/bpr_bgRfq."+langCode+".gif)";
	}

	fullDealerDiv.innerHTML = "<p>Please select one or two dealers</p>";
	var dealerCount = 0;
	for (dealer in dealerList) {
		dealerCount++;
		dealerData = dealerList[dealer];
		//fullString = "<div class='bprDealerRadio'><input type='checkbox' name='dealerRadio_" + dealerCount + "' value='" + dealerData.id + "' " + ((PMADealer == null)?"checked='checked'":"") + "></div>";
		fullString = "<div class='bprDealerRadio'><input type='checkbox' name='dealerRadio_" + dealerCount + "' value='" + dealerData.id + "' " + "></div>";
		fullString += "<div class='bprDealerRadioData'><span style='float:right;padding-right: 10px'>("+dealerData.miles+" " + bprMiles + ")</span><b class='bprDarkLink'>" + dealerData.name + "</b><br/>";
		fullString += dealerData.address + "<br/>";
		fullString += dealerData.city + ", " + dealerData.state + " " + dealerData.zip + "<br/>";
		fullString += dealerData.phone + "</div>";
		fullDealerDiv.innerHTML += fullString;
		//Put first PMA Dealer
		if (PMADealer == null) {
			PMADealer = dealerData;
			PMADealerDiv = getItem('bprDealerList');
			PMAString = "";
			PMAString = "<b class='bprDarkLink'>" + PMADealer.name + "</b><br/>";
			PMAString += PMADealer.address + "<br/>";
			PMAString += PMADealer.city + ", " + PMADealer.state + " " + PMADealer.zip + "<br/>";
			PMAString += PMADealer.phone;
			//PMADealerDiv.innerHTML = PMAString;

			//Assign PMA as selected Dealer
			myCar.dealer = PMADealer;

			//Assign to offer form
			getItem(inputDealerId).value = myCar.dealer.id;

		}
	}
	var NextDealerDiv = getItem('nextDealerLinkDiv');
	var SelectDealerDiv = getItem('dlrSelectHdr');
	if (whichFunction == "printFinal") {
		NextDealerDiv.innerHTML = "<div style='float:right; margin-top:57px' class='bprModelHeader' onclick='javascript:printFinal();'>" + nextButtonImg + "</div>" + PMAString + "<br/>" + nextDealerLinkPrint;
		SelectDealerDiv.innerHTML = PrintHeader;
	} else {
		NextDealerDiv.innerHTML = "<div style='float:right; margin-top:57px' class='bprModelHeader' onclick='javascript:requestQuote();'>" + nextButtonImg + "</div>" + PMAString + "<br/>" + nextDealerLinkPrint;
		SelectDealerDiv.innerHTML = RfqHeader;
	}

	//Set Link in dealer list
	$("#dealerListNextLink").click ( function () {
		if ($("#bprFullDealerList input:checkbox:checked").length > 0) {
			requestQuote();
		}		
	});

	//Hide zip entry and show PMA Dealer and Next button
	NextDealerDiv.style.display = "block";
	getItem('bprEnterZip').style.display = "none";
	
	bindCustomSelectClick(); // adds binding to select boxes (see dealerSelect.js)
}

function selectDealer(dealerId) {
	myCar.dealer = dealerList["dealer"+dealerId+"key"];
	newDealerDiv = getItem('bprDealerList');
	
	//Assign to offer form
	getItem(inputDealerId).value = myCar.dealer.id;
}

function displayFullDealerList() {

	getItem('bprMoreDealers').style.visibility = 'visible';
	fireOmnitureDisplayDealers();

}

function assignPrintImg(modelID) {
	switch(modelID.toString()) {
		case "100025":case "100015":case "100000":case "100009":case "100029":
			myCar['printImg'] = "09_Eclipse_bp_print.jpg";
			break;
		case "100036":case "100046":
			myCar['printImg'] = "11_Eclipse_bp_print.jpg";
			break;
		case "100024":case "100016":case "100001":case "100030":
			myCar['printImg'] = "09_Spyder_bp_print.jpg";
			break;
		case "100029":
			myCar['printImg'] = "10_Eclipse_bp_print.jpg";
			break;
		case "100033":case "100041":
			myCar['printImg'] = "10_Sportback_bp_print.jpg";
			break;
		case "100037":case "100047":
			myCar['printImg'] = "09_Spyder_bp_print.jpg";
			break;
		case "100028":case "100038":
			myCar['printImg'] = "10_Endeavor_bp_print.jpg";
			break;
		case "100017":case "100003":case "100013":
			myCar['printImg'] = "08_Endeavor_bp_print.jpg";
			break;
		case "100020":case "100034":case "100018":
			myCar['printImg'] = "09_Galant_bp_print.jpg";
			break;
		case "100039":case "100049":
			myCar['printImg'] = "11_Galant_bp_print.jpg";
			break;
		case "100022":case "100004":case "100014":case "100031":case "100040":case "100050":
			myCar['printImg'] = "09_Lancer_bp_print.jpg";
			break;
		case "100021":case "200017":case "100005":case "100032":case "100043":
			myCar['printImg'] = "08_Evo_bp_print.jpg";
			break;
		case "100026":case "100035":case "100042":case "100048":
			myCar['printImg'] = "09_Outlander_bp_print.jpg";
			break;
		case "100044":case "100053":
			myCar['printImg'] = "11_OutlanderSport_bp_print.jpg";
			break;
		case "100027":
			myCar['printImg'] = "09_Raider_bp_print.jpg";
			break;
		case "100007":case "100011":case "100019":
			myCar['printImg'] = "08_Outlander_bp_print.jpg";
			break;
		case "100023":case "100008":case "100012":
			myCar['printImg'] = "08_Raider_bp_print.jpg";
			break;
		default:
			myCar['printImg'] = "09_Lancer_bp_print.jpg";
	}
}

//Call trims servlet
//EJ 11/12/10 - When changing this method, the getTrimsForSpecialOffers() method should be changed appropriately.
function getTrims(optSelectId) {
	var modelArgs = "modelId=" + myCar.modelId + "&lang=" + langCode;

	trimList = null;
	//Check for coming in with trim ID
	if (optSelectId) {
		makeRequest('/MMNA/trims.do', modelArgs, 'eval(http_request[i].responseText);writeTrims();selectTrim("trim'+optSelectId+'");getItem("bprNavText2").innerHTML=myCar.trimName;assignPrintImg(myCar.modelId);fireOmnitureTrims()');
	} else {
		makeRequest('/MMNA/trims.do', modelArgs, 'eval(http_request[i].responseText);writeTrims();displayTrims();selectTrim("trim" + defaultTrimId);assignPrintImg(myCar.modelId);fireOmnitureTrims()');
	}
}

//EJ 11/12/10 - Written mainly for omniture purposes. We do not want the trims omniture to fire when being called
//when retrieving the special offers. The only difference between this and getTrims() is the call to the trims
//omniture method
function getTrimsForSpecialOffers() {
	var modelArgs = "modelId=" + myCar.modelId + "&lang=" + langCode;
	trimList = null;
	makeRequest('/MMNA/trims.do', modelArgs, 'eval(http_request[i].responseText);writeTrims();displayTrims();selectTrim("trim" + defaultTrimId);assignPrintImg(myCar.modelId);');
}

function findRegionalOffers() {
	isFindOffersSubmitRequest = true;
	slideDown('specialOffers', 'specialOffersButton', slideStepValue, 187);
	var modelId;
	if (selectedModel) {
	    //selectModel(selectedModel);
		modelId = selectedModel;
	} else {
		// if modelId is in the URL (GET) we end up here with selectedModel undefined
		//selectModel(myCar.modelId);
		modelId = myCar.modelId;
		
	}

	//EJ 11/12/10 - The following was copied from the selectModel() method, which is no longer called from here. 
	selectedModel = modelId;
    //add disclaimers dynamically for this model
	loadDisclaimersForModel (modelId);
	
	myCar.modelId = modelId;
	//Assign to offer form
	getItem(inputModelId).value =  modelId;
	//Put model name into right column display
	getTrimsForSpecialOffers();
	fireOmnitureSpecialOffersSubmit();
	
	getItem('bprDisclaimerDiv').style.visibility = 'visible';
	
}

//Display Trims
function writeTrims() {
	
	getItem('finishedHeaderImage').innerHTML = "<" + finishedHeaderImage;
	getItem('modelHeaderImage').innerHTML = "<" + modelHeaderImage;
	myCar.modelName = dbModelName;
	getItem("bprNavText1").innerHTML = dbModelName;
	//Show divs
	//getItem('bprModelColumn').style.visibility='hidden';
	$('#bprModelColumn').hide();
	$('#bprContainer').show();
	
	getItem('bprLeftColumn').style.visibility='visible';
	getItem('bprRightColumn').style.visibility='visible';
	var trimContainer = getItem('step2Data');
	trimContainer.innerHTML = "";
	var bpClassToggle = 0;
	document.tImages = null;
	document.tImages = new Array();
	tmpWar1 = vehWar1;
	tmpWar2 = vehWar2;
	for (prop in trimList) {
		trimItem = trimList[prop];
		trimPrefix = prop.substring(0,prop.indexOf("key"));
		document.tImages[prop] = new Image;
		document.tImages[prop].src = trimItem.carImg.substring(trimItem.carImg.indexOf("src")+5,trimItem.carImg.indexOf("width")-2);
		trimContainerString  = "<div class=\"" + bpClassArray[bpClassToggle] + "\" id=\""+trimPrefix+"div\"" + ((isSafari)?" style=\"min-height: 20px\"":"") + ">";
		trimContainerString += "  <div class=\"bprItemInterior\" onclick=\"selectTrim('"+trimPrefix+"');\" id=\""+trimPrefix+"int\" style=\"padding:2px 0;\" >";
		trimContainerString += "    <div class=\"bprItemInput\"><input type=\"radio\" id=\""+trimPrefix+"radio\" class=\"dataPaneInput\"/></div><div class=\"bprItemName\" style=\"width:240px; margin-left:20px\">"+trimItem.name;
		trimContainerString += "    </div></div>";
		trimContainerString += "    ";
		trimContainerString += "</div>";
		bpClassToggle = (bpClassToggle + 1) % 2;
		trimContainer.innerHTML += trimContainerString;
	}
	selectTrim("trim" + myCar.trimId);
}

function displayTrims() {
		advanceNav(2);
		getDestPrice();
		getItem('step2').style.visibility = "visible";
}

function selectTrim(trimId) {
	//Check if trim has changed
	if (trimId != ("trim" + myCar.trimId)) {
		myCar.packages = "";
		myCar.accessories = "";

		try { //Turn off existing trim
			var curTrimDiv = getItem("trim"+myCar.trimId+"int");
			var curTrimBox = getItem("trim"+myCar.trimId+"radio");
			curTrimDiv.className ="bprItemInterior";
			curTrimBox.checked = false;
			//Clear colors and accessories
			resetTrimItems();
		} catch(e) {}

	}

	try { //Turn on new trim
		//Assign for RFQ
		/*
		getItem(inputTrimName).value = trimList[trimId + "key"].name;
		getItem(inputTrimId).value = trimList[trimId + "key"].id;
		*/
		$('#' + inputTrimName).attr('value', trimList[trimId + "key"].name);
		$('#' + inputTrimId).attr('value', trimId.substr(4));
		
		var trimDiv = getItem(trimId+"int");
		var trimBox = getItem(trimId+"radio");
		trimDiv.className ="bprItemInteriorSelected";
		trimBox.checked = true;
		myCar.trimId = trimList[trimId + "key"].id;
		myCar.trimName = trimList[trimId + "key"].name;
		myCar.trimImg = trimList[trimId + "key"].carImg;
		myCar.msrp = trimList[trimId + "key"].msrp;
		myCar.partnerPrice = Math.round(trimList[trimId + "key"].partnerPrice);
		myCar.cashIncentive = trimList[trimId + "key"].cashIncentive;
		myCar.trimFootnote = trimList[trimId + "key"].footnote;
		myCar.trimFeatures = trimList[trimId + "key"].features;
		myCar.trimEngine = trimList[trimId + "key"].trimEngine;
		myCar.trimTransmission = trimList[trimId + "key"].trimTransmission;
		myCar.trimDriveType = trimList[trimId + "key"].trimDriveType;
		
		
		if(myCar.trimName == 'Ralliart') {
			vehWar1 = tmpWar1.replace(/5-year\/60,000-mile<br\/>\(Ralliart (3-year\/36,000-mile)\)/,'$1');
			vehWar2 = tmpWar2.replace(/10-year\/100,000-mile<br\/>\(Ralliart (5-year\/60,000-mile)\)/,'$1');
		} else {
			vehWar1 = tmpWar1.replace(/(5-year\/60,000-mile)<br\/>\(Ralliart 3-year\/36,000-mile\)/,'$1');
			vehWar2 = tmpWar2.replace(/(10-year\/100,000-mile)<br\/>\(Ralliart 5-year\/60,000-mile\)/,'$1');
		}
		
	
		//Check for activation of partner pricing
		if (trimList[trimId + "key"].partnerDate < new Date() && ( isPartnerLoggedIn || isFnFuserLoggedIn == 'true') ) {
			
			displayPartnerPricing = true;
			//display correct pricing pannel
			var ppLayer = getItem('partnerPricing');
			var cpLayer = getItem('regPricing');
			cpLayer.style.visibility = 'hidden';
			cpLayer.style.position = 'absolute';
			ppLayer.style.visibility = 'visible';
			ppLayer.style.position = 'relative';
		} else {
			getItem('destPriceItem').style.visibility='visible';
		}

		getItem('bprVehicleBlurb').innerHTML = trimList[trimId + "key"].footnote;
		getItem('finishedFeatures').innerHTML = myCar.trimFeatures;

		showCarImg(myCar.trimImg);
		//Put trim name into right column display
		getItem("bprTrimName").innerHTML = myCar.trimName;
	} catch(e) {
		return;
	}

	getSpecialOffers();
    //alert ('after get special offers');
	//Set MSRP
	getItem('msrp').innerHTML = moneyFormat(myCar.msrp);
	getItem('diMsrp').innerHTML = moneyFormat(myCar.msrp);
	getItem('dealerInvoice').innerHTML = moneyFormat(myCar.partnerPrice);
	//Set Destination & Handling
	getItem('destPrice').innerHTML = moneyFormat(myCar.destPrice);
	//Recalculate pricing
	updatePricing();
}

function compareTrims() {
	//showingInfo = true;
	/*
	makeLayer("bodyDiv", "trimBodyInfo", "bprTrimInfo");
	var trimLayer = getItem("trimBodyInfo");
	trimLayer.style.left = "200px";
	//trimLayer.style.top = "0px";
	trimLayer.innerHTML = "<div class=\"bprTrimCompHeader\"><div class=\"bprAccPacClose\" onClick=\"killLayer('bodyDiv','trimBodyInfo')\">"+closeLabel+"</div>"+myCar.modelName+"</div>";
	trimLayer.innerHTML += "<div class=\"bprTrimCompContent\"><"+trimCompareImage+"</div>";
	trimLayer.innerHTML += "<div class=\"bprTrimCompContent\">"+trimCompareText+"</div>";
	*/
	//addDisclaimer("discGlobalAirbags", "discPzevInCa");
	var trimContent = "<div><"+trimCompareImage+"</div><div>"+trimCompareText+"</div>";
	jQuery.facebox( '<div class="popupHeader" style="width:auto"><div class="popupTitle">'+myCar.modelName+'</div><div onclick="$(document).trigger(\'close.facebox\')" class="bprAccPacClose">X CLOSE</div></div><div class="bprAccDesc">'+trimContent+'</div>' );
	
	fireOmnitureCompareTrims ();
}

function compareBody() {
	makeLayer("bprRightColumn", "trimBodyInfo", "bprBodyInfo");
	var trimLayer = getItem("trimBodyInfo");
	trimLayer.style.left = "-360px";
	//trimLayer.style.top = "0px";
	trimLayer.innerHTML = "<div class=\"bprBodyCompHeader\"><div class=\"bprAccPacClose\" onClick=\"killLayer('bprRightColumn','trimBodyInfo')\">"+closeLabel+"</div>"+myCar.modelName+"</div>";
	trimLayer.innerHTML += "<div class=\"bprBodyCompContent\"><"+bodyCompareImage+"</div>";
	trimLayer.innerHTML += "<div class=\"bprBodyCompContent\">"+bodyCompareText+"</div>";
}

function displayStandardFeatures() {
	jQuery.facebox( '<div><div class="popupHeader"><div class="popupTitle">'+myCar.trimName+'</div><div onclick="$(document).trigger(\'close.facebox\')" class="bprAccPacClose">X CLOSE</div></div><div class="bprAccDesc">'+myCar.trimFeatures+'</div>' );
}

//AJAX CALL for Exterior colors
function getExtColors() {	
	//Clear any previous colors
	var extContainer = getItem('step3DataExt');
	extContainer.innerHTML = "";

	var trimArg = "trimId=" + myCar.trimId + "&lang=" + langCode;
	if (myCar.extColor == "") {
		makeRequest('/MMNA/extColors.do', trimArg, 'eval(http_request[i].responseText);displayExtColors();selectExtColor("ext"+defaultExtColor);');
	} else {
		displayExtColors();
		selectExtColor("ext"+defaultExtColor);
		//Redisplay last exterior colors
		getItem('step3').style.visibility = "visible";
	}
}

//Show exterior colors
function displayExtColors() {
	var extContainer = getItem('step3DataExt');
	extContainer.innerHTML = "";
	document.eImages = null;
	document.eImages = new Array();
	//Draw each color in the list
	for (prop in extColorList) {
		extItem = extColorList[prop];
		extPrefix = prop.substring(0,prop.indexOf("key"));
		//Preload images
		document.eImages[prop] = new Image;
		document.eImages[prop].src = extItem.carImg.substring(extItem.carImg.indexOf("src")+5,extItem.carImg.indexOf("width")-2);
		extContainerString  = "<div id=\""+extPrefix+"div\"  class=\"bprColorThumb\">";
		extContainerString  += "<a href=\"javascript:selectExtColor('"+extPrefix+"')\" onMouseOver=\"showCarImg(extColorList['"+ prop +"'].carImg);showTip('"+extPrefix+"','ext');clearTimeout(myTimer['"+extPrefix+"']);\" onMouseOut=\"killTip('"+extPrefix+"');showCarImg(myCar.extColor.carImg);\">"+extItem.thumbImg+"</a></div>";
		extContainer.innerHTML += extContainerString;
	}
	getItem('step3').style.visibility = "visible";
}

function showCarImg(imageTag) {
	getItem('vehicleImg').innerHTML = (imageTag);
	//alert ('finished image swap');
}

function showTip(colorId, whichColor) {
	makeLayer("bprRightColumn", colorId+"tip", "bprColorTip");
	tipLayer = getItem(colorId+"tip");
	originDiv = getItem(colorId+"div");
	originImg = getItem(colorId+"img");
	//Turned rollover off for int color
	if (originImg && whichColor == "ext") {
		originImg.src = originImg.src.replace(/Chip\./i, "Chip-over.");
	}
	originParent = getItem('step3Data');
	pageShell = getItem('pageContent');
	tipLayer.style.top = ( getposOffset(originDiv, "top") - getposOffset(originParent, "top") + getItem("step3").offsetTop + 36 )+ "px";
	tipLayer.style.left = ( getposOffset(originDiv, "left") - getposOffset(originParent, "left") - getItem("bprRightColumn").offsetLeft + getItem("bprLeftColumn").offsetLeft + 25 ) + "px";
	tipLayer.style.zIndex = '1000';

	if (whichColor == "ext") {
		tipLayer.innerHTML = "<div class=\"bprColorTipInterior\" onMouseOver=\"clearTimeout(myTimer['"+colorId+"']);showCarImg(extColorList['"+ colorId +"key'].carImg);\" onMouseOut=\"killTip('"+colorId+"');showCarImg(myCar.extColor.carImg);\" onClick=\"selectExtColor('"+colorId+"')\"><nobr>&nbsp;"+extColorList[colorId+"key"].name+"&nbsp;</nobr></div>";
	} else {
		tipLayer.innerHTML = "<div class=\"bprColorTipInterior\" onMouseOver=\"clearTimeout(myTimer['"+colorId+"']);\" onMouseOut=\"killTip('"+colorId+"')\" onClick=\"selectIntColor('"+colorId+"')\"><nobr>&nbsp;"+intColorList[colorId+"key"].name+"&nbsp;</nobr></div>";
	}
}

function killTip(colorId) {
	timerCode = 'killLayer("bprRightColumn", "'+colorId+'tip")';
	originImg = getItem(colorId+"img");
	if (originImg && (colorId != "ext" + myCar.extColor.colorId) &&  (colorId != "int" + myCar.intColor.colorId)) {
		originImg.src = originImg.src.replace(/Chip-over/i, "Chip");
	}
	myTimer[colorId] = window.setTimeout(timerCode, 50);
}

function selectExtColor(extColor) {
	try { //Turn off old color
		var curExtImg = getItem("ext"+myCar.extColor.colorId+"img");
		if (curExtImg) {
			curExtImg.src = curExtImg.src.replace(/Chip-over/i, "Chip");
		}
	} catch(e) {}

	try { //Turn on new color
		var extImg = getItem(extColor+"img");
		if (extImg) {
			extImg.src = extImg.src.replace(/Chip\./i, "Chip-over.");
		}
		myCar.extColor = extColorList[extColor + "key"];

		getItem("extColorName").innerHTML = myCar.extColor.name;
	} catch(e) {}

	//Clear Int color
	myCar.intColor = "";

	//Assign to offer form
	getItem(inputExtColorName).value = myCar.extColor.name;

	updatePricing();
	getIntColors();
}

//AJAX CALL for Interior colors
function getIntColors() {
	//Clear any int colors
	var intContainer = getItem('step3DataInt');
	intContainer.innerHTML = "";
	var extColArg = "colorId=" + myCar.extColor.colorId + "&lang=" + langCode;
	if (myCar.intColor == "") {
		makeRequest('/MMNA/intColors.do', extColArg, 'eval(http_request[i].responseText);displayIntColors();selectIntColor("int"+defaultintColor);');
	}
}

function displayIntColors() {
	var intContainer = getItem('step3DataInt');
	//Draw each color in the list
	intContainer.innerHTML = "";
	for (prop in intColorList) {
		intItem = intColorList[prop];
		intPrefix = prop.substring(0,prop.indexOf("key"));

		intContainerString  = "<div id=\""+intPrefix+"div\"  class=\"bprColorThumb\">";
		intContainerString  += "<a href=\"javascript:selectIntColor('"+intPrefix+"')\" onMouseOver=\"showTip('"+intPrefix+"','int');clearTimeout(myTimer['"+intPrefix+"']);\" onMouseOut=\"killTip('"+intPrefix+"')\" style='cursor:default'>"+intItem.thumbImg+"</a></div>";
		intContainer.innerHTML += intContainerString;
	}
	getItem('step3').style.visibility = "visible";
	//Only preload Packages Once
	if (myCar.packages == "") { getPackages(); }
}

function selectIntColor(intColor) {
	try { //Turn off old color
		var curIntImg = getItem("int"+myCar.intColor.colorId+"img");
		if (curIntImg) {
			curIntImg.src = curIntImg.src.replace(/Chip-over/i, "Chip");
		}
	} catch(e) {}

	try { //Turn on new color
		var intImg = getItem(intColor+"img");
		if (intImg) {
			intImg.src = intImg.src.replace(/Chip\./i, "Chip-over.");
		}
		myCar.intColor = intColorList[intColor + "key"];
		getItem("intColorName").innerHTML = myCar.intColor.name;
	} catch(e) {	}

	//Assign to offer form
	getItem(inputIntColorName).value = myCar.intColor.name;

}

//AJAX CALL for Packages
function getPackages() {
	var packageArg = "trimId="+myCar.trimId + "&lang=" + langCode;
	//Check to ensure the array is empty before filling
	if (myCar.packages == "") {
		makeRequest('/MMNA/packages.do', packageArg, 'eval(http_request[i].responseText);');
	} else {
		//Redisplay last packages and accessories
		getItem('step4').style.visibility = "visible";
		initScrollbar('step4Data', 'step4Container', 'step4ScrollPath', 'step4Scroller');
	}
	/* November 15th, 2010 accessories will not display
	if (!displayPartnerPricing) {
		//Partners don't see accessory listing in B&P
		getAccessories();
	}  */
}

function displayPackages() {
	//Put Packages on the page
	var pacAccDiv = getItem('step4Data');
	var count = 0;
	for (i in myCar.packages) {
		count++
	}
	if (count != 0 && !getItem('step4Pac')) {

		var pacContainer = document.createElement('div');
		pacContainer.style.marginBottom = "10px";
		pacContainer.id = "step4Pac";
		pacAccDiv.appendChild(pacContainer);
		pacAccDiv.style.visibility = "visible";
		var bpClassToggle = 0;
		if (pacContainer.innerHTML == "") {
			pacContainer.innerHTML = "<div class=\"bprHeader\" style=\"top: -2px\"><div style='float:right; color: #FFFFFF; padding-right: 6px'>"+((displayPartnerPricing)?dealerInvoiceHeader:msrpHeader)+"</div>"+pacHeaderText+"</div><div class=\"bprComment\" id=\"pacComment\" ></div>";
			for (prop in myCar.packages) {

				pacItem = myCar.packages[prop];
				pacPrefix = prop.substring(0,prop.indexOf("key"));

				pacContainerString  = "<div class=\"" + bpClassArray[bpClassToggle] + "\" id=\""+pacPrefix+"div\" >";
				pacContainerString += "  <div class=\"bprItemInterior\" onClick=\"togglePackageSelected('"+pacPrefix+"');\" id=\""+pacPrefix+"int\" >";
				pacContainerString += "    <div class=\"bprItemInput\"" + ((isSafari)?" style=\"margin-top: 1px\"":"") + "><input type=\"checkbox\" id=\""+pacPrefix+"box\"  class=\"dataPaneInput\"/></div>";
				pacContainerString += "    <div onClick=\"displayPackageInfo('"+pacPrefix+"')\" class=\"bprMoreInfo\">| ? |</div><div class=\"bprItemPrice\">" +((displayPartnerPricing)?pacItem.partnerPrice:pacItem.price)+"</div><div class=\"bprItemDollar\">$</div>";
				pacContainerString += "    <div class=\"bprItemName\">"+pacItem.shortDesc+"</div></div>";
				pacContainerString += "</div>";
				bpClassToggle = (bpClassToggle + 1) % 2;
				pacContainer.innerHTML += pacContainerString;

			}
			initScrollbar('step4Data', 'step4Container', 'step4ScrollPath', 'step4Scroller');
		}
		getItem('step4').style.visibility = "visible";
	}
}

//AJAX CALL for Accessories
function getAccessories() {
	var accessoryArg = "trimId="+myCar.trimId + "&lang=" + langCode;
	//Check to ensure the array is empty before filling
	if (myCar.accessories == "") {
		makeRequest('/MMNA/accessories.do', accessoryArg, 'eval(http_request[i].responseText);');
	}

}

//Put Accessories on the page
function displayAccessories() {
	//Check for Partner Login and accessories list exists
	var count = 0;
	for (i in myCar.accessories) {
		count++
	}
	if (!displayPartnerPricing &&  count != 0 && !getItem('step4Acc') ) {
		var pacAccDiv = getItem('step4Data');
		var accContainer = document.createElement('div');
		accContainer.id = "step4Acc";
		pacAccDiv.appendChild(accContainer);
		var bpClassToggle = 0;

		if (accContainer.innerHTML == "") {
			accContainer.innerHTML = "<div class=\"bprHeader\"><div style='float:right; color: #FFFFFF; padding-right: 6px'>"+msrpHeader+"</div>"+accHeaderText+"</div><div class=\"bprComment\" id=\"accComment\" ></div>";
			for (prop in myCar.accessories) {

				accItem = myCar.accessories[prop];
				accPrefix = prop.substring(0,prop.indexOf("key"));

				accContainerString  = "<div class=\"" + bpClassArray[bpClassToggle] + "\" id=\""+accPrefix+"div\">";
				accContainerString += "  <div class=\"bprItemInterior\" onClick=\"toggleAccessorySelected('"+accPrefix+"');\" id=\""+accPrefix+"int\" " + ((isSafari)?" style=\"padding: 2px 0\"":"") + ">";
				accContainerString += "    <div class=\"bprItemInput\"" + ((isSafari)?" style=\"margin-top: 1px\"":"") + "><input type=\"checkbox\" id=\""+accPrefix+"box\" class=\"dataPaneInput\"/></div>";
				accContainerString += "    <div onClick=\"displayAccessoryInfo('"+accPrefix+"')\" class=\"bprMoreInfo\">|&nbsp;?&nbsp;|</div><div class=\"bprItemPrice\">"+accItem.price+"</div><div class=\"bprItemDollar\">$</div>";
				accContainerString += "    <div class=\"bprItemName\">"+accItem.name+"</div></div>";
				accContainerString += "</div>";

				bpClassToggle = (bpClassToggle + 1) % 2;
				accContainer.innerHTML += accContainerString;
			}
		}

		accContainer.innerHTML += '<div style="padding: 5px">'+accDisclaimer+'</div>';


	}
	getItem('step4').style.visibility = "visible";
	initScrollbar('step4Data', 'step4Container', 'step4ScrollPath', 'step4Scroller');
}

//Set Accessory selected state and display
function toggleAccessorySelected(accId) {
	//Check if info button was pressed
	if (showingInfo) {
		showingInfo = false;
		return;
	}
	//Make sure accessory is enabled
	if (myCar.accessories[accId+"key"].enabled) {
		var accDiv = getItem(accId+"int");
		var accBox = getItem(accId+"box");
		var accClassName = accDiv.className;

		//Determine selected state
		if (myCar.accessories[accId+"key"].selected) {
			//Already selected - deselect
			myCar.accessories[accId+"key"].selected = false;
			accBox.checked = false;
			accDiv.className = "bprItemInterior";
		} else {
			//Not selected - select
			myCar.accessories[accId+"key"].selected = true;
			accBox.checked = true;
			accDiv.className = "bprItemInteriorSelected";
		}
	}
	
	updatePricing();
}

//Set Accessory enabled state and display
function toggleAccessoryEnabled(accId) {
	var accDiv = getItem(accId+"int");
	var accBox = getItem(accId+"box");
	var accClassName = accDiv.className;

	//Determine enabled state of accessory
	if (myCar.accessories[accId+"key"].enabled) {
		myCar.accessories[accId+"key"].enabled = false;
		accBox.enabled = false;

		//When an accessory is disabled it is also deselected
		if (myCar.accessories[accId+"key"].selected) {
			myCar.accessories[accId+"key"].selected = false;
			accBox.checked = false;
			accDiv.className = "bprItemInterior";
		} else {
			accDiv.className = "bprItemInteriorSelectedDisabled";
		}
	} else {
		myCar.accessories[accId+"key"].enabled = true;
		accBox.enabled = true;
	}
}

//Set Package selected state and display
function togglePackageSelected(pacId) {
	//Check if info button was pressed
	if (showingInfo) {
		showingInfo = false;
		return;
	}
	//Make sure package is enabled
	if (myCar.packages[pacId+"key"].enabled) {
		var pacDiv = getItem(pacId+"int");
		var pacBox = getItem(pacId+"box");
		var pacClassName = pacDiv.className;

		//Determine selected state
		if (myCar.packages[pacId+"key"].selected) {
			//Already selected - deselect
			myCar.packages[pacId+"key"].selected = false;
			pacBox.checked = false;
			pacDiv.className = "bprItemInterior";
			killLayer("pacComment",pacId+"comment");
			//Deselect any packages requiring this one
			for (accPackage in myCar.packages) {
				// Don't modify current package
				var curPackage = myCar.packages[accPackage];
				if ("pac" + curPackage.packageId != pacId) {
					//Check if selected
					if (curPackage.selected) {
						for (var reqGroup = 0; reqGroup < curPackage.packageRequirements.length; reqGroup++) {
							for (var reqs = 0; reqs < curPackage.packageRequirements[reqGroup].length; reqs++) {
								if ("pac" + myCar.packages["pac" + curPackage.packageRequirements[reqGroup][reqs] + "key"].packageId == pacId) {
									//Found a selected package that requires the one we're turning off so turn it off too
									if(!areRequirementsMet("pac" + myCar.packages["pac" + curPackage.packageId + "key"].packageId)) {
										if (myCar.packages["pac" + curPackage.packageId + "key"].packageRequirements.length < 2) {
												togglePackageSelected("pac" + myCar.packages["pac" + curPackage.packageId + "key"].packageId);
										}
									}
								}
							}
						}
					}
				}
			}
		} else {
			//Not selected - select
			curPackage = myCar.packages[pacId+"key"];
			curPackage.selected = true;
			pacBox.checked = true;
			pacDiv.className = "bprItemInteriorSelected";
			//Select any packages required by this one
			if (curPackage.packageRequirements.length > 1) {
				//There is a requirements OR value
				areRequirementsMet(pacId);
			} else {
				//Only one requirements set
				for (var reqs = 0; reqs < curPackage.packageRequirements[0].length; reqs++) {
					if (!myCar.packages["pac" + curPackage.packageRequirements[0][reqs] + "key"].selected) {
						togglePackageSelected("pac"+ curPackage.packageRequirements[0][reqs]);
					}
				}
			}
			//Deselect any packages excluded by this one
			for (var exc = 0; exc < curPackage.packageExclusions.length; exc++) {
				try {
					if (myCar.packages["pac" + curPackage.packageExclusions[exc] + "key"].selected) {
						togglePackageSelected("pac"+curPackage.packageExclusions[exc]);
					}
				} catch(e) {}
			}
		}
	}
	clearComments('pacComment');
	updatePricing();
}

function displayFinished() {
	$('#bprFinishedColumn').show();
	//getItem('bprFinishedColumn').style.display = "block";
	getItem('bprFinishedColumn').style.visibility = "visible";
	//Display Warranty Info
	getItem('warrantyCol1').innerHTML = vehWar1;
	getItem('warrantyCol2').innerHTML = vehWar2;
	getItem('warrantyCol3').innerHTML = vehWar3;
	getItem('warrantyCol4').innerHTML = vehWar4;

	//Write package summary
	finPacDiv = getItem('bprFinishedPac');
	pacList = "";
	for (pack in myCar.packages) {
		if (myCar.packages[pack].selected) {
			pacList +=  myCar.packages[pack].shortDesc + ", ";
		}
	}
	pacList = pacList.replace(/\s*,\s*$/,"");
	if (pacList != "") {
		finPacDiv.innerHTML = pacList;
	} else {
		finPacDiv.innerHTML = bprNoneSelected;
	}

	//Write Accessory summary
	finAccDiv = getItem('bprFinishedAcc');
	accList = "";
	strCurrSelAccessories = ""; //for omniture
	for (accessory in myCar.accessories) {
		if (myCar.accessories[accessory].selected) {
			accList +=  myCar.accessories[accessory].name + ", ";
		}
	}
	accList = accList.replace(/\s*,\s*$/,"");
	if (accList != "") {
		finAccDiv.innerHTML = accList;
		strCurrSelAccessories = accList;
	} else {
		finAccDiv.innerHTML = bprNoneSelected;
	}

	//Display vehicle Image
	getItem('vehicleImgFinal').innerHTML = getItem('vehicleImg').innerHTML;

	getItem('bprVehicleNameFinal').innerHTML = myCar.modelName + " " + myCar.trimName;
	initScrollbar('bprSPData', 'bprSPDataContainer', 'bprSPScrollPath', 'bprSPScroller');
}

function printDisplayAcc(accList){
	if (!accList) accList = bprNoneSelected+".";
	return accList;	
}

function printDisplayPac(pacList){
	if (!pacList) pacList = bprNoneSelected+".";
	return pacList;	
}

function clearComments(commentContainer) {
	commentParent = getItem(commentContainer);
	for (var i = commentParent.childNodes.length; i>0; i--) {
		comId = commentParent.childNodes[i-1].id;
		comId = comId.substring(0, comId.indexOf("comment"));
		areRequirementsMet(comId);
	}
}

//Check if requirements are met
function areRequirementsMet(pacId) {
	curPackage = myCar.packages[pacId + "key"];
	for (reqGroupCheck = 0; reqGroupCheck < curPackage.packageRequirements.length; reqGroupCheck++) {
		reqsMet = true;
		for (reqsCheck = 0; reqsCheck < curPackage.packageRequirements[reqGroupCheck].length; reqsCheck++) {
			if (!myCar.packages["pac" + curPackage.packageRequirements[reqGroupCheck][reqsCheck] + "key"].selected) {
				reqsMet = false;
			}
		}
		if (reqsMet) {
			//At least one set of requirements is met - remove or message
			killLayer("pacComment",pacId+"comment");
			return true;
		} else {
			//Display message if there is an OR option in package requirements
			makeLayer("pacComment",pacId+"comment", "bprComment");
			packageComment = getItem(pacId + "comment");
			// FIXME - Get real comment
			packageComment.innerHTML = bprRequires;
		}
	}

	//Requirements not met
	return false;
}

//Set Package enabled state and display
function togglePackageEnabled(pacId) {

}

function resetTrimItems() {
	myCar.extColor = new Array();
	myCar.intColor = new Array();
	myCar.packages = new Array();
	myCar.accessories = "";
	for (offer in myCar.specialOffers) {
		if (myCar.specialOffers[offer].selected) {
			killLayer('bprLineItems',myCar.specialOffers[offer].id+'LineItem');
		}
	}
	myCar.specialOffers = new Array();
	if (getItem('step4Acc')) {
		killLayer('step4Data', 'step4Acc');
	}
	if (getItem('step4Pac')) {
		killLayer('step4Data', 'step4Pac');
	}
}

//EJ 11/11/10 - Added as convenience method for omniture
function getCurrentCarNameAndYear() {

	var tempModelName = myCar.modelName;									
	tempModelName = tempModelName.replace(/[^a-zA-Z 0-9]+/g,'');							
	tempModelName = tempModelName.toLowerCase();
	
	return tempModelName;
}

//EJ - 11/11/10 - Fires/sets the Omniture on selecting a model.
function fireOmnitureAllModels() {
	
	if (omnitureDebug){alert("In fireOmnitureAllModels")};

	// START - all models page tagging.
	var allModelsPageName = "mc:vehicle:shop:build-price:all-models";
	allModelsPageName = allModelsPageName.replace(/ /g,'');	
	
	var omString = ""; //Omniture string
	var omPostVars = new Array();
	      				
	omPostVars.push("{name: 'channel', value: 'vehicle'}");
	omPostVars.push("{name: 'server', value: 'Mitsubishi Cars'}");
	omPostVars.push("{name: 'pageName', value: '" + allModelsPageName + "'}");
	omPostVars.push("{name: 'eVar1', value: ''}");
	omPostVars.push("{name: 'eVar2', value: ''}");
	omPostVars.push("{name: 'eVar3', value: ''}");
	omPostVars.push("{name: 'eVar12', value: 'mc:vehicle:shop:build-price:all-models'}");
	omPostVars.push("{name: 'prop1', value: ''}");					
	omPostVars.push("{name: 'prop2', value: ''}");
	omPostVars.push("{name: 'prop3', value: ''}");
	omPostVars.push("{name: 'prop19', value: 'mc:vehicle:shop:build-price:all-models'}");
	omPostVars.push("{name: 'prop20', value: 'shop'}");
	omPostVars.push("{name: 'prop21', value: 'build-price'}");
	omPostVars.push("{name: 'events', value: ''}");

	omString = "var variables = [" + omPostVars.toString() + "]";
	bubbleSequentialEvent(omString);
	
} // end fireOmnitureAllModels

// MVT - 10/04/10 - Fires/sets the Omniture Trims.
function fireOmnitureTrims()
{
	if (omnitureDebug){alert("In fireOmnitureTrims")};

	// START - trims tagging.
	var tempModelName = getCurrentCarNameAndYear();									
	var currentCarYear = tempModelName.slice(0, 4); 	
	var currentCarName = tempModelName.slice(5); 			
	var trimPageName = "mc:vehicle:"+currentCarName+currentCarYear+":shop:build-price:select-trim";
	trimPageName = trimPageName.replace(/ /g,'');	
	
	var omString = ""; //Omniture string
	var omPostVars = new Array();
	      				
	omPostVars.push("{name: 'channel', value: 'vehicle'}");
	omPostVars.push("{name: 'server', value: 'Mitsubishi Cars'}");
	omPostVars.push("{name: 'pageName', value: '" + trimPageName + "'}");
	omPostVars.push("{name: 'eVar1', value: '" + currentCarYear + "'}");
	omPostVars.push("{name: 'eVar2', value: '" + currentCarName + "'}");
	omPostVars.push("{name: 'eVar3', value: ''}");
	omPostVars.push("{name: 'eVar7', value: ''}");
	omPostVars.push("{name: 'eVar10', value: ''}");
	omPostVars.push("{name: 'eVar11', value: ''}");
	omPostVars.push("{name: 'eVar12', value: 'mc:vehicle:shop:build-price:select-trim'}");
	omPostVars.push("{name: 'prop1', value: '" + currentCarYear + "'}");					
	omPostVars.push("{name: 'prop2', value: '" + currentCarName + "'}");
	omPostVars.push("{name: 'prop3', value: ''}");
	omPostVars.push("{name: 'prop7', value: ''}");
	omPostVars.push("{name: 'prop10', value: ''}");
	omPostVars.push("{name: 'prop11', value: ''}");
	omPostVars.push("{name: 'prop19', value: 'mc:vehicle:shop:build-price:select-trim'}");
	omPostVars.push("{name: 'prop20', value: 'shop'}");
	omPostVars.push("{name: 'prop21', value: 'build-price'}");
	omPostVars.push("{name: 'events', value: 'event10'}");

	omString = "var variables = [" + omPostVars.toString() + "]";
	
	//alert (omString);

	bubbleSequentialEvent(omString);	
} // end fireOmnitureTrims()

// MVT - 10/04/10 - Fires/sets the Omniture Colors.
function fireOmnitureColors()
{
	if (omnitureDebug){alert("In fireOmnitureColors")};
	
	// START - colors tagging.
	var tempModelName = getCurrentCarNameAndYear();									
	var currentCarYear = tempModelName.slice(0, 4); 	
	var currentCarName = tempModelName.slice(5); 			
	var colorsPageName = "mc:vehicle:"+currentCarName+currentCarYear+":shop:build-price:select-colors";			
	colorsPageName = colorsPageName.replace(/ /g,'');						

	var currentTrimName = myCar.trimName;
	currentTrimName = currentTrimName.toLowerCase();
	currentTrimName = currentTrimName.replace(/<sup>&reg;<\/sup>/g, "");
	
	var trimEngine = myCar.trimEngine.toLowerCase();
	var trimTransmission = myCar.trimTransmission.toLowerCase();
	var trimDriveType = myCar.trimDriveType.toLowerCase();
	
	var omString = ""; //Omniture string
	var omPostVars = new Array();
	      				
	//EJ 11/10/10 - In the Colors tagging we capture the trims details from the previous frame
	omPostVars.push("{name: 'channel', value: 'vehicle'}");
	omPostVars.push("{name: 'server', value: 'Mitsubishi Cars'}");
	omPostVars.push("{name: 'pageName', value: '"+colorsPageName+"'}");
	omPostVars.push("{name: 'eVar1', value: '"+currentCarYear+"'}");
	omPostVars.push("{name: 'eVar2', value: '"+currentCarName+"'}");
	omPostVars.push("{name: 'eVar3', value: '"+currentTrimName+"'}");
	omPostVars.push("{name: 'eVar4', value: ''}");
	omPostVars.push("{name: 'eVar5', value: ''}");
	omPostVars.push("{name: 'eVar7', value: '"+trimEngine+"'}");
	omPostVars.push("{name: 'eVar10', value: '"+trimTransmission+"'}");
	omPostVars.push("{name: 'eVar11', value: '"+trimDriveType+"'}");
	omPostVars.push("{name: 'eVar12', value: 'mc:vehicle:shop:build-price:select-colors'}");
	omPostVars.push("{name: 'prop1', value: '"+currentCarYear+"'}");					
	omPostVars.push("{name: 'prop2', value: '"+currentCarName+"'}");
	omPostVars.push("{name: 'prop3', value: '"+currentTrimName+"'}");
	omPostVars.push("{name: 'prop4', value: ''}");
	omPostVars.push("{name: 'prop5', value: ''}");
	omPostVars.push("{name: 'prop7', value: '"+trimEngine+"'}");
	omPostVars.push("{name: 'prop10', value: '"+trimTransmission+"'}");
	omPostVars.push("{name: 'prop11', value: '"+trimDriveType+"'}");
	omPostVars.push("{name: 'prop19', value: 'mc:vehicle:shop:build-price:select-colors'}");
	omPostVars.push("{name: 'prop20', value: 'shop'}");
	omPostVars.push("{name: 'prop21', value: 'build-price'}");

	omString = "var variables = [" + omPostVars.toString() + "]";
	
	//alert (omString);

	bubbleSequentialEvent(omString);							
} // end fireOmnitureColors()

// MVT - 10/04/10 - Fires/sets the Omniture Packages and Accessories.
function fireOmniturePackAcc()
{
	if (omnitureDebug){alert("In fireOmniturePackAcc")};

	// START - fire options and accessories tagging.
	var tempModelName = getCurrentCarNameAndYear();									
	var currentCarYear = tempModelName.slice(0, 4); 									
	var currentCarName = tempModelName.slice(5); 							
	var optionsPageName = "mc:vehicle:"+currentCarName+currentCarYear+":shop:build-price:select-options";
	optionsPageName = optionsPageName.replace(/ /g,'');
	
	var currentExtColor = myCar.extColor.name;

	var omString = ""; //Omniture string
	var omPostVars = new Array();
	      				
	//EJ 11/10/10 - In the options and accessories tagging we capture the colors details from the previous frame
	omPostVars.push("{name: 'channel', value: 'vehicle'}");
	omPostVars.push("{name: 'server', value: 'Mitsubishi Cars'}");
	omPostVars.push("{name: 'pageName', value: '"+optionsPageName+"'}");
	omPostVars.push("{name: 'eVar1', value: '"+currentCarYear+"'}");
	omPostVars.push("{name: 'eVar2', value: '"+currentCarName+"'}");
	omPostVars.push("{name: 'eVar3', value: ''}"); 
	omPostVars.push("{name: 'eVar4', value: '"+currentExtColor+"'}");
	omPostVars.push("{name: 'eVar5', value: '"+myCar.intColor.name+"'}");
	omPostVars.push("{name: 'eVar6', value: ''}");
	omPostVars.push("{name: 'eVar7', value: ''}");
	omPostVars.push("{name: 'eVar8', value: ''}");	
	omPostVars.push("{name: 'eVar9', value: ''}");
	omPostVars.push("{name: 'eVar10', value: ''}");
	omPostVars.push("{name: 'eVar11', value: ''}");
	omPostVars.push("{name: 'eVar12', value: 'mc:vehicle:shop:build-price:select-options'}");
	omPostVars.push("{name: 'prop1', value: '"+currentCarYear+"'}");					
	omPostVars.push("{name: 'prop2', value: '"+currentCarName+"'}");
	omPostVars.push("{name: 'prop3', value: ''}"); 
	omPostVars.push("{name: 'prop4', value: '"+currentExtColor+"'}");
	omPostVars.push("{name: 'prop5', value: '"+myCar.intColor.name+"'}");
	omPostVars.push("{name: 'prop6', value: ''}");
	omPostVars.push("{name: 'prop7', value: ''}");
	omPostVars.push("{name: 'prop8', value: ''}");	
	omPostVars.push("{name: 'prop9', value: ''}");
	omPostVars.push("{name: 'prop10', value: ''}");
	omPostVars.push("{name: 'prop11', value: ''}");
	omPostVars.push("{name: 'prop19', value: 'mc:vehicle:shop:build-price:select-options'}");
	omPostVars.push("{name: 'prop20', value: 'shop'}");
	omPostVars.push("{name: 'prop21', value: 'build-price'}");
	omPostVars.push("{name: 'events', value: 'event11,event16'}");

	omString = "var variables = [" + omPostVars.toString() + "]";
	
	//alert (omString);

	bubbleSequentialEvent(omString);						
	// END - Options Tagging.			

	
} // end fireOmniturePackAcc()

function fireOmnitureDisplayDealers() {
	var omString = ""; //Omniture string
	var omPostVars = new Array();
	var tempModelName = getCurrentCarNameAndYear();									
	var currentCarYear = tempModelName.slice(0, 4); 									
	var currentCarName = tempModelName.slice(5);
	var dealersPageName = "mc:vehicle:"+currentCarName+currentCarYear+":shop:build-price:request-quote:select-dealer";
	      				
	omPostVars.push("{name: 'channel', value: 'vehicle'}");
	omPostVars.push("{name: 'server', value: 'Mitsubishi Cars'}");
	omPostVars.push("{name: 'pageName', value: '"+dealersPageName+"'}");
	omPostVars.push("{name: 'eVar1', value: '"+currentCarYear+"'}");
	omPostVars.push("{name: 'eVar2', value: '"+currentCarName+"'}");
	omPostVars.push("{name: 'eVar3', value: ''}"); 
	omPostVars.push("{name: 'eVar4', value: ''}");
	omPostVars.push("{name: 'eVar5', value: ''}");
	omPostVars.push("{name: 'eVar6', value: ''}");
	omPostVars.push("{name: 'eVar7', value: ''}");
	omPostVars.push("{name: 'eVar8', value: ''}");	
	omPostVars.push("{name: 'eVar9', value: ''}");
	omPostVars.push("{name: 'eVar10', value: ''}");
	omPostVars.push("{name: 'eVar11', value: ''}");
	omPostVars.push("{name: 'eVar12', value: 'mc:vehicle:shop:build-price:request-quote:select-dealer'}");
	omPostVars.push("{name: 'eVar28', value: 'dealerId'}");
	omPostVars.push("{name: 'prop1', value: '"+currentCarYear+"'}");					
	omPostVars.push("{name: 'prop2', value: '"+currentCarName+"'}");
	omPostVars.push("{name: 'prop3', value: ''}"); 
	omPostVars.push("{name: 'prop4', value: ''}");
	omPostVars.push("{name: 'prop5', value: ''}");
	omPostVars.push("{name: 'prop6', value: ''}");
	omPostVars.push("{name: 'prop7', value: ''}");
	omPostVars.push("{name: 'prop8', value: ''}");	
	omPostVars.push("{name: 'prop9', value: ''}");
	omPostVars.push("{name: 'prop10', value: ''}");
	omPostVars.push("{name: 'prop11', value: ''}");
	omPostVars.push("{name: 'prop12', value: 'dealerId'}");
	omPostVars.push("{name: 'prop19', value: 'mc:vehicle:shop:build-price:request-quote:select-dealer'}");
	omPostVars.push("{name: 'prop20', value: 'shop'}");
	omPostVars.push("{name: 'prop21', value: 'build-price'}");
	omPostVars.push("{name: 'events', value: 'event16'}");

	omString = "var variables = [" + omPostVars.toString() + "]";
	
	//alert (omString);

	bubbleSequentialEvent(omString);	
}

//EJ - 11/10/10 - Fires/sets the Omniture for the summary page.
function fireOmnitureComplete()
{
	if (omnitureDebug){alert("In fireOmnitureComplete")};

	// START - B&P Complete tagging.
	var tempModelName = getCurrentCarNameAndYear();									
	var currentCarYear = tempModelName.slice(0, 4); 									
	var currentCarName = tempModelName.slice(5); 							
	var finalPageName = "mc:vehicle:"+currentCarName+currentCarYear+":shop:build-price:complete";
	finalPageName = finalPageName.replace(/ /g,'');										
	
	
	// Get Accessory summary.
	var currentAccList = "";
	for (accessory in myCar.accessories) {
		if (myCar.accessories[accessory].selected) {
			currentAccList +=  myCar.accessories[accessory].name + ", ";
		}
	}
	currentAccList = currentAccList.replace(/\s*,\s*$/,"");
	currentAccList = currentAccList.toLowerCase();
	//currentAccList = currentAccList.replace(/<sup>&reg;<\/sup>/g, "");
	currentAccList = currentAccList.replace(/'/g, "");
	if (omnitureDebug){(currentAccList)};
	
	// Get package summary
	currentPacList = "";
	for (pack in myCar.packages) {
	    if (myCar.packages[pack].selected) {
	    	currentPacList +=  myCar.packages[pack].packageName + ", ";
	    }
	}
	currentPacList = currentPacList.replace(/\s*,\s*$/,"");
	currentPacList = currentPacList.toLowerCase();	
	if (omnitureDebug){alert(currentPacList)};
	
	var omString = ""; //Omniture string
	var omPostVars = new Array();
	      				
	//EJ 11/10/10 - In the Complete tagging we capture the options and accessories details from the previous frame
	omPostVars.push("{name: 'channel', value: 'vehicle'}");
	omPostVars.push("{name: 'server', value: 'Mitsubishi Cars'}");
	omPostVars.push("{name: 'pageName', value: '"+finalPageName+"'}");
	omPostVars.push("{name: 'eVar1', value: '"+currentCarYear+"'}");
	omPostVars.push("{name: 'eVar2', value: '"+currentCarName+"'}");
	omPostVars.push("{name: 'eVar3', value: ''}"); 
	omPostVars.push("{name: 'eVar4', value: ''}");
	omPostVars.push("{name: 'eVar5', value: ''}");
	omPostVars.push("{name: 'eVar6', value: '"+currentPacList+"'}");
	omPostVars.push("{name: 'eVar8', value: '"+moneyFormat(myCar.totalPrice)+"'}");
	omPostVars.push("{name: 'eVar9', value: '"+currentAccList+"'}");
	omPostVars.push("{name: 'eVar12', value: 'mc:vehicle:shop:build-price:complete'}");
	omPostVars.push("{name: 'prop1', value: '"+currentCarYear+"'}");					
	omPostVars.push("{name: 'prop2', value: '"+currentCarName+"'}");
	omPostVars.push("{name: 'prop3', value: ''}"); 
	omPostVars.push("{name: 'prop4', value: ''}");
	omPostVars.push("{name: 'prop5', value: ''}");
	omPostVars.push("{name: 'prop6', value: '"+currentPacList+"'}");
	omPostVars.push("{name: 'prop8', value: '"+moneyFormat(myCar.totalPrice)+"'}");
	omPostVars.push("{name: 'prop9', value: '"+currentAccList+"'}");
	omPostVars.push("{name: 'prop19', value: 'mc:vehicle:shop:build-price:complete'}");
	omPostVars.push("{name: 'prop20', value: 'shop'}");
	omPostVars.push("{name: 'prop21', value: 'build-price'}");
	omPostVars.push("{name: 'events', value: 'event11,event16'}");

	omString = "var variables = [" + omPostVars.toString() + "]";
	
	bubbleSequentialEvent(omString);						

} // end fireOmnitureComplete()

//EJ - 11/15/10 - Fires/sets the Omniture for the select Special Offers popup.
function fireOmnitureSpecialOffersSelect() {

	if (omnitureDebug){alert("In fireOmnitureSpecialOffersSelect")};
	getSpecialOffersOmnitureVars("Select");

} // end fireOmnitureSpecialOffersSelect()


//EJ - 11/15/10 - Fires/sets the Omniture for the Special Offers submit button.
function fireOmnitureSpecialOffersSubmit() {
	
	if (omnitureDebug){alert("In fireOmnitureSpecialOffersSubmit")};
	getSpecialOffersOmnitureVars("Submit");

} // end fireOmnitureSpecialOffersSubmit()


//EJ - 11/15/10 - Retrieve the common omniture values for the Special Offers
function getSpecialOffersOmnitureVars(action) {

	if (omnitureDebug){alert("In getSpecialOffersOmnitureVars")};

	// START - B&P Special Offers tagging.
	var tempModelName = getCurrentCarNameAndYear();
	var currentCarYear = tempModelName.slice(0, 4); 									
	var currentCarName = tempModelName.slice(5); 							
	var offersPageName = "mc:vehicle:" + currentCarName + currentCarYear + ":shop:build-price:" + currentStep + ":offers";
	var offersPageNoVehicle = "mc:vehicle:shop:build-price:" + currentStep + ":offers";
	
	if(action == "Submit") {
		offersPageName = offersPageName + ":submit";
		offersPageNoVehicle = offersPageNoVehicle + ":submit";
	}
	offersPageName = offersPageName.replace(/ /g,'');										

	var omString = ""; //Omniture string
	var omPostVars = new Array();
	      				
	omPostVars.push("{name: 'channel', value: 'vehicle'}");
	omPostVars.push("{name: 'server', value: 'Mitsubishi Cars'}");
	omPostVars.push("{name: 'pageName', value: '" + offersPageName + "'}");
	omPostVars.push("{name: 'eVar1', value: '" + currentCarYear + "'}");
	omPostVars.push("{name: 'eVar2', value: '" + currentCarName + "'}");
	omPostVars.push("{name: 'eVar3', value: ''}"); 
	omPostVars.push("{name: 'eVar4', value: ''}");
	omPostVars.push("{name: 'eVar5', value: ''}");
	omPostVars.push("{name: 'eVar6', value: ''}");
	omPostVars.push("{name: 'eVar7', value: ''}");
	omPostVars.push("{name: 'eVar8', value: ''}");
	omPostVars.push("{name: 'eVar9', value: ''}");
	omPostVars.push("{name: 'eVar10', value: ''}");
	omPostVars.push("{name: 'eVar11', value: ''}");
	omPostVars.push("{name: 'eVar12', value: '" + offersPageNoVehicle + "'}");
	omPostVars.push("{name: 'prop1', value: '" + currentCarYear + "'}");					
	omPostVars.push("{name: 'prop2', value: '" + currentCarName + "'}");
	omPostVars.push("{name: 'prop3', value: ''}"); 
	omPostVars.push("{name: 'prop4', value: ''}");
	omPostVars.push("{name: 'prop5', value: ''}");
	omPostVars.push("{name: 'prop6', value: ''}");
	omPostVars.push("{name: 'prop7', value: ''}");
	omPostVars.push("{name: 'prop8', value: ''}");
	omPostVars.push("{name: 'prop9', value: ''}");
	omPostVars.push("{name: 'prop10', value: ''}");
	omPostVars.push("{name: 'prop11', value: ''}");
	omPostVars.push("{name: 'prop19', value: '" + offersPageNoVehicle + "'}");
	omPostVars.push("{name: 'prop20', value: 'shop'}");
	omPostVars.push("{name: 'prop21', value: 'build-price'}");
	omPostVars.push("{name: 'events', value: 'event5,event16'}");

	omString = "var variables = [" + omPostVars.toString() + "]";

	bubbleSequentialEvent(omString);						
} // end getSpecialOffersOmnitureVars()

//EJ - 11/10/10 - Fires/sets the Omniture for the select payment calculator popup.
function fireOmnitureCalculatorSelect() {
	
	if (omnitureDebug){alert("In fireOmnitureCalculatorSelect")};
	var omString = ""; //Omniture string
	var omPostVars = getCalculatorOmnitureVars("Select");
	omPostVars.push("{name: 'events', value: ''}");
	
	omString = "var variables = [" + omPostVars.toString() + "]";

	bubbleSequentialEvent(omString);						

} // end fireOmnitureCalculatorSelect()


//EJ - 11/10/10 - Fires/sets the Omniture for the payment calculator update.
function fireOmnitureCalculatorUpdate() {
	
	if (omnitureDebug){alert("In fireOmnitureCalculatorUpdate")};
	var omString = ""; //Omniture string
	var omPostVars = getCalculatorOmnitureVars("Update");
	omPostVars.push("{name: 'events', value: 'event14,event16'}");
	
	omString = "var variables = [" + omPostVars.toString() + "]";

	bubbleSequentialEvent(omString);						

} // end fireOmnitureCalculatorUpdate()

function fireOmnitureCompareTrims () {
	var tempModelName = getCurrentCarNameAndYear();
	var currentCarYear = tempModelName.slice(0, 4); 									
	var currentCarName = tempModelName.slice(5); 
	var omPostVars = new Array();
	var omString = '';

	omPostVars.push("{name: 'server', value: 'Mitsubishi Cars'}");
	omPostVars.push("{name: 'channel', value: 'vehicle'}");
	omPostVars.push("{name: 'pageName', value: 'mc:vehicle:" + currentCarName + currentCarYear + ":shop:buid-price:compare-trims'}");
	omPostVars.push("{name: 'eVar1', value: '" + currentCarYear + "'}");
	omPostVars.push("{name: 'eVar2', value: '" + currentCarName + "'}");
	omPostVars.push("{name: 'prop1', value: '" + currentCarYear + "'}");
	omPostVars.push("{name: 'prop2', value: '" + currentCarName + "'}");
	omPostVars.push("{name: 'prop19', value: 'mc:vehicle:shop:buid-price:compare-trims'}");	
	omPostVars.push("{name: 'prop20', value: 'shop'}");
	omPostVars.push("{name: 'prop21', value: 'build-price'}");
	//omPostVars.push("{name: 'events', value: 'event5,event16'}");	
	omString = "var variables = [" + omPostVars.toString() + "]";

	bubbleSequentialEvent(omString);
}

//EJ - 11/10/10 - Retrieve the common omniture values for the payment calculator
function getCalculatorOmnitureVars(action)
{
	if (omnitureDebug){alert("In getCalculatorOmnitureVars")};

	// START - B&P Payment Calculator tagging.
	var tempModelName = getCurrentCarNameAndYear();
	var currentCarYear = tempModelName.slice(0, 4); 									
	var currentCarName = tempModelName.slice(5); 							
	var updatePageName = "mc:vehicle:" + currentCarName + currentCarYear + ":shop:build-price:" + currentStep + ":calculator";
	var updatePageNoVehicle = "mc:vehicle:shop:build-price:" + currentStep + ":calculator";
	
	if(action == "Update") {
		updatePageName = updatePageName + ":submit";
		updatePageNoVehicle = updatePageNoVehicle + ":submit";
	}
	updatePageName = updatePageName.replace(/ /g,'');										

	var omPostVars = new Array();
	      				
	omPostVars.push("{name: 'channel', value: 'vehicle'}");
	omPostVars.push("{name: 'server', value: 'Mitsubishi Cars'}");
	omPostVars.push("{name: 'pageName', value: '" + updatePageName + "'}");
	omPostVars.push("{name: 'eVar1', value: '" + currentCarYear + "'}");
	omPostVars.push("{name: 'eVar2', value: '" + currentCarName + "'}");
	omPostVars.push("{name: 'eVar3', value: ''}"); 
	omPostVars.push("{name: 'eVar4', value: ''}");
	omPostVars.push("{name: 'eVar5', value: ''}");
	omPostVars.push("{name: 'eVar6', value: ''}");
	omPostVars.push("{name: 'eVar7', value: ''}");
	omPostVars.push("{name: 'eVar8', value: ''}");
	omPostVars.push("{name: 'eVar9', value: ''}");
	omPostVars.push("{name: 'eVar10', value: ''}");
	omPostVars.push("{name: 'eVar11', value: ''}");
	omPostVars.push("{name: 'eVar12', value: '" + updatePageNoVehicle + "'}");
	omPostVars.push("{name: 'prop1', value: '" + currentCarYear + "'}");					
	omPostVars.push("{name: 'prop2', value: '" + currentCarName + "'}");
	omPostVars.push("{name: 'prop3', value: ''}"); 
	omPostVars.push("{name: 'prop4', value: ''}");
	omPostVars.push("{name: 'prop5', value: ''}");
	omPostVars.push("{name: 'prop6', value: ''}");
	omPostVars.push("{name: 'prop7', value: ''}");
	omPostVars.push("{name: 'prop8', value: ''}");
	omPostVars.push("{name: 'prop9', value: ''}");
	omPostVars.push("{name: 'prop10', value: ''}");
	omPostVars.push("{name: 'prop11', value: ''}");
	omPostVars.push("{name: 'prop19', value: '" + updatePageNoVehicle + "'}");
	omPostVars.push("{name: 'prop20', value: 'shop'}");
	omPostVars.push("{name: 'prop21', value: 'build-price'}");

	return omPostVars;
} // end getCalculatorOmnitureVars()

//Change state of lefthand nav
function advanceNav(step) {
	//alert("in advanceNav()");
	navStep = step;
	navItem1 = getItem("bprNavText1");
	navItem2 = getItem("bprNavText2");
	navItem3 = getItem("bprNavText3");
	navItem4 = getItem("bprNavText4");
	navItem5 = getItem("bprNavText5");

	navNumber1 = getItem("bprNavNum1");
	navNumber2 = getItem("bprNavNum2");
	navNumber3 = getItem("bprNavNum3");
	navNumber4 = getItem("bprNavNum4");
	navNumber5 = getItem("bprNavNum5");

	navArrow1 = getItem("arrow1");
	navArrow2 = getItem("arrow2");
	navArrow3 = getItem("arrow3");
	navArrow4 = getItem("arrow4");
	navArrow5 = getItem("arrow5");

	//Reset bordering
	for (i = 1; i < 6; i++) {
		if (i == step) {
			getItem("nav"+i).style.borderBottom = "1px dashed #000";
		} else {
			getItem("nav"+i).style.borderBottom = "none";
		}
	}

	switch (step) {
		case 1:			
			getItem('step2').style.visibility = "hidden";
			getItem("bprLeftColumn").style.visibility = "hidden";
			getItem('bprDisclaimerDiv').style.visibility = 'hidden';  //Admintrack 1995
			getItem("bprRightColumn").style.visibility = "hidden";
			if (getItem("pacAccItem").style.visibility == "visible") {
				getItem("pacAccItem").style.visibility = "hidden";
			}
			getItem("destPriceItem").style.visibility = "hidden";
			getItem("partnerPricing").style.visibility = "hidden";
			getItem("diMsrpDestPacItem").style.visibility = "hidden";
			getItem("diMsrpPaintChargeItem").style.visibility = "hidden";
			getItem("diDestPacItem").style.visibility = "hidden";
			getItem("diPaintChargeItem").style.visibility = "hidden";

			getItem("premiumPaintChargeItem").style.visibility = "hidden";
			
			//getItem("bprModelColumn").style.visibility = "visible";
			$("#bprModelColumn").show();
			getItem("arrow0").innerHTML = "";
			
			getItem("bprDrawers").style.visibility = "hidden";
			myCar = new mitsuCar();
updateFinance();
			//Set Step 1 active
			navItem1.className = "bprNavItemTextSelected";
			navNumber1.className = "bprNavNumberSelected";
			navArrow1.innerHTML = arrowHTML;
			navItem1.innerHTML = bprSelectModel;
			//Reset Step 2 default
			navItem2.className = "bprNavItemText";
			navNumber2.className = "bprNavNumber";
			navArrow2.innerHTML = "";
			navItem2.innerHTML = bprSelectTrim;

			//Close open special offers or finance drawer
			slideDown('financeCalc', 'financeCalcButton', slideStepValue, 187);
			slideDown('specialOffers', 'specialOffersButton', slideStepValue, 187);
			reInitAcc=setTimeout(reInitAccBarFunc, 200);

			getItem('bprDisclaimerDiv').style.visibility = 'hidden';
			clearDisclaimer();
			//addDisclaimer("discManuSuggestedPrice");
			getItem('bprSpecialOffersZipFormDiv').style.visibility = "hidden";
			break;
		case 2:			
			//Update finance calculator
			updateFinance();
			currentStep = "select-trim";
			getItem("bprDrawers").style.visibility = "visible";
			//Set Step 1 completed
			myCar.modelName = dbModelName;
			navItem1.innerHTML = myCar.modelName;
			navItem1.className = "bprNavItemTextCompleted";
			navNumber1.className = "bprNavNumberCompleted";
			navArrow1.innerHTML = "";
			//Set Step 2 active
			navItem2.className = "bprNavItemTextSelected";
			navNumber2.className = "bprNavNumberSelected";
			navArrow2.innerHTML = arrowHTML;
			navItem2.innerHTML = bprSelectTrim;
			//Reset Step 3 default
			navItem3.className = "bprNavItemText";
			navNumber3.className = "bprNavNumber";
			navArrow3.innerHTML = "";
			navItem3.innerHTML = bprSelectColors;

//			getItem("bprPayDisc").style.visibility = "visible";
		
			getItem('bprSpecialOffersZipFormDiv').style.visibility = "visible";	
			
			//loadDisclaimersForModel (myCar.modelId);
			$("a.bprMSRPswap").each( function () {
				$(this).attr('href', 'javascript:showDisclaimer("discManuSuggestedPrice", "Build and Price")');
		//				$(this).attr('href', 'javascript:showDisclaimer("discMSRP_'+myCar.modelId+'", "Build and Price")');
			});
						
			break;
		case 3:			
			//Set Step 2 completed
			currentStep = "select-colors";
			navItem2.className = "bprNavItemTextCompleted";
			navNumber2.className = "bprNavNumberCompleted";
			navItem2.innerHTML = myCar.trimName;
			navArrow2.innerHTML = "";
			//Set Step 3 active
			navItem3.className = "bprNavItemTextSelected";
			navNumber3.className = "bprNavNumberSelected";
			navArrow3.innerHTML = arrowHTML;
			navItem3.innerHTML = bprSelectColors;

			//Reset Step 3 default
			navItem4.className = "bprNavItemText";
			navNumber4.className = "bprNavNumber";
			navArrow4.innerHTML = "";
			navItem4.innerHTML = bprSelectAccPac;

		//	getItem("bprPayDisc").style.visibility = "visible";

			getItem('step4').style.visibility='hidden';
			getItem('step4Data').style.visibility='hidden';
			getItem('step4ScrollPath').style.visibility='hidden';
			try {
				getItem('step4Pac').style.visibility='hidden';
			} catch(e) {}
			try {
				getItem('step4Acc').style.visibility='hidden';
			} catch(e) {}

			getItem('step3').style.visibility='visible';	
						
			getItem('bprSpecialOffersZipFormDiv').style.visibility = "visible";	
			break;
		case 4:		
			//Set Step 3 completed
			currentStep = "select-options";
			navItem3.className = "bprNavItemTextCompleted";
			navNumber3.className = "bprNavNumberCompleted";
			navItem3.innerHTML = myCar.extColor.name;
			navArrow3.innerHTML = "";
			//Set Step 4 active
			navItem4.className = "bprNavItemTextSelected";
			navNumber4.className = "bprNavNumberSelected";
			navArrow4.innerHTML = arrowHTML;
			navItem4.innerHTML = bprSelectAccPac;

			//Reset Step 5 default
			navItem5.className = "bprNavItemText";
			navNumber5.className = "bprNavNumber";
			navArrow5.innerHTML = "";
			navItem5.innerHTML = bprSeeFinished;

		//	getItem("bprPayDisc").style.visibility = "visible";

			getItem('bprMoreDealers').style.visibility='hidden';
			getItem('step3').style.visibility='hidden';
			//getItem('bprFinishedColumn').style.visibility='hidden';
			$('#bprFinishedColumn').hide();
			getItem('bprRfq').style.visibility='hidden';

			getItem('step4').style.visibility='visible';
			getItem('step4Data').style.visibility='visible';
			getItem('step4ScrollPath').style.visibility='visible';
			try {
				getItem('step4Pac').style.visibility='visible';
			} catch(e) {}
			try {
				getItem('step4Acc').style.visibility='visible';
			} catch(e) {}
			getItem('bprRightColumn').style.visibility='visible';

			getItem('premiumPaintChargeItemFinal').style.visibility = 'hidden';
			getItem('pacAccItemFinal').style.visibility = 'hidden';
			getItem('bprSPScrollPath').style.visibility = 'hidden';

			if (displayPartnerPricing) {
				getItem('partnerPricing').style.visibility = "visible";
				getItem('partnerPricingFinal').style.visibility = "hidden";
				getItem('diMsrpPaintChargeItemFinal').style.visibility="hidden";
				getItem('diMsrpPaintChargeItemFinal').style.position="absolute";
				getItem('diPaintChargeItemFinal').style.visibility="hidden";
				getItem('diPaintChargeItemFinal').style.position="absolute";

				//Redisplay pac/dest charge if coming back from step 5
				getItem("diMsrpDestPacItem").style.visibility="visible";
				getItem("diDestPacItem").style.visibility="visible";

				//Redisplay paint charge if coming back from step 5
				if (myCar.extColor.charge) {
					getItem("diMsrpPaintChargeItem").style.visibility="visible";
					getItem("diPaintChargeItem").style.visibility="visible";
				}

			} else {
				getItem("destPriceItem").style.visibility="visible";
				//Redisplay accessory/packages if coming back from step 5
				if (pacAccTotal != 0) {
					getItem("pacAccItem").style.visibility="visible";
				}
				//Redisplay paint charge if coming back from step 5
				if (myCar.extColor.charge) {
					getItem("premiumPaintChargeItem").style.visibility="visible";
				}

			}

			//Hide Estimated payment
			getItem('finalEstPrice').style.visibility = 'hidden';
			initScrollbar('step4Data', 'step4Container', 'step4ScrollPath', 'step4Scroller');
								
			//Redisplay finance/special offers drawers if comming back from step 5
			getItem('bprDrawers').style.visibility = "visible";
			getItem('bprSpecialOffersZipFormDiv').style.visibility = "visible";	
			reloadDisclaimers();
			break;
		case 5:			
			//Close open special offers or finance drawer
			currentStep = "complete";
			getItem('bprDrawers').style.visibility = "visible";
			slideDown('financeCalc', 'financeCalcButton', slideStepValue, 187);
			slideDown('specialOffers', 'specialOffersButton', slideStepValue, 187);reInitAcc=setTimeout(reInitAccBarFunc, 200);
			//Set Step 4 completed
			navItem4.className = "bprNavItemTextCompleted";
			navNumber4.className = "bprNavNumberCompleted";
			navItem4.innerHTML = bprAccPacAdded;
			navArrow4.innerHTML = "";

			//Set Step 5 active
			navItem5.className = "bprNavItemTextSelected";
			navNumber5.className = "bprNavNumberSelected";
			navArrow5.innerHTML = arrowHTML;

		//	getItem("bprPayDisc").style.visibility = "visible";

			getItem("destPriceItem").style.visibility="hidden";
			getItem("pacAccItem").style.visibility="hidden";
			getItem("premiumPaintChargeItem").style.visibility="hidden";


			getItem("diMsrpDestPacItem").style.visibility="hidden";
			getItem("diMsrpPaintChargeItem").style.visibility="hidden";
			getItem("diDestPacItem").style.visibility="hidden";
			getItem("diPaintChargeItem").style.visibility="hidden";

            
			if (displayPartnerPricing) {
				getItem("regPricingFinal").style.visibility="hidden";
				getItem("regPricingFinal").style.position="absolute";
				getItem("partnerPricingFinal").style.visibility="visible";
				getItem("partnerPricingFinal").style.position="absolute";
			}

			getItem('bprRightColumn').style.visibility='hidden';
			getItem('step4').style.visibility='hidden';
			getItem('step4Data').style.visibility='hidden';
			getItem('step4ScrollPath').style.visibility='hidden';
			try {
				getItem('step4Pac').style.visibility='hidden';
			} catch(e) {}
			try {
				getItem('step4Acc').style.visibility='hidden';
			} catch(e) {}

			getItem('partnerPricing').style.visibility = "hidden";
			getItem('bprRfq').style.visibility='visible';

			getItem('msrpFinal').innerHTML = moneyFormat(myCar.msrp);
			getItem('dealerInvoiceFinal').innerHTML = moneyFormat(myCar.partnerPrice);
			//Display Packages and Accessory total

			if (pacAccTotal > 0 && !displayPartnerPricing) {
				getItem('pacAccTotalFinal').innerHTML = moneyFormat(pacAccTotal);
				getItem('pacAccItemFinal').style.visibility = 'visible';
				getItem('pacAccItemFinal').style.position = 'relative';
				getItem('pacAccItemFinal').style.display = 'block';
			} else {
				getItem('pacAccItemFinal').style.visibility = 'hidden';
				//getItem('pacAccItemFinal').style.position = 'absolute';
				getItem('pacAccItemFinal').style.display = 'none';
			}

			getItem('destPriceFinal').innerHTML = moneyFormat(myCar.destPrice);

			//Display premium paint charge
			if (myCar.extColor.charge > 0 && !displayPartnerPricing) {
				getItem('premiumPaintChargeFinal').innerHTML = moneyFormat(myCar.extColor.charge);
				getItem('premiumPaintChargeItemFinal').style.visibility = 'visible';
				getItem('premiumPaintChargeItemFinal').style.position = 'relative';
				getItem('premiumPaintChargeItemFinal').style.display = 'block';
			} else {
				getItem('premiumPaintChargeItemFinal').style.visibility = 'hidden';
				//getItem('premiumPaintChargeItemFinal').style.position = 'absolute';
				getItem('premiumPaintChargeItemFinal').style.display = 'none';
			}

			//Display Special Offers
			specialOffersDiv = getItem('specialOffersFinal');
			specialOffersDiv.innerHTML = "";
			for (offer in myCar.specialOffers) {

				curOffer = myCar.specialOffers[offer];
				if (curOffer.selected) {
					specialOffersDiv.innerHTML += "<div class='bprLineItemNeg'>"+curOffer.shortDesc+" - " + spcOfrEnds + " " + formatDate(curOffer.endDate) + "</div>";
					if (curOffer.savings > 0) {
						specialOffersDiv.innerHTML += "<div class='bprLineItemCurNeg'>-"+curBefore+"</div><div class='bprLinePriceNeg'>"+moneyFormat(curOffer.savings)+"</div>";
					}
				}
			}


			//Final Pricing
			getItem('totalFinal').innerHTML = moneyFormat(myCar.totalPrice);
			getItem('monthFinal').innerHTML = moneyFormat(myCar.finance.termMonths);
			getItem('percentFinal').innerHTML = myCar.finance.apr; //jordan: creates a traling 0: moneyFormat(myCar.finance.apr);
			getItem('downFinal').innerHTML = curBefore + (myCar.finance.tradeIn + myCar.finance.downPayment);
			getItem('paymentFinal').innerHTML = moneyFormat(myCar.finance.payment);

			//Final Pricing Display
			if (displayPartnerPricing) {

				getItem('diMsrpFinal').innerHTML = getItem('diMsrp').innerHTML;
				getItem('diMsrpDestPacFinal').innerHTML = getItem('diMsrpDestPac').innerHTML;
				getItem('diMsrpPaintChargeFinal').innerHTML = getItem('diMsrpPaintCharge').innerHTML;
				getItem('diMsrpTotalFinal').innerHTML = getItem('diMsrpTotal').innerHTML;
				getItem('diDestPacFinal').innerHTML = getItem('diDestPac').innerHTML;
				getItem('diPaintChargeFinal').innerHTML = getItem('diPaintCharge').innerHTML;
				getItem('cashIncentiveValFinal').innerHTML = getItem('cashIncentiveVal').innerHTML;
				getItem('diTotalFinal').innerHTML = getItem('diTotal').innerHTML;
				getItem('diSavingsFinal').innerHTML = getItem('diSavings').innerHTML;
				
				if (pacAccTotal == 0) {
					getItem('diMsrpDestPacItemFinal').style.visibility="hidden";
					getItem('diMsrpDestPacItemFinal').style.position="absolute";
				}
				if (pacAccPartnerTotal == 0) {
					getItem('diDestPacItemFinal').style.visibility="hidden";
					getItem('diDestPacItemFinal').style.position="absolute";
				}
				if (!myCar.extColor.charge) {
					getItem('diMsrpPaintChargeItemFinal').style.visibility="hidden";
					getItem('diMsrpPaintChargeItemFinal').style.position="absolute";
					getItem('diPaintChargeItemFinal').style.visibility="hidden";
					getItem('diPaintChargeItemFinal').style.position="absolute";
				} else {
					getItem('diMsrpPaintChargeItemFinal').style.visibility="visible";
					getItem('diMsrpPaintChargeItemFinal').style.position="relative";
					getItem('diPaintChargeItemFinal').style.visibility="visible";
					getItem('diPaintChargeItemFinal').style.position="relative";
				}
				
			}
            
			if (myCar.finance.payment > 0) {
				//Display Estimated payment
				//getItem('finalEstPrice').style.visibility = 'visible';
			}
			

			getItem('bprSpecialOffersZipFormDiv').style.visibility = "visible";

			
			//surveyRequest ('kpi', 'bp');
			
			// dart tagging updated 5.24.2011
			var axel = Math.random()+"";
			var a = axel * 10000000000000;
			$("#bprContainer").append('<iframe src="http://fls.doubleclick.net/activityi;src=1033846;type=fy11c403;cat=fy11c626;ord=' + a + '?" width="1" height="1" frameborder="0" style="display:none"></iframe>');
			
			//accuen
			$("#bpStepFiveView").append("<img height=\"1\" width=\"1\" src=\"http://d.p-td.com/r/dd/id/L21rdC80L2NpZC8yNjU1ODg2L3QvMi9jYXQvMjY1NjgzMg\">");
			break;
		default:
	}
}

//Make RFQ form visible
function requestQuote() {
	var offsetArray = new Array;
	$("#bprFullDealerList input:checkbox:checked").each ( function () {
		offsetArray.push (dealerList["dealer" + $(this).val() + "key"]);
	});
	
	$(document).data('selectedDealers', offsetArray);
	
	getItem('bprMoreDealers').style.visibility = 'hidden';
	getItem('bprRfqForm').style.visibility = 'visible';
	formDiv = getItem('form');
	formDiv.style.visibility = 'visible';
 	
	// fire omniture event.
	
	// MVT 08/27/10 - This fires on *** REQUEST A QUOTE ***	
	var tempModelName = myCar.modelName;									
	tempModelName = tempModelName.replace(/[^a-zA-Z 0-9]+/g,'');						
	var currentCarYear = tempModelName.slice(0, 4); 									
	var currentCarName = tempModelName.slice(5); 							
	currentCarName = currentCarName.toLowerCase();	
	var quotePageName = "mc:vehicle:"+currentCarName+currentCarYear+":shop:build-price:request-quote";
	quotePageName = quotePageName.replace(/ /g,'');							

	var omString = ""; //Omniture string
	var omPostVars = new Array();
	      				
	omPostVars.push("{name: 'prop1', value: '"+currentCarYear+"'}");					
	omPostVars.push("{name: 'prop2', value: '"+currentCarName+"'}");
	omPostVars.push("{name: 'prop3', value: ''}"); 
	omPostVars.push("{name: 'prop4', value: ''}");
	omPostVars.push("{name: 'prop5', value: ''}");
	omPostVars.push("{name: 'prop8', value: ''}");
	omPostVars.push("{name: 'channel', value: 'vehicle'}");
	omPostVars.push("{name: 'server', value: 'Mitsubishi Cars'}");
	omPostVars.push("{name: 'pageName', value: '"+quotePageName+"'}");
	omPostVars.push("{name: 'eVar1', value: '"+currentCarYear+"'}");
	omPostVars.push("{name: 'eVar2', value: '"+currentCarName+"'}");
	omPostVars.push("{name: 'eVar3', value: ''}"); 
	omPostVars.push("{name: 'eVar4', value: ''}");
	omPostVars.push("{name: 'eVar5', value: ''}");
	omPostVars.push("{name: 'eVar8', value: ''}");
	omPostVars.push("{name: 'eVar12', value: 'mc:vehicle:shop:build-price:request-quote'}");
	omPostVars.push("{name: 'eVar19', value: 'build price quote'}");
	omPostVars.push("{name: 'prop19', value: 'mc:vehicle:shop:build-price:request-quote'}");
	omPostVars.push("{name: 'prop20', value: 'shop'}");
	omPostVars.push("{name: 'prop21', value: 'build-price'}");
	omPostVars.push("{name: 'events', value: 'event16'}");
	omString = "var variables = [" + omPostVars.toString() + "]";
	
	//alert (omString);

	bubbleSequentialEvent(omString);						
	// END - B&P Complete Tagging.		
	
	
	for(var i = 0; i < showHideElements.length; i++) {
		var elemRef = getItem(showHideElements[i]);
		if(elemRef) {
			elemRef.style.visibility = "visible";
		}
	}

	//jQuery.facebox($('#bprRfqForm').html());

	var axel = Math.random()+"";
	var a = axel * 10000000000000;
	getItem('bpFormView').innerHTML = '<IFRAME SRC="http://fls.doubleclick.net/activityi;src=1033846;type=elead741;cat=reque574;ord='+ a + '?" WIDTH=1 HEIGHT=1 FRAMEBORDER=0 style="display:NONE;background-color: transparent;"></IFRAME>';
	// accuen
    $("#form").append ("<img height=\"1\" width=\"1\" src=\"http://d.p-td.com/r/dd/id/L21rdC80L2NpZC8yNjU1ODg2L3QvMi9jYXQvMjY1NjgzMg\">");

}

function hideRFQ() {
	restoreRfqBox();
	getItem('bprRfqForm').style.visibility = 'hidden';
	getItem('enterZipCopy').innerHTML = bprEnterZip;

	formDiv = getItem('form');
	formDiv.style.visibility = 'hidden';

	for(var i = 0; i < showHideElements.length; i++) {
		var elemRef = getItem(showHideElements[i]);
		if(elemRef) {
			elemRef.style.visibility = "hidden";
		}
	}
}

function resetZip() {
	zipReset = true;
	getItem('bprZip').value = "";
	getItem('bprZip').focus();
}

//Validate zipcode and set it into the seesion
function recordZip() {
	sessionZipCode = getItem('bprZip').value;
	zipArgs = "zipCode=" + sessionZipCode + "&lang=" + langCode;
	//Send zip to servelet for validation
	makeRequest('/MMNA/validateZip.do', zipArgs, 'eval(setZip(http_request[i].responseText));');
}

//If zip is valid display valid message and move to the next step else display invalid zip message
function setZip(isValid) {
	if(isValid != "false") {
		//Collapse zip messaging
		//getItem('bprZipText').innerHTML = zipValidMsg;
		if (!zipReset) {
			//Move to step 1
			if (!navStep) { advanceNav(1); }
			//Update Destination price
			if (myCar.modelId) { getDestPrice(); }
			//Get Dealer List
			//getDealerList();
		} else {
			zipReset = false;
			displaySpecialOffers();
		}
	} else {
		sessionZipCode = "";
		//Display error messaging
		//getItem('bprZipText').innerHTML = zipInvalidMsg;
	}

}

//Check if a zipcode is already in the session
function checkZip() {
	if (sessionZipCode != "") {
		setZip(true);
	}
}

//FIXME - We need a good display for this instead of an alert
function alertZip() {
	alert("FIXME: " + msgEnterZip);
}

function displayPackageInfo(pacId) {
	/*
	showingInfo = true;
	makeLayer("bodyDiv", "accPacInfo", "bprAccPacInfo");
	var pacLayer = getItem("accPacInfo");
	pacLayer.innerHTML = "<div class=\"bprAccPacHeader\"><div class=\"bprAccPacClose\" onClick=\"killLayer('bodyDiv','accPacInfo')\">"+closeLabel+"</div>"+myCar.packages[pacId+"key"].shortDesc+"</div>";
	pacLayer.innerHTML +="<div class=\"bprAccDesc\"><p><b>MSRP: $"+myCar.packages[pacId+"key"].price+"</b><br/>"+myCar.packages[pacId+"key"].longDesc+"</p></div>";
	// display add link iff package is not selected
	if ( ! myCar.packages[pacId+"key"].selected)
		pacLayer.innerHTML +="<div class=\"bprAccPacAddLink\" onClick=\"killLayer('bprRightColumn','accPacInfo');togglePackageSelected('pac"+myCar.packages[pacId+"key"].packageId+"')\">"+bprAddToYourDealer+"</div>";
    */
	showingInfo = true;
	var PackageText="<div class=\"bprAccDesc\"><p><b>MSRP: $"+myCar.packages[pacId+"key"].price+"</b><br/>"+myCar.packages[pacId+"key"].longDesc+"</p></div>";
	if ( ! myCar.packages[pacId+"key"].selected)
		 PackageText+="<div class=\"bprAccPacAddLink\" onClick=\"togglePackageSelected('pac"+myCar.packages[pacId+"key"].packageId+"')\">"+bprAddToYourDealer+"</div>";
	
	jQuery.facebox( '<div><div class="popupHeader"><div class="popupTitle">'+myCar.packages[pacId+"key"].shortDesc+'</div><div onclick="$(document).trigger(\'close.facebox\')" class="bprAccPacClose">X CLOSE</div></div><div class="bprAccDesc">'+PackageText+'</div>' );
}

function displayAccessoryInfo(accId) {
	/*
	showingInfo = true;
	makeLayer("bodyDiv", "accPacInfo", "bprAccPacInfo");
	var accLayer = getItem("accPacInfo");
	accLayer.innerHTML = "<div class=\"bprAccPacHeader\"><div class=\"bprAccPacClose\" onClick=\"killLayer('bodyDiv','accPacInfo')\">"+closeLabel+"</div>"+myCar.accessories[accId+"key"].name+"</div>";
	accLayer.innerHTML +="<div class=\"bprAccImg\">"+myCar.accessories[accId+"key"].image+"</div><div class=\"bprAccDesc\"><p><b>MSRP: $"+myCar.accessories[accId+"key"].price+"</b><br/>"+myCar.accessories[accId+"key"].copy+"</p></div>";
	// display add link iff accessory is not selected
	if ( ! myCar.accessories[accId+"key"].selected)
		accLayer.innerHTML +="<div class=\"bprAccPacAddLink\" onClick=\"killLayer('bprRightColumn','accPacInfo');toggleAccessorySelected('acc"+myCar.accessories[accId+"key"].accessoryId+"')\">"+bprAddToYourDealer+"</div>";
	*/
	showingInfo=true;
    var AccessoryText = "<div class=\"bprAccImg\">"+myCar.accessories[accId+"key"].image+"</div><div class=\"bprAccDesc\"><p><b>MSRP: $"+myCar.accessories[accId+"key"].price+"</b><br/>"+myCar.accessories[accId+"key"].copy+"</p></div>";
    if ( ! myCar.accessories[accId+"key"].selected)
    	AccessoryText +="<div class=\"bprAccPacAddLink\" onClick=\"toggleAccessorySelected('acc"+myCar.accessories[accId+"key"].accessoryId+"')\">"+bprAddToYourDealer+"</div>";
	 
	jQuery.facebox( '<div><div class="popupHeader"><div class="popupTitle">'+myCar.accessories[accId+"key"].name+'</div><div onclick="$(document).trigger(\'close.facebox\')" class="bprAccPacClose">X CLOSE</div></div><div class="bprAccDesc">'+AccessoryText+'</div>' );


}

/*************************************************************
* This function calls the specialOffers servlet with trimId  *
* as an argument.  On return of the AJAX call the javascript *
* is evaluated and then written to the layer                 *
*************************************************************/
function getSpecialOffers() {
	//AJAX CALL for Special Offers
	//var regOffersZipCode = getItem("regOffersZipCode").value ;
	var regOffersZipCode = $("#regOffersZipCode").val();
	var trimArgs = "trimId=" + myCar.trimId + "&lang=" + langCode + "&zipCode=" + regOffersZipCode;
	makeRequest('/MMNA/specialOffers.do', trimArgs, 'eval(http_request[i].responseText);writeSpecialOffers();');

}

//Write out all special offers available for the selected trim
function writeSpecialOffers() {
	
 //	alert( isInValidZip  + ".." + isShowEnterZip );
	

	
	var offersString = "";
	var sortingArray = new Array();
	var autoSelectArray = new Array();
	for (offer in myCar.specialOffers) {
		sortingArray.push(offer);
	}

	maxOffer = 0;
	for (var i = 0; i < sortingArray.length; i++) {
		offerItem = myCar.specialOffers[sortingArray[i]];
		if(offerItem.offerType != 3){
			maxOffer += offerItem.savings;
		}
		if (offerItem.offerType == 1) autoSelectArray.push(offerItem.id);
		if (offerItem.savings > 0 && offerItem.offerType != 3) { //Display with checkbox
			offersString += "<div class='bprSpecialOfferItem'><div class='bprSpecialOfferBox'><input type='checkbox' id='spcOfr"+offerItem.id+"' onClick='toggleOfferSelected(\""+offerItem.id+"\")'"+((offerItem.offerType == 1)?" selected":"")+"/></div>";
			offersString += "<div class='bprSpecialOfferCopy'><div class='bprSpecialOfferDesc' onClick='toggleOfferSelected(\""+offerItem.id+"\")'>"+offerItem.shortDesc+"<br/>" + spcOfrEnds + " " + formatDate(offerItem.endDate) + ".</div>";
			offersString += offerItem.longDesc + " <a href='javascript:displayLegal(\""+offerItem.id+"\")'>"+spcOfrDetails+"</a>";
			offersString += "<div class='bprSpecialOfferLegal' id='legal"+offerItem.id+"'>"+offerItem.legal+" <a href='javascript:hideLegal(\""+offerItem.id+"\")'>"+spcOfrHide+"</a></div></div></div>";
		} else { // Display without checkbox
			offersString += "<div class='bprSpecialOfferItem'><div class='bprSpecialOfferBox'>&nbsp;</div>";
			offersString += "<div class='bprSpecialOfferCopy'><div class='bprSpecialOfferDesc'>"+offerItem.shortDesc+"<br/>" + spcOfrEnds + " " + formatDate(offerItem.endDate) + ".</div>";
			offersString += offerItem.longDesc + " <a href='javascript:displayLegal(\""+offerItem.id+"\")'>"+spcOfrDetails+"</a>";
			offersString += "<div class='bprSpecialOfferLegal' id='legal"+offerItem.id+"'>"+offerItem.legal+" <a href='javascript:hideLegal(\""+offerItem.id+"\")'>"+spcOfrHide+"</a></div></div></div>";
		}
	}

	// accomodate different language text lengths
	
	if (maxOffer != "0") {
	   if (langCode == "en-us" ) {
	      getItem('specialOffersButton').innerHTML = "<div style='width: 178; padding-top: 20px; font-size: 12px'>" + upTo + " <span style='font-size: 16px;'>" + curBefore + moneyFormat(maxOffer)  + "</span> " + cashBack + "<br />" + " <span style='font-size: 9px;'>" + availOffers + "</span>" + "</div>"; //jjg added width to stle
	   } else {
		  getItem('specialOffersButton').innerHTML = "<div style='padding-top: 22px; font-size: 9px; font-weight:normal;'>" + upTo + " <span style='font-size: 11px; font-weight:bold;'>" + curBefore + moneyFormat(maxOffer)  + "</span> " + cashBack + "<br />" + " <span style='line-height:9px;'>" + availOffers + "</span>" + "</div>";
	   }
    }
    else {
    	//alert ('no offers');
    	//$('#specialOffersButton').html('');
       //getItem('specialOffersButton').style.visibility = "hidden";
    }
    

	getItem('specialOffersData').innerHTML = offersString;

	for (var j = 0; j < autoSelectArray.length; j++) {
		toggleOfferSelected(autoSelectArray[j]);
	}

	//if the Special Offer box is open - refresh it - so that it expands based on no of offers
	if( document.getElementById('specialOffers').style.visibility == 'visible' && !isFindOffersSubmitRequest ) {
		slideUp('specialOffers', 'specialOffersButton', slideStepValue, 187, displaySpecialOffers() );
	}
	
	//show the regional zip error messages 
	if( isInValidZip ) {
		getItem('spoInvalidZipMsgId').style.display = 'block';
		getItem('spoInfoZipMsgId').style.display = 'none';


	} else {
		getItem('spoInvalidZipMsgId').style.display = 'none';
		getItem('spoInfoZipMsgId').style.display = 'block';

	}
	
	if( isShowEnterZip ) {
		getItem('spoEnterValidZipMsgId').style.display = 'block';
		getItem('spoEnterValidZipMsgId1').style.display = 'block';
	} else {
		getItem('spoEnterValidZipMsgId').style.display = 'none';
		getItem('spoEnterValidZipMsgId1').style.display = 'none';
		if( isFindOffersSubmitRequest ) {
			slideUp('specialOffers', 'specialOffersButton', slideStepValue, 187, displaySpecialOffers() );
		}
	}
	isFindOffersSubmitRequest = false;
}

//Initialize special offers box scrollbar and zipcode copy
function displaySpecialOffers() {

	//getItem('specialOffersZip').innerHTML = sessionZipCode;
	initScrollbar('specialOffersData', 'specialOffersDataContainer', 'specialOffersScrollPath', 'specialOffersScroller');
}

//Toggle selected state for a special offer
function toggleOfferSelected(id) {
	var currentOffer = myCar.specialOffers["offer"+id+"key"];
	var offerBox = getItem('spcOfr'+currentOffer.id);
	if (currentOffer.selected) {
		//Deselect Offer
		currentOffer.selected = false;
		offerBox.checked = false;
		killLayer('bprLineItems',id+'LineItem');
	} else {
		//Select offer
		currentOffer.selected = true;
		offerBox.checked = true;
		makeLayer('bprLineItems', id+'LineItem', '');
		getItem(id+'LineItem').innerHTML = "<div class='bprLineItemNeg'>" + currentOffer.shortDesc + " - " + spcOfrEnds + " " + formatDate(currentOffer.endDate) + "</div>";
		if (currentOffer.savings) {
			getItem(id+'LineItem').innerHTML += "<div class='bprLineItemCurNeg'>-" + curBefore + "</div><div class='bprLinePriceNeg'>"+moneyFormat(currentOffer.savings)+"</div>";
		}
	}
	updatePricing();
}

//Display legal for a special offer
function displayLegal(id) {
	getItem('legal'+id).style.visibility='visible';
	getItem('legal'+id).style.position='relative';
	initScrollbar('specialOffersData', 'specialOffersDataContainer', 'specialOffersScrollPath', 'specialOffersScroller');
}

//Hide legal for a special offer
function hideLegal(id) {
	getItem('legal'+id).style.visibility='hidden';
	getItem('legal'+id).style.position='absolute';
	initScrollbar('specialOffersData', 'specialOffersDataContainer', 'specialOffersScrollPath', 'specialOffersScroller');
}

function hideThanks() {
	killLayer("bprFinishedColumn", "thankYouChild");
}

function printFinal() {
	restoreRfqBox();	
	accList = printDisplayAcc(accList);
	pacList = printDisplayPac(pacList);
	getItem('bprMoreDealers').style.visibility = "hidden";
	
	var packString, accString, specOffers = "";
	var premium_paint = getItem('premiumPaintChargeFinal').innerHTML;
	var pack_total = moneyFormat(getItem('pacAccTotalFinal').innerHTML).replace(/,+/,",");
	

	// Omniture Support
	
	// MVT 08/27/10 - This fires on *** PRINT DETAILS ***
	
	// START - Print Details Tagging.
	var tempModelName = myCar.modelName;									
	tempModelName = tempModelName.replace(/[^a-zA-Z 0-9]+/g,'');									
	var currentCarYear = tempModelName.slice(0, 4); 								
	var currentCarName = tempModelName.slice(5); 							
	currentCarName = currentCarName.toLowerCase();		
	var printPageName = "mc:vehicle:"+currentCarName+currentCarYear+":shop:build-price:print";
	printPageName = printPageName.replace(/ /g,'');							
	
	var omString = ""; //Omniture string
	var omPostVars = new Array();
	      				
	omPostVars.push("{name: 'prop1', value: '"+currentCarYear+"'}");					
	omPostVars.push("{name: 'prop2', value: '"+currentCarName+"'}");
	omPostVars.push("{name: 'prop3', value: ''}"); 
	omPostVars.push("{name: 'prop4', value: ''}");
	omPostVars.push("{name: 'prop5', value: ''}");
	omPostVars.push("{name: 'prop8', value: ''}");
	omPostVars.push("{name: 'channel', value: 'vehicle'}");
	omPostVars.push("{name: 'server', value: 'Mitsubishi Cars'}");
	omPostVars.push("{name: 'pageName', value: '"+printPageName+"'}");
	omPostVars.push("{name: 'eVar1', value: '"+currentCarYear+"'}");
	omPostVars.push("{name: 'eVar2', value: '"+currentCarName+"'}");
	omPostVars.push("{name: 'eVar3', value: ''}"); 
	omPostVars.push("{name: 'eVar4', value: ''}");
	omPostVars.push("{name: 'eVar5', value: ''}");
	omPostVars.push("{name: 'eVar8', value: ''}");
	omPostVars.push("{name: 'eVar12', value: 'mc:vehicle:shop:build-price:print'}");
	omPostVars.push("{name: 'eVar19', value: 'build price print'}");
	omPostVars.push("{name: 'prop19', value: 'mc:vehicle:shop:build-price:print'}");
	omPostVars.push("{name: 'prop20', value: 'shop'}");
	omPostVars.push("{name: 'prop21', value: 'build-price'}");
	omPostVars.push("{name: 'events', value: 'event12,event16'}");

	omString = "var variables = [" + omPostVars.toString() + "]";
	
	//alert (omString);

	bubbleSequentialEvent(omString);
	// END - Print Details Tagging.
	//bubbleSequentialEvent(" var variables = [ {name: 'pageName', value: '"+printPageName+"'}, {name: 'channel', value: 'vehicle'}, {name: 'server', value: 'Mitsubishi Cars'}, {name: 'eVar1', value: '"+currentCarYear+"'}, {name: 'eVar2', value: '"+currentCarName+"'}, {name: 'eVar6', value: ''}, {name: 'eVar8', value: ''}, {name: 'eVar9', value: ''}, {name: 'eVar12', value: 'mc:vehicle:shop:build-price:print'}, {name: 'eVar19', value: 'build price print'}, {name: 'prop1', value: '"+currentCarYear+"'}, {name: 'prop2', value: '"+currentCarName+"'}, {name: 'prop6', value: ''}, {name: 'prop9', value: ''}, {name: 'prop19', value: 'mc:vehicle:shop:build-price:print'}, {name: 'prop20', value: 'shop'}, {name: 'prop21', value: 'build-price'}, {name: 'events', value: 'event12,event16'} ]");
	
		
	// English / Spanish translation
	var isSpanish = (getLang()=="es-us");
	
	var txtMSRP = (isSpanish) ? "MSRP" : "MSRP";
	var txtList = (isSpanish) ? "Lista" : "List";
	var txtTotal = (isSpanish) ? "EL TOTAL" : "YOUR TOTAL";
	var txtDestination = (isSpanish) ? "Destino y Manejo" : "Destination &amp; Handling";
	var txtClosestDealer = (isSpanish) ? "Su concesionario m&aacute;s cerca" : "Your closest dealer";
	
	var hdrPackages = (isSpanish) ? "Paquetes" : "Packages";
	var hdrAccessories = (isSpanish) ? "Accesorios" : "Accessories";	
	var hdrSpecialOffers = (isSpanish) ? "Ofertas Especiales" : "Special Offers";
	var hdrWarranty = (isSpanish) ? "Garant&iacute;a del Veh&iacute;culo" : "Warranty";
	var hdrPremiumPaintCharge = (isSpanish) ? "Premium Paint Charge" : "Premium Paint Charge";
	var hdrStdFeatures = (isSpanish) ? "Caracter&iacute;sticas Est&aacute;ndares" : "Standard Features";
	
	var hdrPackagesAccessories = hdrPackages +" "+ ((isSpanish)?"y":"&amp;") +" "+ hdrAccessories;

	// Create HTML for new Print Preview window
	finalString = '<link href="/MMNA/css/bpr_print.css" rel="stylesheet" type="text/css">';
	finalString += '<div id="mainDiv" align="center">';
	finalString += '  <table cellpadding="0" cellspacing="2" border="0" width="664">';
	finalString += '    <tr>';
	finalString += '      <td colspan="2" style="text-align:center;"><img src="/MMNA/images/bp/' + myCar.printImg + '" /></td>';
	finalString += '    </tr>';
	finalString += '    <tr>';
	finalString += '      <td class="column left" style="width:327.5px;"><div id="bprVehicleNameFinal" class="heading" style="font-size:14px;padding:7px 15px;text-align:left;">' + getItem('bprVehicleNameFinal').innerHTML + '</div>';
	finalString += '        <div class="content">';
	finalString += '          <table cellpadding="5" cellspacing="0" border="0" style="margin: 0 auto;">';
	finalString += '            <tr>';
	finalString += '              <td><b>'+ txtMSRP +'*:</b></td>';
	finalString += '              <td style="text-align: right;">$' + moneyFormat(myCar.msrp) + '</td>';
	finalString += '			</tr>';
	finalString += '			<tr>';
	finalString += '              <td><b>'+ txtDestination +'*:</b></td>';
	finalString += '			  <td style="text-align: right;">$' + moneyFormat(myCar.destPrice) + '</td>';
	finalString += '			</tr>';	
	
	for(prop in myCar.packages){
		var pack = myCar.packages[prop];
		if(pack.selected) {
			packString += '			<tr>';
			packString += '			  <td style="padding-left: 15px; border-right: 2px solid">' + pack.shortDesc + '</td>';
			packString += '			  <td style="padding-right: 20px;text-align: right;">$' + moneyFormat(pack.price) + '</td>';
			packString += '			</tr>';
		}
	}
	for(prop in myCar.accessories){
		var acc = myCar.accessories[prop];
		if(acc.selected) {
			accString += '			<tr>';
			accString += '			  <td style="padding-left: 15px; border-right: 2px solid">' + acc.name + '</td>';
			accString += '			  <td style="padding-right: 20px;text-align: right;">$' + moneyFormat(acc.price) + '</td>';
			accString += '			</tr>';
		}
	}
	for(prop in myCar.specialOffers){
		specOffer = myCar.specialOffers[prop];
		if(specOffer.selected) {
			specOffers += '			<tr>';
			specOffers += '			  <td><span class="red">&nbsp;&nbsp;' + specOffer.shortDesc + '</span></td>';
			specOffers += '			  <td style="text-align: right;"><span class="red">- $' + moneyFormat(specOffer.savings) + '</span></td>';
			specOffers += '			</tr>';
		}
	}
	
	if(packString || accString) {
		finalString += '			<tr>';
		finalString += '              <td><b>'+ hdrPackagesAccessories +':</b></td>';
		finalString += '			  <td style="text-align: right;">$'+ pack_total +'</td>';
		finalString += '			</tr>';
	}
	
	if(premium_paint) {
		finalString += '			<tr>';
		finalString += '              <td><b>'+ hdrPremiumPaintCharge +':</b></td>';
		finalString += '			  <td style="text-align: right;">$'+ moneyFormat(premium_paint) +'</td>';
		finalString += '			</tr>';
	}
	
	if(specOffers) {
		finalString += '			<tr>';
		finalString += '              <td><b class="red">'+ hdrSpecialOffers +':</b></td>';
		finalString += '			  <td>&nbsp;</td>';
		finalString += '			</tr>';
		finalString += specOffers;
	}
	
	finalString += '            <tr>';
	finalString += '              <td class="total">'+ txtTotal +'</td>';
	finalString += '              <td class="total" style="text-align: right;width:105px;">$' + moneyFormat(myCar.totalPrice) + '</td>';
	finalString += '            </tr>';
	finalString += '          </table>';
	finalString += '          <h1>'+ txtClosestDealer +':</h1>';
	finalString += '          <div class="dealer">';
	finalString += '            <h2>' + myCar.dealer.name + '</h2>';
	finalString += myCar.dealer.address;
	finalString += '<br/>';
	finalString += myCar.dealer.city + ", " + myCar.dealer.state + " " + myCar.dealer.zip + '<br/>';
	finalString += myCar.dealer.phone;
	finalString += '</div>';
//	finalString += '          <small>' + getItem('bprDisclaimerDiv').innerHTML + '</small></div></td>';
	finalString += '      <td class="column right"><div class="heading" style="text-align:left;padding:9px 15px">'+ hdrStdFeatures +'</div>';
	finalString += '        <div class="content">' + myCar.trimFeatures.replace(/<\/?a.*?>/g,"")  + '</div></td>';
	finalString += '    </tr>';
	finalString += '  </table>';
	finalString += '    <table cellpadding="0" cellspacing="2" border="0" width="668" style="margin-top:3px;"><tr>';
	finalString += '      <td class="column left"><div class="heading">'+ hdrPackages +'</div>';
	finalString += '        <div class="content">';
	finalString += '          <p id="bprFinishedPac">' + pacList + '</p>';
	finalString += '        </div></td>';
	finalString += '      <td class="column right"><div class="heading">'+ hdrAccessories +'</div>';
	finalString += '        <div class="content">';
	finalString += '          <p id="bprFinishedAcc">' + accList + '</p>';
	finalString += '        </div></td>';
	finalString += '    </tr>';
	finalString += '  </table>';
	finalString += '    <style type="text/css" media="screen"> .nodisplay { display: none; }</style><style type="text/css" media="print"> .nodisplay { display: block; }</style>';
	finalString += '    <!--[If IE]><div class="nodisplay">&nbsp;</div><![endif]--><div class="nodisplay" style="margin:0;padding:0;border:0;">&nbsp;</div><!--[If IE]><div class="nodisplay">&nbsp;</div><![endif]-->';
	finalString += '	<table cellpadding="0" cellspacing="2" width="669" style="margin-top:3px;"><tr>';
	finalString += '      <td colspan="2" class="column"><div class="heading">'+ hdrWarranty +'</div>';
	finalString += '        <div class="content">';
	finalString += '          <table cellpadding="0" cellspacing="0" border="0">';
	finalString += '            <tr>';
	finalString += '              <td id="warrantyCol1" class="warranty_first">' + vehWar1 + '</td>';
	finalString += '              <td id="warrantyCol2" class="warranty">' + vehWar2 + '</td>';
	finalString += '              <td id="warrantyCol3" class="warranty">' + vehWar3 + '</td>';
	finalString += '              <td id="warrantyCol4" class="warranty_final">' + vehWar4 + '</td>';
	finalString += '            </tr>';
	finalString += '          </table>';
	finalString += '        </div></td></tr>';
	finalString += '    </table>';

	if(packString || accString) {
		finalString += ' <table style="border:4px solid black;margin-top:5px"  cellpadding="5" cellspacing="0" width="668">';
		finalString += '	<tr><th colspan="2" style="color: #999;text-align:left;padding-left:15px;background-color:#000;border-bottom: 2px solid #000;">'+ hdrPackagesAccessories +" "+ txtList +':</th></tr>';
		finalString += packString;
		finalString += accString;
		finalString += '			<tr>';
		finalString += '              <td style="padding-left: 15px;border-right: 2px solid #000;border-top: 2px solid #000"><b>'+ hdrPackagesAccessories +' Total:</b></td>';
		finalString += '			  <td style="padding-right: 20px;text-align:right;border-top: 2px solid #000"><b>$'+ pack_total +'</b></td>';
		finalString += '			</tr>';
		finalString += ' </table>';
	}
	
	finalString += '</div><script type="text/javascript">window.onload=function(){setTimeout("window.print()",1000)}</script>';
	
//	<!-- Start of DoubleClick Spotlight Tag: Please do not remove-->
//	<!-- Activity Name for this tag is: Print Details Page -->
//	<!-- Web site URL where tag should be placed: http://www.mitsubishicars.com/MMNA/jsp/build.do? - Call Tag after user has submitted zip code and hit "print details" button -->
//	<!-- This tag must be placed within the opening <body> tag, as close to the beginning of it as possible-->
//	<!-- End of DoubleClick Spotlight Tag: Please do not remove-->
	var axel = Math.random()+""; var a = axel * 10000000000000;

	finalString += '<IFRAME SRC="http://fls.doubleclick.net/activityi;src=1033846;type=elead741;cat=print634;ord='+ a + '?" WIDTH=1 HEIGHT=1 FRAMEBORDER=0 style="display:NONE;background-color: transparent;"></IFRAME>';
	
	var openDirs = window.open("about:blank", "finalModel", "status=0,menubar=1,scrollbars=1,width=690,height=530");
	openDirs.document.write(finalString.replace(/undefined/g,""));
	openDirs.document.close();
	openDirs.focus();
}


var showHideElements = new Array();
showHideElements.push("phoneType");
showHideElements.push("state");
showHideElements.push("timeframe");
showHideElements.push("currentMake");
showHideElements.push("currentModel");
showHideElements.push("currentYear");

function showHideFields() {
	var offerFormDiv = getItem('bprRfqForm');

	var elementCount = (offerFormDiv.style.visibility != "visible")?0:showHideElements.length;
	for(var i = 0; i < elementCount; i++) {
		var elemRef = getItem(showHideElements[i]);
		if(elemRef) {
			if(elemRef.style.visibility != "hidden") {
				elemRef.style.visibility = "hidden";
			}
			else {
				elemRef.style.visibility = "visible";
			}
		}
	}
}

function checkSuccess() {
	if (success) {
		var axel = Math.random()+"";
		var a = axel * 10000000000000;
		var model_num = $('#modelIdOfInterest').val().toString();
		var offerCarImg = "";
		var additional_thankyou = "";
		var modelName = "";
		// pull this from a service, not hardcoded
		switch(model_num) {
			case "100022":case "100014":case "100031":case "100040":case "100050":
				offerCarImg = 'Lancer';
				modelName = 'Lancer';
				break;
			case "100028":case "100038":
				offerCarImg = 'Endeavor';
				modelName = 'Endeavor';
				break;
			case "100020":case "100018":case "100034":case "100039":case "100049":
				offerCarImg = 'Galant';
				modelName = 'Galant';
				break;
			case "100025":case "100015":case "100029":case "100036":case "100046":
				offerCarImg = 'Eclipse';
				modelName = 'Eclipse';
				break;
			case "100024":case "100016":case "100030":case "100037":case "100047":
				offerCarImg = 'EclipseSpyder';
				modelName = 'Eclipse Spyder';
				break;
			case "100033":case "100041":
				offerCarImg = 'LancerSportback';
				modelName = 'Lancer Sportback';
				break;
			case "100026":case "100019":case "100035":case "100042":case "100048":
				offerCarImg = 'Outlander';
				modelName = 'Outlander';
				break;
			case "100044":case "100053":
				offerCarImg = 'OutlanderSport';
				modelName = 'Outlander Sport';
				break;
			case "100027":case "100023":
				offerCarImg = 'Raider';
				modelName = 'Raider';
				break;
			case "100021":case "100032":case "100043":
				offerCarImg = 'LancerEVO';
				modelName = 'Lancer Evolution';
				break;
			case "100017":
				offerCarImg = 'Endeavor';
				modelName = 'Endeavor';
				break;
			default:
				offerCarImg = 'Lancer';
				modelName = 'Lancer';
		}
		var x=document.getElementById("modelIdOfInterest");
		thanksDiv = getItem('commonOfferThankYou');
		formDiv = getItem('form');
		formDiv.style.visibility = 'hidden';
		formDiv.style.position = 'absolute';
		

		try { //Displays Thanks for B&P
			var selectedDealerList = $(document).data('selectedDealers');
			var selectedDealer = selectedDealerList.shift();

			msgString = '<div style="padding:10px"><div style="width: 340px; font-weight:bold">' + selectedDealer.name + '</div><div style="padding: 5px">';
			msgString += selectedDealer.address + "<br/>";
			msgString += selectedDealer.city + ", " + selectedDealer.state + " " + selectedDealer.zip + "<br/>";
			msgString += selectedDealer.phone + "</div></div>";
			
			$("#thankYouList").append (msgString);
			
			hideRFQ();
			//omPostVars.push("{name: 'zip', value: '" + sessionZipCode + "'}");
		} catch (e) { //Displays Thanks elsewhere
			
			try {
				getItem('broIntro').style.visibility = "hidden";
				getItem('broIntro').style.position = 'absolute';
			} catch (e) {}
			thanksDiv.innerHTML = message;
			thanksDiv.style.visibility = 'visible';
			thanksDiv.style.display = 'block';
			//thanksDiv.style.position = 'absolute';
		}

		//make sure we're back at page's top:
		try {
			document.getElementById("offerDisplay").style.visibility="hidden";
			if (formName == "xxxspecialoffersForm") {
				for(var i = 1; i < showHideElements.length; i++) {
					var elemRef = getItem(showHideElements[i]);
					if(elemRef) {
						elemRef.style.display = "none";
					}
				}
			}
		} catch (e) {}
		window.scrollTo(0,0);
		//surveyRequest ('kpi', 'iv');
	
	} else {
		errorDiv = getItem('errorField');
		errorDiv.innerHTML = message;
		errorDiv.style.position = 'relative';
		errorDiv.style.visibility = 'visible';
		if (failedFields != "") {
			for (i = 0; i < failedFields.length; i++) {
				failedDiv = getItem(failedFields[i] + "div");
				failedDiv.className = "commonOfferFieldError";
			}
		}
	}
}

function omnitureRequestAQuote (dealer_string) {
	var current_model = myCar.modelName;
	var omString = ""; //Omniture string
	var omPostVars = new Array();
	      				
	current_model = $.trim(current_model);
	model_year = current_model.slice(0, 4);			
	model_name = current_model.slice(5);
	model_name = model_name.toLowerCase();
	modelName_noSpace = model_name.replace(" ", "");

	//Reset formThanksPageName and formName with the updated omniture values (Oct 2010) 
	formThanksPageName = "mc:vehicle:" + modelName_noSpace + model_year + ":shop:build-price:request-quote:submit";
	formName = "";
	omPostVars.push("{name: 'eVar1', value: '" + model_year + "'}");
	omPostVars.push("{name: 'eVar2', value: '" + model_name + "'}");
	//omPostVars.push("{name: 'eVar3', value: '" + strCurrSelAccessories + "'}");
	omPostVars.push("{name: 'eVar12', value: 'mc:vehicle:shop:build-price:request-quote:submit'}");
	omPostVars.push("{name: 'eVar19', value: ''}");
	omPostVars.push("{name: 'eVar28', value: '" + dealer_string + "'}");
	omPostVars.push("{name: 'prop1', value: '" + model_year + "'}");
	omPostVars.push("{name: 'prop2', value: '" + model_name + "'}");
	omPostVars.push("{name: 'prop12', value: '" + dealer_string + "'}");
	omPostVars.push("{name: 'prop19', value: 'mc:vehicle:shop:build-price:request-quote:submit'}");
	omPostVars.push("{name: 'events', value: 'event8,event16,purchase'}");
	omPostVars.push("{name: 'products', value: 'build-price-quote;" + modelName_noSpace 
			+ model_year + ";1;" + myCar.totalPrice + "'}");
	omPostVars.push("{name: 'purchaseID', value: '" + transactionId + "'}");
	omPostVars.push("{name: 'eVar4', value: '"+formName+"'}");
	omPostVars.push("{name: 'pageName', value: '"+formThanksPageName+"'}");
	omString = "var variables = [" + omPostVars.toString() + "]";
	bubbleSequentialEvent(omString);  
}

// retained from commonOffer.js
var isNav4 = (document.layers)? true:false;
var success = false;
var failedFields = new Array();
var invalidFields = new Array();

var omString = ""; //Omniture string
var omPostVars = new Array();

// dynamic dropdown - global variables...
var first_option_index = 1;		// first option (0 is 'choose a ...' 1 is a dashed line)
var change1 = false, change2 = false, change3 = false;

// object constructors
function dyn_dropdown(form_name, lyr){
	this.form = form_name;
	this.lyr = lyr;
	this.form_reference = form_reference;
	this.brands = new Array();
	this.add_brand = add_brand;
	this.load_brands = load_brands;
	this.change_brand = change_brand;
	this.load_choices = load_choices;
	this.clear_choices = clear_choices;
}
function form_reference(){
	var form_obj = null;
	if (isNav4){
		if (this.lyr) form_obj = eval("document." + this.lyr + ".document." + this.form);
		else form_obj = eval("document." + this.form);
	}
	else form_obj = eval("document." + this.form);
	return form_obj;
}
function add_brand(name){
	this.brands[this.brands.length] = new brand(name);
}
function load_brands()
   {
   	var i = first_option_index;
	var form_obj = this.form_reference();

	//alert("brand1 altered to :"+makeValue1);
	for (var j = 0; j < this.brands.length; j++)
	{
		if(this.brands[j].name == makeValue1){
			//alert("brand1 inside altered to :"+makeValue1);
			form_obj.elements[makeTag1].options[i] = new Option(this.brands[j].name, this.brands[j].name,false, true);
			form_obj.elements[makeTag1].selectedIndex = i;
			change1 = true;
			//alert(" change1 value "+change1);
		} else {
			if(makeTag1 != ""){
			 form_obj.elements[makeTag1].options[i] = new Option(this.brands[j].name, this.brands[j].name);
			}

		}
		if(this.brands[j].name == makeValue2){
			//alert("brand2 altered to :"+"<%=veh2%>");
			if (form_obj.elements[makeTag2]) {
				form_obj.elements[makeTag2].options[i] = new Option(this.brands[j].name, this.brands[j].name,false, true);
				form_obj.elements[makeTag2].selectedIndex = i;
			}
			change2 = true;
		} else {
			if((makeTag2 != "") && form_obj.elements[makeTag2].options) {
			 form_obj.elements[makeTag2].options[i] = new Option(this.brands[j].name, this.brands[j].name);
			}
		}
		if(this.brands[j].name == makeValue3){
			//alert("brand3 altered to :"+"<%=veh3%>");
			if (form_obj.elements[makeTag3]) {
				form_obj.elements[makeTag3].options[i] = new Option(this.brands[j].name, this.brands[j].name, false,true);
				form_obj.elements[makeTag3].selectedIndex = i;
			}
			change3 = true;
		} else {
			if((makeTag3 != "") && form_obj.elements[makeTag3]){
			 form_obj.elements[makeTag3].options[i] = new Option(this.brands[j].name, this.brands[j].name);
			}
		}
		i++;
	}
}
function change_brand(obj,cnt){
	//var form_obj = this.form_reference();
	this.clear_choices(cnt);
	//this.load_choices(form_obj.brand.selectedIndex);
	//alert("value for brand_index in change for text "+obj.text);
	//alert("value for brand_index in change for boolean "+obj.selected);
	//alert("value for brand_index in change"+obj.selectedIndex);
	//alert("length for brand_index in change"+obj.length);
	this.load_choices(obj.selectedIndex,cnt);
}
function clear_choices(cnt){
	var form_obj = this.form_reference();
	if(cnt == 1){
		total_choices = form_obj.elements[modelTag1].length;
		for (var i = first_option_index; i < total_choices; i++){
			form_obj.elements[modelTag1].options[i] = new Option('','');
			}
		form_obj.elements[modelTag1].options.length = 2;
		}
	if(cnt == 2){
		total_choices = form_obj.elements[modelTag2].length;
		for (var i = first_option_index; i < total_choices; i++){
			form_obj.elements[modelTag2].options[i] = new Option('','');
			}
		form_obj.elements[modelTag2].options.length = 2;
		}
	if(cnt == 3){
		total_choices = form_obj.elements[modelTag3].length;
		for (var i = first_option_index; i < total_choices; i++){
			form_obj.elements[modelTag3].options[i] = new Option('','');
			}
		form_obj.elements[modelTag3].options.length = 2;
		}
}
function load_choices(brand_index,cnt){
	var form_obj = this.form_reference();
	if (cnt == 1){
			//alert("value for brand_index"+brand_index);
			//alert("value for first_option_index "+first_option_index);
			if (brand_index < first_option_index){
			//alert("inside");
			form_obj.elements[makeTag1].selectedIndex = 0;
			}
			else {
				var selected_brand = eval(this.brands[brand_index-first_option_index]);
				var i = first_option_index;
				//alert("model1 changed to:"+modelValue1);
				for (var j = 0; j < selected_brand.choices.length; j++){
					var val = selected_brand.choices[j].name;
					if(val==modelValue1){
						//alert("model1 inside changed to:"+modelValue1);
						form_obj.elements[modelTag1].options[i] = new Option(selected_brand.choices[j].name, selected_brand.choices[j].name, true, true);
						form_obj.elements[modelTag1].selectedIndex = i;
					} else {
						form_obj.elements[modelTag1].options[i] = new Option(selected_brand.choices[j].name, selected_brand.choices[j].name);
					}
					i++;
				}
			}
	}
	if (cnt == 2){
			if (brand_index < first_option_index)	form_obj.elements[makeTag2].selectedIndex = 0;
			else {
				var selected_brand = eval(this.brands[brand_index-first_option_index]);
				var i = first_option_index;
				for (var j = 0; j < selected_brand.choices.length; j++){
					var val = selected_brand.choices[j].name;
					if(val==modelValue2){
						//alert("model2 changed to:"+val);
						form_obj.elements[modelTag2].options[i] = new Option(selected_brand.choices[j].name, selected_brand.choices[j].name, true , true);
						form_obj.elements[modelTag2].selectedIndex = i;
					} else {
						form_obj.elements[modelTag2].options[i] = new Option(selected_brand.choices[j].name, selected_brand.choices[j].name);
					}
					i++;
				}
			}
	}
	if (cnt == 3){
			if (brand_index < first_option_index)	form_obj.elements[makeTag3].selectedIndex = 0;
			else {
				var selected_brand = eval(this.brands[brand_index-first_option_index]);
				var i = first_option_index;
				for (var j = 0; j < selected_brand.choices.length; j++){
					var val = selected_brand.choices[j].name;
					if(val == modelValue3){
						//alert("model3 changed to:"+val);
						form_obj.elements[modelTag3].options[i] = new Option(selected_brand.choices[j].name, selected_brand.choices[j].name, true, true);
						form_obj.elements[modelTag3].selectedIndex = i;
					} else {
						form_obj.elements[modelTag3].options[i] = new Option(selected_brand.choices[j].name, selected_brand.choices[j].name);
					}
					i++;
				}
			}
	}
}
function brand(name){
	this.name = name;
	this.choices = new Array();
	this.add_choice = add_choice;
	return this;
}
function choice(name, id){
	this.name = name;
	this.id = id;
	return this;
}
function add_choice(name, id){
	this.choices[this.choices.length] = new choice(name, id);
}
var vehicle_selector = new dyn_dropdown('xxxbuildForm', '');
function init_vehicle_selector()
{


vehicle_selector.add_brand('ACURA');
vehicle_selector.brands[0].add_choice('RSX' ,'1');
vehicle_selector.brands[0].add_choice('TSX' ,'2');
vehicle_selector.brands[0].add_choice('RL' ,'3');
vehicle_selector.brands[0].add_choice('TL' ,'4');
vehicle_selector.brands[0].add_choice('NSX' ,'5');
vehicle_selector.brands[0].add_choice('MDX' ,'6');
vehicle_selector.add_brand('AUDI');
vehicle_selector.brands[1].add_choice('A4' ,'7');
vehicle_selector.brands[1].add_choice('A6' ,'8');
vehicle_selector.brands[1].add_choice('A8 L' ,'9');
vehicle_selector.brands[1].add_choice('allroad quattro' ,'10');
vehicle_selector.brands[1].add_choice('S4 Sedan' ,'11');
vehicle_selector.brands[1].add_choice('S4 Avant' ,'12');
vehicle_selector.brands[1].add_choice('RS 6' ,'13');
vehicle_selector.brands[1].add_choice('S6 Avant' ,'14');
vehicle_selector.brands[1].add_choice('TT Coupe' ,'15');
vehicle_selector.brands[1].add_choice('TT Roadster' ,'16');
vehicle_selector.add_brand('BMW');
vehicle_selector.brands[2].add_choice('3 Series' ,'17');
vehicle_selector.brands[2].add_choice('5 Series' ,'18');
vehicle_selector.brands[2].add_choice('6 Series' ,'19');
vehicle_selector.brands[2].add_choice('7 Series' ,'20');
vehicle_selector.brands[2].add_choice('M3' ,'21');
vehicle_selector.brands[2].add_choice('M5' ,'22');
vehicle_selector.brands[2].add_choice('X3' ,'23');
vehicle_selector.brands[2].add_choice('X5' ,'24');
vehicle_selector.brands[2].add_choice('Z4' ,'25');
vehicle_selector.brands[2].add_choice('Z8 Alpina' ,'26');
vehicle_selector.add_brand('BUICK');
vehicle_selector.brands[3].add_choice('Park Avenue' ,'27');
vehicle_selector.brands[3].add_choice('Regal' ,'28');
vehicle_selector.brands[3].add_choice('LeSabre' ,'29');
vehicle_selector.brands[3].add_choice('Century' ,'30');
vehicle_selector.brands[3].add_choice('Ranier' ,'31');
vehicle_selector.brands[3].add_choice('Rendezvous' ,'32');
vehicle_selector.add_brand('CADILLAC');
vehicle_selector.brands[4].add_choice('XLR' ,'33');
vehicle_selector.brands[4].add_choice('CTS' ,'34');
vehicle_selector.brands[4].add_choice('DeVille' ,'35');
vehicle_selector.brands[4].add_choice('Seville' ,'36');
vehicle_selector.brands[4].add_choice('SRX' ,'37');
vehicle_selector.brands[4].add_choice('Escalade' ,'38');
vehicle_selector.brands[4].add_choice('Escalade ESV' ,'39');
vehicle_selector.brands[4].add_choice('Escalade EXT' ,'40');
vehicle_selector.add_brand('CHEVROLET');
vehicle_selector.brands[5].add_choice('Aveo' ,'41');
vehicle_selector.brands[5].add_choice('Cavalier' ,'42');
vehicle_selector.brands[5].add_choice('Corvette' ,'43');
vehicle_selector.brands[5].add_choice('Malibu' ,'44');
vehicle_selector.brands[5].add_choice('Malibu MAXX' ,'45');
vehicle_selector.brands[5].add_choice('Monte Carlo' ,'46');
vehicle_selector.brands[5].add_choice('Impala' ,'47');
vehicle_selector.add_brand('CHEVROLET - SUV/TRUCK');
vehicle_selector.brands[6].add_choice('Tracker' ,'48');
vehicle_selector.brands[6].add_choice('Blazer' ,'49');
vehicle_selector.brands[6].add_choice('TrailBlazer' ,'50');
vehicle_selector.brands[6].add_choice('Tahoe' ,'51');
vehicle_selector.brands[6].add_choice('Suburban' ,'52');
vehicle_selector.brands[6].add_choice('S-10' ,'53');
vehicle_selector.brands[6].add_choice('Colorado' ,'54');
vehicle_selector.brands[6].add_choice('Silverado' ,'55');
vehicle_selector.brands[6].add_choice('Avalanche' ,'56');
vehicle_selector.brands[6].add_choice('Astro' ,'57');
vehicle_selector.brands[6].add_choice('Express Cargo Van' ,'58');
vehicle_selector.brands[6].add_choice('Venture' ,'59');
vehicle_selector.add_brand('CHRYSLER');
vehicle_selector.brands[7].add_choice('Crossfire' ,'60');
vehicle_selector.brands[7].add_choice('PT Cruiser' ,'61');
vehicle_selector.brands[7].add_choice('Sebring' ,'62');
vehicle_selector.brands[7].add_choice('Sebring Convertible' ,'63');
vehicle_selector.brands[7].add_choice('Concorde' ,'64');
vehicle_selector.brands[7].add_choice('300 M' ,'65');
vehicle_selector.brands[7].add_choice('Pacifica' ,'66');
vehicle_selector.brands[7].add_choice('Town&Country' ,'67');
vehicle_selector.add_brand('DODGE');
vehicle_selector.brands[8].add_choice('Neon' ,'68');
vehicle_selector.brands[8].add_choice('SRT-4' ,'69');
vehicle_selector.brands[8].add_choice('Intrepid' ,'70');
vehicle_selector.brands[8].add_choice('Stratus' ,'71');
vehicle_selector.brands[8].add_choice('Viper' ,'72');
vehicle_selector.add_brand('DODGE - SUV/TRUCK');
vehicle_selector.brands[9].add_choice('Durango' ,'73');
vehicle_selector.brands[9].add_choice('Dakota' ,'74');
vehicle_selector.brands[9].add_choice('RAM' ,'75');
vehicle_selector.brands[9].add_choice('RAM SRT-10' ,'76');
vehicle_selector.brands[9].add_choice('Sprinter' ,'77');
vehicle_selector.add_brand('FORD');
vehicle_selector.brands[10].add_choice('Focus LX Sedan' ,'78');
vehicle_selector.brands[10].add_choice('Focus ZX 3' ,'79');
vehicle_selector.brands[10].add_choice('Focus ZX 5' ,'80');
vehicle_selector.brands[10].add_choice('Focus SE Sedan' ,'81');
vehicle_selector.brands[10].add_choice('Focus SE Wagon' ,'82');
vehicle_selector.brands[10].add_choice('Focus ZTW Wagon' ,'83');
vehicle_selector.brands[10].add_choice('Focus SVT' ,'84');
vehicle_selector.brands[10].add_choice('Mustang' ,'85');
vehicle_selector.brands[10].add_choice('Mustang Convertible' ,'86');
vehicle_selector.brands[10].add_choice('Mustang GT' ,'87');
vehicle_selector.brands[10].add_choice('Mustang GT Convertible' ,'88');
vehicle_selector.brands[10].add_choice('Mustang Mach 1' ,'89');
vehicle_selector.brands[10].add_choice('Mustang SVT Cobra' ,'90');
vehicle_selector.brands[10].add_choice('Taurus LX' ,'91');
vehicle_selector.brands[10].add_choice('Taurus SE' ,'92');
vehicle_selector.brands[10].add_choice('Taurus SE Wagon ' ,'93');
vehicle_selector.brands[10].add_choice('Taurus SES ' ,'94');
vehicle_selector.brands[10].add_choice('Taurus SEL' ,'95');
vehicle_selector.brands[10].add_choice('Taurus SEL Wagon' ,'96');
vehicle_selector.brands[10].add_choice('Crown Victoria' ,'97');
vehicle_selector.brands[10].add_choice('Thunderbird' ,'98');
vehicle_selector.add_brand('FORD - SUV/TRUCK');
vehicle_selector.brands[11].add_choice('Escape' ,'99');
vehicle_selector.brands[11].add_choice('Escape Hybrid' ,'100');
vehicle_selector.brands[11].add_choice('Explorer Sport Trac' ,'101');
vehicle_selector.brands[11].add_choice('Explorer' ,'102');
vehicle_selector.brands[11].add_choice('Expedition' ,'103');
vehicle_selector.brands[11].add_choice('Excursion' ,'104');
vehicle_selector.brands[11].add_choice('Ranger' ,'105');
vehicle_selector.brands[11].add_choice('F-150' ,'106');
vehicle_selector.brands[11].add_choice('F-250' ,'107');
vehicle_selector.brands[11].add_choice('F-350' ,'108');
vehicle_selector.brands[11].add_choice('E-Series Van' ,'109');
vehicle_selector.add_brand('GMC');
vehicle_selector.brands[12].add_choice('Envoy' ,'110');
vehicle_selector.brands[12].add_choice('Envoy XUV' ,'111');
vehicle_selector.brands[12].add_choice('Yukon' ,'112');
vehicle_selector.brands[12].add_choice('Sierra' ,'113');
vehicle_selector.brands[12].add_choice('Canyon' ,'114');
vehicle_selector.brands[12].add_choice('Sonoma' ,'115');
vehicle_selector.brands[12].add_choice('Safari' ,'116');
vehicle_selector.add_brand('HONDA');
vehicle_selector.brands[13].add_choice('Civic Value Pkg. Sedan' ,'117');
vehicle_selector.brands[13].add_choice('Civic HX Sedan' ,'118');
vehicle_selector.brands[13].add_choice('Civic LX Sedan' ,'119');
vehicle_selector.brands[13].add_choice('Civic EX Sedan' ,'120');
vehicle_selector.brands[13].add_choice('Civic Value Pkg. Coupe' ,'121');
vehicle_selector.brands[13].add_choice('Civic HX Coupe' ,'122');
vehicle_selector.brands[13].add_choice('Civic LX Coupe' ,'123');
vehicle_selector.brands[13].add_choice('Civic EX Coupe' ,'124');
vehicle_selector.brands[13].add_choice('Civic Si' ,'125');
vehicle_selector.brands[13].add_choice('Accord LX Sedan' ,'126');
vehicle_selector.brands[13].add_choice('Accord LX V6 Sedan' ,'127');
vehicle_selector.brands[13].add_choice('Accord EX Sedan' ,'128');
vehicle_selector.brands[13].add_choice('Accord EX V6 Sedan' ,'129');
vehicle_selector.brands[13].add_choice('Accord LX Coupe' ,'130');
vehicle_selector.brands[13].add_choice('Accord LX V6 Coupe' ,'131');
vehicle_selector.brands[13].add_choice('Accord EX Coupe' ,'132');
vehicle_selector.brands[13].add_choice('Accord EX V6 Coupe' ,'133');
vehicle_selector.brands[13].add_choice('S2000' ,'134');
vehicle_selector.brands[13].add_choice('CR-V' ,'135');
vehicle_selector.brands[13].add_choice('Pilot' ,'136');
vehicle_selector.brands[13].add_choice('Odyssey' ,'137');
vehicle_selector.add_brand('HYUNDAI');
vehicle_selector.brands[14].add_choice('Accent' ,'138');
vehicle_selector.brands[14].add_choice('Elantra' ,'139');
vehicle_selector.brands[14].add_choice('Sonata' ,'140');
vehicle_selector.brands[14].add_choice('XG350' ,'141');
vehicle_selector.brands[14].add_choice('Tiburon' ,'142');
vehicle_selector.brands[14].add_choice('Santa Fe' ,'143');
vehicle_selector.add_brand('INFINITI');
vehicle_selector.brands[15].add_choice('I35' ,'144');
vehicle_selector.brands[15].add_choice('G35 Sedan' ,'145');
vehicle_selector.brands[15].add_choice('G35 Coupe' ,'146');
vehicle_selector.brands[15].add_choice('Q45' ,'147');
vehicle_selector.brands[15].add_choice('M45' ,'148');
vehicle_selector.brands[15].add_choice('FX' ,'149');
vehicle_selector.add_brand('ISUZU');
vehicle_selector.brands[16].add_choice('Rodeo' ,'150');
vehicle_selector.brands[16].add_choice('Axiom' ,'151');
vehicle_selector.brands[16].add_choice('Ascender' ,'152');
vehicle_selector.add_brand('JAGUAR');
vehicle_selector.brands[17].add_choice('X-Type' ,'153');
vehicle_selector.brands[17].add_choice('S-Type' ,'154');
vehicle_selector.brands[17].add_choice('XJ' ,'155');
vehicle_selector.brands[17].add_choice('XK' ,'156');
vehicle_selector.add_brand('JEEP');
vehicle_selector.brands[18].add_choice('Wrangler' ,'157');
vehicle_selector.brands[18].add_choice('Liberty' ,'158');
vehicle_selector.brands[18].add_choice('Grand Cherokee' ,'159');
vehicle_selector.add_brand('KIA');
vehicle_selector.brands[19].add_choice('Rio' ,'160');
vehicle_selector.brands[19].add_choice('Rio Cinco' ,'161');
vehicle_selector.brands[19].add_choice('Spectra 4-dr.' ,'162');
vehicle_selector.brands[19].add_choice('Spectra LS 4-dr.' ,'163');
vehicle_selector.brands[19].add_choice('Spectra GS 5-dr.' ,'164');
vehicle_selector.brands[19].add_choice('Spectra GSX 5-dr.' ,'165');
vehicle_selector.brands[19].add_choice('Optima LX' ,'166');
vehicle_selector.brands[19].add_choice('Optima LX V6' ,'167');
vehicle_selector.brands[19].add_choice('Optima EX' ,'168');
vehicle_selector.brands[19].add_choice('Optima EX V6' ,'169');
vehicle_selector.brands[19].add_choice('Amanti' ,'170');
vehicle_selector.brands[19].add_choice('Sorento' ,'171');
vehicle_selector.brands[19].add_choice('Sedona' ,'172');
vehicle_selector.add_brand('LAND ROVER');
vehicle_selector.brands[20].add_choice('Freelander SE3' ,'173');
vehicle_selector.brands[20].add_choice('Freelander' ,'174');
vehicle_selector.brands[20].add_choice('Discovery' ,'175');
vehicle_selector.brands[20].add_choice('Range Rover' ,'176');
vehicle_selector.add_brand('LEXUS');
vehicle_selector.brands[21].add_choice('IS 300' ,'177');
vehicle_selector.brands[21].add_choice('IS 300 SportCross' ,'178');
vehicle_selector.brands[21].add_choice('GS 430' ,'179');
vehicle_selector.brands[21].add_choice('ES 330' ,'180');
vehicle_selector.brands[21].add_choice('GS 300' ,'181');
vehicle_selector.brands[21].add_choice('GS 430' ,'182');
vehicle_selector.brands[21].add_choice('LS 430' ,'183');
vehicle_selector.brands[21].add_choice('SC 430' ,'184');
vehicle_selector.brands[21].add_choice('RX 330' ,'185');
vehicle_selector.brands[21].add_choice('GX 470 ' ,'186');
vehicle_selector.brands[21].add_choice('LX 470' ,'187');
vehicle_selector.add_brand('LINCOLN');
vehicle_selector.brands[22].add_choice('LS' ,'188');
vehicle_selector.brands[22].add_choice('Town Car' ,'189');
vehicle_selector.brands[22].add_choice('Aviator' ,'190');
vehicle_selector.brands[22].add_choice('Navigator' ,'191');
vehicle_selector.add_brand('MAZDA');
vehicle_selector.brands[23].add_choice('3 i' ,'192');
vehicle_selector.brands[23].add_choice('3 s' ,'193');
vehicle_selector.brands[23].add_choice('Proteg&eacute; DX' ,'194');
vehicle_selector.brands[23].add_choice('Proteg&eacute; LX' ,'195');
vehicle_selector.brands[23].add_choice('Proteg&eacute; ES' ,'196');
vehicle_selector.brands[23].add_choice('MAZDASPEED Proteg&eacute;' ,'197');
vehicle_selector.brands[23].add_choice('Proteg&eacute; 5' ,'198');
vehicle_selector.brands[23].add_choice('6 i' ,'199');
vehicle_selector.brands[23].add_choice('6 s' ,'200');
vehicle_selector.brands[23].add_choice('MX-5 Miata' ,'201');
vehicle_selector.brands[23].add_choice('RX-8' ,'202');
vehicle_selector.add_brand('MAZDA - SUV/TRUCK');
vehicle_selector.brands[24].add_choice('Tribute' ,'203');
vehicle_selector.brands[24].add_choice('Cab Plus 4x2' ,'204');
vehicle_selector.brands[24].add_choice('Cab Plus 4x4' ,'205');
vehicle_selector.brands[24].add_choice('Regular Cab 4x2' ,'206');
vehicle_selector.brands[24].add_choice('MPV' ,'207');
vehicle_selector.add_brand('MERCEDES - BENZ');
vehicle_selector.brands[25].add_choice('C-Class' ,'208');
vehicle_selector.brands[25].add_choice('E-Class' ,'209');
vehicle_selector.brands[25].add_choice('S-Class' ,'210');
vehicle_selector.brands[25].add_choice('CLK-Class' ,'211');
vehicle_selector.brands[25].add_choice('CL-Class' ,'212');
vehicle_selector.brands[25].add_choice('SLK-Class' ,'213');
vehicle_selector.brands[25].add_choice('SL-Class' ,'214');
vehicle_selector.brands[25].add_choice('M-Class' ,'215');
vehicle_selector.brands[25].add_choice('G-Class' ,'216');
vehicle_selector.add_brand('MERCURY');
vehicle_selector.brands[26].add_choice('Sable' ,'217');
vehicle_selector.brands[26].add_choice('Grand Marquis' ,'218');
vehicle_selector.brands[26].add_choice('Marauder' ,'219');
vehicle_selector.brands[26].add_choice('Mountaineer' ,'220');
vehicle_selector.brands[26].add_choice('Monterey' ,'221');
vehicle_selector.add_brand('MINI');
vehicle_selector.brands[27].add_choice('Cooper' ,'222');
vehicle_selector.brands[27].add_choice('Cooper S' ,'223');
vehicle_selector.add_brand('MITSUBISHI');
vehicle_selector.brands[28].add_choice('3000GT' ,'224');
vehicle_selector.brands[28].add_choice('Lancer' ,'225');
vehicle_selector.brands[28].add_choice('Lancer Sportback' ,'226');
vehicle_selector.brands[28].add_choice('Mirage' ,'227');
vehicle_selector.brands[28].add_choice('Galant' ,'229');
vehicle_selector.brands[28].add_choice('Diamante' ,'230');
vehicle_selector.brands[28].add_choice('Eclipse' ,'231');
vehicle_selector.brands[28].add_choice('Eclipse Spyder' ,'232');
vehicle_selector.brands[28].add_choice('Lancer Evolution' ,'233');
vehicle_selector.brands[28].add_choice('Outlander' ,'234');
vehicle_selector.brands[28].add_choice('Montero Sport' ,'235');
vehicle_selector.brands[28].add_choice('Endeavor' ,'236');
vehicle_selector.brands[28].add_choice('Montero' ,'237');
vehicle_selector.add_brand('NISSAN');
vehicle_selector.brands[29].add_choice('Sentra 1.8' ,'238');
vehicle_selector.brands[29].add_choice('Sentra 1.8 S' ,'239');
vehicle_selector.brands[29].add_choice('Sentra 2.5 S' ,'240');
vehicle_selector.brands[29].add_choice('Altima 2.5 S' ,'241');
vehicle_selector.brands[29].add_choice('Altima 2.5 SL' ,'242');
vehicle_selector.brands[29].add_choice('Altima 3.5 SE' ,'243');
vehicle_selector.brands[29].add_choice('Maxima 3.5 SE' ,'244');
vehicle_selector.brands[29].add_choice('Maxima 3.5 SL' ,'245');
vehicle_selector.brands[29].add_choice('350 Z' ,'246');
vehicle_selector.brands[29].add_choice('350 Z Enthusiast Package' ,'247');
vehicle_selector.brands[29].add_choice('350 Z Performance Package' ,'248');
vehicle_selector.brands[29].add_choice('350 Z Touring Package' ,'249');
vehicle_selector.brands[29].add_choice('350 Z Track Package' ,'250');
vehicle_selector.add_brand('NISSAN - SUV/TRUCK');
vehicle_selector.brands[30].add_choice('Xterra' ,'251');
vehicle_selector.brands[30].add_choice('Murano SL' ,'252');
vehicle_selector.brands[30].add_choice('Murano SE' ,'253');
vehicle_selector.brands[30].add_choice('Pathfinder SE 4x2' ,'254');
vehicle_selector.brands[30].add_choice('Pathfinder SE 4x4' ,'255');
vehicle_selector.brands[30].add_choice('Pathfinder LE Platnium Edition 4 x 2' ,'256');
vehicle_selector.brands[30].add_choice('Pathfinder LE Platnium Edition 4 x 4' ,'257');
vehicle_selector.brands[30].add_choice('Frontier 4X2' ,'258');
vehicle_selector.brands[30].add_choice('Frontier 4X4' ,'259');
vehicle_selector.brands[30].add_choice('Titan' ,'260');
vehicle_selector.brands[30].add_choice('Quest' ,'261');
vehicle_selector.add_brand('OLDSMOBILE');
vehicle_selector.brands[31].add_choice('Alero' ,'262');
vehicle_selector.brands[31].add_choice('Bravada' ,'263');
vehicle_selector.brands[31].add_choice('Silhouette' ,'264');
vehicle_selector.add_brand('PONTIAC');
vehicle_selector.brands[32].add_choice('Sunfire' ,'265');
vehicle_selector.brands[32].add_choice('Vibe' ,'266');
vehicle_selector.brands[32].add_choice('Vibe GT' ,'267');
vehicle_selector.brands[32].add_choice('Grand AM' ,'268');
vehicle_selector.brands[32].add_choice('Grand Prix ' ,'269');
vehicle_selector.brands[32].add_choice('Bonneville' ,'270');
vehicle_selector.brands[32].add_choice('GTO' ,'271');
vehicle_selector.brands[32].add_choice('Aztek' ,'272');
vehicle_selector.brands[32].add_choice('Montana' ,'273');
vehicle_selector.add_brand('PORSCHE');
vehicle_selector.brands[33].add_choice('Boxter' ,'274');
vehicle_selector.brands[33].add_choice('911' ,'275');
vehicle_selector.brands[33].add_choice('Cayenne' ,'276');
vehicle_selector.add_brand('SAAB');
vehicle_selector.brands[34].add_choice('9-3 Sedan' ,'277');
vehicle_selector.brands[34].add_choice('9-3 Convertible' ,'278');
vehicle_selector.brands[34].add_choice('9-5 Sedan' ,'279');
vehicle_selector.brands[34].add_choice('9-5 Sportwagon' ,'280');
vehicle_selector.add_brand('SATURN');
vehicle_selector.brands[35].add_choice('ION Sedan' ,'281');
vehicle_selector.brands[35].add_choice('ION Quad Coupe' ,'282');
vehicle_selector.brands[35].add_choice('L300 Sedan' ,'283');
vehicle_selector.brands[35].add_choice('L300 Wagon' ,'284');
vehicle_selector.brands[35].add_choice('VUE FWD 4-cyl.' ,'285');
vehicle_selector.brands[35].add_choice('VUE AWD 4-cyl.' ,'286');
vehicle_selector.brands[35].add_choice('VUE FWD 6-cyl.' ,'287');
vehicle_selector.brands[35].add_choice('VUE AWD 6-cyl.' ,'288');
vehicle_selector.add_brand('SUBARU');
vehicle_selector.brands[36].add_choice('Impreza 2.5 RS Sedan' ,'289');
vehicle_selector.brands[36].add_choice('Impreza 2.5 RS Sport wagon' ,'290');
vehicle_selector.brands[36].add_choice('WRX Sedan' ,'291');
vehicle_selector.brands[36].add_choice('WRX Sport Wagon' ,'292');
vehicle_selector.brands[36].add_choice('WRX Sti' ,'293');
vehicle_selector.brands[36].add_choice('Legacy 2.5 GT Sedan' ,'294');
vehicle_selector.brands[36].add_choice('Legacy 2.5 GT Wagon' ,'295');
vehicle_selector.brands[36].add_choice('Legacy L Sedan' ,'296');
vehicle_selector.brands[36].add_choice('Legacy L Wagon' ,'297');
vehicle_selector.brands[36].add_choice('Outback Limited Sedan' ,'298');
vehicle_selector.brands[36].add_choice('Outback H6-3.0 Sedan' ,'299');
vehicle_selector.brands[36].add_choice('Outback H6-3.0 VDC Sedan' ,'300');
vehicle_selector.brands[36].add_choice('Outback Sport' ,'301');
vehicle_selector.brands[36].add_choice('Outback Wagon' ,'302');
vehicle_selector.brands[36].add_choice('Outback Limited Wagon' ,'303');
vehicle_selector.brands[36].add_choice('Outback H-6 3.0 Wagon' ,'304');
vehicle_selector.brands[36].add_choice('Outback H-6 3.0 VDC Wagon' ,'305');
vehicle_selector.brands[36].add_choice('Outback H-6 3.0 L.L. Bean Wagon' ,'306');
vehicle_selector.brands[36].add_choice('Outback H-6 3.0 35th Anniversary Wagon' ,'307');
vehicle_selector.brands[36].add_choice('Forrester 2.5 X' ,'308');
vehicle_selector.brands[36].add_choice('Forrester 2.5 XS' ,'309');
vehicle_selector.brands[36].add_choice('Forrester 2.5 XS Premium' ,'310');
vehicle_selector.brands[36].add_choice('Forrester 2.5 XT' ,'311');
vehicle_selector.brands[36].add_choice('Forrester 2.5 XT Premium' ,'312');
vehicle_selector.add_brand('SUZUKI');
vehicle_selector.brands[37].add_choice('Forenza S ' ,'313');
vehicle_selector.brands[37].add_choice('Forenza LX' ,'314');
vehicle_selector.brands[37].add_choice('Forenza EX' ,'315');
vehicle_selector.brands[37].add_choice('Aerio Sedan S' ,'316');
vehicle_selector.brands[37].add_choice('Aerio Sedan LX' ,'317');
vehicle_selector.brands[37].add_choice('Aerio Sedan LX AWD' ,'318');
vehicle_selector.brands[37].add_choice('Aerio SX Wagon' ,'319');
vehicle_selector.brands[37].add_choice('Aerio SX Wagon AWD' ,'320');
vehicle_selector.brands[37].add_choice('Verona S' ,'321');
vehicle_selector.brands[37].add_choice('Verona LX' ,'322');
vehicle_selector.brands[37].add_choice('Verona EX' ,'323');
vehicle_selector.brands[37].add_choice('Verona EX AWD' ,'324');
vehicle_selector.brands[37].add_choice('Vitara V6 LX 2WD' ,'325');
vehicle_selector.brands[37].add_choice('Vitara V6 LX 2WD' ,'326');
vehicle_selector.brands[37].add_choice('Grand Vitara LX 2WD' ,'327');
vehicle_selector.brands[37].add_choice('Grand Vitara LX 4WD' ,'328');
vehicle_selector.brands[37].add_choice('Grand Vitara EX 4WD' ,'329');
vehicle_selector.brands[37].add_choice('Grand Vitara EX 4WD' ,'330');
vehicle_selector.brands[37].add_choice('XL-7 LX 2WD' ,'331');
vehicle_selector.brands[37].add_choice('XL-7 LX 4WD' ,'332');
vehicle_selector.brands[37].add_choice('XL-7 EX 2WD' ,'333');
vehicle_selector.brands[37].add_choice('XL-7 EX 4WD' ,'334');
vehicle_selector.add_brand('TOYOTA');
vehicle_selector.brands[38].add_choice('ECHO Sedan' ,'335');
vehicle_selector.brands[38].add_choice('ECHO Coupe' ,'336');
vehicle_selector.brands[38].add_choice('Corolla CE' ,'337');
vehicle_selector.brands[38].add_choice('Corolla S' ,'338');
vehicle_selector.brands[38].add_choice('Corolla LE' ,'339');
vehicle_selector.brands[38].add_choice('Prius' ,'340');
vehicle_selector.brands[38].add_choice('Camry LE' ,'342');
vehicle_selector.brands[38].add_choice('Camry Limited' ,'343');
vehicle_selector.brands[38].add_choice('Camry SE' ,'344');
vehicle_selector.brands[38].add_choice('Camry XLE' ,'345');
vehicle_selector.brands[38].add_choice('Camry Solara SE' ,'346');
vehicle_selector.brands[38].add_choice('Camry Solara SE Sport' ,'347');
vehicle_selector.brands[38].add_choice('Camry Solara SLE' ,'348');
vehicle_selector.brands[38].add_choice('Avalon' ,'349');
vehicle_selector.brands[38].add_choice('Matrix' ,'350');
vehicle_selector.brands[38].add_choice('Matrix XR' ,'351');
vehicle_selector.brands[38].add_choice('Celica GT' ,'352');
vehicle_selector.brands[38].add_choice('Celica GTS' ,'353');
vehicle_selector.brands[38].add_choice('MR-2 Spyder' ,'354');
vehicle_selector.add_brand('TOYOTA - SUV/TRUCKS');
vehicle_selector.brands[39].add_choice('RAV 4' ,'355');
vehicle_selector.brands[39].add_choice('4Runner' ,'356');
vehicle_selector.brands[39].add_choice('Highlander' ,'357');
vehicle_selector.brands[39].add_choice('Land Cruiser' ,'358');
vehicle_selector.brands[39].add_choice('Tacoma 4X2' ,'359');
vehicle_selector.brands[39].add_choice('Tacoma 4X4' ,'360');
vehicle_selector.brands[39].add_choice('Tundra 4X2' ,'361');
vehicle_selector.brands[39].add_choice('Tundra 4X4' ,'362');
vehicle_selector.brands[39].add_choice('Sienna' ,'363');
vehicle_selector.add_brand('VOLKSWAGEN');
vehicle_selector.brands[40].add_choice('New Beetle' ,'364');
vehicle_selector.brands[40].add_choice('Golf' ,'365');
vehicle_selector.brands[40].add_choice('GTI' ,'366');
vehicle_selector.brands[40].add_choice('Jetta Sedan' ,'367');
vehicle_selector.brands[40].add_choice('Jetta Wagon' ,'368');
vehicle_selector.brands[40].add_choice('Passat' ,'369');
vehicle_selector.brands[40].add_choice('Passat Wagon' ,'370');
vehicle_selector.brands[40].add_choice('Toureg' ,'371');
vehicle_selector.add_brand('VOLVO');
vehicle_selector.brands[41].add_choice('S40' ,'372');
vehicle_selector.brands[41].add_choice('S60' ,'373');
vehicle_selector.brands[41].add_choice('S80' ,'374');
vehicle_selector.brands[41].add_choice('V40' ,'375');
vehicle_selector.brands[41].add_choice('V70' ,'376');
vehicle_selector.brands[41].add_choice('C70' ,'377');
vehicle_selector.brands[41].add_choice('XC70' ,'378');
vehicle_selector.brands[41].add_choice('XC90' ,'379');
vehicle_selector.load_brands();
load_models();

//Init Year
yearSelect = getItem(yearTag);
for (i = -1; i < 20; i++) {
	year = new Date().getFullYear() - i;
	yearSelect.options[i+2] = new Option(year, year);
}

}
function load_models(){
//alert(" before change1"+change1);
if(change1 == true){
       //alert(" inside change1 value"+document.forms[formName].elements[makeTag1].selectedIndex);
       //alert(" inside change1"+change1);
	vehicle_selector.change_brand(document.forms[formName].elements[makeTag1], 1);
}
if(change2 == true){
	vehicle_selector.change_brand(document.forms[formName].elements[makeTag2], 2);
}
if(change3 == true){
	vehicle_selector.change_brand(document.forms[formName].elements[makeTag3], 3);
}
}

function model_picked(which,model_id,model_display){
	if (which == 1)
	{
		document.forms[formName].elements[modelTag1].value = model_id;
	}
	else if (which == 2)
	{
		document.forms[formName].elements[modelTag2].value = model_id;
	}
	else if (which == 3)
	{
		document.forms[formName].elements[modelTag3].value = model_id;
	}
}

