//script is for resizing the entire site .onclick - 'plus''minus'reset' images
   /*var fontSize = 1;
  function zoomIn() {
  fontSize += 0.1;
  document.getElementById("header").style.fontSize = fontSize + "em";
  document.getElementById("nav-top").style.fontSize = fontSize + "em";
  document.getElementById("wrapper").style.fontSize = fontSize + "em";
   document.getElementById("wrapper1").style.fontSize = fontSize + "em";
  document.getElementById("capabilities").style.fontSize = fontSize + "em";
  document.getElementById("buy").style.fontSize = fontSize + "em";
  document.getElementById("footer").style.fontSize = fontSize + "em";
  }
  function zoomOut() {
  fontSize -= 0.1;
  document.body.style.fontSize = fontSize + "em";
  document.getElementById("header").style.fontSize = fontSize + "em";
  document.getElementById("nav-top").style.fontSize = fontSize + "em";
  document.getElementById("wrapper").style.fontSize = fontSize + "em";
   document.getElementById("wrapper1").style.fontSize = fontSize + "em";
  document.getElementById("capabilities").style.fontSize = fontSize + "em";
  document.getElementById("buy").style.fontSize = fontSize + "em";
  document.getElementById("footer").style.fontSize = fontSize + "em";
  }
    function reset() {
	location.href = "<cfoutput>#CGI.HTTP_REFERER#?#CGI.QUERY_STRING#</cfoutput>";
	}
	*/

 var fontSize = 14;
 function largefont() {
  document.body.style.fontSize = fontSize + "px";
  document.getElementById("header").style.fontSize = fontSize + "px";
  document.getElementById("nav-top").style.fontSize = fontSize+ "px";
  document.getElementById("wrapper").style.fontSize = fontSize + "px";
   document.getElementById("wrapper1").style.fontSize = fontSize + "px";
  document.getElementById("capabilities").style.fontSize = fontSize + "px";
  document.getElementById("buy").style.fontSize = fontSize + "px";
  document.getElementById("footer").style.fontSize = fontSize + "px";
 }
 var fontSize = 12;
 function mediumfont() {
   document.body.style.fontsize = fontSize + "px";
 document.getElementById("header").style.fontSize = fontSize + "px";
  document.getElementById("nav-top").style.fontSize = fontSize + "px";
  document.getElementById("wrapper").style.fontSize = fontSize + "px";
   document.getElementById("wrapper1").style.fontSize = fontSize + "px";
  document.getElementById("capabilities").style.fontSize = fontSize + "px";
  document.getElementById("buy").style.fontSize = fontSize + "px";
  document.getElementById("footer").style.fontSize = fontSize + "px";
 }
 var fontSize = 10;
 function smallfont() {
   document.body.style.fontsize = fontSize + "px";
 document.getElementById("header").style.fontSize = fontSize+ "px";
  document.getElementById("nav-top").style.fontSize = fontSize + "px";
  document.getElementById("wrapper").style.fontSize = fontSize + "px";
   document.getElementById("wrapper1").style.fontSize = fontSize + "px";
  document.getElementById("capabilities").style.fontSize = fontSize + "px";
  document.getElementById("buy").style.fontSize = fontSize + "px";
  document.getElementById("footer").style.fontSize = fontSize + "px";
 }
 var min=8;
