
var loading='<option selected="selected">Loading...</option>';var makeMsg='<option selected="selected">Choose a make</option>';var modelMsg='<option selected="selected">Choose a model</option>';var yearVals=new Array();var makeVals=new Array();var modelVals=new Array();var idVals=new Array();function getCurrentVals(){var yearInputs=$$('div.carData select.car_year');var makeInputs=$$('div.carData input.car_make');var modelInputs=$$('div.carData input.car_model');for(a=0;a<makeInputs.length;a++){yearVals[a]=yearInputs[a].value;makeVals[a]=makeInputs[a].value;modelVals[a]=modelInputs[a].value;}
var idInputs=$$('div.carData input.car_id');for(a=0;a<idInputs.length;a++){idVals[a]=idInputs[a].value;}}
function swapSelects(){var makeInputs=$$('div.carData input.car_make');for(b=0;b<makeInputs.length;b++){var newSelect=new Element('select');newSelect.name='car_make'+(b+1);newSelect.id='car_make'+(b+1);newSelect.className='car_make';newSelect.disabled=true;var thisInput=makeInputs[b];newSelect.injectBefore(thisInput);thisInput.remove();if(yearVals[b]!=''){newSelect.setHTML(loading);new Ajax('{path=handlers/carMake}',{postBody:'car_year='+yearVals[b],update:newSelect.parentNode,onComplete:function(){setupAllSelects();setMakeIndex();}}).request();newSelect.disabled="";}
else newSelect.setHTML(makeMsg);}
var modelInputs=$$('div.carData input.car_model');for(b=0;b<modelInputs.length;b++){var newSelect=new Element('select');newSelect.name='car_model'+(b+1);newSelect.id='car_model'+(b+1);newSelect.className='car_model';newSelect.disabled=true;var thisInput=modelInputs[b];newSelect.injectBefore(thisInput);thisInput.remove();if(makeVals[b]!=''){newSelect.setHTML(loading);new Ajax('{path=handlers/carModel}',{postBody:'car_year='+yearVals[b]+'&car_make='+makeVals[b],update:newSelect.parentNode,onComplete:function(){setupAllSelects();setModelIndex();}}).request();newSelect.disabled="";}
else newSelect.setHTML(modelMsg);}
var milesInputs=$$('div.carData input.car_miles');for(b=0;b<milesInputs.length;b++){if(makeVals[b]=='')milesInputs[b].disabled='true';}
setupYearSelects();}
function setupAllSelects(){setupMakeSelects();setupModelSelects();}
function setMakeIndex(){var makeSelects=$$('select.car_make');for(c=0;c<makeSelects.length;c++){var thisOpts=makeSelects[c].getElementsByTagName('option');for(d=0;d<thisOpts.length;d++){var thisOptVal=thisOpts[d].value;if(thisOptVal==makeVals[c])makeSelects[c].selectedIndex=d;}}}
function setModelIndex(){var modelSelects=$$('select.car_model');for(c=0;c<modelSelects.length;c++){var thisOpts=modelSelects[c].getElementsByTagName('option');for(d=0;d<thisOpts.length;d++){var thisOptVal=thisOpts[d].value;if(thisOptVal==idVals[c])modelSelects[c].selectedIndex=d;}}}
function setupYearSelects(){var yearSelects=$$('select.car_year');for(a=0;a<yearSelects.length;a++){yearSelects[a].onchange=function(){var thisyear=this.value;var thisfieldset=this.parentNode.parentNode;var thismake=$E('select.car_make',thisfieldset);var thismodel=$E('select.car_model',thisfieldset);var thismiles=$E('input.car_miles',thisfieldset);if(this.value!=""){thismake.setHTML(loading);new Ajax('{path=handlers/carMake}',{postBody:'car_year='+thisyear,update:thismake.parentNode,onComplete:setupMakeSelects}).request();thismake.disabled="";}
else{thismake.setHTML(makeMsg);thismake.disabled="true";}
thismodel.setHTML(modelMsg);thismodel.disabled="true";thismiles.disabled="true";}}}
function setupMakeSelects(){var makeSelects=$$('select.car_make');for(b=0;b<makeSelects.length;b++){makeSelects[b].name='car_make'+(b+1);makeSelects[b].id='car_make'+(b+1);makeSelects[b].onchange=function(){var thismake=this.value;var thisfieldset=this.parentNode.parentNode.parentNode;var thisyearel=$E('select.car_year',thisfieldset);var thisyear=thisyearel.value;var thismodel=$E('select.car_model',thisfieldset);var thismiles=$E('input.car_miles',thisfieldset);thismiles.disabled="true";if(thismake!=""){thismodel.setHTML(loading);new Ajax('{path=handlers/carModel}',{postBody:'car_year='+thisyear+'&car_make='+thismake,update:thismodel.parentNode,onComplete:setupModelSelects}).request();thismodel.disabled="";thismodel.setHTML(modelMsg);}
else{thismodel.setHTML(modelMsg);thismodel.disabled="true";}}}}
function setupModelSelects(){var modelSelects=$$('select.car_model');for(c=0;c<modelSelects.length;c++){modelSelects[c].name='car_model'+(c+1);modelSelects[c].id='car_model'+(c+1);modelSelects[c].onchange=function(){var thisfieldset=this.parentNode.parentNode.parentNode;var thismiles=$E('input.car_miles',thisfieldset);if(this.value!=""){thismiles.disabled="";}
else{thismiles.disabled="true";}}}}
function toggleCars(){if($E('div.carData')){var addLink=new Element('h4');addLink.appendText('Add another car');addLink.id='addLink';addLink.onclick=function(){if($$('div.carData fieldset.disabled').length==1){this.addClass('disabled');}
var nextCar=$E('div.carData fieldset.disabled');nextCar.removeClass('disabled');}
$E('div.carData').adopt(addLink);var carSets=$$('div.carData fieldset');for(c=0;c<carSets.length;c++){var thisFS=carSets[c];var thisH3=$E('h3',carSets[c]);if(c>0){var thisSelect=$E('select',thisFS);if(thisSelect.value=='')thisFS.addClass('disabled');}}}}
function killHints(){var hints=$$('div.carData em.hint');for(d=0;d<hints.length;d++){hints[d].remove();}}
function removeNoJS(){var noJSinputs=$$('input.noJS');for(k=0;k<noJSinputs.length;k++){noJSinputs[k].remove();}}
Window.onDomReady(function(){getCurrentVals();swapSelects();removeNoJS();killHints();toggleCars();});