/*deleteCache-description:*/
/*deleteCache-minimizeJS:false*/
(function($){function Datepicker(){this.debug=false;this._nextId=0;this._inst=[];this._curInst=null;this._disabledInputs=[];this._datepickerShowing=false;this._inDialog=false;this.regional=[];this.regional[""]={clearText:"Clear",clearStatus:"Erase the current date",closeText:"Close",closeStatus:"Close without change",prevText:"&#x3c;Prev",prevStatus:"Show the previous month",nextText:"Next&#x3e;",nextStatus:"Show the next month",currentText:"Today",currentStatus:"Show the current month",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],monthStatus:"Show a different month",yearStatus:"Show a different year",weekHeader:"Wk",weekStatus:"Week of the year",dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],dayStatus:"Set DD as first week day",dateStatus:"Select DD, M d",dateFormat:"mm/dd/yy",firstDay:0,initStatus:"Select a date",isRTL:false};this._defaults={showOn:"focus",showAnim:"show",defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:false,closeAtTop:true,mandatory:false,hideIfNoPrevNext:false,changeMonth:true,changeYear:true,yearRange:"-10:+10",changeFirstDay:true,showOtherMonths:false,showWeeks:false,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",showStatus:false,statusForDate:this.dateStatus,minDate:null,maxDate:null,speed:"normal",beforeShowDay:null,beforeShow:null,onSelect:null,onClose:null,numberOfMonths:1,stepMonths:1,rangeSelect:false,rangeSeparator:" - "};$.extend(this._defaults,this.regional[""]);this._datepickerDiv=$('<div id="datepicker_div"></div>')}$.extend(Datepicker.prototype,{markerClassName:"hasDatepicker",log:function(){if(this.debug){console.log.apply("",arguments)}},_register:function(inst){var id=this._nextId++;this._inst[id]=inst;return id},_getInst:function(id){return this._inst[id]||id},setDefaults:function(settings){extendRemove(this._defaults,settings||{});return this},_attachDatepicker:function(target,settings){var inlineSettings=null;for(attrName in this._defaults){var attrValue=target.getAttribute("date:"+attrName);if(attrValue){inlineSettings=inlineSettings||{};try{inlineSettings[attrName]=eval(attrValue)}catch(err){inlineSettings[attrName]=attrValue}}}var nodeName=target.nodeName.toLowerCase();if(nodeName=="input"){var instSettings=(inlineSettings?$.extend($.extend({},settings||{}),inlineSettings||{}):settings);var inst=(inst&&!inlineSettings?inst:new DatepickerInstance(instSettings,false));this._connectDatepicker(target,inst)}else{if(nodeName=="div"||nodeName=="span"){var instSettings=$.extend($.extend({},settings||{}),inlineSettings||{});var inst=new DatepickerInstance(instSettings,true);this._inlineDatepicker(target,inst)}}},_destroyDatepicker:function(target){var $target=$(target);var nodeName=target.nodeName.toLowerCase();var calId=target._calId;target._calId=null;if(nodeName=="input"){$target.siblings(".datepicker_append").replaceWith("");$target.siblings(".datepicker_trigger").replaceWith("");$target.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress);var wrapper=$target.parents(".datepicker_wrap");if(wrapper){wrapper.replaceWith(wrapper.html())}}else{if(nodeName=="div"||nodeName=="span"){$target.removeClass(this.markerClassName).empty()}}if($("input[_calId="+calId+"]").length==0){this._inst[calId]=null}},_enableDatepicker:function(target){target.disabled=false;$(target).siblings("button.datepicker_trigger").each(function(){this.disabled=false});$(target).siblings("img.datepicker_trigger").css({opacity:"1.0",cursor:""});var $target=target;this._disabledInputs=$.map(this._disabledInputs,function(value){return(value==$target?null:value)})},_disableDatepicker:function(target){target.disabled=true;$(target).siblings("button.datepicker_trigger").each(function(){this.disabled=true});$(target).siblings("img.datepicker_trigger").css({opacity:"0.5",cursor:"default"});var $target=target;this._disabledInputs=$.map($.datepicker._disabledInputs,function(value){return(value==$target?null:value)});this._disabledInputs[$.datepicker._disabledInputs.length]=target},_isDisabledDatepicker:function(target){if(!target){return false}for(var i=0;i<this._disabledInputs.length;i++){if(this._disabledInputs[i]==target){return true}}return false},_changeDatepicker:function(target,name,value){var settings=name||{};if(typeof name=="string"){settings={};settings[name]=value}var inst=this._getInst(target._calId);if(inst){extendRemove(inst._settings,settings);this._updateDatepicker(inst)}},_setDateDatepicker:function(target,date,endDate){var inst=this._getInst(target._calId);if(inst){inst._setDate(date,endDate);this._updateDatepicker(inst)}},_getDateDatepicker:function(target){var inst=this._getInst(target._calId);return(inst?inst._getDate():null)},_doKeyDown:function(e){var inst=$.datepicker._getInst(this._calId);if($.datepicker._datepickerShowing){switch(e.keyCode){case 9:$.datepicker.hideDatepicker("");break;case 13:$.datepicker._selectDay(inst,inst._selectedMonth,inst._selectedYear,$("td.datepicker_daysCellOver",inst._datepickerDiv)[0]);return false;break;case 27:$.datepicker.hideDatepicker(inst._get("speed"));break;case 33:$.datepicker._adjustDate(inst,(e.ctrlKey?-1:-inst._get("stepMonths")),(e.ctrlKey?"Y":"M"));break;case 34:$.datepicker._adjustDate(inst,(e.ctrlKey?+1:+inst._get("stepMonths")),(e.ctrlKey?"Y":"M"));break;case 35:if(e.ctrlKey){$.datepicker._clearDate(inst)}break;case 36:if(e.ctrlKey){$.datepicker._gotoToday(inst)}break;case 37:if(e.ctrlKey){$.datepicker._adjustDate(inst,-1,"D")}break;case 38:if(e.ctrlKey){$.datepicker._adjustDate(inst,-7,"D")}break;case 39:if(e.ctrlKey){$.datepicker._adjustDate(inst,+1,"D")}break;case 40:if(e.ctrlKey){$.datepicker._adjustDate(inst,+7,"D")}break}}else{if(e.keyCode==36&&e.ctrlKey){$.datepicker._showDatepicker(this)}}},_doKeyPress:function(e){var inst=$.datepicker._getInst(this._calId);var chars=$.datepicker._possibleChars(inst._get("dateFormat"));var chr=String.fromCharCode(e.charCode==undefined?e.keyCode:e.charCode);return e.ctrlKey||(chr<" "||!chars||chars.indexOf(chr)>-1)},_connectDatepicker:function(target,inst){var input=$(target);if(input.is("."+this.markerClassName)){return }var appendText=inst._get("appendText");var isRTL=inst._get("isRTL");if(appendText){if(isRTL){input.before('<span class="datepicker_append">'+appendText+"</span>")}else{input.after('<span class="datepicker_append">'+appendText+"</span>")}}var showOn=inst._get("showOn");if(showOn=="focus"||showOn=="both"){input.focus(this._showDatepicker)}if(showOn=="button"||showOn=="both"){var buttonText=inst._get("buttonText");var buttonImage=inst._get("buttonImage");var trigger=$(inst._get("buttonImageOnly")?'<img class="datepicker_trigger" src="'+buttonImage+'" alt="'+buttonText+'" title="'+buttonText+'"/>':'<button type="button" class="datepicker_trigger">'+(buttonImage!=""?'<img src="'+buttonImage+'" alt="'+buttonText+'" title="'+buttonText+'"/>':buttonText)+"</button>");input.wrap('<span class="datepicker_wrap"></span>');if(isRTL){input.before(trigger)}else{input.after(trigger)}trigger.click(function(){if($.datepicker._datepickerShowing&&$.datepicker._lastInput==target){$.datepicker.hideDatepicker()}else{$.datepicker._showDatepicker(target)}})}input.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress);input.bind("setData.datepicker",function(event,key,value){inst._settings[key]=value}).bind("getData.datepicker",function(event,key){return inst._get(key)});input[0]._calId=inst._id},_inlineDatepicker:function(target,inst){var input=$(target);if(input.is("."+this.markerClassName)){return }input.addClass(this.markerClassName).append(inst._datepickerDiv);input.bind("setData.datepicker",function(event,key,value){inst._settings[key]=value}).bind("getData.datepicker",function(event,key){return inst._get(key)});input[0]._calId=inst._id;this._updateDatepicker(inst)},_inlineShow:function(inst){var numMonths=inst._getNumberOfMonths();inst._datepickerDiv.width(numMonths[1]*$(".datepicker",inst._datepickerDiv[0]).width())},dialogDatepicker:function(dateText,onSelect,settings,pos){var inst=this._dialogInst;if(!inst){inst=this._dialogInst=new DatepickerInstance({},false);this._dialogInput=$('<input type="text" size="1" style="position: absolute; top: -100px;"/>');this._dialogInput.keydown(this._doKeyDown);$("body").append(this._dialogInput);this._dialogInput[0]._calId=inst._id}extendRemove(inst._settings,settings||{});this._dialogInput.val(dateText);this._pos=(pos?(pos.length?pos:[pos.pageX,pos.pageY]):null);if(!this._pos){var browserWidth=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;var browserHeight=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;var scrollX=document.documentElement.scrollLeft||document.body.scrollLeft;var scrollY=document.documentElement.scrollTop||document.body.scrollTop;this._pos=[(browserWidth/2)-100+scrollX,(browserHeight/2)-150+scrollY]}this._dialogInput.css("left",this._pos[0]+"px").css("top",this._pos[1]+"px");inst._settings.onSelect=onSelect;this._inDialog=true;this._datepickerDiv.addClass("datepicker_dialog");this._showDatepicker(this._dialogInput[0]);if($.blockUI){$.blockUI(this._datepickerDiv)}return this},_showDatepicker:function(input){input=input.target||input;if(input.nodeName.toLowerCase()!="input"){input=$("input",input.parentNode)[0]}if($.datepicker._lastInput==input){return }if($.datepicker._isDisabledDatepicker(input)){return }var inst=$.datepicker._getInst(input._calId);var beforeShow=inst._get("beforeShow");extendRemove(inst._settings,(beforeShow?beforeShow.apply(input,[input,inst]):{}));$.datepicker.hideDatepicker("");$.datepicker._lastInput=input;inst._setDateFromField(input);if($.datepicker._inDialog){input.value=""}if(!$.datepicker._pos){$.datepicker._pos=$.datepicker._findPos(input);$.datepicker._pos[1]+=input.offsetHeight}var isFixed=false;$(input).parents().each(function(){isFixed|=$(this).css("position")=="fixed"});if(isFixed&&$.browser.opera){$.datepicker._pos[0]-=document.documentElement.scrollLeft;$.datepicker._pos[1]-=document.documentElement.scrollTop}inst._datepickerDiv.css("position",($.datepicker._inDialog&&$.blockUI?"static":(isFixed?"fixed":"absolute"))).css("left",$.datepicker._pos[0]+"px").css("top",$.datepicker._pos[1]+"px");$.datepicker._pos=null;inst._rangeStart=null;$.datepicker._updateDatepicker(inst);if(!inst._inline){var speed=inst._get("speed");var postProcess=function(){$.datepicker._datepickerShowing=true;$.datepicker._afterShow(inst)};var showAnim=inst._get("showAnim")||"show";inst._datepickerDiv[showAnim](speed,postProcess);if(speed==""){postProcess()}if(inst._input[0].type!="hidden"){inst._input[0].focus()}$.datepicker._curInst=inst}},_updateDatepicker:function(inst){inst._datepickerDiv.empty().append(inst._generateDatepicker());if($.browser.msie&&parseInt($.browser.version)<7){$(".datepicker_cover").css("width",inst._datepickerDiv.width()+5);$(".datepicker_cover").css("height",inst._datepickerDiv.height()+4)}var numMonths=inst._getNumberOfMonths();if(numMonths[0]!=1||numMonths[1]!=1){inst._datepickerDiv.addClass("datepicker_multi")}else{inst._datepickerDiv.removeClass("datepicker_multi")}if(inst._get("isRTL")){inst._datepickerDiv.addClass("datepicker_rtl")}else{inst._datepickerDiv.removeClass("datepicker_rtl")}if(inst._input&&inst._input[0].type!="hidden"){inst._input[0].focus()}},_afterShow:function(inst){var numMonths=inst._getNumberOfMonths();inst._datepickerDiv.width(numMonths[1]*$(".datepicker",inst._datepickerDiv[0])[0].offsetWidth);if($.browser.msie&&parseInt($.browser.version)<7){$(".datepicker_cover").css("width",inst._datepickerDiv.width()+5);$(".datepicker_cover").css("height",inst._datepickerDiv.height()+4)}var isFixed=inst._datepickerDiv.css("position")=="fixed";var pos=inst._input?$.datepicker._findPos(inst._input[0]):null;var browserWidth=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;var browserHeight=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;var scrollX=(isFixed?0:document.documentElement.scrollLeft||document.body.scrollLeft);var scrollY=(isFixed?0:document.documentElement.scrollTop||document.body.scrollTop);if((inst._datepickerDiv.offset().left+inst._datepickerDiv.width()-(isFixed&&$.browser.msie?document.documentElement.scrollLeft:0))>(browserWidth+scrollX)){inst._datepickerDiv.css("left",Math.max(scrollX,pos[0]+(inst._input?$(inst._input[0]).width():null)-inst._datepickerDiv.width()-(isFixed&&$.browser.opera?document.documentElement.scrollLeft:0))+"px")}if((inst._datepickerDiv.offset().top+inst._datepickerDiv.height()-(isFixed&&$.browser.msie?document.documentElement.scrollTop:0))>(browserHeight+scrollY)){inst._datepickerDiv.css("top",Math.max(scrollY,pos[1]-(this._inDialog?0:inst._datepickerDiv.height())-(isFixed&&$.browser.opera?document.documentElement.scrollTop:0))+"px")}},_findPos:function(obj){while(obj&&(obj.type=="hidden"||obj.nodeType!=1)){obj=obj.nextSibling}var curleft=curtop=0;if(obj.offsetParent){do{curleft+=obj.offsetLeft;curtop+=obj.offsetTop}while(obj=obj.offsetParent)}return[curleft,curtop]},hideDatepicker:function(speed){var inst=this._curInst;if(!inst){return }var rangeSelect=inst._get("rangeSelect");if(rangeSelect&&this._stayOpen){this._selectDate(inst,inst._formatDate(inst._currentDay,inst._currentMonth,inst._currentYear))}this._stayOpen=false;if(this._datepickerShowing){speed=(speed!=null?speed:inst._get("speed"));var showAnim=inst._get("showAnim");inst._datepickerDiv[(showAnim=="slideDown"?"slideUp":(showAnim=="fadeIn"?"fadeOut":"hide"))](speed,function(){$.datepicker._tidyDialog(inst)});if(speed==""){this._tidyDialog(inst)}var onClose=inst._get("onClose");if(onClose){onClose.apply((inst._input?inst._input[0]:null),[inst._getDate(),inst])}this._datepickerShowing=false;this._lastInput=null;inst._settings.prompt=null;if(this._inDialog){this._dialogInput.css("position","absolute").css("left","0px").css("top","-100px");if($.blockUI){$.unblockUI();$("body").append(this._datepickerDiv)}}this._inDialog=false}this._curInst=null},_tidyDialog:function(inst){inst._datepickerDiv.removeClass("datepicker_dialog").unbind(".datepicker");$(".datepicker_prompt",inst._datepickerDiv).remove()},_checkExternalClick:function(event){if(!$.datepicker._curInst){return }var target=$(event.target);if((target.parents("#datepicker_div").length==0)&&(target.attr("class")!="datepicker_trigger")&&$.datepicker._datepickerShowing&&!($.datepicker._inDialog&&$.blockUI)){$.datepicker.hideDatepicker("")}},_adjustDate:function(id,offset,period){var inst=this._getInst(id);inst._adjustDate(offset,period);this._updateDatepicker(inst)},_gotoToday:function(id){var date=new Date();var inst=this._getInst(id);inst._selectedDay=date.getDate();inst._drawMonth=inst._selectedMonth=date.getMonth();inst._drawYear=inst._selectedYear=date.getFullYear();this._adjustDate(inst)},_selectMonthYear:function(id,select,period){var inst=this._getInst(id);inst._selectingMonthYear=false;inst[period=="M"?"_drawMonth":"_drawYear"]=select.options[select.selectedIndex].value-0;this._adjustDate(inst)},_clickMonthYear:function(id){var inst=this._getInst(id);if(inst._input&&inst._selectingMonthYear&&!$.browser.msie){inst._input[0].focus()}inst._selectingMonthYear=!inst._selectingMonthYear},_changeFirstDay:function(id,day){var inst=this._getInst(id);inst._settings.firstDay=day;this._updateDatepicker(inst)},_selectDay:function(id,month,year,td){if($(td).is(".datepicker_unselectable")){return }var inst=this._getInst(id);var rangeSelect=inst._get("rangeSelect");if(rangeSelect){if(!this._stayOpen){$(".datepicker td").removeClass("datepicker_currentDay");$(td).addClass("datepicker_currentDay")}this._stayOpen=!this._stayOpen}inst._selectedDay=inst._currentDay=$("a",td).html();inst._selectedMonth=inst._currentMonth=month;inst._selectedYear=inst._currentYear=year;this._selectDate(id,inst._formatDate(inst._currentDay,inst._currentMonth,inst._currentYear));if(this._stayOpen){inst._endDay=inst._endMonth=inst._endYear=null;inst._rangeStart=new Date(inst._currentYear,inst._currentMonth,inst._currentDay);this._updateDatepicker(inst)}else{if(rangeSelect){inst._endDay=inst._currentDay;inst._endMonth=inst._currentMonth;inst._endYear=inst._currentYear;inst._selectedDay=inst._currentDay=inst._rangeStart.getDate();inst._selectedMonth=inst._currentMonth=inst._rangeStart.getMonth();inst._selectedYear=inst._currentYear=inst._rangeStart.getFullYear();inst._rangeStart=null;if(inst._inline){this._updateDatepicker(inst)}}}},_clearDate:function(id){var inst=this._getInst(id);this._stayOpen=false;inst._endDay=inst._endMonth=inst._endYear=inst._rangeStart=null;this._selectDate(inst,"")},_selectDate:function(id,dateStr){var inst=this._getInst(id);dateStr=(dateStr!=null?dateStr:inst._formatDate());if(inst._rangeStart){dateStr=inst._formatDate(inst._rangeStart)+inst._get("rangeSeparator")+dateStr}if(inst._input){inst._input.val(dateStr)}var onSelect=inst._get("onSelect");if(onSelect){onSelect.apply((inst._input?inst._input[0]:null),[dateStr,inst])}else{if(inst._input){inst._input.trigger("change")}}if(inst._inline){this._updateDatepicker(inst)}else{if(!this._stayOpen){this.hideDatepicker(inst._get("speed"));this._lastInput=inst._input[0];if(typeof (inst._input[0])!="object"){inst._input[0].focus()}this._lastInput=null}}},noWeekends:function(date){var day=date.getDay();return[(day>0&&day<6),""]},iso8601Week:function(date){var checkDate=new Date(date.getFullYear(),date.getMonth(),date.getDate());var firstMon=new Date(checkDate.getFullYear(),1-1,4);var firstDay=firstMon.getDay()||7;firstMon.setDate(firstMon.getDate()+1-firstDay);if(firstDay<4&&checkDate<firstMon){checkDate.setDate(checkDate.getDate()-3);return $.datepicker.iso8601Week(checkDate)}else{if(checkDate>new Date(checkDate.getFullYear(),12-1,28)){firstDay=new Date(checkDate.getFullYear()+1,1-1,4).getDay()||7;if(firstDay>4&&(checkDate.getDay()||7)<firstDay-3){checkDate.setDate(checkDate.getDate()+3);return $.datepicker.iso8601Week(checkDate)}}}return Math.floor(((checkDate-firstMon)/86400000)/7)+1},dateStatus:function(date,inst){return $.datepicker.formatDate(inst._get("dateStatus"),date,inst._getFormatConfig())},parseDate:function(format,value,settings){if(format==null||value==null){throw"Invalid arguments"}value=(typeof value=="object"?value.toString():value+"");if(value==""){return null}var shortYearCutoff=(settings?settings.shortYearCutoff:null)||this._defaults.shortYearCutoff;var dayNamesShort=(settings?settings.dayNamesShort:null)||this._defaults.dayNamesShort;var dayNames=(settings?settings.dayNames:null)||this._defaults.dayNames;var monthNamesShort=(settings?settings.monthNamesShort:null)||this._defaults.monthNamesShort;var monthNames=(settings?settings.monthNames:null)||this._defaults.monthNames;var year=-1;var month=-1;var day=-1;var literal=false;var lookAhead=function(match){var matches=(iFormat+1<format.length&&format.charAt(iFormat+1)==match);if(matches){iFormat++}return matches};var getNumber=function(match){lookAhead(match);var size=(match=="y"?4:2);var num=0;while(size>0&&iValue<value.length&&value.charAt(iValue)>="0"&&value.charAt(iValue)<="9"){num=num*10+(value.charAt(iValue++)-0);size--}if(size==(match=="y"?4:2)){throw"Missing number at position "+iValue}return num};var getName=function(match,shortNames,longNames){var names=(lookAhead(match)?longNames:shortNames);var size=0;for(var j=0;j<names.length;j++){size=Math.max(size,names[j].length)}var name="";var iInit=iValue;while(size>0&&iValue<value.length){name+=value.charAt(iValue++);for(var i=0;i<names.length;i++){if(name==names[i]){return i+1}}size--}throw"Unknown name at position "+iInit};var checkLiteral=function(){if(value.charAt(iValue)!=format.charAt(iFormat)){throw"Unexpected literal at position "+iValue}iValue++};var iValue=0;for(var iFormat=0;iFormat<format.length;iFormat++){if(literal){if(format.charAt(iFormat)=="'"&&!lookAhead("'")){literal=false}else{checkLiteral()}}else{switch(format.charAt(iFormat)){case"d":day=getNumber("d");break;case"D":getName("D",dayNamesShort,dayNames);break;case"m":month=getNumber("m");break;case"M":month=getName("M",monthNamesShort,monthNames);break;case"y":year=getNumber("y");break;case"'":if(lookAhead("'")){checkLiteral()}else{literal=true}break;default:checkLiteral()}}}if(year<100){year+=new Date().getFullYear()-new Date().getFullYear()%100+(year<=shortYearCutoff?0:-100)}var date=new Date(year,month-1,day);if(date.getFullYear()!=year||date.getMonth()+1!=month||date.getDate()!=day){throw"Invalid date"}return date},formatDate:function(format,date,settings){if(!date){return""}var dayNamesShort=(settings?settings.dayNamesShort:null)||this._defaults.dayNamesShort;var dayNames=(settings?settings.dayNames:null)||this._defaults.dayNames;var monthNamesShort=(settings?settings.monthNamesShort:null)||this._defaults.monthNamesShort;var monthNames=(settings?settings.monthNames:null)||this._defaults.monthNames;var lookAhead=function(match){var matches=(iFormat+1<format.length&&format.charAt(iFormat+1)==match);if(matches){iFormat++}return matches};var formatNumber=function(match,value){return(lookAhead(match)&&value<10?"0":"")+value};var formatName=function(match,value,shortNames,longNames){return(lookAhead(match)?longNames[value]:shortNames[value])};var output="";var literal=false;if(date){for(var iFormat=0;iFormat<format.length;iFormat++){if(literal){if(format.charAt(iFormat)=="'"&&!lookAhead("'")){literal=false}else{output+=format.charAt(iFormat)}}else{switch(format.charAt(iFormat)){case"d":output+=formatNumber("d",date.getDate());break;case"D":output+=formatName("D",date.getDay(),dayNamesShort,dayNames);break;case"m":output+=formatNumber("m",date.getMonth()+1);break;case"M":output+=formatName("M",date.getMonth(),monthNamesShort,monthNames);break;case"y":output+=(lookAhead("y")?date.getFullYear():(date.getYear()%100<10?"0":"")+date.getYear()%100);break;case"'":if(lookAhead("'")){output+="'"}else{literal=true}break;default:output+=format.charAt(iFormat)}}}}return output},_possibleChars:function(format){var chars="";var literal=false;for(var iFormat=0;iFormat<format.length;iFormat++){if(literal){if(format.charAt(iFormat)=="'"&&!lookAhead("'")){literal=false}else{chars+=format.charAt(iFormat)}}else{switch(format.charAt(iFormat)){case"d":case"m":case"y":chars+="0123456789";break;case"D":case"M":return null;case"'":if(lookAhead("'")){chars+="'"}else{literal=true}break;default:chars+=format.charAt(iFormat)}}}return chars}});function DatepickerInstance(settings,inline){this._id=$.datepicker._register(this);this._selectedDay=0;this._selectedMonth=0;this._selectedYear=0;this._drawMonth=0;this._drawYear=0;this._input=null;this._inline=inline;this._datepickerDiv=(!inline?$.datepicker._datepickerDiv:$('<div id="datepicker_div_'+this._id+'" class="datepicker_inline"></div>'));this._settings=extendRemove({},settings||{});if(inline){this._setDate(this._getDefaultDate())}}$.extend(DatepickerInstance.prototype,{_get:function(name){return(this._settings[name]!=null?this._settings[name]:$.datepicker._defaults[name])},_setDateFromField:function(input){this._input=$(input);var dateFormat=this._get("dateFormat");var dates=this._input?this._input.val().split(this._get("rangeSeparator")):null;this._endDay=this._endMonth=this._endYear=null;var date=defaultDate=this._getDefaultDate();if(dates.length>0){var settings=this._getFormatConfig();if(dates.length>1){date=$.datepicker.parseDate(dateFormat,dates[1],settings)||defaultDate;this._endDay=date.getDate();this._endMonth=date.getMonth();this._endYear=date.getFullYear()}try{date=$.datepicker.parseDate(dateFormat,dates[0],settings)||defaultDate}catch(e){$.datepicker.log(e);date=defaultDate}}this._selectedDay=date.getDate();this._drawMonth=this._selectedMonth=date.getMonth();this._drawYear=this._selectedYear=date.getFullYear();this._currentDay=(dates[0]?date.getDate():0);this._currentMonth=(dates[0]?date.getMonth():0);this._currentYear=(dates[0]?date.getFullYear():0);this._adjustDate()},_getDefaultDate:function(){var date=this._determineDate("defaultDate",new Date());var minDate=this._getMinMaxDate("min",true);var maxDate=this._getMinMaxDate("max");date=(minDate&&date<minDate?minDate:date);date=(maxDate&&date>maxDate?maxDate:date);return date},_determineDate:function(name,defaultDate){var offsetNumeric=function(offset){var date=new Date();date.setDate(date.getDate()+offset);return date};var offsetString=function(offset,getDaysInMonth){var date=new Date();var matches=/^([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?$/.exec(offset);if(matches){var year=date.getFullYear();var month=date.getMonth();var day=date.getDate();switch(matches[2]||"d"){case"d":case"D":day+=(matches[1]-0);break;case"w":case"W":day+=(matches[1]*7);break;case"m":case"M":month+=(matches[1]-0);day=Math.min(day,getDaysInMonth(year,month));break;case"y":case"Y":year+=(matches[1]-0);day=Math.min(day,getDaysInMonth(year,month));break}date=new Date(year,month,day)}return date};var date=this._get(name);return(date==null?defaultDate:(typeof date=="string"?offsetString(date,this._getDaysInMonth):(typeof date=="number"?offsetNumeric(date):date)))},_setDate:function(date,endDate){this._selectedDay=this._currentDay=date.getDate();this._drawMonth=this._selectedMonth=this._currentMonth=date.getMonth();this._drawYear=this._selectedYear=this._currentYear=date.getFullYear();if(this._get("rangeSelect")){if(endDate){this._endDay=endDate.getDate();this._endMonth=endDate.getMonth();this._endYear=endDate.getFullYear()}else{this._endDay=this._currentDay;this._endMonth=this._currentMonth;this._endYear=this._currentYear}}this._adjustDate()},_getDate:function(){var startDate=(!this._currentYear||(this._input&&this._input.val()=="")?null:new Date(this._currentYear,this._currentMonth,this._currentDay));if(this._get("rangeSelect")){return[startDate,(!this._endYear?null:new Date(this._endYear,this._endMonth,this._endDay))]}else{return startDate}},_generateDatepicker:function(){var today=new Date();today=new Date(today.getFullYear(),today.getMonth(),today.getDate());var showStatus=this._get("showStatus");var isRTL=this._get("isRTL");var clear=(this._get("mandatory")?"":'<div class="datepicker_clear"><a onclick="jQuery.datepicker._clearDate('+this._id+');"'+(showStatus?this._addStatus(this._get("clearStatus")||"&#xa0;"):"")+">"+this._get("clearText")+"</a></div>");var controls='<div class="datepicker_control">'+(isRTL?"":clear)+'<div class="datepicker_close"><a onclick="jQuery.datepicker.hideDatepicker();"'+(showStatus?this._addStatus(this._get("closeStatus")||"&#xa0;"):"")+">"+this._get("closeText")+"</a></div>"+(isRTL?clear:"")+"</div>";var prompt=this._get("prompt");var closeAtTop=this._get("closeAtTop");var hideIfNoPrevNext=this._get("hideIfNoPrevNext");var numMonths=this._getNumberOfMonths();var stepMonths=this._get("stepMonths");var isMultiMonth=(numMonths[0]!=1||numMonths[1]!=1);var minDate=this._getMinMaxDate("min",true);var maxDate=this._getMinMaxDate("max");var drawMonth=this._drawMonth;var drawYear=this._drawYear;if(maxDate){var maxDraw=new Date(maxDate.getFullYear(),maxDate.getMonth()-numMonths[1]+1,maxDate.getDate());maxDraw=(minDate&&maxDraw<minDate?minDate:maxDraw);while(new Date(drawYear,drawMonth,1)>maxDraw){drawMonth--;if(drawMonth<0){drawMonth=11;drawYear--}}}var prev='<div class="datepicker_prev">'+(this._canAdjustMonth(-1,drawYear,drawMonth)?'<a onclick="jQuery.datepicker._adjustDate('+this._id+", -"+stepMonths+", 'M');\""+(showStatus?this._addStatus(this._get("prevStatus")||"&#xa0;"):"")+">"+this._get("prevText")+"</a>":(hideIfNoPrevNext?"":"<label>"+this._get("prevText")+"</label>"))+"</div>";var next='<div class="datepicker_next">'+(this._canAdjustMonth(+1,drawYear,drawMonth)?'<a onclick="jQuery.datepicker._adjustDate('+this._id+", +"+stepMonths+", 'M');\""+(showStatus?this._addStatus(this._get("nextStatus")||"&#xa0;"):"")+">"+this._get("nextText")+"</a>":(hideIfNoPrevNext?">":"<label>"+this._get("nextText")+"</label>"))+"</div>";var html=(prompt?'<div class="datepicker_prompt">'+prompt+"</div>":"")+(closeAtTop&&!this._inline?controls:"")+'<div class="datepicker_links">'+(isRTL?next:prev)+(this._isInRange(today)?'<div class="datepicker_current"><a onclick="jQuery.datepicker._gotoToday('+this._id+');"'+(showStatus?this._addStatus(this._get("currentStatus")||"&#xa0;"):"")+">"+this._get("currentText")+"</a></div>":"")+(isRTL?prev:next)+"</div>";var showWeeks=this._get("showWeeks");for(var row=0;row<numMonths[0];row++){for(var col=0;col<numMonths[1];col++){var selectedDate=new Date(drawYear,drawMonth,this._selectedDay);html+='<div class="datepicker_oneMonth'+(col==0?" datepicker_newRow":"")+'">'+this._generateMonthYearHeader(drawMonth,drawYear,minDate,maxDate,selectedDate,row>0||col>0)+'<table class="datepicker" cellpadding="0" cellspacing="0"><thead><tr class="datepicker_titleRow">'+(showWeeks?"<td>"+this._get("weekHeader")+"</td>":"");var firstDay=this._get("firstDay");var changeFirstDay=this._get("changeFirstDay");var dayNames=this._get("dayNames");var dayNamesShort=this._get("dayNamesShort");var dayNamesMin=this._get("dayNamesMin");for(var dow=0;dow<7;dow++){var day=(dow+firstDay)%7;var status=this._get("dayStatus")||"&#xa0;";status=(status.indexOf("DD")>-1?status.replace(/DD/,dayNames[day]):status.replace(/D/,dayNamesShort[day]));html+="<td"+((dow+firstDay+6)%7>=5?' class="datepicker_weekEndCell"':"")+">"+(!changeFirstDay?"<span":'<a onclick="jQuery.datepicker._changeFirstDay('+this._id+", "+day+');"')+(showStatus?this._addStatus(status):"")+' title="'+dayNames[day]+'">'+dayNamesMin[day]+(changeFirstDay?"</a>":"</span>")+"</td>"}html+="</tr></thead><tbody>";var daysInMonth=this._getDaysInMonth(drawYear,drawMonth);if(drawYear==this._selectedYear&&drawMonth==this._selectedMonth){this._selectedDay=Math.min(this._selectedDay,daysInMonth)}var leadDays=(this._getFirstDayOfMonth(drawYear,drawMonth)-firstDay+7)%7;var currentDate=(!this._currentDay?new Date(9999,9,9):new Date(this._currentYear,this._currentMonth,this._currentDay));var endDate=this._endDay?new Date(this._endYear,this._endMonth,this._endDay):currentDate;var printDate=new Date(drawYear,drawMonth,1-leadDays);var numRows=(isMultiMonth?6:Math.ceil((leadDays+daysInMonth)/7));var beforeShowDay=this._get("beforeShowDay");var showOtherMonths=this._get("showOtherMonths");var calculateWeek=this._get("calculateWeek")||$.datepicker.iso8601Week;var dateStatus=this._get("statusForDate")||$.datepicker.dateStatus;for(var dRow=0;dRow<numRows;dRow++){html+='<tr class="datepicker_daysRow">'+(showWeeks?'<td class="datepicker_weekCol">'+calculateWeek(printDate)+"</td>":"");for(var dow=0;dow<7;dow++){var daySettings=(beforeShowDay?beforeShowDay.apply((this._input?this._input[0]:null),[printDate]):[true,""]);var otherMonth=(printDate.getMonth()!=drawMonth);var unselectable=otherMonth||!daySettings[0]||(minDate&&printDate<minDate)||(maxDate&&printDate>maxDate);html+='<td class="datepicker_daysCell'+((dow+firstDay+6)%7>=5?" datepicker_weekEndCell":"")+(otherMonth?" datepicker_otherMonth":"")+(printDate.getTime()==selectedDate.getTime()&&drawMonth==this._selectedMonth?" datepicker_daysCellOver":"")+(unselectable?" datepicker_unselectable":"")+(otherMonth&&!showOtherMonths?"":" "+daySettings[1]+(printDate.getTime()>=currentDate.getTime()&&printDate.getTime()<=endDate.getTime()?" datepicker_currentDay":"")+(printDate.getTime()==today.getTime()?" datepicker_today":""))+'"'+(unselectable?"":" onmouseover=\"jQuery(this).addClass('datepicker_daysCellOver');"+(!showStatus||(otherMonth&&!showOtherMonths)?"":"jQuery('#datepicker_status_"+this._id+"').html('"+(dateStatus.apply((this._input?this._input[0]:null),[printDate,this])||"&#xa0;")+"');")+"\" onmouseout=\"jQuery(this).removeClass('datepicker_daysCellOver');"+(!showStatus||(otherMonth&&!showOtherMonths)?"":"jQuery('#datepicker_status_"+this._id+"').html('&#xa0;');")+'" onclick="jQuery.datepicker._selectDay('+this._id+","+drawMonth+","+drawYear+', this);"')+">"+(otherMonth?(showOtherMonths?printDate.getDate():"&#xa0;"):(unselectable?printDate.getDate():"<a>"+printDate.getDate()+"</a>"))+"</td>";printDate.setDate(printDate.getDate()+1)}html+="</tr>"}drawMonth++;if(drawMonth>11){drawMonth=0;drawYear++}html+="</tbody></table></div>"}}html+=(showStatus?'<div id="datepicker_status_'+this._id+'" class="datepicker_status">'+(this._get("initStatus")||"&#xa0;")+"</div>":"")+(!closeAtTop&&!this._inline?controls:"")+'<div style="clear: both;"></div>'+($.browser.msie&&parseInt($.browser.version)<7&&!this._inline?'<iframe src="javascript:false;" class="datepicker_cover"></iframe>':"");return html},_generateMonthYearHeader:function(drawMonth,drawYear,minDate,maxDate,selectedDate,secondary){minDate=(this._rangeStart&&minDate&&selectedDate<minDate?selectedDate:minDate);var showStatus=this._get("showStatus");var html='<div class="datepicker_header">';var monthNames=this._get("monthNames");if(secondary||!this._get("changeMonth")){html+=monthNames[drawMonth]+"&#xa0;"}else{var inMinYear=(minDate&&minDate.getFullYear()==drawYear);var inMaxYear=(maxDate&&maxDate.getFullYear()==drawYear);html+='<select class="datepicker_newMonth" onchange="jQuery.datepicker._selectMonthYear('+this._id+", this, 'M');\" onclick=\"jQuery.datepicker._clickMonthYear("+this._id+');"'+(showStatus?this._addStatus(this._get("monthStatus")||"&#xa0;"):"")+">";for(var month=0;month<12;month++){if((!inMinYear||month>=minDate.getMonth())&&(!inMaxYear||month<=maxDate.getMonth())){html+='<option value="'+month+'"'+(month==drawMonth?' selected="selected"':"")+">"+monthNames[month]+"</option>"}}html+="</select>"}if(secondary||!this._get("changeYear")){html+=drawYear}else{var years=this._get("yearRange").split(":");var year=0;var endYear=0;if(years.length!=2){year=drawYear-10;endYear=drawYear+10}else{if(years[0].charAt(0)=="+"||years[0].charAt(0)=="-"){year=drawYear+parseInt(years[0],10);endYear=drawYear+parseInt(years[1],10)}else{year=parseInt(years[0],10);endYear=parseInt(years[1],10)}}year=(minDate?Math.max(year,minDate.getFullYear()):year);endYear=(maxDate?Math.min(endYear,maxDate.getFullYear()):endYear);html+='<select class="datepicker_newYear" onchange="jQuery.datepicker._selectMonthYear('+this._id+", this, 'Y');\" onclick=\"jQuery.datepicker._clickMonthYear("+this._id+');"'+(showStatus?this._addStatus(this._get("yearStatus")||"&#xa0;"):"")+">";for(;year<=endYear;year++){html+='<option value="'+year+'"'+(year==drawYear?' selected="selected"':"")+">"+year+"</option>"}html+="</select>"}html+="</div>";return html},_addStatus:function(text){return" onmouseover=\"jQuery('#datepicker_status_"+this._id+"').html('"+text+"');\" onmouseout=\"jQuery('#datepicker_status_"+this._id+"').html('&#xa0;');\""},_adjustDate:function(offset,period){var year=this._drawYear+(period=="Y"?offset:0);var month=this._drawMonth+(period=="M"?offset:0);var day=Math.min(this._selectedDay,this._getDaysInMonth(year,month))+(period=="D"?offset:0);var date=new Date(year,month,day);var minDate=this._getMinMaxDate("min",true);var maxDate=this._getMinMaxDate("max");date=(minDate&&date<minDate?minDate:date);date=(maxDate&&date>maxDate?maxDate:date);this._selectedDay=date.getDate();this._drawMonth=this._selectedMonth=date.getMonth();this._drawYear=this._selectedYear=date.getFullYear()},_getNumberOfMonths:function(){var numMonths=this._get("numberOfMonths");return(numMonths==null?[1,1]:(typeof numMonths=="number"?[1,numMonths]:numMonths))},_getMinMaxDate:function(minMax,checkRange){var date=this._determineDate(minMax+"Date",null);if(date){date.setHours(0);date.setMinutes(0);date.setSeconds(0);date.setMilliseconds(0)}return date||(checkRange?this._rangeStart:null)},_getDaysInMonth:function(year,month){return 32-new Date(year,month,32).getDate()},_getFirstDayOfMonth:function(year,month){return new Date(year,month,1).getDay()},_canAdjustMonth:function(offset,curYear,curMonth){var numMonths=this._getNumberOfMonths();var date=new Date(curYear,curMonth+(offset<0?offset:numMonths[1]),1);if(offset<0){date.setDate(this._getDaysInMonth(date.getFullYear(),date.getMonth()))}return this._isInRange(date)},_isInRange:function(date){var newMinDate=(!this._rangeStart?null:new Date(this._selectedYear,this._selectedMonth,this._selectedDay));newMinDate=(newMinDate&&this._rangeStart<newMinDate?this._rangeStart:newMinDate);var minDate=newMinDate||this._getMinMaxDate("min");var maxDate=this._getMinMaxDate("max");return((!minDate||date>=minDate)&&(!maxDate||date<=maxDate))},_getFormatConfig:function(){var shortYearCutoff=this._get("shortYearCutoff");shortYearCutoff=(typeof shortYearCutoff!="string"?shortYearCutoff:new Date().getFullYear()%100+parseInt(shortYearCutoff,10));return{shortYearCutoff:shortYearCutoff,dayNamesShort:this._get("dayNamesShort"),dayNames:this._get("dayNames"),monthNamesShort:this._get("monthNamesShort"),monthNames:this._get("monthNames")}},_formatDate:function(day,month,year){if(!day){this._currentDay=this._selectedDay;this._currentMonth=this._selectedMonth;this._currentYear=this._selectedYear}var date=(day?(typeof day=="object"?day:new Date(year,month,day)):new Date(this._currentYear,this._currentMonth,this._currentDay));return $.datepicker.formatDate(this._get("dateFormat"),date,this._getFormatConfig())}});function extendRemove(target,props){$.extend(target,props);for(var name in props){if(props[name]==null){target[name]=null}}return target}$.fn.datepicker=function(options){var otherArgs=Array.prototype.slice.call(arguments,1);if(typeof options=="string"&&(options=="isDisabled"||options=="getDate")){return $.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this[0]].concat(otherArgs))}return this.each(function(){typeof options=="string"?$.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this].concat(otherArgs)):$.datepicker._attachDatepicker(this,options)})};$(document).ready(function(){$.datepicker=new Datepicker();$(document.body).append($.datepicker._datepickerDiv).mousedown($.datepicker._checkExternalClick)})})(jQuery);;
var USDate=true;$(document).ready(function(){$.datepicker.setDefaults({showOn:"both",buttonImageOnly:true,buttonImage:"/datepicker/images/bg.gif",buttonText:"",prevText:'<img src="/datepicker/images/back.gif" alt="&lt;Prev" title="&lt;Prev" style="position:relative;top:1px">',nextText:'<img src="/datepicker/images/forward.gif" alt="Next&gt;" title="Next&gt;" style="position:relative;top:1px">',defaultDate:+7,minDate:0,maxDate:"11m",mandatory:true,changeFirstDay:false,changeMonth:false,changeYear:false,numberOfMonths:2,speed:"normal"});$(".datepicker_calendar").datepicker({beforeShow:updateDatepicker,onSelect:function(B){var C=(USDate)?$("#dep_cal").val():$("#dep_cal").val().replace(/(\d\d)\/(\d\d)\//,"$2/$1/");var D=(USDate)?$("#arr_cal").val():$("#arr_cal").val().replace(/(\d\d)\/(\d\d)\//,"$2/$1/");if(!USDate){B=B.replace(/(\d\d)\/(\d\d)\//,"$2/$1/")}var A=getLongDate(B,0);if(this.id=="dep_cal"){$("#dep_text").text("("+A+")");if(D!=""&&(new Date(D))<(new Date(C))){$("#arr_cal").val(getShortDate(C,5));$("#arr_text").text("("+getLongDate(C,5)+")")}}else{$("#arr_text").text("("+A+")")}},onClose:function(A){$("#go").focus()}});$('.datepicker_calendar').change(function(){var patt1=/([0123456789][0123456789]?)\/([0123456789][0123456789]?)\/([0123456789]{4})/;var patt2=/([0123456789][0123456789]?)\/([0123456789][0123456789]?)\/([0123456789]{2})/;var patt3=/([0123456789][0123456789]?)\/([0123456789][0123456789]?)/;var da;var mo;var ye;if(patt1.test(this.value)){var r=this.value.match(patt1);da=r[1];mo=r[2];ye=r[3];}else if(patt2.test(this.value)){var r=this.value.match(patt2);da=r[1];mo=r[2];ye="20"+r[3];}else if(patt3.test(this.value)){var r=this.value.match(patt3);da=r[1];mo=r[2];var d=new Date;ye=d.getFullYear();}else return;if(da.length==1)da="0"+da;if(mo.length==1)mo="0"+mo;this.value=da+"/"+mo+"/"+ye;});$("#oneway").click(function(){if(this.checked){$("#arr_cal").datepicker("disable");$("#arr_cal").css("backgroundColor","#ddd")}else{$("#arr_cal").css("backgroundColor","#fff");$("#arr_cal").datepicker("enable")}});/*$(".datepicker_calendar").attr("readonly","true");*/$(".datepicker_calendar").css("background","#fff url(/datepicker/images/cale.gif) center right no-repeat");$('.datepicker_calendar').mousedown(function(){this.blur();})});function updateDatepicker(A){var B=(USDate)?$("#dep_cal").val():$("#dep_cal").val().replace(/(\d\d)\/(\d\d)\//,"$2/$1/");return(this.id=="arr_cal"&&$("#dep_cal").val())?{minDate:new Date(B)}:{}}function getShortDate(B,D){var F=new Date(B);F.setDate(F.getDate()+D);var A=(F.getDate()<10)?("0"+F.getDate()):F.getDate();var E=(F.getMonth()<9)?("0"+(F.getMonth()+1)):(F.getMonth()+1);var C=F.getFullYear();return((USDate)?(E+"/"+A+"/"+C):(A+"/"+E+"/"+C))}function getLongDate(C,E){var G=new Date(C);G.setDate(G.getDate()+E);var B=G.getDate();var A=longDaysName[G.getDay()].substr(0,2);var F=shortMonthsName[G.getMonth()+1];var D=G.getFullYear();return((USDate)?(A+", "+F+" "+B+" "+D):(A+", "+B+" "+F+" "+D))}function selectItem(A){if(A.extra){$("#destination_id").attr("value",A.extra[0])}}function formatItem(A){return A[0]};;
window.undefined = window.undefined;function loading() {};var parentObject = this;function cloneObject(src) {var dest = new Object;for (i in src) {if (typeof src[i] == 'object') {dest[i] = cloneObject(src[i]);}
else dest[i] = src[i];}
return dest;}
function gP(e) {var left=0, top=0;while (e.offsetParent) {left+=e.offsetLeft;top+=e.offsetTop;e=e.offsetParent;}
left+=e.offsetLeft-e.scrollLeft;top+=e.offsetTop;return {x:left, y:top};}
parentObject.getPos = gP;var defaultParams = {script:"ajax/suggestions/airports.php",minchars:3,className:"as",delay:500,timeout:2500,cache:true,loadingClass:"aLoad",errorClass:"",errorStyle:{'border-color':'#f00'},defaultStyle:{'border-color':''},offsety:2,showNoResults:false,maxheight:250,noResults:"No results!",clarifyText:"Please clarify your search:",meth:"POST",json: false,frameForIE: true,noCityFound: "We did not find any airports matching your search criteria.",validValue: new RegExp(".+\\s\\(.{3}\\)"),aP: {action : "test",json : this.json
},setaP: function(asObj) {this.aP.json=this.json;for(k in this.aP) {this.aP[k] = asObj.F.value;this.aP.action = asObj.F.value;asObj.aO.data = asObj.o.aP;return true;}}}
if(parentObject.AutoSuggest == undefined)
parentObject.AutoSuggest = {};parentObject.AutoSuggest = function(fldID, pObj) {if(!(this.F=$('#'+fldID)[0])) return false;this.sInput = "";this.nInputChars = 0;this.aSuggestions = {};this.defText = this.F.value;this.highlighted = null;this.o=pObj?cloneObject(pObj):{};for(k in defaultParams)
if(typeof(this.o[k])!=typeof(defaultParams[k]))
this.o[k]=defaultParams[k];var pointer = this;$(this.F).css(this.o.defaultStyle).removeClass(this.o.errorClass);this.aO = {url: this.o.script,type: this.o.meth,dataType: this.o.json?"JSON":"XML",data:this.o.aP,success: function(rsp) {pointer.generateList(rsp);}}
this.coords = getPos(this.F);this.coords.y += this.F.offsetHeight + this.o.offsety;if(this.o.frameForIE && $.browser.msie && parseInt($.browser.version)<7) {this.iframe = $('<iframe src="about:blank" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" style="position:absolute;background:#fff;z-index:399;">');} else
this.o.frameForIE = false;this.blurTimer = 0;var pointer=this;this.isfocused=true;this.F.onkeypress = function(ev) {return pointer.onKeyPress(ev);}
this.F.onkeyup = function(ev) {return pointer.onKeyUp(ev);}
this.F.onblur = function(ev) {pointer.isfocused=false;if (pointer.F.value && pointer.o.validValue.test(pointer.F.value)) $(".as_crr_"+pointer.F.id).parent().remove();else $(".as_crr_"+pointer.F.id).parent().css('display','block');if (pointer.valonfocus) this.value = pointer.valonfocus;pointer.valonfocus = null;if ($("span.as_crr_"+pointer.F.id).length>0) {$(pointer.F).css(pointer.o.errorStyle).addClass(pointer.o.errorClass);};if (!this.value) this.value = pointer.defText;pointer.blurTimer = setTimeout(function() {pointer.setHighlightedValue();pointer.highlighted=null;}, pointer.o.delay);}
this.F.onfocus = function(ev) {$(".as_crr_"+this.id).parent().css('display','none');this.select();pointer.highlighted=null;pointer.valonfocus = this.value;if (this.value==pointer.defText) this.value = "";else this.select();pointer.isfocused=true;pointer.changeMade=false;$(this).css(pointer.o.defaultStyle).removeClass(pointer.o.errorClass);}
this.req={};this.F.setAttribute("autocomplete","off");}
parentObject.AutoSuggest.prototype.onKeyUp = function(ev) {var key = (window.event) ? window.event.keyCode : ev.keyCode;var bubble = true;switch(key) {case 38: 
this.changeHighlight(key);bubble = false;break;case 40: 
this.changeHighlight(key);bubble = false;break;default:this.getSuggestions();}
return bubble;}
parentObject.AutoSuggest.prototype.onKeyPress = function(ev) {var key = (window.event) ? window.event.keyCode : ev.keyCode;var bubble = true;this.isfocused=true;switch(key) {case 13: 
this.setHighlightedValue();bubble = false;break;case 27: 
this.setHighlightedValue();break;case 9: break;default:this.valonfocus = null;}
return bubble;}
parentObject.AutoSuggest.prototype.getSuggestions = function() {var val = this.F.value.toLowerCase();if (val == this.sInput) return false;if (val.length < this.o.minchars) {this.clearSuggestions();this.sInput = "";return false;}
this.changeMade=true;$(".as_crr_"+this.F.id).parent().remove();if (val.length>this.nInputChars && this.aSuggestions.length && this.aSuggestions.get(0) && this.aSuggestions.get(0).length &&this.o.cache) {val = val.replace(/[^a-zA-Z]/g,' ');with(this.aSuggestions[0]) {for (var i=0;i<childNodes.length;i++) {if(childNodes[i].nodeType!=1) continue;var txt = childNodes[i].textContent?childNodes[i].textContent:childNodes[i].innerHTML.replace(/<\/?b>/gi,'');if(!txt.toLowerCase().match(val))
removeChild(childNodes[i--]);else
childNodes[i].innerHTML = txt.replace(new RegExp("("+val+")", "i"), '<b>$1</b>');}}
if(!this.aSuggestions[0].childNodes.length) {this.clearSuggestions();return false;}
if(this.o.frameForIE)
this.updateIframe(this.coords);this.sInput = val;this.nInputChars = val.length;if(!this.aSuggestions[0].parentNode) {document.body.appendChild(this.aSuggestions[0]);if(this.o.frameForIE)
document.body.appendChild(this.iframe[0]);}
if(this.highlighted) this.clearHighlight();this.killTimeout();return false;} else {this.sInput = val;this.nInputChars = val.length;var pointer = this;clearTimeout(this.ajID);this.makeReq=true;this.ajID = setTimeout( function() { pointer.doAjaxRequest(pointer.aO) }, this.o.delay );return false;}}
parentObject.AutoSuggest.prototype.doAjaxRequest = function () {if(this.F.value.length<this.o.minchars) return;$(this.F).addClass(this.o.loadingClass);this.o.setaP(this);this.req = $.ajax(this.aO);}
parentObject.AutoSuggest.prototype.generateList = function (req) {this.makeReq=false;if(this.aSuggestions[0] && this.aSuggestions[0].parentNode) this.aSuggestions.remove();var rsp;if (this.o.json) {var jsondata = eval('('+req+')');rsp='<ul>';for (var i=0;i<jsondata.results.length;i++)
rsp += '<li>'+jsondata.results[i].txt+'</li>';rsp+='</ul>';} else 
rsp = req.substr(40);$(this.F).removeClass(this.o.loadingClass);if (this.isfocused) this.createList(rsp);else this.respProcess(rsp);}
parentObject.AutoSuggest.prototype.respProcess = function(rsp) {var regExp;var tmp;try {regExp = new RegExp("<li>([^<\\(]+\\("+this.o.aP.action+"\\)[^<]*)</li>","i");tmp = regExp.test(rsp);} catch (err) {tmp = false;};if (this.o.aP.action.length==3 && tmp) {var tmp = regExp.exec(rsp);this.F.value = tmp[1].replace(/(.*),(.*)\((.*)\)/,'$1 ($3)');return;};regExp = new RegExp("<li>([^<]+)</li>","i");var options = "<option value='' selected='selected'>Select a destination</option>";var val;var i=0;var tmp;do {tmp = regExp.exec(rsp);if (tmp) {i++;rsp = rsp.replace(tmp[0],"");val = tmp[1].replace(/(.*),(.*)\((.*)\)/,'$1 ($3)');options += "<option value='"+val+"'>"+tmp[1]+"</option>";};} while (tmp);$(".as_crr_"+this.F.id).parent().remove();var tmp;try {tmp = !this.o.validValue.test(this.F.value)} catch(err) {tmp=true;}
if (i==1) {this.F.value=val;} else if (i>0) {options = "<div class='as_c as_c2'>"+this.o.clarifyText+"<br><select class='as_crr_"+this.F.id+"' onchange='$(\"#"+this.F.id+"\").get(0).value=this.value;$(this.parentNode).remove();'>"+options+"</select></div>";$(this.F).after(options);} else if (tmp) {$(this.F).css(this.o.errorStyle).addClass(this.o.errorClass).after("<div class='as_c as_c1'><span class='as_crr_"+this.F.id+"'>"+this.o.noCityFound+"</span></div>");};return;}
parentObject.AutoSuggest.prototype.createList = function(rsp) {var pointer = this;var aCode = pointer.F.value.toUpperCase();var cName = pointer.F.value;pointer.aSuggestions = $(rsp).attr({"class":pointer.o.className, "id":"as"+pointer.F.id}).css({left:pointer.coords.x, top:pointer.coords.y, display:'block', zIndex:2000}).appendTo('body');if(this.o.frameForIE)
this.updateIframe(this.coords).appendTo('body');try {regExp = new RegExp("("+cName+")", "i");} catch (err) {regExp = new RegExp("(error)", "i");}
pointer.aSuggestions.children("li").each(function(idx) {this.innerHTML=(this.innerHTML.match(aCode))?this.innerHTML.replace(aCode,'<b>'+aCode+'</b>'):this.innerHTML.replace(regExp, '<b>$1</b>');$(this).click(function() {pointer.setHighlightedValue();pointer.F.focus();});$(this).mouseover(function() {pointer.setHighlight(this);});});if (!this.isfocused) this.setHighlightedValue();else {pointer.aSuggestions.mouseover(function() {pointer.killTimeout();});pointer.aSuggestions.mouseout(function() {pointer.resetTimeout();});pointer.highlighted = null;if(pointer.aSuggestions[0].childNodes.length == 0) {if (pointer.o.showNoResults)
pointer.aSuggestions.append('<li>'+pointer.o.noResults+'</li>');else
pointer.clearSuggestions();}}}
parentObject.AutoSuggest.prototype.changeHighlight = function(key) {if(this.highlighted==null)
return this.setHighlight(this.highlighted = this.aSuggestions[0].firstChild);if(key==38) {if(this.highlighted == this.aSuggestions[0].firstChild)
return this.setHighlight(this.aSuggestions[0].lastChild);return (this.highlighted.previousSibling.nodeType==1)?this.setHighlight(this.highlighted.previousSibling):this.setHighlight(this.highlighted.previousSibling.previousSibling);} else { 
if(this.highlighted == this.aSuggestions[0].lastChild)
return this.setHighlight(this.aSuggestions[0].firstChild);return ((this.highlighted.nextSibling.nodeType==1)?this.setHighlight(this.highlighted.nextSibling):this.setHighlight(this.highlighted.nextSibling.nextSibling));}}
parentObject.AutoSuggest.prototype.setHighlight = function(liObj) {if(this.highlighted!=null)
this.clearHighlight();this.highlighted = liObj;this.highlighted.className = 'as_hl';return true;}
parentObject.AutoSuggest.prototype.clearHighlight = function() {this.highlighted.className = '';this.highlighted = null;}
parentObject.AutoSuggest.prototype.setHighlightedValue = function () {clearTimeout(this.blurTimer);if (this.changemade) $(this.F).css(this.o.defaultStyle).removeClass(this.o.errorClass);if (!this.highlighted) {var t=this.aSuggestions
if (t && t[0] && t[0].firstChild) t = t[0].firstChild;else {if (!this.makeReq) {if (this.changemade) {$(".as_crr_"+this.F.id).parent().remove();if (this.F.value && !this.o.validValue.test(this.F.value)) {$(this.F).css(this.o.errorStyle).addClass(this.o.errorClass);$(this.F).after("<div class='as_c as_c3'><span class='as_crr_"+this.F.id+"'>"+this.o.noCityFound+"</span></div>");}}};this.clearSuggestions();return false;};this.setHighlight(t);}
if (this.highlighted && !this.makeReq) {var txt = (typeof(this.o.callback) == "function")?this.o.callback(this.highlighted):(this.highlighted.textContent!=undefined)?this.highlighted.textContent:this.highlighted.innerHTML.replace(/<\/?b>/gi,'');this.sInput = this.F.value = txt;};if (this.F.selectionStart)
this.F.setSelectionRange(this.sInput.length, this.sInput.length);this.clearSuggestions();}
parentObject.AutoSuggest.prototype.killTimeout = function() {clearTimeout(this.toID);}
parentObject.AutoSuggest.prototype.resetTimeout = function() {clearTimeout(this.toID);var pointer = this;this.toID = setTimeout(function() {pointer.clearSuggestions()}, pointer.o.timeout);}
parentObject.AutoSuggest.prototype.clearSuggestions = function () {this.killTimeout();if (this.aSuggestions[0]) $(this.aSuggestions[0]).remove();this.aSuggestions[0] = null;if(this.o.frameForIE) $(this.iframe[0]).remove();this.highlighted=null;}
parentObject.AutoSuggest.prototype.updateIframe = function(objCoords) {return this.iframe.css({left:objCoords.x, top:objCoords.y, width: (this.aSuggestions[0].clientWidth), height: (this.aSuggestions[0].clientHeight)});}
parentObject.AS = parentObject.AutoSuggest;;
tzO=tzD='';
var mAjax = {
	async:true,
	cache:false,
	data:'',
	dataType:'json',
	error: function(reqObj, tos){$(".p_w").css("display","none");slideDivs(3);},
	success:function(rsp){processResponse(rsp);},
	timeout:5000,
	type:'POST',
	url:'/ajax/merchants/air.json.php'
};
var response;
var sel;
var airports;
var lastParams="";
function processResponse(rsp){
	response=rsp;
	$(".p_w").css("display","none");
	var m = response.merchants;
	airports = response.airports;
	if (airports) {
		var df = document.forms.ExpressBkFltonly;
		if (airports.fromAir.length==1) df.inp_dep_arp_cd_1.value=airports.fromAir[0].city+" ("+airports.fromAir[0].code+")";
		if (airports.toAir.length==1) df.inp_arr_arp_cd_1.value=airports.toAir[0].city+" ("+airports.toAir[0].code+")";
		if (airports.fromAir.length<1) {
			alert("We did not find any departure airports matching your search criteria. Please refine your search.");
			return;
		}
		else if (airports.toAir.length<1) {
			alert("We did not find any arrival airports matching your search criteria. Please refine your search.");
			return
		}
		else if (airports.fromAir.length>1 || airports.toAir.length>1) {
			displaySearchRefine();
			return
		}
		airports=window.undefined;
	};
	if(response.trackPxlUrl) {
			var d = new Date();
			trPxl = response.trackPxlUrl+"&impId="+queryCode+"&"+d.getTime();
			$.ajax({url:trPxl, type:"HEAD"});
	}
	sel=new Array();
	var i=0;
	$(".mSel, .mSelSmall").each(function(){
		sel[i] = this.id;
		this.onclick();
		i++;
	});
	$("#mCont div").remove();
	for (i=0;i<m.length;i++)
		if (i<3){
			$("#mCont").append("<div onclick='selectBoxWithImg(\""+i+"\");' id=\"m"+m[i].code+"\"> "+
						"<input type=\"checkbox\" class=\""+m[i].code+"\" alt=\"check prices from "+m[i].name+"\" onclick='return selectBox("+m[i].code+", \""+m[i].name+"\", \""+m[i].url+"\", this);' id=\"selectBox"+i+"\" name=\"selectBox"+i+"\"/> "+
						"<img height=\"35\" width=\"140\" longdesc=\""+m[i].url+"\" alt=\""+m[i].name+"\" src=\"/images/merchants/"+m[i].logo+"\"/> "+
					"</div>");
		} else {
			$("#mCont").append("<div onclick='selectBoxWithImg(\""+i+"\");' class=\"mSmall\" id=\"m"+m[i].code+"\"> "+
						"<input type=\"checkbox\" class=\""+m[i].code+"\" alt=\"check prices from "+m[i].name+"\" onclick='return selectBox("+m[i].code+", \""+m[i].name+"\", \""+m[i].url+"\", this);' id=\"selectBox"+i+"\" name=\"selectBox"+i+"\"/>"+
						"<img height=\"25\" width=\"100\" longdesc=\""+m[i].url+"\" alt=\""+m[i].name+"\" src=\"/images/merchants_small/"+m[i].logo+"\"/> "+
					"</div>");
		};
	for(j=0;sel[j];j++) if ($("#"+sel[j])[0]) {$("#"+sel[j])[0].onclick();};
	/*if (nrSelMer==0) $('#mCont div:lt(2)').each(function() {this.onclick()});*/
	if(response.ads340x45 && response.ads340x45.length) {
		$("#mCont p").remove();
		$("#mCont").append(
		"<p>"+
			"<a href='#' onclick='jump(\""+response.ads340x45[0].code+"\",\""+response.ads340x45[0].name+"\", \"41\");return  false;'>"+
				response.ads340x45[0].name+"<br>"+
				"<img width='340' height='45' alt='"+response.ads340x45[0].url+"' src='/images/merchants340x45/"+response.ads340x45[0].logo+"'>"+
			"</a>"+
		"</p>");
	}
	lastParams = $(document.forms.ExpressBkFltonly).serialize();
	updateTzoo();
	$('img[@alt=cFares]:eq(0)').parent().not(".mSel, .mSelSmall").click();
	slideDivs(3);
};

function updateTzoo() {
	var patt = new RegExp(".*\\((.{3})\\).*");
	var fa = $("#fromAir").val() ? $("#fromAir").val() : "";
	var ta = $("#toAir").val() ? $("#toAir").val() : "";
	var tmp;
	if (fa) {tmp = patt.exec(fa);fa = (tmp && tmp[1]) ? tmp[1] : fa;};
	if (ta) {tmp = patt.exec(ta);ta = (tmp && tmp[1]) ? tmp[1] : ta;};
	$("#tzoo").fadeOut(200,function(){
		$("#tzoo").attr("src","http://oascentral.travelzoo.com/RealMedia/ads/adstream_sx.ads/Faredetective.com/@Top?O="+fa+"&D="+ta).load(function(){
			$("#tzoo").fadeIn(200);
		});
	});
};

function refreshMerchants() {
	var Params = $(document.forms.ExpressBkFltonly).serialize();
	if (Params==lastParams) {
		slideDivs(3);
		return 1;
	};
	$(".p_w").css("display","block");
	mAjax.data=Params;
	$.ajax(mAjax);
	lastParams = Params;
	return 1;
};
function selectContent(obj, txt) {
	return (obj.value == txt) ? obj.value='' : obj.select();
}

function createRequestObject() {
	var xmlHttp;
	try{xmlHttp=new XMLHttpRequest();}catch(e){try{xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");}catch(e){try{xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}catch(e){return false;}}}
	return xmlHttp;
}

function slideDivs(targetDiv) {
	$('#selMerDiv, .bcY').height("");
	$("#screen2").slideDown(400,function(){
		$("#screen1, #screen3, #screen4").css("display","none");
		$("#screen"+targetDiv).css("display","block");
		$("#screen2").slideUp(400,function(){
			if (targetDiv==1) {
				$("#steps").css("background-position","left top").text(step1);
				$("#go").text(nextStep);
				$("#back").css("visibility","hidden");
				document.getElementById('go').onclick = function() {validateAndRefresh(document.ExpressBkFltonly.inp_dep_arp_cd_1, document.ExpressBkFltonly.inp_arr_arp_cd_1,coap, searchSys); }
			}
			if (targetDiv==3) {
				if ($('#selMerDiv div.sMer').length>4) $('#selMerDiv, .bcY').height("auto");
				$("#steps").css("background-position","left bottom").text(step2);
				document.getElementById('go').onclick = function() { compare(cmpMsg); }
				if(nrSelMer>1) $("#go").text(cmpText);
				$("#back").css("visibility","visible");
			};
			if (targetDiv==4) {
				$("#steps").css("background-position","left bottom").text(step2);
				$("#back").css("visibility","visible");
				var gobttn = $("#go").text("Select")[0];
				gobttn.onclick=function() {selectandcompare(true);};
				$("#back")[0].onclick=function() {
					slideDivs(1);
				};
			};
		});
	});
	return false;
}

function selectBox(id, merchant, merchantUrl, chBox) {
	var mDiv = chBox.parentNode;
	if(chBox.checked == false) {
        	nrSelMer--;
		if(nrSelMer==1) $("#go").text(nextStep);
		$(mDiv).removeClass("mSelSmall mSel")
		popSelMer(id, merchant);
		popMerchantUrlVer9(chBox);
        	return true;
        }
	if(nrSelMer>=40) {
		showMaxAlert();
		return false;
	}
	nrSelMer++;
	pushSelMer(id, merchant);
	pushMerchantUrlVer9(chBox);
	if(nrSelMer==2) {$("#go").text(cmpText);}
	$(mDiv).addClass((($(mDiv).hasClass("mSmall")) ? "mSelSmall" : "mSel"));
	return true;
}

function showBlDiv() {
	if(document.getElementById('msgDiv').style.display == 'block') {
		$('#msgDiv').css("display",'none');
		$('#slt2').css("display",'block');
	}
	$('#ppDiv').css("display","block");
	$('#slideCont').slideUp(400);
	if(document.images["ppSmall"].src.indexOf("images_v9/turnoff_small.gif")==-1)
		document.images["ppSmall"].src = "/images_v9/turnoff_small.gif";
	return;
}

function updTzoo(fAir, tAir) {
	tzo=$('#tzoo').get(0);
	if(tzo == undefined) return false;
	var nSrc=tzo.src;
	if(fAir) nSrc = nSrc.replace(/O=(.*)&/, 'O='+fAir+'&');
	if(tAir) nSrc = nSrc.replace(/D=(.*)/, 'D='+tAir);
	if(tzo.src==nSrc) return false;
	$('#tzoo').fadeOut(400);
	tzo.src=nSrc;
	return true;
}
function tzdLoader(tzd) {
	if(tzd.style.display!='block') $(tzd).fadeIn(400);
}
function popMerchantUrlVer9(chBox) {
	var urlText = $('img', chBox.parentNode).attr('longdesc').replace("http://", "");
	var elem = $('#selMerDiv div:contains('+urlText+')');
	if (!urlText) elem = $('#selMerDiv div:empty:lt(1)');
	/*if (!elem.hasClass('nodp')) $('#selMerDiv div.sMer.nodp:lt(1)').removeClass('nodp');*/
	elem.remove();
	if ($('#selMerDiv div.sMer').length<=4) /*nodClass='nodp';*/$('#selMerDiv, .bcY').height("");

	return true;
}
function pushMerchantUrlVer9(chBox) {
	var nodClass='';
	if ($('#selMerDiv div.sMer').length>=4) /*nodClass='nodp';*/$('#selMerDiv, .bcY').height("auto");
	$('#selMerDiv').append("<div class='sMer "+nodClass+"' onclick='compare(cmpMsg,"+$('img', chBox.parentNode).parent().attr('id').substr(1)+")'>"+
		$('img', chBox.parentNode).attr('longdesc').replace("http://", "")+
	"</div>");
	return true;
}
function convertDate(date) {
	var tmp=new Object();
	tmp.d = USDate ? date.substr(3,2) : date.substr(0,2);
	tmp.m = USDate ? date.substr(0,2) : date.substr(3,2);
	tmp.y = date.substr(6,4);
	return tmp;
}
function trackPPB(blyn) {
	$.ajax( { url:"/ajax/track_ppb.php", type:"POST", 
		data: {'trackingId':queryCode, 'idReferral':idReferral, 'blocker':blyn }
	});
	return;
}
function LZ(t) {
	t = t.toString();
	if (t.length==1) return "0"+t;
	return t;
};
function validDate(date,limit) { //returns: 0 if not valid, 1 if valid, but limit is in past, 2 if both dates are in future and they are valid
	today=new Date();
	today = USDate ? (LZ(today.getMonth()*1+1))+"/"+(LZ(today.getDate()))+"/"+(today.getFullYear()) : (LZ(today.getDate()))+"/"+(LZ(today.getMonth()*1+1))+"/"+(today.getFullYear());

	if (!limit) {
		limit=today;
	};
	var t=convertDate(limit);
	if (t.d>31 || t.d<1 || t.m>12 || t.m<1 || t.y<2008) return 0;
	limit=new Date();
	limit.setFullYear(t.y,t.m-1,t.d);
	var d = convertDate(date);
	if (d.d>31 || d.d<1 || d.m>12 || d.m<1 || d.y<2008) return 0;

	var t=convertDate(today);
	var today = new Date();
	today.setFullYear(t.y,t.m-1,t.d);

	var tmp = new Date();
	tmp.setFullYear(d.y,d.m-1,d.d);
	if (limit>tmp) return 0;
	if (tmp.getDate()!=(d.d*1) || (tmp.getMonth()+1)!=(d.m*1) || tmp.getFullYear()!=(d.y*1)) return 0;
	if (limit<today) return 1;
	return 2;
};

function Rounded(selector,bk,color,size){$(selector).each(function(){AddTop(this,bk,color,size);AddBottom(this,bk,color,size);});}
function AddTop(el,bk,color,size){var i;var d=document.createElement("b");var cn="r";var lim=4;if(size && size=="small"){cn="rs";lim=2}d.className="rtop";d.style.backgroundColor=bk;for(i=1;i<=lim;i++){var x=document.createElement("b");x.className=cn + i;x.style.backgroundColor=color;d.appendChild(x);}el.insertBefore(d,el.firstChild);}
function AddBottom(el,bk,color,size){var i;var d=document.createElement("b");var cn="r";var lim=4;if(size && size=="small"){ cn="rs"; lim=2}d.className="rbottom";d.style.backgroundColor=bk;for(i=lim;i>0;i--){var x=document.createElement("b");x.className=cn + i;x.style.backgroundColor=color;d.appendChild(x);}el.appendChild(d,el.firstChild);};
