	abk_add_buttons = function (){
		$( "input:submit, a, button", ".ui_acctions" ).button();
		 $( "input:submit, a, button", ".ui_acctions_del" ).button({icons: {
			primary: "ui-icon-trash"
			 }
		 });
		 
		 
		 $( "input:submit, a, button", ".ui_acctions_edit" ).button({icons: {
			primary: "ui-icon-pencil"
			 }
		 });
		 $( "input:submit, a, button", ".ui_acctions_cancel" ).button({icons: {
			primary: "ui-icon-circle-close"
			 }
		 });
		 $( "input:submit, a, button", ".ui_acctions_add" ).button({icons: {
			primary: "ui-icon-circle-plus"
			 }
		 });
		 $( "input:submit, a, button", ".ui_acctions_save" ).button(
								 {icons: {primary: "ui-icon-disk"}
								 //,disabled:true
								 
	});
	};
	abk_abrir_pop = function (id, modal){
		if (modal == 'si'){$('#mascara').fadeIn();}
		$('#'+id).fadeIn();
	};
	abk_cerrar_pop = function (){
		$('.ketchup-error').fadeOut();
		$('.pop_up').fadeOut(300, function(){$('#ajax_ver_noticia').html('');});
		
			};
	abk_abrir_noticia = function(id, galeria_id, adjunto_id){
		abk_global.galeria_id =galeria_id;
		abk_global.adjunto_id =adjunto_id;
		////console.log ('parametros abrir noticia = '+galeria_id+', '+adjunto_id);

		$('#ajax_ver_noticia').html('');
		abk_abrir_pop('pop_noticias');
		$('#ajax_ver_noticia').load('/articulos/ver_noticia/'+id+'/rnd:'+Math.random(), function(){
			////console.log ('parametros = '+abk_global.galeria_id+', '+abk_global.adjunto_id);
			$('#ver_noticia_galeria ').load("/galerias/ajax_index/"+galeria_id+"/type:imagen/rz_metodo:crop/limit:no/vista:ver_casillas/rz_ancho:56/rz_alto:55"+'/rnd:'+Math.random(), function(){
			//$('#ver_noticia_galeria ').load("/galerias/ajax_index/116/type:imagen/vista:ver_casillas/limit:no/ver_ocultos:no/rz_metodo:crop/rz_ancho:57/rz_alto:56/rz_pad_x:1/rz_pad_y:1//rnd:0.535452111356745" ,function(){				
		$("a.ampliable").fancybox({
			'transitionIn'	:	'elastic',
			'transitionOut'	:	'elastic',
			'speedIn'		:	600, 
			'speedOut'		:	200, 
			'overlayShow'	:	false,
			'titleShow'	:     true,
			'onComplete' : function(){ $.fancybox.resize;}
	});});
			$('#ver_noticia_adjuntos').load("/galerias/ajax_index/"+adjunto_id+"/type:texto/vista:ver_adjuntos/rz_ancho:26/rz_alto:25"+'/rnd:'+Math.random());

			});
	};
	abk_editar_noticia = function(id, user_id, gallery_id, adjuntos_id){
		$('#pop_editar_noticia').html('');
		abk_abrir_pop('pop_editar_noticia','si');
		$('#pop_editar_noticia').load('/articulos/ajax_editar_noticia/'+id+'/rnd:'+Math.random(), function(a,b,c){
			activar_upload(user_id, gallery_id,adjuntos_id);
			abk_cargar_editor('');
			//if (typeof(visor_de_medios) == 'object'){delete visor_de_medios;}
			
			visor_de_medios.config._galeria_id = gallery_id;
			visor_de_medios.config.id = gallery_id;
			visor_de_medios.config._adjuntos_id = adjuntos_id;
			
			
			visor_de_medios.init();

		});
	};
	abk_editar_galeria = function(id){
		$('#pop_editar_noticia').html('');
		abk_abrir_pop('pop_editar_noticia','si');
		$('#pop_editar_noticia').load('/galerias/ajax_editar_book/'+id+'/rnd:'+Math.random(), function(a,b,c){
				
			
			
			
			$( "#tabs" ).tabs({
						create: function(event, ui) {
							activar_upload(1, id);
							abk_cargar_editor('');
							
							
							//if (typeof(visor_de_medios) == 'object'){delete visor_de_medios;}//¿da error en el puto explorer?
							visor_de_medios.config.mostrar_vista_previa = false;
							visor_de_medios.config.param.vista = 'casillas_grandes';
							visor_de_medios.config.param.rz_ancho = 151;
							visor_de_medios.config.param.rz_alto = 150;
							
							visor_de_medios.config._galeria_id = id;
							visor_de_medios.config.id = id;
							visor_de_medios.config._adjuntos_id ='no';
							visor_de_medios.config.url.cambiar_portada ='/galerias/ajax_cambiar_portada/';
							
							visor_de_medios.config.formName ='form_editar_galeria';
							visor_de_medios.config.formRootId ='GaleriaId';
							visor_de_medios.config.formPortada ='AssetId';
							visor_de_medios.config.editar_pie_de_foto =true;
							visor_de_medios.init();
								abk_add_buttons();
                  $( "#wrap_bt_guardar_pie_de_foto").button( {icons: {primary: "ui-icon-disk"},
								 disabled:true
								
								 
							 });
							$( "#wrap_bt_eliminar_foto").button(
								 {icons: {primary: "ui-icon-trash"}, disabled:true
								
								 
							 });
						}
			});
		});
	};

	abk_confirmar_del_noticia =  function(id, titulo){
		////console.log('abkmsg')
		$('#abk_msg').attr('title','Eliminar Noticia');
		$('#abk_msg').attr('data-parametros',id);
		$('#abk_msg_texto').html(
			"<p><span class='ui-icon ui-icon-alert' style='float:left; margin:0 7px 20px 0;'></span>Desea eliminar la noticia:</p><p><b> "+titulo+"</b></p><p>Esta operación no puede deshacerse</p>"
			);		
		$( "#abk_msg" ).dialog( "option", "height", 160 );
		$( "#abk_msg" ).dialog( "option", "buttons", {
			"Eliminar": function(e) { abk_ajax_del_noticia($(this).attr('data-parametros')); $(this).dialog("close"); },
			"Cancel": function() { $(this).dialog("close"); }
			
			} );

		$('#abk_msg').dialog('open');
	};
	
	abk_ajax_del_noticia = function(id){
		//console.log('ajax_del_noticia_nuevo');
		var _fila_id = oTable.fnFindCellRowIndexes( id, 0 );
		$('#ajax_response').html('');
		$('#ajax_response').load('/articulos/ajax_delete/'+id+'/rnd:'+Math.random(), function(respuesta, resultado){
			if ( resultado =="success"){
				oTable.fnDeleteRow(parseInt(_fila_id[0],10), false, false);
				oTable.fnStandingRedraw();
			}
			});
		
		
	};	
	
