function mm_resetBrowseMakeModel(formName, makeSelectName, modelSelectName) {
  //alert(" mm_resetBrowseMakeModel called! ");
  var makeSelectObject = eval("document." + formName + "." + makeSelectName);
  eval("document." + formName + "." + modelSelectName + ".options.length = 1");

  var selectObject = eval("document." + formName + "." + modelSelectName);
  selectObject.selectedIndex = 0;
  makeSelectObject.selectedIndex = 0;

}

function mm_getNiceName(text) {
  //alert(" mm_getNiceName called! ");
  var retText;
  retText = "";
  var usedtext = ("" + text).toLowerCase();
  for(var i = 0; i < usedtext.length; i++)
  {
    var charValue = usedtext.charAt(i);
    if((charValue >= 'a' && charValue <= 'z') || (charValue >= '0' && charValue <= '9'))
    {
      retText += charValue;
    }
  }
  return retText;
}


function zip_valid(formName, zipSelectName)
{
  var selectObject = eval("document." + formName + "." + zipSelectName);
  if(selectObject)
  {
    if(selectObject.value)
    {
      if(selectObject.value.length != 5)
      {
        alert("Please enter a valid 5-digit ZIP code");
        return false;
      }
      else
      {
        if(isNaN(selectObject.value))
        {
          alert("Please enter a valid 5-digit ZIP code");
          return false;
        }

        return true;
      }
    }
  }
  alert("Please enter a valid 5-digit ZIP code");
  return false;
}

function mmSetupMakeModel() {
  mm_resetBrowseMakeModel('browsemakemodel', 'makes', 'models');
  mm_fillMakes_makemodelsearch('browsemakemodel', 'makes');
}


function mmSetupMakeModelDl() {
  mm_resetBrowseMakeModel('browsemakemodeldl', 'makes', 'models');
  mm_fillMakes_makemodelsearchdl('browsemakemodeldl', 'makes');
  document.getElementById('setzip').value = YAHOO.Edmunds.UserTrack.getZipCookie();
}

function m_checkEnter(event, formName)
{
  var code = 0;
  var formObject = eval("document." + formName);

  if(event.which)
    code = event.which;
  else
    code = event.keyCode;
  if(code == 13)
  {
    return true;
  }
  else
  {
    return false;
  }
}

function mm_submitMakeModel(formName, makeSelectName, modelSelectName) {

  if(mm_makingBrowseChanges)
    return;

  var selectObjectMake = eval("document." + formName + "." + makeSelectName);

  if(selectObjectMake.options[selectObjectMake.selectedIndex].value == "")
  {
    alert("You need to select a make only or make and a model.");
    return;
  }

  var make, model;
  var allModel = false;
  var makeNice, modelNice;

  var selectObjectModel = eval("document." + formName + "." + modelSelectName);

  if(selectObjectModel.selectedIndex == 1 || selectObjectModel.options[selectObjectModel.selectedIndex].value
          == "")
  {
    allModel = true;
  }

  var gotoUrl,tid;

  if(allModel)
  {
    tid = selectObjectMake.options[selectObjectMake.selectedIndex].id
    gotoUrl = selectObjectMake.options[selectObjectMake.selectedIndex].value;
  }
  else
  {
    tid = selectObjectModel.options[selectObjectModel.selectedIndex].id
    gotoUrl = selectObjectModel.options[selectObjectModel.selectedIndex].value;
  }

  s_objectID = tid;
  setTID(tid);

  var formObject = eval("document." + formName);
  formObject.action = gotoUrl;
  formObject.submit();
}


function mm_submitMakeModelZip(formName, makeSelectName, modelSelectName, zipSelectName) {

  if(mm_makingBrowseChanges)
    return;

  if(zip_valid(formName, zipSelectName)) {
    var modelSelectObject = eval("document." + formName + "." + modelSelectName);
    if(modelSelectObject.options[modelSelectObject.selectedIndex].value == "")
    {
      alert("You need to select a make and a model.");
      return;
    }

    var make, model;
    var makeNice, modelNice;

    var makeSelectObject = eval("document." + formName + "." + makeSelectName);
    var setzipObject = eval("document." + formName + "." + zipSelectName);
    make = makeSelectObject.options[makeSelectObject.selectedIndex].text;
    model = modelSelectObject.options[modelSelectObject.selectedIndex].text;

    var mm_styleArray = mm_allBaseStyleArray_makemodelsearchdl[makeSelectObject.selectedIndex - 1];
    var styleId = mm_styleArray[modelSelectObject.selectedIndex - 1];
    var mm_yearArray = mm_allYearsArray_makemodelsearchdl[makeSelectObject.selectedIndex - 1];
    var year = mm_yearArray[modelSelectObject.selectedIndex - 1];

    makeNice = mm_getNiceName(make);
    modelNice = mm_getNiceName(model);

    var gotoUrl,tid;

    tid = modelSelectObject.options[modelSelectObject.selectedIndex].id
    gotoUrl = "http://www.edmunds.com/new/" + year + "/" + makeNice + "/" + modelNice + "/" + styleId
            + "/dealerpricing.html?setzip=" + setzipObject.value;
    YAHOO.Edmunds.UserTrack.setZipCookie(setzipObject.value);
    s_objectID = tid;
    setTID(tid);

    var formObject = eval("document." + formName);
    formObject.action = gotoUrl;

    formObject.submit();
  }
}

// Submits a FORM using a URL contained within a dropdown selection
function submitFormUsingDropdownValue(formName, selectName, errEmptyMsg) {
  var selectObject = eval("document." + formName + "." + selectName);
  tid = selectObject.options[selectObject.selectedIndex].id
  gotoUrl = selectObject.options[selectObject.selectedIndex].value;

  if(gotoUrl != '') {
    s_objectID = tid;
    setTID(tid);
    var formObject = eval("document." + formName);
    formObject.action = gotoUrl;
    formObject.submit();
  } else if(errEmptyMsg) {
    alert(errEmptyMsg);
  }
}
