function sameDropoff(f,c,g,b,a,e){if($(f).checked==true&&$(c).value!=""){$(g).value=$(c).value;$(b).value=a}if($(c).id==g&&($(f).checked==true)){$(f).checked=false}var d=$(g).value;if(e!="carList"){if($(c).id!=g&&($(f).checked==false)){}}}function getCarAirportAsHTMLString(b,f,a){var g="";var c="";var i="false";if(b.airportName.toLowerCase().indexOf(f.toLowerCase())==0){g='<font id="anchor"></font>';if(b.airportName.toLowerCase()==(f.toLowerCase())&&!i){c=' class="toBoxHighlight" ';i="true"}}var e=g+"<a onFocus='changeBkgrnd(this)' onBlur='changeBkgrnd_Blur(this)' href='javascript:void(0)' id='car"+b.code+"'"+c+"/>";var d;if(a){d=b.toStringWithHighlightedAirport(f)}else{d=b.toStringAirportCodeOnly()}d=d.substring(0,d.length-12)+")</span>";var h="</a>";return e+d+h}var CarBoxControl=Class.create();CarBoxControl.prototype={initialize:function(h,f,g,b,a,i,e,c,d){this.box=$(h);this.boxListDiv=$(f);this.selectionField=$(b);this.boxPlusSign=$(g);this.carForm=$(a);this.currentSelectionCars="";this.carFieldsToHide=i;this.car_dataContainer=e;this.carDropOffSameLocation=d;this.carHideOnlyCloseButton=c;this.box.onkeydown=this.boxKeyDown.bindAsEventListener(this);this.box.onkeyup=this.boxKeyUp.bindAsEventListener(this);this.box.onfocus=this.boxFocus.bindAsEventListener(this);this.boxPlusSign.onclick=this.boxPlusSignClick.bindAsEventListener(this);this.carBoxOpen=false;this.inputType="textBox"},boxKeyDown:function(b){if(b!=null&&(b.keyCode==40)){var f=$("carPredictiveLookUp");if(f!=null){var a=f.getElementsByTagName("a");if(this.currentSelectionCars==""){var d=a[0];this.currentSelectionCars=d;changeBkgrnd(d)}else{for(var c=0;c<a.length;c++){if(Element.hasClassName(a[c],"selected")){changeBkgrnd_Blur(a[c]);if(c<(a.length-1)){carNextItem=a[c+1]}else{carNextItem=a[0]}this.currentSelectionCars=carNextItem;changeBkgrnd(carNextItem);c=a.length}}}}fixScrollPosition(this.boxListDiv,this.currentSelectionCars);return false}else{if(b!=null&&b.keyCode==38){var f=$("carPredictiveLookUp");if(f!=null){var a=f.getElementsByTagName("a");if(this.currentSelectionCars!=""){for(var c=0;c<a.length;c++){if(Element.hasClassName(a[c],"selected")){changeBkgrnd_Blur(a[c]);if(c>0){carNextItem=a[c-1]}else{carNextItem=a[a.length-1]}this.currentSelectionCars=carNextItem;changeBkgrnd(carNextItem);c=a.length}}}else{var e=a[a.length-1];this.currentSelectionCars=e;changeBkgrnd(e)}}fixScrollPosition(this.boxListDiv,this.currentSelectionCars);return false}else{if(b!=null&&b.keyCode==13){if(this.currentSelectionCars!=""){this.currentSelectionCars.onclick()}else{if(this.boxListDiv.getElementsByTagName("a").length==1){this.boxListDiv.getElementsByTagName("a")[0].onclick()}}}}}},boxKeyUp:function(a){if(a==null||a.keyCode==40||a.keyCode==38||a.keyCode==13||a.keyCode==9||a.keyCode==37||a.keyCode==39){}else{this.currentSelectionCars="";this.populateMatchingAirports(a)}},boxFocus:function(a){this.box.select()},boxPlusSignClick:function(b){this.populateAllAirports(b);this.box.focus();var d=$("carPredictiveLookUp");var a=d.getElementsByTagName("a");for(var c=0;c<a.length;c++){if(("car"+this.selectionField.value)==a[c].id){this.currentSelectionCars=a[c];changeBkgrnd(a[c]);fixScrollPosition(this.boxListDiv,this.currentSelectionCars)}}},populateAllAirports:function(a){var b=getCarAirportsFromAirportCodes(this.car_dataContainer.getFromAirports(),this.car_dataContainer.getAirports());this.populateOptions(a,b,false)},populateMatchingAirports:function(a){var b=getValidAirportsThatMatchString(this.box.value,this.car_dataContainer);this.populateOptions(a,b,true)},populateOptions:function(h,d,c){var b=window.location.href;this.boxListDiv.style.display="block";var b=window.location.href;this.setCarBoxOpen(true);if(d.length==0){removeClassName(this.boxListDiv,"carCityBoxHidden");removeClassName(this.boxListDiv,"carBoxSingleColumn");removeClassName(this.boxListDiv,"carBoxDoubleColumns");addClassName(this.boxListDiv,"carBoxNoMatches");this.boxListDiv.innerHTML="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;There are no cities matching your request. Try again or click on the + to see valid destination cities.";$(this.carHideOnlyCloseButton[0]).onclick=this.closeCarBoxListDiv.bindAsEventListener(this)}else{if(b.lastIndexOf("/info")>0){var a="";var j=0;for(var g=0;g<d.length;g++){var e=d[g];a=a+getCarAirportAsHTMLString(e,this.box.value,c)+"<BR>";j++}carOptionList='<table id="carPredictiveLookUp"><tr><td style="vertical-align: top; padding: 2px 2px 2px 20px;">'+a;"</td>";carOptionList=carOptionList+"</tr></table>";removeClassName(this.boxListDiv,"carCityBoxHidden");removeClassName(this.boxListDiv,"carBoxNoMatches");removeClassName(this.boxListDiv,"carBoxDoubleColumns");addClassName(this.boxListDiv,"carBoxSingleColumn");this.boxListDiv.innerHTML=carOptionList}else{var a="";var i="";var f=5;var j=0;f=(f<d.length/2)?(d.length/2):f;for(var g=0;g<d.length;g++){var e=d[g];a=a+getCarAirportAsHTMLString(e,this.box.value,c)+"<BR>";j++}carOptionList='<table id="carPredictiveLookUp"><tr><td width=\'10px\' valign="top"></td><td valign="top">'+a;"</td>";carOptionList=carOptionList+"</tr></table>";removeClassName(this.boxListDiv,"carCityBoxHidden");removeClassName(this.boxListDiv,"carBoxNoMatches");removeClassName(this.boxListDiv,"carBoxDoubleColumns");addClassName(this.boxListDiv,"carBoxSingleColumn");this.boxListDiv.innerHTML=carOptionList}for(var g=0;g<d.length;g++){var e=d[g];new CarSelection(e,this.box,this.selectionField,this.boxListDiv,this,this.carDropOffSameLocation)}if(d.length>0){document.onclick=this.closeCarBoxListDiv.bindAsEventListener(this)}}},setCarBoxOpen:function(a){this.carBoxOpen=a;this.hideShowCarFields(a);this.hideShowCarCloseButton(a);if(!a){this.currentSelection=""}},hideShowCarFields:function(b){for(var a=0;a<this.carFieldsToHide.length;a++){if(b){$(this.carFieldsToHide[a]).style.visibility="hidden"}else{$(this.carFieldsToHide[a]).style.visibility="visible"}}},hideShowCarCloseButton:function(b){for(var a=0;a<this.carHideOnlyCloseButton.length;a++){if(b){$(this.carHideOnlyCloseButton[a]).style.display="block"}else{$(this.carHideOnlyCloseButton[a]).style.display="none"}}},closeCarBoxListDiv:function(a){if(a.target){carTarg=a.target}else{if(a.srcElement){carTarg=a.srcElement}}if(carTarg.id!=this.boxPlusSign.id){if(this.carBoxOpen){this.boxListDiv.style.display="none";this.hideShowCarFields(false);this.hideShowCarCloseButton(false);if(this.selectionField.value==""){this.box.value=""}else{var b=getObjectFromArrayByCode(this.selectionField.value,this.car_dataContainer.getAirports());this.box.value=b.toStringNameOnly()}this.setCarBoxOpen(false)}}}};function getCarAirportsFromAirportCodes(e,a){var d=new Array();for(var c=0;c<e.length;c++){var b=getObjectFromArrayByCode(e[c],a);d.push(b)}return d}function getCarCountryCodeFromAirportCode(b,c){var a=getObjectFromArrayByCode(b,c.getAirports());return a.country.code}var CarSelection=Class.create();CarSelection.prototype={initialize:function(f,d,b,a,e,c){this.airport=f;this.box=d;this.selectionField=b;this.boxListDiv=a;this.carBoxControl=e;this.carDropOffSameLocation=c;this.carAirportHref=$("car"+f.code);this.carAirportHref.onclick=this.carAirportHrefClick.bindAsEventListener(this)},carAirportHrefClick:function(a){this.carBoxControl.setCarBoxOpen(false);this.selectionField.value=this.airport.code;this.box.value=this.airport.toStringNameOnly();sameDropoff(this.carDropOffSameLocation,($(this.box).id),("carDropOffTextField"),"carDropOff",this.selectionField.value,"carList");this.boxListDiv.innerHTML="";this.boxListDiv.style.display="none";selectProvider()}};function getValidAirportsThatMatchString(b,e){var c=e.toAirports;var d=e.airports;var a=getAirportsThatMatchString(b,c,d);return a}var CarPickDropHandler=Class.create();CarPickDropHandler.prototype={initialize:function(b,a,c){this.carPickUpBoxControl=b;this.carDropOffBoxControl=a;this.car_dataContainer=c;this.carPickUpBox=this.carPickUpBoxControl.box;this.carDropOff=this.carDropOffBoxControl.box;this.carPickUpSelectionField=this.carPickUpBoxControl.selectionField;this.carDropOffSelectionField=this.carDropOffBoxControl.selectionField;this.carPickUpBoxControl.boxPlusSign.onclick=this.checkBoxOpen.bindAsEventListener(this)},checkBoxOpen:function(a){var b=this.carDropOffBoxControl.boxListDiv.className;if(b.search("carCityBoxHidden")!=-1){this.carPickUpBoxControl.boxPlusSignClick(a)}else{this.carDropOffBoxControl.closeCarBoxListDiv(a);this.carPickUpBoxControl.boxPlusSignClick(a)}},setInitialValues:function(b,d){if(this.carPickUpBoxControl.inputType=="textBox"&&b!=null&&b!=""){var c=getObjectFromArrayByCode(b,this.car_dataContainer.getAirports());if(c!=null){this.carPickUpBox.value=c.airportName;this.carPickUpSelectionField.value=c.code}}if(this.carDropOffBoxControl.inputType=="textBox"&&d!=null&&d!=""){var a=getObjectFromArrayByCode(d,this.car_dataContainer.getAirports());if(a!=null){this.carDropOff.value=a.airportName;this.carDropOffSelectionField.value=a.code}}if(b!=d){document.carForm.checkCarDropSameLocation.checked=false}}};
