/**
 *
 *	################################################################################################
 *	DREAMWEAVER FUNCTIONS
 *	################################################################################################
 *
 */

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


/**
 *	LOADLIBRARY
 *	###############################################################################################
 *	This function dynamically loads external JavaScript libraries to a pre-exiting/pre-loaded page.
 */
function LoadLibrary( sLibURL )
{
	// Create a new "script" element.
	var NewScriptLib = document.createElement('script');
	// Modify the elemtn to have the correct type for JS code.
	NewScriptLib.type = 'text/javascript';
	// Configure the element to call the code in the URL passed in.
	NewScriptLib.src = sLibURL;
	// Add the "script" element to the page and run the library.
	document.getElementsByTagName('head')[0].appendChild(NewScriptLib);
}


/**
 *	ADDLOADEVENT
 *	############################################################################
 *	This function takes a function as a parameter and modifies the onload
 *	event handler to run the function when the page completely loads.
 */
function AddLoadEvent( func )
{	
	// Save the original load function.
	var OrigFuncOnLoad = window.onload;
	
	// If the event handler is NOT function
	if(typeof window.onload != 'function')
	{
		// attach the new function passed in.
		window.onload = func;
	}
	else
	{
		// Otherwise setup a new function 
		// and put the original function back.
		window.onload = function()
		{
			if(OrigFuncOnLoad)
			{
				OrigFuncOnLoad();
			}
		}
	}
}


/**
 *	CREATETOOLTIP
 *	###############################################################################################
 *	This function creates the tool tip by creating, configuring, and appending
 *	the div element that will contain the tip text.
 */
function CreateToolTip( TipID, TipText )
{
	// Create a new "div" element.
	var	tip	= document.createElement("div");
	// Add a text node to the "div" with the appropriate text.
	var tip_text = document.createTextNode(TipText);
	// Append the text node to the "div" element.
	tip.appendChild(tip_text);
	// Set the ID of the new "div" element.
	tip.setAttribute("id", TipID);
	// Create a new ClassNames object.
	var TE = new Element.ClassNames(tip);
	// Use the new object to add the classname to the new "div" element.
	TE.add("TTStyle");
	// Add the new "div" element to the page.
	$("Audiences").appendChild(tip);
	// Hide the new "div" element.
	new Element.hide(tip);
}


/**
 *	SETUPTOOLTIPS
 *	###############################################################################################
 *	This function creates the tool tips and sets up the handlers for each of
 *	the tips.
 */
function SetupToolTips()
{
	// Create a tool tip and place it on the page for each audience.
	CreateToolTip( 'ConsumerTip', ConsumerTText );
	CreateToolTip( 'EducationTip', EducationTText );
	CreateToolTip( 'ResearchTip', ResearchTText );
	CreateToolTip( 'IndustryTip', IndustryTText );

	// Configure the trigger for each audience's tool tip.
	var TT = new ToolTip('ConsumerLink', 'ConsumerTip');
	var TT = new ToolTip('EducationLink', 'EducationTip');
	var TT = new ToolTip('ResearchLink', 'ResearchTip');
	var TT = new ToolTip('IndustryLink', 'IndustryTip');
}


/**
 *
 *	################################################################################################
 *	LOADTIME CODE
 *	################################################################################################
 *
 */
 
// Load ToolTip library.
LoadLibrary('http://www.fsec.ucf.edu/templates_scripts/ToolTip.js');
LoadLibrary('http://www.fsec.ucf.edu/templates_scripts/SearchBox.js');

var nDelay 			= 500;			// Global Delay value.
var nShowDelay		= nDelay;		// Delay before showing ToolTip.
var nHideDelay		= 100;			// Delay before hiding ToolTip.

var ConsumerTText	= "Information for home owners, business owners, and renters.";
var EducationTText	= "Information for teachers, students, colleges, and energy professionals.";
var ResearchTText	= "Information for university and industry researchers.";
var IndustryTText	= "Information for industry partners such as contractors, builders, and utilities.";

AddLoadEvent(SetupToolTips);
