//variables que definen el tipo de navegador que está utilizando el usuario 
//nc = netscape
//ie = explorer
//n6 = versión de netscape_6 , Mozilla y Firefox
var nc = (document.layers) ? true:false;
var ie =   (document.all) ? true:false;
var n6 = (document.getElementById) ? true:false;
    
/*****************************************************************************************************/
function abrirVentana(URL,ancho,alto,target,scrolls)
{       
    //alert('el window es '+window+' url '+URL+' ancho='+ancho+' alto='+alto+' titulo='+titulo);
    
    if (scrolls == null)
        scrolls = 'NO';
        
    cadena = 'width='+ancho+',height='+alto+',scrollbars='+scrolls+',menubar=NO,resizable=YES,status=NO,toolbar=NO,location=NO';
    //alert('2: el window es '+window+' url '+URL+' ancho='+ancho+' alto='+alto+' titulo='+titulo+' Scrolls='+scrolls+' y la cadena es '+cadena);
    
    window.open(URL,target,cadena);
}

    
/*****************************************************************************************************/
//Función que cambia el color de fondo de la tr por la que se pasa y del texto que se encuentra en ella
//Recibe accionMouse: Acción que se realiza con el mouse, over (pasa por encima) ó out (sale de la tr)
//posicion: define la posición de la tr dentro de la tabla. Esto es para generar el id de las etiquetas <tr> y <a>
//nivel: se usa para definir el color que se va a usar y está relacionado con el tipo de menú (depth de la clase item). 0 indica que es un
//menú padre, 1 indica que es un menú hijo.     

function cambioColor(accionMouse,posicion,nivel,validar)
{          
    
    menu_activo = getCookie('click'); 
    //alert('menu_activo '+menu_activo+' La accion es '+accionMouse); 
    
    if (menu_activo != posicion || (validar != null && !validar))
    {
        //document.tr1.style.bgcolor='#666666'
        
        //Se genera la cookie con la posición del menú seleccionado
        if (accionMouse == 'click') 
            setCookie('click',posicion);
            
        nivel = nivel +1 ;
        id_tr = 'tr'+posicion;
        id_a = 'a'+posicion;
        
        //alert ('La accion es '+accionMouse+' y el posicion es '+posicion+' y el nivel '+nivel+' ids son tr='+id_tr+' y a='+id_a);
        
        //acción que se realiza: mouse dentro de la celda  o se hizo click en un un menú
        if (accionMouse == 'over' || accionMouse == 'click')
        {  
            if (nivel == 1)
            {
                color_tr = '#FFFFFF';
                color_a = '#FF680C';
            }
            else if (nivel == 2)  
            {
                color_tr = '#cccccc'; 
                color_a = '#FF680C'; 
            } 
        }
		//acción que se realiza: mouse fuera de la celda 
        else if (accionMouse == 'out')
        {  		
            if (nivel == 1)
            {
                //color de la celda
				color_tr = '#999999';
				//color de la tipografía
                color_a = '#ffffff';
            }
            else if (nivel == 2)
            {
                //color de la celda
				color_tr = '#999999';
				//color de la tipografía
                color_a = '#cccccc';
            } 
        }
		
        //las variables estan definidas arriba ||son tipos de navegadores||
		
        if (nc)
        {
            document.layers[id_tr].background = color_tr; 
            document.layers[id_a].color = color_a;
        }
        else if (ie)
        { 
            document.all[id_tr].style.background = color_tr; 
            document.all[id_a].style.color = color_a;  
        }
        else if (n6)
        { 
            document.getElementById(id_tr).style.background = color_tr;
            document.getElementById(id_a).style.color = color_a; 
        }  
        
        
        //Se debe despintar el menú que estaba seleccionado antes, por eso se vuelve a ejecutar la 
        //llamada a la función cambioColor
        if (accionMouse == 'click' && menu_activo != null && outline[menu_activo-1].state) 
            cambioColor('out',menu_activo,outline[menu_activo-1].depth);             
        
    }//Fin if(menu_activo != ...)
    
} //Fin function cambioColor


/*****************************************************************************************************/
function resizeFrame(nombreFrame,nombreTd)
{   
    //frameObj = eval(nombreFrame);
    //alert('nc='+nc+' ie='+ie+' n6='+n6)
    
    if (nc)
    {
        frameObj = document.layers[nombreFrame];
        tdObj = document.layers[nombreTd];
    }
    else if (ie)
    { 
        frameObj = document.all[nombreFrame];
        tdObj = document.all[nombreTd]; 
    }
    else if (n6)
    { 
        frameObj = document.getElementById(nombreFrame); 
        tdObj = document.getElementById(nombreTd);   
    }
    
    
    
    //alert('el objeto es '+tdObj) ;
        
    if (window.innerWidth && nc)
    { 
        frameWidth = window.innerWidth;
	    frameHeight = window.innerHeight;        
        //alert('acá 4');
    }
    else if (document.documentElement && document.documentElement.clientWidth && ie)
    {
	    frameWidth = document.documentElement.scrollWidth ;
	    frameHeight = document.documentElement.scrollHeight ;
        //alert('acá 3');  
    }
    else if (document.body && ie)
    {
	    frameWidth = frameObj.contentWindow.document.body.scrollWidth ;
	    frameHeight = frameObj.contentWindow.document.body.scrollHeight ;
        //alert('acá 2');
    }  
    else if (document.body && n6)
    {
	    frameWidth = frameObj.scrollWidth ;
	    frameHeight = frameObj.contentWindow.document.body.scrollHeight ;
        //alert('acá');         
    }  
 
    
    //alert('El anchossss a colocar es '+frameWidth+' y el alto es '+frameHeight+' y el de td es '+tdObj.height); 
 
    
    
    tdObj.height = frameHeight; 
    frameObj.height = frameHeight;
    
  

}