var max=14;
function increaseFontSize() {
   var p = document.getElementsByTagName('div');
   for(i=0;i<p.length;i++) {
      if(p[i].style.fontSize) {
         var s = parseInt(p[i].style.fontSize.replace("px",""));
      } else {
         var s = 12;
      }
      if(s!=max) {
         s += 1;
      }
      p[i].style.fontSize = s+"px"
   }
}
function decreaseFontSize() {
   var p = document.getElementsByTagName('div');
   for(i=0;i<p.length;i++) {
      if(p[i].style.fontSize) {
         var s = parseInt(p[i].style.fontSize.replace("px",""));
      } else {
         var s = 12;
      }
      if(s!=min) {
         s -= 1;
      }
      p[i].style.fontSize = s+"px"
   }
}
 function reset() {
  document.body.style.fontsize = 10 + "px";
  document.getElementById("header").style.fontSize = 10 + "px";
  document.getElementById("nav-top").style.fontSize = 10 + "px";
  document.getElementById("wrapper").style.fontSize = 8 + "px";
   document.getElementById("wrapper1").style.fontSize = 10 + "px";
  document.getElementById("capabilities").style.fontSize = 12 + "px";
  document.getElementById("buy").style.fontSize = 10 + "px";
  document.getElementById("footer").style.fontSize = 8 + "px";
  }
  /*var fontSize = 12;
  function zoomIn() {
  fontSize += 2;
  document.body.style.fontsize = fontSize + "px";
 document.getElementById("header").style.fontSize = fontSize + "px";
  document.getElementById("nav-top").style.fontSize = fontSize + "px";
  document.getElementById("wrapper").style.fontSize = fontSize + "px";
   document.getElementById("wrapper1").style.fontSize = fontSize + "px";
  document.getElementById("capabilities").style.fontSize = fontSize + "px";
  document.getElementById("buy").style.fontSize = fontSize + "px";
  document.getElementById("footer").style.fontSize = fontSize + "px";
  }
  function zoomOut() {
  fontSize -= 2;
  document.body.style.fontsize = fontSize + "px";
 document.getElementById("header").style.fontSize = fontSize + "px";
  document.getElementById("nav-top").style.fontSize = fontSize + "px";
  document.getElementById("wrapper").style.fontSize = fontSize + "px";
   document.getElementById("wrapper1").style.fontSize = fontSize + "px";
  document.getElementById("capabilities").style.fontSize = fontSize + "px";
  document.getElementById("buy").style.fontSize = fontSize + "px";
  document.getElementById("footer").style.fontSize = fontSize + "px";
  }
  function reset() {
  fontSize == 12;
  document.body.style.fontsize = fontSize + "px";
  document.getElementById("header").style.fontSize = fontSize + "px";
  document.getElementById("nav-top").style.fontSize = fontSize + "px";
  document.getElementById("wrapper").style.fontSize = fontSize + "px";
   document.getElementById("wrapper1").style.fontSize = fontSize + "px";
  document.getElementById("capabilities").style.fontSize = fontSize + "px";
  document.getElementById("buy").style.fontSize = fontSize + "px";
  document.getElementById("footer").style.fontSize = fontSize + "px";
  }
*/
//This script is for pop-up menu for the side menu item Laws/Regs/Policies
var timeout	= 500;
var closetimer	= 0;
var ddmenuitem	= 0;

// open hidden layer
function mopen(id)
{
	// cancel close timer
	mcancelclosetime();

	// close old layer
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';

	// get new layer and show it
	ddmenuitem = document.getElementById(id);
	ddmenuitem.style.visibility = 'visible';

}
// close showed layer
function mclose()
{
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
}

// go close timer
function mclosetime()
{
	closetimer = window.setTimeout(mclose, timeout);
}