abk_editar_user = function(user_id){
	////console.log(user_id);
		$('#pop_editar_noticia').html('');
		abk_abrir_pop('pop_editar_noticia','si');
		$('#pop_editar_noticia').load('/users/ajax_editar_user/'+user_id+'/rnd:'+Math.random(), function(){
				$.ketchup.messages({
			required : 'Campo obligatorio',
			minlength: 'El campo debe tener al menos {arg1} caracteres',
			email: 'debe ser una dirección de correo válida'
		});
		$.ketchup.validation('coincide', 'La contraseña no coincide', function(form, el, value, el_coincidente) {
			////console.log(el_coincidente+ ' ' + value + $('#'+el_coincidente).val());
			if(value == $('#'+el_coincidente).val()) {
			return true;
			} else {
				return false;
				}
		});
		$.ketchup.validation('disponible', 'la dirección de correo ya existe, elija otra', function(form, el, value) {
	
			respuesta = $.inArray(value, abk_global.usernames);
			////console.log (respuesta);
			if(respuesta < 0) {
			return true;
			} else {
				return false;
				}
		});		
		
		$('#UserEditForm').ketchup();


		});
	};
	abk_ajax_del_user_antes = function(id){
		$('#ajax_response').html('');
		$('#ajax_response').load('/users/ajax_delete/'+id+'/rnd:'+Math.random(), function(id, resultado){
			////console.log('abk_ajax_del_noticia '+resultado)
			if ( resultado =="success"){
				$("#row_user_"+id).fadeOut();
			}
			});
		abk_cerrar_pop();
	};
	abk_confirmar_del_user_antes =  function(id, titulo){
		////console.log('abkmsg')
		$('#abk_msg_titulo').html('Alerta:');
		$('#abk_msg_texto').html(
			'<p>Desea eliminar el usuario:</p><p><b>'+titulo+'</b></p><p>Esta operación no puede deshacerse</p>');
		$('#abk_msg_bt').html('<a href="javascript:;" onClick="abk_cerrar_pop();">Cancelar</a>'+
				'<a href="javascript:;" onClick="abk_ajax_del_user('+id+');">Eliminar</a>');		
		
		abk_abrir_pop('abk_msg','si');
	};


	abk_confirmar_del_user =  function(id, titulo){
		////console.log('abkmsg')
		$('#abk_msg').attr('title','Eliminar Usuario');
		$('#abk_msg').attr('data-parametros',id);
		$('#abk_msg_texto').html(
			"<p><span class='ui-icon ui-icon-alert' style='float:left; margin:0 7px 20px 0;'></span>Desea eliminar el Usuario:</p><p><b> "+titulo+"</b></p><p>Esta operación no puede deshacerse</p>"
			);		
		$( "#abk_msg" ).dialog( "option", "height", 160 );
		$( "#abk_msg" ).dialog( "option", "buttons", {
			"Eliminar": function(e) { abk_ajax_del_user($(this).attr('data-parametros')); $(this).dialog("close"); },
			"Cancel": function() { $(this).dialog("close"); }
			
			} );

		$('#abk_msg').dialog('open');
	};
	
	abk_ajax_del_user = function(id){
		var _fila_id = oTable.fnFindCellRowIndexes( id, 0 );
		$('#ajax_response').html('');
		$('#ajax_response').load('/users/ajax_delete/'+id+'/rnd:'+Math.random(), function(respuesta, resultado){
			if ( resultado =="success"){
				oTable.fnDeleteRow(parseInt(_fila_id[0],10), false, false);
				oTable.fnStandingRedraw();
			}
			});
		
		
	};
	
	abk_ajax_del_galeria = function(id){
		var _fila_id = oTable.fnFindCellRowIndexes( id, 0 );
		oTable.fnDeleteRow(parseInt(_fila_id[0],10), false, false);
		oTable.fnStandingRedraw();

		$('#ajax_response').html('');
		$('#ajax_response').load('/galerias/ajax_delete/'+id+'/rnd:'+Math.random(), function(respuesta, resultado){
			if ( resultado =="success"){
				var data = respuesta.split('|');
				
				
			var i=0;
			var z = data.length;
			var _orden_nuevo =[];
			var _tmp, _fila;
			for( i=0; i < z; i++){
				if ( data[i]){
					_orden_nuevo [i] = data[i].split('&');
					 
					_tmp = oTable.fnFindCellRowIndexes( _orden_nuevo[i][0], 0 );
					_fila = parseInt(_tmp[0],10);
					////console.log ('Pasada'+i+' de '+z+' data-fila = '+_fila+'->'+_orden_nuevo[i][1]+' '+_orden_nuevo[i][0] );
					oTable.fnUpdate( _orden_nuevo[i][1], _fila, 5,false,false);
					//console.log('fin pasada '+i);
				}
				
			}
		
				
				//var _fila = parseInt($("tr.elimina_me").attr('data-fila'));
				//oTable.fnDeleteRow(_fila);
				oTable.fnStandingRedraw();
			}
			});
		
		
	};
	abk_confirmar_del_galeria =  function(id, titulo){
		////console.log('abkmsg')
		$('#abk_msg').attr('title','Eliminar Galería');
		$('#abk_msg').attr('data-parametros',id);
		$('#abk_msg_texto').html(
			"<p><span class='ui-icon ui-icon-alert' style='float:left; margin:0 7px 20px 0;'></span>Desea eliminar la galeria:</p><p><b> "+titulo+"</b></p><p>Esta operación no puede deshacerse</p>"
			);
		//$('#abk_msg_bt').html('<a href="javascript:;" onClick="abk_cerrar_pop();">Cancelar</a>'+
				//'<a href="javascript:;" onClick="abk_ajax_del_galeria('+id+');">Eliminar</a>');		
		
		$( "#abk_msg" ).dialog( "option", "height", 160 );
		$( "#abk_msg" ).dialog( "option", "buttons", {
			"Eliminar": function(e) { abk_ajax_del_galeria($(this).attr('data-parametros')); $(this).dialog("close"); },
			"Cancel": function() { $(this).dialog("close"); }
			
			} );

		$('#abk_msg').dialog('open');
	};
	abk_guardar_user = function(){
		
		if($('#UserEditForm').ketchup('isValid')){
			$('#UserEditForm').ajaxSubmit({
					success:    function() { 
					
					window.location.reload(true); 
					 } 
				
				});
			abk_cerrar_pop();
			
			
		}
		else {
			$('.validar','#UserEditForm').each(function(index, elm){
			$(elm).ketchup('validate');
			});
		}
		
			
	};
	abk_msg = function(id, titulo){
		////console.log('abkmsg')
		$('#abk_msg_titulo').html('Alerta:');
		$('#abk_msg_texto').html(
			'<p>Desea eliminar la noticia:</p><p>'+titulo+'</p><p>Esta operación no puede deshacerse</p>');
		$('#abk_msg_bt').html('<a href="javascript:;" onClick="abk_cerrar_pop();">Cancelar</a>'+
				'<a href="javascript:;" onClick="abk_ajax_del_noticia('+id+');">Eliminar</a>');		
		
		abk_abrir_pop('abk_msg','si');
	};	
	abk_guardar_noticia = function(){
		$('#cuerpo').tinymce().remove();
			$('#form_editar_noticia').ajaxSubmit({
					success:    function() { 
					
					window.location.reload(true); 
					 } 
				
				});
			abk_cerrar_pop();
	};
	abk_ajax_add_noticia = function (){
		$('#ajax_response').load('/articulos/ajax_add'+'/rnd:'+Math.random(), function(respuesta){
			respuesta = respuesta.split('|');
			////console.log('abk_ajax_add_noticia '+ respuesta[1] +', ' + respuesta[2]+ ' '+ respuesta[3] );
			if (respuesta[0]=='ok'){
				abk_editar_noticia(respuesta[1] ,1 , respuesta[2], respuesta[3]); //TODO usuarios? -> id, user_id, gallery_id, adjuntos_id)
				
				}
			});
	};
	abk_ajax_add_galeria = function (){
$.getScript('/galerias/ajax_add'+'/rnd:'+Math.random()+"'", function(data, textStatus){
	
			});
	};
	abk_guardar_galeria = function(){
			$('#cuerpo').tinymce().remove();
			
			$('#form_editar_galeria').ajaxSubmit({
					success:    function() {
					$('#texto_de_estado').html('guardado').fadeIn(1000).delay(1000).fadeOut();
					abk_cargar_editor();
					 } 
				
				});
		
			
	};
	abk_actualizar_fila_galeria = function(id){
		$.getScript('/galerias/actualizar_fila_galeria/'+id+'/rnd:'+Math.random()+"'", function(data, textStatus){
	
			});
	};
