//Functions for preview rollovers. 
function showRollover(courseID){
	if(courseID != "kingschools"){
	
		document.onmousemove = mouseFollow;
		var html = "<table><tr><td><img src='fs_el_assets/courses/"+courseID+"/preview.jpg'/></td></tr></table>";
		getRolloverObj().innerHTML = html;
		getRolloverObj().style.display="";
	}
}

function hideRollover(){
	getRolloverObj().innerHTML = "";
	getRolloverObj().style.display="none";
	getRolloverObj().left = "-500px";
	document.onmousemove = "";
}

function GetZoomFactor () {
	var factor = 1;
	if (document.body.getBoundingClientRect) {
			// rect is only in physical pixel size in IE before version 8
		var rect = document.body.getBoundingClientRect ();
		var physicalW = rect.right - rect.left;
		var logicalW = document.body.offsetWidth;

			// the zoom level is always an integer percent value
		factor = Math.round ((physicalW / logicalW) * 100) / 100;
	}
	return factor;
}

//ensure the target object t is within the bounds of the window
//t: target object;
//e: mouse event
function constrainObjectInBounds(t,e){
	var posx = 0;
	var posy = 0;
	var innerHeight = getInnerHeight();
	var innerWidth = getInnerWidth();
	var scrollPosition = getScrollingPosition();

	if (e.pageX || e.pageY){
		posx = e.pageX+15;
		posy = e.pageY+15;
	}else if (e.clientX || e.clientY){
		//IE management :-(
		posx = e.clientX + document.documentElement.scrollLeft + 15;
		posy = e.clientY + document.documentElement.scrollTop+15;
		var zoomFactor = GetZoomFactor ();
		posx = Math.round(posx/zoomFactor);
		posy = Math.round(posy/zoomFactor);
		innerHeight = Math.round(innerHeight/zoomFactor);
		innerWidth = Math.round(innerWidth/zoomFactor);
		scrollPosition.left = Math.round(scrollPosition.left/zoomFactor);
		scrollPosition.top = Math.round(scrollPosition.top/zoomFactor);
		
	}
	//prevent exceeding the window limits
	
	if (posx+t.clientWidth >(scrollPosition.left+innerWidth)){
		posx -=  (posx+t.clientWidth)-(scrollPosition.left+innerWidth);
	}

	if (posy+t.clientHeight >(scrollPosition.top+innerHeight)){
		posy -=  (posy+t.clientHeight)-(scrollPosition.top+innerHeight);
	}

	t.style.left=posx+"px";
	t.style.top=posy+"px";
}

function mouseFollow(e) {

	var t = getRolloverObj();
	if (!e) e = window.event;
	constrainObjectInBounds(t,e);
}


function getRolloverObj(){
	return document.getElementById("rolloverDiv");	
}


//Functions for pop-up divs.
function showAboutElearningPopUp()
{
	document.getElementById("about_elearning").style.display = "";
	document.getElementById("about_elearning_overlay").style.display = "";
}

function hideAboutElearningPopUp()
{
	document.getElementById("about_elearning").style.display = "none";
	document.getElementById("about_elearning_overlay").style.display = "none";

}

function dbg(s){
	//document.getElementById("dbg").style.display = "block";
	//document.getElementById("dbg").innerHTML = s;
}

function getInnerWidthHeight(wh){
	
	if (window["inner"+wh]) return window["inner"+wh];
	else if (document.documentElement["client"+wh]) return document.documentElement["client"+wh];
	else if (document.body["client"+wh]) return document.body["client"+wh];
	
	return 0;
}
function getInnerWidth(){
	return getInnerWidthHeight("Width");
}

function getInnerHeight(){
	return getInnerWidthHeight("Height");
}

function getScrollingPosition()      
{      
	var ret = new Object();     
	ret.left = 0;
	ret.top = 0;
	if (typeof window.pageYOffset != 'undefined'){      
		ret.left = window.pageXOffset,      
		ret.top  = window.pageYOffset      
	}else if (typeof document.documentElement.scrollTop      
		 != 'undefined' && (document.documentElement.scrollTop > 0 || document.documentElement.scrollLeft > 0))      {      
		ret.left = document.documentElement.scrollLeft;
		ret.top = document.documentElement.scrollTop;
	}else if (typeof document.body.scrollTop != 'undefined'){      
		ret.left = document.body.scrollLeft;      
		ret.top = document.body.scrollTop;
	}
     
	return ret;      
}