// cancel close timer
function mcancelclosetime()
{
	if(closetimer)
	{
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}
// close layer when click-out
document.onclick = mclose;
//disclaimer script - below
		function Disclaimer()
		{
	    		var value= 	confirm("You are now leaving the Section 508 web site.  Thank you for visiting our site.  We welcome your comments on how we can make this site more useful.  You are now leaving this site to link to another location that is not maintained by the Federal Government.  The Federal Government takes no responsibility for and exercises no control over non-government sites, the view that may be represented, or the accuracy, privacy policies, copyright or trademark compliance, or the legality of any material contained on those sites.\n\nYou may press 'Cancel' to return to the Section 508 site.")
				return value;
		}
		function DisclaimerFed()
		{
	    		var value= 	confirm("You are now leaving the Section 508 web site.  Click your BACK button to return to the Section 508 site.")
				return value;
		}
		function DisclaimerFed2()
		{
	    		var value= 	confirm("You are opening a new browser window outside of the Section 508 web site.  The page you requested will open in an external browser window.  When you are finished, close the external browser to continue using the Section508.gov website.")
				return value;
		}

// JavaScript Document
/*
	doTheFlyout - Yet another dynamic menu
	written by Chris Heilmann (http://icant.co.uk)
	Please refer to the doTheFlyout homepage for updates: http://www.onlinetools.org/tools/doTheFlyout/
	Free for non-commercial use. Changes welcome, but no distribution without
	the consent of the author.
*/
function doTheFlyout()
{

// Variables, change these in case you need to set other class names (mmhide_ for
// contribute users for example)
	var parentClass='isParent';				//gets applied when the LI has a nested UL
	var activeParentClass='isActive';		//gets applied when the nested UL is visible
	var preventHoverClass='nohover';		//denotes a navigation that should not get any hover effects
	var indicateJSClass='dhtml';			//gets applied to the main navigation when Javascript is available
	var toHideClass='hiddenChild';			//gets applied to hide the nested UL
	var toShowClass='shownChild';			//gets applied to show the nested UL
	var currentClass='current';				//denotes the current active sub element and prevents collapsing
	var d=document.getElementById('nav');	//denotes the navigation element

// if DOM is not available stop right here.
	if(!document.getElementById && !document.createTextNode){return;}

// if the navigation element is available, apply the class denoting DHTML capabilities
	if(d)
	{
		d.className+=d.className==''?indicateJSClass:' '+indicateJSClass;
		var lis,i,firstUL,j,apply;

// loop through all LIs and check which ones have a nested UL
		lis=d.getElementsByTagName('li');
		for(i=0;i < lis.length;i++)
		{
			firstUL=lis[i].getElementsByTagName('ul')[0]
// if there is a nested UL, deactivate the first nested link and apply the class to show
// there is a nested list
			if(firstUL)
			{
				lis[i].childNodes[0].onclick=function(){return false;}
				lis[i].className+=lis[i].className==''?parentClass:' '+parentClass;
// check if there is a "current" element
				apply=true;
				if(new RegExp('\\b'+currentClass+'\\b').test(lis[i].className)){apply=false;}
				if(apply)
				{
					for(j=0;j < firstUL.getElementsByTagName('li').length;j++)
					{
						if(new RegExp('\\b'+currentClass+'\\b').test(firstUL.getElementsByTagName('li')[j].className)){apply=false;break}
					}
				}
// if there is no current element, apply the class to hide the nested list
				if(apply)
				{
					firstUL.className+=firstUL.className==''?toHideClass:' '+toHideClass;
// check if there is a class to prevent hover effects and only apply the function
// onclick if that is the case, otherwise apply it onclick and onhover
					if(new RegExp('\\b'+preventHoverClass+'\\b').test(d.className))
					{
						lis[i].onclick=function(){dodoTheFlyout(this);}
					} else {
						lis[i].onclick=function(){dodoTheFlyout(this);}
						lis[i].onmouseover=function(){dodoTheFlyout(this);}
						lis[i].onmouseout=function(){dodoTheFlyout(null);}
					}
// if there is a current element, define the list as being kept open and apply the
// classes to show the nested list and define the parent LI as an active one
				} else {
					lis[i].keepopen=1;
					firstUL.className+=firstUL.className==''?toShowClass:' '+toShowClass;
					lis[i].className=lis[i].className.replace(parentClass,activeParentClass);
				}
			}
		}
	}
// function to show and hide the nested lists and add the classes to the parent LIs
	function dodoTheFlyout(o)
	{
		var childUL,isobj,swap;

// loop through all LIs of the navigation
		lis=d.getElementsByTagName('li');
		for(i=0;i < lis.length;i++)
		{
			isobj=lis[i]==o;
// function to exchange class names in an object
			swap=function(tmpobj,tmporg,tmprep)
			{
				tmpobj.className=tmpobj.className.replace(tmporg,tmprep)
			}
// if the current LI does not have an indicator to be kept visible
			if(!lis[i].keepopen)
			{
				childUL=lis[i].getElementsByTagName('ul')[0];
// check if there is a nested UL and if the current LI is not the one clicked on
// and exchange the classes accordingly (ie. hide all other nested lists and
// make the LIs parent rather than active.
				if(childUL)
				{
					if(new RegExp('\\b'+preventHoverClass+'\\b').test(d.className))
					{
						if(new RegExp('\\b'+activeParentClass+'\\b').test(lis[i].className))
						{
							swap(childUL,isobj?toShowClass:toHideClass,isobj?toHideClass:toShowClass);
							swap(lis[i],isobj?activeParentClass:parentClass,isobj?parentClass:activeParentClass);
						} else {

							swap(childUL,isobj?toHideClass:toShowClass,isobj?toShowClass:toHideClass);
							swap(lis[i],isobj?parentClass:activeParentClass,isobj?activeParentClass:parentClass);
						}
					} else {
							swap(childUL,isobj?toHideClass:toShowClass,isobj?toShowClass:toHideClass);
							swap(lis[i],isobj?parentClass:activeParentClass,isobj?activeParentClass:parentClass);
					}
				}
			}
		}
	}
}
window.onload=function()
{
	doTheFlyout();
	// add other functions to be called onload below
}

function clearAnyForm(oForm) {

	var frm_elements = oForm.elements;
	for(i=0; i < frm_elements.length; i++) {

		field_type = frm_elements[i].type.toLowerCase();

		switch(field_type) {
			case "text":
			case "password":
			case "textarea":
			case "hidden":
				frm_elements[i].value = "";
				break;

			case "radio":
			case "checkbox":
				if (frm_elements[i].checked) {
					frm_elements[i].checked = false;
				}
				break;

			case "select-one":
			case "select-multi":
				frm_elements[i].selectedIndex = -1;
				break;

			default:
				break;
		}
	}
}

function checkEmail(in_fld) {
		//alert(in_fld.value);
		//	return false;
		var emailFilter=/^.+@.+\..{2,3}$/;
		if (!(emailFilter.test(in_fld.value)))
		{
			alert('Your Email address in not in a valid format - please check the address and re-enter.');
			in_fld.focus();
			return false;
		}

		var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]]/
		if (in_fld.value.match(illegalChars))
		{
			alert('Your Email address contains invalid characters - please check the address and re-enter.');
			in_fld.focus();
			return false;
		}
}
