/**
Activador de widgets.

Los Widgets se activan según un modo especificado en el objeto JSON:
m = modo de presentación

Es necesario que el objeto JSON contenga la key de acceso:
k = key de acceso a la sección

También deberemos indicar el Widget que queremos mostrar:
w = widget solicitado

... adicionalmente puede ir la cantidad de atributos que se crea conveniente.
 */
function activarWidget(objJSON)
{
	switch(objJSON.w)
	{
		case 'wg_pfs':activarWG_PFS(objJSON);break;
		case 'wg_pfs_r':activarWG_PFS_Resumen(objJSON);break;
	}
}

/**
Se encarga de presentar el widget según el modo, ej. THICKBOX.
*/
function mostrarWidget(jsonResultado)
{
	if(jsonResultado && jsonResultado.exito == 'true')
	{
		/*
		Para el caso de un thickbox, éste toma el contenido del div, pero elimina el div del html de la página,
		por lo que hay que crear un contenedor y otorgarle la clase del widget_meduc.
		*/
		if(jsonResultado.ext_div)
		{
			$('#'+jsonResultado.w+'_'+jsonResultado.ext_div).append("<div class='widget_meduc'>"+jsonResultado.contenido+"</div>");
		}
		else
		{
			$('#'+jsonResultado.w).append("<div class='widget_meduc'>"+jsonResultado.contenido+"</div>");
		}
		
		switch(jsonResultado.m)
		{
			case 'thb':/*thickbox*/
				if(jsonResultado.ext_div)
				{
					$('#'+jsonResultado.w+'_'+jsonResultado.ext_div).css({visibility: 'hidden', display: 'none'});
					tb_show(jsonResultado.title,'#TB_inline?modal=false&width=500&height=250&inlineId='+jsonResultado.w+'_'+jsonResultado.ext_div+'', null, null);
				}
				else
				{
					$('#'+jsonResultado.w).css({visibility: 'hidden', display: 'none'});
					tb_show(jsonResultado.title,'#TB_inline?modal=false&width=500&height=250&inlineId='+jsonResultado.w+'', null, null);
				}
				break;
			case 'fi':/*flotante a la izquierda*/
				if(jsonResultado.ext_div)
				{
					$('#'+jsonResultado.w+'_'+jsonResultado.ext_div).css({float: 'left'});
				}
				else
				{
					$('#'+jsonResultado.w).css({float: 'left'});
				}
				break;
		}
	}
}

/**
Activa el widget de PFS
*/
function activarWG_PFS(jsonData)
{
	$(document).ready(function() {
		if(jsonData && jsonData.w)
		{
			var datos = 'op=get_pfs_detallados&idp='+jsonData.idp+'&k='+jsonData.k+'';/*alert(datos);return false;*/
			
			$.ajax({
				type: 'POST',
				url: '../../restutils/restprogramas/index.php',
				data: datos,
				success: function(msg){/*alert(msg );return false;*/
					if(msg != 'false')
					{
						msg = jQuery.parseJSON(msg);
						/*alert(msg.contenido);*/
						var resultado = {
							w: jsonData.w,
							title: msg.title,
							contenido: msg.contenido,
							m: jsonData.m,
							exito: 'true'
						};
						
						/* toda la funcionalidad de presentación de un widget se maneja en el método mostrarWidget. */
						mostrarWidget(resultado);
					}
					
					return 'false';
				}
			});
		}
	});
}

/**
Activa un widget PFS resumido
*/
function activarWG_PFS_Resumen(jsonData)
{
	$(document).ready(function() {
		
		var datos = 'op=get_pfs_resumen&idp='+jsonData.idp+'&k='+jsonData.k+'';/*alert(datos);return false;*/
		
		var resultado;
		
		$.ajax({
			type: 'POST',
			url: '../../restutils/restprogramas/index.php',
			data: datos,
			success: function(msg){
				if(msg != 'false')
				{
					msg = jQuery.parseJSON(msg);
					/*alert(msg.contenido);*/
					var resultado = {
						w: jsonData.w,
						ext_div: jsonData.ext_div,
						title: msg.title,
						contenido: msg.contenido,
						m: jsonData.m,
						exito: 'true'
					};
					
					/* toda la funcionalidad de presentación de un widget se maneja en el método mostrarWidget. */
					mostrarWidget(resultado);
				}
				
				return 'false';
			}
		});
	});
}
