﻿/**
	Pagination
	-----------------
	Creates arrays of elements, and paginates through them.
	In addition, it creates one instance of an accordion obkect for every set of pages.
**/

//Set globals
var l_detailsListActive = null;
var PAGINATE_CURRENT = null;
var l_detailsListActive1 = null;
var PAGINATE_CURRENT1 = null;
var PAGINATE_RESULT_TPB = null;
var pageType = null;
var DETAILS_LIST_ARRAY = [];
var DETAILS_LIST_ARRAY_TPB = [];
var ACCORDION_GROUP_CREATED_LIST = [];
var ACCORDION_OBJECT_CREATED_LIST = [];
var DISPLAY_DETAILS_AMOUNT = 10;
var CURRENT_DISPLAY_GROUP_INDEX = -1;
var CURRENT_DISPLAY_GROUP_INDEX_TPB = -1;
var MAX_GROUP_INDEX = 0;
var MAX_GROUP_INDEX_TPB = 0;

function showNextIssueGroup()
{

    if(pageType == 'TPB'){
    showIssueListByGroupIndex(CURRENT_DISPLAY_GROUP_INDEX_TPB+1);	
    }
    else {
	showIssueListByGroupIndex(CURRENT_DISPLAY_GROUP_INDEX+1);	}
}

function showPrevIssueGroup()
{
	if(pageType == 'TPB'){
    showIssueListByGroupIndex(CURRENT_DISPLAY_GROUP_INDEX_TPB - 1);	
    }
    else {
	showIssueListByGroupIndex(CURRENT_DISPLAY_GROUP_INDEX - 1);	}
}



function getGroupIndexByMarkerIndex(a_markerIndex)
{
//alert(a_markerIndex);
//if(((a_markerIndex / DISPLAY_DETAILS_AMOUNT % 2) == 0)
//{
	return Math.floor(	(a_markerIndex / DISPLAY_DETAILS_AMOUNT) );
//}
//	else //if((a_markerIndex % 2) != 0)
//	{
//	return (Math.floor(	(a_markerIndex / DISPLAY_DETAILS_AMOUNT) ) + 1);
//	}
}

function getMarkerIndexInGroup(a_markerIndex)
{
		var l_groupIndex = getGroupIndexByMarkerIndex(a_markerIndex);
		var l_groupStartIndex = l_groupIndex*DISPLAY_DETAILS_AMOUNT;
		var l_currentAccordionMarkerIndex = a_markerIndex-l_groupStartIndex;
		return l_currentAccordionMarkerIndex;
}

function getAccordionObjectByMarkerIndex(a_markerIndex)
{
	return ACCORDION_OBJECT_CREATED_LIST[getGroupIndexByMarkerIndex(a_markerIndex)];
}


