/*------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------*/
/*--Initial Vars----------------------------------------------------------------*/
/*------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------*/
var initialized = false;
var hasPrePop = false;
var putc = false;
var putcArray = new Array();
var src = "as";
var debugOn = false; //Set to true to allow alerts
var mdmError = "Cars.com is experiencing technical difficulties, please note that some features on this page may not be working properly.";
/*------------------------------------------------------------------------------*/
var quickForm = false; //Overriden in Quick Form Functions
/*------------------------------------------------------------------------------*/
var mmtOpt; //Holds Array of Current Make/Model Rows
var ghostRows = null; //Holds Array of Make/Model Rows During Updates
var mmtRowString = "mmtRow_"; //Prefix for Identifying MM Row
var mmtRunningTotal = 0; //Current Total Rows
var mmtIndex = 0; //Unique Count
var makeDefaults = null; //Default Set of Makes 
var modelDefaults = null; //Default Set of Models
var typeDefaults = null; //Default Set of Vehicle Types
var lastRealRadius = null;
/*------------------------------------------------------------------------------*/
var selectedStock = 2;
var selectedBodyStyle = "";
var currentBodyStyleList;
var currentMakeList;
var currentModelList;
var currentYearList = new Array();
var vtype = null;
var currentStock = selectedStock;
var currentBodyStyle = selectedBodyStyle;
var usd = "Y";
var nw = "";
var cpo = "";
if(isUsedSearch){usd="Y";nw="";cpo="";}
if(isNewSearch){usd="";nw="Y";cpo="";}
var yearsSet = 0;
var yearsToSet = 0;
var classic = "N";
var ie6dimlist = new Array("zc");
if(historic){classic = "Y";}





function setNUCPO(idx){
  if(idx > 0) { 
    usd = ""; nw="Y"; cpo="";
  } else {
    usd = "Y"; nw=""; cpo="";
    if (document.getElementById('cpoToggle') && document.getElementById('cpoToggle').checked) { cpo = 'Y'; }
  }
}



/* UI helper to empty selects until callback reloads */
function emptySelect(w,idx) {
  idx = idx || 0; // default
  if (w == 'makes') {
    document.getElementById("make_"+idx).options.length = 1;
  }
  if (w == 'models') {
    var mySelect = document.getElementById("model_"+idx);
    if (mySelect !== null) {
      myOpt = mySelect.options[mySelect.selectedIndex];
      mySelect.insertBefore(myOpt,mySelect.options[0]);
      mySelect.options.length = 1;
    }
  }
}




function addHiddenElement(src, value, nm){
  var container = document.getElementById(src);
  var newH = document.createElement("INPUT");
  newH.type = "hidden";
  newH.name = nm;
  newH.value = value;
  container.appendChild(newH);
}





























//----------------------------------------------------------------------------------------------------------------------//
function initMMT(){

if(makeDefaults == null || makeDefaults.options.length < 2){debug(mdmError);} else {
if(!isDealer && !isMicrosite && !quickForm){
wipeOutCity();
}
if(!quickForm){
setOptions(document.getElementById("yearlow"), yearDefaults.options);
setOptions(document.getElementById("yearhigh"), yearDefaults.options);
}

bringBack();
vtype = document.getElementById("VType");

if(!historic){
populateBodyStyles();
}
currentMakeList = makeDefaults;
currentNewMakeList = makeDefaults;
currentModelList = modelDefaults;


mmtOpt = document.getElementById("MMTOPT");
mmtOpt.rows = new Array();
var selMK = document.getElementById("make_ireplacei");
var selMD = document.getElementById("model_ireplacei");

//setOptions(selMK, makeDefaults.options);
//setOptions(selMD, modelDefaults.options);
addVehicle();


setForm();

}
initialized = true;

}


//----------------------------------------------------------------------------------------------------------------------//

function evalMenus(idx, src, fsrc, setyr){
var setter;

  if(quickForm) {
    setNUCPO(idx);
  }
  
  selMK = document.getElementById("make_"+idx);
  selMD = document.getElementById("model_"+idx);
  
  if(src == "make"){
    setter = setModel(idx, selMK, selMD, fsrc);
  } else {
    setter = setMake(idx, selMK, selMD, fsrc);
  }
  if(!quickForm && setyr) {
    setYears();
  }
}
//----------------------------------------------------------------------------------------------------------------------//
function setMake(idx, selMK, selMD, fsrc){
var ignoreStart = false;
//if(quickForm){ignoreStart = true;}


if(selMD.value != ""){
if((selMD.mkID != selMK.value) || (selMK.value == "")){

var mnUrl = '/for-sale/GetMakeData.action?';
mnUrl += "mdID="+selMD.value;
mnUrl += "&cpo="+cpo;
mnUrl += "&nw="+nw;
mnUrl += "&usd="+usd;
mnUrl += "&loc=en";

smAJX = new Ajax();
smAJX.followup = function(data){
var opts = eval("("+smAJX.pb[0]+")");
selMK.mdID = selMD.value;
if(opts.options.length == 2){
selMK.options.selectedIndex = 0;
var foundInCurrent = prePopSelect(selMK, opts.options[1].value);
if(foundInCurrent){
selMD.mkID = opts.options[1].value;
selMK.mdID = 0;
setModel(idx, selMK, selMD, selMD.value); 
}}}

smAJX.start("GET", mnUrl);


} else {
}
} else {                      
if(selMD.value == "" && selMK.mdID != 0 && !quickForm){

setOptions(selMK, makeDefaults.options, ignoreStart);
selMK.mdID = 0;
}

}
}

//----------------------------------------------------------------------------------------------------------------------//
function setModel(idx, selMK, selMD, fsrc){
var smAJX = new Ajax();
debug('setModel: MKID');
emptySelect('models',idx);
var opts = null;
if((selMK.mdID != selMD.value || selMD.mkID != selMK.value) || (selMD.value == "")){
debug('setModelSoSo');
if(selMK.value != ""){
debug('setModelGood');
selMD.selectedIndex = 0;

var mnUrl = '/for-sale/GetModelData.action?';
mnUrl += "mkID="+selMK.value;
mnUrl += "&nw="+nw;
mnUrl += "&usd="+usd;
mnUrl += "&cpo="+cpo;
mnUrl += "&loc=en";


smAJX.opts = null;
smAJX.followup = function(){

smAJX.opts = eval("("+smAJX.pb[0]+")");
if(smAJX.opts){
if(quickForm && fsrc.length > 0){
  setOptionsWPref(selMD, smAJX.opts.options,fsrc);
} else if(fsrc.length > 0){
  setOptionsWPref(selMD, smAJX.opts.options,fsrc);
} else {
  setOptions(selMD, smAJX.opts.options);
}
}
selMD.mkID = selMK.value;

var foundModel;
}
smAJX.start("GET", mnUrl);






} else {
if(smAJX.opts == null){
opts = modelDefaults;
if(quickForm && cpo == "Y"){opts = cpoModelDefaults;}
} else {opts = smAJX.opts;}
if(fsrc.length > 0){




setOptionsWPref(selMD, opts.options,fsrc);
} else {
setOptions(selMD, opts.options);
}


selMD.mkID = 0;
if(selMK.value == ""){
if(quickForm && nw == "Y"){

setOptions(selMD, newModelDefaults.options);

} else if(currentModelList != null) {setOptions(selMD, currentModelList.options);}
else {setOptions(selMD, modelDefaults.options);}

}
} 
}

if(!quickForm){
if(fsrc.length > 0){prePopSelect(selMD, fsrc);}
}
debug("model set");
}



