var byu__byuBarLoaded = false;
var byu__linksBarLoaded = false;

function byu__byuBarStateChanged(byuBarEscapedString) 
{ 
	if(!byu__byuBarLoaded)
	{
		byu__byuBarLoaded = true;
		var newByuBar = unescape(byuBarEscapedString).replace(/[\+]/g, " ");//replace + sign with ' '
		if (newByuBar == null) 
		{
			return;
		} 

		var ByuBarLogin = document.getElementById("ByuBarLogin");
		ByuBarLogin.innerHTML = newByuBar;
		if(newByuBar.indexOf("loggedIn") >= 0)
		{
			ByuBarLogin.className = "loggedIn";
		}
		else
		{
			ByuBarLogin.className = "";
		}
		var ByuBarLoginForm = byu__getImmediateChildrenByTagName(ByuBarLogin, 'FORM');
		ByuBarLoginForm[0].style.display = 'block';

		byu__onLoadCompleteChain();
	}
};

function byu__byuBarLoadDefault()
{
	if(!byu__byuBarLoaded)
	{
		byu__byuBarLoaded = true;

		var ByuBarLogin = document.getElementById("ByuBarLogin");
		var ByuBarLoginForm = byu__getImmediateChildrenByTagName(ByuBarLogin, 'FORM');
		ByuBarLoginForm[0].style.display = 'block';
		
		byu__onLoadCompleteChain();
	}
};

function byu__linksBarStateChanged(linksBarEscapedString) 
{ 
	if(!byu__linksBarLoaded)
	{
		byu__linksBarLoaded = true;
		var newLinksBarContent = unescape(linksBarEscapedString).replace(/[\+]/g, " ");//replace + sign with ' '
		if (newLinksBarContent == null) 
		{
			return;
		}

		var LinksBar = document.getElementById("LinksBar");
		var newLinksBar = document.createElement('div');
		newLinksBar.innerHTML = newLinksBarContent;

		var linkLayers = byu__getImmediateChildrenByTagName(LinksBar, 'DIV');
		for(var i=1;i<linkLayers.length;++i)
		{
			newLinksBar.appendChild(linkLayers[i]);
		}
		LinksBar.innerHTML = newLinksBar.innerHTML;
		
		byu__generateLinksBar();
		LinksBar.className = 'show';
	}
}; 

function byu__linksBarLoadDefault()
{
	if(!byu__linksBarLoaded)
	{
		byu__linksBarLoaded = true;
		byu__generateLinksBar();
		var LinksBar = document.getElementById("LinksBar");
		LinksBar.className = 'show';
	}
};

function byu__loadUniversityData() 
{
	var request = 'https://home.byu.edu/webapp/home-common-web/byuBar.jsp?callBack=byu__byuBarStateChanged';
	if(byu__IsDefined("byu__targetLoginURL"))
	{
		request = request + "&targetURL=" + escape(byu__targetLoginURL);
	}
	if(byu__IsDefined("byu__templatePath"))
	{
		request = request + "&templatePath=" + escape(byu__templatePath);
	}
	var aObj = new byu__ScriptRequest(request);
	aObj.buildScriptTag();
	aObj.addScriptTag();
	window.setTimeout(byu__byuBarLoadDefault,3000);
};
byu__registerOnLoadHandler(byu__loadUniversityData);

function byu__loadLinksBar() 
{
	var request = 'https://home.byu.edu/webapp/home-common-web/linksBar.jsp?callBack=byu__linksBarStateChanged';
	var aObj = new byu__ScriptRequest(request);
	aObj.buildScriptTag();
	aObj.addScriptTag();
	window.setTimeout(byu__linksBarLoadDefault,3000);
};
byu__registerOnLoadHandler(byu__loadLinksBar);

function byu__ScriptRequest(fullUrl) 
{
	this.fullUrl = fullUrl;
	this.noCacheIE = '&noCacheIE=' + (new Date()).getTime();
	this.headLoc = document.getElementsByTagName("head").item(0);
	this.scriptId = 'YJscriptId' + byu__ScriptRequest.scriptCounter++;
};

// Static script ID counter
byu__ScriptRequest.scriptCounter = 1;

// buildScriptTag method
byu__ScriptRequest.prototype.buildScriptTag = function () 
{
	// Create the script tag
	this.scriptObj = document.createElement("script");
	
	// Add script object attributes
	this.scriptObj.setAttribute("type", "text/javascript");
	this.scriptObj.setAttribute("src", this.fullUrl + this.noCacheIE);
	this.scriptObj.setAttribute("id", this.scriptId);
};

// removeScriptTag method
byu__ScriptRequest.prototype.removeScriptTag = function () 
{
	this.headLoc.removeChild(this.scriptObj);
};

// addScriptTag method
byu__ScriptRequest.prototype.addScriptTag = function () 
{
	this.headLoc.appendChild(this.scriptObj);
};
