// JavaScript Document

addLoadEvent(initializeBrochurePage);

function initializeBrochurePage() {
	if (document.getElementById("Content") != null) {	//in the case of no ebrochure loaded. ex: the welcome screen
		resizeBannerText();
		fitTopLinks();
		numberTheNumberedBullets();
		setupSmartFAQ();
		setupQuicklinks();
		ie7resizeBannerCheck();
	} else {
		setTimeout("initializeBrochurePage();", 500);
	}
}

function ie7resizeBannerCheck() {
	if (document.getElementById('PageTitle').style.top == "122px") {
		resizeBannerText();
		setTimeout("ie7resizeBannerCheck()", 200);
	}
}

function resizeBannerText() {
	var tb = document.getElementById("PageTitle");
	var fontSize = 48;

	tb.style.fontSize = fontSize + "px";
	while (tb.offsetHeight > 122) {
		fontSize--;
		tb.style.fontSize = fontSize + "px";
	}
	tb.style.top = (122 - tb.offsetHeight) + "px";
}

function fitTopLinks() {
	//var doc = window.ManagementContent.document;
	var navList = document.getElementById("navlist");
	if (navList != null) {
		var items = navList.getElementsByTagName("p");
		var s;
		var i;
		
		for (i = 0; i < items.length; i++) {
			if (items[i].offsetHeight > 26) {
				s = items[i].style;
				s.lineHeight = ".9em";
				s.paddingTop = "7px";
			}
		}
	}
}

function numberTheNumberedBullets() {
	var contentAreas = getContentAreas();
	var bullets = new Array();
	var bullet;
	var count = 0;
	var contentArea;
	var div;
	var i;
	
	for (i = 0; i < contentAreas.length; i++) {
		contentArea = contentAreas[i];
		div = contentArea.getElementsByTagName("div")[0];
		if (div.className == "bulletedArea") {
			bullet = div.getElementsByTagName("div")[0];
			if (bullet != null) {
				if (bullet.className == "numberedBullet") {
					count++;
					bullet.innerHTML = count;
				} else {
					count = 0; //reset numbering if there is a break between numbered bullets
				}
			} else {
				count = 0;	
			}
		} else if (div.className != "spacer") {
			count = 0; //reset numbering if there is a break between numbered bullets
		}
	}
}

function getContentAreas() {
	var divs = document.getElementById("Content").getElementsByTagName("div");
	var contentAreas = new Array();
	var i;
	
	for (i = 0; i < divs.length; i++) {
		if (divs[i].className == "div_content_area") {
			contentAreas.push(divs[i]);
		}
	}
	
	return contentAreas;
}

function getObjectsContentArea(obj) {
	var div = obj;
	var done = false;
	
	if (div.className == "div_content_area") done = true;
	
	while (!done) {
		div = div.parentNode;
		if (div == document.body) {
			done = true;
			div = null;
		} else if (div.className == "div_content_area") {
			done = true;
		}
	}
	
	return div;
}

function removeContentAreaSpacer(obj) {
	var divs;
	var i;
	
	if (obj.className != "div_content_area") obj = getObjectsContentArea(obj);
	if (obj != null) {
		divs = obj.getElementsByTagName("div");
		for (i = 0; i < divs.length; i++) {
			if (divs[i].className == "spacer") divs[i].parentNode.removeChild(divs[i]);
		}
	}
}

function setupQuicklinks() {
	var map = getQuickLinksMap();
	var i;
	var html = "";
	var lastQuickLinks = null;
	var menuOffset = 0;
	
	for (i = 0; i < map.length; i++) {
		if ((map[i].className == "quickLinksBar") || (map[i].className == "quickLinksBox")) {
			//if (lastQuickLinks != null) lastQuickLinks.innerHTML += "<div class='clear'></div>";
			removeContentAreaSpacer(map[i]);
			map[i].style.display = "block";
			lastQuickLinks = map[i];
			lastQuickLinks.innerHTML = "<p>Contents</p>";
			menuOffset++;
		} else if (lastQuickLinks != null) {
			linkName = map[i].innerHTML;
			lastQuickLinks.innerHTML += "<a href='#QL_" + menuOffset + "_" + linkName.replace(/ /g, "_") + "'>" + linkName + "</a>";
			map[i].innerHTML = "<a name='QL_" + menuOffset + "_" + linkName.replace(/ /g, "_") + "'></a>" + linkName;
		} else if (lastQuickLinks == null) {
			linkName = map[i].innerHTML;
			map[i].innerHTML = "<a name='" + linkName.replace(/ /g, "_") + "'></a>" + linkName;
		}
	}
	
	if (lastQuickLinks != null) lastQuickLinks.innerHTML += "<div class='clear'></div>";
}

