function imprimir_carpetas(error)
{
	if (!seleccion_objmanager(error))
	{
		cerrar_dialogo('contenedor');
	}
	else
	{
		var url = '/cesta.newProducts';
		var params = new Object();
		params['carpetas_select'] = objmanager.getSelected();
		ajaxCaller.postForPlainText(url,params,tratar_webservice);
		cerrar_dialogo('contenedor');
	}
}

function getCarpetas(orden,tipo,inicio)
{
/* Funci� que llama a la funci� del WebServide getCarpetas que devuelve un hash con todas las carpetas de un usuario.
	orden --> si las carpetas se ordenan por fecha_creaci�, nombre ....
	tipo --> indica si las carpetas que se visualizaran son todas, s�o las mias, mis compartidas o las que me han compartido
	inicio --> para la paginaci�, indica en que carpeta empieza el limit
	registros --> total de registros que se muestran en cada paginaci�
	origen --> desde donde se accede a mis carpetas
	ajaxCaller.postForPlainText(url,params,tratar_webservice) -->  llama a la funci� tratar_webservice pasandole como par�etro de entrada el json que nos ha devuelto getCarpetas
*/
	var url = '/mis_carpetas.getCarpetas';
	var params = new Object();

	params['ordenacion'] = orden;
	params['tipo'] = tipo;
	params['inicio'] = inicio;
	params['n_registros'] = objmanager.getRegistrosPagina();
	params['origen'] = document.form1.origen.value;
	params['id_producto_cesta'] = document.form1.id_pack.value;
	ajaxCaller.postForPlainText(url,params,tratar_webservice);
}

function getCarpetasBlog(inicio)
{
/* Funci� que llama a la funci� del WebServide getCarpetas que devuelve un hash con todas las carpetas de un usuario.
	inicio --> para la paginaci�, indica en que carpeta empieza el limit
	registros --> total de registros que se muestran en cada paginaci�
	ajaxCaller.postForPlainText(url,params,tratar_webservice) -->  llama a la funci� tratar_webservice pasandole como par�etro de entrada el json que nos ha devuelto getCarpetas
*/
	var url = '/mi_blog.getCarpetas';
	var params = new Object();

	params['inicio'] = inicio;
	params['n_registros'] = objmanager.getRegistrosPagina();
	ajaxCaller.postForPlainText(url,params,tratar_webservice);
}

function getCarpetasBlogFront(inicio,propietario,id_carpeta)
{
/* Funci� que llama a la funci� del WebServide getCarpetas que devuelve un hash con todas las carpetas de un usuario.
	inicio --> para la paginaci�, indica en que carpeta empieza el limit
	registros --> total de registros que se muestran en cada paginaci�
	ajaxCaller.postForPlainText(url,params,tratar_webservice) -->  llama a la funci� tratar_webservice pasandole como par�etro de entrada el json que nos ha devuelto getCarpetas
*/
	var url = '/mi_blog.getCarpetasFront';
	var params = new Object();

	params['inicio'] = inicio;
	params['id_cliente'] = propietario;
	params['n_registros'] = objmanager_folders.getRegistrosPagina();
	params['id_carpeta'] = id_carpeta;
	ajaxCaller.postForPlainText(url,params,tractar_carpetes_blog);
}

function tractar_carpetes_blog(json) {
/* Funci� que segn la informaci� que tenga el json llama a una opci� u otra. Hace de filtro.
	json --> lo devuelve la funci� hecha con eBDML y se lo pasa cuando llama con la url del webServices
 */
 	var all = eval('('+json+')');
	
	//Guarda en el objecManager el nmero total de fotos y de carpetas del usuario segn la consulta seleccionada
	if(all.total_carpetas != null && all.total_fotos != null)
	{
		objmanager_folders.setTotalObjetos(all.total_carpetas,all.total_fotos);
	}
	//pinta las carpetas
	if(all.carpetas != null)
	{
		objmanager_folders.repintar(all.carpetas); 
		if (document.getElementById('imagen_expandida') != null)
			document.getElementById('imagen_expandida').style.height = document.getElementById('taula_blog').offsetHeight;
	}
	//Cuando ha ocurrido algn error inesperado
	if(all.error != null)
	{
		alerta(all.error);
	}
}


