//-------------------------- eventos de la pagina (contruidos dinámicamente en campos de Fichero).

var lcAccionesOnLoad = '';
var lcAccionesOnResize = '';

function window_onload() {
	eval(lcAccionesOnLoad);
}

function window_onresize() {
	eval(lcAccionesOnResize);
}

//------------------------- para actualizar tamaños dinámicamente
//sólo se tiene que hacer en Explorer4, en versiones posteriores hay bastante con width 100%
function ajustarAnchuraCampoFichero (vcNombre) {
	var eAnchura; //anchura del botón, cambiará según la versión de explorer
	var oCampoFichero; 	
	if (navigator.appName == "Microsoft Internet Explorer") {
	    if (navigator.appVersion.indexOf("MSIE 4") != -1) { //es IE4
			var eAnchura; //anchura del botón, cambiará según la versión de explorer
			var oCampoFichero; 
			oCampoFichero = eval("document.all."+vcNombre);
			if (oCampoFichero != null) {
				eval("oCampoFichero.style.pixelWidth = 0;");
				eAnchura = eval("oCampoFichero.offsetWidth;");
				eval("oCampoFichero.style.pixelWidth = oCampoFichero.parentElement.offsetWidth - eAnchura;");
			}	    
	    }
	}	
}

//-------------------------- funciones para abrir frames
function abrirVentanaFrames () {
	if (navigator.appName == "Microsoft Internet Explorer") {
		document.all.formulario.target = "ventanaFramesFamanet";
	    if (navigator.appVersion.indexOf("MSIE 4") == -1) { //si no es explorer 4
	    	//abreNuevaVentana ('about:blank', 'ventanaFramesFamanet', 800, 600);
	    	abreNuevaVentanaCompleta ('about:blank', 'ventanaFramesFamanet');
	    }
	}
	//Si es Netscape lo hará sobre la propia página y dará navegador no soportado.
}

//para pantalla de redirigir, que se quede en la misma pantalla
function ajustarVentanaPantalla () {
	if (navigator.appName == "Microsoft Internet Explorer") {
	    if (navigator.appVersion.indexOf("MSIE 4") == -1) { 
	    	//si no es explorer 4
				window.resizeTo(screen.availWidth,screen.availHeight);
				window.moveTo(0,0);
	    } else {
	    	ventanaSegunNavegador(); //sólo controla explorer 4
	    }
	}	
}

//abre una nueva ventana del tamaño deseado y centrada en la pantalla.
function abreNuevaVentana (pagURL, pagTarget, w, h, maximizada) {
    var winLeft;
    var winTop;
    var propiedades;
    var vent;
    
    if(maximizada)
    {
	    winLeft = 5;
	    winTop = 5;
	    w = screen.availWidth - 20;
	    h = screen.availHeight - 70;
    }
    else
    {
    	winLeft = (screen.width-w)/2;
    	winTop = (screen.height-h)/2;
    }
    
    propiedades = 'width='+ w;
    propiedades = propiedades +',height='+ h;
    propiedades = propiedades +',left='+ winLeft;
    propiedades = propiedades +',top='+ winTop;
    propiedades = propiedades +',toolbar=0';
    propiedades = propiedades +',scrollbars=1';
    propiedades = propiedades +',location=0';
    propiedades = propiedades +',status=1';
    propiedades = propiedades +',menubar=0';
    propiedades = propiedades +',resizable=1';
    
    vent = window.open(pagURL, pagTarget ,propiedades);
    vent.focus();
}

function abreNuevaVentanaDocumento (pagURL, pagTarget) {
    abreNuevaVentana(pagURL, pagTarget, 700, 500);
}

function abreNuevaVentanaCompleta (pagURL, pagTarget) {
    var vent;

    var propiedades = 'width='+ (screen.availWidth - 10); //corrección por el bordes laterales
    propiedades = propiedades +',height='+ (screen.availHeight - 60); //correción por bordes superior, inferior y status
    propiedades = propiedades +',left=0'; // si pones negativo simplemente no coloca
    propiedades = propiedades +',top=0'; // si pones negativo simplemente no coloca
    propiedades = propiedades +',toolbar=0';
    propiedades = propiedades +',scrollbars=1';
    propiedades = propiedades +',location=0';
    propiedades = propiedades +',status=1';
    propiedades = propiedades +',menubar=0';
    propiedades = propiedades +',resizable=1';    
    
    vent = window.open(pagURL, pagTarget ,propiedades);
    vent.focus();
}

function ventanaSegunNavegador() {
	if (navigator.appVersion.indexOf("MSIE 4") > 0) {
		top.resizeTo(screen.availWidth, screen.availHeight);
		top.moveTo(0,0);
	}	
}	

//----------------------------- Cerrar ventana

//cuando se usa des de una href???? COMO???? respetando su target!!
//function salirSinFormulario() { 
//}

// para salir bien de la aplicación y cerrar ventana des de una funcion con Formulario
// ahora sólo explorer.
function salirConFormulario() {
	document.all.formulario.target.value = "_self";
	var	cURLInvocadora = document.referrer; //sólo funciona si vienes por link de otra HTTP, no sirve de unidad de disco duro.
	if (cURLInvocadora.indexOf("_iis\/") != -1) { //caso de desarrollo afmXX_iis/
		document.all.formulario.action = "salir.asp"; 
	} else { // la coherente con compilacion
		document.all.formulario.action = "../asp/salir.asp";
	}
	document.all.formulario.submit();
}