ajex_cargar_foto_articulo = function(respuesta){
	////console.log('foto_articulo')
	respuesta = respuesta.split('|');
	if (respuesta[0] == 'error'){alert('Se ha producido unif error al subir el archivo, por favor asegure se de que el archivo no es demasiado grande y tiene la extensión .jpg, .gif o .png, e intente lo de nuevo');
	}
	else {
		abk_spin('foto_articulo');
		$("#foto_articulo").load('/assets/ajax_view/'+respuesta[0]+"/rz_metodo:wrap/rz_ancho:300/rz_alto:460"+'/rnd:'+Math.random(), function(){abk_spin('foto_articulo');});
		$("#AssetId").val(respuesta[0]);
	}
	return false;
};
ajax_cargar_asset =function(asset_id, rz_metodo, rz_ancho, rz_alto, target){ //target ha de expresarse con la forma "id_target"
	abk_spin(target);
	$("#"+target).load('/assets/ajax_view/'+asset_id+"/rz_metodo:"+rz_metodo+"/rz_ancho:"+rz_ancho+"/rz_alto:"+rz_alto+'/rnd:'+Math.random(),  function(){
		$('.abk_spin').fadeOut();		
		});
	
};
	activar_upload =function(user_id, galeria_id,adjuntos_id){
		$("#uploadify").uploadify({
		'uploader'       : '/js/uploadify.swf',
		'script'         : '/assets/ajax_add/'+'user_id:'+user_id+'/galeria_id:'+galeria_id+'/adjuntos_id:'+adjuntos_id+'/rnd:'+Math.random(), 'fileDataName'   : 'data[Asset]',
		//'scriptAccess' : 'always',
		'cancelImg'      : '/css/cancel.png',
		'folder'         : '/files/uploads/',
		'queueID'        : 'fileQueue',
                'queueSizeLimit' : 10,
                'fileDesc'       : ' ',
                'fileExt'        :'*.jpg;*.png;*.gif;*.doc;*.xdoc;*.pdf;*.pps' ,//TODO AÑADIR TODAS LAS EXTENSIONES ADMITIDAS
		'auto'           : true,
		'multi'          : true,
                'buttonText'     : 'Subir archivos',
		'height'      : 30,

		
		
		
		
		'scriptData'     :{'data[User][id]': user_id},
		//'sizeLimit'	: 3145728,
                'onSelect'       : function (){
                                     $('#wrap_fileQueue').show();
                                     //$('#ver_assets').slideUp('300');
                                   },
                'onComplete'   : function (uno, dos, tres, respuesta, cinco){
                                    //ajex_cargar_foto_articulo('578');
				  ////console.log(respuesta);
                                   },
		'onAllComplete': function (){
			$('#wrap_fileQueue').fadeOut();
			////console.log('todos completos');
				visor_de_medios.init();
		},
                  'onError'     : function (event,ID,fileObj,errorObj) {
			 alert(errorObj.type + ' Error: ' + errorObj.info);
			 
			$("#uploadify").uploadifyClearQueue();
			return false;
			  }
                                   
                                   
                                   
		});
		
	};