function agregar_carpeta(nombre,descripcion,orden,tipo,inicio,error)
{
/* Verifica que el campo del nombre de la carpeta tenga valor, si lo tiene llama a la funci� del WebServide nuevaCarpeta. 
Tambi� llama a tratar_webservice para "pintar" las carpetas del usuario.
	nombre --> campo del nombre de la carpeta
	desripcion --> campo de la descripci� de la carpeta
	orden --> si las carpetas se ordenan por fecha_creaci�, nombre ....
	tipo --> indica si las carpetas que se visualizaran son todas, s�o las mias, mis compartidas o las que me han compartido
	inicio --> registro por el que empieza la paginacion
	error --> Indica un mensaje de error si el usuario no rellena el campo del nombre de la carpeta
	abrir --> 1 abre el cuadro de dialogo que rediriguir�al upload. 0 no lo abre
*/

	if (trim(nombre.value) == '')
	{
		alerta(error);
		nombre.focus();
	}
	else
	{
		var url = '/mis_carpetas.nuevaCarpeta';
		var params = new Object();
		params['nombre'] = encodeURIComponent(nombre.value);//trim(nombre.value);
		params['descripcion'] = encodeURIComponent(descripcion.value);//trim(descripcion.value);
		params['ordenacion'] = orden;
		params['tipo'] = tipo;
		params['inicio'] = inicio;
		params['n_registros'] = objmanager.getRegistrosPagina();
		ajaxCaller.postForPlainText(url,params,tratar_webservice);
		cerrar_dialogo('contenedor');
	}
}

function enviar_a_upload(url,parametro,alto,ancho,scroll,resize,menu,toolbar)
{
/* Redirecciona al upload enviando el id de la carpeta para seleccionar la que se acaba de crear */
	cerrar_dialogo('contenedor');
	
	var altura_popup=alto; 
	var H = (screen.height - alto) / 2; 
	var anchura_popup=ancho; 
	var L = (screen.width - ancho) / 2; 
	pop_up = window.open(url+"?id_carpeta="+parametro,"upload","height="+altura_popup+",width="+anchura_popup+",top="+H+",left="+L+",scrollbars="+scroll+",resizable="+resize+",menubar="+menu+",toolbar="+toolbar);
	
} 

function seleccion_objmanager(error)
{
/* Funci� que mira si hay registros del ObjManager seleccionados. Si no hay ninguno lanza un alert */

	var select = objmanager.getSelected();
	
	if (select == '') //no se ha seleccionado ninguna carpeta
	{
		alerta(error);
		return false;
	}
	return true;
}

function copiar_carpetas (orden,tipo,error)
{
/* Funci� que copia una carpeta. Duplica el registro de la carpeta y el de sus fotos.
	orden --> por campo de la tabla se ordena la consulta
	tipo --> indica si las carpetas que se visualizaran son todas, s�o las mias, mis compartidas o las que me han compartido
	inicio --> registro por el que empieza la paginacion
	error --> mensaje que se lanza al usuario en caso que no haya seleccionado ninguna carpeta
*/
	if (!seleccion_objmanager(error))
	{
		cerrar_dialogo('contenedor');
	}
	else
	{
		cerrar_dialogo('contenedor');
		abrir_dialogo('espere','contenedor_esperar',300,100,null);
		var url = '/mis_carpetas.copiarCarpetas';
		var params = new Object();
		params['carpetas_select'] = objmanager.getSelected();
		params['ordenacion'] = orden;
		params['tipo'] = tipo;
		params['inicio'] = objmanager.getPaginaActual();
		params['n_registros'] = objmanager.getRegistrosPagina();
		ajaxCaller.postForPlainText(url,params,tratar_webservice);
	}
}


function validar_eliminar_carpetas(error)
{
/* Llama al webservice que valida las fotos que se podran borrar o no dependiendo
	del proyecto donde esten dependidendo de las carpetas seleccioandas
*/
	if (!seleccion_objmanager(error))
	{
		cerrar_dialogo('contenedor');
	}
	else
	{
		cerrar_dialogo('contenedor');
		abrir_dialogo('espere','contenedor_esperar',300,100,null);
		var url = '/mis_carpetas.validar_borrarCarpetas';
		var params = new Object();
		params['carpetas_select'] = objmanager.getSelected();
		ajaxCaller.postForPlainText(url,params,tratar_webservice);
		//cerrar_dialogo('contenedor');
	}
}

