$(".Controla input").live("click", function()
{
	MiraSiHayQueMostrar()
});

function MiraSiHayQueMostrar()
{
	var IDSS = new Array();
	var IDSO = new Array();
//	$(".Controla input[type=checkbox][checked]").each(function(i){
//		IDS[IDS.length] = this.id;
//	});
//	$(".Controla input[type=radio][checked]").each(function(i){
//		IDS[IDS.length] = this.id;
//	});
	$(".Controla input:checked[type=checkbox]").each(function(i){
		IDSS[IDSS.length] = this.id;
	});	
	$(".Controla input:checked[type=radio]").each(function(i){
		if ($(this).closest(".RadioButtonList"))
		{
			var Valor = $(this).val();
			var Nombre = $(this).attr("name");
			IDSO[IDSO.length] = Nombre + '_' + Valor;
		}
		else
			IDSS[IDSS.length] = this.id;
	});	
	$(".Controla select option:selected").each(function(i){
		var ElID = this.value;
		var ParentID = $(this).parent().get(0).id;
		IDSO[IDSO.length] = ParentID + '_' + ElID;
	});
   	Cuestionarios.TWFCuestionario.GetMostrar(IDE, IDP, IDSS, IDSO, CallBackGetMostrar);
}

function CallBackGetMostrar(Resultado)
{
	if (Resultado.value) 
	{
		IDS = Resultado.value.Visibles;
		$.each(IDS, function(i){
			$(".P" + this).find("select").each(function(i)
			{
				$(this).change(function()
				{
					MiraSiHayQueMostrar()
				});
			});
			$(".P" + this).show();
		});
		IDS = Resultado.value.Ocultas;
		var Ocultado = false;
		$.each(IDS, function(i){
			if ($(".P" + this + ":hidden").length == 0) 
			{
				$(".P" + this).find("input:checked").each(function(i)
				{
					//				$(this).trigger('click');
					this.checked = false;
				});
				$(".P" + this).hide();
				Ocultado = true;
			}
		});
		if (Ocultado)
		  MiraSiHayQueMostrar();
	}	
}

function PreparaSelects()
{
	if ($(".TablaRespuesta select").length > 0)
	{
		$(".TablaRespuesta select").change(function()
		{
			MiraSiHayQueMostrar()
		});
	}
}


$(document).ready(function()
{
	$("td .Dinamica").each(function () {
		$(this).hide(); 
	});
	MiraSiHayQueMostrar();
	PreparaSelects();
});

