// new car make
var newMakes = new Array();
var whitespace = " \t\n\r\f\v";
var defaultEmptyOK = false;
var digitsInZIPCode1 = 5;
var digitsInZIPCode2 = 9;

function A(makeId, makeName)
{
    var makeRecord = new Array();
    makeRecord[0] = makeId;
    makeRecord[1] = makeName;
    makeRecord[2] = new Array();
    newMakes[makeId] = makeRecord;
}

// new car model (ignore for now)
function L(makeId, modelId, modelName)
{
    var modelRecord = new Array();
    modelRecord[0] = modelId;
    modelRecord[1] = modelName;
    newMakes[makeId][2][newMakes[makeId][2].length]=modelRecord;
}

function dealerInit(form, usedMakeId){
    var makeSel = form.mkid;
    makeSel.options.length = 0;
    var optionNum = 0;
    // DON'T SEND ANYTHING IF USER SELECTS 'ANY'
    var option = new Option("Any", "");
        makeSel.options[optionNum] = option;
    optionNum++;
    for (ii in newMakes)
    {
        var makeRecord = newMakes[ii];
        var option = new Option(makeRecord[1], makeRecord[0]);
        makeSel.options[optionNum] = option;
        optionNum++;
    }
    var option = new Option("Used", usedMakeId);
        makeSel.options[optionNum] = option;
}

function dealerNewMake(form, makeId)
{
    // Choose the specified make if it isn't already selected
    var makeSel = form.mkid;

    if (!makeId || (makeId == ""))
        makeId = makeSel.value;

    if (makeId && (makeId != makeSel.value))
    {
        for (ii=0; ii < makeSel.options.length; ii++)
        {
            if (makeSel.options[ii].value == makeId){
                makeSel.options[ii].selected = true;
				}
        }
    }
    else 
    {
       makeSel.options[0].selected = true;
    }
}



// String check
function isEmpty(s){   
	return ((s == null) || (s.length == 0));
}

function isWhitespace (s)

{   var i;
    // Is s empty?
    if (isEmpty(s)) return true;
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (whitespace.indexOf(c) == -1) return false;
    }
    return true;
}

function groomReviseDealerForm(form) {
   var errorFound = 'false';
   
   var errorFound = checkAnyPlusMake(form);
   
   if(errorFound == 'true'){
      alert();
      return;
   }
   if(isWhitespace(form.zc.value)) {
      alert('Please enter a valid ZIP code');
      return;
   }
   if(!isZIPCode(form.zc.value)){
      alert('This field must be a valid 5-digit U.S. ZIP code (like 94043).');
      return;
   }
   else {
      form.submit();
   } 
}



// ZIP code check
function isZIPCode (s)
{  if (isEmpty(s)) 
       if (isZIPCode.arguments.length == 1) return defaultEmptyOK;
       else return (isZIPCode.arguments[1] == true);
   return (isInteger(s) && 
            ((s.length == digitsInZIPCode1) ||
             (s.length == digitsInZIPCode2)))
}

function isDigit (c){   
	return ((c >= "0") && (c <= "9"));
}

function isInteger (s)

{   var i;

    if (isEmpty(s)) 
       if (isInteger.arguments.length == 1) return defaultEmptyOK;
       else return (isInteger.arguments[1] == true);

    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (!isDigit(c)) return false;
    }

    return true;
}

//Make check
function checkAnyPlusMake(form){
   var errorFound = 'false';
   var selectedMakes = new Array();
   var x = 0;
   for(var i=0; i < form.mkid.length; i++) {
      if(form.mkid.options[i].selected == true) {
         selectedMakes[x]=form.mkid.options[i].value;
         x += 1;
      }
   }
   if(selectedMakes.length > 1) {
      for(var i=0; i < selectedMakes.length; i++) {
         if(selectedMakes[i]==""){            
            errorFound = 'true';
         }
      }
   }
   return errorFound;
}