var src = "qs";
var cpo = "";
quickForm = true;
dlId = "";
dgId = "";
var usedMakeDefaults = null;
var usedModelDefaults = null;
var newMakeDefaults = null;
var newModelDefaults = null;
var ie6dimlist = new Array("rdused", "rdnew", "zcnew", "zcused", "make_0", "model_0", "pricehigh", "pricehighnew", "make_1", "model_1");
if(buyIndex){ie6dimlist = new Array("rdused", "zcnew", "zcused", "make_0", "model_0", "pricehigh", "make_1", "model_1");}
/*------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------*/
//Grab quick search cookie and return array of values
/*------------------------------------------------------------------------------*/
function getQSCookie(){
var rCookie = getCookie("qsCookie");
if(rCookie.length > 0){
rCookieVals = rCookie.split("|");
return rCookieVals;
} else {return Array();} 
}
/*------------------------------------------------------------------------------*/
//Pre populate quick forms
/*------------------------------------------------------------------------------*/
function prePopQuickForm(){
var stockDef = "U";
var cpoDef = false;
var stockCertCookie = getCookie("stockCert");
var rCookie = getCookie("advForm");
var zipCookie = getCookie("zipcode");

if(zipCookie.length > 0){
document.usedForm.zc.value = zipCookie;
document.newForm.zc.value = zipCookie;
}

if(stockCertCookie.length > 0){
var stkCertArr = stockCertCookie.split("|");
stockDef = stkCertArr[0];
cpoDef = eval(stkCertArr[1]);
}
var rCookieVals = getQSCookie();
if(rCookieVals.length > 0){
prePopSelect(document.usedForm.rd, rCookieVals[0]);
if(!buyIndex){prePopSelect(document.newForm.rd, rCookieVals[0]);}

prePopSelect(document.usedForm.prMx, rCookieVals[2]);
if(!buyIndex){prePopSelect(document.newForm.prMx, rCookieVals[2]);}
}else { 
if(!buyIndex){prePopSelect(document.newForm.rd, rCookieVals[0]);}
prePopSelect(document.usedForm.rd, rCookieVals[0]);
}
if(!buyIndex){
if(cpoDef){
document.getElementById("allUsed").checked = false;
document.getElementById("cpoToggle").checked = true;
swapButton("Search Certified");
toggleCpoOptions(1);
} else {
document.getElementById("allUsed").checked = true;
document.getElementById("cpoToggle").checked = false;
swapButton("Search Used");
toggleCpoOptions(0);
}
}
var sCookie = getCookie("SessionInfo");
if(sCookie.length > 0){
var makeName = "";
var modelName = "";
sCookieArray = Url.decode(sCookie).split('|');
for(i=0;i<sCookieArray.length;i++){
ssArr = sCookieArray[i].split('=');
if(ssArr[0] == 'mknm'){makeName = ssArr[1].replace(new RegExp( "\\+", "g" ), " ");}
if(ssArr[0] == 'mdnm'){modelName = ssArr[1].replace(new RegExp( "\\+", "g" ), " ");}
}
if(makeName.length > 0){
prePopSelectByText(document.getElementById("make_0"), makeName);
prePopSelectByText(document.getElementById("make_1"), makeName);
modelid = convertNameToValue(modelDefaults.options, modelName);
document.getElementById("model_0").mkId = document.getElementById("make_0").value;
document.getElementById("model_1").mkId = document.getElementById("make_1").value;
if(modelid.length > 0){
document.getElementById("make_0").mdId = modelid;
document.getElementById("make_1").mdId = modelid;
}
evalMenus(0, 'make', modelid);
evalMenus(1, 'make', modelid);
}
}
}
/*------------------------------------------------------------------------------*/
//Grab select menu names to set Ambient Make and Model
/*------------------------------------------------------------------------------*/
function grabNamesQS(idx, rForm){
var selMK = document.getElementById("make_"+idx);
var selMD = document.getElementById("model_"+idx);
if(selMK.options[selMK.selectedIndex].value != ""){
rForm.AmbMkNm.value = selMK.options[selMK.selectedIndex].text;
rForm.AmbMkId.value = selMK.options[selMK.selectedIndex].value;
} else {
rForm.AmbMkNm.value = "";
rForm.AmbMkId.value = "";
}
if(selMD.options[selMD.selectedIndex].value != ""){
var modelI = selMD.options[selMD.selectedIndex].value;
if(modelI.indexOf(",") > -1){modelI = modelI.split(",")[1]}
rForm.AmbMdNm.value = selMD.options[selMD.selectedIndex].text;
rForm.AmbMdId.value = modelI;
} else {
rForm.AmbMdNm.value = "";
rForm.AmbMdId.value = "";
}
} 
/*------------------------------------------------------------------------------*/
//Wipe out user's Advanced Search Preferences
/*------------------------------------------------------------------------------*/
function wipeOutAdvCookie(kid, did){
var cookiearray = getAllCookies();
for(i=0;i<cookiearray.length;i++){
if(cookiearray[i].name.indexOf('mmt_') > -1){setCookie(cookiearray[i].name, '', 0, true)}
}
setCookie("advForm", '', 0, true);
setCookie("mmt_0", kid + "|" + did, 30, false);
}
/*------------------------------------------------------------------------------*/
//Handler for Ajax zip validation
/*------------------------------------------------------------------------------*/
function quickSubmit(rForm, zipValid){
if(!zipValid){
showZipError(rForm, quickSubmitContinue);
} else {
quickSubmitContinue(rForm);
}
}
/*------------------------------------------------------------------------------*/
//Handler for Ajax zip validation new searches
/*------------------------------------------------------------------------------*/
function quickSubmitNew(rForm, zipValid){
	if(!zipValid){
		showZipError(rForm, quickSubmitNewContinue);
	} else {
		quickSubmitNewContinue(rForm);
	}
}
/*------------------------------------------------------------------------------*/
//Set cookie, ambient make & model names, alias logic, and final form submission
/*------------------------------------------------------------------------------*/
function quickSubmitContinue(rForm){
document.getElementById("VType").disabled = true;
grabNamesQS(0, rForm);
setQSCookie(rForm,true);
var xwait = packAlias(0, rForm);
rForm.action = "/for-sale/searchresults.action";
rForm.submit();
}
/*------------------------------------------------------------------------------*/
//New Inventory: Set cookie, ambient make & model names, alias logic, 
//and final form submission
/*------------------------------------------------------------------------------*/
function quickSubmitNewContinue(rForm){
	debug("moving on...");
	document.getElementById("VType").disabled = true;
	grabNamesQS(1, rForm);
 setQSCookie(rForm,true);
	var xwait = packAlias(1, rForm);
	rForm.action = "/go/search/newBuyIndex.jsp";
	rForm.submit();
}
/*------------------------------------------------------------------------------*/
function packAlias(idx, rForm){
	addHiddenElement(rForm.id, getSelectValue(document.getElementById("make_"+idx)), "alMkId");
	var holdText = getSelectText(document.getElementById("model_"+idx));
	
	rSel = document.getElementById("model_"+idx);
	var modelValue = getSelectValue(rSel);
	
	if(modelValue.indexOf(",") > -1){
	 packNCLPNames(idx, getSelectValue(document.getElementById("model_"+idx)), rForm);
		var mdArray = modelValue.split(",");
		addHiddenElement(rForm.id, mdArray[0], "alMdId");
		for(k=1;k<mdArray.length;k++){
			newH = document.createElement("INPUT");
			newH.type = "hidden";
			newH.name = "mdId";
			newH.value = mdArray[k];	
			rForm.appendChild(newH);
		}
	
		document.getElementById("model_"+idx).selectedIndex = 0;
		document.getElementById("model_"+idx).options[0].text = holdText;
	} else {
		addHiddenElement(rForm.id, modelValue, "alMdId");
	}
	return true;
}

