/**
 * scripts/MakeModelList.js
 * used to be the main handler for internal and external makes/models
 * updated for smartcarfinder
 */


function SearchVehicle_scf(pass, webroot, frmMake, frmModel, frmZip, Affiliate, frmPriceLow, frmPriceHigh, frmMileLow, frmMileHigh) {
  // added 2007-04-24 as a wrapper around the newly restructured ModelMakeList object
  var makeModelObj = new MakeModelList();
  var formName = frmMake.form.name;
  var frm = frmMake.form;

  // for direct quotes
  if (pass == "quote") {
    if (frmMake.value!="Select" && frmModel.value!="Select" && frmModel.value!="All") {
      if (Affiliate != "") {
	skinid = frmPriceLow;
	if (skinid == "undefined") {
	  skinid=0;
	}
	else {
	  skinid = frmPriceLow;
	}
	frmMake.form.action = webroot + "direct_quote/" + frmMake.value + "/" + frmModel.value + "?aff_id=" + Affiliate + "&skin_id=" + skinid;
	frmMake.form.target = "_top";
	frmMake.form.method = "post";
	frmMake.form.submit();
      }
      else {
	skinid = 0;
	frmMake.form.action=webroot + "direct_quote/"+frmMake.value+"/" + frmModel.value + "?aff_id=" + Affiliate + "&skin_id=" + skinid;;
	frmMake.form.target = "_top";
	frmMake.form.method = "post";
	frmMake.form.submit();
      }
    }
    else {
      if (frmMake.value == "Select" && frmModel.value == "Select") {
	alert("Please select a Make");
      } else {
      	if (frmModel.value == "Select" || frmModel.value == "All") {
		alert("Please select a Model");
	}
      }
    }    
  }

  // for used search
  else if (pass == "used") {
    aff="";
    if (String(Affiliate) != "undefined") {
      aff = "?aff_id=" + Affiliate;
    }

    if (frmMake.value != "Select" && frmModel.value != "Select" && frmZip.value!="") {
      if (frmModel.value == "Select") {
	frmModel.value = "Select";
      }
      if (arguments.length > 6) {
	newprice_low = new String(frmPriceLow.value);
	newprice_low = removeCurrency(newprice_low);

	newprice_high = new String(frmPriceHigh.value);
	newprice_high = removeCurrency(newprice_high);

	newmile_low = new String(frmMileLow.value);
	newmile_low = removeCurrency(newmile_low);
	
	newmile_high = new String(frmMileHigh.value);
	newmile_high = removeCurrency(newmile_high);
	
	newmakestr = new String(frmMake.value);
	newmodelstr = new String(frmModel.value);
	
	
	if (newmakestr == "All") {
	  newmodelstr="All";
	}
	loc=webroot + "search/inventory/" + frmZip.value + "/" + newmakestr +"/" + newmodelstr + "/" + newprice_low +"/" + newprice_high + "/" + newmile_low +"/" + newmile_high + "/"  ;
	window.location.href = loc;
      }
      else {
	newmakestr = new String(document.forms[0].Make.value);
	newmodelstr = new String(document.forms[0].Model.value);
	window.location.href=webroot + "search/location/" + frmZip.value + "/" + newmakestr + "/" + newmodelstr + "/"  ;
      }
    }
    else{
      if (frmMake.value == "Select") {
	alert("Please select a Make.");
      }
      if (frmModel.value == "Select") {
	alert("Please select a Model.");
      }
      if (frmZip.value == "") {
	alert("Please Enter a Valid Zip code.");
      }
    }
  }
  // for new search
  else if (pass == "new") {
    makeModelObj.GetMakeModels("new");
    make = makeModelObj.make;
    model = makeModelObj.model;
      
    if (frmMake.value != "Select") {
      frmMake.form.action =webroot + "cars/2010/" + frmMake.value;
      frmMake.form.target = "_top";
      frmMake.form.method = "post";
      frmMake.form.submit();
    }
    else {
      if(frmMake.value == "Select") {
	alert("Please select a Make.");
      }
    }
  }
  return false;
}

//validate zip
function validate_zip(field,alerttxt) {
  with (field) {
    var pattern = new RegExp(/\d\d\d\d\d/);
    var result = pattern.test(value);
    if (result) {
      return true;
    } else {
      alert(alerttxt);return false;
    }
  }
}

//validate form
function validate_form(thisform) {
  with (thisform) {
    if (validate_zip(Entered_Postal_Code_vch,"Please provide a valid Zip Code")==false) {
      Entered_Postal_Code_vch.focus();return false;
    }
  }
}
