
vjo.ctype("vjo.darwin.domain.finding.quickfinder.QuickFinder").needs(["vjo.dsf.Element","vjo.dsf.EventDispatcher","vjo.dsf.utils.UriBuilder","vjo.darwin.transitional.ajax.AjaxUtils"]).protos({AjaxUtils:vjo.darwin.transitional.ajax.AjaxUtils,constructs:function(_1){this.model=_1;this.vED=vjo.dsf.EventDispatcher;this.eSearchLinkId=document.getElementById(this.model.searchLinkId);this.eForm=document.getElementById(this.model.formId);this.vED.addEventListener(this.eSearchLinkId,"click",this.onSubmit,this);this.vED.addEventListener(this.eForm,"submit",this.onSubmitForm,this);this.init();this.AjaxUtils.addAjaxHandler(this,this.onPageResponse,this.binding="Page.quickfinder");},init:function(){this.initMakeModel();this.initModelYear();this.initPrice();this.initDistance();},initMakeModel:function(){this.hasBindMakeModel=false;var _2=false;if(this.model.makeHtmlId&&this.model.modelHtmlId&&this.model.modelLabelHtmlId){_2=true;}
if(_2){this.eMake=document.getElementById(this.model.makeHtmlId);this.eModel=document.getElementById(this.model.modelHtmlId);this.eModelLabel=document.getElementById(this.model.modelLabelHtmlId);if(this.eMake&&this.eModel&&this.eModelLabel){this.hasBindMakeModel=true;}
var _3=this.eMake.selectedIndex;var _4=this.eModel.selectedIndex;if(_3<=0){this.eModelLabel.className=this.model.disableClzName;this.eModel.disabled=true;}else{this.eModelLabel.className="";this.eModel.disabled=false;}
if(!(_3>0&&_4>0)){this.onChangeMake();}}
if(this.hasBindMakeModel){this.vED.addEventListener(this.eMake,"change",this.onChangeMake,this);this.vED.addEventListener(this.eMake,"focus",this.onFocusMake,this);}},initModelYear:function(){this.hasModelYear=false;if(this.model.modelYearHtmlId){this.eModelYear=document.getElementById(this.model.modelYearHtmlId);if(this.eModelYear){this.hasModelYear=true;}}
if(this.hasModelYear){this.vED.addEventListener(this.eModelYear,"keyup",this.onKeyUpModelYear,this);}},initPrice:function(){this.hasPrice=false;if(this.model.priceTitleHtmlId&&this.model.priceMinHtmlId&&this.model.priceMaxHtmlId){this.ePriceTitle=document.getElementById(this.model.priceTitleHtmlId);this.ePriceMin=document.getElementById(this.model.priceMinHtmlId);this.ePriceMax=document.getElementById(this.model.priceMaxHtmlId);if(this.ePriceTitle&&this.ePriceMin&&this.ePriceMax){this.hasPrice=true;}}
if(this.hasPrice){this.vED.addEventListener(this.ePriceMin,"keyup",this.onKeyUpPrice,this);this.vED.addEventListener(this.ePriceMax,"keyup",this.onKeyUpPrice,this);}},initDistance:function(){this.hasDistance=false;if(this.model.distanceHtmlId&&this.model.zipHtmlId&&this.model.distanceTitleHtmlId){this.eDistance=document.getElementById(this.model.distanceHtmlId);this.eZip=document.getElementById(this.model.zipHtmlId);this.eDistanceTitle=document.getElementById(this.model.distanceTitleHtmlId);if(this.eDistance&&this.eZip&&this.eDistanceTitle){this.hasDistance=true;}}
if(this.hasDistance){this.vED.addEventListener(this.eZip,"keyup",this.onKeyUpDistance,this);}},onKeyUpModelYear:function(_5){if(_5.keyCode==13){this.onSubmit(_5);}
return false;},onKeyUpPrice:function(_6){if(_6.keyCode==13){this.onSubmit(_6);}
return false;},onKeyUpDistance:function(_7){if(_7.keyCode==13){this.onSubmit(_7);}
return false;},onSubmitForm:function(_8){return false;},onFocusMake:function(_9){if(!this.model.models&&!window.makemodels){this.dhtmlLoadScript(this.model.makeModelJSUrl);}},dhtmlLoadScript:function(_a){var e=document.createElement("script");e.src=_a;e.type="text/javascript";document.getElementsByTagName("head")[0].appendChild(e);},onChangeMake:function(_c){var _d=this.eMake.selectedIndex;if(_d<=0){this.eModelLabel.className=this.model.disableClzName;this.eModel.disabled=true;}else{this.eModelLabel.className="";this.eModel.disabled=false;}
if(this.model.models||window.makemodels){var _e;if(this.model.models){_e=this.model.models[_d];}else{if(this.eMake.options[_d].value=="-1"){_e=window.makemodels[this.eMake.options[_d].text];}else{_e=window.makemodels[this.eMake.options[_d].value];}}
if(!_e||_e.length<=0){_e="Any|-1";}
var _f=this.eModel.options;while(_f.length>0){_f[_f.length-1]=null;}
var _10=_e.split("^");var _11=_10.length;for(var i=0;i<_11;i++){if(_10[i]&&_10[i].length>0){var nv=_10[i].split("|");if(nv&&(nv.length==1||nv.length==2)){var _14=(nv.length==1)?nv[0]:nv[1];var _15;if(i==0){_15=new Option(nv[0],_14,false,true);}else{_15=new Option(nv[0],_14,false,false);}
_f[_f.length]=_15;}}}}},checkPriceError:function(){var _16=this.ePriceMin.value;var _17=this.ePriceMax.value;if(_16){if(!this.checkPriceFormat(_16)){return true;}}
if(_17){if(!this.checkPriceFormat(_17)){return true;}}
return false;},checkPriceFormat:function(_18){var _19=_18.match("^[0-9]*$|^[0-9]*[.][0-9]{1,4}$|^[0-9]{1,3}[,][0-9]{3}$|^[0-9]{1,3}[,][0-9]{3}[.][0-9]{1,4}$|^[0-9]{1,3}[,][0-9]{3}[,][0-9]{3}$|^[0-9]{1,3}[,][0-9]{3}[,][0-9]{3}[.][0-9]{1,4}$|^[0-9]{1,3}[,][0-9]{3}[,][0-9]{3}[,][0-9]{3}$|^[0-9]{1,3}[,][0-9]{3}[,][0-9]{3}[,][0-9]{3}[.][0-9]{1,4}$");if(_19==null){return false;}else{return true;}},showPriceErrorMessage:function(_1a){if(!this.ePriceErr){if(!this.model.priceErrId){return;}
this.ePriceErr=document.getElementById(this.model.priceErrId);if(!this.ePriceErr){return;}}
if(_1a){this.ePriceTitle.className=this.model.redClzName;this.ePriceErr.style.display="block";}else{this.ePriceTitle.className="";this.ePriceErr.style.display="none";}},checkAll:function(){var _1b=false;if(this.hasPrice){_1b=this.checkPriceError();this.showPriceErrorMessage(_1b);}
if(_1b){return false;}else{return true;}},hasSelectValue:function(_1c,_1d){if(_1c){var _1e=_1c.length;for(var i=0;i<_1e;i++){var _20=_1c[i].name;if(_20==_1d){var _21=_1c[i].value;if(_21&&_21!="-1"){return true;}}}}
return false;},onSubmit:function(_22){if(!this.checkAll()){return false;}
var _23=new vjo.dsf.utils.UriBuilder(this.model.baseUrl,true);if(this.hasModelYear){var _24=this.eModelYear.name;delete _23.params[_24];delete _23.params[this.model.modelYearInputParam];var _25=this.eModelYear.value;if(_25){_23.appendParam(this.model.modelYearInputParam,_25);}}
if(this.hasPrice){var _26=this.ePriceMin.name;var _27=this.ePriceMax.name;delete _23.params[_26];delete _23.params[_27];delete _23.params[this.model.priceRangeParam];var _28=this.ePriceMin.value;var _29=this.ePriceMax.value;if(_28){_23.appendParam(_26,_28);}
if(_29){_23.appendParam(_27,_29);}
if(_28||_29){_23.appendParam(this.model.priceRangeParam,"1");}}
if(this.eZip){var _2a=this.eZip.name;delete _23.params[_2a];var _25=this.eZip.value;if(_25&&_25!=""){_23.appendParam(_2a,_25);if(this.eDistance){var _2b=this.eDistance.name;delete _23.params[_2b];var _2c=this.eDistance.value;delete _23.params[this.model.lsbxParam];_23.appendParam(this.model.lsbxParam,"0");if(this.eDistance.selectedIndex==0){delete _23.params[this.model.fsptParam];delete _23.params[this.model.flsoParam];_23.appendParam(this.model.fsptParam,"0");_23.appendParam(this.model.flsoParam,"0");}else{delete _23.params[this.model.fsptParam];delete _23.params[this.model.lsotParam];_23.appendParam(this.model.fsptParam,"1");_23.appendParam(this.model.lsotParam,"1");}
if(_2c!="-1"){_23.appendParam("LH_Distance",_25.concat("..",_2c));}}}}
var _2d=this.eForm.getElementsByTagName("select");if(_2d){var _2e=_2d.length;for(var i=0;i<_2e;i++){var _24=_2d[i].name;if(_24){delete _23.params[_24];var _25=_2d[i].value;if(_25){if(_25!="-1"){_23.appendParam(_24,_25);}}}}}
document.location.href=_23.getUri();return false;},onPageResponse:function(_30){var _31=this.AjaxUtils.getResponse(_30.response,this.binding);if(this.AjaxUtils.isUndefined(_31)){return;}
var _32=_31;this.model.baseUrl=_32.baseUrl;if(_32.clearUrl){if(this.model.clearLinkId){var _33=document.getElementById(this.model.clearLinkId);if(_33){_33.href=_32.clearUrl;}}}
if(this.hasDistance){var _34=(_32.radius)?_32.radius:"-1";var _35=this.eDistance;var _36=_35.options.length;for(var i=0;i<_36;i++){if(_34==_35.options[i].value){_35.options[i].selected=true;}else{_35.options[i].selected=false;}}
if(_32.zipcode){this.eZip.value=_32.zipcode;}else{this.eZip.value="";}}}}).endType();

// en_US_AUTOS/e677/Finding_QuickFinder_e67711488901_6b_en_US_AUTOS
// b=11488901