function mostrar_info_fotos_eliminar(objeto)
{
/* Muestra la información en un cuadro de diálogo en el caso que hayan fotos en proyectos.
	objeto --> estructura con la información de las carpetas y sus respectivas fotos que se pueden borrar y las que no. 
	objeto (array de hashes)
	   -- id_carpeta 
	   -- nombre_capreta 
	   -- validacion_foto (array de hashes)
		-- ids_borrar (string separado por ,)
		-- ids_no_borrar (string separado por ,)
		-- no_borrar (array de hashes)
		    -- nombre_foto
		    -- nombre_proyectos (array)
		-- borrar (array de hashes)
		    -- nombre_foto
		    -- nombre_proyectos (array)
	Tiene los ids, los nombres de las fotos y los proyectos a los que pertenecen clasificado por las que se pueden borrar y las que no según el estado del proyecto
	EXISTE LA FUNCIÓN "EQUIVALENTE" PARA LAS FOTOS EN MIS_FOTOS.JS
*/
	var fotos_borrar= "";
	var fotos_no_borrar= "";
	var carpetas_borrar = "";
	var ids_fotos_carpetas_borrar = "";
	var ids_fotos_carpetas_no_borrar = "";
	
	for (i=0; i < objeto.length; i++)
	{
		//alert(objeto[i].id_carpeta+ " -- "+objeto[i].nombre_carpeta );
		var validacion = objeto[i].validacion_fotos.validacion;
	
		//Carpetas que no se pueden borrar
		if (validacion.no_borrar.length > 0)
		{
			fotos_no_borrar += "<div class='color_letra_base' style='font: bold;'><img src='/imgfiles/Imagenes/fletxa_miscarpetas.gif'> "+objeto[i].nombre_carpeta+":</div>";
			
			for (j=0; j < validacion.no_borrar.length; j++)
			{
				fotos_no_borrar += " <span class='color_letra_base' style='font: normal;padding:5px;'><img src='/imgfiles/Imagenes/flechas/fletxa_detalle.gif'> "+validacion.no_borrar[j].nombre_foto+"</span> (<b>Creaciones:</b> ";
				
				for (k=0; k < validacion.no_borrar[j].nombre_proyectos.length; k++)
				{
					fotos_no_borrar += validacion.no_borrar[j].nombre_proyectos[k];
					if (k < validacion.no_borrar[j].nombre_proyectos.length-1)
					{
						fotos_no_borrar += ", ";
					}
				}
				fotos_no_borrar += ")<br>";
			}
		}
		
		//Carpetas que no se pueden borrar
		if (validacion.ids_no_borrar != '')
		{
			//ids de las fotos que NO se pueden borrar en una carpeta
			ids_fotos_carpetas_no_borrar += validacion.ids_no_borrar+",";
		}
		
		//Carpetas que contienen fotos que aunque formen parte de proyectos se pueden borrar
		if (validacion.borrar.length > 0)
		{
			fotos_borrar += "<div class='color_letra_base' style='font: bold;'><img src='/imgfiles/Imagenes/fletxa_miscarpetas.gif'> "+objeto[i].nombre_carpeta+":</div>";
			for (j=0; j < validacion.borrar.length; j++)
			{
				fotos_borrar += " <span class='color_letra_base' style='font: normal;padding:5px;'><img src='/imgfiles/Imagenes/flechas/fletxa_detalle.gif'> "+validacion.borrar[j].nombre_foto+"</span> (<b>Creaciones:</b> ";
				
				for (k=0; k < validacion.borrar[j].nombre_proyectos.length; k++)
				{
					fotos_borrar += validacion.borrar[j].nombre_proyectos[k];
					if (k < validacion.borrar[j].nombre_proyectos.length-1)
					{
						fotos_no_borrar += ", ";
					}
				}
				fotos_borrar += ")<br>";
			}
		}
		if (validacion.ids_borrar != '')
		{
			//ids de las fotos que SI se pueden borrar en una carpeta
			ids_fotos_carpetas_borrar += validacion.ids_borrar+",";
		}
		
		//Crear el string de las carpetas que sí se pueden borrar, incluidas todas sus fotos o las carpetas que no tienen fotos
		if ((validacion.ids_borrar != '' && validacion.ids_no_borrar == '') || (validacion.borrar.length == 0 && validacion.no_borrar.length == 0))
		{
			carpetas_borrar += objeto[i].id_carpeta+",";
		}
		//alert(objeto[i].validacion_fotos.validacion.length);

	}
	document.form1.ids_carpetas_borrar.value = carpetas_borrar;
	document.form1.ids_fotos_borrar.value = ids_fotos_carpetas_borrar;

	if (fotos_borrar == "" && fotos_no_borrar == "")
	{
		abrir_dialogo('espere','contenedor_esperar',300,100,null);
		var url = '/mis_carpetas.borrarCarpetas';
		var params = new Object();
		params['carpetas_select'] = document.form1.ids_carpetas_borrar.value;
		params['ids_fotos_borrar'] = document.form1.ids_fotos_borrar.value;
		params['ordenacion'] = document.form1.ordenacion.value;
		params['tipo'] = document.form1.tipo.value;
		params['inicio'] = objmanager.getPaginaActual();
		params['n_registros'] = objmanager.getRegistrosPagina();
		ajaxCaller.postForPlainText(url,params,tratar_webservice);
	}
	else
	{
		document.getElementById('fotos_permitidas').style.display = 'none';
		document.getElementById('contenido_permitidas').innerHTML = "";
		document.getElementById('fotos_no_permitidas').style.display = 'none';
		document.getElementById('contenido_no_permitidas').innerHTML = "";
		document.getElementById('botones_permitidos').style.display = 'none';
		document.getElementById('botones_no_permitidos').style.display = 'none';
		
		if (validacion.no_borrar.length > 0)
		{
			if (validacion.borrar.length > 0)
			{
				 fotos_no_borrar += "<hr>";
			}
			document.getElementById('fotos_no_permitidas').style.display = 'block';
			document.getElementById('contenido_no_permitidas').innerHTML = fotos_no_borrar;
		}
		if (validacion.borrar.length > 0)
		{
			document.getElementById('fotos_permitidas').style.display = 'block';
			document.getElementById('contenido_permitidas').innerHTML = fotos_borrar;
		}
		if (ids_fotos_carpetas_borrar != '')
			document.getElementById('botones_permitidos').style.display = 'block';
		else
			document.getElementById('botones_no_permitidos').style.display = 'block';
			
		abrir_dialogo('validacion_eliminar','contenedor',null,null,null);
	}
}

