/************************************************************************
 **
 ** Name:    jlib_hidediv.js
 **
 ** Desc:    Set div to display at the cursor position and hide and show div
 **
 ** Author:  Julie Zimmerman
 **
 ** Date:    10/12/2011
 **
 ** Copyright (C) 2011 by Solutions Through Software,Inc.The material contained
 ** herein is the proprietary property of Solutions Through Software, Inc.
 ** Disclosure of this material is strictly prohibited except where permission 
 ** is granted in writing.
 **
 ***************************************************************************/

var cX = 0; var cY = 0; var rX = 0; var rY = 0;
var clicked = 0;
var lastVisDiv = "";
var lastCloseDiv = "";


function jlibUpdateCursorPosition(e)
{ 
	cX = e.pageX; cY = e.pageY;
}

function jlibUpdateCursorPositionDocAll(e)
{ 
	cX = event.clientX; cY = event.clientY;
} 

if (document.all) 
{ 
		document.onmousemove = jlibUpdateCursorPositionDocAll; 
}
else 
{ 
		document.onmousemove = jlibUpdateCursorPosition; 
}

function jlibAssignPosition(d)
{
	if (self.pageYOffset)
  	{
		rX = self.pageXOffset;
		rY = self.pageYOffset;
	}
	else if (document.documentElement && document.documentElement.scrollTop)
  	{
		rX = document.documentElement.scrollLeft;
		rY = document.documentElement.scrollTop;
	}
	else if (document.body)
  	{
		rX = document.body.scrollLeft;
		rY = document.body.scrollTop;
	}

	if (document.all)
  	{
		cX += rX; 
		cY += rY;
	}
	d.style.left = (cX-245) + "px";
	d.style.top = (cY+12) + "px";
}

function jlibClickContent(d, close)
{
	if (clicked == 1 && lastVisDiv == d)
	{
		clicked = 0;
		lastVisDiv = "";
		lastCloseDiv = close;

		jlibHideContent(d);

		/*
		 *  Hide close div
		 */
		if (close  != "")
		{
			document.getElementById(close).style.display = "none";
		}

	}
	else
	{
		clicked = 1;

		/*
		 * Show the close div 
		 */
		if (close != "")
		{
			document.getElementById(close).style.display = "block";
		}

		/* 
		 * Hide the last div shown
		 */

		if (lastVisDiv  != "" && lastVisDiv != d)
		{
			/*
			 *  just use the statement instead of HideContent 
			 *  as lastVisDiv is still set to old
			 */
			document.getElementById(lastVisDiv).style.display = "none";
			if (lastCloseDiv != "")
				document.getElementById(lastCloseDiv).style.display = "none";

		}


		//alert("set clicked");
		jlibShowContent(d, false);

		lastVisDiv = d;
		lastCloseDiv = close;
	}
	//alert("set last div " + lastVisDiv);
	
}

function jlibHideContent(d)
{
	if (d.length < 1 || (clicked == 1 && lastVisDiv == d)) 
	{ 
		//alert("ignore hide");
		return; 
	}


	document.getElementById(d).style.display = "none";
}

function jlibUpdatePosition(d) 
{
	if (d.length < 1) 
	{
	  	return; 
	}

	var dd = document.getElementById(d);
	jlibAssignPosition(dd);
}

function jlibShowContent(d, assign) 
{
	if (d.length < 1) 
	{
	  	return; 
	}

	if (lastVisDiv  != "" && lastVisDiv != d)
	{
		/*
		 *  Hide last
		 */
		document.getElementById(lastVisDiv).style.display = "none";
		if (lastCloseDiv != "")
		{
			document.getElementById(lastCloseDiv).style.display = "none";
			lastCloseDiv = "";
		}

		lastVisDiv = d;
		clicked = 0;
	}

	var dd = document.getElementById(d);
	if (assign)
		jlibAssignPosition(dd);

	dd.style.display = "block";
}

function jlibReverseContentDisplay(d) 
{
	if (d.length < 1) 
	{
	  	return; 
	}

	var dd = document.getElementById(d);
	jlibAssignPosition(dd);

	if (dd.style.display == "none") 
	{
	  	dd.style.display = "block"; 
	}
	else 
	{
	  	dd.style.display = "none"; 
	}
}


