/*--------------------------------Definido, diseñado y creado por Rubén Martín Guerrero 15/06/2008------------------------------*/


var xmlcomunidad_provincia = null;
var xmllocalidad = null;
var xmlorigenes = null;

/*----------------------------------------Funciones Destino Avión + Hotel--------------------------------------------------------*/

function pinta_comunidades_aeropuerto (BuscVueloHotel,texto_inicio,rutaxml){//Pinta comunidades o paises cuyo campo iata sea ='SI'

//Bloque de codigo que llama a funcion para generar objeto ajax  y recupera la informacion del xml indicado	
	var aj=ajax();
	
    if(!aj){
        alert('error');
        return;
    }

    aj.open('get',rutaxml,false);

	aj.send(''); 

    xmlcomunidad_provincia=aj.responseXML.documentElement;

//Fin bloque codigo ajax

	var comunidades= xmlcomunidad_provincia.getElementsByTagName('comunidad');
	var long_com = comunidades.length;
	var i=0;
	var j=1;

	BuscVueloHotel.options[0] = new Option(texto_inicio,'')

	while (i<long_com)
	{
		if(comunidades[i].getAttribute('iata')=='SI')
		{
			BuscVueloHotel.options[j]=new Option(comunidades[i].getAttribute('nombre_comunidad'),comunidades[i].getAttribute('cod_comunidad'));
			j=j+1;
		}
		i=i+1;
	}

}

function pinta_provincias_por_pais (BuscVueloHotel,texto_inicio,rutaxml,pais){//Pinta provincias dependiendo del pais o comunidad que se le pase

//Bloque de codigo que llama a funcion para generar objeto ajax  y recupera la informacion del xml indicado	
	var aj=ajax();
	
    if(!aj){
        alert('error');
        return;
    }

    aj.open('get',rutaxml,false);

	aj.send(''); 

    xmlcomunidad_provincia=aj.responseXML.documentElement;

//Fin bloque codigo ajax


	var provincias = xmlcomunidad_provincia.getElementsByTagName('provincia');
	var long_pro = provincias.length;

	var i=0;
	var j=1;
	
	BuscVueloHotel.options[0] = new Option(texto_inicio,'')

	while (i<long_pro)
	{
		if(provincias[i].getAttribute('cod_comunidad')== pais && provincias[i].getAttribute('iata')=='SI')
		{
			BuscVueloHotel.options[j]= new Option(provincias[i].getAttribute('nombre_provincia'),provincias[i].getAttribute('cod_provincia'));
			j=j+1;
		}
		i=i+1;
	}

}

function pinta_provincias (BuscVueloHotel,texto_inicio,rutaxml){//para pintar el primer select de la parte internacional

//Bloque de codigo que llama a funcion para generar objeto ajax  y recupera la informacion del xml indicado	
	var aj=ajax();
	
    if(!aj){
        alert('error');
        return;
    }

    aj.open('get',rutaxml,false);

	aj.send(''); 

    xmlcomunidad_provincia=aj.responseXML.documentElement;

//Fin bloque codigo ajax


	var areas = new Array ();
	var pos_array = 0;
	var provincias= xmlcomunidad_provincia.getElementsByTagName('provincia');
	var long_pro = provincias.length;
	var i=0;

	BuscVueloHotel.options[0] = new Option(texto_inicio,'')

	for (i=0; i<long_pro; i++)
	{		
		areas[pos_array]=provincias[i].getAttribute('nombre_provincia') + "-" + provincias[i].getAttribute('cod_provincia');
		pos_array=pos_array+1;
	}

	areas = ordenaArray (areas);
	pintaArea (areas,BuscVueloHotel);	
}


function pinta_aeropuertos (BuscVueloHotel,cod_comunidad,texto_inicio,rutaxml){//Pinta provincias o ciudad teniendo encuenta el pais y si tiene aeropuerto

//Bloque de codigo que llama a funcion para generar objeto ajax  y recupera la informacion del xml indicado	
	var aj=ajax();
	
    if(!aj){
        alert('error');
        return;
    }

    aj.open('get',rutaxml,false);

	aj.send(''); 

    xmlcomunidad_provincia=aj.responseXML.documentElement;

//Fin bloque codigo ajax


	borracombo(BuscVueloHotel);
	var areas = new Array ();
	var pos_array = 0;
	var provincias= xmlcomunidad_provincia.getElementsByTagName('provincia');
	var long_pro = provincias.length;
	var i=0;

	BuscVueloHotel.options[0] = new Option(texto_inicio,'')

	for (i=0; i<long_pro; i++)
	{
		if(provincias[i].getAttribute('cod_comunidad')==cod_comunidad && provincias[i].getAttribute('iata')=='SI')
		{
			areas[pos_array]=provincias[i].getAttribute('nombre_provincia') + "-" + provincias[i].getAttribute('cod_provincia');
			pos_array=pos_array+1;
		}
	}
	areas = ordenaArray (areas);
	pintaArea (areas,BuscVueloHotel);	

}