function eliminar_carpetas (orden,tipo,error)
{
/* Funcion que elimina las carpetas seleccionadas 
	orden --> campo por el que se ordenan las carpetas
	tipo --> indica si las carpetas que se visualizaran son todas, s�o las mias, mis compartidas o las que me han compartido
	inicio --> registro por el que empieza la paginacion
	error -->  mensaje de error que se muestra al usuario en el caso que no haya seleccionado ninguna carpeta
*/
	if (!seleccion_objmanager(error))
	{
		cerrar_dialogo('contenedor');
	}
	else
	{
		cerrar_dialogo('contenedor');
		abrir_dialogo('espere','contenedor_esperar',300,100,null);
		var url = '/mis_carpetas.borrarCarpetas';
		var params = new Object();
		params['carpetas_select'] = document.form1.ids_carpetas_borrar.value;
		params['ids_fotos_borrar'] = document.form1.ids_fotos_borrar.value;
		params['ordenacion'] = orden;
		params['tipo'] = tipo;
		params['inicio'] = objmanager.getPaginaActual();
		params['n_registros'] = objmanager.getRegistrosPagina();
		ajaxCaller.postForPlainText(url,params,tratar_webservice);
	}
}

function enviar_a_compartir ()
{
/* Funcion que updata el campo de las carpetas que se han seleccionado y lo envia a la pagina compartir */

	document.form1.ids_select.value = objmanager.getSelected();
	document.form1.nombres_select.value = objmanager.getNombresSelected();
	document.form1.onSubmit = '';
	document.form1.submit();
}

