var op;
var menuTimer=0;
var mnpMenuShadows = new Array();
var bNetscape;
// Detect Browser type
if ((navigator.appName =="Netscape") && (navigator.appVersion.substring(0,1) >= 5))
{bNetscape = true;}
else{bNetscape = false;}

function clsT() { menuTimer=setTimeout("hideMenusAndIndicator()",1000);}
function clrT() { clearTimeout(menuTimer); }
function hideMenusAndIndicator() { autoLayers();}	

// Set Focus to 1st Field in Form
function setFocus() {
	var oForm;
	bNoForm = true;

	if (document.forms.length > 0){	
        
		if (eval(document.forms[0]))
		{
			oForm = document.forms[0];
			bNoForm = false;
		}
		
		if (!bNoForm)
		{
			if (typeof(oForm) != 'undefined')
			{
				for (i=0;i < oForm.length;i++) 
				{	
					var tempobj = oForm.elements[i];
					
					if ((tempobj.type =="text" || tempobj.type=="textarea") && (tempobj.disabled == false))
					{
					    oForm.elements[i].focus();
						break;
					}
				}
			}
		}
	}
}

// Navigate to URL and Close Menus.
function navigate(URL, fWindow)
{
	eval("window." + fWindow + ".location.replace('" + URL + "')");
	autoLayers();
}

function valItem(value, RegExpString, type) {	
		if (type == 1){
			var oRegEx = value.toUpperCase();
			var oString = RegExpString.toUpperCase();
		}
		else {
			var oRegEx = value;
			var oString = RegExpString;
		}
		
		var oMatch = oRegEx.match(oString);
		
		var bPassed = oMatch == null ? false : true;
		return bPassed;
}

function DisplayError(ErrorCount, Message) {
    document.getElementById('ErrorLabel').innerHTML = ErrorCount == 0 ? Message : document.getElementById('ErrorLabel').innerHTML + '<br>' + Message;
}

function hideOfficeAddress() {
    var oOffice = findObj('OfficeAddressDiv');
    var obj = oOffice.style;
    var d,v;
    
    if (obj.visibility == "") {
        d = 'none';
        v = 'hidden';
    }
    else {
        d=(obj.display=="block") ? 'none' : 'block';
	    v=(obj.visibility=="visible")? 'hidden' : 'visible';
    }
	obj.display = d;
	obj.visibility = v;
}

function valSaveSearch() {
    var bValidation;
    var errorCount = 0;

    var formvalue = eval("document.forms[0].txtSearchName.value");
	if (!valItem(formvalue, /^\w+/, 0))
	{
		DisplayError(errorCount, "Please enter a name for your search.<br><br>");
		bValidation = false;
		errorCount++;
	}

    if (errorCount < 1) { document.getElementById("ErrorLabel").innerHTML = "";}    
    return bValidation;
}

function displayHelp(URL, width, height)
{
    var winOptions = "scrollbars=yes,toolbar=no,status=no,menubar=no,location=no,width=" + width + ",height=" + height + ",left=200,top=200"
	pwin = window.open(URL, "_blank", winOptions);
}
function swapColor(obj, color) { obj.style.backgroundColor=color;}
function swapColorBg(obj, bgcolor, bordercolor, textcolor){
	obj.style.backgroundColor=bgcolor;
	obj.style.border=bordercolor;
	obj.style.color= textcolor;
}

function swapImage() { 
var i,j=0,x,a=swapImage.arguments; 
document.sr=new Array; 
for(i=0;i<(a.length-2);i+=3)
	if ((x=findObj(a[i]))!=null)
	{
		document.sr[j++]=x; 
		if(!x.oSrc) x.oSrc=x.src; 
		x.src=a[i+2];
	}
}

function swapImgRestore() { 
	var i,x,a=document.sr; 
	for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function preloadImages() { //v3.0
  var d=document; 
  if(d.images){ 
	if(!d.MM_p) d.MM_p=new Array();
    
    var i,j=d.MM_p.length,a=preloadImages.arguments; 
    for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}
  }
}
function findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function ExpCol(plusnode, foldnode, imgpath, imgPlusMinus, imgCollapsed, imgExpanded, nodekey)
{
	if (foldnode != null)
	{
		var imgPlusMinussrc;
		var imgFoldersrc;
		var obj = findObj(foldnode);
		
//		nextNode = obj.nextSibling;
		prevNode = findObj(plusnode);
		// Modified code because the foldnode is inside an anchor tag.	
		nextNode = obj.parentElement.nextSibling;

		bFound = false;
		while (nextNode != null && bFound == false)
		{					
			if (nextNode.tagName == "DIV")
				bFound = true;	
			else			
				nextNode = nextNode.nextSibling;
	
		}
		
		if (nextNode != null && bFound)
		{						
			if (nextNode.style.display == 'none'){
				nextNode.style.display = '';
				imgFoldersrc = imgpath + imgExpanded;
				imgPlusMinussrc = imgpath + 'tv_minus' + imgPlusMinus + ".gif";
			}
			else{
				nextNode.style.display = 'none';
				imgFoldersrc = imgpath + imgCollapsed;
				imgPlusMinussrc = imgpath + 'tv_plus' + imgPlusMinus + ".gif";
			}

			prevNode.src = imgPlusMinussrc;
			swapImage(foldnode,'',imgFoldersrc,1)
		}				
	}
}