/*****************************************************************************************************/
//Establece como selected la opción del select que se corresponde con el valor
//Campo  es el objeto html select
//valor es el valor de la opción que se debe buscar.
function establecerOpcionSelected(campo,valor)
{
    cantidad = campo.length;
    
    for (i=0; i < cantidad; i++)
    {
        if (campo.options[i].value == valor)
            campo.options[i].selected = true;
    }
}

/*****************************************************************************************************/
function obtenerFlashMovieObject(nombre)
{
    if (window.document[nombre]) 
    {
        return window.document[nombre];
    }
    if (navigator.appName.indexOf("Microsoft Internet")==-1)
    {
        if (document.embeds && document.embeds[nombre])
            return document.embeds[nombre]; 
    }
    else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
    {
        return document.getElementById(nombre);
    }
}

/*****************************************************************************************************/
function irFrameFlashMovie(nombre,frame)
{
	var flashMovie=obtenerFlashMovieObject(nombre);
    flashMovie.StopPlay();
	flashMovie.GotoFrame(frame);
}

/*****************************************************************************************************/
/*
* Cambia la visibilidad del elemento con identificador id, dependiendo de la que tenga actualmente
* Si está visible lo esconde, y al contrario
*/

function cambiarVisibilidadActual(id)
{
	currentActual = obtenerVisibilidad (id);
    
    current = (currentActual == 'none') ? 'block' : 'none';
    
    if (document.layers)
	{  
		document.layers[id].display = current;
	}
	else if (document.all)
	{  
		document.all[id].style.display = current;
	}
	else if (document.getElementById)
	{  
		document.getElementById(id).style.display = current;
	}
}

/*****************************************************************************************************/
/*
* Obtiene la visibilidad del elemento con identificador id.
*/

function obtenerVisibilidad (id)
{
    if (document.layers)
	{
		current = document.layers[id].display; 
	}
	else if (document.all)
	{
		current = document.all[id].style.display; 
	}
	else if (document.getElementById) 
	{
		current = document.getElementById(id).style.display;
	}
    
    return current;
}


/*****************************************************************************************************/
/*
* Cambia la visibilidad del elemento con identificador id, al estado que se le envíe: block o none
*/

function cambiarVisibilidad (id,estado)
{
    if (estado == undefined)
        estado = 'block';
        
    //alert('El id es '+id+' con estado '+estado);
    
    if (document.layers)
	{
		document.layers[id].display = estado; 
	}
	else if (document.all)
	{
		document.all[id].style.display = estado; 
	}
	else if (document.getElementById) 
	{
		document.getElementById(id).style.display = estado;
	} 
}

/*****************************************************************************************************/
function wincombo (ruta,nombre_wincombo,cantidad_datos,datos,nombres_datos,titulo)
{
    scrolls = 'YES';
    cadena = '';
    
    //alert('los datos son '+datos);
    
    for (i=0; i < cantidad_datos; i++)
    {
        cadena += "&d"+i+'='+datos[i];
    }
    
    abrirVentana(ruta+"wincombo.php?n="+nombre_wincombo+"&t="+cantidad+cadena,600,600,titulo,scrolls);
}


/*****************************************************************************************************/
function pasarParametros(campos, valores, hidden, valoresHidden)
{
    for (i=0; i<campos.length; i++)
    {
        objeto = eval(campos[i]);
        objeto.value = valores[i];
        //alert('El objeto es '+campos[i]+' con valor '+objeto.value+' que debe ser = a '+valores[i]);
    }
    
    for (i=0; i<hidden.length; i++)
    {
        objeto = eval(hidden[i]);
        objeto.value = valoresHidden[i];
        //alert('El objeto hidden es '+hidden[i]+' con valor '+objeto.value+' que debe ser = a '+valoresHidden[i]);
    }
}

/*****************************************************************************************************/

/*
* Valida en un maestro avanzado que cuando se hace clic en Quitar, al menos haya 
* un registro con el checkbox seleccionado
*/
function validarEliminarHijos(cantidad)
{
    for (i=0; i < cantidad; i++)
    {
        objeto = eval('document.formulario.eliminar'+i);
        //alert('El objeto es '+objeto.checked);
        
        if (objeto.checked)
            return true;
    }
    
    alert('Se ha generado un error:\n-- > Debe haber al menos un elemento seleccionado para Quitar');   
    return false;
}

function esEspania (valor)
{
    if (valor == 'españa')
    {
        cambiarVisibilidad('tr_comunidad','block');
        cambiarVisibilidad('tr_provincia','block'); 
    }
    else
    {
        cambiarVisibilidad('tr_comunidad','none');
        cambiarVisibilidad('tr_provincia','none');
        document.formulario.pro_comunidad_autonoma.value="";
        document.formulario.pro_provincia.value="";
    }
}

function enviarFormaLogin()
{
    var error = false;
    
    if (document.form2.login.value == '')
        error = true;
        
    if (document.form2.contrasena.value == '')
        error = true;    
    
    if (!error)
        document.form2.submit();
    else
        alert('Error!!: Debe rellenar el Usuario y la Contraseña para entrar');
}