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'+pag+' ';
}
}
}
enlacesHTML = enlace_ref + principio + enlace_antdiez + enlace_ant + enlaces + enlace_sig + enlace_sigdiez + ultima;
capa = eval('divDocument["'+this.nom_capa_enlaces+'"]');
capa.changeLayerContent(enlacesHTML);
}