// JavaScript Document

/*
#################################
# función que recarga el frame <frame> a
# la url <url>
################################
*/
function recargaFrame(frame,url)
	{
		frame.location=url;	
	}
	
/*
###############################
# función que hace que el select
#	<lista> pase a tener seleccionado
# el option con valor <valor>
###############################
*/
function cambiaSelectedIndex(lista,valor)
	{
	for(var i=0;i<lista.options.length;i++)
		{
		if (lista.options[i].value==valor)
			{
			lista.selectedIndex=i;
			//lista.options[i].selected=true;
			break;
			}
		}
	}
	
/*
###############################
# función que rellena el select
# <lista> con la opción (texto, valor)
################################
*/
function insertaOpcion(lista,texto,valor)
	{
		var oOption = lista.form.ownerDocument.createElement("option"); //se crea el elemento opción
		var oTexto = lista.form.ownerDocument.createTextNode(texto);	//se crea el elemento texto
		oOption.appendChild(oTexto);
		oOption.value = valor;
		lista.appendChild(oOption);
	}
/*
###############################
# función que vacía un select
# <lista>
################################
*/
function vaciaSelect(lista)
	{
		for (var j=lista.options.length-1;j>=0;j--)
			{
				lista.remove(j);
			}
	}
/*
################################
# función que mueve la opción <opcion>
# al select <lista>
################################
*/
function mueveOption(opcion,lista)
	{
	lista.appendChild(opcion)
	}

/*
#################################
# función que mueve los items seleccionados
# de lista1 a lista2
#################################
*/
function mueveSelect(lista1,lista2)
	{
		var j = 0;
		while (j<=lista1.options.length-1)
			{
			if (lista1.options[j].selected)
				{
					mueveOption(lista1.options[j],lista2);
				}
			else
				{
				j++;	
				}
			}
	}
/*
##################################
# función que mueve todos los items
# de lista1 a lista2
##################################
*/
function mueveTodos(lista1,lista2)
	{
		while (lista1.options.length!=0)
		{
			mueveOption(lista1.options[0],lista2);
		}
	}
/*
#####################################
# Función que crea elementos hidden
# en el formulario <form>, con nombres
# <nombre>+numero y valores los de las opciones
# del select <lista>
######################################
*/
function creaHiddenDeSelect(form,nombre,lista)
	{
	var j = 0;
	var campoHidden;
	for (j=0;j<lista.options.length;j++)
		{
			campoHidden = lista.form.ownerDocument.createElement("input");
			campoHidden.setAttribute("type","hidden")
			campoHidden.setAttribute("name",nombre+'#'+String(j));
			campoHidden.setAttribute("value",lista.options[j].value);
			form.appendChild(campoHidden);
		}
	}
/*
#####################################
# FUnción que crea un input de tipo <tipo> 
# en el form <form>, con el nombre <nombre> y el
# valor <valor>
######################################
*/
function creaInput(form,nombre,valor,tipo)
	{
		var campoHidden;
		campoHidden = form.ownerDocument.createElement("input");
		campoHidden.setAttribute("name",nombre);
		campoHidden.setAttribute("type",tipo);
		campoHidden.setAttribute("value",valor);
		form.appendChild(campoHidden);
	}
/*
####################################
# Función que ordena los elementos del select <lista>
# según el valor del texto, empezando en el caracter
# car
#####################################
*/
function ordenaSelect(lista,car)
	{
	var cambiar = true;
	var i = 0;
	var valor1 = '';
	var valor2 = '';
	var texto1 = '';
	var value1 = '';
	while (cambiar)
		{
		cambiar = false;
		for (i=lista.options.length-2;i>=0;i--)
			{
			valor1 = lista.options[i].childNodes[0].nodeValue.substring(car);
			valor2 = lista.options[i+1].childNodes[0].nodeValue.substring(car);
			if (valor1.replace('Á','A')>valor2.replace('Á','A'))
				{
				cambiar = true;
				value1 = lista.options[i].value;
				texto1 = lista.options[i].childNodes[0].nodeValue;
				lista.options[i].value = lista.options[i+1].value;
				lista.options[i].childNodes[0].nodeValue = lista.options[i+1].childNodes[0].nodeValue;
				lista.options[i+1].value = value1;
				lista.options[i+1].childNodes[0].nodeValue = texto1;
				}
			}
		}		
	}
	
/*
Función que evita que se envíe un formulario al pulsar enter
*/
function stopRKey(evt) {
var evt = (evt) ? evt : ((event) ? event : null);
var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
if ((evt.keyCode == 13) && (node.type=="text")) {return false;}
}

function rId(id)
{
	return document.getElementById(id);
}

function valRadio(radio)
{
	for (var i=0;i<radio.length;i++) 
	{
		if (radio[i].checked)
		{
			return radio[i].value;
		}
	}
	return '';
}
	
	
	