function modificar_nombre_carpeta(error_select)
{
/* Pone el nombre en el cuadro de texto del dialogo de cambiar nombre */
	var num_select = objmanager.countSelected(); //nmero de objetos seleccionados

	if (num_select == 0 || num_select > 1) //S�o se debe seleccionar una carpeta
	{
		alerta(error_select);
	}
	else
	{
		abrir_dialogo('cambiar_nombre','contenedor',400,250,'focus_nombre_cambiar','carpeta');
		document.carpeta_cambiar.nombre_cambiar.value = objmanager.getNombreCarpetaSelect();
		//document.carpeta_cambiar.nombre_cambiar.select();
		document.carpeta_cambiar.descripcion_cambiar.value = objmanager.getDescripcionCarpetaSelect();
	}
} 

function cambiar_nombre_carpeta(nombre,descripcion,orden,tipo,error_select,error_nombre)
{
/* Funcion para cambier el nombre a una carpeta
	nombre --> texto del input text que introduce el usuario. Nombre de la carpeta
	descripcion --> texto del input text que introduce el usuario. Descripcion de la carpeta
	orden --> ordenaci� del listado de las carpetas (fecha creacion,nmero de fotos,nombre)
	tipo --> indica si las carpetas que se visualizaran son todas, s�o las mias, mis compartidas o las que me han compartido
	inicio --> registro por el que empieza la paginacion
	error_select --> mensaje de error si el usuario no ha seleccionado una carpeta
	error_nombre --> mensaje de error si el usuario no ha introducido el nuevo nombre
 */
	var select = objmanager.getSelected();
	var num_select = objmanager.countSelected(); //nmero de objetos seleccionados

	if (num_select == 0 || num_select > 1) //Solo se debe seleccionar una carpeta
	{
		alerta(error_select);
		cerrar_dialogo('contenedor');
	}
	else
	{
		if (trim(nombre.value) == '') //el usuario no ha introducido el nuevo nombre de la carpeta
		{
			alerta(error_nombre);
			nombre.focus();
		}
		else
		{
			var url = '/mis_carpetas.cambiar_nombreCarpeta';
			var params = new Object();
			params['carpetas_select'] = select;
			params['nombre'] = encodeURIComponent(nombre.value); //trim(nombre.value);
			params['descripcion'] = encodeURIComponent(descripcion.value);//trim(descripcion.value);
			params['ordenacion'] = orden;
			params['tipo'] = tipo;
			params['inicio'] = objmanager.getPaginaActual();
			params['n_registros'] = objmanager.getRegistrosPagina();
			ajaxCaller.postForPlainText(url,params,tratar_webservice);
			cerrar_dialogo('contenedor');
		}
	}
}

function buscar_fotos_carpeta(error_select)
{
/* Funci� para buscar las fotos de una carpeta a partir de un id_carpeta seleccionado. Usado para la portada de una carpeta */

	var select = objmanager.getSelected();
	var num_select = objmanager.countSelected(); //nmero de objetos seleccionados

	if (num_select == 0 || num_select > 1) //S�o se debe seleccionar una carpeta
	{
		alerta(error_select);
	}
	else
	{
		var url = '/mis_carpetas.buscar_fotosCarpeta';
		var params = new Object();
		params['carpetas_select'] = select;
		ajaxCaller.postForPlainText(url,params,tratar_webservice);
	}
}

function buscar_fotos (palabra,error)
{
/* Funcion que busca entre las fotos del usuario las que contengan la palabra en el nombre, descripcion o tags.
  Envia al usuario a la pagina de mis fotos. Susana (8-1-2008)
	palabra --> palabra de busqueda
	error --> mensaje que se lanza al usuario en caso que no haya escrito ninguna palabra de busqueda
*/
	if (trim(palabra) == '')
	{
		alerta(error);
	}
	else
	{	
		cerrar_dialogo('contenedor');
		abrir_dialogo('espere','contenedor_esperar',300,100,null);

		var url = '/mis_carpetas.buscar_fotos';
		var params = new Object();
		params['palabra_busc'] = encodeURIComponent(palabra);
		ajaxCaller.postForPlainText(url,params,redireccionar);
	}
}


var fotos_global = new Array(); //Guarda la informaci� de las fotos obtenidas de una carpeta para poder cambiar la portada

