/* PAGE SWITCHER */
/* ************* */

if(!this.FUNCHLD) var FUNCHLD = new Array();


// ---------.---------.---------.---------.---------.
// THE OBJECT
if(!this.pageSwitcher) {
function pageSwitcher(pName) {
	FUNCHLD[this.thisInd=FUNCHLD.length] = this;

	// INSTRUCTIONS
	/* NAMING CONVENTIONS:
	   pnl{pName}__content{num}		= ARTICLE CONTENTS
	   pnl{pName}__content{num}__p
	   
	   pnl{pName}__btn{num}			= BUTTON
	   pnl{pName}__btnPrev			= BUTTON : PREVIOUS
	   pnl{pName}__btnNext			= BUTTON : NEXT
	*/
	
	// -- CREATE VARIABLES
	this.name 		= pName;			// NAME OF THIS
	this.maxPage	= 0;				// MAXIMUM PAGE NUMBER. SWITCHER MUST NOT GO BEYOND THIS ONE. 
								// MUST BE SET BEFORE RUNNING THIS ONE
	this.current 	= 0;				// CURRENT CHOICE
	
	// -- CREATE REFERENCES
	
	// -- PRIVATE
	
	


	
	// -- DO THE SWITCHING: SWITCH TO THE PAGE NUMBER
	this.goTo = function(pNum) {
	
		// -- CLEAR THE CURRENT ONE
		if(this.current > 0 ) {
			var objContent	= document.getElementById("pnl" + this.name + "__content" + this.current);
			var objBtn		= document.getElementById("pnl" + this.name + "__btn" + this.current);
			
			if(objContent) 	objContent.style.display = "none";
			if(objBtn)		DOM_removeClass(objBtn, "Cur");
		}
		
		// -- VALIDATE NUMBER
		if(pNum < 1) 			pNum = 1;
		if(pNum > this.maxPage) 	pNum = this.maxPage;
		this.current = pNum;
		
		// -- SHOW THE NEXT ONE
		var objContent	= document.getElementById("pnl" + this.name + "__content" + this.current);
		var objBtn		= document.getElementById("pnl" + this.name + "__btn" + this.current);
		
		objContent.style.display = "";
		DOM_addClass(objBtn, "Cur");
		
		// -- SCROLL THE BODY TO TOP
		document.location.href='#mainBackToTop';
		
		// -- CHECK BUTTON STATES
		checkButtonStatus();
	}
	
	// -- GO PREV AND NEXT
	this.goBack = function() {
		var num = this.current -1;
		this.goTo(num);
	}
	this.goNext = function() {
		var num = this.current +1;
		this.goTo(num);
	}	
	
	// -- CHECK THE BUTTON STATES
	var thisO = this;
	var checkButtonStatus = function() {
		var objPrevBtn	= document.getElementById("pnl" + thisO.name + "__btnPrev");
		var objNextBtn	= document.getElementById("pnl" + thisO.name + "__btnNext");
		
		// PREVIOUS
		if(thisO.current <= 1)
			DOM_addClass(objPrevBtn, "disabled");
		else
			DOM_removeClass(objPrevBtn, "disabled");
		
		// NEXT
		if(thisO.current >= thisO.maxPage)
			DOM_addClass(objNextBtn, "disabled");
		else
			DOM_removeClass(objNextBtn, "disabled");

			
		// -- HIDES THE NAVBAR IF THE PAGE IS JUST 1
		var objNavBar	= document.getElementById("pnl"+ thisO.name + "__btnNavBar");
		if(thisO.maxPage == 1) {
			objNavBar.style.display = "none";
		}
		else
			objNavBar.style.display = "";
	}
}
}