function swapClass(obj) {
	if (obj.className == "parent") {obj.className = "parentClicked";}
	else {obj.className = "parent";}
}

function showHideLayers() {
	var i,p,v,d,obj,args=showHideLayers.arguments;
	
	for (i=0; i<(args.length-2); i+=3) {
		if ((obj=findObj(args[i]))!=null) { 
			v=args[i+2];
			if (obj.style) {
				obj=obj.style;
				d=(v=='show')?'block':(v='hide')?'none':d;
				v=(v=='show')?'visible':(v='hide')?'hidden':v;
			}
			obj.display = d;
			obj.visibility = v;
		}
	}
}

function IsInMenu(item) {
    var l, m;
    var menuItems = new Array();
    menuItems[0] = "StateMenu";
    menuItems[1] = "CapitolCrowd";
    menuItems[2] = "FederalMenu";
    menuItems[3] = "RegisterMenu";
    
    for (m=0; m<menuItems.length; m++) {
        if (item == menuItems[m]) {
            return true;
        }
    }
    
}

function autoLayers()
/* 
     Purpose: Display any menu passed as an argument.
        Args: example: 'layer1', 'layer2', etc...
   Exception: If all layers are to be hidden, pass nothing.
*/ 
{
	var g,b,k,f,args=autoLayers.arguments;
	var objBgItem = "";
	
	if ((!document.bolHidden) && (args.length > 0)) {document.bolHidden=true;modSelects("hidden");}
	else if (args.length == 0) {document.bolHidden=false;modSelects("visible");}
	 
	if(!document.pSetC) {pItems=new Array();document.pSetC=true;}
	
	for(k=0; k<pItems.length; k++) {
		if((g=findObj(pItems[k]))!=null) {
			b=(document.layers)?g:g.style;b.visibility="hidden";

            if (!IsInMenu(pItems[k])) {
				objBgItem = "men" + pItems[k].substring(3, pItems[k].length - 6);
				swapColorBg(findObj(objBgItem), 'FFFFFF', '1px solid #FFFFFF', 'transparent');
			}
		}
	}
	
	// Reset old Layer Items
	pItems.length = 0;
	
	for(k=0; k<args.length; k++) {
		if((g=findObj(args[k])) != null) {
			b=(document.layers)?g:g.style;b.visibility="visible";f=false;
			
			// Get Items to Highlight
			if (!IsInMenu(args[k])) {
				objBgItem = "men" + args[k].substring(3, args[k].length - 6);
				swapColorBg(findObj(objBgItem), 'B6BDD2', '1px solid #999999', '000000');
			}

			for(j=0;j<pItems.length;j++) {
				if(args[k]==pItems[j]) {f=true;}
			}
		
			if(!f) {pItems[pItems.length++]=args[k];}
		}	
	}
}


function modSelects(strVisibility)
/*
	Purpose: Hide or show all <Select> lists visible on a page.

	   Note: <Select> lists appear on the lowest z-index and will appear 
	         thru drop-down menus if not hidden.
	   Args: "visible" or "hidden".
*/
{
	var oFrame;
	bNoForm = true;
	if (document.forms.length > 0){	
	
		if (eval(document.forms[0]))
		{
			oFrame = document.forms[0];
			bNoForm = false;
		}
		
		if (!bNoForm)
		{
			if (typeof(oFrame) != 'undefined')
			{
				for (i=0;i < oFrame.length;i++) 
				{	
					var tempobj = oFrame.elements[i];
					if (tempobj.type =="select-one" || tempobj.type =="select-multiple")
					{
						tempobj.style.visibility = strVisibility;
					}
				}
			}
		}
	}
}

function checkAll()
/*
	Purpose: Check All Boxes on page
*/
{
	var oForm;
	var bNoForm;
    var bChecked;
    
    bChecked = eval(document.forms[0].chkCheckAll.checked);
	bNoForm = true;
	if (document.forms.length > 0){	
	
		if (eval(document.forms[0])){
			oForm = document.forms[0];
			bNoForm = false;
		}
		
		if (!bNoForm) {
			if (typeof(oForm) != 'undefined') {
				for (i=0;i < oForm.length;i++) {	
					var tempobj = oForm.elements[i];
					if (tempobj.type =="checkbox") {
					    tempobj.checked = bChecked;
					}
				}
			}
		}
	}
}
