// Fix Flash player bug
// See: http://bugs.adobe.com/jira/browse/FP-240
var origTitle = document.getElementsByTagName("title")[0].text;

// Return all elements with the
// specified tag and class name
function getElementsByClass(tag, cls) {
	var allTags = document.getElementsByTagName(tag);
	var retTags = new Array();
	for (var i=0; i<allTags.length; i++) {
		var classes = allTags[i].className.split(" ");
		for (var j=0; j<classes.length; j++) {
			if (classes[j] == cls) {
				retTags.push(allTags[i]);
			} // if (classes[j] == cls)
		} // for (var j=0; j<classes.length; j++)
	} // for (var i=0; i<allTags.length; i++)
	return retTags;
} // function getElementsByClass(cls)

// Unhighlight elements that are
// no longer highlighted
function unhighlight(elem) {
	var oldCls = elem.className.split(" ");
	var newCls = new Array();
	for (var i=0; i<oldCls.length; i++) {
		if (oldCls[i] != "target") {
			newCls.push(oldCls[i]);
		} // if (oldCls[i] != "target")
	} // for (var i=0; i<oldCls.length; i++)
	elem.className = newCls.join(" ");
} // function unhighlight(elem)

// Find and highlight appropriate
// elements
function highlightTarget() {
	document.title = origTitle;
	var h = location.hash.substring(1);					// The hash part of the URL
	var c = getElementsByClass("div", "target");		// The elements currently highlighted
	if (h.length > 0) {
		var t = document.getElementById(h);				// The element with that ID
	} // if (h.length > 0)
	// Unhighlight any old elements
	for (var i=0; i<c.length; i++) {
		if (c[i].id != h) {
			unhighlight(c[i]);
		} // if (c[i].id != h)
	} // for (var i=0; i<c.length; i++)
	// Highlight new elements
	if ((h.length > 0) && t) {
		if (t.className=="") {
			t.className = "target";
		} else {
			if (!((t.className=="target")||(t.className.substring(t.className.length-7)==" target"))) {
				t.className += " target";
			} // if (!((t.className=="target")||(t.className.substring(t.className.length-7)==" target")))
		} // if (t.className=="")
	} // if ((h.length > 0) && t)
} // function highlightTarget()

// Launch links in new windows
// according to @rel
function externalLinks() {
	if (!document.getElementsByTagName) return;
	var newWindow = {
		external: '',
		onsorg: '',
		download: ''
	};
	var anchors = document.getElementsByTagName("a");
	for (var i=0; i<anchors.length; i++) {
		var anchor = anchors[i];
		if (anchor.getAttribute("href") &&
		(anchor.getAttribute("rel") in newWindow)) {
			anchor.target = "_blank";
			if (anchor.getAttribute("rel")=="download") {
				anchor.setAttribute("onClick", "javascript: pageTracker._trackPageview('"+anchor.getAttribute("href")+"');");
			} // if (anchor.getAttribute("rel")=="download")
		} // if
	} // for (var i=0; i<anchors.length; i++)
} // function externalLinks()

// Toggle the ONS.org links bar
function ONSorgToggle() {
	var header = document.getElementById("header");
	var bar = document.getElementById("onsorg");
	var crumbs = document.getElementById("breadcrumbs");
	var btn = document.getElementById("onsmore");
	var btnMoreSrc = "http://ons.org/meetings/congress09/images/onsmore.gif";
	var btnLessSrc = "http://ons.org/meetings/congress09/images/onsless.gif";
	if (btn.src == btnMoreSrc) {
		// Bar contracted; expand it
		header.style.marginTop = "-89px";
		crumbs.style.marginTop = "40px";
		bar.className = "expanded";
		btn.src = btnLessSrc;
	} else {
		// Bar expanded; contract it
		header.style.marginTop = "-129px";
		crumbs.style.marginTop = "0px";
		bar.className = "contracted";
		btn.src = btnMoreSrc;
	} // if (btnMoreSrc)
} // function ONSorgToggle()

// Toggle the menu
function toggleMenu() {
	var eltMenuContent = document.getElementById("menu-content");
	var eltMenuToggle = document.getElementById("menu-toggle");
	if (eltMenuContent.style.display=="block") {
		eltMenuContent.style.display = "none";
		eltMenuToggle.innerHTML = "Expand Menu";
	} else {
		eltMenuContent.style.display = "block";
		eltMenuToggle.innerHTML = "Collapse Menu";
	} // if (eltMenuContent.style.display)
} // function toggleMenu

// Clean up Twitter name
function TwitterName(strTName) {
	return strTName.substring(0,strTName.indexOf("(")-1);
} // function TwitterName()

// Pop-up poll
function poll(id) {
	window.open('http://onsopcontent.ons.org/Polling/EmbedPoll.aspx?PollID='+id,"",'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=284,height=355');
} // function poll(id)

setInterval(highlightTarget, 100);