function seleccionar_servicios(clicked_id)
{
//Obtenemos el id desde el que se hace la llamada al eventno
var select = document.getElementById(clicked_id); //El <select>
valor = select.value; //El valor de la opción seleccionada
//Establezo dos posibilidades de uso: .innerText e .textContent ya que firefox no funciona con .innertText.
contenido1 = select[select.selectedIndex].innerText;
contenido2 = select[select.selectedIndex].textContent;
//Esta condición es por si al usar firefox .innerText no es intrepretado por Firefox y devuelve undefined.
if(contenido1 != undefined){var_objeto = contenido1}else{var_objeto = contenido2};
//Condicionamos la ejecución del código en función de que el clicked_id sea "S" que supone modificar registro que existe
// o sea "A" que es agregar un resgistro nuevo.
if(clicked_id.substring(0, 1) == 'S')
{
//Trabajamos con DOM para saber cuantos formularios hay. El primero y el último no se afectan por este código.
//Sólo para los registros que son del formulario "solicitudes".
//Número de formularios que hay.
var num_forms = document.forms.length;
//Descartamos el primero y el último.
for(i=1; i<num_forms -1 ; i++)
{
//Seleccionamos el select que contiene los servicios.
var select = document.forms[i].elements[2];
//Obtenemos el texto que hay en el registro. Dos funciones para diferentes explorer.
contenido1 = select[select.selectedIndex].innerText;
contenido2 = select[select.selectedIndex].textContent;
if(contenido1 != undefined){var_objeto = contenido1}else{var_objeto = contenido2};
//Generamos el array palabras, que distingue por la "," el contenido procedente de la option value.
var palabras = var_objeto.split(",")
//Distinguimos el formulario sobre el que actuar a través de la existencia de un número en el primer
//elemento del array palabras.
if(!isNaN(palabras[1]))
{
//Verificamos si el servicio es para grupo o inidividual y asignamos valor.
if(palabras[3] === '2')
{
var_usuario = 1;
document.forms[i].elements[4].value = var_usuario;
}
else
{
//Asignamos a la variable la duración el numero de usuarios del servicio
//Valor recogido en el formulario principal.
var_usuario = document.getElementById(4).value;
document.forms[i].elements[4].value = var_usuario ;
}
//Asignamos a la variable la duración del evento(días)
//Valor recogido en el formulario principal.
var_tiempo = document.getElementById(7).value;
document.forms[i].elements[2].value = palabras[2];
document.forms[i].elements[3].value = var_tiempo;
document.forms[i].elements[8].value = palabras[4];
document.forms[i].elements[9].value = palabras[5];
document.forms[i].elements[10].value = palabras[4]* var_usuario * var_tiempo;
document.forms[i].elements[11].value = palabras[5]* var_usuario * var_tiempo;
document.forms[i].elements[12].value = palabras[6];
}
}
}
//Este es para la opción de agregar registro.
else if(clicked_id.substring(0, 1) == 'A')
{
var_prefijo = "A";
var_usuario = "A05";
var_tiempo = "A04";
//Convierto en array con .split() el resultado obtenido para la variable objeto.
var palabras = var_objeto.split(",");
//Verificamos si el servicio es para grupo o inidividual y asignamos valor.
if(palabras[2] === '2')
{
var_usuario = 1;
document.getElementById(var_prefijo + "05").value = var_usuario;
}
else
{
//Asignamos a la variable la duración el numero de usuarios del servicio
//Valor recogido en el formulario principal.
var_usuario = document.getElementById(4).value;
document.getElementById(var_prefijo + "05").value = var_usuario ;
}
//Asignamos a la variable la duración del evento(días)
//Valor recogido en el formulario principal
var_tiempo = document.getElementById(7).value;
document.getElementById(var_prefijo + "03").value = palabras[1];
document.getElementById(var_prefijo + "04").value = var_tiempo;
document.getElementById(var_prefijo + "09").value = palabras[3];
document.getElementById(var_prefijo + "10").value = palabras[4];
document.getElementById(var_prefijo + "11").value = palabras[3] * var_usuario * var_tiempo;
document.getElementById(var_prefijo + "12").value = palabras[4] * var_usuario * var_tiempo;
document.getElementById(var_prefijo + "13").value = palabras[5];
}
}