	
	// JavaScript Document
	
	//
	//	funcTransiciones.js
	//	Fecha de creación: 27 / 04 / 2009
	//	Descripción: Contiene funciones de transiciones de elementos
	//

 	// FUNCIONES PRIMITIVAS
	
	var effect_disponible = new Array ();
	
 	function effectoDisponible ( name_div_id )
	{
		if ( name_div_id == null ) return true;
		
		if ( effect_disponible [ name_div_id ] == null ) effect_disponible [ name_div_id ] = true;
		
		return effect_disponible [ name_div_id ];
	}
	
	// MOSTRAR Y OCULTAR DIV MODO AGRESIVO
	
	function ocultarDiv ( name_div_id )
	{
		if ( $( name_div_id ) == null ) return;
		
		$( name_div_id ).style.display = 'none';	
	}
	
	function mostrarDiv ( name_div_id )
	{
		if ( $( name_div_id ) == null ) return;
		
		$( name_div_id ).style.display = 'block';	
	}
	
	function mostrarResaltarDiv ( name_div_id_mostrar , name_div_id_resaltar , colorinicial , colorfinal , duracion )
	{
		if ( $( name_div_id_mostrar ) != null ) 
		{
			if ( $( name_div_id_mostrar ).style.display == 'block' ) return;
			
			$( name_div_id_mostrar ).style.display = 'block';
		
			resaltarDiv ( name_div_id_resaltar , colorinicial , colorfinal , duracion );
		}
	}
	
	// MOSTRAR Y OCULTAR ELEMENTOS FLA Y DEMÁS
	
	function ocultarElementosUppers ()
	{
		$$('select', 'object', 'embed').each ( function (node) { node.style.visibility = 'hidden' });
	}
	
	function mostrarElementosUppers ()
	{
		$$('select', 'object', 'embed').each ( function (node) { node.style.visibility = 'visible' });
	}

	// INTERCAMBIO DE DISPLAYS DE BLOQUES
	
	function switchDisplayDiv ( name_div_id )
	{
		if ( $( name_div_id ) == null ) return;
		
		if 		( $( name_div_id ).style.display == 'block' )	$( name_div_id ).style.display = 'none';
		else if	( $( name_div_id ).style.display == 'none' )	$( name_div_id ).style.display = 'block';
	}
	
	function switchDisplayDivs ( id_div_ocultar , id_div_mostrar )
	{
		ocultarDiv ( id_div_ocultar );
		mostrarDiv ( id_div_mostrar );
	}
	
	// MOSTRAR Y OCULTAR DIV EN MODO DESVANECIMIENTO (FADE)
	
	function aparecerDiv ( name_div_id , durationTime )
	{
		if ( $( name_div_id ) == null ) return;
		
		if (effectoDisponible(name_div_id)) 
		{
			effect_disponible [ name_div_id ] = false;
			
			Effect.Fade( name_div_id , { duration: durationTime, 
										 from: 0, 
										 to: 1,
										 afterFinish: ( function(){ effect_disponible [ name_div_id ] = true; }),
										 afterUpdate: ( function(){ $(name_div_id).style.display = 'block'; })
			});
		}
	}
	
	function desaparecerDiv ( name_div_id , durationTime )
	{
		if ( $( name_div_id ) == null ) return;
		
		if (effectoDisponible(name_div_id)) 
		{
			effect_disponible [ name_div_id ] = false;
			
			Effect.Fade( name_div_id , { duration: durationTime, 
										 from: 1, 
										 to: 0,
										 afterFinish: ( function(){ effect_disponible [ name_div_id ] = true; })
			});
		}
	}
	
	// MOSTRAR Y OCULTAR DIV EN MODO PERSIANA (DESPLEGAR)
	
	function plegarDiv ( name_div_id , durationTime )
	{
		if ( $( name_div_id ) == null ) return;
		
		if ( effectoDisponible ( name_div_id ) )
		{
			effect_disponible [ name_div_id ] = false;
			
			Effect.BlindUp ( name_div_id , { duration: durationTime,
												 afterFinish: (function(){ effect_disponible [ name_div_id ] = true; })
			});	
		}
	}
	
	function desplegarDiv ( name_div_id , durationTime )
	{
		if ( $( name_div_id ) == null ) return;
		
		if ( effectoDisponible ( name_div_id ) )
		{
			effect_disponible [ name_div_id ] = false;
			
			Effect.BlindDown ( name_div_id , { duration: durationTime,
											   afterFinish: (function(){ effect_disponible [ name_div_id ] = true; })
			});	
		}
	}
	
	// HIGHLIGHT
	
	function resaltarDiv ( name_div_id , colorinicial , colorfinal , duracion )
	{
		// colorinicial: "#ff0000", colorfinal: "#0000ff", duracion: 8
		
		if ( $( name_div_id ) == null ) return;
		
		if ( effectoDisponible ( name_div_id ) ) 
		{
			effect_disponible [ name_div_id ] = false;
				
			new Effect.Highlight ( name_div_id , 
			{
				startcolor:		colorinicial,
				endcolor:		colorfinal,
				duration:		duracion,
				afterFinish:	( function() { effect_disponible [ name_div_id ] = true; } )
			})
		}
	}
	
	// COMBINACIONES DE OPERACIONES
	
	function desplegarDivAndFinishShow ( name_div_id , durationTime , name_div_id_show )
	{
		if ( $( name_div_id ) == null ) return;
		
		if ( effectoDisponible ( name_div_id ) )
		{
			effect_disponible [ name_div_id ] = false;
			
			Effect.BlindDown ( name_div_id , { duration: durationTime,
												   afterFinish: (function(){ effect_disponible [ name_div_id ] = true; mostrarDiv ( name_div_id_show );  })
			});	
		}
	}
	
	function plegarDivAandDesplegarDiv ( name_div_id_plegar , durationTime_plegar , name_div_id_desplegar , durationTime_desplegar )
	{
		if ( $( name_div_id_plegar ) == null ) return;
		
		if ( effectoDisponible ( name_div_id_plegar ) )
		{
			effect_disponible [ name_div_id_plegar ] = false;
			
			Effect.BlindUp ( name_div_id_plegar , { duration: durationTime_plegar,
														afterFinish: (function(){ 
																					effect_disponible [ name_div_id_plegar ] = true;
																					desplegarDiv ( name_div_id_desplegar , durationTime_desplegar );
																				})
			});	
		}
	}
	
	function desplegarDivAndSwitchDisplayDivs ( name_div_id_desplegar , durationTime_desplegar , name_div_id_ocultar , name_div_id_mostrar )
	{
		if ( $( name_div_id_desplegar ) == null ) return;
		
		if ( effectoDisponible ( name_div_id_desplegar ) )
		{
			effect_disponible [ name_div_id_desplegar ] = false;
			
			Effect.BlindDown ( name_div_id_desplegar , { duration: durationTime_desplegar,
														     afterFinish: (function(){ 
																						effect_disponible [ name_div_id_desplegar ] = true;
																						ocultarDiv ( name_div_id_ocultar );
																						mostrarDiv ( name_div_id_mostrar );
																					 })
			});	
		}
	}
	
	function plegarDivAndSwitchDisplayDivs ( name_div_id_plegar , durationTime_plegar , name_div_id_ocultar , name_div_id_mostrar )
	{
		if ($(name_div_id_plegar) == null) return;
		
		if ( effectoDisponible ( name_div_id_plegar ) )
		{
			effect_disponible [ name_div_id_plegar ] = false;
			
			Effect.BlindUp ( name_div_id_plegar , { duration: durationTime_plegar,
														afterFinish: (function(){ 
																					effect_disponible [ name_div_id_plegar ] = true;
																					ocultarDiv ( name_div_id_ocultar );
																					mostrarDiv ( name_div_id_mostrar );
																				})
			});	
		}
	}
	
	
	function getTamPagina () 
	{ 
		var xScroll, yScroll;
		
		if (window.innerHeight && window.scrollMaxY) {	
			xScroll = window.innerWidth + window.scrollMaxX;
			yScroll = window.innerHeight + window.scrollMaxY;
		} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
			xScroll = document.body.scrollWidth;
			yScroll = document.body.scrollHeight;
		} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
			xScroll = document.body.offsetWidth;
			yScroll = document.body.offsetHeight;
		}
		
		var windowWidth, windowHeight;
		
		if (self.innerHeight) {	// all except Explorer
			if(document.documentElement.clientWidth){
				windowWidth = document.documentElement.clientWidth; 
			} else {
				windowWidth = self.innerWidth;
			}
			windowHeight = self.innerHeight;
		} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
			windowWidth = document.documentElement.clientWidth;
			windowHeight = document.documentElement.clientHeight;
		} else if (document.body) { // other Explorers
			windowWidth = document.body.clientWidth;
			windowHeight = document.body.clientHeight;
		}	
		
		// for small pages with total height less then height of the viewport
		if(yScroll < windowHeight){
			pageHeight = windowHeight;
		} else { 
			pageHeight = yScroll;
		}
	
		// for small pages with total width less then width of the viewport
		if(xScroll < windowWidth){	
			pageWidth = xScroll;		
		} else {
			pageWidth = windowWidth;
		}
	
		return [pageWidth,pageHeight];
	}
	
	
	