//cerrar ventana en el botón de aceptar cuando es error de login incorrecto
var cNombreLogin = "login";
function accionBotonAceptarErrores() {
    var cInvocadora = document.referrer;
    if ((cInvocadora != null) && (cInvocadora.indexOf(cNombreLogin) > 0)) {
        document.all.formulario.action = "javascript:top.close();";
    } else {
        //no hacer nada, así ya hace la acción que tiene el form donde está el botón de aceptar los errores
    }
}


//----------------------------- Para ruta de navegación en la cabecera

//estas variables sólo deberían crearse si el archivo es cabecera ??? cambiar allí????
var eMaximo = 0;
var textos = new Array (100);
var eLongitud = 161;
var cSeparador = "\\";
//función ejecutada en cabecera
function actualizarRuta (vProf, vTexto) {
	var profundidad = vProf - 1; //vProf comienza en 1
	textos[profundidad] = vTexto;
	eMaximo = profundidad;
	//crear la cadena
	var cTextoTotal = textos[0];
	for (var i = 1; i <= eMaximo; i++) {
		cTextoTotal += cSeparador + textos[i];
	}
	//asignar el valor a ruta.
	if (cTextoTotal.length > eLongitud) {
		cTextoTotal = cTextoTotal.substring(cTextoTotal.length-eLongitud,cTextoTotal.length);
		var eIndice = cTextoTotal.indexOf(cSeparador);
		if (eIndice != -1) {
			cTextoTotal = cTextoTotal.substring (eIndice,cTextoTotal.length);
		}
		cTextoTotal = "..." + cTextoTotal;
	}
	document.all.ruta.value = cTextoTotal;
}

//función ejecutada en pantalla principal
function actualizarRutaCabecera (vProf, vTexto) {
	var oFrame = top.frames['frameCabecera'];//top.frames.frameCabecera;
	if (oFrame != null) {
		// En IE4 con Service Pack 1 no funciona el try, catch... debe tener versión antigua del intérprete de javascript.
		var objetoRuta = top.frames['frameCabecera'].ruta;
		if (objetoRuta != null) { //Para que funcione en IE4SP1.
//		try { // si falla, que no cambie pero no pete --> al cargar la página de frames la cabecera aún no está cargada.
			oFrame.actualizarRuta(vProf, vTexto);
//		} catch (error) {
//			// no hacer nada.
//		}
		}
	}
}

function accionBotonErrorUsuario() {
	if (history.length == 0) {
		window.close();
	} else {
		history.back();	
	}
}

function accionBotonError() {
	if (history.length == 0) {
		window.close();
	} else {
		document.location.href = '../html/vacio.html';	
	}
}


// variables y funciones de la ventana cargando
var ventanaCargando=null;

function crearVentanaCargando() { 

	
	if (!top.frames["frameMenu"]) {return false};

  	if ((window.name != "Documentos") && (window.name != "")) {
		w=(screen.width - 200) /2;
		h=(screen.height - 100) /2;
//		ventanaCargando = window.open("../html/cargando.html", "_targetLW", "top="+h+",left="+w+",width=200,height=100,toolbar=0,scrollbars=0,location=0,status=0,menubar=0,resizable=0");
//		ventanaCargando.resizeTo(200, 100);	  
//		ventanaCargando.moveTo(w, h);	  
//		ventanaCargando.focus();
	}

}
function cerrarCargando(){	
	if((window.parent.nom !="") && (window.parent.name != "Documentos") )
	{if (!window.parent.top.frames["frameMenu"]) {return false};
		window.parent.cerrarVentanaCargando();
	}
}
function cerrarVentanaCargando(){		
	if (!top.frames["frameMenu"]) {return false};
		if ((window.name != "Documentos") && (window.name != "")) 
  			//if(ventanaCargando){ventanaCargando.close();ventanaCargando=null;}
  			if(ventanaCargando){ventanaCargando=null;}
}


function AjustarTamanoCampo(campo) {	
	if (campo.value.length>0) {
		campo.size=campo.value.length + (campo.value.length*0.1);
	}
	else {
		campo.size=1;
	}	
}


// función para deshabilitar el BACKSPACE y que no puedan hacer atrás
// también sirve para deshabilitar el ENTER
function escBackSpace()  {
		if (event.keyCode == 8) {
			if ((document.activeElement.getAttribute("type") == "text") ||
			 	(document.activeElement.getAttribute("type") == "textarea") ||
			 	(document.activeElement.getAttribute("type") == "password") ) {
	
				if (!document.activeElement.getAttribute("readonly")) {
					return true;
				}
			}
			
		event.cancelBubble = true;
		event.returnValue = false;
		}
				//En caso de estar en un area de texto, o el boton de login permitimos los retornos de carro
		if (event.keyCode == 13) {
			if ((document.activeElement.getAttribute("type") == "text") ||
			 	(document.activeElement.getAttribute("type") == "textarea") ||
			 	(document.activeElement.getAttribute("type") == "button") ||
			 	(document.activeElement.getAttribute("type") == "password") ) {
					if (!document.activeElement.getAttribute("readonly")) {
						return true;
					}
			}
				event.cancelBubble = true;
				event.returnValue = false;
		} 
 }



// función que controla el menú contextual del botón derecho del mouse
// cambiar el valor de la variable 'DeshabilitarMenuContextual' para permitir o no el menú contextual
function FuncContextMenu()  {
	
	var DeshabilitarMenuContextual = false;
	
	event.cancelBubble=DeshabilitarMenuContextual;
	event.returnValue=!DeshabilitarMenuContextual;
	return !DeshabilitarMenuContextual;
}
