/*--------------------------------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 Sólo Hotel------------------------------------------------------*/

function pinta_comunidades (BuscHotel,texto_inicio,rutaxml){//Pinta comunidades o paises sin ningun tipo de control

//Bloque de codigo que llama a funcion para generar objeto ajax  y recupera la informacion del xml indicado	
	var aj=ajax(rutaxml);

	if (navigator.appName != 'Microsoft Internet Explorer' )
	{
    	if(!aj)
		{
        	alert('error');
			return;
    	}
    	aj.open('get',rutaxml,false);
    	aj.onreadystatechange=function(){
        if(aj.readyState==4){
            xmlcomunidad_provincia=aj.responseXML;
        }
         
    	}
    	aj.send(null);
	}
	else
	{
		xmlcomunidad_provincia=aj;
	}

//Fin bloque codigo ajax

	var comunidades= xmlcomunidad_provincia.getElementsByTagName('comunidad');
	var long_com = comunidades.length;
	var i=0;

	BuscHotel.options[0] = new Option(texto_inicio,'')

	for (i=0; i<long_com; i++)
	{
		BuscHotel.options[i+1]=new Option(comunidades[i].getAttribute('nombre_comunidad'),comunidades[i].getAttribute('cod_comunidad'));
	}

}


function pinta_provincias_com (BuscHotel,cod_comunidad,texto_inicio,rutaxml){//Pinta provincias o ciudad teniendo encuenta el pais
//Bloque de codigo que llama a funcion para generar objeto ajax  y recupera la informacion del xml indicado	
	borracombo(BuscHotel);
	var aj=ajax(rutaxml);

	if (navigator.appName != 'Microsoft Internet Explorer' )
	{
    	if(!aj)
		{
        	alert('error');
			return;
    	}
   		aj.open('get',rutaxml,false);
    	aj.onreadystatechange=function(){
        if(aj.readyState==4){
            xmlcomunidad_provincia=aj.responseXML;
        }
         
    	}
    	aj.send(null);
	}
	else
	{
		xmlcomunidad_provincia=aj;
	}

//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;

	BuscHotel.options[0] = new Option(texto_inicio,'')

	for (i=0; i<long_pro; i++)
	{
		if(provincias[i].getAttribute('cod_comunidad')==cod_comunidad)
		{
//alert(provincias[i].getAttribute('cod_comunidad'));
			areas[pos_array]=provincias[i].getAttribute('nom_estacion') + "-" + provincias[i].getAttribute('cod_estacion');
			pos_array=pos_array+1;
		}
	}
	areas = ordenaArray (areas);
	pintaArea (areas,BuscHotel);	

}

function pinta_provincias (BuscHotel,texto_inicio,rutaxml){

//Bloque de codigo que llama a funcion para generar objeto ajax  y recupera la informacion del xml indicado	
	var aj=ajax(rutaxml);

	if (navigator.appName != 'Microsoft Internet Explorer' )
	{
    	if(!aj)
		{
        	alert('error');
			return;
    	}
    	aj.open('get',rutaxml,false);
    	aj.onreadystatechange=function(){
        if(aj.readyState==4){
            xmlcomunidad_provincia=aj.responseXML;
        }
         
    	}
    	aj.send(null);
	}
	else
	{
		xmlcomunidad_provincia=aj;
	}

//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;

	BuscHotel.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,BuscHotel);	
}

function pintaArea (areas,BuscHotel){
	var long_area = areas.length;
	var dato;

	for (i=0; i<long_area; i++)	{
		dato = areas[i].split ("-");
		BuscHotel.options[i+1]=new Option(dato[0],dato[1]);
//alert(BuscHotel.options[i+1].value);
	}
}

function pinta_localidad (BuscHotel,cod_provincia,texto_inicio,ruta_localidades){
	
	borracombo(BuscHotel);
	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(ruta_xml);

	if (navigator.appName != 'Microsoft Internet Explorer' )
	{
    	if(!aj)
		{
        	alert('error');
			return;
    	}
    	aj.open('get',ruta_xml,false);
    	aj.onreadystatechange=function(){
        if(aj.readyState==4){
            xmllocalidad=aj.responseXML;
        }
         
    	}
    	aj.send(null);
	}
	else
	{
		xmllocalidad=aj;
	}

//Fin bloque codigo ajax

	var localidades= xmllocalidad.getElementsByTagName('localidad');
	var long_loc = localidades.length;
	var i=0;
	var j=1;

	BuscHotel.options[0] = new Option(texto_inicio,'')

	for (i=0; i<long_loc; i++)
	{
		if(localidades[i].getAttribute('vendible')=='SI')
		{
			BuscHotel.options[j]=new Option(localidades[i].getAttribute('nombre_localidad'),localidades[i].getAttribute('cod'));
			if (encontrado != 0)
			{
				folletos += ',';
			}
			folletos += localidades[i].getAttribute('folleto');
			encontrado=1;
			j=j+1;
		}
	}
	if (encontrado != 0)
	pintaFolletos (folletos,document.BuscHotel.folletovalido)
}



