(function(a){a.fn.extend({autocomplete:function(b,c){var d=typeof b=="string";c=a.extend({},a.Autocompleter.defaults,{url:d?b:null,data:d?null:b,delay:d?a.Autocompleter.defaults.delay:10,max:c&&!c.scroll?10:150},c);c.highlight=c.highlight||function(e){return e};c.formatMatch=c.formatMatch||c.formatItem;return this.each(function(){new a.Autocompleter(this,c)})},result:function(b){return this.bind("result",b)},search:function(b){return this.trigger("search",[b])},validate:function(b){return this.trigger("validate",[b])},showList:function(b){return this.trigger("showList",[b])},flushCache:function(){return this.trigger("flushCache")},setOptions:function(b){return this.trigger("setOptions",[b])},unautocomplete:function(){return this.trigger("unautocomplete")}});a.Autocompleter=function(l,g){var c={UP:38,DOWN:40,DEL:46,TAB:9,RETURN:13,ESC:27,COMMA:188,PAGEUP:33,PAGEDOWN:34,BACKSPACE:8};var b=a(l).attr("autocomplete","off").addClass(g.inputClass);var j;var p="";var m=a.Autocompleter.Cache(g);var e=0;var u;var y={mouseDownOnSelect:false};var r=a.Autocompleter.Select(g,l,d,y);var x;a.browser.opera&&a(l.form).bind("submit.autocomplete",function(){if(x){x=false;return false}});b.bind((a.browser.opera?"keypress":"keydown")+".autocomplete",function(z){e=1;u=z.keyCode;switch(z.keyCode){case c.UP:z.preventDefault();if(r.visible()){r.prev()}else{t(0,true)}break;case c.DOWN:z.preventDefault();if(r.visible()){r.next()}else{t(0,true)}break;case c.PAGEUP:z.preventDefault();if(r.visible()){r.pageUp()}else{t(0,true)}break;case c.PAGEDOWN:z.preventDefault();if(r.visible()){r.pageDown()}else{t(0,true)}break;case c.RETURN:z.preventDefault();case g.multiple&&a.trim(g.multipleSeparator)==","&&c.COMMA:case c.TAB:if(d()){z.preventDefault();x=true;return false}r.hide();break;case c.ESC:r.hide();break;default:clearTimeout(j);j=setTimeout(t,g.delay);break}}).focus(function(){e++}).blur(function(){e=0;if(!y.mouseDownOnSelect){w()}}).click(function(){if(e++>1&&!r.visible()){t(0,true)}}).bind("search",function(){var z=(arguments.length>1)?arguments[1]:null;function A(E,D){var B;if(D&&D.length){for(var C=0;C<D.length;C++){if(D[C].result.toLowerCase()==E.toLowerCase()){B=D[C];break}}}if(typeof z=="function"){z(B)}else{b.trigger("result",B&&[B.data,B.value])}}a.each(h(b.val()),function(B,C){f(C,A,A)})}).bind("validate",function(){var B=(arguments.length>1)?arguments[1]:null;var z=(arguments.length>2)?arguments[2]:false;function A(D,C){if(D.length>=g.minChars){if(C){if(C.length==1){b.trigger("result",[C[0].data,C[0].value]);b.val(C[0].result);v()}else{if(C.length>1){n();if(!z){r.display(C,D);q(D,C[0].value);r.show()}b.trigger("result",null)}}}else{n();if(!z){r.noMatch()}b.trigger("result",null)}}else{b.trigger("result",null)}if(typeof B=="function"){B(C)}}a.each(h(b.val()),function(C,D){f(D,A,A)})}).bind("showList",function(){t(0,true)}).bind("flushCache",function(){m.flush()}).bind("setOptions",function(){a.extend(g,arguments[1]);if("data" in arguments[1]){m.populate()}}).bind("unautocomplete",function(){r.unbind();b.unbind();a(l.form).unbind(".autocomplete")});function d(){var C=r.selected();if(!C){return false}var z=C.result;p=z;if(g.multiple){var F=h(b.val());if(F.length>1){var B=g.multipleSeparator.length;var E=a(l).selection().start;var D,A=0;a.each(F,function(G,H){A+=H.length;if(E<=A){D=G;return false}A+=B});F[D]=z;z=F.join(g.multipleSeparator)}z+=g.multipleSeparator}b.val(z);if(g.multiple){v()}else{w()}b.trigger("result",[C.data,C.value]);return true}function t(B,A){b.trigger("result",null);if(u==c.DEL){r.hide();return}var z=b.val();if(!A&&z==p){return}p=z;z=i(z);if(z.length>=g.minChars){b.addClass(g.loadingClass);if(!g.matchCase){z=z.toLowerCase()}f(z,k,v)}else{n();r.hide()}}function h(z){if(!z){return[""]}if(!g.multiple){return[a.trim(z)]}return a.map(z.split(g.multipleSeparator),function(A){return a.trim(z).length?a.trim(A):null})}function i(z){if(!g.multiple){return z}var B=h(z);if(B.length==1){return B[0]}var A=a(l).selection().start;if(A==z.length){B=h(z)}else{B=h(z.replace(z.substring(A),""))}return B[B.length-1]}function q(z,A){if(g.autoFill&&(i(b.val()).toLowerCase()==z.toLowerCase())&&u!=c.BACKSPACE){b.val(b.val()+A.substring(i(p).length));a(l).selection(p.length,p.length+A.length)}}function s(){clearTimeout(j);j=setTimeout(v,200)}function w(){var z=r.visible();r.hide();clearTimeout(j);n()}function v(){w();if(g.mustMatch){b.search(function(z){if(!z){if(g.multiple){var A=h(b.val()).slice(0,-1);b.val(A.join(g.multipleSeparator)+(A.length?g.multipleSeparator:""))}else{b.val("");b.trigger("result",null)}}})}else{if(g.noMatchMessage!=null){b.search(function(z){if(!z){if(e){r.noMatch()}b.trigger("result",null)}})}}}function k(A,z){if(z&&z.length&&e){n();r.display(z,A);q(A,z[0].value);r.show()}else{if(g.noMatchMessage!=null){r.noMatch();b.trigger("result",null)}else{w()}}}function f(A,C,z){if(!g.matchCase){A=A.toLowerCase()}var B=m.load(A);if(B&&B.length){C(A,B)}else{if((typeof g.url=="string")&&(g.url.length>0)){var D={timestamp:+new Date()};a.each(g.extraParams,function(E,F){D[E]=typeof F=="function"?F():F});a.ajax({mode:"abort",port:"autocomplete"+l.name,dataType:g.dataType,url:g.url,data:a.extend({q:i(A),limit:g.max},D),success:function(F){var E=g.parse&&g.parse(F)||o(F);m.add(A,E);C(A,E)}})}else{r.emptyList();z(A)}}}function o(C){var z=[];var B=C.split("\n");for(var A=0;A<B.length;A++){var D=a.trim(B[A]);if(D){D=D.split("|");z[z.length]={data:D,value:D[0],result:g.formatResult&&g.formatResult(D,D[0])||D[0]}}}return z}function n(){b.removeClass(g.loadingClass)}};a.Autocompleter.defaults={inputClass:"ac_input",resultsClass:"ac_results",loadingClass:"ac_loading",minChars:1,delay:400,matchCase:false,matchSubset:true,matchContains:false,cacheLength:10,max:100,mustMatch:false,extraParams:{},selectFirst:true,formatItem:function(b){return b[0]},formatMatch:null,autoFill:false,width:0,multiple:false,multipleSeparator:", ",highlight:function(c,b){return c.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)("+b.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi,"\\$1")+")(?![^<>]*>)(?![^&;]+;)","gi"),"<strong>$1</strong>")},scroll:true,scrollHeight:180};a.Autocompleter.Cache=function(c){var f={};var d=0;function h(l,k){if(!c.matchCase){l=l.toLowerCase()}k=autocompleteCities.removeTildeCharacters(k);var j=l.indexOf(k);if(c.matchContains=="word"){j=l.toLowerCase().search("\\b"+k.toLowerCase())}if(j==-1){return false}return j==0||c.matchContains}function g(j,i){if(d>c.cacheLength){b()}if(!f[j]){d++}f[j]=i}function e(){if(!c.data){return false}var k={},j=0;if(!c.url){c.cacheLength=1}k[""]=[];for(var m=0,l=c.data.length;m<l;m++){var p=c.data[m];p=(typeof p=="string")?[p]:p;var o=c.formatMatch(p,m+1,c.data.length);if(o===false){continue}var n=o.charAt(0).toLowerCase();if(!k[n]){k[n]=[]}var q={value:o,data:p,result:c.formatResult&&c.formatResult(p)||o};k[n].push(q);if(j++<c.max){k[""].push(q)}}a.each(k,function(r,s){c.cacheLength++;g(r,s)})}setTimeout(e,25);function b(){f={};d=0}return{flush:b,add:g,populate:e,load:function(n){if(!c.cacheLength||!d){return null}if(!c.url&&c.matchContains){var m=[];for(var j in f){if(j.length>0){var o=f[j];a.each(o,function(p,k){if(h(k.value,n)){m.push(k)}})}}return m}else{if(f[n]&&f[n].length){return f[n]}else{if(c.matchSubset){for(var l=n.length-1;l>=c.minChars;l--){var o=f[n.substr(0,l)];if(o){var m=[];a.each(o,function(p,k){if(h(k.value,n)){m[m.length]=k}});return m}}}}}return null}}};a.Autocompleter.Select=function(e,j,l,p){var i={ACTIVE:"ac_over"};var k,f=-1,r,m="",s=true,c,o;function n(){if(!s){return}c=a("<div/>").hide().addClass(e.resultsClass).css("position","absolute").appendTo(document.body);o=a("<ul/>").appendTo(c).mouseover(function(t){if(q(t).nodeName&&q(t).nodeName.toUpperCase()=="LI"){f=a("li",o).removeClass(i.ACTIVE).index(q(t));a(q(t)).addClass(i.ACTIVE)}}).click(function(t){a(q(t)).addClass(i.ACTIVE);l();j.focus();return false}).mousedown(function(){p.mouseDownOnSelect=true}).mouseup(function(){p.mouseDownOnSelect=false});if(e.width>0){c.css("width",e.width)}s=false}function q(u){var t=u.target;while(t&&t.tagName!="LI"){t=t.parentNode}if(!t){return[]}return t}function h(t){k.slice(f,f+1).removeClass(i.ACTIVE);g(t);var v=k.slice(f,f+1).addClass(i.ACTIVE);if(e.scroll){var u=0;k.slice(0,f).each(function(){u+=this.offsetHeight});if((u+v[0].offsetHeight-o.scrollTop())>o[0].clientHeight){o.scrollTop(u+v[0].offsetHeight-o.innerHeight())}else{if(u<o.scrollTop()){o.scrollTop(u)}}}}function g(t){f+=t;if(f<0){f=k.size()-1}else{if(f>=k.size()){f=0}}}function b(t){return e.max&&e.max<t?e.max:t}function d(){o.empty().siblings("span").remove();var u=b(r.length);for(var v=0;v<u;v++){if(!r[v]){continue}var w=e.formatItem(r[v].data,v+1,u,r[v].value,m);if(w===false){continue}var t=a("<li/>").html(e.highlight(w,m)).addClass(v%2==0?"ac_even":"ac_odd").appendTo(o)[0];a.data(t,"ac_data",r[v])}k=o.find("li");if(e.selectFirst){k.slice(0,1).addClass(i.ACTIVE);f=0}if(a.fn.bgiframe){o.bgiframe()}}return{display:function(u,t){n();r=u;m=t;d()},next:function(){h(1)},prev:function(){h(-1)},pageUp:function(){if(f!=0&&f-8<0){h(-f)}else{h(-8)}},pageDown:function(){if(f!=k.size()-1&&f+8>k.size()){h(k.size()-1-f)}else{h(8)}},hide:function(){c&&c.hide();k&&k.removeClass(i.ACTIVE);f=-1},visible:function(){return c&&c.is(":visible")},current:function(){return this.visible()&&(k.filter("."+i.ACTIVE)[0]||e.selectFirst&&k[0])},show:function(){var v=a(j).offset();c.css({width:typeof e.width=="string"||e.width>0?e.width:a(j).width(),top:v.top+j.offsetHeight,left:v.left}).show();if(e.scroll){o.scrollTop(0);o.css({maxHeight:e.scrollHeight,overflow:"auto"});if(a.browser.msie&&typeof document.body.style.maxHeight==="undefined"){var t=0;if(k&&k.length){k.each(function(){t+=this.offsetHeight})}var u=t>e.scrollHeight;o.css("height",u?e.scrollHeight:t);if(!u&&k&&k.length){k.width(o.width()-parseInt(k.css("padding-left"))-parseInt(k.css("padding-right")))}}}},selected:function(){var t=k&&k.filter("."+i.ACTIVE).removeClass(i.ACTIVE);return t&&t.length&&a.data(t[0],"ac_data")},emptyList:function(){o&&o.empty().siblings("span").remove()},unbind:function(){c&&c.remove()},noMatch:function(){n();this.emptyList();if(j.value!=""){c&&c.prepend(a("<span/>").html(e.noMatchMessage));this.show();if(a.fn.bgiframe){o.bgiframe()}}}}};a.fn.selection=function(i,b){if(i!==undefined){return this.each(function(){if(this.createTextRange){var j=this.createTextRange();if(b===undefined||i==b){j.move("character",i);j.select()}else{j.collapse(true);j.moveStart("character",i);j.moveEnd("character",b);j.select()}}else{if(this.setSelectionRange){this.setSelectionRange(i,b)}else{if(this.selectionStart){this.selectionStart=i;this.selectionEnd=b}}}})}var g=this[0];if(g.createTextRange){var c=document.selection.createRange(),h=g.value,f="<->",d=c.text.length;c.text=f;var e=g.value.indexOf(f);g.value=h;this.selection(e,e+d);return{start:e,end:e+d}}else{if(g.selectionStart!==undefined){return{start:g.selectionStart,end:g.selectionEnd}}}}})(jQuery);var originCities=[];var arrivalCities=[];var autocompleteCities={servData:{noMatchMessage:"Ninguna coincidencia.",changeToSelectList:"Seleccionar de un listado",changeToAutoText:"Escribir ciudad, código o país"},load:function(){if(autocompleteCities.useAjaxSelectors){if($(".IBMUSE").length){multipleRoutes.load()}var d=$("<input type='text' class='autocompleteCities'></input>");var b=dom.getElementsById("ciudadDestino");for(var c=0;c<b.length;c++){if(b[c].type!="hidden"){d=d.clone();arrivalCities=autocompleteCities.loadData(b[c]);autocompleteCities.loadInput(d,b[c],arrivalCities);autocompleteCities.loadPopupLink($("label[for=text_"+b[c].id+"]"),d)}}var a=$("#totalWrapper.OWADVS, #totalWrapper.IBCOSE, #totalWrapper.IBRECA, #ciudadOrigen_0.autocomplete").length;var b=dom.getElementsById("ciudadOrigen");for(var c=a?0:1;c<b.length;c++){if(b[c].type!="hidden"){d=d.clone();originCities=autocompleteCities.loadData(b[c]);autocompleteCities.loadInput(d,b[c],originCities);autocompleteCities.loadPopupLink($("label[for=text_"+b[c].id+"]"),d)}}}},loadData:function(a){var c=[];for(var b=0;b<a.length;b++){if(a[b].value!="-1"&&a[b].value!=""){c.push({text:a[b].text,value:a[b].value})}}return c},loadInput:function(c,b,a){$(c).attr("id","text_"+b.id).attr("name","text_"+b.name);if(b.value!="-1"&&b.value!=""){$(c).val(b[b.selectedIndex].text)}else{$(c).val("")}autocompleteCities.loadAutocomplete(c,a);$(b).before(c).addClass("invisible").attr("tabIndex","-1");$("label[for="+b.id+"]").attr("for","text_"+b.id)},loadAutocomplete:function(b,a){$(b).autocomplete(a,{matchContains:true,max:300,cacheLength:300,minChars:3,selectFirst:true,width:250,noMatchMessage:autocompleteCities.servData.noMatchMessage,formatItem:function(e,d,c){return e.text},formatMatch:function(e,d,c){return autocompleteCities.removeTildeCharacters(e.text)},formatResult:function(c){return c.text},highlight:function(g,f){var d=autocompleteCities.removeTildeCharacters(g);var c=autocompleteCities.removeTildeCharacters(f);var e=d.length;while(e>-1){var e=d.lastIndexOf(c,e);if(e!=-1){g=g.substr(0,e)+"<strong>"+g.substr(e,c.length)+"</strong>"+g.substr(e+c.length,g.length);e=e-c.length}}return g}}).result(function(c,e,d){$("#"+this.id.replace("text_","")).val(!e?"-1":e.value).change()})},reloadCities:function(){$("input.autocompleteCities").setOptions({data:arrivalCities}).search()},loadPopupLink:function(a,c){var b=$("<a href='#' class='linkNaranja'>"+autocompleteCities.servData.changeToSelectList+"</a>").click(function(){autocompleteCities.toggleInput(this,c,a);return false});$(c).parent().append($("<p class='autocompleteLink'/>").append(b))},toggleInput:function(c,d,b){var e=$(d).attr("id").replace("text_","");var a=$("#"+e);if(d.hasClass("invisible")){$(a).addClass("invisible").attr("tabIndex","-1");if($(a).val()!="-1"&&$(a).val()!=""){$(d).val($(a)[0][$(a)[0].selectedIndex].text)}$(d).removeClass("invisible").removeAttr("tabIndex");$(b).attr("for","text_"+e);$(c).html(autocompleteCities.servData.changeToSelectList)}else{if(a.hasClass("invisible")){$(d).addClass("invisible").attr("tabIndex","-1");$(a).removeClass("invisible").removeAttr("tabIndex");$(b).attr("for",e);$(c).html(autocompleteCities.servData.changeToAutoText)}}},removeTildeCharacters:function(b){var a=b.toLowerCase();a=a.split(/[áàäâ]/).join("a");a=a.split(/[éèëê]/).join("e");a=a.split(/[íìïî]/).join("i");a=a.split(/[óòöô]/).join("o");a=a.split(/[úùüû]/).join("u");a=a.split(/[ñ]/).join("n");return a}};ev.addEvent(window,"load",autocompleteCities.load,false);
