/**************************************************************
result.php by Milfson (milf@milfcz.com) 17.04.2004
Milfson added preselect(parameters...) to pre-populate dropdowns with default values.
Thanks for the code! - Brent.
***************************************************************/
//alert ("Carga fichero");
// constants
var noValue = '-99';
// default values
var IDProvincia = noValue;
var IDLocalidad = noValue;

//selects disabled true/false
var boolEnabled = true;

// globals
var curOption = new Array();
var isLoaded = new Array();


//Lo llama gestion/quevisitarl.php
function Buscar(){

	jsrsExecute( '/gestion/quevisitarl_rs.php', crearprovincia, 'Provincia');
}

function crearprovincia ( cadenap ){ 
	window.status = 'Creando Provincias...';
	fillList( 'provincia',cadenap );
}

function Buscarqv(provincia,localidad){
	IDProvincia = provincia;
	IDLocalidad = localidad;

	jsrsExecute( '/gestion/quevisitarl_rs.php', crearprovinciaqv, 'Provincia','');
}

function crearprovinciaqv ( cadenap ){ 
	window.status = 'Creando Provincias...';
	fillList( 'provinciaqv',cadenap );
	val = document.getElementById('provinciaqv').value;
	jsrsExecute( '/gestion/quevisitarl_rs.php', crearlocalidad, 'Localidad', val);
}

function provinciaqv_onChange(){
	var val = this.options[this.selectedIndex].value;
	IDProvincia = noValue;
	if(val == noValue){
		selectOption( this.name, curOption[this.name] )
	} else {
		curOption[this.name] = val;
		emptyList('localidad');
		window.status = 'Cargando Localidades...';
		jsrsExecute( '/gestion/quevisitarl_rs.php', crearlocalidad, 'Localidad',val);
	}
}

function crearlocalidad ( cadenal ){ 
	window.status = 'Creando Localidades...';
	fillList( 'localidad',cadenal );
}

//Lo llama gestion/quevisitarlalta.php
function AltaQueVisitarL(){
	IDProvincia = noValue;
	jsrsExecute( '/gestion/quevisitarl_rs.php', crearprovinciaL, 'ProvinciaL' );
}

function crearprovinciaL ( cadenap ){ 
	window.status = 'Creando Provincias...';
	fillList( 'provinciaL',cadenap );
	val = document.getElementById('provinciaL').value;
	jsrsExecute( '/gestion/quevisitarl_rs.php', crearlocalidadL, 'LocalidadL', val );
}

function provinciaL_onChange(){
	var val = this.options[this.selectedIndex].value;
	IDProvincia = noValue;
	if(val == noValue){
		selectOption( this.name, curOption[this.name] )
	} else {
		curOption[this.name] = val;
		window.status = 'Cargando Localidades...';
		jsrsExecute( '/gestion/quevisitarl_rs.php', crearlocalidadL, 'LocalidadL',val);
	}
}

function crearlocalidadL ( cadenal ){ 
	window.status = 'Creando Localidades...';
	fillList( 'localidad',cadenal );
}



function GestionQueVisitar(provincia,localidad){
	IDProvincia = provincia;
	IDLocalidad = localidad;

	jsrsExecute( 'quevisitarl_rs.php', crearprovinciaalta, 'Provinciaalta');
}

function recuperarid(ID){
	alert("Entra2 "+ID);
	return ID;
}

function fillList( NombreLista, strOptions ){
	emptyList( NombreLista );
	var lst = document.getElementById(NombreLista);
	lst.disabled = true;

	switch(NombreLista){
		case 'provinciaqv':
			lst.options[0] = new Option("Provincia",0);
			break;
		case 'localidad':
			lst.options[0] = new Option("Localidad",0);
			break;
	}

	var aOptionPairs = strOptions.split('|');
	for( var i = 0; i < aOptionPairs.length; i++ ){
		if (aOptionPairs[i].indexOf('~') != -1) {
			var aOptions = aOptionPairs[i].split('~');
			if ( (NombreLista == 'provinciaqv') || (NombreLista == 'localidad') )
				lst.options[i+1] = new Option(aOptions[1], aOptions[0]);
			else
				lst.options[i] = new Option(aOptions[1], aOptions[0]);
		}	
	}
	var ID;
	switch(NombreLista){
		case 'provincia':
			ID = IDProvincia;
			selectOption( NombreLista, ID );
			isLoaded[NombreLista] = true;
			lst.disabled = !boolEnabled;
			break;

		case 'provinciaqv':
		case 'provinciaL':
			ID = IDProvincia;
			selectOption( NombreLista, ID );
			isLoaded[NombreLista] = true;
			lst.disabled = !boolEnabled;
			lst.onchange = eval( NombreLista + "_onChange" );
			break;

		case 'localidad':
			ID = IDLocalidad;
			selectOption( NombreLista, ID );
			isLoaded[NombreLista] = true;
			lst.disabled = !boolEnabled;
			break;

	}
	window.status = 'CasaCuevaRural';
}



function emptyList( NombreLista ){
//alert ("Limpia la lista: "+NombreLista);
	var lst = document.getElementById(NombreLista);
	lst.options.length = 0;
	lst.onchange = null;
	lst.disabled = !boolEnabled;
	isLoaded[NombreLista] = false;
	curOption[NombreLista] = noValue;
}



function selectOption( NombreLista, optionVal ){
// set list selection to option based on value
//	var lst = document.forms['formulario'][NombreLista];
	var lst = document.getElementById(NombreLista);
	for( var i = 0; i< lst.options.length; i++ ){
		if( lst.options[i].value == optionVal ){
			lst.selectedIndex = i;
			curOption[NombreLista] = optionVal;
			return;
		}
	}
}
