
	/*--------------------------------------+
	 | Title: Global Scripts								|
	 | Version: 1.0													|
	 | Author: Dan Green, Web Developer			|
	 | Company: TMP Government, LLC					|
	 +--------------------------------------*/

var gteIE7 = false /*@cc_on || @_jscript_version >= 5.7 @*/;

// Load External Files
//if(!gteIE7)loadExternalFile("global/js/DD_belatedPNG.js");
loadExternalFile('/global/js/mdawin.js');
loadExternalFile('/global/css/app_script_enabled.css'); // Styles for javascript-enabled browsers only
loadExternalFile('/global/js/swfobject.js'); 
loadExternalFile('/global/js/app_localfunctions.js');

if (getQueryVariable("print"))loadExternalFile('/global/css/app_print_preview.css');


// Set Global Variables and Object References
var objBody;
var objPrimaryNav;
function getDomObjects() {
	objBody = document.getElementsByTagName("body")[0];
	objPrimaryNav = document.getElementById("nav-primary");
}

// Initialize Global Page Scripts
function initPage(){
	if ((!document.getElementById)||(!document.getElementsByTagName)) return false;
	getDomObjects();
	showActiveNav();
	addListClass("nav-footer");
	toggleSearchFormText();
	hideTopLink();
	showActivePlugins();
	document.getElementById("nav-utility-print").onclick = function(){window.print();return false};
	//alert(document.styleSheets[1].href);  check cross-browser compatibility for document.styleSheets on http://www.quirksmode.org/dom/w3c_css.html
	if(document.getElementById("page-home"))createScollBtns();
}
addLoadEvent(initPage);

function loadExternalFile(filename){
	if(!document.createElement)return false;
	if(filename.indexOf('js')!=-1){
		var fileref=document.createElement('script');
		fileref.setAttribute("type","text/javascript");
		fileref.setAttribute("src", filename);
	}
	if(filename.indexOf('css')!=-1){
		var fileref=document.createElement("link");
		fileref.setAttribute("rel", "stylesheet");
		fileref.setAttribute("type", "text/css");
		fileref.setAttribute("href", filename);
	}
 	if (typeof fileref!="undefined")document.getElementsByTagName("head")[0].appendChild(fileref);
}

function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
		oldonload();
		func();
		}
	}
}

function setULIDs(myElementID){	
	if(document.getElementById(myElementID)){
		arrListItems = document.getElementById(myElementID).getElementsByTagName("UL");
		for(var i = 0; i < arrListItems.length; i++){	
			arrListItems[i].id = "ul_" + i;
		}	
	}
}