/*------------------------------------------------------------------------------*/
//New Inventory: Set cookie, ambient make & model names, alias logic, 
//and final form submission
/*------------------------------------------------------------------------------*/
function quickSubmitNewContinue(rForm){
	debug("moving on...");
	document.getElementById("VType").disabled = true;
	grabNamesQS(1, rForm);
 setQSCookie(rForm,true);
	var xwait = packAlias(1, rForm);
	rForm.action = "/go/search/newBuyIndex.jsp";
	rForm.submit();
}
/*------------------------------------------------------------------------------*/
//Provides Trailhead with model names to allow alias searching via legacy tags
/*------------------------------------------------------------------------------*/
function packNCLPNames(idx, holdText, rForm){
var rObj = document.getElementById("model_"+idx);
var holdArr = holdText.split(",");
var holdNames = "";
if(rForm.stkTyp && rForm.stkTyp.value == "N"){
for(g=0;g<rObj.options.length;g++){
if(arrayContainsValue(holdArr, rObj.options[g].value)){

			newH = document.createElement("INPUT");
			newH.type = "hidden";
			newH.name = "nclpMd";
			newH.value = rObj.options[g].text.replace(/- /g, "");
			newH.value = ltrim(newH.value);	
			rForm.appendChild(newH);
}}}}