function controlaZona (zona,BuscHotel){

	borracombo(BuscHotel);
	var localidades= xmllocalidad.getElementsByTagName('localidad');
	var long_loc = localidades.length;
	var i=0;

	for (i=0; i<long_loc; i++)
	{
		if(localidades[i].getAttribute('cod')==zona)
			pintaFolletos(localidades[i].getAttribute("folleto"),BuscHotel);
	}
}

function pintaFolletos (folletos,BuscHotel){

	var folleto = folletos.split(",");
	var tot_folletos = folleto.length;
	var folletos_pintados = new Array ();
	var cont_folleto;
	var cont_select = 1
	var encontrado;

	borracombo (BuscHotel);
	BuscHotel.options[0] = new Option("(Todos)","")

	for (i=0; i<tot_folletos;i++){
		if (folleto [i] != 'BH' && folleto [i] != 'FS'){
			cont_folleto = folletos_pintados.length;
			if (cont_folleto == 0){
				pintaNombreFolleto(BuscHotel,folleto[i],cont_select);
				cont_select++;
				folletos_pintados [cont_folleto] = folleto [i];
			}
			else
			{
				encontrado = 0;
				for (j=0;j<cont_folleto;j++){
					if (folleto[i] == folletos_pintados[j]) encontrado++
				}
				if (encontrado == 0){
					pintaNombreFolleto(BuscHotel,folleto[i],cont_select);
					cont_select++;
					folletos_pintados [cont_folleto] = folleto [i];	
				}
			}
		}
	}
}

function pintaNombreFolleto (BuscHotel,folleto,cont){
	switch (folleto){
		case "EM": 	BuscHotel.options[cont]=new Option("Urbano",folleto);	
					break;
		case "FM": 	BuscHotel.options[cont]=new Option("Hotel de Montaña",folleto);	
					break;
		case "FR": 	BuscHotel.options[cont]=new Option("Turismo Rural",folleto);	
					break;
		case "MC": 	BuscHotel.options[cont]=new Option("Hotel en la playa",folleto);	
					break;
		case "FP": 	BuscHotel.options[cont]=new Option("Parador",folleto);	
					break;
		case "PA": 	BuscHotel.options[cont]=new Option("Port Aventura",folleto);	
					break;
		case "IS": 	BuscHotel.options[cont]=new Option("Hotel en la playa",folleto);	
					break;
		case "II": 	BuscHotel.options[cont]=new Option("Islas",folleto);	
					break;
		case "PE": 	BuscHotel.options[cont]=new Option("Picos de Europa",folleto);	
					break;
		case "CP": 	BuscHotel.options[cont]=new Option("Hoteles con Encanto",folleto);	
					break;
		case "SB": 	BuscHotel.options[cont]=new Option("Salud y Belleza",folleto);	
					break;
		case "PA": 	BuscHotel.options[cont]=new Option("Port Aventura",folleto);	
					break;
		case "ED": 	BuscHotel.options[cont]=new Option("Disney",folleto);	
					break;
	}
}

/*----------------------------------------------------Funciones Neutras-----------------------------------------------------------*/

function recupera_comunidad_pais(provincia_seleccionada)//al acceder directamente a pintar las provincias, cuando estas cambiam es necesario recuperar su comunidad
{
alert("sdaasdasda");
	var provincias = xmlcomunidad_provincia.getElementsByTagName('provincia');
	var long_pro = provincias.length;
	var i=0;
	var encontrado=0;
alert (provincias.value);
	while(i<=long_pro && encontrado==0)
	{
		if(provincias[i].getAttribute('cod_provincia')==provincia_seleccionada)
		{
			document.frmDatos.comunidad.value=provincias[i].getAttribute('cod_comunidad');
			alert (document.frmDatos.comunidad.value);
			encontrado=1;
		}
		i++;
	}
}

function inicializa_destino(BuscHotel)
{
	BuscHotel.selectedIndex=0;
}

function borracombo (BuscHotel){
	var elemencombo = BuscHotel.length;
	for(i=0;i<elemencombo;i++){
		BuscHotel.options[0]=null;
	}
}

function ordenaArray (areas){
	var cambio;
	var aux;
	var i =0;
	var j=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;
}