function pintar_dialogo_portada(fotos)
{
/* Funcion que a partir del conjunto de fotos de una carpeta, abre el cuadro de dialogo y muestra el nombre de las fotos que esta contiene y la foto pequenya segun la seleccion */
	abrir_dialogo('cambiar_portada','contenedor',400,250,null,'carpeta');
	for (var i=0; i<fotos.length; i++)
	{
		fotos_global[i] = new Object();
		fotos_global[i].ID_FOTO = fotos[i].ID_FOTO;
		fotos_global[i].NOMBRE_FOTO = fotos[i].NOMBRE_FOTO;
		fotos_global[i].PATH = fotos[i].PATH;
		fotos_global[i].V_H = fotos[i].V_H;
		
		document.carpeta.nombre_fotos.options[i] = new Option();
		document.carpeta.nombre_fotos.options[i].text = fotos[i].NOMBRE_FOTO;
		document.carpeta.nombre_fotos.options[i].value = fotos[i].ID_FOTO;
		//Queda seleccionada la foto de la portada
		if (fotos[i].ID_FOTO == objmanager.getIdFotoCarpetaSelect())
		{
			document.carpeta.nombre_fotos.options[i].selected = true;
			document.foto.src= fotos[i].PATH;
			//Carpeta vertical u horizontal
			if (fotos[i].V_H == 'V')
			{
				document.getElementById('div_foto').style.background = 'url(/imgfiles/Imagenes_mi_dichis/carpetas/carpeta_v_gris.gif) center no-repeat';
				document.getElementById('imagen_div_foto').style.paddingTop = '18px';
			}
			if (fotos[i].V_H == 'H')
			{
				document.getElementById('div_foto').style.background = 'url(/imgfiles/Imagenes_mi_dichis/carpetas/carpeta_h_gris.gif) center no-repeat';
				document.getElementById('imagen_div_foto').style.paddingTop = '28px';
			}
		}
		//No hay foto en la portada
		if (objmanager.getIdFotoCarpetaSelect() == 0)
		{
			document.foto.src= '/imgfiles/Imagenes_mi_dichis/carpetas/carpeta_simple.gif';
		}
	}
}

function cambiar_foto()
{
/* Funcion que segn el nombre de la foto que se selecciona muestra su imagen correspondiente*/
	var i=0;

	//Buscamos en la estructura global el path que nos interesa
	while (i<fotos_global.length)
	{
		if (fotos_global[i].ID_FOTO == document.carpeta.nombre_fotos.value)
		{
			document.foto.src = fotos_global[i].PATH;
			//Carpeta vertical u horizontal
			if (fotos_global[i].V_H == 'V')
			{
				document.getElementById('div_foto').style.background = 'url(/imgfiles/Imagenes_mi_dichis/carpetas/carpeta_v_gris.gif) center no-repeat';
				document.getElementById('imagen_div_foto').style.paddingTop = '18px';
			}
			if (fotos_global[i].V_H == 'H')
			{
				document.getElementById('div_foto').style.background = 'url(/imgfiles/Imagenes_mi_dichis/carpetas/carpeta_h_gris.gif) center no-repeat';
				document.getElementById('imagen_div_foto').style.paddingTop = '28px';
			}
		}
		i++;
	}
}

function guardar_nueva_portada(id_foto,orden,tipo)
{
/* Guarda la nueva portada a BDD 
	id_foto --> identificador de la foto que se ha seleccionado como nueva portada
	orden --> ordenacio del listado de las carpetas (fecha creacion,numero de fotos,nombre)
	tipo --> indica si las carpetas que se visualizaran son todas, solo las mias, mis compartidas o las que me han compartido
	inicio --> registro por el que empieza la paginacion
*/
	var url = '/mis_carpetas.cambiar_PortadaCarpeta';
	var params = new Object();
	params['id_foto'] = id_foto; 
	params['ordenacion'] = orden;
	params['tipo'] = tipo;
	params['inicio'] = objmanager.getPaginaActual();
	params['n_registros'] = objmanager.getRegistrosPagina();
	params['carpetas_select'] = objmanager.getSelected();
	ajaxCaller.postForPlainText(url,params,tratar_webservice);
	cerrar_dialogo('contenedor');
}

