//	expandingPrettyButton.js
//	-- requires prototype.js to be included first
function hideShowButtonToolTip( divSrc )
{
	try
	{
		divTT = document.getElementById( "prettyButtonToolTip" );
		if ( divTT.style.visibility == "visible" )
		{
			divTT.style.visibility = "hidden";
			return;
		}
		if (( divSrc == null )||( divSrc == undefined ))
			return;
		divTT.innerHTML = "";
  		divCopy = divSrc.cloneNode( true );
		divCopy.style.position = "";
		divCopy.style.top = "";
		divCopy.style.left = "";
		divCopy.style.width = "";
		divCopy.style.height = "";
		divCopy.onmouseout = function() { hideShowButtonToolTip() };
		alink = divCopy.getElementsByTagName('a')[0];
		alink.style.width = "";
		alink.style.height = "";
		alink.style.overflow = "";
		divTT.appendChild( divCopy );
		
		sClasses = "";
		elTemp = divSrc;
		while( elTemp != null  )
		{
			sTemp = null;
			try
			{
			    sTemp = elTemp.getAttribute( "class" );
	    		if (( sTemp == null )||( sTemp == undefined ))
	    		   sTemp = elTemp.attributes["class"].nodeValue;
	    		if (( sTemp == null )||( sTemp == undefined ))
	    			sTemp = null;
			}
			catch ( ex )
			{
				sTemp = null;
			}
			if ( sTemp != null )
				sClasses = sTemp + " " + sClasses;
			elTemp = elTemp.parentNode;
		}

	    sTemp = divSrc.getAttribute( "class" );
		if (( sTemp == null )||( sTemp == undefined ))
		   sTemp = divSrc.attributes["class"].nodeValue;
		if (( sTemp == null )||( sTemp == undefined ))
			sTemp = "";
		
		$(divTT).writeAttribute( "class", sClasses );
		divTT.style.position = "absolute";
		divTT.style.visibility = "visible";
		divTT.style.backgroundColor = "transparent";
		divTT.style.left = new String( getAbsoluteLeft( divSrc ) ) + "px";

		if (/MSIE (\d+\.\d+);/.test(navigator.userAgent))
		{
			if( sTemp.toLowerCase() == "form_button" )
			{
				divTT.style.top = new String( getAbsoluteTop( divSrc ) - 79 ) + "px";
			}
			else
			{
				divTT.style.top = new String( getAbsoluteTop( divSrc ) ) + "px";
			}
		}
		else
		{
			divTT.style.top = getAbsoluteTop( divSrc );
		}
		if( sTemp.toLowerCase() == "form_button" )
		{
			elTemp = alink.getElementsByTagName('span')[0];
			elTemp.removeAttribute( "style" );
		}
	}
	catch( ex )
	{
	//		alert( ex.message  );
	}
}

function setupButtonToolTips()
{
	divs = document.getElementsByTagName('div');
	for( n=0; n < divs.length; n++ )
	{
		try
		{
		    sTemp = divs[n].getAttribute( "class" );
    		if (( sTemp == null )||( sTemp == undefined ))
    		   sTemp = divs[n].attributes["class"].nodeValue;
		}
		catch ( ex )
		{
		    sTemp = null;		 
		}
		if (( sTemp == null )||( sTemp == undefined ))
			continue;
		if (( sTemp.toLowerCase().indexOf( "button_type_" ) >= 0 )||( sTemp.toLowerCase() == "form_button" ))
		{
			alink = divs[n].getElementsByTagName('a')[0];
			if (( alink == null )||( alink == undefined ))
				continue;
			width = getGTBComputedStyle( divs[n], "width" );
			
			divTT = document.getElementById( "prettyButtonToolTip" );
			divTT.style.top = "-1000px";
			divTT.style.left = "-1000px";
			if (/MSIE (\d+\.\d+);/.test(navigator.userAgent))
			{
				if (( isNaN( width ) == true )||( width == "" )||( (new Number( width )) < 1 )) 
				{
					width = divs[n].offsetWidth + "px";
				}
				width = new Number( width.split( "px" )[0] );
				width -= 32;
				divTT.innerHTML = alink.innerHTML;
				if ( divTT.offsetWidth > alink.offsetWidth )
				{
					alink.onmouseover = function() { hideShowButtonToolTip( this.parentNode.parentNode ); };
					alink.style.width = width + "px";
					alink.style.height = "1.8em";
					alink.style.overflow = "hidden";
					if( sTemp.toLowerCase() == "form_button" )
					{
						elTemp = alink.getElementsByTagName('span')[0];
						elTemp.setAttribute( "style", "float:none;" );
					}
				}
			}
			else
			{
				if ( width == "auto" )
					width = divs[n].offsetWidth + "px";
				width = new Number( width.split( "px" )[0] );
				width -= 28;
				divTT.innerHTML = alink.innerHTML;
				if (( width < alink.offsetWidth )||( alink.offsetHeight > ( 2*divTT.offsetHeight )))
				{
					alink.onmouseover = function() { hideShowButtonToolTip( this.parentNode.parentNode ); };
					alink.style.width = width + "px";
					alink.style.height = "1.8em";
					alink.style.overflow = "hidden";
					if( sTemp.toLowerCase() == "form_button" )
					{
						elTemp = alink.getElementsByTagName('span')[0];
						elTemp.setAttribute( "style", "float:none;" );
					}
				}
			}
		}
	}
}

function getGTBComputedStyle( inEl, inStyle )
{
	ret = "";
	try
	{
		if (( inEl.currentStyle == null )||( inEl.currentStyle == undefined ))
		{
			ret = eval( "window.getComputedStyle( inEl, null )." + inStyle );
		}
		else
		{
			ret = eval( "inEl.currentStyle." + inStyle );
		}
		ret = new String( ret );
		if (( ret == "auto" )&&( inEl.parentNode != null ))
		{
			ret = getGTBComputedStyle( inEl.parentNode, inStyle );
		}
		if ((( trim( inStyle.toLowerCase() ) == "width" )||( trim( inStyle.toLowerCase() ) == "height" ))&&( ret != "auto" ))
		{
			if ( ret.indexOf( "px" ) == -1 )
				ret += "px";
		}
	}
	catch( ex )
	{
		alert( ex );
	}
	return( ret );
}


