﻿/*
Funciones de paginador superior e inferior
Felipe Comparini
TVN.CL
*/


function pagerInit(numItems, maxItems, divPager1 ,Nombre,voy, div) {
//  numItems es el total de items a paginar
//  maxItems es el numero de items por pagina
//  divPager1 y divPager2 son los paginadores superior e inferior
//  Nombre es el nombre del paginador para referenciarlo (debe haber una mejor manera de hacer esto)
//  voy siempre parte en 1
    this.Items = numItems;
    this.Max = maxItems;
    var numPages = parseInt(numItems/maxItems) + 1;
    this.Pages = numPages;
    this.Voy = voy;
    this.pagerNext = pagerNext;
    this.pagerPrev = pagerPrev;
    this.selectPage = selectPage;
    var div1 = document.getElementById(divPager1); 
    //var div2 = document.getElementById(divPager2);    
    var txt1 = '<div class="paginadorbase"><div class="paginador_left" onclick="javascript:'+Nombre+'.pagerPrev(\''+ divPager1+'\');"></div>';
    //var txt2 = txt1;
    for (var i = 1; i <= numPages; i++) {
        if (i==1) {
            txt1 += '<div id="'+divPager1+'_1" onclick="javascript:'+Nombre+'.selectPage(1,\''+divPager1+'\',\''+div+'\');" class="paginador activo">1</div>';
            //txt2 += '<div id="'+divPager2+'_1" onclick="javascript:'+Nombre+'.selectPage(1,\''+divPager1+'\',\''+divPager2+'\');" class="paginador activo">1</div>';
        } else if (i <=6){
            txt1 += '<div id="'+divPager1+'_'+i+'" onclick="javascript:'+Nombre+'.selectPage('+i+',\''+divPager1+'\',\''+div+'\');" class="paginador">'+i+'</div>';
            //txt2 += '<div id="'+divPager2+'_'+i+'" onclick="javascript:'+Nombre+'.selectPage('+i+',\''+divPager1+'\',\''+divPager2+'\');" class="paginador">'+i+'</div>';
        } else {
            txt1 += '<div id="'+divPager1+'_'+i+'" onclick="javascript:'+Nombre+'.selectPage('+i+',\''+divPager1+'\',\''+div+'\');" class="paginador" style="display:none;">'+i+'</div>';
        }
    }
    
    txt1 += '<div class="paginador_right" onclick="javascript:'+Nombre+'.pagerNext(\''+divPager1+'\');"></div></div>';
    //txt2 += '<div class="paginador_right" onclick="javascript:'+Nombre+'.pagerNext(\''+divPager1+'\',\''+divPager2+'\');"></div></div>';
    
    div1.innerHTML=txt1;
    //div2.innerHTML=txt2;
}

function pagerNext(div1) {
    this.Voy++;
    if (this.Voy+6>this.Pages) { 
        this.Voy--; 
    } else {
        for (var i = 1; i <= this.Pages; i++)  {
            if (i<this.Voy) {document.getElementById(div1+'_'+i).style.display='none';}// document.getElementById(div2+'_'+i).style.display='none';}
            if ((i>=this.Voy) && (i<this.Voy+5)) {document.getElementById(div1+'_'+i).style.display='inline';}//document.getElementById(div2+'_'+i).style.display='inline';}
            if (i>=this.Voy+5) {document.getElementById(div1+'_'+i).style.display='none';}//document.getElementById(div2+'_'+i).style.display='none';}
        }
    }              
}
            
function pagerPrev(div1) {
    this.Voy--;
    if (this.Voy==0) { 
        this.Voy=1; 
    } else {
        for (var i = 1; i <= this.Pages; i++)  {
            if (i<this.Voy) {document.getElementById(div1+'_'+i).style.display='none';} //document.getElementById(div2+'_'+i).style.display='none';}
            if ((i>=this.Voy) && (i<this.Voy+5)) {document.getElementById(div1+'_'+i).style.display='inline';}//document.getElementById(div2+'_'+i).style.display='inline';}
            if (i>=this.Voy+5) {document.getElementById(div1+'_'+i).style.display='none';}//document.getElementById(div2+'_'+i).style.display='none';}
        }
    }              
}
            
function selectPage(page,div1,div3) {
    document.getElementById(div1+'_'+this.Voy).className ="paginador";//document.getElementById(div2+'_'+this.Voy).className ="paginador";
    document.getElementById(div1+'_'+page).className ="paginador activo";//document.getElementById(div2+'_'+page).className ="paginador activo";
    this.Voy=page;    
    for (var i = 1; i <= this.Items; i++) {        
        if (i <= this.Max*(page-1)) document.getElementById(div3+i).style.display='none';
        if ((i > this.Max*(page-1)) && (i<=this.Max*page)) document.getElementById(div3+i).style.display='inline';
        if (i>this.Max*page) document.getElementById(div3+i).style.display='none';
    }
}
