
var ui={};ui.zIndex=1000;nbf.ready(function(jq){jq.find(".checks .elem input").click(function(){var contenedor=$(this).closest(".checks");var valores=new Array();contenedor.find(".elem input").each(function(){if(this.checked)
valores.push(this.value);});contenedor.find('input[type="hidden"]').val(nbf.toJSON(valores));});if(jq.find(".conjuntoControles").size()>0){jq.find(".conjuntoControles .eliminar").click(function(ev){ev.preventDefault();var boton=$(this);ui.popup.crearConfirmar("¿Eliminar elemento seleccionado?",function(){var datos=nbf.extraerDatos(boton.closest(".conjuntoControles"));nbf.ejecutar("\\"+datos.cls+"::ajaxEliminar",[datos.id],function(respuesta){if(respuesta.eliminados>0)
window.location.reload();else
ui.popup.crearAlerta(respuesta.mensaje);});});});}
if(jq.find(".conjuntoControlesEdicion").size()>0){jq.find(".conjuntoControlesEdicion .guardar").click(function(ev){ev.preventDefault();jq.find(".formularioEdicion").eq(0).addClass("enviando").submit();});jq.find(".conjuntoControlesEdicion .guardarNuevo").click(function(ev){ev.preventDefault();var formu=jq.find(".formularioEdicion").eq(0);formu.find('input[type="hidden"]').eq(0).val("");formu.submit();});jq.find(".conjuntoControlesEdicion .volver").click(function(){window.history.back();});jq.find(".conjuntoControlesEdicion .deshacer").click(function(){window.location.reload();});}
jq.find(".msgs li.msgCampo").each(function(){var nombreCampo=nbf.extraerDatos($(this));if(nombreCampo){var input=jq.find("form .campo *[name="+nombreCampo+"]");if(input.size()>0){var campo=input.closest(".campo");if(campo.find(".error").size()==0)
campo.append("<span class='error'>"+$(this).html()+"</span>");}}});});
ui.listado={};ui.listado.obtenerItemsSeleccionados=function(jqListado){var ids=[];jqListado.find(".item .seleccion .sel").each(function(){if(this.checked)
ids.push(nbf.extraerDatos($(this).closest(".item")));});return ids;};nbf.ready(function(jq){if(jq.find(".listado").size()>0){jq.find(".listado .item .seleccion").each(function(){var check=$('<input />');check.attr("type","checkbox");check.addClass("sel");$(this).append(check);});jq.find(".listado th.seleccion").click(function(){var th=$(this);th.closest(".listado").find(".item .seleccion .sel").each(function(){var elem=$(this).get(0);elem.checked=!elem.checked;});});var items=jq.find(".listado .item");items.mouseenter(function(){$(this).addClass("itemSel");});items.mouseleave(function(ev){$(this).removeClass("itemSel");});}
jq.find(".conjuntoControlesListado .eliminarSeleccion").click(function(ev){ev.preventDefault();var items=ui.listado.obtenerItemsSeleccionados(jq.find(".listado"));if(items.length>0){var link=$(this);var mensaje="Se eliminará el elemento seleccionado. ¿Continuar?";if(items.length>1)
mensaje="Se eliminarán "+items.length+" elementos. ¿Continuar?";ui.popup.crearConfirmar(mensaje,function(){var datos=nbf.extraerDatos(link.closest(".conjuntoControles"));nbf.ejecutar("\\"+datos.cls+"::ajaxEliminar",[items],function(respuesta){ui.popup.crearAlerta(respuesta.mensaje,function(){if(respuesta.eliminados>0)
window.location.reload();});});});}else
ui.popup.crearAlerta("Debes seleccionar al menos un elemento del listado");});jq.find(".paginaSelector .conjuntoControlesListado .anadirSeleccion").click(function(ev){ev.preventDefault();var sel=nbf.selector.obtener($(this));var items=ui.listado.obtenerItemsSeleccionados(jq.find(".listado"));if(items.length>0)
sel.anadirItemsValor(items);else
ui.popup.crearAlerta("Debes seleccionar al menos un elemento del listado");});});
ui.form={};ui.form.obtenerValores=function(jqForm){var valores=jqForm.serializeArray();var datosForm={};for(var i=0;i<valores.length;i++)
datosForm[valores[i].name]=nbf.parseJSON(valores[i].value);return datosForm;};
nbf.ready(function(jq){jq.find(".selectorBloque").each(function(){var datos=nbf.extraerDatos($(this));var jqNavegacion=$(this).find(".selectorNavegacion").eq(0);var jqInfo=$(this).find(".selectorInfo").eq(0);var jqInput=$(this).find(".selectorVal").eq(0);var selector=new nbf.selector.Selector(datos.cls,datos.prop,null,datos.nav,jqNavegacion,jqInfo,jqInput);var jqBotones=$(this).find(".selectorBotones");jqBotones.find(".btnAbrir").click(function(ev){ev.preventDefault();selector.actualizarNavegacion();});jqBotones.find(".btnVaciar").click(function(ev){ev.preventDefault();selector.vaciarValor();});});if(jq.is(".selectorInfo")){jq.find(".conjuntoControles .quitar").click(function(ev){ev.preventDefault();var sel=nbf.selector.obtener($(this));if(sel){if($.isArray(sel.valor)){var pos=$(this).closest("li,tr").prevAll().size();sel.eliminarItemPos(pos);}}});var listadoOrdenable=jq.find(".listadoOrdenable");if(listadoOrdenable.size()>0){var p=0;jq.find("ul li,tbody tr").each(function(){$(this).data("p",p);p++;});nbf.initJQueryUI(function(){var pos=null;jq.find("ul,tbody").sortable({forcePlaceholderSize:true,update:function(event,ui){var sel=nbf.selector.obtener(ui.item);var pos1=ui.item.data("p");var pos2=ui.item.prevAll().size();var dato=sel.valor.splice(pos1,1)[0];sel.valor.splice(pos2,0,dato);sel.asignarValor(sel.valor);}});});}}
if(jq.find(".paginaSelector").size()>0){jq.find(".paginaSelector .btnCerrar, .paginaSelector .btnCancelar").click(function(ev){ev.preventDefault();nbf.selector.obtener($(this)).cerrarNavegacion();});jq.find(".paginaSelector a[href^=\"?\"]").click(function(ev){ev.preventDefault();var sel=nbf.selector.obtener($(this));sel.asignarNavegacion(nbf.url.parseUrlParams($(this).attr("href").replace(/\?/,"")));});jq.find(".paginaSelector .btnVolver").click(function(ev){ev.preventDefault();nbf.selector.obtener($(this)).atrasNavegacion();});if(jq.find(".paginaSelectorColor").size()>0){jq.find(".paginaSelectorColor .paletaColores a, .paginaSelectorColor .primarios a").click(function(){nbf.selector.jqPaginaSelector($(this)).find(".selColorActivoTxt").val(nbf.extraerDatos($(this)));});jq.find(".paginaSelectorColor .btnGuardar").click(function(){var valor=nbf.selector.jqPaginaSelector($(this)).find(".selColorActivoTxt").val();nbf.selector.obtener($(this)).asignarNavegacion({"color":valor});});}
if(jq.find(".paginaSelectorFecha").size()>0){jq.find(".paginaSelectorFecha .calendarioBloque .mes .btn").click(function(ev){ev.preventDefault();var divMes=$(this).closest(".mes");if($(this).is(".btnVerMeses")){divMes.find(".listaMeses").slideDown();}else{var selector=nbf.selector.obtener($(this));var mes=nbf.extraerDatos(divMes.find("span"));var anyo=parseInt($(this).closest(".calendarioBloque").find(".anyo span").html());if($(this).is(".btnCalendarioAnt"))
mes=mes-1;else if($(this).is(".btnCalendarioSig"))
mes=mes+1;selector.asignarNavegacion({"mes":mes,"anyo":anyo});}});jq.find(".paginaSelectorFecha .calendarioBloque .anyo .btn").click(function(ev){ev.preventDefault();var selector=nbf.selector.obtener($(this));var anyo=parseInt($(this).closest(".anyo").find("span").html());if($(this).is(".btnCalendarioAnt"))
anyo=anyo-1;else
anyo=anyo+1;selector.asignarNavegacion({"anyo":anyo});});jq.find(".paginaSelectorFecha .calendarioBloque .dia a").click(function(ev){ev.preventDefault();var selector=nbf.selector.obtener($(this));var fecha=nbf.extraerDatos($(this).closest(".dia"));selector.asignarNavegacion({"fecha":fecha});});jq.find(".paginaSelectorFecha .listaMeses a").click(function(ev){ev.preventDefault();var selector=nbf.selector.obtener($(this));var mes=nbf.extraerDatos($(this));selector.asignarNavegacion({"mes":mes});});}
if(jq.find(".paginaSelectorHora").size()>0){jq.find(".paginaSelectorHora .btns .btnGuardar").click(function(ev){ev.preventDefault();nbf.selector.obtener($(this)).asignarNavegacion({"hora":jq.find(".selHora").val()+":"+jq.find(".selMinuto").val()});});}
if(jq.find(".paginaSelectorObjetoBase").size()>0){jq.find(".paginaSelectorObjetoBase form input[name=q]").focus();jq.find(".paginaSelectorObjetoBase form").submit(function(ev){ev.preventDefault();var selector=nbf.selector.obtener($(this));var datos=$(this).serializeArray();selector.asignarNavegacion(nbf.parseFormVals(datos));});}
if(jq.find(".paginaSelectorFormulario").size()>0){jq.find(".paginaSelectorFormulario .formulario").submit(function(ev){ev.preventDefault();var sel=nbf.selector.obtener($(this));var pagina=nbf.selector.jqPaginaSelector($(this));sel.asignarNavegacion({"form":ui.form.obtenerValores($(this))});});jq.find(".paginaSelectorFormulario .btns .btnGuardar").click(function(ev){ev.preventDefault();var pagina=nbf.selector.jqPaginaSelector($(this));pagina.find(".formulario").submit();});}}});
ui.popup={};ui.popup.crearAlerta=function(htmlMensaje,funcionOk,claseCss){var bloque=$("<div />");var mensaje=$("<div />");bloque.addClass("c");mensaje.addClass("mensaje");if($.isArray(htmlMensaje)){if($.isPlainObject(htmlMensaje[0])){var msgs=[];for(var i in htmlMensaje)
msgs.push(htmlMensaje[i].mensaje);htmlMensaje=msgs;}
htmlMensaje="<ul><li>"+htmlMensaje.join("</li><li>")+"</li><ul>";}
mensaje.html(htmlMensaje);var botones=ui.popup.crearBotones("btnsAccion");bloque.append(mensaje);bloque.append(botones);var popup=ui.popup.crear(bloque,"popupAlerta"+(claseCss?" "+claseCss:""));botones.append(ui.popup.crearBoton("Aceptar","Ok",function(){ui.popup.ocultar(popup);if(funcionOk)
funcionOk();}));return popup;};ui.popup.crearAlertaError=function(htmlMensaje,funcionOk){return ui.popup.crearAlerta(htmlMensaje,funcionOk,"popupAlertaError");};ui.popup.crearAlertaAdvertencia=function(htmlMensaje,funcionOk){return ui.popup.crearAlerta(htmlMensaje,funcionOk,"popupAlertaAdvertencia");};ui.popup.crearAlertaOk=function(htmlMensaje,funcionOk){return ui.popup.crearAlerta(htmlMensaje,funcionOk,"popupAlertaOk");};ui.popup.crearConfirmar=function(htmlMensaje,funcionSi,funcionNo){var bloque=$("<div />");var mensaje=$("<div />");mensaje.addClass("mensaje");mensaje.html(htmlMensaje);var botones=ui.popup.crearBotones("btnsAccion");bloque.append(mensaje);bloque.append(botones);var popup=ui.popup.crear(bloque,"popupConfirmar");botones.append(ui.popup.crearBoton("Sí","Si",function(){ui.popup.ocultar(popup);funcionSi();}));botones.append(ui.popup.crearBoton("No","No",function(){if(funcionNo)
funcionNo();else
ui.popup.ocultar(popup);}));return popup;};ui.popup.crearBotones=function(claseCss){var botones=$("<div />");botones.addClass("btns");if(claseCss)
botones.addClass(claseCss);return botones;};ui.popup.crearBoton=function(etiqueta,tipo,funcionClick){var btn=$('<a href="#"></a>');btn.addClass("btn btn"+tipo);btn.html(etiqueta);btn.click(function(ev){ev.preventDefault();ev.stopPropagation();funcionClick(ev);});return btn;};ui.popup.crearImagen=function(urlImagen,claseCss){var img=$("<img />");img.attr("src",urlImagen);img.load(function(){if($(this).width()>$(window).width())
$(this).attr("width",$(window).width()-100);else if($(this).height()>$(window).height())
$(this).attr("height",$(window).height()-100);var p=$(this).closest(".popupImagen");p.css("position","absolute");p.css("top",$(window).scrollTop()+20);p.css("left","50%");p.css("margin","0 0 0 -"+parseInt(p.width()/2)+"px");$(this).click(function(){ui.popup.ocultar(p);});});ui.popup.crear(img,"popupImagen"+(claseCss?" "+claseCss:""));};ui.popup.crearUrl=function(url,claseCss){var bloque=$("<div />");var cargando=$("<div />");cargando.addClass("cargando");var iframe=$("<iframe />");iframe.attr("frameBorder",0);iframe.attr("scrolling","no");bloque.append(cargando);bloque.append(iframe);iframe.load(function(){cargando.remove();});iframe.attr("src",url);return ui.popup.crear(bloque,claseCss);};ui.popup.crearHtml=function(htmlInterno,claseCss){return ui.popup.crear($(htmlInterno),claseCss);};ui.popup.crear=function(jq,claseCss){var popup=$("<div />");popup.attr("id",nbf.generarIdAleatorio());popup.addClass("popup");popup.addClass(claseCss);popup.css("z-index",ui.zIndex++);var popupContent=$("<div />");popupContent.addClass("popupContent");var botones=ui.popup.crearBotones("btnsNav");var btnCerrar=$("<a />");btnCerrar.attr("href","#");btnCerrar.html(nbf.txt.v("NBF_CERRAR_VENTANA"));btnCerrar.addClass("btn btnCerrar");btnCerrar.attr("title",nbf.txt.v("NBF_CERRAR_VENTANA"));btnCerrar.click(function(ev){ev.preventDefault();ui.popup.ocultar(popup);});botones.append(btnCerrar);popup.append(popupContent);popupContent.append(botones);popupContent.append(jq);ui.popup.mostrar(popup);return popup;};ui.popup.mostrar=function(jq){$("body").append(jq);jq.show();nbf.init(jq);};ui.popup.ocultar=function(jq){jq.remove();};ui.popup.obtenerPopup=function(jq){if(jq.hasClass("popup"))
return jq;else
return jq.closest(".popup").eq(0);};
