/* TMP Worldwide - Global JavaScript Functions */

// Check Browser CSS Compatibility
// alert(document.compatMode);


// Supress BOM Script Errors	
function errorsuppressor(){
return true;
}

if(location.href.indexOf("localhost") == -1){
window.onerror = errorsuppressor
}

// Multiple OnLoad Function

function addLoadEvent(func) {

	var oldonload = window.onload;
	
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
		oldonload();
		func();
		}
	}
}

// Toggle, Show/Hide Element(s)

function toggleElement(val, obj){

	if(document.getElementById(val).style.display == "none") { 

		obj.className = "expandon";
		document.getElementById(val).style.display = "block";
	
	} else {

		obj.className = "expand";
		document.getElementById(val).style.display = "none";
	}
}

// Global Pop-up (parse through DOM, if viewpage class exists, append event)

function newWinLinks() {

	var hosturl = window.location.hostname;
	var hostdomain = hosturl.replace(/www./i, "");

	for (var i=0; i<document.links.length; i++) {

		if (document.links[i].className == "viewpage") {
							
			// If domain is not equal to "tmp.com
			
			if (hostdomain != "tmp.com") {
			
			// then eliminate "http://www.tmp.com/"	
		
			var linkvalue = document.links[i].getAttribute("href");
			var currentlink = linkvalue.replace(/http:\/\/www.tmp.com\//, "");
			var currenttitle = document.links[i].getAttribute("title");
			if (currenttitle != null){currenttitle += " (opens new window)";}else{currenttitle = "(opens new window)";}
			document.links[i].setAttribute("href", currentlink);
			document.links[i].setAttribute("title", currenttitle);
		
			}
			
			// carry on...
		
			document.links[i].onclick = displayWindow;
		
		}
	} 
}

//addLoadEvent(newWinLinks);

addLoadEvent(newWinLinks);

function displayWindow() {

	var pageWindow = window.open(this.href,"win", 'toolbar=1,location=0,directories=0,status=0,menubar=1,scrollbars=yes,resizable=1,top=300,left=400,width=820,height=500');
	pageWindow.focus();
	return false;
}

// CLOSE WINDOW - MORE UNOBTRUSIVE LOVELYNESS

function closePage() {
  window.close();
  return false;
}

function closePopUp() {
	
if (!document.createElement) return false;
if (!document.createTextNode) return false;
if (!document.getElementById) return false;

var para = document.createElement("p");
var href = document.createElement("a");
href.setAttribute("href", "#");
href.setAttribute("onclick", closePage);
var strtxt = document.createTextNode("Close Window");

para.appendChild(href);
href.appendChild(strtxt);

var pagefunction = document.getElementById ("pagefunction");
pagefunction.appendChild(para);
}

// addLoadEvent(closePopUp);

function closeRefresh(pageID) {

opener.top.location = pageID;
self.close();
return false;
}

// Tertiary Navigation Scroll

var timer;
var scrollspeed = 3;
		
function scrollup(){
		
if (document.all){
	document.all.supplementalnavigation.scrollTop -= scrollspeed;
		
} else {
		
	document.getElementById('supplementalnavigation').scrollTop -= scrollspeed;
		
	}
}
		
function scrolldown(){
		
if (document.all){
	document.all.supplementalnavigation.scrollTop += scrollspeed;
		
} else {
		
document.getElementById('supplementalnavigation').scrollTop += scrollspeed;
		
	}
}
		
function startUpScroll(){
timer = setInterval(scrollup,2);
}

function startDownScroll(){
timer = setInterval(scrolldown,2);
}

function stopScroll(){
clearInterval(timer);
}

function rollElemnt() {

if (!document.getElementById("supplementalnavigation-wrapper")) return false;

var scrolldn = document.getElementById("scrolldn");
var scrollup = document.getElementById("scrollup");

	scrolldn.onmouseover = function() {
	startDownScroll();
	}

	scrolldn.onmouseout = function() {
	stopScroll();
	}

	scrollup.onmouseover = function() {
	startUpScroll();
	}

	scrollup.onmouseout = function() {
	stopScroll();
	}

}

addLoadEvent(rollElemnt);

// Hide Article Elements/Links based on referrer  

function articleFunctions() {

if (!document.getElementById) return false;
if (!document.getElementsByTagName) return false;
if (!document.getElementById("pagefunction")) return false;

var currenthost = window.location.hostname;	
var currentdomain = currenthost.replace(/www./i, "");
var closewindow = document.getElementById("pagefunction").getElementsByTagName("p")[0];
var learnmore = document.getElementById("pagefunction").getElementsByTagName("p")[1];

if (document.referrer.indexOf(currentdomain) == -1){
	closewindow.style.display = "none";
	} else {
		learnmore.style.display = "none";
	}
	
}	
		
// addLoadEvent(articleFunctions);

// Inline Page Jump

function pageJump(pageto) {
	
	window.history.go(pageto);

}

// Inline Close Window

function closewindow() {
	
	window.close();
	return false;
}

// Row clicker

function gridRowClick() {
	
	if (!document.getElementsByTagName) return false;
	if (!document.getElementById("events")) return false;

	var get_grid = document.getElementsByTagName("table");

	for (var i=0; i < get_grid.length; i++) {

		if (get_grid[i].className ==  "datagrid") {

			var rows = get_grid[i].getElementsByTagName("tr");

			for (j=0; j < rows.length; j++) {

				if (rows[j].className ==  "even" || rows[j].className ==  "odd") {

					rows[j].onclick = function() {

						var cell = this.getElementsByTagName("td")[0];

						if (cell.getElementsByTagName("a").length > 0) {

							var link = cell.getElementsByTagName("a")[0];
							location.href = link.getAttribute("href");

						}
					}
				}
			}

		}
	}
}

addLoadEvent(gridRowClick);

function appendAddThis() {
	
if (!document.getElementById) return false;
if (!document.getElementById("addthis")) return false;
	
// var list_addthis = document.getElementById("addthis").getElementsByTagName("a")[0];
var list_addthis = document.getElementById("addthis");
	
list_addthis.onmouseover = function() {
	return addthis_open(this, '', '[URL]', '[TITLE]');
}
			
list_addthis.onmouseout = function() {
	addthis_close();
}
			
list_addthis.onclick = function() {
	return addthis_sendto();
	return false;
}
	
}
	
addLoadEvent(appendAddThis);

// AddThis Variables

var addthis_pub  = "tmpgovernment";
var addthis_brand = "TMPgovernment.com";
var addthis_options = "delicious, digg, email, favorites, facebook, fark, furl, google, live, myweb, newsvine, reddit, stumbleupon, technorati, twitter, more";




/* --- drg -- */

document.write('<style type="text/css">@import "global/_css_source/app_nav_noscript.css";</style>');
//document.write('<link href="global/_css_source/app_nav_noscript.css" rel="stylesheet" type="text/css">');

function showActiveNav(){	
	if (document.getElementById("nav")){
		var strCurrentElementID = document.getElementsByTagName("body")[0].id.replace(/page/i, "nav")
		var arrActiveElementIDs = new Array();
		var count=0;
		
		if(document.getElementById(strCurrentElementID)!=null){
			while (strCurrentElementID != 'nav')
			{
				if (document.getElementById(strCurrentElementID).nodeName == "LI") {
					arrActiveElementIDs[count] = strCurrentElementID;
					document.getElementById(strCurrentElementID).className='activeListItem'
					count++;
				}
				strCurrentElementID = document.getElementById(strCurrentElementID).parentNode.id;
			}
			document.getElementById(arrActiveElementIDs[0]).getElementsByTagName("a")[0].className='activeLink';
		}
		//if(arrActiveElementIDs.length>0)showActiveNavGlobal(arrActiveElementIDs);
	}
}

addLoadEvent(showActiveNav);


function showActiveNavGlobal(arrActiveElementIDs){	
	var strGlobalPageId = arrActiveElementIDs[arrActiveElementIDs.length-1].replace(/nav/i, "page");
	document.getElementsByTagName("body")[0].className=strGlobalPageId;
	//alert(document.getElementsByTagName("body")[0].className);
}


//http://www.robertnyman.com/2005/11/07/the-ultimate-getelementsbyclassname/
function getElementsByClassName(oElm, strTagName, strClassName){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/\-/g, "\\-");
	var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}


