function PERMISOS_setPermisoAll(nombre,valor,formID)
{
	FORM = document.getElementById(formID);
	ELEMENTOS = Form.getElements(formID);
	
	var x;
	for(x in ELEMENTOS)
	{
		if(ELEMENTOS[x].name == "permiso_" + nombre + "_alta")
		{
			if(valor)
			{
				ELEMENTOS[x].checked = true;
				ELEMENTOS[x].disabled = true;
			}
			else
			{
				ELEMENTOS[x].checked = false;
				ELEMENTOS[x].disabled = false;
			}
		}
		
		if(ELEMENTOS[x].name == "permiso_" + nombre + "_baja")
		{
			if(valor)
			{
				ELEMENTOS[x].checked = true;
				ELEMENTOS[x].disabled = true;
			}
			else
			{
				ELEMENTOS[x].checked = false;
				ELEMENTOS[x].disabled = false;
			}
		}
		
		if(ELEMENTOS[x].name == "permiso_" + nombre + "_edit")
		{
			if(valor)
			{
				ELEMENTOS[x].checked = true;
				ELEMENTOS[x].disabled = true;
			}
			else
			{
				ELEMENTOS[x].checked = false;
				ELEMENTOS[x].disabled = false;
			}
		}
		
		if(ELEMENTOS[x].name == "permiso_" + nombre + "_ver")
		{
			if(valor)
			{
				ELEMENTOS[x].checked = true;
				ELEMENTOS[x].disabled = true;
			}
			else
			{
				ELEMENTOS[x].checked = false;
				ELEMENTOS[x].disabled = false;
			}
		}
	}
}

function PERMISOS_doPermisos(tipo,formID)
{
	FORM = document.getElementById(formID);
	ELEMENTOS = Form.getElements(formID);
	
	var tipos = [];
	tipos[1] = "alta";
	tipos[2] = "baja";
	tipos[3] = "edit";
	tipos[4] = "all";
	
	var evaluar = [];
	evaluar[0] = "usuarios";
	evaluar[1] = "permisos";
	evaluar[2] = "grupos";
	evaluar[3] = "archivos";
	evaluar[4] = "feedback";
		
	var x,y;
	
	for(x in evaluar)
	{
		for(y in ELEMENTOS)
		{
			if(ELEMENTOS[y].name == "permiso_" + evaluar[x] + "_" + tipos[tipo])
			{
				if(tipo == tipos.length - 1)
				{
					if(!ELEMENTOS[y].disabled)
					{
						if(ELEMENTOS[y].checked) ELEMENTOS[y].checked = false;
						else ELEMENTOS[y].checked = true;
						PERMISOS_setPermisoAll(evaluar[x],ELEMENTOS[y].checked,formID);					
					}
				}
				else
				{
					if(!ELEMENTOS[y].disabled)
					{
						var z,marcar = true;
						for(z in ELEMENTOS) if((ELEMENTOS[z].name == "permiso_" + evaluar[x] + "_all") && (ELEMENTOS[z].checked)) marcar = false;
						if((ELEMENTOS[y].checked) && (!marcar)) ELEMENTOS[y].checked = false;
						else ELEMENTOS[y].checked = true;						
					}
				}
			}
		}
	}	
}

function PERMISOS_doRefreshPermisos()
{
	if(document.getElementById("window_permisos") != null)
	{
		var refresher = document.getElementById("refresher_permisos");
		var obj = document.getElementById("contentArea_permisos");
		
		refresher.style.height = (obj.offsetHeight + 10) + "px";
		Effect.Appear(refresher);
		
		var postbody = "window_id=window_permisos";
		
		new Ajax.Updater(obj,"admin/permisos.php?window_id=window_permisos",{method:"post",postBody:postbody,onSuccess:function(retorno){
		if(SYS_isError(retorno.responseText))
		{
			SYS_doError(retorno.responseText);
			return;
		}
		windowOcultarRefresher("window_permisos");
		}});
	}
}

function PERMISOS_togglePermisosTools(id)
{
	var obj = document.getElementById("permisos_tools_" + id);
	if(obj == undefined) return;
	
	if(obj.style.display == "none")
	{
		Effect.toggle("permisos_tools_" + id,"blind");
	}
	else if(obj.style.display == "")
	{
		Effect.toggle("permisos_tools_" + id,"blind");
	}
	else
	{
		alert("display == ");
		//Effect.SlideDown("proyectos_tools_" + id);
	}
}

function PERMISOS_verPerfil(id,perfil)
{
	SYS_loadContents("includes/html/permisos.php?mostrar=true&id=" + perfil,"PERMISOS_contents_" + perfil,function(){PERMISOS_openContents(perfil)});
}

function PERMISOS_editPerfil(id,perfil)
{
	SYS_loadContents("includes/html/permisos.php?editar=" + perfil + "&form_usuario=true","PERMISOS_contents_" + perfil,function(){PERMISOS_openContents(perfil)});
}

function PERMISOS_openContents(id)
{

	var row0 = $("PERMISOS_row_0_" + id);
	if(row0 != undefined)
	{
		if(row0.className == "USER_row_1") row0.className = "USER_row_1_2";
		if(row0.className == "USER_row_2") row0.className = "USER_row_2_2";
	}

	var row = $("PERMISOS_row_1_" + id);
	if(row.className == "USER_row_1") row.className = "USER_row_1_2";
	if(row.className == "USER_row_2") row.className = "USER_row_2_2";
	var obj = $("PERMISOS_contents_" + id);
	if(obj.style.display == "none") Effect.toggle(obj,"blind");
}

function PERMISOS_closeContents(id)
{
	var row0 = $("PERMISOS_row_0_" + id);
	if(row0 != undefined)
	{
		if(row0.className == "USER_row_1_2") row0.className = "USER_row_1";
		if(row0.className == "USER_row_2_2") row0.className = "USER_row_2";
	}
	
	var row = $("PERMISOS_row_1_" + id);
	if(row.className == "USER_row_1_2") row.className = "USER_row_1";
	if(row.className == "USER_row_2_2") row.className = "USER_row_2";

	var obj = $("PERMISOS_contents_" + id);
	Effect.toggle(obj,"blind");
}

function PERMISOS_cancel(id)
{
	if(id != 0) CONFIRM_do(function(){PERMISOS_closeContents(id);},"¿ Seguro que desea cancelar ?<br><br>( se perderán todos los datos no guardados )");
}

function PERMISOS_new()
{
	SYS_loadContentsPOP('includes/html/permisos.php?form_usuario=true');
}

function PERMISOS_delete(id,unalert)
{
	SYS_mostrarRefresher();
	new Ajax.Updater("dummy_container","includes/html/permisos.php",{method:"post",postBody:"borrar=" + id,onSuccess:function(retorno){
		if(SYS_isError(retorno.responseText))
		{
			SYS_doError(retorno.responseText);
			return;
		}
		SYS_ocultarRefresher();
		SYS_loadContents("includes/html/permisos.php?lista=true");
		if(unalert != true) CONFIRM_do(null,"El perfil de permisos fue eliminado correctamente.",true)
	}});
}