//SHOW CONTACT eLearning FUNCTIONS

function showContactElearningPopUp()
{
	
	document.getElementById("contact_elearning_overlay").style.display = "";
	var t = document.getElementById("contact_elearning");
	t.style.display = "block";
	
	var left = (document.getElementsByTagName('body')[0].clientWidth/2) - (t.offsetWidth/2);
	
	//FF
	if (typeof window.innerWidth != 'undefined')
	{
		var top = (window.innerHeight/2) - (t.offsetHeight/2);
	}
	//IE
	else
	{	
		var top = "100";
	}

	t.style.left= left+"px";
	t.style.top= top+"px";
}

function hideContactElearningPopUp()
{
	document.getElementById("contact_elearning").style.display = "none";
	document.getElementById("contact_elearning_overlay").style.display = "none";
}


//SHOW CONTACT DFW FUNCTIONS

function showContactDFWPopUp()
{
	document.getElementById("contact_dfw_overlay").style.display = "";
	var t = document.getElementById("contact_dfw");
	t.style.display = "block";
	
	var left = (document.getElementsByTagName('body')[0].clientWidth/2) - (t.offsetWidth/2);
	
	//FF
	if (typeof window.innerWidth != 'undefined')
	{
		var top = (window.innerHeight/2) - (t.offsetHeight/2);
	}
	//IE
	else
	{	
		var top = "100";
	}

	t.style.left= left+"px";
	t.style.top= top+"px";
}

function hideContactDFWPopUp()
{
	document.getElementById("contact_dfw").style.display = "none";
	document.getElementById("contact_dfw_overlay").style.display = "none";
}
//-------------------------


//Functions for courses drop down menu. 
function showCourseLinks(group){
	hideCourseLinks();
	if(group == "general"){
		document.getElementById("general_course_links").style.display = "";
		document.getElementById("menu_pointer_blue").style.display = "";
		var arrowPos = (document.getElementById("general_courses_icon").offsetParent.offsetLeft)+((document.getElementById("general_courses_icon").width)/2);
		document.getElementById("menu_pointer_blue").style.left = arrowPos+"px";
	}else if(group == "maintenance"){
		document.getElementById("maintenance_course_links").style.display = "";
		document.getElementById("menu_pointer_green").style.display = "";
		var arrowPos = (document.getElementById("maintenance_courses_icon").offsetParent.offsetLeft)+((document.getElementById("maintenance_courses_icon").width)/2);
		document.getElementById("menu_pointer_green").style.left = arrowPos+"px";
	}else if(group == "aircraft_specific"){
		document.getElementById("aircraft_specific_course_links").style.display = "";
		document.getElementById("menu_pointer_orange").style.display = "";
		var arrowPos = (document.getElementById("aircraft_specific_courses_icon").offsetParent.offsetLeft)+((document.getElementById("aircraft_specific_courses_icon").width)/2);
		document.getElementById("menu_pointer_orange").style.left = arrowPos+"px";
	}else if(group == "live"){
		document.getElementById("live_course_links").style.display = "";
		document.getElementById("menu_pointer_purple").style.display = "";
		var arrowPos = (document.getElementById("live_courses_icon").offsetParent.offsetLeft)+((document.getElementById("live_courses_icon").width)/2);
		document.getElementById("menu_pointer_purple").style.left = arrowPos+"px";
	}
}

function hideCourseLinks(){
	if(document.getElementById("general_course_links")){
		document.getElementById("general_course_links").style.display = "none";
	}
	if(document.getElementById("maintenance_course_links")){
		document.getElementById("maintenance_course_links").style.display = "none";
	}
	if(document.getElementById("aircraft_specific_course_links")){
		document.getElementById("aircraft_specific_course_links").style.display = "none";
	}
	if(document.getElementById("live_course_links")){
		document.getElementById("live_course_links").style.display = "none";
	}
	if(document.getElementById("menu_pointer_blue")||document.getElementById("menu_pointer_green")||document.getElementById("menu_pointer_orange")||document.getElementById("menu_pointer_purple")){
		document.getElementById("menu_pointer_blue").style.display = "none";
		document.getElementById("menu_pointer_green").style.display = "none";
		document.getElementById("menu_pointer_orange").style.display = "none";
		document.getElementById("menu_pointer_purple").style.display = "none";
	}
}