abk_spin = function(id_target){//no tiene en cuenta el padding
	if ($('#spin_'+id_target).length === 0){
		$("#"+id_target).css('position','relative');
		x = $("#"+id_target).innerWidth();
		y = $("#"+id_target).innerHeight();
		div = $(document.createElement('div')).attr({'id':'spin_'+id_target, 'class':'abk_spin'}).css({'display':'none','width':x, 'height':y, 'position':'absolute','top':'0', 'left':'0','z-index':'1000', 'background-color':'#fff'});
		spiner =$(document.createElement('img')).attr('src','/images/spin.gif').css({'top':((parseInt(y,10)/2)-12)+'px' , 'left' : ((parseInt(x,10)/2)-12)+'px', 'position':'absolute'});//CAMBIO_1.1
		$("#"+id_target).append(div);
		$('#spin_'+id_target).append(spiner);	
	}
		
	$('#spin_'+id_target).fadeIn();
};
abk_cargar_editor = function() {
	
		tinimce_onchange = function(inst){
		
		};
		tinimce_onRemove =function(inst){
			////console.debug(inst);
			campo_destino = $('#cuerpo');
				var valor = '';
				valor = $(inst).html();
				valor = valor.replace(/\t/g, "");
				valor = valor.replace(/\n/g, "");
	
				campo_destino.val(valor);
		};
		
	
		$('#cuerpo').tinymce({
			// Location of TinyMCE script
			script_url : '/js/tiny_mce/tiny_mce.js',
			// Theme options
				theme : "advanced",
				plugins : "safari, autoresize,inlinepopups,paste",
				paste_auto_cleanup_on_paste : true,

				theme_advanced_buttons1 : "bold,italic,|,justifyleft,justifycenter,justifyright,justifyfull,|,bullist,numlist,|,outdent,indent,blockquote,|,link,unlink,|,pasteword, cleanup,removeformat ",
				theme_advanced_buttons2 : "",
				theme_advanced_buttons3 : "",
				theme_advanced_toolbar_location : "top",
				theme_advanced_toolbar_align : "left",
				theme_advanced_statusbar_location : "none",
				theme_advanced_resizing : true,
				dialog_type : "modal",
				entity_encoding : "raw",
				force_p_newlines : true,
				force_br_newlines : false,
				forced_root_block : '', // Needed for 3.x
				onchange_callback : "tinimce_onchange",
				remove_instance_callback : "tinimce_onRemove"
				// Example content CSS (should be your site CSS)
			//content_css : "css/content.css",
			//
			//// Drop lists for link/image/media/template dialogs
			//template_external_list_url : "lists/template_list.js",
			//external_link_list_url : "lists/link_list.js",
			//external_image_list_url : "lists/image_list.js",
			//media_external_list_url : "lists/media_list.js",
			//
			//// Replace values for the template plugin
			//template_replace_values : {
			//	username : "Some User",
			//	staffid : "991234"
		});
	
	
	
		
	};
	
