//// Scripts de administración de interfaces.
//// Desarrollado por ayp digital(R)
//// Córdoba - República Argentina
//// www.ayp-digital.com - info@ayp-digital.com
//// Ultima revisión: 29/11/07

//// Posiciona el cursor en el objeto especificado:
//// Ultima revisión: 20/01/07
//// formulario: opcional
function colocarCursor(id_objeto)
{
	var objeto = document.getElementById(id_objeto);
	if (objeto != null) objeto.focus();
}


//// Anula los elementos del formulario con los id especificados:
//// Última revisión: 13/05/06
//// elementos: el id de los botones separados por coma.
function anularElementos(elementos)
{
	var elem = new String(elementos);
	elem = elem.split(",");
	var e;
	for (var i = 0; i < elem.length; i++){
		e = document.getElementById(elem[i]);
		if (e != null) {
			e.disabled = true;
			}
		}
}


//// Habilita los elementos del formulario con los id especificados:
//// Última revisión: 03/02/07
//// elementos: el id de los botones separados por coma.
function habilitarElementos(elementos)
{
	var elem = new String(elementos);
	elem = elem.split(",");
	var e;
	for (var i = 0; i < elem.length; i++){
		e = document.getElementById(elem[i]);
		if (e != null) {
			e.disabled = false;
			}
		}
}


//// Cuenta los items seleccionados en una lista:
//// Última revisión: 06/02/07
//// botones: el id de los botones separados por coma.
function contarItems(nombre_items)
{
	var numero = 1;
	var seleccionados = 0;
	var it = document.getElementById(nombre_items + numero);
	while (it != null){
		if (it.checked) seleccionados++;
		numero++;
		it = document.getElementById(nombre_items + numero);
		}
	return seleccionados;
}


//// Selecciona o deselecciona todos los items de una lista:
//// Última revisión: 29/11/07
//// item_general: id del elemento que gestiona toda la selección.
//// nombre_items: id de los botones a los cuales se le agrega un número entero para recorrerlos en orden.
function seleccionarListaItems(item_general, nombre_items)
{
	var it_general = document.getElementById(item_general);
	var seleccionados = 0;
	if (it_general != null){
		var numero = 1;
		var it = document.getElementById(nombre_items + numero);
		while (it != null){
			if (it_general.checked == true){
				it.checked = true;
				}
			else it.checked = false;
			numero++;
			it = document.getElementById(nombre_items + numero);
			seleccionados++;
			}
		if (it_general.checked == false) seleccionados = 0;
		}
	return seleccionados;
}


//// Cuenta los caracteres del campo especificado y coloca el resultado en el campo de cuenta:
//// Última revisión: 26/02/07
//// dato: campo del cual se deben contar los caracteres.
//// muestra: campo en donde se debe colocar el resultado.
//// maximo: cantidad máxima de caracteres permitidos.
function contarCaracteres(dato, muestra, maximo)
{
	var campo_dato = document.getElementById(dato);
	var campo_muestra = document.getElementById(muestra);
	var car_dato = new String(campo_dato.value);
	if (car_dato.length > maximo){
		campo_dato.value = car_dato.substring(0, maximo - 1);
		campo_muestra.value = 0;
		}
	else{
		campo_muestra.value = maximo - car_dato.length;
		}
}


//// Posiciona, setea tamaño y muestra una capa:
//// Última revisión: 28/11/07
//// objeto_relativo: objeto que se debe tomar como referencia para ubicar la capa.
//// ajustar_posicion: true: calcula las coordenadas para que la capa entre en la ventana, false: respeta las coordenadas especificadas.
//// forzar_apertura: true: ignora si la capa ya estaba abierta, false: devuelve false si la capa está abierta.
function mostrarCapa(nombre_capa, ancho, alto, posicion_x, posicion_y, x_adicional, y_adicional, objeto_relativo, ajustar_posicion, forzar_apertura)
{
	var capa = document.getElementById(nombre_capa);
	if (capa == null){
		////La capa no existe:
		return false;
		}
	//// Se verifica si la capa está visible y debe forzarse la apertura:
	if (capa.style.visibility == "visible" && forzar_apertura == false){
		return false;
		}
	//// Se setean el tamaño:
	capa.width = ancho;
	capa.height = alto;
	//// Si se especificó un objeto, se toma la posición:
	var pos_y = 0;
	var pos_x = 0;
	var alto_objeto = 0;
	if (objeto_relativo != ""){
		var objeto = document.getElementById(objeto_relativo);
		if (objeto != null){
			//// Se toma el valor de x:
			pos_x = objeto.offsetLeft;
			var pos_parent = objeto.offsetParent;
			while(pos_parent){
				pos_x+= pos_parent.offsetLeft;
				pos_parent = pos_parent.offsetParent;
				}
			pos_x+= x_adicional;
			//// Se toma el valor de y:
			pos_y = objeto.offsetTop;
			var pos_parent = objeto.offsetParent;
			while(pos_parent){
				pos_y+= pos_parent.offsetTop;
				pos_parent = pos_parent.offsetParent;
				}
			pos_y+= y_adicional;
			}
		}
	//// Si se especificaron coordenadas, se toman:
	if (posicion_x > 0) pos_x = posicion_x;
	if (posicion_y > 0) pos_y = posicion_y;
	//// Se verifica si se debe ajustar la posición dentro de la ventana:
	if (ajustar_posicion == true){
		
		}
	//// Se setea la posición y se muestra:
	capa.style.left = pos_x;
	capa.style.top = pos_y;
	if (capa.style.visibility == "hidden"){
		capa.style.visibility = "visible";
		}
	return true;
}


//// Oculta una capa visible:
//// Última revisión: 28/11/07
function ocultarCapa(nombre_capa)
{
	var capa = document.getElementById(nombre_capa);
	if (capa != null && capa.style.visibility == "visible"){
		capa.style.visibility = "hidden";
		return true;
		}
	else{
		//// La capa no existe o está oculta:
		return false;
		}
}


//// Muestra una capa invisible:
//// Última revisión: 07/03/07
function abrirVisor(nombre_visor)
{
	var capa = document.getElementById(nombre_visor);
	if (capa != null && capa.style.visibility == "hidden"){
		capa.style.visibility = "visible";
		}
}


//// Oculta una capa visible:
//// Última revisión: 07/03/07
function cerrarVisor(nombre_visor)
{
	var capa = document.getElementById(nombre_visor);
	if (capa != null && capa.style.visibility == "visible"){
		capa.style.visibility = "hidden";
		}
}




