/*
Copyright © Tribal Education Ltd. 

This file has been compressed to make the page loading faster. For working version of this file, please contact Tribal's Digital Learning Studio at digitallearningsupport@tribalgroup.com.
*/
/** 
 * controls.js 
 * Controls MoveOn wrapper. 
 * requires functions.js (event_install) 
 *
 * @author ivarsv	
 * 
 * $Id: controls.js,v 0.3 2005/04/1 11:36:00 ivarsv Exp $
 */ 
 
 
/** 
 * Controls sticky footer 
 * Handles events onscroll and onresize
 */
function scale_to_size() { 

	document.sticky = document.getElementById("sticky_footer"); 

	var CWnd = new CScale(); 
	if (CWnd.$msie) { 
		document.sticky.style.top = eval(CWnd.$height +  document.documentElement.scrollTop - 50); 
	}


	// DO SOMETHING ON THE SCROLL 
	window.onscroll = function () 
	{ 
		if (typeof document.sticky == "undefined")
			return; 
		
		var CWnd = new CScale(); 

		if (CWnd.$msie) { 
			if(document.documentElement.scrollTop)document.sticky.style.top = eval(CWnd.$height + document.documentElement.scrollTop - 50); 
			else document.sticky.style.top = eval(CWnd.$height + document.body.scrollTop - 50); 
		} else { 
			// mozilla don't scroll the bar horizontaly 
			if (document.documentElement.scrollLeft > 0)  {
				document.sticky.style.left = eval(-1 * document.documentElement.scrollLeft) + 'px';// : document.sticky.startPos;
			} else { 
				// make sure we move that thing			
				if (document.body.scrollLeft > 0)  {
					document.sticky.style.left = eval(-1 * document.body.scrollLeft) + 'px';// : document.sticky.startPos;
				} else { document.sticky.style.left = '0px'; }
			}
		}
	}
	
	// DO SOMETHING ON RESIZE
	window.onresize = function () { 
	
	if (typeof document.sticky == "undefined")
		return; 

	var CWnd = new CScale(); 
	
	if (CWnd.$msie) { 
		if (document.getElementById("main_table").offsetHeight > eval(CWnd.$height +  document.documentElement.scrollTop)) { 
			if(document.documentElement.scrollTop)document.sticky.style.top = eval(CWnd.$height + document.documentElement.scrollTop - 50); 
			else document.sticky.style.top = eval(CWnd.$height + document.body.scrollTop - 50); 
		} else { document.sticky.style.top = document.getElementById("main_table").offsetHeight - 50; } 
	} else { 
		/* scrollbar hack for Mo */ 
		m = document.getElementById("main_table")
		m.style.height = eval(CWnd.$height - 1);
		m.style.height = '100%'; 

		
		h = document.getElementById("header").offsetLeft; //eval( (parseInt(CWnd.$width) - m.offsetHeight ) / 2); 
		//alert(h); 

		document.sticky.style.left = ( eval((parseInt(CWnd.$width) - 780) / 2) > 0) ? h  : 0; 
		}
	
	}
	
}


function CScale() {

	// _[propertie]
	// variable tells whatbrowser is used 
	this.$msie = (navigator.appName.indexOf("Microsoft") == -1) ? false : true; 

	//  Get the width and height of window 
	this.$width = 0; 
	this.$height = 0; 

	if( typeof  window.innerWidth == 'number' ) {
		//Non-IE
		this.$width = window.innerWidth ;
		this.$height = window.innerHeight;
		
		
		
	} else {
	
		if( document.documentElement &&	( document.documentElement.clientWidth || document.documentElement.clientHeight ) )
	    {
			//IE 6+ in 'standards compliant mode'
			this.$width = document.documentElement.clientWidth;
			this.$height = document.documentElement.clientHeight;
		
		} else {
		
		
			if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
				//IE 4 compatible
				
				this.$width = document.body.clientWidth;
				this.$height = document.body.clientHeight;
			
			
			}
		}
	}
}


function buildPageNavigation(currentPage, totalPages, who_knows_what_is_this) {

	res = '<div id=\"navig\" style=\"position:absolute;right:0\">'; 
	if (parseInt(currentPage)-1 > 0) 
		res += "<a accesskey=\"back\" href=\"body"+((parseInt(currentPage)-1 > 10) ? parseInt(currentPage)-1 : "0"+(parseInt(currentPage)-1)) +".htm\" title=\"back\" id=\"back\" onMouseOver=\"navRoll2('backI','../images/pagenum/selected/numbers_coloured_03.jpg')\" onMouseOut=\"navRoll2('backI','../images/pagenum/normal/numbers_coloured_03.jpg')\"><image src=\"../images/pagenum/normal/numbers_coloured_03.jpg\" id=\"backI\" alt=\"back\" border=\"0\"></a>";	
	
	for (x =1 ; x <(totalPages+1); x++) { 
		pgNum = (x > 10) ? x : '0'+x;
		res += "<a href=\"body"+pgNum+".htm\" title=\"page "+x+"\" id=\"page"+x+((parseInt(currentPage) == x) ? "_selected" : "")+"\"><img src=\"../images/pagenum/"+((parseInt(currentPage) == x) ? "selected" : "normal")+"/numbers_coloured_0"+(x+3)+".jpg\" border=\"0\" alt=\"page "+x+"\" style=\"\"></a>";
	}

	if (parseInt(currentPage)  < totalPages) 
		res += "<a accesskey=\"N\" href=\"body"+((parseInt(currentPage) > 10) ? parseInt(currentPage)+1 : "0"+(parseInt(currentPage)+1)) +".htm\" title=\"next\" id=\"next\" onMouseOver=\"navRoll2('nextI','../images/pagenum/selected/numbers_coloured_10.jpg')\" onMouseOut=\"navRoll2('nextI','../images/pagenum/normal/numbers_coloured_10.jpg')\"><image src=\"../images/pagenum/normal/numbers_coloured_10.jpg\" alt=\"next\" id=\"nextI\" border=\"0\"></a>";	
		
	if (parseInt(currentPage)  == totalPages) {
		var	SCO = location.href.match(/sco_(\d+)/)[1]; 

		newSCO = "../sco_"+( (parseInt(SCO) > 10)  ? parseInt(SCO)+1 : "0"+( parseInt(SCO)+1 ) ) + "/body01.htm"; 
		if (SCO == 8) { 
			newSCO = "javascript:popUp('../../testlets/"+writeTestletFolder(testlet)+"/single_test.html');"	
		}
		

		if (location.href.match(/(\/(\d{2})\/)sco_.*/) != null) {
			HID = parseInt(location.href.match(/(\/(\d{2})\/)sco_.*/)[2]); 
			
			if (eval( 'm0' + HID ).$length -1  == 3 && parseInt(SCO)+1 == 6) 
				newSCO = "../sco_"+( (parseInt(SCO) > 10)  ? parseInt(SCO)+2 : "0"+( parseInt(SCO)+2 ) ) + "/body01.htm"; 
	
		}
				
			
		res += "<a title=\"move on\" accesskey=\"N\" href=\""+newSCO+"\" id=\"moveon\" onMouseOver=\"navRoll2('moveonI','../images/pagenum/selected/numbers_coloured_11.jpg')\" onMouseOut=\"navRoll2('moveonI','../images/pagenum/normal/numbers_coloured_11.jpg')\"><image src=\"../images/pagenum/normal/numbers_coloured_11.jpg\" alt=\"move on\" id=\"moveonI\" border=\"0\"></a>";	
	}

	return res+'</div>'; 

}
event_install(window,"onload",scale_to_size);