abk_ajax_cambiar_estado = function(id,val,url){
		var _fila_id = oTable.fnFindCellRowIndexes( id, 0 );
	if (val == 'Borrador') {oTable.fnUpdate( '99999', _fila_id[0], 5 );  }
		$('#ajax_response').html('');
		$('#ajax_response').load(url+id+'/'+val+'/rnd:'+Math.random(), function(respuesta, resultado){
			data = respuesta.split('|');
			
			var i=0;
			var z = data.length;
			var _orden_nuevo = [];
			for( i=0; i < z; i++){
				if ( data[i]){
					_orden_nuevo [i] = data[i].split('&');
					
					 _fila = oTable.fnFindCellRowIndexes( _orden_nuevo[i][0], 0 );
					oTable.fnUpdate( _orden_nuevo[i][1], parseInt(_fila[0],0), 5 ,false,false);
					oTable.fnStandingRedraw();

				}
				
			}
			
			// oTable.fnSort( [[4  ,'asc']] );

			
			});
};
//abk_ajax_cambiar_portada= function(id,asset_id){
//		$('#ajax_response').html('');
//		$('#ajax_response').load('/articulos/ajax_cambiar_portada/'+id+'/'+asset_id+'/rnd:'+Math.random(), function(respuesta, resultado){
//			return true;////console.log('abk_ajax_cambiar_portada'+resultado)
//			});
//}
var abk_galeria = function(galeria_id, adjuntos_id){
    var config = {
	id:'',
	_galeria_id : '',
	_adjuntos_id : '',
        widget_id :"#visor_de_medios",
	formName:'form_editar_noticia',
	formRootId:'ArticuloId',
	formPortada:'AssetId',
	mostrar_vista_previa : true,
	editar_pie_de_foto: false,
	elem:{
		vs_index:'vm_lista_medios',
		bt_add:'',
		bt_del:'',
		bt_edit:'',
		clase_selectable:''
	},
        current:{
            id:'vacio'//,
            //class: ''
        },
        
        param: {
            type: "imagen",
	    vista:'casillas',
            offset: null,
            limit:'no',
            user_id: null,
            orden: null,
            ver_ocultos:'no',
            rz_metodo:'crop',
            rz_ancho:'40',
            rz_alto:'40',
            rz_pad_x:1,
            rz_pad_y:1
        },
        url:{
            add:'',
            del:'/galerias/ajax_del_asset',
            edit:'',
            index:'/galerias/ajax_index/',
	    cambiar_portada:'/articulos/cambiar_portada/'
	    
        }
        
    };
    
    // start of main code
	function init(){
		
		////console.debug(this.config)
		 $('.bt_interruptores a').unbind();
		 
		 $('#vm_del').unbind();
		 
		
		
	        $('.bt_interruptores a').click(function(){
			$('.bt_interruptores a').not(this).removeClass('selected');
			$(this).addClass('selected');
			////console.log('fire bt iterruptores')

		});				

		$('#vm_del').bind('click', function(){
			//console.log('evento registrado')
			if (config.current.id != 'vacio'){
				$("#item_v_media_"+config.current.id).fadeOut(function(){$(this).remove();});
				$('#vm_vista_previa').html('');
				
				$('#ajax_response').load('/assets/ajax_del_asset_completo/'+config.current.id+'/rnd:'+Math.random(), function(){
					//console.log('ciertamente')
					config.current.id = 'vacio';
					_cambiar_orden();
				
					$("#ed_pie_de_foto").val('');
					$("#wrap_bt_guardar_pie_de_foto").button('disable');
					
					$("#wrap_bt_eliminar_foto").button('disable');
					
					});// fin load
				}//if
			});	

		
		index();
	}//init
	function filtro(tipo, valor){
		switch (tipo){
			case "imagen":
				config.param.type = 'imagen';
				config.param.vista = 'casillas';
				config.id = config._galeria_id;
				config.current.id ='vacio';
				////console.log(config.id)

			break;
			case "documentos":
				config.param.type = 'texto';
				config.param.vista = 'lista';
				config.id = config._adjuntos_id;
				config.current.id ='vacio';
				////console.log(config.id)


			break;
			case "ultimos":
				config.param.orden = 'ultimos';
				config.param.limit = 10;
			break;
			case "todos":
				config.param.orden = 'ultimos';
				config.param.limit = 50;				
			break;
		}
		index();
	}
	function  _cambiar_orden(){
		var elementos = null;
		var galeria_vacia = false;
		var formRootId =$('form#'+config.formName+' input#'+config.formRootId).val();

		elementos = $('li.item_v_media');
		////console.log('elementos.length '+elementos.length)
		
		if(elementos.length === 0 && $('#foto_articulo').attr('data-AssetId') != 1 && config.param.type == 'imagen'){
			primero = 1;
			ajax_cargar_asset (primero, 'wrap', 180, 220, 'foto_articulo');
			
			$('#foto_articulo').attr('data-AssetId', primero);
			$('form#'+config.formName+ ' input#'+config.formPortada).val(primero);//actualizamos el valor de la portada en el form
			_cambiar_portada(formRootId,primero);
			}
		if(elementos.length > 0){
			primero = $(elementos[0]).attr('data-AssetId');
			
		
			portada = $('#foto_articulo').attr('data-AssetId');

			if(primero != portada && config.param.type == 'imagen'){
				//console.log ('hoy-> este es el caso');
					ajax_cargar_asset (primero, 'wrap', 180, 220, 'foto_articulo');
					ajax_cargar_asset (primero, 'crop', 45, 45, 'miniatura_listado_'+formRootId);
////console.log('ahora si '+'miniatura_listado_'+articulo_id )
					$('#foto_articulo').attr('data-AssetId', primero);
					$('form#'+config.formName+ ' input#'+config.formPortada).val(primero);
					formRootId =$('form#'+config.formName+' input#'+config.formRootId).val();
					//console.log ('formRootId ='+formRootId);
					_cambiar_portada(formRootId,primero);
		
				
				var orden =elementos.map(function(){return $(this).attr('data-AssetId');}).get().join('|'); //cambio -> var añadido
						$('#ajax_response').load('/galerias/ajax_cambiar_orden/'+config.id+'/orden:'+orden+'/rnd:'+Math.random(), function(respuesta){
							//console.log('sss_cambiar_orden'+orden)
							////console.debug('_cambiar_orden orden'+orden);
						});
				}
		}
		
	}
	function _add_eventos(){
		$( "#galeria_lista" ).sortable({'handle':'.handler','scroll':true, 'stop':function (event,ui){
			_cambiar_orden();
			
			}});
		$( "#galeria_lista" ).disableSelection();
		$('li.item_v_media ').unbind();
		$('li.item_v_media ').bind('click', function(){
			$('li.item_v_media').not(this).removeClass('selected');
			$(this).addClass('selected');
			asset_id = $(this).attr("data-assetId");
			config.current.id = asset_id;
			$('#wrap_bt_eliminar_foto').button('enable');
			if (config.mostrar_vista_previa){
				////console.log ('config.mostrar_vista_previa = true');
				if(config.param.type == 'imagen'){ajax_cargar_asset(asset_id,"wrap","208","200","vm_vista_previa");}
				else {$('#vm_vista_previa').html('');}
				
			}
			if (config.editar_pie_de_foto){
				////console.log ('config.mostrar_vista_previa = true');

				//$('#bt_guardar_pie_de_foto').button( "disable" );
				$('#ed_pie_de_foto').val($(this).attr("data-AssetsGaleriaPie"));
				$('#ed_pie_de_foto').attr("data-AssetsGaleriaId", $(this).attr("data-AssetsGaleriaId") );
				
				$('#ed_pie_de_foto').attr("data-elementoOriginal", $(this).attr("id") );
			}
			
			
		});
		if (config.editar_pie_de_foto){
			$("#bt_guardar_pie_de_foto").bind('click', function() {
				
				var _assetsGaleria_id = $('#ed_pie_de_foto').attr("data-AssetsGaleriaId" );
				var _texto = $('#ed_pie_de_foto').val();
				var _elementoOriginal = $('#'+$('#ed_pie_de_foto').attr("data-elementoOriginal" ));

					//console.log ("_assetsGaleria_id "+_assetsGaleria_id)
					//console.log ("_texto "+_texto )
					//console.log ("_elementoOriginal.attr(data-AssetsGaleriaPie) "+_elementoOriginal.attr("data-AssetsGaleriaPie"))				
				
				if (_assetsGaleria_id!=="" && _elementoOriginal.attr("data-AssetsGaleriaPie")!=_texto){




					$.post('/galerias/ajax_ed_pie_de_foto', { 'data[AssetsGaleria][id]': _assetsGaleria_id, 'data[AssetsGaleria][pie_de_foto]': _texto }, function(data) {
					 data = data.split('|');
					 $('#ed_pie_de_foto').val(data[1] );
					 _elementoOriginal.attr("data-AssetsGaleriaPie", data[1]);
					 $('a.ampliable', _elementoOriginal ).attr('title',data[1]);
					 $("#wrap_bt_guardar_pie_de_foto").button('disable');
						});	
					}				
				
			});
			
			$('#vm_del').bind('click', function(){
			//console.log('evento registrado')
			if (config.current.id != 'vacio'){
				$("#item_v_media_"+config.current.id).fadeOut(function(){$(this).remove();});
				$('#vm_vista_previa').html('');
				
				$('#ajax_response').load('/assets/ajax_del_asset_completo/'+config.current.id+'/rnd:'+Math.random(), function(){
					//console.log('ciertamente')
					config.current.id = 'vacio';
					_cambiar_orden();
					$("#ed_pie_de_foto").val('');
					$("#wrap_bt_guardar_pie_de_foto").button('disable');
					
					$("#wrap_bt_eliminar_foto").button('disable');
					});
				}//if
			});
				
		}//IF CA
		$("a.ampliable").fancybox({
			'transitionIn'	:	'elastic',
			'transitionOut'	:	'elastic',
			'speedIn'		:	600, 
			'speedOut'		:	200, 
			'overlayShow'	:	false
		});

        }
	function index(){
		////console.log(config.param)
		var param = _formatear_parametros_get(config.param);
		var query = config.url.index+config.id+'/'+param;
		abk_spin (config.elem.vs_index);
		$('#'+config.elem.vs_index).load(query+'/rnd:'+Math.random(),function(){
			_add_eventos();
			_cambiar_orden();
			$('.abk_spin').fadeOut();
		});

        }
	function _formatear_parametros_get(arr){
		var result = "";
		for(var index in arr) {
			if (arr[index]!== null){
				result +=( index + ":" + arr[index] + "/");	
			}
			
		}

		return result;

	}
	_cambiar_portada= function(id,asset_id){
		$('#ajax_response').html('');
		$('#ajax_response').load(config.url.cambiar_portada+id+'/'+asset_id+'/rnd:'+Math.random(), function(respuesta, resultado){
		//console.log('hoy -> abk_ajax_cambiar_portada'+resultado);

			return true;
			});
};
    return {
    init:init,
    idex:index,
    config:config,
    filtro:filtro
    };
};
function hoy()
{
	var fechaActual = new Date();
	dia = fechaActual.getDate();
	mes = fechaActual.getMonth() +1;
	anno = fechaActual.getYear();
	if (dia <10) dia = "0" + dia;
	if (mes <10) mes = "0" + mes;
	if (anno<2000) anno = anno +1900;
	fechaHoy = dia + "-" + mes + "-" + anno;
	return fechaHoy;
}
// jQuery Plugin Boilerplate
// A boilerplate for jumpstarting jQuery plugins development
// version 1.1, May 14th, 2011
// by Stefan Gabos http://stefangabos.ro/jquery/jquery-plugin-boilerplate-oop/

