/*********************************************************************************************************************
* Registration Form Layer
* Editors: Bob Cieszkowski & Sofiane Oubraham
* Reference(s): Dynamic Drive "Fixed Tooltip"
* Version: 1.0
* Creation Date: 8/29/05
* Revision History
*
* 9/10/05 - Replaced Fixed placement of layer pop-up to be dynamically placed based on screen size and anchor placement
* 9/15/05 - Fixed IE bug for layer overlapping layer on HTML SELECT elements
* 3/11/06 - Added Moo.fx Opacity to toggle visibility of Registration layer
*
*********************************************************************************************************************/
		
var tipwidth='300px'; //default tooltip width
var vertical_offset="0px"; //horizontal offset of tooltip from anchor link
var horizontal_offset="-3px"; //horizontal offset of tooltip from anchor link

/* No Further Editing Needed Beyond this point*/

var ie4=document.all;
var ns6=document.getElementById&&!document.all;
var formSelects = document.getElementsByTagName("select");

var BMIHelp = '<a onclick="hidetip();" class="close button">&nbsp;</a><br><p>Your Body Mass Index (BMI) is a measure to help assess if you\'re at a healthy weight. BMI is only a guideline. Check with your physician about a healthy weight for you.</p><p><strong>Women:</strong> If your BMI is 27.3 or higher, you are defined as overweight. </p><p><strong>Men:</strong> If your BMI is 27.8 or higher, you are defined as overweight. </p>';
var BMRHelp = '<a onclick="hidetip();" class="close button">&nbsp;</a><br><p>Your Basal Metabolic Rate (BMR) shows the number of calories your body needs to operate. This doesn\'t account for any activity, it\'s simply the energy needed to sustain a heartbeat, breathing and normal body temperature. It measures the body at rest, not sleep, at room temperature.</p>';

if (ie4||ns6)
{
	document.write('<div id="Help" style="visibility:hidden"></div>');
}

function getposOffset(what, offsettype)
{
	var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
	var parentEl=what.offsetParent;

	while (parentEl!=null)
	{
		totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
		parentEl=parentEl.offsetParent;
	}

	return totaloffset;
}


function showhide(obj, e, visible, hidden, tipwidth)
{
	if (tipwidth!="")
	{
		dropmenuobj.widthobj=dropmenuobj.style;
		dropmenuobj.widthobj.width=tipwidth;
	}

	if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
	{
		hideSelects();
		myEffect.toggle();
	} 
	else if (e.type=="click")
	{
		hidetip();
	}
}

function iecompattest()
{
	return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body;
}

function clearbrowseredge(obj, whichedge)
{
	var edgeoffset=(whichedge=="rightedge")? parseInt(horizontal_offset)*-1 : parseInt(vertical_offset)*-1;

	if (whichedge=="rightedge")
	{
		var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15;
		dropmenuobj.contentmeasure=dropmenuobj.offsetWidth;
		
		if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
		{
			edgeoffset=dropmenuobj.contentmeasure;
		}	
	}
	else
	{
		var windowedge=ie4 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18;
		dropmenuobj.contentmeasure=dropmenuobj.offsetHeight;

		if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure)
		{
			edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight;
		}
	}
	
	return edgeoffset;
}

function fixedtooltip(obj, e, helpObj) 
{
	if (window.event)
	{
		event.cancelBubble=true;
	}
	else if (e.stopPropagation) 
	{
		e.stopPropagation();
	}

	dropmenuobj=document.getElementById? document.getElementById("Help") : Help;	
	
	if(helpObj == 'BMI')
	{
		dropmenuobj.innerHTML=BMIHelp;
	} else if (helpObj == 'BMR') {
		dropmenuobj.innerHTML=BMRHelp;
	}

	if (ie4||ns6)
	{

		dropmenuobj.x=getposOffset(obj, "left");
		dropmenuobj.y=getposOffset(obj, "top");
		dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+"px";
		
		var heightAbove = ie4 && !window.opera? dropmenuobj.y-iecompattest().scrollTop : dropmenuobj.y-window.pageYOffset;

		if( heightAbove > dropmenuobj.offsetHeight)
		{
			dropmenuobj.style.top=dropmenuobj.y-dropmenuobj.offsetHeight+"px";
			newY=getposOffset(dropmenuobj, "top");
			newX=getposOffset(dropmenuobj, "left");
		}
		else 
		{
			dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px";
			newY=getposOffset(dropmenuobj, "top");
			newX=getposOffset(dropmenuobj, "left");
		}
}
	showhide(dropmenuobj.style, e, "visible", "hidden", tipwidth);
}

/*Hide Form Select Elements from Overlapping Layer*/

function hideSelects()
{	
	for (var i = 0; i < formSelects.length; i++) 
	{
 
 		formSelects[i].x = getposOffset(formSelects[i], "left");
 		formSelects[i].y = getposOffset(formSelects[i], "top");
 		formSelects[i].w = formSelects[i].offsetWidth;
 		formSelects[i].h = formSelects[i].offsetHeight;

 		layer_x = newX - formSelects[i].w;
 		layer_y = newY - formSelects[i].h;
 		layer_h = dropmenuobj.offsetHeight;

 		if(formSelects[i].x >= layer_x && formSelects[i].x+formSelects[i].w >= layer_x && formSelects[i].y >= layer_y  && formSelects[i].y <= layer_y+layer_h)
 		{
			formSelects[i].style.visibility="hidden";
 		}

	}
}

/*Show Form Select Elements after hiding the overlapping layer*/
function showSelects()
{
	for (var j=0; j < formSelects.length; j++)
	{
		if (formSelects[j].style.visibility == "hidden")
		{
			formSelects[j].style.visibility = "visible";
		}
	}
}

function hidetip(e)
{
	if (typeof dropmenuobj!="undefined")
	{
		if (ie4||ns6)
		{
			myEffect.toggle();
			showSelects();
		}
	}
}