/*	
	Paging.JS - Custom Paging Script	
	============================================================================================	
	Author:  Nitin Menon
	Updated: 3/27/2007 12:12 PM 	 
	Company: Bigbuzz Interactive
	Email: 	 nitin@bigbuzz.com
	============================================================================================ 
*/

function Mod(pageNumber,pagesPerPage){
	if(pageNumber==1) return 0;
	return pageNumber%pagesPerPage;
}

// Control Previous/Next Links
function ctrlPrevNext(pageNumber,perPage,pagesPerPage,totPages,recordcount,firstPage,lastPage){
	var previous = document.getElementById("PrevPg");
	var next = document.getElementById("NextPg");
	
	// First page clicked
	if(pageNumber<=pagesPerPage){
		// Disable Prev Page
		previous.className = "disable";
		previous.onclick = "";
		// If there is NO more pages
		if(totPages<=pagesPerPage){
			// Disable Next Page
			next.className = "disable";
			next.onclick = "";
		}else{
			// Enable Next Page
			next.className = "pLink";
			next.onclick = function(){ShowContentDiv(lastPage+1,perPage,pagesPerPage,totPages,recordcount);};
		}
	// Last page clicked	
	}else if(pageNumber>(totPages-pagesPerPage)&&pageNumber<=totPages){
		// Enable previous page 
		previous.className = "pLink";
		previous.onclick = function(){ShowContentDiv(firstPage-1,perPage,pagesPerPage,totPages,recordcount);};
		if((pageNumber>=firstPage&&pageNumber<=lastPage)&&lastPage<totPages){
			// Enable Next Page
			next.className = "pLink";
			next.onclick = function(){ShowContentDiv(lastPage+1,perPage,pagesPerPage,totPages,recordcount);};
		}else{
			// Disable Next Page
			next.className = "disable";
			next.onclick = "";
		}	
	// All other pages
	}else{
		// Enable previous page 
		previous.className = "pLink";
		previous.onclick = function(){ShowContentDiv(firstPage-1,perPage,pagesPerPage,totPages,recordcount);};
		// Enable Next Page
		next.className = "pLink";
		next.onclick = function(){ShowContentDiv(lastPage+1,perPage,pagesPerPage,totPages,recordcount);};
	}
}

//Show Pages Per Page on navigation
function showPagesPerPage(pageNumber,perPage,pagesPerPage,totPages,recordcount){
	var vPPPage = pagesPerPage - 1;

	// Loop thru pages in Last page increments
	for(LPg = 1; LPg <= totPages; LPg = LPg + pagesPerPage){
		var firstPage = LPg;
		var lastPage = LPg + vPPPage;
		if(lastPage >= totPages) var lastPage = totPages;

		// If the page clicked is within the increments
		if (pageNumber>=firstPage && pageNumber<=lastPage){
			// Loop thru all page numbers
			for(p = 1; p <= totPages; p++){
				var getPLink = document.getElementById("pNum_" + p);
				if(p >= firstPage && p <= lastPage){
					// Show page links
					if(p == pageNumber){
						// Show selected Page Link
						getPLink.className = "currentPage";
					}else{
						getPLink.className = "pLink";
					}
				}else{
					// Hide page links
					getPLink.className = "pLinkHide";
				}
			}
		   // If all pages w/i increment are displayed, stop the loop	
		   break;	
		}
	}
	
	ctrlPrevNext(pageNumber,perPage,pagesPerPage,totPages,recordcount,firstPage,lastPage);
}

// Change display text
function changeDisplayText(pageNumber,perPage,pagesPerPage,totPages,recordcount){
	// Get display text field num of rec being shown
	var getDspTx = document.getElementById("dspTxt");
	if(getDspTx){
		var num1 = ((perPage * pageNumber) - perPage) + 1;
		var num2 = perPage * pageNumber;
		// Last page
		if(num2>=recordcount) var num2 = recordcount; 
		// Change text 
		getDspTx.innerHTML = "Displaying " + num1 + " - " + num2;
	}
}

// Navigate thru pages
function ShowContentDiv(pageNumber,perPage,pagesPerPage,totPages,recordcount){
	// Get page Number
	var thisPage = "Page" + pageNumber;

	for(x = 1; x <= totPages; x++){
		
		var getDiv   = document.getElementById("Page" + x);
		var getPLink = document.getElementById("pNum_" + x);

		if ("Page" + x == thisPage){
			// Show selected page
			getDiv.className = "pageDivUnhide";
			// Show selected Page Link
			getPLink.className = "currentPage";
			// Change display text
			changeDisplayText(pageNumber,perPage,pagesPerPage,totPages,recordcount);
		}else{
			// Make all other pages hidden
			getDiv.className = "pageDivHide";
			// Show selected Page Link
			getPLink.className = "pLink";
		}
	}
	// Show Pages per page
	showPagesPerPage(pageNumber,perPage,pagesPerPage,totPages,recordcount);
}

function SetDefaultPage(perPage,pagesPerPage,totPages,recordcount){
	var URL = unescape(window.document.location);

	if (URL.indexOf("#") > -1) {
		var _url = URL.length;
		var _Pound = URL.indexOf('#');
		p = URL.slice(_Pound+1,_Pound+ (_url-_Pound));
	}else{
		p = 1;
	}

	ShowContentDiv(p,perPage,pagesPerPage,totPages,recordcount);
}