function showActiveNav(){	
	var strCurrentElementID = objBody.id.replace(/page/i, "nav")
	var arrActiveElementIDs = new Array();
	var count=0;
	var strTopLevelID = "nav";
	
	setULIDs(strTopLevelID); //--------------------------------------------clean this up and make more efficient

	if(document.getElementById(strCurrentElementID)!=null){
		while (strCurrentElementID != strTopLevelID)
		{
			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';
	} else {
		if(objPrimaryNav)objPrimaryNav.className+='hide'; //hide container if no matching nav item	
	}
	
	if(arrActiveElementIDs.length>0){showActiveNavGlobal(arrActiveElementIDs);}else{objBody.className += " " + "page-default";}
	addSubLevelClass(strTopLevelID);
	
}

function showActiveNavGlobal(arrActiveElementIDs){	
	var strGlobalPageId = arrActiveElementIDs[arrActiveElementIDs.length-1].replace(/nav/i, "page");
	objBody.className+=" "+ strGlobalPageId;
	//alert(document.getElementsByTagName("body")[0].className);
}

var arrParentNodeIDs = new Array();

function addSubLevelClass(myElementID){	
	if(document.getElementById(myElementID)){
		arrListItems = document.getElementById(myElementID).getElementsByTagName("UL");
		for(var i = 0; i < arrListItems.length; i++){				
			//alert("id: " +  arrListItems[i].id);
			//alert("parentid: " +  arrListItems[i].parentNode.id);
			//arrListItems[i].parentNode.className += ' hasSubNav';
			if (arrListItems[i].parentNode.className != 'activeListItem')arrListItems[i].parentNode.className = 'hasSubNav';
		}	
	}
}

function toggleSearchFormText(){
	myElement = document.getElementById("SearchString");
	myElement.onblur = function() {
		if (myElement.value=="") myElement.value = myElement.defaultValue;
	}
	myElement.onfocus = function() {
		if (myElement.defaultValue==myElement.value) myElement.value = "";
	}	
}

function addListClass(myElementID){
	if(document.getElementById(myElementID)){
		arrListItems = document.getElementById(myElementID).getElementsByTagName("ul")[0].getElementsByTagName("li");		
		arrListItems[arrListItems.length-1].className='lastItem';
	}
}

function getX(obj){
  return(obj.offsetParent==null ? obj.offsetLeft : obj.offsetLeft+getX(obj.offsetParent));
}

function getY(obj) {
	return(obj.offsetParent==null ? obj.offsetTop : obj.offsetTop+getY(obj.offsetParent));
}

function hideTopLink(){
	if(document.all) {
		if(document.all.contentBot){
		    if ((getY(document.all.contentBot)) < 610) document.all.contentBot.style.display = 'none';
		}	
	} else if(document.getElementById) {
		    if (document.getElementById("contentBot")){
		        if ((getY(document.getElementById("contentBot"))) < 610) document.getElementById("contentBot").style.display = 'none';
		    }
	}
	//alert(getY(document.getElementById("contentBot")));
}

function showActivePlugins(){
	var intCount = 0;
	var arrPlugins = document.getElementById("plugins").getElementsByTagName("li");
	var arrLinks = document.links;
	var arrActivePlugins = new Array();
	var boolIsActiveExt;
	
	for(i=0;i<arrPlugins.length;i++){
		arrPlugins[i].style.display = "none";
		currentFileExt = arrPlugins[i].id.replace(/pluginLink-/i,".");
		boolIsActiveExt = false;
		
		for(j=0;j<arrLinks.length;j++){
			currentArrLink = arrLinks[j].href.toLowerCase();
			if(currentArrLink.indexOf(currentFileExt)!=-1)boolIsActiveExt = true;
		}
		
		if(currentFileExt == ".swf" && document.getElementById("flashcontent"))boolIsActiveExt = true;
		
		if(boolIsActiveExt){
			arrActivePlugins[intCount] = arrPlugins[i];
			intCount++;
		}
		
	}
	
	for(i=0;i<arrActivePlugins.length;i++){
		arrActivePlugins[i].style.display = "inline";
		if (i == 0) arrActivePlugins[i].innerHTML = "[ " + arrActivePlugins[i].innerHTML;
		if (i < (arrActivePlugins.length-1)) arrActivePlugins[i].innerHTML += ", ";
		if (i == arrActivePlugins.length-1) arrActivePlugins[i].innerHTML += " ]";
		//alert(arrActivePlugins[i].innerHTML);
	}
	
	if(arrActivePlugins.length == 0)document.getElementById("plugins").style.display = "none";	
		
}

function emailObf(myObj){
	myObj.onclick = function() {
		 doMail(myObj, 'REMOVETHISTEXT');
	}
}

function doMail(theLink, key){
	var before = theLink.getAttribute('href'); //Get the HREF tag. This includes the anti-spam 'key'
	if(before.indexOf(key) == -1) return false; //If the anti-spam key is not found in the link, exit the function without doing anything. If the link is clicked more than once, this prevents the Javascript from throwing an error
	var addy = before.split(key)[0] + before.split(key)[1]; //Our new variable "addy" is a combination of the text that comes BEFORE the key [0] and AFTER the key [1] 
	theLink.href = addy; //Substitute the original link with the new link ("addy")
}

function getQueryVariable(variable) {
	var query = window.location.search.substring(1);
	var vars = query.split("&");
	for (var i=0;i<vars.length;i++) {
		var pair = vars[i].split("=");
		if (pair[0] == variable) {
			return pair[1];
		}
	}
}


// News List Scroll

var timer;
var scrollspeed = 2;


function scrollup(){
	if (document.all){
		document.all.newsList.scrollTop -= scrollspeed;
	} else {
		document.getElementById('newsList').scrollTop -= scrollspeed;
	}
}
		
function getScrollValue(){	
	if (document.all){
		return document.all.newsList.scrollTop;
	} else {
		return document.getElementById('newsList').scrollTop;
	}
}
		
function scrolldown(){	
	if (document.all){
		document.all.newsList.scrollTop += scrollspeed;
	} else {
	document.getElementById('newsList').scrollTop += scrollspeed;
	}
}		
		
function startUpScroll(){timer = setInterval(scrollup,2);}
function startDownScroll(){timer = setInterval(scrolldown,2);}
function stopScroll(){
	clearInterval(timer);
	setScrollClass();
}


function setScrollClass() {
	var objScrollup=document.getElementById('scrollup');
	var objScrolldn=document.getElementById('scrolldn');
	
	if (getScrollValue() == 0) {
		objScrollup.className='inactive-up';
	} else {
		objScrollup.className='';
	}
	
	if (getScrollValue() >= (document.getElementById('newsList').scrollHeight -document.getElementById('newsList').offsetHeight)) {
		objScrolldn.className='inactive-dn';
	} else {
		objScrolldn.className='';
	}
	
	//alert(getScrollValue());
	//alert(document.getElementById('newsList').scrollHeight);
	//alert(document.getElementById('newsList').offsetHeight);
}

function rollElemnt() {
	var scrolldn = document.getElementById("scrolldn");
	var scrollup = document.getElementById("scrollup");
	scrollup.className='inactive-up';
	scrolldn.onmouseover = function(){
		startDownScroll();
		scrollup.className='';
	}
	scrolldn.onmouseout = function(){stopScroll()}
	scrollup.onmouseover = function(){
		startUpScroll();
		scrolldn.className='';
	}
	scrollup.onmouseout = function(){stopScroll()}
}

function createScollBtns(){
	if(!document.createElement)return false;	
	if(document.getElementById('newsList').scrollHeight > document.getElementById('newsList').offsetHeight){
		var objContainer = document.getElementById("container-content-news");
		var fileref=document.createElement('div');
		fileref.setAttribute("id","scrollup");
		objContainer.insertBefore(fileref,objContainer.firstChild);
		var fileref2=document.createElement('div');
		fileref2.setAttribute("id","scrolldn");
		objContainer.appendChild(fileref2);
		rollElemnt();
	}
}



