var timeComponent=function(){var a=function(){var e=new Array("01","02","03","04","05","06","07","08","09","10","11","12");var g=new Array("00","15","30","45");var c=new Array("AM","PM");var j=new Date;var f=j.getHours();var b=j.getMinutes();var i=(f>=12?"PM":"AM");if(f>12){f=f-12}for(mn in g){if(b<=parseInt(g[mn])){b=parseInt(g[mn]);break}}if(b>45){b=0;switch(f){case (11):f+=1;i=(i=="AM"?"PM":"AM");break;case (12):f=1;break;default:f+=1;break}}if(f==0){f=12}if(b==0){b="00"}if(f<10){f="0"+f}return f+":"+b+" "+i};return{allDatesShowed:false,showAllDates:function(){var b=this;if(!this.allDatesShowed){b.$select.find("option").remove().end().append(b.optsHtml).width(b.selectWidth);b.allDatesShowed=true}},init:function(){var d=a();this.$select=$("select#time");this.selectWidth=this.$select.width();var b=$("select#time>option");var c=b.index($("option[@value='"+d+"']")[0]);this.optsHtml="";if(!b.val()){var e=this;b.each(function(f){e.optsHtml+=("<option value='"+$(this).val()+"'>"+$(this).html()+"</option>");if(f<c&&$(this).html()!="--:--"){$(this).remove()}});this.$select.append("<option value='showAll' id='showAll'>--Show all time--</option>").width(e.selectWidth);this.$select.change(function(g){var f=$(this).find("[selected]");if(f.val()=="showAll"){timeComponent.showAllDates()}})}}}}();$.airportBox=function(a){this.init(a)};$.airportBox.prototype={init:function(b){this.form=$("#quickReservationForm");this.el=b.el;this.titleEl=this.el.find("div.cmbAddrExplanation");this.titleEl.html("Enter flight details:");this.list=this.el.find("ul");var a="<li><label for='pickup.airline'>Airline&nbsp;code*&nbsp;:</label><div class='floatRight'><div class='cmbWrapper cmbAirlineCode'><a class='cmbArrow' href='#' style='z-index:1000 !important;'></a><input type='text' class='cmbInputBox input' tabindex=2 name='pickup.airline'/><div class='cmbSuggestionBox'><div class='boxUpperShadow'></div><div class = 'cmbSuggestionListHolder'><div class='ml'></div><div class='mm'><ul class='cmbSuggestions'></ul></div><div class='mr'></div></div><div class='boxBottomShadow'><div class='bl'></div><div class='bb'></div><div class='br'></div></div><!--[if lte IE 6.5]><iframe></iframe><![endif]--></div></div></div><div style='clear:both'></div></li><li><label for='pickup.flight'>Flight #* :</label><input type='text' class='input' tabindex=3 name='pickup.flight' /></li><li><label for='pickup.arrivingFrom'>Arriving from :</label><input type='text' class='input' tabindex=4 name='pickup.arrivingFrom' /></li><li><label for='pickup.terminal'>Terminal :</label><input type='text' class='input' tabindex=5 name='pickup.terminal' /></li><li><label for=''>Meeting area:</label><select tabindex=6 name='pickup.inOut'><option value='true'>Inside</option><option value='false'>Outside</option></select><p style='padding:0px;font-size:11px;color:#777;float:right;text-align:right;width:100%;'>Inside: Driver Meets at Baggage claim</p><p style='padding:0px;font-size:11px;color:#777;float:right;text-align:right;width:100%'>Outside: Driver Curbside, no fee</p></li><li><p style='clear:both'>NOTE:LimoRes tracks your flight to help prevent unnecessary Waiting Time. We will then dispatch your car based on Gate Arrival Time.</p></li><li><a href='#' tabindex=7 class ='cmbWidgetButton'>OK</a></li>";this.list.html(a);this.button=this.list.find("a.cmbWidgetButton");this.infoLabel=$("#cmbAirportPickupInfo");this.txtFlightId=this.list.find("input[name='pickup.flight']");this.txtAirline=this.list.find("input[name='pickup.airline']");this.txtArrivingFrom=this.list.find("input[name='pickup.arrivingFrom']");this.optMeetingArea=this.list.find("select[name='pickup.inOut']");this.txtTerminal=this.list.find("input[name='pickup.terminal']");this.cmbAirline=new $.cmbBoxSimple({el:"input[name=pickup.airline]",emptyText:"Enter airline",store:{mode:"remote",urlSuggest:ajaxUrls.airline.urlSuggest},displayHiddenValue:true});this.initEvents()},render:function(){this.expand();this.initValidation();this.el.find("input:first").focus()},getEl:function(){return this.el},initEvents:function(){var a=this;this.button.click(function(){a.onClickOK();return false});this.el.keydown(function(b){switch(b.keyCode){case 13:a.onClickOK();return false;break}})},onClickOK:function(){if(this.isValid()){this.collapse();this.sendAirportInfo();var a=parseInt(this.button.attr("tabindex"));$("form#quickReservationForm select:visible, form#quickReservationForm input:visible ").filter(function(){return(parseInt($(this).attr("tabindex"))==a+1)}).focus()}},sendAirportInfo:function(){var a=this;$.ajax({type:"GET",url:ajaxUrls.pickup.urlFlight.url,dataType:"json",cache:false,success:function(b){},error:function(){},data:{"pickup.model.airline":a.form.find("input[name=pickup.airline]").val(),"pickup.model.flight":a.form.find("input[name=pickup.flight]").val(),"pickup.model.arrivingFrom":a.form.find("input[name=pickup.arrivingFrom]").val(),"pickup.model.meetingInside":a.form.find("select[name=pickup.inOut]").val(),"pickup.model.terminal":a.form.find("input[name=pickup.terminal]").val()}})},isValid:function(){var b=this.form.validate().element(this.txtFlightId);var a=this.form.validate().element(this.txtAirline);return b&&a},initValidation:function(){this.txtFlightId.rules("add",{required:true,number:true});this.txtAirline.rules("add",{required:true,maxlength:3})},clearValidation:function(){this.txtFlightId.rules("remove");this.txtAirline.rules("remove")},renderInfoLabel:function(){var c=this;var a={txtAirline:c.txtAirline.val(),txtFlightId:c.txtFlightId.val(),txtArrivingFrom:c.txtArrivingFrom.val(),txtTerminal:c.txtTerminal.val(),optMeetingArea:c.optMeetingArea.find("option[selected]").text()};var b="<a href='#' id='cmbPickupFlightDetailsLabel'>Flight details:</a> Airline code "+a.txtAirline+", Flight # "+a.txtFlightId+", "+(a.txtArrivingFrom?" Arriving from "+a.txtArrivingFrom+", ":"")+(a.txtTerminal?" Terminal "+a.txtTerminal+", ":"")+"Meeting area "+a.optMeetingArea;this.infoLabel.html(b).show();var c=this;$("a#cmbPickupFlightDetailsLabel").click(function(){c.render();c.clearInfoLabel();return false})},clearInfoLabel:function(){$("a#cmbPickupFlightDetailsLabel").unbind();this.infoLabel.hide()},clearFields:function(){this.el.find("input").val("");this.el.find("option:selected").removeAttr("selected");this.optMeetingArea.find("option[value=false]").attr("selected","true")},isExpanded:function(){return(this.el.css("display")!="none")},expand:function(a){if(this.isExpanded()){return}this.el.show()},collapse:function(){if(!this.isExpanded()){return}this.clearValidation();this.renderInfoLabel();this.el.hide()}};$.areaBox=function(){this.init()};$.areaBox.prototype={init:function(){this.form=$("#quickReservationForm");this.txtHour=$("input#txtByTheHour");this.el=$("#cmbDestinationWidget");this.titleEl=this.el.find("div.cmbAddrExplanation");this.list=this.el.find("ul")},renderList:function(c){if(c&&c.results){var a="";var b=this.el;$.each(c.results,function(e,d){a+="<li value='"+d.type+"' minimumHours="+d.minimumHours+'><input type="radio" name="'+b.attr("id")+'Radiogroup" id="'+b.attr("id")+"Radio-"+d.type+'"/><label for="'+b.attr("id")+"Radio-"+d.type+'">'+d.name+"</label></li>"});this.list.html(a);this.titleEl.html("Select one area from a list:");this.initListEvents()}},onViewClick:function(){var a=this.list.find("li.hover:first");var c=a.attr("minimumHours");var b=a.attr("value");this.txtHour.rules("remove");this.txtHour.rules("add",{required:true,min:c});this.txtHour.data("type",b);this.collapse();this.txtHour.focus()},initListEvents:function(){this.listItems=this.list.find("li");var a=this;this.listItems.hover(function(){$(this).addClass("hover");$(this).find("label").addClass("hover")},function(){$(this).removeClass("hover");$(this).find("label").removeClass("hover")}).click(function(){a.onViewClick()})},isExpanded:function(){return(this.el.css("display")!="none")},expand:function(){if(this.isExpanded()){return}this.el.show()},collapse:function(){if(!this.isExpanded()){return}this.el.hide()}};var inputBoxes={init:function(){var a=this;this.airportBox=new $.airportBox({el:$("#cmbPickupWidget")});this.cmbBoxPickup=new $.cmbBox({el:"input#txtPickup",airportBox:a.airportBox,emptyText:"Enter Address, Airport, or Landmark",store:{mode:"remote",urlAddresses:ajaxUrls.pickup.urlAddresses,urlValidate:ajaxUrls.pickup.urlValidate,urlSelect:ajaxUrls.pickup.urlSelect}});this.cmbBoxDestination=new $.cmbBox({el:"input#txtDestination",emptyText:"Enter Address, Airport, or Landmark",store:{mode:"remote",urlAddresses:ajaxUrls.destination.urlAddresses,urlValidate:ajaxUrls.destination.urlValidate,urlSelect:ajaxUrls.destination.urlSelect}});this.areaBox=new $.areaBox();this.txtByTheHour=$("input#txtByTheHour");this.form=$("#quickReservationForm");this.hourLink=$("span#spHour");this.destinationLink=$("span#spDestination");this.defaultHourValue="Enter number of hours";this.defaultDestValue="Enter Address, Airport, or Landmark";this.txtDestinationArrow=$("#txtDestinationWrapper").find(".cmbArrow");this.spAddrExample=$("#txtDestinationWrapper").find(".cmbAddrExample");this.txtByTheHour.val(a.defaultHourValue).addClass("defaultText");this.initValidation();this.initEvents()},getStatus:function(){return this.isByTheHourActive},setStatus:function(a){this.isByTheHourActive=a},getForm:function(){return this.form},getCmbBoxPickup:function(){return this.cmbBoxPickup},getCmbBoxDestination:function(){return this.cmbBoxDestination},getAirportBox:function(){return this.airportBox},initHourComponent:function(a){this.onHourClick(this);this.txtByTheHour.val(a.value).data("type",a.type).focus();this.txtByTheHour.data("type",null)},getBthEmptyText:function(){return this.defaultHourValue},initValidation:function(){var a=this;$.validator.addMethod("isNotEmptyText",function(c,b,d){return c!=d[0]},"This field is required.");this.destinationRules={required:true,isNotEmptyText:[a.cmbBoxDestination.getEmptyText()]};this.pickupRules={required:true,isNotEmptyText:[a.cmbBoxPickup.getEmptyText()]};this.byTheHourRules={required:true,isNotEmptyText:[a.getBthEmptyText()],number:true};this.form.validate({errorClass:"reservationError",focusInvalid:true,rules:{txtDestination:a.destinationRules,txtPickup:a.pickupRules}});a.cmbBoxPickup.getEl().rules("add",a.pickupRules);if(!a.getStatus()){a.cmbBoxDestination.getEl().rules("add",a.destinationRules)}},initEvents:function(){var a=this;this.hourLink.parent().click(function(){a.onHourClick(a)});this.txtByTheHour.focus(function(){a.onHourFocus.call(this,a)}).blur(function(){a.onHourBlur.call(this,a)});this.form.submit(function(){if(a.txtByTheHour.val()==a.getBthEmptyText()){a.txtByTheHour.val("")}})},markValid:function(){this.txtByTheHour.addClass("valid")},clearValid:function(){this.txtByTheHour.removeClass("valid")},onHourBlur:function(b){if(b.form.validate().element($(this))){b.markValid();b.initValidation();var a={type:"GET",url:ajaxUrls.byTheHour.urlValidate,dataType:"json",cache:false,success:function(c){},error:function(){},data:{duration:b.txtByTheHour.val(),type:b.txtByTheHour.data("type")}};$.ajax(a)}else{if($(this).val()==""){$(this).attr("maxlength",50);$(this).val(b.defaultHourValue).addClass("defaultText")}}$(this).data("type",null)},onHourFocus:function(b){$(this).removeClass("defaultText");b.clearValid();if($(this).val()==b.defaultHourValue){$(this).attr("maxlength",2);$(this).val("")}if(isNaN(parseInt($(this).data("type")))){if(b.ajaxCall){b.ajaxCall.abort()}var a={type:"GET",url:ajaxUrls.byTheHour.urlInit,dataType:"json",cache:false,success:function(c){if(c.results&&c.results.length&&c.results.length>1){b.areaBox.renderList(c);b.areaBox.expand()}else{if(c.results&&c.results.length){b.txtByTheHour.rules("add",{required:true,min:c.results[0].minimumHours,number:true});b.txtByTheHour.data("type",c.results[0].type)}}},error:function(){},data:{}};b.ajaxCall=$.ajax(a)}},onHourClick:function(a){a.txtByTheHour.rules("remove");a.cmbBoxDestination.getEl().rules("remove");a.setStatus(true);a.txtByTheHour.rules("add",a.byTheHourRules);a.destinationLink.wrap("<a href='#'></a>").parent().click(function(){a.onDestinationClick(a)});a.hourLink.parent().after(a.hourLink).remove();a.txtDestinationArrow.hide();a.spAddrExample.hide();a.cmbBoxDestination.getEl().hide();a.cmbBoxDestination.applyEmptyText();$("label.reservationError[for='txtDestination']").hide(function(){$(this).remove()});a.txtByTheHour.show();$(this).val(a.defaultDestValue).addClass("defaultText").removeClass("addrFound").removeClass("addrNotFound");return false},onDestinationClick:function(a){a.cmbBoxDestination.getEl().rules("add",a.destinationRules);a.txtByTheHour.rules("remove");a.setStatus(false);a.cmbBoxDestination.clearUndoLabel();if(a.ajaxCall){a.ajaxCall.abort()}a.hourLink.wrap("<a href='#'></a>").parent().click(function(){a.onHourClick(a)});a.destinationLink.parent().after(a.destinationLink).remove();a.txtByTheHour.removeClass("reservationError").hide().attr("maxlength",50).val(a.defaultHourValue).addClass("defaultText");$("label.reservationError[for='txtByTheHour']").hide(function(){$(this).remove()});a.cmbBoxDestination.getEl().show();a.spAddrExample.show();a.txtDestinationArrow.show();return false},onArrowClick:function(d){if((d.cmbBoxPickup.getRawValue()!=""||d.cmbBoxDestination.getRawValue()!="")){d.cmbBoxPickup.airportBox.clearInfoLabel();d.cmbBoxPickup.clearUndoLabel();d.cmbBoxDestination.clearUndoLabel();var c={addrNotFound:d.cmbBoxPickup.getEl().hasClass("addrNotFound"),addrFound:d.cmbBoxPickup.getEl().hasClass("addrFound")};var b={text:d.cmbBoxPickup.getRawValue(),value:d.cmbBoxPickup.getValue()};var a={type:"GET",url:ajaxUrls.reverseAddress.url,dataType:"json",cache:false,success:function(e){d.cmbBoxPickup.setValue({text:d.cmbBoxDestination.getRawValue(),value:d.cmbBoxDestination.getValue()});d.cmbBoxDestination.setValue(b);d.cmbBoxPickup.getEl().removeClass("addrFound").removeClass("addrNotFound");d.cmbBoxDestination.getEl().removeClass("addrNotFound").removeClass("addrFound")},error:function(){},data:{}};d.ajaxCall=$.ajax(a);if(d.cmbBoxDestination.getRawValue()==""){d.cmbBoxDestination.applyEmptyText()}if(d.cmbBoxPickup.getRawValue()==""){d.cmbBoxPickup.applyEmptyText()}}}};var tabs=function(){function a(){if($("#chooseRide input").is(":checked")){tabs.chooseRide()}else{if($("#chooseQuote input").is(":checked")){tabs.chooseQuote()}}}return{chooseQuote:function(){$.cmbBox.prototype.displayFlightDetails=false;$("#bookQuote label").removeClass("over");disableSection(".book");enableSection("#emailForGetQuote");$("#chooseQuote").addClass("over")},chooseRide:function(){$.cmbBox.prototype.displayFlightDetails=true;$("#bookQuote label").removeClass("over");enableSection(".book");disableSection("#emailForGetQuote");$("#chooseRide").addClass("over");if(inputBoxes.getCmbBoxPickup().getIsAirport()){inputBoxes.getAirportBox().render()}},init:function(){var b=this;a();$("#bookQuote label").bind("click",function(){$(this).find("input").click().click()});$("input[@name='reservationProcess']").bind("click",function(){if($(this).parent().attr("id")=="chooseQuote"){b.chooseQuote()}else{if($(this).parent().attr("id")=="chooseRide"){b.chooseRide()}}});$("#bookQuote label").corner("top")}}}();$(function(){var a=function(){inputBoxes.init();tabs.init();$.datePicker.setDateFormat("mm/dd/yyyy");$("input.date").datePicker();$("input.date").attr("autocomplete","on");$(".playButton").bind("click",function(){$(this).toggleClass("stopButton")});var d=$("#quickReservationForm");var c="Insert stops here (you will get a second confirmation e-mail)";var b=$("input#specialInstructions");if(!b.val().length||b.val()==c){b.addClass("defaultText").val(c)}b.focus(function(){$(this).removeClass("defaultText");if($(this).val()==c){$(this).val("")}}).blur(function(){$(this).addClass("defaultText");if($(this).val()==""){$(this).val(c)}});d.submit(function(){var e=function(){return !inputBoxes.getCmbBoxDestination().ajaxValidationCall&&!inputBoxes.getCmbBoxPickup().ajaxValidationCall};if(d.validate().form()){if(e()){if(b.val()==c){b.val("")}if(inputBoxes.airportBox.isExpanded()==true){inputBoxes.airportBox.sendAirportInfo()}$("#progressWin").show();$("#progressWin").modal({onClose:progressBar.close,overlay:1});setTimeout('document.images["loading"].src = document.images["loading"].src',1)}else{if(inputBoxes.getCmbBoxPickup().ajaxValidationCall){inputBoxes.getCmbBoxPickup().getStillValidatingMsg().fadeIn();inputBoxes.getCmbBoxPickup().largeWrapper.highlight()}if(inputBoxes.getCmbBoxDestination().ajaxValidationCall){inputBoxes.getCmbBoxDestination().largeWrapper.highlight();inputBoxes.getCmbBoxDestination().getStillValidatingMsg().fadeIn()}return false}}});setTimeout(function(){var e=document.getElementById("quickReservationForm");for(x=0,len=e.elements.length;x<len;e.elements[x++].disabled=false){}$("#info-banner .loading-page").fadeOut(function(){$("#info-banner").addClass("promo").find("#icon").addClass("promo").end().find(".promo").fadeIn();if(chooseQuote){$("#chooseQuote input").click().click()}})},750)}()});