function showIssueListByGroupIndex(a_index)
{
 if(pageType == 'LBB')
		{
      a_index = a_index <=0 ? 0 : a_index >= MAX_GROUP_INDEX ? MAX_GROUP_INDEX : a_index;

	    //alert("a_index   "+a_index+"  MAX_GROUP_INDEX   "+MAX_GROUP_INDEX);
	
	if(a_index!=CURRENT_DISPLAY_GROUP_INDEX)
	{
		CURRENT_DISPLAY_GROUP_INDEX = a_index;
		removeAllIssueListItems();
		
		// now add next group
		var l_startIndex=CURRENT_DISPLAY_GROUP_INDEX*DISPLAY_DETAILS_AMOUNT;
		var l_endIndex=l_startIndex+DISPLAY_DETAILS_AMOUNT;
		
		l_endIndex = l_endIndex>= DETAILS_LIST_ARRAY.length ? DETAILS_LIST_ARRAY.length : l_endIndex;
		
		for(var x=l_startIndex; x<l_endIndex; x++)
		{
			var l_div = DETAILS_LIST_ARRAY[x];
			//alert("l_div   "+l_div+"  x   "+x);
			l_detailsListActive.appendChild(l_div);
		}
		var l_pagesText = String(CURRENT_DISPLAY_GROUP_INDEX+1) + " of " +  String(MAX_GROUP_INDEX+1);
		//alert("l_startIndex  "+l_startIndex+"  l_endIndex  "+l_endIndex+"  DETAILS_LIST_ARRAY.length   "+DETAILS_LIST_ARRAY.length);
		if(PAGINATE_CURRENT)
		{
			
			PAGINATE_CURRENT.set('html', l_pagesText);
		}
		
		// Set accordion
		
		var l_accordionAlreadyCreated = ACCORDION_GROUP_CREATED_LIST[CURRENT_DISPLAY_GROUP_INDEX];
		if(!l_accordionAlreadyCreated)
		{
			ACCORDION_OBJECT_CREATED_LIST[CURRENT_DISPLAY_GROUP_INDEX] = detailsAccordionHideShow();
			ACCORDION_GROUP_CREATED_LIST[CURRENT_DISPLAY_GROUP_INDEX] = true;
		}	   

	}
	
	if(CURRENT_DISPLAY_GROUP_INDEX == "0")
	    document.getElementById("lnkPrev").style.display = "none";	    	
	else
	    document.getElementById("lnkPrev").style.display = "";
	
	if(CURRENT_DISPLAY_GROUP_INDEX < MAX_GROUP_INDEX)
	    document.getElementById("lnkNext").style.display = "";
	else
	    document.getElementById("lnkNext").style.display = "none";
}
	    if(pageType == 'TPB')
		{
		a_index = a_index <=0 ? 0 : a_index >= MAX_GROUP_INDEX_TPB ? MAX_GROUP_INDEX_TPB : a_index;

	    //alert("a_index   "+a_index+"  MAX_GROUP_INDEX   "+MAX_GROUP_INDEX);
	
	if(a_index!=CURRENT_DISPLAY_GROUP_INDEX_TPB)
	{
		CURRENT_DISPLAY_GROUP_INDEX_TPB = a_index;
		removeAllIssueListItems1();
		
		// now add next group
		var l_startIndex=CURRENT_DISPLAY_GROUP_INDEX_TPB*DISPLAY_DETAILS_AMOUNT;
		var l_endIndex=l_startIndex+DISPLAY_DETAILS_AMOUNT;
		
		l_endIndex = l_endIndex>= DETAILS_LIST_ARRAY_TPB.length ? DETAILS_LIST_ARRAY_TPB.length : l_endIndex;
		
		for(var x=l_startIndex; x<l_endIndex; x++)
		{
			var l_div = DETAILS_LIST_ARRAY_TPB[x];
			//alert("l_div   "+l_div+"  x   "+x);
			l_detailsListActive1.appendChild(l_div);
		}
		var l_pagesText = String(CURRENT_DISPLAY_GROUP_INDEX_TPB+1) + " of " +  String(MAX_GROUP_INDEX_TPB+1);
		var l_resultText = "Displaying results " + (l_startIndex+1) + " - " + l_endIndex + " of " + DETAILS_LIST_ARRAY_TPB.length;
		//alert("l_startIndex  "+l_startIndex+"  l_endIndex  "+l_endIndex+"  DETAILS_LIST_ARRAY.length   "+DETAILS_LIST_ARRAY.length);
		if(PAGINATE_CURRENT1)
		{
			
			PAGINATE_CURRENT1.set('html', l_pagesText);
		}
		if(PAGINATE_RESULT_TPB)
		{
			
			PAGINATE_RESULT_TPB.set('html', l_resultText);
		}
		

	}
	
	if(CURRENT_DISPLAY_GROUP_INDEX_TPB == "0")
	    document.getElementById("lnkPrev").style.display = "none";	    	
	else
	    document.getElementById("lnkPrev").style.display = "";
	
	if(CURRENT_DISPLAY_GROUP_INDEX_TPB < MAX_GROUP_INDEX_TPB)
	    document.getElementById("lnkNext").style.display = "";
	else
	    document.getElementById("lnkNext").style.display = "none";
		}
}
	
function removeAllIssueListItems()
{
	var l_removeArray = [];
	var x=0;
	for(x=0; x<l_detailsListActive.childNodes.length; x++)
	{
		var l_div = l_detailsListActive.childNodes[x];
		l_removeArray.push(l_div);
	}
	
	for(x=0; x<l_removeArray.length; x++)
	{
		var l_div = l_removeArray[x];
		l_detailsListActive.removeChild(l_div);
	}
}
function removeAllIssueListItems1()
{
	var l_removeArray = [];
	var x=0;
	for(x=0; x<l_detailsListActive1.childNodes.length; x++)
	{
		var l_div = l_detailsListActive1.childNodes[x];
		l_removeArray.push(l_div);
	}
	
	for(x=0; x<l_removeArray.length; x++)
	{
		var l_div = l_removeArray[x];
		l_detailsListActive1.removeChild(l_div);
	}
}
function clearPagination()
{
    CURRENT_DISPLAY_GROUP_INDEX=-1;
    DETAILS_LIST_ARRAY.splice(0,DETAILS_LIST_ARRAY.length);
    ACCORDION_GROUP_CREATED_LIST.splice(0,ACCORDION_GROUP_CREATED_LIST.length);
    ACCORDION_OBJECT_CREATED_LIST.splice(0,ACCORDION_OBJECT_CREATED_LIST.length); 
}

