var jsonPaises=[{"value":"","text":"Escolha um Pa\u00eds"},{"value":"208","text":"AFEGANIST\u00c3O"},{"value":"42","text":"ALB\u00c2NIA"},{"value":"10","text":"ALEMANHA"},{"value":"1","text":"ANDORRA"},{"value":"43","text":"ANGOLA"},{"value":"44","text":"ANGUILLA"},{"value":"45","text":"ANT\u00cdGUA E BARBUDA"},{"value":"46","text":"ANTILHAS HOLANDESAS"},{"value":"47","text":"AR\u00c1BIA SAUDITA"},{"value":"48","text":"ALG\u00c9RIA"},{"value":"49","text":"ARGENTINA"},{"value":"50","text":"ARM\u00c9NIA"},{"value":"51","text":"ARUBA"},{"value":"54","text":"ASCENS\u00c3O"},{"value":"52","text":"AUSTR\u00c1LIA"},{"value":"3","text":"\u00c1USTRIA"},{"value":"53","text":"AZERBAIJ\u00c3O"},{"value":"55","text":"BAHAMAS"},{"value":"56","text":"BAHREIN"},{"value":"57","text":"BANGLADESH"},{"value":"58","text":"BARBADOS"},{"value":"4","text":"BELGICA"},{"value":"60","text":"BELIZE"},{"value":"61","text":"BENIM"},{"value":"62","text":"BERMUDAS"},{"value":"63","text":"BUT\u00c3O"},{"value":"59","text":"BIELORR\u00daSIA"},{"value":"65","text":"BOL\u00cdVIA"},{"value":"66","text":"BONAIRE"},{"value":"67","text":"B\u00d3SNIA"},{"value":"68","text":"BOTSWANA"},{"value":"69","text":"BRASIL"},{"value":"70","text":"BRUNEI"},{"value":"5","text":"BULG\u00c1RIA"},{"value":"71","text":"BURKINA FASO"},{"value":"72","text":"BURUNDI"},{"value":"73","text":"CABO VERDE"},{"value":"74","text":"CAMBOJA"},{"value":"75","text":"CAMAR\u00d5ES"},{"value":"76","text":"CANADA"},{"value":"77","text":"CHADE"},{"value":"78","text":"CHILE"},{"value":"79","text":"CHINA"},{"value":"8","text":"CHIPRE"},{"value":"80","text":"CIDADE DO VATICANO"},{"value":"81","text":"COL\u00d4MBIA"},{"value":"82","text":"CONGO"},{"value":"84","text":"COREIA DO NORTE"},{"value":"83","text":"COREIA DO SUL"},{"value":"85","text":"COSTA DO MARFIM"},{"value":"7","text":"COSTA RICA"},{"value":"225","text":"CRO\u00c1CIA"},{"value":"224","text":"CUBA"},{"value":"11","text":"DINAMARCA"},{"value":"87","text":"DJIBOUTI"},{"value":"88","text":"DOMINICA"},{"value":"89","text":"EQUADOR"},{"value":"14","text":"EGITO"},{"value":"90","text":"EL SALVADOR"},{"value":"2","text":"EMIRADOS \u00c1RABES UNIDOS"},{"value":"91","text":"ERITREIA"},{"value":"37","text":"ESLOV\u00c1QUIA"},{"value":"229","text":"ESLOV\u00c9NIA"},{"value":"15","text":"ESPANHA"},{"value":"13","text":"EST\u00d3NIA"},{"value":"93","text":"ETI\u00d3PIA"},{"value":"35","text":"R\u00daSSIA"},{"value":"94","text":"FIJI"},{"value":"95","text":"FILIPINAS"},{"value":"16","text":"FINL\u00c2NDIA"},{"value":"17","text":"FRAN\u00c7A"},{"value":"96","text":"GAB\u00c3O"},{"value":"97","text":"G\u00c2MBIA"},{"value":"98","text":"GE\u00d3RGIA"},{"value":"99","text":"GANA"},{"value":"100","text":"GRANADA"},{"value":"18","text":"GR\u00c9CIA"},{"value":"101","text":"GRONEL\u00c2NDIA"},{"value":"102","text":"GUADALUPE"},{"value":"103","text":"GUATEMALA"},{"value":"104","text":"GUIANA"},{"value":"105","text":"GUIANA FRANCESA"},{"value":"106","text":"GUIN\u00c9"},{"value":"107","text":"GUIN\u00c9-BISSAU"},{"value":"108","text":"GUIN\u00c9 EQUATORIAL"},{"value":"109","text":"HAITI"},{"value":"31","text":"HOLANDA"},{"value":"110","text":"HONDURAS"},{"value":"111","text":"HONG KONG"},{"value":"19","text":"HUNGRIA"},{"value":"112","text":"\u00cdNDIA"},{"value":"113","text":"INDON\u00c9SIA"},{"value":"211","text":"IRAQUE"},{"value":"114","text":"IR\u00c3O"},{"value":"20","text":"IRLANDA"},{"value":"115","text":"ILHA DE GUAM"},{"value":"226","text":"ISL\u00c2NDIA"},{"value":"117","text":"ILHAS CAIM\u00c3O"},{"value":"215","text":"ILHAS COMORES"},{"value":"118","text":"ILHAS COOK"},{"value":"119","text":"ILHAS FEROE"},{"value":"120","text":"ILHAS MARSHALL"},{"value":"219","text":"ILHAS SALOM\u00c3O"},{"value":"121","text":"ILHAS VIRGENS BRIT\u00c2NICAS"},{"value":"122","text":"ILHAS VIRGENS AMERICANAS"},{"value":"123","text":"ISRAEL"},{"value":"21","text":"IT\u00c1LIA"},{"value":"124","text":"JAMAICA"},{"value":"125","text":"JAP\u00c3O"},{"value":"22","text":"JORD\u00c2NIA"},{"value":"126","text":"CASAQUIST\u00c3O"},{"value":"127","text":"QU\u00caNIA"},{"value":"214","text":"KIRIBATI"},{"value":"128","text":"KUWAIT"},{"value":"129","text":"QUIRGUIST\u00c3O"},{"value":"207","text":"LAOS"},{"value":"130","text":"LESOTO"},{"value":"26","text":"LET\u00d3NIA"},{"value":"131","text":"L\u00cdBANO"},{"value":"132","text":"LIB\u00c9RIA"},{"value":"209","text":"L\u00cdBIA"},{"value":"23","text":"LIECHTENSTEIN"},{"value":"24","text":"LITU\u00c2NIA"},{"value":"25","text":"LUXEMBURGO"},{"value":"133","text":"MACAU"},{"value":"134","text":"MACED\u00d4NIA"},{"value":"135","text":"MADAG\u00c1SCAR"},{"value":"136","text":"MAL\u00c1SIA"},{"value":"137","text":"MALAVI"},{"value":"138","text":"MALDIVAS"},{"value":"139","text":"MALI"},{"value":"29","text":"MALTA"},{"value":"27","text":"MARROCOS"},{"value":"140","text":"MARTINICA"},{"value":"141","text":"MAURICIO"},{"value":"142","text":"MAURIT\u00c2NIA"},{"value":"30","text":"M\u00c9XICO"},{"value":"143","text":"MICRON\u00c9SIA"},{"value":"144","text":"MOLD\u00c1VIA"},{"value":"28","text":"MONACO"},{"value":"145","text":"MONG\u00d3LIA"},{"value":"232","text":"MONTENEGRO"},{"value":"146","text":"MONTSERRAT"},{"value":"147","text":"MO\u00c7AMBIQUE"},{"value":"64","text":"MIANMAR"},{"value":"148","text":"NAM\u00cdBIA"},{"value":"172","text":"NAURU"},{"value":"149","text":"NEPAL"},{"value":"150","text":"NICAR\u00c1GUA"},{"value":"151","text":"N\u00cdGER"},{"value":"152","text":"NIG\u00c9RIA"},{"value":"173","text":"NIUE"},{"value":"227","text":"NORTE CHIPRE"},{"value":"32","text":"NORUEGA"},{"value":"153","text":"NOVA CALED\u00d3NIA"},{"value":"154","text":"PAPUA-NOVA GUIN\u00c9"},{"value":"155","text":"NOVA ZEL\u00c2NDIA"},{"value":"156","text":"OM\u00c3"},{"value":"157","text":"PAQUIST\u00c3O"},{"value":"158","text":"PALAU"},{"value":"223","text":"PALESTINA"},{"value":"159","text":"PANAM\u00c1"},{"value":"160","text":"PARAGUAI"},{"value":"161","text":"PERU"},{"value":"162","text":"POLIN\u00c9SIA FRANCESA"},{"value":"33","text":"POL\u00d3NIA"},{"value":"34","text":"PORTUGAL"},{"value":"163","text":"PORTO RICO"},{"value":"164","text":"CATAR"},{"value":"40","text":"REINO UNIDO"},{"value":"166","text":"REP. CENTRO-AFRICANA"},{"value":"9","text":"REP\u00daBLICA CHECA"},{"value":"12","text":"REP\u00daBLICA DOMINICANA"},{"value":"167","text":"REUNI\u00d3N"},{"value":"169","text":"RUANDA"},{"value":"228","text":"ROM\u00c9NIA"},{"value":"220","text":"SAHARA OCIDENTAL"},{"value":"171","text":"SAMOA AMERICANA"},{"value":"170","text":"SAMOA OCIDENTAL"},{"value":"174","text":"S\u00e3o Crist\u00f3v\u00e3o e Nevis"},{"value":"221","text":"S\u00c3O MARINO"},{"value":"175","text":"S\u00e3o Vicente e Granadinas"},{"value":"176","text":"SANTA L\u00daCIA"},{"value":"216","text":"S\u00c3O TOM\u00c9 E PR\u00cdNCIPE"},{"value":"177","text":"SENEGAL"},{"value":"230","text":"S\u00c9RVIA"},{"value":"178","text":"SEICHELES"},{"value":"179","text":"SERRA LEOA"},{"value":"180","text":"SINGAPURA"},{"value":"181","text":"S\u00cdRIA"},{"value":"212","text":"SOM\u00c1LIA"},{"value":"182","text":"SRI LANKA"},{"value":"233","text":"ST. MARTIN"},{"value":"183","text":"\u00c1FRICA DO SUL"},{"value":"184","text":"SUD\u00c3O"},{"value":"36","text":"SU\u00c9CIA"},{"value":"6","text":"SUI\u00c7A"},{"value":"185","text":"SURINAME"},{"value":"186","text":"SUAZIL\u00c2NDIA"},{"value":"187","text":"TAIL\u00c2NDIA"},{"value":"188","text":"TAIWAN"},{"value":"189","text":"TANZ\u00c2NIA"},{"value":"210","text":"TAJIQUIST\u00c3O"},{"value":"222","text":"TIMOR-LESTE"},{"value":"190","text":"TOGO"},{"value":"217","text":"TONGA"},{"value":"191","text":"TRINIDADE E TOBAGO"},{"value":"38","text":"TUN\u00cdSIA"},{"value":"192","text":"TURQUEMENIST\u00c3O"},{"value":"193","text":"TURCAS E CAICOS"},{"value":"39","text":"TURQUIA"},{"value":"218","text":"TUVALU"},{"value":"41","text":"ESTADOS UNIDOS"},{"value":"194","text":"UCR\u00c2NIA"},{"value":"195","text":"UGANDA"},{"value":"196","text":"URUGUAI"},{"value":"197","text":"UZBEQUIST\u00c3O"},{"value":"198","text":"VANUATU"},{"value":"199","text":"VENEZUELA"},{"value":"200","text":"VIETNAME"},{"value":"201","text":"WALLIS E FUTUNA"},{"value":"202","text":"I\u00c9MEN"},{"value":"203","text":"Zaire"},{"value":"204","text":"Z\u00c2MBIA"},{"value":"205","text":"ZIMBABWE"}]; jsonPaises.sort(function (a, b) { if(a.value == ""){ return -1; }else if (a.text < b.text) { return -1; }else if (a.text > b.text) { return 1; } return 0; }); var IATA_AEROPUERTO=false; var IATA_AEROLINEA=false; // Listado con todas las aerolineas disponibles + autocompleter var CODE_RESIDENTE={"BL":{"name":"Baleares","value":"BL"},"CN":{"name":"Can\u00e1rias","value":"CN"},"ML":{"name":"Melilla","value":"ML"},"CE":{"name":"Ceuta","value":"CE"}}; var AEROPUERTO_RESIDENTE={"TCI":"CN","a_TFN":"CN","VDE":"CN","FUE":"CN","LPA":"CN","GMZ":"CN","SPC":"CN","ACE":"CN","TFS":"CN","TFN":"CN","IBZ":"BL","MAH":"BL","PMI":"BL","MLN":"ML","AGP":"CE"}; var ZONA_RESIDENTE={"Z_386":"CN","Z_387":"CN","Z_4865":"CN","Z_7429":"CN","Z_10595":"CN","Z_10606":"CN","Z_12910":"CN","Z_12911":"CN","Z_12912":"CN","Z_12913":"CN","Z_12914":"CN","Z_12916":"CN","Z_388":"CN","Z_389":"CN","Z_390":"CN","Z_391":"CN","Z_392":"CN","Z_394":"CN","Z_395":"CN","Z_396":"CN","Z_397":"CN","Z_3756":"CN","Z_8083":"CN","Z_9552":"CN","Z_10448":"CN","Z_10483":"CN","Z_13367":"CN","Z_14134":"CN","Z_14136":"CN","Z_404":"CN","Z_405":"CN","Z_406":"CN","Z_407":"CN","Z_408":"CN","Z_410":"CN","Z_411":"CN","Z_412":"CN","Z_413":"CN","Z_414":"CN","Z_415":"CN","Z_416":"CN","Z_417":"CN","Z_418":"CN","Z_419":"CN","Z_420":"CN","Z_421":"CN","Z_422":"CN","Z_423":"CN","Z_1509":"CN","Z_1987":"CN","Z_2499":"CN","Z_2500":"CN","Z_2501":"CN","Z_3461":"CN","Z_4699":"CN","Z_5842":"CN","Z_9770":"CN","Z_10282":"CN","Z_13201":"CN","Z_13202":"CN","Z_4867":"CN","Z_5694":"CN","Z_5695":"CN","Z_5696":"CN","Z_5697":"CN","Z_8180":"CN","Z_8206":"CN","Z_13154":"CN","Z_500":"CN","Z_501":"CN","Z_1998":"CN","Z_2504":"CN","Z_2505":"CN","Z_8278":"CN","Z_13054":"CN","Z_13059":"CN","Z_13060":"CN","Z_13061":"CN","Z_13098":"CN","Z_13104":"CN","Z_13105":"CN","Z_13106":"CN","Z_13203":"CN","Z_13204":"CN","Z_13205":"CN","Z_13206":"CN","Z_13207":"CN","Z_509":"CN","Z_510":"CN","Z_511":"CN","Z_512":"CN","Z_514":"CN","Z_515":"CN","Z_517":"CN","Z_518":"CN","Z_519":"CN","Z_520":"CN","Z_1519":"CN","Z_1520":"CN","Z_4765":"CN","Z_10279":"CN","Z_12793":"CN","Z_13421":"CN","Z_743":"CN","Z_745":"CN","Z_746":"CN","Z_748":"CN","Z_749":"CN","Z_751":"CN","Z_752":"CN","Z_753":"CN","Z_754":"CN","Z_755":"CN","Z_757":"CN","Z_758":"CN","Z_759":"CN","Z_760":"CN","Z_761":"CN","Z_762":"CN","Z_763":"CN","Z_764":"CN","Z_765":"CN","Z_766":"CN","Z_1553":"CN","Z_1554":"CN","Z_2030":"CN","Z_3940":"CN","Z_5802":"CN","Z_8363":"CN","Z_10464":"CN","Z_12921":"CN","Z_12932":"CN","Z_12933":"CN","Z_12934":"CN","Z_12935":"CN","Z_12998":"CN","Z_13424":"CN","Z_14139":"CN","Z_14237":"CN","Z_14238":"CN","Z_14239":"CN","Z_14240":"CN","Z_17349":"CN","Z_18599":"CN","Z_18601":"CN","Z_457":"BL","Z_458":"BL","Z_459":"BL","Z_460":"BL","Z_461":"BL","Z_462":"BL","Z_463":"BL","Z_467":"BL","Z_468":"BL","Z_471":"BL","Z_472":"BL","Z_473":"BL","Z_474":"BL","Z_477":"BL","Z_478":"BL","Z_479":"BL","Z_481":"BL","Z_5819":"BL","Z_5820":"BL","Z_10359":"BL","Z_10613":"BL","Z_10731":"BL","Z_12556":"BL","Z_12571":"BL","Z_12601":"BL","Z_569":"BL","Z_571":"BL","Z_572":"BL","Z_573":"BL","Z_574":"BL","Z_579":"BL","Z_581":"BL","Z_582":"BL","Z_585":"BL","Z_586":"BL","Z_587":"BL","Z_588":"BL","Z_589":"BL","Z_590":"BL","Z_591":"BL","Z_594":"BL","Z_596":"BL","Z_597":"BL","Z_599":"BL","Z_601":"BL","Z_602":"BL","Z_603":"BL","Z_604":"BL","Z_606":"BL","Z_607":"BL","Z_608":"BL","Z_610":"BL","Z_611":"BL","Z_612":"BL","Z_613":"BL","Z_614":"BL","Z_615":"BL","Z_616":"BL","Z_617":"BL","Z_618":"BL","Z_619":"BL","Z_620":"BL","Z_621":"BL","Z_622":"BL","Z_623":"BL","Z_624":"BL","Z_625":"BL","Z_626":"BL","Z_628":"BL","Z_629":"BL","Z_630":"BL","Z_632":"BL","Z_633":"BL","Z_1525":"BL","Z_1526":"BL","Z_1527":"BL","Z_1528":"BL","Z_3462":"BL","Z_3648":"BL","Z_4657":"BL","Z_4788":"BL","Z_4853":"BL","Z_5700":"BL","Z_5801":"BL","Z_7510":"BL","Z_9276":"BL","Z_9759":"BL","Z_9769":"BL","Z_10281":"BL","Z_10466":"BL","Z_10535":"BL","Z_10576":"BL","Z_10597":"BL","Z_10601":"BL","Z_10604":"BL","Z_12122":"BL","Z_12150":"BL","Z_12159":"BL","Z_12160":"BL","Z_12163":"BL","Z_12170":"BL","Z_12172":"BL","Z_12175":"BL","Z_12176":"BL","Z_12177":"BL","Z_12181":"BL","Z_12198":"BL","Z_12208":"BL","Z_12213":"BL","Z_12226":"BL","Z_13632":"BL","Z_20579":"BL","Z_20580":"BL","Z_20581":"BL","Z_20582":"BL","Z_635":"BL","Z_636":"BL","Z_638":"BL","Z_639":"BL","Z_641":"BL","Z_643":"BL","Z_644":"BL","Z_647":"BL","Z_648":"BL","Z_649":"BL","Z_650":"BL","Z_651":"BL","Z_653":"BL","Z_655":"BL","Z_656":"BL","Z_657":"BL","Z_658":"BL","Z_659":"BL","Z_660":"BL","Z_2018":"BL","Z_12917":"BL","Z_12918":"BL","Z_12919":"BL","Z_12920":"BL","Z_12922":"BL","Z_13674":"BL","Z_23022":"BL","Z_1506":"BL","Z_1507":"BL","Z_1508":"BL","Z_7444":"BL","Z_10603":"BL","Z_12721":"BL","Z_278":"ML","Z_634":"ML"}; // Añadimos los destinos (agrupados por la primera letra) var DESTINOS_AUTOCOMPLETER = null; if( typeof(PAISES_AUTOCOMPLETER)!='undefined' && TIPO_CABECERA_AGENCIA=='Vuelo+Hotel' ){ $.each(PAISES_AUTOCOMPLETER, function(iPais,pais){ if( pais.destinos && pais.destinos.length ){ $.each(pais.destinos, function(iDestino, destino){ if( !DESTINOS_AUTOCOMPLETER )DESTINOS_AUTOCOMPLETER = {}; var primeraLetra = destino.nombre[0].toLowerCase(); if( !DESTINOS_AUTOCOMPLETER[primeraLetra] )DESTINOS_AUTOCOMPLETER[primeraLetra] = []; DESTINOS_AUTOCOMPLETER[primeraLetra].push(destino); }); } }); } /** * Autocompleter de los inputs para selecionar las aerolíneas preferídas * @param DOMobject input Input que se esta utilizando para el autocompleter */ function autocompleterIATA(event, input){ if( input ){ // Limpiamos el id seleccionado $( '#'+ (($(input).attr('id')).replace('_name','_value')) ).val(''); var comprobarKey=false; // Obtenemos el listado con el que tenemos que generar el autocompleter var DATOS_AUTOCOMPLETER = null; var tipoInput = input.id.split('_')[0]; var anadirPais = true; switch( tipoInput ){ case "aer": DATOS_AUTOCOMPLETER=IATA_AEROPUERTO; comprobarKey=false; comprobarKey = true; break; case "aerolinea": anadirPais = false; DATOS_AUTOCOMPLETER=IATA_AEROLINEA; break; case "residente": DATOS_AUTOCOMPLETER=CODE_RESIDENTE; break; }; if(!DATOS_AUTOCOMPLETER)return false; // Ponemos el input donde vamos a cargar el código IATA de la aerolínea vacío (para que no cargue un código anterior o incorrecto) if( inputIATA=document.getElementById(input.id.replace('_name','_value')) )inputIATA.value = ''; // Si hemos encontrado alguna aerolínea var div = document.getElementById('autocompleter'+input.id); var keyPress=event.which?event.which:event.keyCode; if(div)focus = div.getElementsByClassName('focus'); switch( keyPress ){ case 40: // keydown (pasar al siguiente elemento del listado del autocompleter) if(div){ if( focus && focus[0] ){ if( siguiente=focus[0].nextSibling )siguiente.className += " focus"; focus[0].className = focus[0].className.replace(' focus',''); }else{ div.firstChild.firstChild.className += " focus"; } } break; case 38: // keyup (pasar al anterior elemento del listado del autocompleter) if(div){ if( focus && focus[0] ){ var elemFocus = focus[0]; if( anterior=focus[0].previousSibling )anterior.className += " focus"; focus[1].className = focus[1].className.replace(' focus',''); }else{ div.firstChild.lastChild.className += " focus"; } } break; case 9: // tab (seleccionar el elemento actual) case 13: // enter if( focus && focus[0] )$(focus[0]).find('span').click(); // Si es enter y estamos en el origen --> ponemos el foco en el input de destino if( keyPress==13 && input.id=='aer_origen_name'){ $('#aer_destino_name').focus(); $('#aer_destino_name').select(); } break; default: var idInput = input.id; var buscar = normalize(input.value.toLowerCase()); var keyBuscar = buscar.toUpperCase(); var encontrados = []; var encontradosAeropuerto = []; var encontradosPaises = []; var encontradosPuertos = []; // Buscamos las aerolineas que contiene ese nombre for(var iDato in DATOS_AUTOCOMPLETER){ if(DATOS_AUTOCOMPLETER[iDato]['name']){ var iata = (getUnique(DATOS_AUTOCOMPLETER[iDato]['value'])).join(','); var vDatos=DATOS_AUTOCOMPLETER[iDato]['name']; if( TIPO_CABECERA_AGENCIA=="Transfer" && DATOS_AUTOCOMPLETER[iDato]['grupo']==1 )continue; var nDatos=vDatos.length; for(var iName=0; iName la cargamos if( name==buscar ){ if( (input=document.getElementById(idInput.replace('_name','_value'))) && input.value!=iata){ clickAutocompleterIATA(input.id, vDatos[iName], iata); } encontradosAeropuerto = []; }else if( ((ini=name.indexOf(buscar))!=-1) || (comprobarKey && (iata.indexOf(keyBuscar)!=-1)) ){ var iataOrig = iata; var vIata = iata.split('_'); iata = vIata[0]; var encontradoIata = buscar==iata.toLowerCase(); var nombreAeropuerto = vDatos[iName]; if( encontradoIata )nombreAeropuerto = nombreAeropuerto.replace(iata, ''+iata+''); var aeroEncontrado = { 'IATA': iata, 'nombre': nombreAeropuerto, 'nombreNor': name, 'ini': ini, 'otrosAeropuertos': null }; if( IATA_AEROPUERTO[iata].aeropuertosDestino && IATA_AEROPUERTO[iata].aeropuertosDestino.length ){ aeroEncontrado.otrosAeropuertos = IATA_AEROPUERTO[iata].aeropuertosDestino; } if( encontradoIata ){ if( iataOrig==iata ){ encontradosAeropuerto.unshift(aeroEncontrado); }else if( encontradosAeropuerto[0] && encontradosAeropuerto[0].IATA==iata ){ // Los alternativos los insertamos despues del original encontradosAeropuerto.splice(1,0,aeroEncontrado); } }else encontradosAeropuerto.push(aeroEncontrado); } } } } // Comprobamos si hay destinos con la primera letra del buscador if( DESTINOS_AUTOCOMPLETER && DESTINOS_AUTOCOMPLETER[buscar[0]] && DESTINOS_AUTOCOMPLETER[buscar[0]].length && encontradosAeropuerto.length<10 ){ var destinosAeropuertos = DESTINOS_AUTOCOMPLETER[buscar[0]]; for(var iDato in destinosAeropuertos){ if( destinosAeropuertos[iDato]['nombre'] ){ var name = normalize( destinosAeropuertos[iDato]['nombre'].toLowerCase() ); // Obtenemos el IATA o idZona var hayIata = false; if( destinosAeropuertos[iDato]['aeropuertos'] && destinosAeropuertos[iDato]['aeropuertos'].length==1){ iata = destinosAeropuertos[iDato]['aeropuertos'][0]; hayIata = true; }else iata = (destinosAeropuertos[iDato]['IDZona'].indexOf('Z_')==-1?'Z_':'')+ destinosAeropuertos[iDato]['IDZona']; // Comprobamos que el aeropuerto no este ya añadido añadido var anadido = false; for(var iEnc=0; iEnc la cargamos if( name==buscar ){ if( (input=document.getElementById(idInput.replace('_name','_value'))) && input.value!=iata){ clickAutocompleterIATA(input.id, destinosAeropuertos[iDato]['nombre'], iata); } encontradosAeropuerto = []; }else if( ((ini=name.indexOf(buscar))!=-1) || (comprobarKey && (iata.indexOf(keyBuscar)!=-1)) ){ encontradosAeropuerto.push({ 'IATA': iata, 'nombre': capitalizeAll(destinosAeropuertos[iDato]['nombre']), 'nombreNor': name, 'ini': ini }); } } } } // PAISES if( anadirPais && typeof(PAISES_AUTOCOMPLETER)!='undefined' ){ for(var iPais in PAISES_AUTOCOMPLETER){ var pais = PAISES_AUTOCOMPLETER[iPais]; if( pais && pais.aeropuertos && getLengthObject(pais.aeropuertos) ){ var name = normalize( pais.nombre.toLowerCase() ); // Si ha escrito el nombre completo de la aerolinea --> la cargamos if( (ini=name.indexOf(buscar))!=-1 ){ encontradosPaises.push({ 'tipo': 'pais', 'id': iPais, 'nombre': pais.nombre, 'nombreNor': name, 'ini': ini }); } } if( encontradosPaises.length>=5 )break; } } // PUERTOS if( TIPO_CABECERA_AGENCIA=="Transfer" && typeof(PUERTOS)!='undefined' ){ for(var iPuerto in PUERTOS){ var puerto = PUERTOS[iPuerto]; if( puerto ){ var name = normalize( puerto.name.toLowerCase() ); // Si ha escrito el nombre completo de la aerolinea --> la cargamos if( (ini=name.indexOf(buscar))!=-1 ){ encontradosPuertos.push({ 'tipo': 'puerto', 'id': iPuerto, 'nombre': puerto.name, 'nombreNor': name, 'ini': ini }); } } if( encontradosPuertos.length>=5 )break; } } var encontrados = []; if( encontradosPaises.length>0 ){ encontrados = encontrados.concat(encontradosPaises); } if( encontradosAeropuerto.length>10 ){ encontrados = encontrados.concat( encontradosAeropuerto.slice(0,10-encontradosAeropuerto.length) ); }else{ encontrados = encontrados.concat( encontradosAeropuerto ); } if( encontradosPuertos.length>0 ){ encontrados = encontrados.concat(encontradosPuertos); } // Si hemos encontrado solo un resultado por el IATA ---> lo seleccionamos automáticamente if( comprobarKey && encontrados.length==1 && encontrados[0].IATA==keyBuscar ){ // Si no esta establecido el código IATA del aeropuerto --> lo establecemos name=encontrados[0].nombre; iata=encontrados[0].IATA; name = name.replace("",""); name = name.replace("",""); input.value = name; if( (input=document.getElementById(idInput.replace('_name','_value'))) && input.value!=iata){ clickAutocompleterIATA(input.id, name, iata); } encontrados = []; } // Si no hemos encontrado resultados o no hay ningun texto a buscar if( encontrados.length>0 && buscar!=""){ // Si no esta el listado del autocompleter --> lo creamos if( !div ){ div = document.createElement("div") div.id = 'autocompleter'+input.id; div.className = 'autocompleter'; div.style.width = (input.offsetWidth-2) + "px"; div.style.position = "absolute"; input.parentNode.appendChild(div); } // Listado de resultados var iniEllipsis = 30; var htmlOpcionesFinal = ''; var html = '"; div.innerHTML = html; }else if(div){ div.parentNode.removeChild(div); } break; } } } /** * Función que pone el foco sobre un elemento del listado del autocompleter * @param DOMobject li Elemento del listado donde tenemos que poner el foco * @param string idList Id del listado del autocompleter */ function focusAutocompleterIATA( li, idList ){ // Quitamos el focus del elemento que lo tuviera if( div=document.getElementById(idList) ){ var focus = div.getElementsByClassName('focus'); for(var i=0; i",""); nombre = nombre.replace("",""); // Cargamos el nombre de la aerolínea if( input=document.getElementById(idInput) )input.value = nombre; // Cargamos el código IATA de la aerolínea if( input=document.getElementById(idInput.replace('_name','_value')) )input.value = iata; // Eliminamos el listado del autocompleter if( div=document.getElementById('autocompleter'+idInput) )div.parentNode.removeChild(div); if(IDMinorista !== "17" && (TIPO_CABECERA_AGENCIA=='Vuelo+Hotel' || TIPO_CABECERA_AGENCIA=='Vuelos'))comprobarResidente(); $('#cargandoBackground').remove(); $('#cargandoContent').remove(); } /** * Funcion que se ejecuta al hacer el blur del input con el autocompleter * @param DOMobject input Input del autocompleter */ function blurAutocompleterIATA(input){ // Cerramos el autocompleter (le damos un retardo pos si se tiene que ejecutar el evento on click de un elemento del listado) if( $('.ui-state-hover span').length>1 ) $('.ui-state-hover span').trigger('click'); else if(input)setTimeout( "blurAutocompleterIATAtimeout('"+ input.id +"');", 200); } /** * Funcion que cierra el autocompleter y comprueba que se ha cargado un código IATA correcto * @param string idInput Id del input que se esta autocompletando */ function blurAutocompleterIATAtimeout(idInput){ var inputVal = ($('#'+idInput).val()).toUpperCase(); if( $( '#'+ idInput.replace('_name','_value') ).val()=='' ){ // Buscamos si el IATA están en el listado de sugeridos var liIata = $('#autocompleter'+ idInput +' li span[iata="'+ inputVal +'"]'); if( liIata && liIata.length )$( liIata.first() ).click(); // Si hacemos click en el primero de los sugeridos else $( $('#autocompleter'+ idInput +' li span').first() ).click(); } // Cerramos el autocompleter // if(document.getElementById('autocompleter'+idInput))div.parentNode.removeChild(div); // Comprobamos que se ha cargado el código IATA if( (inputIATA=document.getElementById(idInput.replace('_name','_value'))) && inputIATA.value=="" )inputIATA.value = ""; } function comprobarResidente(){ var aeroOrigen = $("#aer_origen_value").val(); var aeroDestino = $("#aer_destino_value").val(); var destino='', zona=''; if( $("#txtDestino").val() ){ destino = $("#txtDestino_id").val(); zona = $("#list_id").val(); } var residentes = []; var IDPaisDestino="", IDZonaDestino=""; if( aeroDestino && IATA_AEROPUERTO[aeroDestino])IDPaisDestino=IATA_AEROPUERTO[aeroDestino].pais[0]; else if( AEROPUERTOS_SUGERIDOS.length ){ for(var iAeroSug in AEROPUERTOS_SUGERIDOS ){ IDPaisDestino = AEROPUERTOS_SUGERIDOS[iAeroSug].pais; IDZonaDestino = AEROPUERTOS_SUGERIDOS[iAeroSug].IDZona; } } if( IDZonaDestino && (IDZonaDestino).toString().search("Z_")==-1 ){ IDZonaDestino = "Z_"+IDZonaDestino; } //El descuento de residente solo es para destino nacionales if( AEROPUERTO_RESIDENTE[aeroOrigen] && IDPaisDestino=="España" )residentes.push( AEROPUERTO_RESIDENTE[aeroOrigen] ); if( AEROPUERTO_RESIDENTE[aeroDestino] )residentes.push( AEROPUERTO_RESIDENTE[aeroDestino] ); if( aeroDestino=='' && ZONA_RESIDENTE[destino] )residentes.push( ZONA_RESIDENTE[destino] ); if( aeroDestino=='' && ZONA_RESIDENTE[zona] )residentes.push( ZONA_RESIDENTE[zona] ); if( aeroDestino=='' && IDZonaDestino && ZONA_RESIDENTE[IDZonaDestino] )residentes.push( ZONA_RESIDENTE[IDZonaDestino] ); residentes = array_unique(residentes); var htmlOptions=''; if( residentes.length==0 )$('#divResidente').css('display','none'); else{ $('#divResidente').css('display','block'); for(var i=0; i'+ CODE_RESIDENTE[residentes[i]].name +''; } } $('#selectResidente').html(htmlOptions); establecerTabIndex("frmBuscar"); } function getUnique(arr){ var u={}, a=[]; for(var i=0, l=arr.length; i < l; ++i){ if(u.hasOwnProperty(arr[i]))continue; a.push(arr[i]); u[arr[i]] = 1; } return a; } var CACHE_NORMALIZE = {}; function normalize(str){ if( typeof(str)=='undefined' || !str)return ''; if( CACHE_NORMALIZE[str] )return CACHE_NORMALIZE[str]; var from = "ÃÀÁÄÂÈÉËÊÌÍÏÎÒÓÖÔÙÚÜÛãàáäâèéëêìíïîòóöôùúüûÇç", to = "AAAAAEEEEIIIIOOOOUUUUaaaaaeeeeiiiioooouuuucc", mapping = {}; for(var i=0, j=from.length; i' + '' + '' + ''; $("html").append(html); } }