function oPaginacion(nomvariable) { this.nom_variable = nomvariable; // str nombre de la variable del objeto creado this.pagina_activa = 0; // int página activa this.sufijo = ""; // str sufijo de las capas de esta paginación this.nom_capa_enlaces = ""; // str con el nombre de la capa donde se 'pintan' los enlaces this.paginas_totales = 0; // int páginas totales this.tam_marco = 0; // int tamaño del marco de enlaces visibles this.abrir_pagina = fabrir_pagina; // pasa a la página this.dibujar_enlaces = fdibujar_enlaces; //dibuja los enlaces this.set = fset; //actualiza el valor de las variables this.textoEnlaces = 'Pag'; this.accionMaestro=''; this.actionForm = ''; if (arguments[1]) { this.campoHidden = arguments[1]; } else { this.campoHidden = ''; } } function fabrir_pagina(pagina) { abre = this.sufijo + pagina; cierra = this.sufijo + this.pagina_activa; if (this.pagina_activa > -1) { eval('divDocument["'+cierra+'"].setDisplay("none")'); } eval('divDocument["'+abre+'"].setDisplay("block")'); this.pagina_activa = pagina; this.dibujar_enlaces(); } function fset(sufijo,nom_capa_enlaces,pagina_inicial,paginas_totales,tam_marco, textoEnlaces,accionMaestro,actionForm) { this.pagina_activa = pagina_inicial; // int página activa this.sufijo = sufijo; // str sufijo de las capas de esta paginación this.nom_capa_enlaces = nom_capa_enlaces; // str con el nombre de la capa donde se 'pintan' los enlaces this.paginas_totales = paginas_totales; // int páginas totales this.tam_marco = tam_marco; // int tamaño del marco de enlaces visibles this.textoEnlaces = textoEnlaces; // Prefijo de texto delante de los enlaces this.accionMaestro = accionMaestro; // Estamos en un maestro/detalle this.actionForm = actionForm; //Inicializa enlaces this.abrir_pagina(this.pagina_activa); } function fdibujar_enlaces() { if (this.pagina_activa < 9) { enlace_antdiez = ' '; } else { if ((this.pagina_activa - 10) < 0) { antdiez = 0; } else { antdiez = this.pagina_activa - 10; } enlace_antdiez = ' '; } if (this.pagina_activa > (this.paginas_totales - 10) ) { enlace_sigdiez = '  '; } else { if ((this.pagina_activa+10) > (this.paginas_totales - 1)) { sigdiez = this.paginas_totales - 1; } else { sigdiez = this.pagina_activa + 10; } enlace_sigdiez = ' '; } if (this.pagina_activa == 0) { enlace_ant = ' '; } else { enlace_ant = ' '; } if (this.pagina_activa == (this.paginas_totales - 1)) { enlace_sig = ' '; } else { enlace_sig = ' '; } pag_act = parseInt(this.pagina_activa) + 1; if (pag_act < 10) { enlace_ref = this.textoEnlaces+'. 0'+parseInt(this.pagina_activa)+' de '+this.paginas_totales+'   '; } else { enlace_ref = this.textoEnlaces+'. '+parseInt(this.pagina_activa)+' de '+this.paginas_totales+'   '; } pri = (this.pagina_activa+1) - Math.ceil(this.tam_marco/2); pri = Math.max(0,pri); ult = pri + this.tam_marco-1; ult = Math.min(ult,(this.paginas_totales-1)); pri = Math.max(pri,ult-this.tam_marco-1); if (this.pagina_activa == pri) { principio = ' '; } else { principio = ' '; } if (this.pagina_activa == ult) { ultima = ' '; } else { ultima = ' '; } enlaces = ""; if (this.paginas_totales > 1) { for(i=pri;i '; } } } enlacesHTML = enlace_ref + principio + enlace_antdiez + enlace_ant + enlaces + enlace_sig + enlace_sigdiez + ultima; capa = eval('divDocument["'+this.nom_capa_enlaces+'"]'); capa.changeLayerContent(enlacesHTML); }