function clearPaginationTPB()
{
    CURRENT_DISPLAY_GROUP_INDEX_TPB=-1;
    DETAILS_LIST_ARRAY_TPB.splice(0,DETAILS_LIST_ARRAY_TPB.length);
}

function initPagination() {

    clearPagination();

	l_detailsListActive = $('toggleModules');
	PAGINATE_CURRENT = $('paginateUpTo');
	DISPLAY_DETAILS_AMOUNT = 10;
	pageType = 'LBB';
	// set toggler object index number
	var l_togglerArray = $$(".detailsToggler .toggler");
	
	if(l_togglerArray.length > 10)
	{
	
	document.getElementById("divpage").style.display = "";
	}
	else if(l_togglerArray.length <= 10)
	{
	
	document.getElementById("divpage").style.display = "none";
	}
	    
	for(var x=0; x<l_togglerArray.length; x++)
	{
		var l_togglerObject = l_togglerArray[x];
		l_togglerObject.togglerIndex = x;
	}
	
	// Add object into list
	for(var x=0; x<l_detailsListActive.childNodes.length; x++)
	{
		var l_div = l_detailsListActive.childNodes[x];
		try
		{
			if(l_div.className == "detailsToggler")
			{
				//alert("l_detailsListActive.childNodes.length   "+l_div.className);	
				DETAILS_LIST_ARRAY.push(l_div);
			}
		}
		catch(e){}
	}
	
	//alert("DETAILS_LIST_ARRAY.length " + DETAILS_LIST_ARRAY.length + " DISPLAY_DETAILS_AMOUNT " + DISPLAY_DETAILS_AMOUNT);
	MAX_GROUP_INDEX = Math.floor((DETAILS_LIST_ARRAY.length-1)/DISPLAY_DETAILS_AMOUNT);
	for(var x=0; x<MAX_GROUP_INDEX; x++)
	{
		ACCORDION_GROUP_CREATED_LIST.push(false);
	}
	
	// Initialize list
	removeAllIssueListItems();
	showIssueListByGroupIndex(0);
}

function Pagination() {

    clearPaginationTPB();
pageType = 'TPB';
	l_detailsListActive1 = $('mbtoggleModules');
	PAGINATE_CURRENT1 = $('mbpaginateUpTo');
	PAGINATE_RESULT_TPB = $('spnResult');
	 DISPLAY_DETAILS_AMOUNT = 20;
	//alert(PAGINATE_CURRENT.value);
	// set toggler object index number
	var l_togglerArray = $$(".rowSearchpeople .searchPeople .searchPeopleRight");
	
	if(l_togglerArray.length > 20)
	{
	
	document.getElementById("divpagetest").style.display = "";
	}
	else if(l_togglerArray.length <= 20)
	{
	
	document.getElementById("divpagetest").style.display = "none";
	}
	for(var x=0; x<l_togglerArray.length; x++)
	{
		var l_togglerObject = l_togglerArray[x];
		l_togglerObject.togglerIndex = x;
	}
	
	// Add object into list
	for(var x=0; x<l_detailsListActive1.childNodes.length; x++)
	{
	for(var y=0; y<l_detailsListActive1.childNodes[x].childNodes.length; y++)
	{
	
		var l_div = l_detailsListActive1.childNodes[x].childNodes[y];
		
		try
		{
			if((l_div.className == "searchPeople")||(l_div.className == "searchPeople marLeftFour"))
			{
			
				DETAILS_LIST_ARRAY_TPB.push(l_div);
			}
		}
		catch(e){}
	}
	}
	
	//alert("DETAILS_LIST_ARRAY.length " + DETAILS_LIST_ARRAY.length + " DISPLAY_DETAILS_AMOUNT " + DISPLAY_DETAILS_AMOUNT);
	MAX_GROUP_INDEX_TPB = Math.floor((DETAILS_LIST_ARRAY_TPB.length-1)/DISPLAY_DETAILS_AMOUNT);
//	for(var x=0; x<MAX_GROUP_INDEX_TPB; x++)
//	{
//		ACCORDION_GROUP_CREATED_LIST.push(false);
//	}
	// Initialize list
	removeAllIssueListItems1();
	showIssueListByGroupIndex(0);
}