function setNewWinLinks() {
		var newWinLinks = getElementsByClassName(document, "a", "newWin");  // for all <a class="newWin">
		for (i = 0; i < newWinLinks.length; i++) {
			 newWinLinks[i].title += ' (opens new window)';
			 newWinLinks[i].target = '_new';
		}
}

addLoadEvent(setNewWinLinks);

function setNewWinLinks2() {
		var newWinLinks = document.getElementsByTagName("a");
		for (i = 0; i < newWinLinks.length; i++) {
			 if (newWinLinks[i].href.indexOf("tmp.com") != -1){
				 newWinLinks[i].title += ' (opens new window)';
				 newWinLinks[i].onclick = function() {
							window.open(this.href);
							return false;     //doesnt work in IE7
				 }	
			 }
		}
}

// This function is used to return the proper portfolio_success.aspx link in the portfolio flash
// The link is stored in the db
function appendDomain(strHref) {
	appendedLink = window.location.protocol + "//" + window.location.host + strHref; 
	window.open(appendedLink);
}

var arrLastItemList = new Array("nav-secondary");

function addLastItemClass(myElementID){
	if(document.getElementById){
		if(document.getElementById(myElementID)){
			arrListItems = document.getElementById(myElementID).getElementsByTagName("li");
			arrListItems[arrListItems.length-1].className='lastItem';
		}
	}
}

function setLastItemList(){
	for (var i=0; i<arrLastItemList.length; i++) {	
		if(arrLastItemList[i])addLastItemClass(arrLastItemList[i]);
	}
}

addLoadEvent(setLastItemList);

function showPluginLinks(){
	var count = 0;
	var myObj = document.getElementById("plugins").getElementsByTagName("span");
	var arrLinks = document.links;
	for(i=1;i<myObj.length;i++){
		myObj[i].style.display = "none";
		currentLink = myObj[i].id.replace(/pluginLink-/i,".");
		for(j=0;j<arrLinks.length;j++){
			currentArrLink = arrLinks[j].href.toLowerCase();
			if(currentArrLink.indexOf(currentLink)!=-1){
				count++;
				myObj[i].style.display = "inline";
			}
		}	
	}
	//if(count==0)document.getElementById("plugins").style.display = "none";
}

addLoadEvent(showPluginLinks);

