/**
* Con Mozilla Firefox tiene problemas con los acentos, as� que de ningun identificador debe llevar acentos,
* ya que en lugar de leer � lee algo como \75 y obviamente eso deforma el id
*/

function Expand ( pstTabla , pboOcultar )
{		
	this.lstTabla = pstTabla;
	
	if( pboOcultar == null )
		pboOcultar = true;
		
	$( '#' + this.lstTabla + ' tr' ).attr( 'estatus', 'abierto' );
	
	this.ocultarTodo = function ( )
		{
			$( '#' + this.lstTabla + ' tr[idPadre]' ).hide();
			$( '#' + this.lstTabla + ' tr' ).attr( 'estatus', 'cerrado' );
				
		};//Termina function ocultarTodo( )

	this.ocultarBloque = function ( pstNombrePadre )
		{			
			$( '#' + this.lstTabla + ' tr[idPadre="' + pstNombrePadre + '"]' ).hide();			
			
			$( '#' + this.lstTabla + ' tr[idPadre="' + pstNombrePadre + '"][estatus="abierto"]' ).each( function ()
																											{																												
																												var gstValor 	= $( this ).attr( 'estatus' );
																												
																												var lstHREF = $( this ).find('a').attr( 'href' );																												
																												eval( lstHREF );
																												
																												var lstOnclick = $( this ).find('a').attr( 'onclick' );																												
																												eval( lstOnclick );																												
																											}
																										);
		};//Termina function fOcultarBloque( )

		
	this.mostrarBloque = function ( pstNombrePadre , pnuNiveles )
		{
			$( '#' + this.lstTabla + ' tr[idPadre="' + pstNombrePadre + '"]' ).show();
			
		};//Termina function mostrarBloque( )
		
		
	this.controlarBloque = function ( pstNombrePadre )
		{
			//var lstAntes = $( '#' + this.lstTabla + ' tr[id="' + pstNombrePadre + '"]' ).attr( 'estatus' );
			
			if( $( '#' + this.lstTabla + ' tr[id="' + pstNombrePadre + '"]' ).attr( 'estatus' ) == 'abierto' )
			{
				this.ocultarBloque( pstNombrePadre );
				$( '#' + this.lstTabla + ' tr[id="' + pstNombrePadre + '"]' ).attr( 'estatus', 'cerrado' );
			}
			else
			{
				this.mostrarBloque( pstNombrePadre );
				$( '#' + this.lstTabla + ' tr[id="' + pstNombrePadre + '"]' ).attr( 'estatus', 'abierto' );
			}
			
			//var lstDespues = $( '#' + this.lstTabla + ' tr[id="' + pstNombrePadre + '"]' ).attr( 'estatus' );
			
			//alert( lstAntes + ' => ' + lstDespues );
			
		};//Termina function controlarBloque(  )	
	
		
	if( pboOcultar ) 
		this.ocultarTodo();
	
};		
		
