﻿// <summary>
//     Product:         Enewspaper
//     Classname:       Java Script
//     Version:         02.02 
//     Programmer:      Elham Esmaieli[elhamesmaieli@gmail.com] 
//     Purpose: 
//         All required JS to makeing pagging numbering width back and next to show them.
// 
//     Copyright 2009 by Digital Secure Co. All Rights Reserved. 
// </summary>
// <IsMultiEdition>True</IsMultiEdition>
// <classVersion>001</classVersion>
// <EditingHistory>
//     Name:       Elham
//     Date:       01 September, 2009
//     Reason of change :
//         - Creation of document.
// </EditingHistory>


var paggingArray = new Array();
var urlArray = new Array();

var bunch;
var backLastItem = 1;       
var nextLastItem = 0;   

//This function Making an Array() by string and seprator passed to it(paggingArray is global Array)
function makeArray(str, seprator){    
    var len = str.length;    
    var s = str;
    var i = 0;
    inx = str.indexOf(seprator);
        
    while((inx != -1) && (inx != '') && (inx != null)){
        paggingArray[i] = s.substring(0,inx);
        s = s.substring(inx+1,s.length); 
        inx = s.indexOf(seprator);        
        i++;
    }    
}

function makeUrlArray(str, seprator){    
    var len = str.length;    
    var s = str;
    var i = 0;
    inx = str.indexOf(seprator);
        
    while((inx != -1) && (inx != '') && (inx != null)){
        urlArray[i] = s.substring(0,inx);
        s = s.substring(inx+1,s.length); 
        inx = s.indexOf(seprator);        
        i++;
    }    
}

// this function work on next pagging     
var next;
function goNextPaggingBox(){
    next = nextLastItem + 1;
    document.getElementById('pageBD').style.display = 'none';
    document.getElementById('pageBB').style.display = 'block';
    
    var divBox = document.getElementById('paggingBox').childNodes;
    var boxItemLen = document.getElementById('paggingBox').childNodes.length;            
    if(next < boxItemLen){
        for(var i=0; i<boxItemLen; i++){
            divBox.item(i).style.display = 'none';
        }            
        divBox.item(next).style.display = 'block';                            
        nextLastItem = next;                                                                      
        backLastItem = next-1;
    }
    else{
        nextLastItem = 0;                            
        document.getElementById('pageNN').style.display = 'none'; 
        document.getElementById('pageND').style.display = 'block';
    }
}

// this function work on back pagging
var back; 
function goBackPaggingBox(){
    back = backLastItem - 1;
    document.getElementById('pageND').style.display = 'none';
    document.getElementById('pageNN').style.display = 'block';
    
    var divBox = document.getElementById('paggingBox').childNodes;
    var boxItemLen = document.getElementById('paggingBox').childNodes.length;            
    if((backLastItem < boxItemLen) && (backLastItem >= 0)){
        for(var i=0; i<boxItemLen; i++){
            divBox.item(i).style.display = 'none';
        }            
        divBox.item(backLastItem).style.display = 'block';                            
        backLastItem = back;                               
        nextLastItem = back+1;
    }
    else{
        backLastItem = 1;            
        document.getElementById('pageBB').style.display = 'none'; 
        document.getElementById('pageBD').style.display = 'block'; 
    }
}

// this function set current page pagging box bunch
function setCurrentBunch(bunch) {
    var divBox = document.getElementById('paggingBox').childNodes;
    var boxItemLen = document.getElementById('paggingBox').childNodes.length;            
    if((backLastItem < boxItemLen) && (backLastItem >= 0)){
        for(var i=0; i<boxItemLen; i++){
            divBox.item(i).style.display = 'none';
        }            
        divBox.item(bunch).style.display = 'block'; 
        
        if(bunch == '0'){
            document.getElementById('pageBB').style.display = 'none'; 
            document.getElementById('pageBD').style.display = 'block';
        }
        else{
            document.getElementById('pageBB').style.display = 'block'; 
            document.getElementById('pageBD').style.display = 'none';
        }
        
        if(bunch == boxItemLen-1){
            document.getElementById('pageNN').style.display = 'none'; 
            document.getElementById('pageND').style.display = 'block';
        }
        else{
            document.getElementById('pageNN').style.display = 'block'; 
            document.getElementById('pageND').style.display = 'none';
        }
                    
        //backLastItem = bunch;                               
        //nextLastItem = bunch+1;
    }
}


// this function create pagging number bunch in realated div
function createDiv(sel){    
    var l = paggingArray.length;
    var count = 0;
    var m = parseInt(l/8);
    var d = l/8;
    if(d > m)
    count = m+1;
    else
    count = m;
    document.getElementById('paggingBox').innerHTML = '';
    var j=0;                               
    for(var i=0; i<count; i++) {             
        var divString = new String();
        for(var c=0; c<8; c++){             
            if(paggingArray[j] != undefined){
                if(sel == paggingArray[j]){
                    divString += '<div class="paggingSelected">' +  paggingArray[j] + '</div>';
                    bunch = i;
                }
                else{
                    divString += '<div class="paggingNumber pointer" onmouseover="this.className=\'paggingOver pointer\';" onmouseout="this.className=\'paggingNumber pointer\';" onclick="goUrl(\'' + urlArray[j] + '\')">' +  paggingArray[j] + '</div>';                   
                }
                j++;
            }
            else
                break;
        }  
        document.getElementById('paggingBox').innerHTML += '<div class="paggingDivHolder">'+ divString + '</div>';
    }
}