/*------------------------------------------------------------------------------*/
//Sets cookie for stock type, cpo, and max price
/*------------------------------------------------------------------------------*/
function setQSCookie(rForm,persist){
  // variable to persist in sessionInfo
  persist = persist || false;
if(!rForm){rForm = document.getElementById("usedForm");}
wipeOutAdvCookie(rForm.mkId, rForm.mdId);
var rzc = rForm.zc.value;
var rMkNm = getSelectText(rForm.mkId);
if(rForm.mkId.selectedIndex == 0){rMkNm = "";}
var rMdNm = getSelectText(rForm.mdId);
if(rForm.mdId.selectedIndex == 0){rMdNm = "";}
if(startsWith(aliasStrip, rMdNm)){rMdNm = stripStart(aliasStrip, rMdNm)}
if(startsWith(aliasStrip2, rMdNm)){rMdNm = stripStart(aliasStrip2, rMdNm)}
if(startsWith(aliasStrip3, rMdNm)){rMdNm = stripStart(aliasStrip3, rMdNm)}
var cString = rForm.rd.value + "|" + rzc + "|" + rForm.prMx.value + "|" + rForm.stkTyp.value + "|" + rForm.cpo.value;
var stockCertString2 = false;
if(rForm.cpo.value == 'Y'){stockCertString2 = true;}
var stockCertString = rForm.stkTyp.value + "|" + stockCertString2;
cs_setCookie("stockCert", stockCertString, 30, false);
var sString = "mknm="+rMkNm+"|mdnm="+rMdNm + "|mkid="+getSelectValue(rForm.mkId)+"|mdid="+getSelectValue(rForm.mdId);
setCookie('qsCookie', cString, 0, false);
/*
  if(rForm.mkId.selectedIndex > 0 || rForm.mdId.selectedIndex > 0){
    setCsCookie('SessionInfo', Url.encode(sString), 30, false);
    // if (persist) setCookie('SessionInfo', Url.encode(sString), 30, false);
  } else {
    setCsCookie('SessionInfo', "", 0, true); 
  }
  */
}
/*------------------------------------------------------------------------------*/
//Set hidden vars and button text for users cpo choices
/*------------------------------------------------------------------------------*/
function toggleCpoOptions(val){
var rMake = document.getElementById("make_0");
var rModel = document.getElementById("model_0");
var btnTxt = "Search Used";
if(val == 0){
document.usedForm.cpo.value = "";
setOptionsWPref(rMake, makeDefaults.options, rMake.value);
} else {
document.usedForm.cpo.value = "Y";
setOptionsWPref(rMake, cpoMakeDefaults.options, rMake.value);
cpo = "Y";
var btnTxt = "Search Certified";
}
evalMenus(0, 'make', document.getElementById("model_0").value, false);
swapButton(btnTxt);
}

/*------------------------------------------------------------------------------*/
//Changes use car submit button text
/*------------------------------------------------------------------------------*/
function swapButton(txt) {
    document.getElementById("usedBttnTxt").innerHTML = txt;
}

