/****************************************************************************
* Fichero: UTILES.JS  v1.0r (*)
* Descripción: Utilidades varias
* Autor:       JUAN CARLOS GÓMEZ LETÓN                            
*****************************************************************************/

/* Abre una ventana en una determinada posición de la ventana dependiendo
 * de la resolución actual de la pantalla
 * PARÁMETROS:
 *    sPagina -> página que se desea abrir dentro de la ventana
 *    sNombreVent -> nombre que se le asignará a la ventana abierta
 *    nTamX, nTamY -> anchura y altura de la ventana en píxeles 
*/ 
function AbrirVentana(sPagina, sNombreVent, nTamX, nTamY)
{
	var nAnchura, nAltura, nTop, nLeft, sPropsVentana;
    if (AbrirVentana.arguments.length != 4)
    {
		alert("Nº incorrecto de párametros para la función AbrirVentana.\nSINTAXIS: AbrirVentana(sPagina, sNombreVent, nTamX, nTamY);");
		return;
	}	
	nAnchura = screen.availWidth;
	nAltura = screen.availHeight;
	nTop = 20;
	nLeft =  (nAnchura - nTamX - 30);
	sPropsVentana  = 'width=' + nTamX + ',height=' + nTamY;
	sPropsVentana += ',top=' + nTop + ',left=' + nLeft;
	sPropsVentana += ',scrollbars=0,resizable=1,toolbar=0,location=0,directories=0,status=0,menubar=0';
	return(window.open(sPagina,sNombreVent,sPropsVentana));
}	

// Si el elemento pertenece a sltOrigen devuelve la posición en la que
// lo ha encontrado; en caso contrario devuelve un -1
function DarPosEltoEnSelect(sltOrigen, sValor)
{
	for (var i=0, bEncontrado=false; !bEncontrado && (i < sltOrigen.length); i++)
	{
		bEncontrado = (sltOrigen.options[i].value == sValor);
		if (bEncontrado)
			return(i);
	}
	return(-1);	
}

function AnadirASelect(sltOrigen, sltDestino)
{
	var sDescSel, sValorSel, optionElto;
	sDescSel = sltOrigen.options[sltOrigen.selectedIndex].text;
	sValorSel = sltOrigen.options[sltOrigen.selectedIndex].value;
	if (DarPosEltoEnSelect(sltDestino, sValorSel) == -1)
	{
		optionElto = new Option (sDescSel, sValorSel);
		sltDestino.options[sltDestino.length] = optionElto;
		sltDestino.options[sltDestino.length-1].selected = true;
	}	
}

function AnadirASelectElto(sTexto, sValor, sltDestino)
{
	if (DarPosEltoEnSelect(sltDestino, sValor) == -1)
	{
		var optionElto = new Option (sTexto, sValor);
		sltDestino.options[sltDestino.length] = optionElto;
		sltDestino.options[sltDestino.length-1].selected = true;
	}	
}

function EliminarDeSelect(sltOrigen)
{
	if (sltOrigen.length > 0)
	{
		sValorSel = sltOrigen.options[sltOrigen.selectedIndex] = null;
		if (sltOrigen.length > 0)
			sltOrigen.options[0].selected = true;
	}
}