function tratar_webservice(json)
{
/* Funci� que segn la informacio que tenga el json llama a una opcion u otra. Hace de filtro.
	json --> lo devuelve la funcio hecha con eBDML y se lo pasa cuando llama con la url del webServices
 */
 	var all = eval('('+json+')');


	//Guarda en el objecManager el nmero total de fotos y de carpetas del usuario segn la consulta seleccionada
	if(all.total_carpetas != null && all.total_fotos != null)
	{
		objmanager.setTotalObjetos(all.total_carpetas,all.total_fotos);
	}
	//pinta las carpetas
	if(all.carpetas != null)
	{
		if (document.getElementById('contenedor_esperar') != null && document.getElementById('contenedor_esperar').style.visibility == 'visible')
		{
			cerrar_dialogo('contenedor_esperar');
		}
		document.getElementById('texto_no_carpetas_1').style.display = "none";
		document.getElementById('texto_no_carpetas_2').style.display = "none";
		document.getElementById('texto_no_carpetas_3').style.display = "none";
		document.getElementById('no_datos').style.display = "block";
		document.getElementById('hueco').style.display = "none";
		objmanager.repintar(all.carpetas); 
	}
	//No hay carpetas y sale el mensaje
	if (all.total_carpetas == 0)
	{
		if (document.getElementById('contenedor_esperar') != null && document.getElementById('contenedor_esperar').style.visibility == 'visible')
		{
			cerrar_dialogo('contenedor_esperar');
		}
		document.getElementById('no_datos').style.display = "none";
		document.getElementById('hueco').style.display = "block";
		document.getElementById("contenedor_carpetas").innerHTML="";
		if (document.form1.tipo.value == 'todas')
		{
			document.getElementById('texto_no_carpetas_1').style.display = "block";
			document.getElementById('texto_no_carpetas_2').style.display = "none";
			document.getElementById('texto_no_carpetas_3').style.display = "none";
		}
		if (document.form1.tipo.value == 'yo_compartido')
		{
			document.getElementById('texto_no_carpetas_2').style.display = "block";
			document.getElementById('texto_no_carpetas_1').style.display = "none";
			document.getElementById('texto_no_carpetas_3').style.display = "none";
		}
		if (document.form1.tipo.value == 'me_comparten')
		{
			document.getElementById('texto_no_carpetas_3').style.display = "block";
			document.getElementById('texto_no_carpetas_1').style.display = "none";
			document.getElementById('texto_no_carpetas_2').style.display = "none";
		}
	}
	//A partir de las fotos que hay en una carpeta abre el cuadro de dialogo para poder cambiar la portada
	if(all.fotos_carpeta != null)
	{
		pintar_dialogo_portada(all.fotos_carpeta);
	}
	//Validación de borrar las fotos si éstas forman parte de un proyecto
	if (all.validacion_carpetas != null)
	{
		mostrar_info_fotos_eliminar(all.validacion_carpetas);
	}
	//Mensaje de confirmaci� cuando un la operaci� ha tenido �ito
	if (all.confirmacion != null)
	{
		alerta(all.confirmacion);
	}
	//Guarda en una variable oculta el id de la ltima carpeta que se ha a�dido 
	if (all.ultima_carpeta != null)
	{
		document.form1.ultimo_id_carpeta.value = all.ultima_carpeta.id;
		//Abre el cuadro de dialogo que indica al usuario si quiere a�dir fotos a la carpeta o no. S�o se abre desde Mis carpetas, desde mis fotos NO
		abrir_dialogo('confirmar_upload','contenedor',300,125,null);
	}
	//Cuando ha ocurrido algn error inesperado
	if(all.error != null)
	{
		alerta(all.error);
	}
}

function anyadir_al_blog(error)
{
	if (!seleccion_objmanager(error))
	{
		cerrar_dialogo('contenedor');
	}
	else
	{
		cerrar_dialogo('contenedor');
		abrir_dialogo('espere','contenedor_esperar',300,100,null);
		var url = '/mis_carpetas.anyadir_al_blog';
		var params = new Object();
		params['carpetas_select'] = objmanager.getSelected();
		ajaxCaller.postForPlainText(url,params,redireccionar);
	}
}

function ir_a_organizar()
{
	var url = '/mis_carpetas.ir_a_organizar';
	var params = new Object();
	params['ids'] = objmanager.getSelected();
	params['tipo'] = document.form1.tipo.value;
	params['ordenacion'] = document.form1.ordenacion.value;
	params['filas'] = document.form1.filas.value;
	ajaxCaller.postForPlainText(url,params,redireccionar);
}

function redireccionar(url)
{
	location.href=url;
}