function setupSmartFAQ() {
	var divs = document.getElementsByTagName("div");
	var contentAreas;
	var found = false;
	var area;
	var heading;
	var temp;
	var anchr;
	var i;
	
	for (i = 0; i < divs.length; i++) {
		if (divs[i].className == "smartFAQSetup") {
			found = true;
			temp = getObjectsContentArea(divs[i]);
			temp.parentNode.removeChild(temp);
			i = divs.length;
		}
	}
	
	if (found == true) {
		contentAreas = getContentAreas();
		for (i = 0; i < contentAreas.length; i++) {
			area = contentAreas[i].cloneNode(true);
			temp = area.getElementsByTagName("h1")[0] || area.getElementsByTagName("h2")[0] || area.getElementsByTagName("h3")[0] || area.getElementsByTagName("h4")[0];
			
			if (temp != null) {
				heading = temp.cloneNode(true);
				anchr = heading.getElementsByTagName("a")[0];
				if (anchr != null) heading.removeChild(anchr);
				area.removeChild(temp);
			}
			
			contentAreas[i].className = "div_faq_area";
			contentAreas[i].innerHTML = "<p><a href='javascript:void(0);' onclick='toggleAnswerVisibility(this);'>" + (i + 1) + ". " + heading.innerHTML + "</a></p><div class='div_faq_answer'>" + area.innerHTML + "</div>";
		}
	}
}

function getQuickLinksMap() {
	var parentNode;
	var i;
	var node;
	var ar = new Array();
	var tag;
	var deleteNextReturnToTop = false;
	
	//get the proper node to search from
	if (arguments.length == 0) {
		parentNode = document.getElementById("Content");
	} else {
		parentNode = arguments[0];
		ar = arguments[1];
	}
	
	for (i = 0; i < parentNode.childNodes.length; i++) {
		node = parentNode.childNodes[i];
		if (node.nodeType == 1) {
			tag = node.tagName.toLowerCase();
			if ((tag == "h1") || (tag == "h2") || (tag == "h3") || (tag == "h4")) {
				ar.push(node);
			} else if ((tag == "div") && ((node.className == "quickLinksBar") || (node.className == "quickLinksBox"))) {
				ar.push(node);
				//deleteNextReturnToTop = true;
			} else if ((tag == "p") && (node.className == "returnToTop") && (deleteNextReturnToTop == true)) {
				node.parentNode.removeChild(node);
				deleteNextReturnToTop = false;
			}
			ar = getQuickLinksMap(node, ar);
		}
	}
	
	return ar;
}

function toggleAnswerVisibility(obj) {	//for FAQ content areas
	var ans = obj.parentNode.parentNode.getElementsByTagName("div")[0];
	if (ans.className == "div_faq_answer") {
		ans.className = "div_faq_answer_visible";
	} else {
		ans.className = "div_faq_answer";
	}
}


//search functionality
function displaySearchMatches(matchTerm) {
	var results = document.getElementById("SearchBoxResults");
	var rawList = results.getElementsByTagName("a");
	var noMatchesMsg = results.getElementsByTagName("div")[0];
	var list;
	var tempAr;
	var terms = new Array();
	var matches = 0;
	var i, j;
	
	matchTerm = matchTerm.toLowerCase();
	
	//keep only valid terms
	tempAr = matchTerm.split(" ");
	for (i = 0; i < tempAr.length; i++) {
		if (tempAr[i].length > 1) terms.push(tempAr[i]);	
	}
	
	//lowercase the raw list
	list = new Array();
	for (i = 0; i < rawList.length; i++) {
		list.push(rawList[i].innerHTML.toLowerCase());	
	}
	
	//hide all terms
	for (i = 0; i < rawList.length; i++) {
		rawList[i].style.display = "none";
	}
	
	//show terms that match
	for (j = 0; j < terms.length; j++) {
		for (i = 0; i < list.length; i++) {
			if (list[i].indexOf(terms[j]) != -1) {
				matches++;
				rawList[i].style.display = "block";
			}
		}
	}
	
	if (matchTerm.length > 0) {
		results.style.display = "block";
		if (matches > 0) {
			noMatchesMsg.style.display = "none";
		} else {
			noMatchesMsg.style.display = "block";	
		}
	} else {
		results.style.display = "none";
	}
}

//////////////////////////////
//		FAST ANSWERS		//
//////////////////////////////

function popup_fastanswers() {
	var fastAnswersURL = "/ebrochure/fastanswers.php";
	var tempDay = new Date();
	var fastAnswersId = "FastAnswers";
	window.open(fastAnswersURL, fastAnswersId , 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=1004,height=600');
}