function pintaArea (areas,BuscVueloHotel){
	var long_area = areas.length;
	var dato;

	for (i=0; i<long_area; i++)	{
		dato = areas[i].split ("-")
		BuscVueloHotel.options[i+1]=new Option(dato[0],dato[1]);
	}
}

function pinta_localidad_avion_hotel (BuscVueloHotel,cod_provincia,texto_inicio,texto_fin,ruta_localidades){
	
	borracombo(BuscVueloHotel);
	var encontrado=0;
	var folletos="";
	var ruta_xml=ruta_localidades + cod_provincia + ".xml";

//Bloque de codigo que llama a funcion para generar objeto ajax  y recupera la informacion del xml indicado	
	var aj=ajax();
	
    if(!aj){
        alert('error');
        return;
    }

    aj.open('get',ruta_xml,false);

	aj.send(''); 

    xmllocalidad=aj.responseXML.documentElement;

//Fin bloque codigo ajax


	var localidades= xmllocalidad.getElementsByTagName('localidad');
	var long_loc = localidades.length;
	var i=0;
	var j=1;

	BuscVueloHotel.options[0] = new Option(texto_inicio,'')

	for (i=0; i<long_loc; i++)
	{
		if(localidades[i].getAttribute('vendible')=='SI')
		{
			BuscVueloHotel.options[j]=new Option(localidades[i].getAttribute('nombre_localidad'),localidades[i].getAttribute('cod'));
			j=j+1;
		}
	}
	BuscVueloHotel.options[j] = new Option(texto_fin,'T')
}


function pinta_origenes (BuscVueloHotel,rutaxml){

//Bloque de codigo que llama a funcion para generar objeto ajax  y recupera la informacion del xml indicado	
	var aj=ajax();
	
    if(!aj){
        alert('error');
        return;
    }

    aj.open('get',rutaxml,false);

	aj.send(''); 

    xmlorigenes=aj.responseXML.documentElement;

//Fin bloque codigo ajax


	var areas = new Array ();
	var pos_array = 0;
	var origenes= xmlorigenes.getElementsByTagName('provincia');
	var long = origenes.length;
	var i=0;

	for (i=0; i<long; i++)
	{	
		if(origenes[i].getAttribute('iata')=='SI')
		{	
			areas[pos_array]=origenes[i].getAttribute('nombre_provincia') + "-" + origenes[i].getAttribute('cod_provincia');
			pos_array=pos_array+1;
		}
	}

	areas = ordenaArray (areas);
	pintaorigenes (areas,BuscVueloHotel);	
}

function pintaorigenes (areas,BuscVueloHotel){

	var long_area = areas.length;
	var dato;

	for (i=0; i<long_area; i++)	{
		dato = areas[i].split ("-");
		BuscVueloHotel.options[i]=new Option(dato[0],dato[1]);
		if(dato[1]=="MEX")
		{
			BuscVueloHotel.options[i].selected='selected';			
		}
	}
}
/*----------------------------------------------------Funciones Neutras-----------------------------------------------------------*/

function recupera_comunidad_pais(provincia_seleccionada)//al acceder directamente a pintar las provincias, cuando estas cambiam es necesario recuperar su comunidad
{
	var provincias = xmlcomunidad_provincia.getElementsByTagName('provincia');
	var long_pro = provincias.length;
	var i=0;
	var encontrado=0;

	while(i<=long_pro && encontrado==0)
	{
		if(provincias[i].getAttribute('cod_provincia')==provincia_seleccionada)
		{
			document.BuscVueloHotel.comunidad_pais.value=provincias[i].getAttribute('cod_comunidad');
			encontrado=1;
		}
		i++;
	}
}

function inicializa_destino(BuscVueloHotel)
{
	BuscVueloHotel.selectedIndex=0;
}

function borracombo (BuscVueloHotel){
	var elemencombo = BuscVueloHotel.length;
	for(i=0;i<elemencombo;i++){
		BuscVueloHotel.options[0]=null;
	}
}

function ordenaArray (areas){
	var cambio;
	var aux;
	var i = 0;

	while(i < areas.length && cambio!=0){
		cambio=0;
		for(j=0;j<areas.length-1;j++){
			if(areas[j]>areas[j+1]){
				aux=areas[j];
				areas[j]=areas[j+1];	
				areas[j+1]=aux;
				cambio=1;
			}
		}
		i++;	
	}
	return areas;
}
