//<![CDATA[
	var mapmini;
	var geocoder;
	var zoomLevel;	
	var markerCiudad;
	var iconoAeropuerto;
	var iconoAeropuertoOC;	
	var iconoCiudad;	
	
	var listaMarkersAeropsACTIVOS;
	
	//Variables globales que indican la seleccion
	var continenteSel;
	var nomContinenteSel;
	
	var paisSel;
	var nomPaisSel;	
	
	var ciudadSel;
	var nomCiudadSel;
	
	var aeropuertoSel;
	var iataSel;
	var seleccionAerop;
	
	function marcaOpcion(idLista, id) {
		$$('#'+idLista+' li.marcado').each(function (li) {li.removeClassName('marcado')});
		$$('#'+idLista+' li[id="'+id+'"]').first().addClassName('marcado');
	}
	
    function load() {
		mapmini = new GMap2($("mapa"));		 		 		
		mapmini.setCenter(new GLatLng(0, 0), 1);
		mapmini.addControl(new GSmallMapControl());
		
		var mapControl = new GMapTypeControl();
		mapmini.addControl(mapControl);
		mapmini.setMapType(G_HYBRID_MAP);
		mapmini.enableScrollWheelZoom();                     
		mapmini.enableContinuousZoom();
		
		geocoder = new GClientGeocoder();
		
		listaMarkersAeropsACTIVOS=new Array();
		listaMarkersAeropsINACTIVOS=new Array();
		
		iconoAeropuerto=new GIcon(G_DEFAULT_ICON,"/images/iconos/aeropuerto.png");
		iconoAeropuertoOC=new GIcon(G_DEFAULT_ICON,"/images/iconos/aeropuertoactive.png");
		iconoAeropuertoOC.iconSize=new GSize(36,46);		
		iconoCiudad=new GIcon(G_DEFAULT_ICON,"/images/iconos/ciudad.png");
		iataSel = null;
		seleccionAerop = null;	 
    }

	function inicializaForm(){			
		$('critPais').disabled=true;
		$('critCiudad').disabled=true;
		$('letraCiudad').disabled=true;
		$('letraCiudad').value='A';
		$('critPais').value='';
		$('critCiudad').value='';	
		$('aeropuertoSeleccionado').innerHTML='';
		continenteSel='';
		
		$('listadoAeropuerto').innerHTML='';
		$('listadoCiudad').innerHTML='';	
		mapmini.clearOverlays();
	}
	
	function esperaBuscado(nombreDiv,nfils){
		$(nombreDiv).innerHTML='';
		for(i=0;i<nfils;i++){
			$(nombreDiv).innerHTML+='<li>&nbsp;</li>';
		}
		$(nombreDiv).innerHTML+='<li><center><img src="/images/modalbox/spinner.gif" alt="Buscando..." align="middle" style="margin: -3px 0 0 0;" ></center></li>';
	}
	
	function filtraPais(){		
		$('critCiudad').disabled=true;
		$('letraCiudad').disabled=true;		
		$('letraCiudad').value='A';
		$('critCiudad').value='';	
		$('aeropuertoSeleccionado').innerHTML='';
		
		$('listadoAeropuerto').innerHTML='';
		$('listadoCiudad').innerHTML='';	
		mapmini.clearOverlays();
		buscaPais(continenteSel,nomContinenteSel,$F('critPais'));
	}
	
	function buscaPais(continente,nomCont,crit){
		marcaOpcion('listadoContinente', continente);		
		continenteSel=continente;
		nomContinenteSel=nomCont;
			
		var url = '/vuelos/buscadoravanzado/busca.php?clave='+continente+'&criterio='+crit+'&paso=0';
      
	    var myAjax = new Ajax.Request(url, {
    	    onComplete: function(transport){			
					$('listadoPais').innerHTML=transport.responseText;		
					$('critPais').disabled = false;		
				},
			onLoading: esperaBuscado('listadoPais',2)
	    });			
		zoomLevel=3;
		geocoder.getLocations(nomCont,centraMapaEn);		
	}
	
	function filtraCiudad(){
		//cambiamos la letra del combo		
		$('letraCiudad').value=$F('critCiudad').substring(0,1).toUpperCase();
		buscaCiudad(paisSel,nomPaisSel,$F('critCiudad'));
	}
	
	function cambiaLetra(){
		$('critCiudad').value='';
		buscaCiudad(paisSel,nomPaisSel,'');
	}
	
	function buscaCiudad(codPais,nomPais,crit){
		marcaOpcion('listadoPais', codPais);
		paisSel=codPais;
		nomPaisSel=nomPais;
		
		if (crit==''){
			crit=$F('letraCiudad');
		}
		
		$('listadoAeropuerto').innerHTML='';
		$('aeropuertoSeleccionado').innerHTML='';
		
		var url= '/vuelos/buscadoravanzado/busca.php?clave='+codPais+'&criterio='+crit+'&paso=1';
      
	    var myAjax = new Ajax.Request(url, {
    	    onComplete: function(transport){			
					$('listadoCiudad').innerHTML=transport.responseText;
					$('critCiudad').disabled = false;				
					$('letraCiudad').disabled = false;					
				},
			onLoading: esperaBuscado('listadoCiudad',1)
	    });		
		zoomLevel=5;
		geocoder.getLocations(nomPais,centraMapaEn);		
	}
	
	function marcaCiudad(nombreCiudad, lati, longi){
		var latlng = new GLatLng(lati,longi);
		
		mapmini.clearOverlays();
		markerCiudad=new GMarker(latlng,iconoCiudad);
        mapmini.addOverlay(markerCiudad);
		GEvent.addListener(markerCiudad, "click", function() {
            markerCiudad.openInfoWindowHtml("<span>Ciudad: <b>" + nombreCiudad + "</b></span><br><span>Latitud: <b>" + latitud + "</b></span><br><span>Longitud: <b>" + longitud + "</b></span>");
          });
          
        mapmini.setCenter(latlng);
	}
	
	function buscaAeropuerto(codCiudad,nomCiudad){
		marcaOpcion('listadoCiudad', codCiudad);
		$('aeropuertoSeleccionado').innerHTML='';
		var url= '/vuelos/buscadoravanzado/busca.php?clave='+codCiudad+'&criterio=&paso=2';
		
	    var myAjax = new Ajax.Request(url, {
    	    onComplete: function(transport){
					parsearAeropuertos(transport.responseXML.documentElement);
				},
			onLoading: esperaBuscado('listadoAeropuerto',2)
	    });			
		zoomLevel=8;	
	}
	
	//parsea el XML con la info de aeropuertos
	function parsearAeropuertos(xml){
		//iteramos para cada vuelo	
		$('listadoAeropuerto').innerHTML='<ul>';					
        for (i = 0; i < xml.getElementsByTagName('AEROPUERTO').length; i++) {
			var item = xml.getElementsByTagName('AEROPUERTO')[i];
			var nombre=item.getElementsByTagName('NOMBRE')[0].firstChild.data;

			var latitud=item.getElementsByTagName('LATITUD')[0].firstChild.data;
			var longitud=item.getElementsByTagName('LONGITUD')[0].firstChild.data;
			var iata=item.getElementsByTagName('IATA')[0].firstChild.data;
			var ciudad=item.getElementsByTagName('CIUDAD')[0].firstChild.data;
			var pais=item.getElementsByTagName('PAIS')[0].firstChild.data;
			var distancia=Math.round(item.getElementsByTagName('DISTANCIA')[0].firstChild.data);	
			
			marcaAeropuerto(nombre,ciudad,iata,latitud,longitud,distancia,i);
			//generamos el aeropuerto en la tabla
			$('listadoAeropuerto').innerHTML+='<li id="'+iata+'"><a title=\"Distancia: "'+distancia+'" km\" href=\"#\" onclick=\"javascript:seleccionaAeropuerto(\''+nombre.replace("'", "\\'")+'\', \''+ciudad.replace("'", "\\'")+'\', \''+iata+'\','+latitud+', '+longitud+','+i+');\" ><span>'+nombre+'</span>&nbsp;<span>('+iata+')</span>&nbsp;</a></li>';			
		}
		$('listadoAeropuerto').innerHTML+='</ul>';
	}
	
	function marcaAeropuerto(nombreAeropuerto,ciudad, iata, lati, longi, distancia,indice){
		var latlng = new GLatLng(lati,longi);
		var htmlGlobo= "<span>Aeropuerto: <b>" + nombreAeropuerto + " ("+iata+")</b></span><br><span>Ciudad: <b>"+ciudad+"</b></span><br><span>Distancia a ciudad seleccionada: <b>"+distancia+" kms</b></span><br><span>Latitud: <b>"+lati+"</b></span><br><span>Longitud: <b>"+longi+"</b></span>";
		var markerA=new GMarker(latlng,iconoAeropuerto);
		
	    mapmini.addOverlay(markerA);
		GEvent.addListener(markerA, "click", function() {
            markerA.openInfoWindowHtml(htmlGlobo);
			seleccionaAeropuerto(nombreAeropuerto,ciudad, iata, lati, longi,indice);			
          });
		  
		var markerI=new GMarker(latlng,iconoAeropuertoOC);
        mapmini.addOverlay(markerI);
		GEvent.addListener(markerI, "click", function() {
            markerI.openInfoWindowHtml(htmlGlobo);
			seleccionaAeropuerto(nombreAeropuerto,ciudad, iata, lati, longi,indice);
          });  
		markerI.hide();
		 
		listaMarkersAeropsACTIVOS[indice]=markerA;
		listaMarkersAeropsINACTIVOS[indice]=markerI;
	}
	
	function seleccionaAeropuerto(nombreAeropuerto,ciudad, iata, lati, longi, codIco){
		marcaOpcion('listadoAeropuerto', iata);
		$('aeropuertoSeleccionado').innerHTML=nombreAeropuerto+', '+ciudad+' ('+iata+')';
		seleccionAerop = nombreAeropuerto+', '+ciudad+' ('+iata+')';
		iataSel = iata;
        
		var latlng = new GLatLng(lati,longi);
		mapmini.panTo(latlng, zoomLevel);		
		
		for(i=0;i<listaMarkersAeropsACTIVOS.length;i++){
			listaMarkersAeropsACTIVOS[i].show();
			listaMarkersAeropsINACTIVOS[i].hide();	
		}
		listaMarkersAeropsACTIVOS[codIco].hide();
		listaMarkersAeropsINACTIVOS[codIco].show();		  
	}
	
	function centraMapaEn(response) {
      if (!response || response.Status.code == 200) {
        place = response.Placemark[0];
        point = new GLatLng(place.Point.coordinates[1],
                            place.Point.coordinates[0]);
	  	mapmini.setCenter(point, zoomLevel);      
	  }
    }
	
	function seleccionar(tipo) {
		if (iataSel != null || seleccionAerop != null) {
			if (tipo == "origen") {
				Try.these(function() { $('hidOrigen').value = iataSel}, function() { $('origenHidMini').value = iataSel});
				Try.these(function() { $('txtOrigen').value = seleccionAerop}, function() { $('txtOrigenMini').value = seleccionAerop});
			}
			if (tipo == "destino") {
				Try.these(function() { $('hidDestino').value = iataSel}, function() { $('destinoHidMini').value = iataSel});
				Try.these(function() { $('txtDestino').value = seleccionAerop}, function() { $('txtDestinoMini').value = seleccionAerop});
			}
			if (tipo == "fna_origen") {
				Try.these( function() { $('fna_iataOrigen').value = iataSel});
				Try.these( function() { $('fna_textoOrigen').value = seleccionAerop});
			}
			if (tipo == "fna_destino") {
				Try.these( function() { $('fna_iataDestino').value = iataSel});
				Try.these( function() { $('fna_textoDestino').value = seleccionAerop});
			}
			Modalbox.hide();
		}
		else {
			alert("Debe seleccionar un aeropuerto");
		}				
	}

//]]> 
	
	