// remember to change every instance of "pluginName" to the name of your plugin!
(function($) {

    // here we go!
    $.abk_animated_scroll = function(element, options) {

        // plugin's default options
        // this is private property and is  accessible only from inside the plugin
        var defaults = {

            ancho_pagina: 800,
	    id_contenedor_paginas:'paginas_book_de_obras',
	    num_paginas: 1,
	    pagina_actual :1,
	    editar : false,
	    bt_editar: false,
	    
	    

            // if your plugin is event-driven, you may provide callback capabilities for its events.
            // execute these functions before or after events of your plugin, so that users may customize
            // those particular events without changing the plugin's code
            onFoo: function() {}

        };

        // to avoid confusions, use "plugin" to reference the current instance of the object
        var plugin = this;

        // this will hold the merged default, and user-provided options
        // plugin's properties will be available through this object like:
        // plugin.settings.propertyName from inside the plugin or
        // element.data('pluginName').settings.propertyName from outside the plugin, where "element" is the
        // element the plugin is attached to;
        plugin.settings = {};

        var $element = $(element),  // reference to the jQuery version of DOM element the plugin is attached to
             _element = element;        // reference to the actual DOM element

        // the "constructor" method that gets called when the object is created
        plugin.init = function() {

            // the plugin's final properties are the merged default and user-provided options (if any)
            plugin.settings = $.extend({}, defaults, options);
	    plugin.element = element;
	    var nav_bar = $("<div id='nav_book_de_obras'></div>");
	    var anterior = $("<a class='nav_item nav_anterior disabled' href='javascript:;' onClick=\"$('#marco').data('abk_animated_scroll').anterior();\"><</a>");
	    var paginas = [];
	    var num_paginas = _num_paginas();
	    anterior.appendTo(nav_bar);
	    for (x=1; x<=num_paginas; x++){
			paginas[x]=$("<a id = 'nav_item_"+x+"' class='nav_item nav_item_num' href='javascript:;' onClick=\"$('#marco').data('abk_animated_scroll').ir_a_pag("+x+");\">"+x+"</a>");
			paginas[x].appendTo(nav_bar);
	    }
	    var siguiente =$("<a class='nav_item nav_siguiente' href='javascript:;' onClick=\"$('#marco').data('abk_animated_scroll').siguiente();\">></a>");
	    siguiente.appendTo(nav_bar);
	    nav_bar.appendTo($('#galeria'));
	   
	    $("li.li_gvi_item").hover(
		
		function () {
			if(!plugin.settings.editar){
			  $('div.titulo_gvi', this).fadeTo(200,0.8);
			}
		}, 
		function () {
			if(!plugin.settings.editar){
			  $('div.titulo_gvi', this).fadeOut();
			}
		  }
	      );


		
        };

        // public methods
        // these methods can be called like:
        // plugin.methodName(arg1, arg2, ... argn) from inside the plugin or
        // element.data('pluginName').publicMethod(arg1, arg2, ... argn) from outside the plugin, where "element"
        // is the element the plugin is attached to;

        // a public method. for demonstration purposes only - remove it!
	plugin.editar = function(e){
		
		if(!plugin.settings.editar){
			plugin.settings.editar = true;
			$(e.target).css({'background-color':'red','background-image':'none' }).addClass('bt_rojo');
			$('span' , e.target).text('Guardar');
				$element.css({'overflow':'auto'});
				$('#nav_book_de_obras').fadeOut();
					$('#'+$element.attr('id') +' .sortable-list').sortable({
						connectWith: '#'+$element.attr('id') +' .sortable-list',
						containment: '#paginas_book_de_obras',
						placeholder: 'placeholder',
						receive: function(event, ui) {
							////console.log('receive');//console.debug(event);//console.debug(ui);
							plugin.actualizar_paginas();
							
							}
						
					});
		}
		else{
			plugin.settings.editar = false;
			$(e.target).css({'background-color':'','background-image':'' });
			$('span' , e.target).text('Editar');
				$element.css({'overflow':'hidden'});
				$('#nav_book_de_obras').fadeIn();
				plugin.reset_scroll();
			$('#'+$element.attr('id') +' .sortable-list').sortable('destroy');
			var $ids =$('li.li_gvi_item');
			$ids.each(function (i){
				s_fila_id = oTable.fnFindCellRowIndexes( parseInt($(this).attr('data-GaleriaId'),0), 0 );
				var orden = i+1;
				oTable.fnUpdate(orden, parseInt(s_fila_id[0],0), 5,false);
				});
			var orden =$ids.map(function(){return $(this).attr('data-GaleriaId');}).get().join('|');
			
			$('#ajax_response').load('/galerias/ajax_cambiar_orden_general/orden:'+orden+'/rnd:'+Math.random(), function(respuesta){
							//console.log('sss_cambiar_orden'+orden)
				oTable.fnStandingRedraw();				
						});

		}
	};
        plugin.reset_scroll = function() {
		//console.log('Reset scrolllll  ' +plugin.settings.bt_editar);
            $element.scrollLeft(0);
	    plugin.settings.num_paginas = _num_paginas();
	    _actualizar_nav();
		plugin.settings.editar = false;
			$('.bt_rojo').css({'background-color':'','background-image':'' });
			$('span' , '.bt_rojo').text('Editar');	
			
        };
        plugin.siguiente = function() {
		_ir_a();
        };
        plugin.anterior = function() {
		_ir_a(-1);
            

        };
	plugin.ir_a_pag = function(num_pag) {
		var pag_actual = _pag_actual();
		var direccion = 1;
		if (pag_actual !== num_pag){
			if (num_pag < pag_actual){direccion= -1;}
			var distancia = Math.abs(pag_actual-num_pag)*plugin.settings.ancho_pagina;
			_ir_a(direccion,distancia);
		}

        };
	plugin.actualizar_paginas = function(){
		var pagina_actual = 1;
		
		for (pagina_actual = 1; pagina_actual<=_num_paginas(); pagina_actual++){
			var $pagina_actual = $('#ul_gvi_'+pagina_actual);
			var items_pagina = _contar_items_pagina(pagina_actual);
			var max_items_pagina =  parseInt($pagina_actual.attr('data-max_items'),10);
			var pagina_siguiente = parseInt(pagina_actual,10)+1;

			if(items_pagina > max_items_pagina){
				$('li', '#ul_gvi_'+pagina_actual).last().prependTo($('#ul_gvi_'+pagina_siguiente));
				////console.log($('#ul_gvi_'+pagina_actual+1));	
			}
			if(items_pagina < max_items_pagina){
				$('li', '#ul_gvi_'+pagina_siguiente).first().appendTo('#ul_gvi_'+pagina_actual);
				////console.log($('#ul_gvi_'+pagina_actual+1));	
			}
			////console.log('pagina_actual = '+pagina_actual+' items= '+items_pagina+' max ='+max_items_pagina);
		}
	};
        // private methods
        // these methods can be called only from inside the plugin like:
        // methodName(arg1, arg2, ... argn)

        // a private method. for demonstration purposes only - remove it!
        var _ir_a = function(direccion, distancia) {
		
		if( typeof( direccion ) === "undefined" || direccion === null ) direccion = 1;
		if( typeof( distancia ) === "undefined" || distancia === null ) distancia = plugin.settings.ancho_pagina;
		var pos = $element.scrollLeft();
		distancia = pos + (distancia * direccion);
		$element.animate({scrollLeft: distancia}, 400, 'swing', function() {
			_actualizar_nav();
			
			
			});

        };
	var _pag_actual = function(){
		var pos = $element.scrollLeft();
		var pag = (pos/plugin.settings.ancho_pagina)+1;
		return pag;
		};
	var _num_paginas = function(){
		var $contenedor = $('#'+plugin.settings.id_contenedor_paginas);
		var ancho = $contenedor.width();
		var num_paginas = (ancho/plugin.settings.ancho_pagina);
		//////console.log ($contenedor)
		
		
		return num_paginas;
		};
	var _actualizar_nav = function (){
		var pag_actual = _pag_actual();
		var ultima_pagina = _num_paginas();
		////console.log('pag_actual'+pag_actual);
		////console.log('ultima_pagina'+ultima_pagina);
		$('a.nav_item').not('#nav_item_'+pag_actual).removeClass('current');
		$('#nav_item_'+pag_actual).addClass('current');
		if (pag_actual == 1){
			$('a.nav_anterior').addClass('disabled');
			$('a.nav_siguiente').removeClass('disabled');
			
			}
		else if (pag_actual == ultima_pagina){
			$('a.nav_siguiente').addClass('disabled');
			$('a.nav_anterior').removeClass('disabled');			
			
			}
		else {
			$('a.nav_anterior').removeClass('disabled');
			$('a.nav_siguiente').removeClass('disabled');
			////console.log ('si')
		}
		
		////console.log ('_actualizar_nav');
	};
	var _contar_items_pagina = function (pagina){
		var count = $('li','#ul_gvi_'+pagina).length;
		return count;
	};

        // fire up the plugin!
        // call the "constructor" method
        plugin.init();

    };

    // add the plugin to the jQuery.fn object
    $.fn.abk_animated_scroll = function(options) {

        // iterate through the DOM elements we are attaching the plugin to
        return this.each(function() {

            // if plugin has not already been attached to the element
            if (undefined === $(this).data('abk_animated_scroll')) {

                // create a new instance of the plugin
                // pass the DOM element and the user-provided options as arguments
                var plugin = new $.abk_animated_scroll(this, options);

                // in the jQuery version of the element
                // store a reference to the plugin object
                // you can later access the plugin and its methods and properties like
                // element.data('pluginName').publicMethod(arg1, arg2, ... argn) or
                // element.data('pluginName').settings.propertyName
                $(this).data('abk_animated_scroll', plugin);

            }

        });

    };

})(jQuery);
