//browser detection
var IE4 = (document.all) ? 1 : 0;
var NS4 = (document.layers) ? 1 : 0;
var NS = (navigator.userAgent.toLowerCase().indexOf('netscape')>0 || NS4==1) ? 1 : 0;
var Opera = (navigator.userAgent.toLowerCase().indexOf('opera')) ? 1 : 0;
var DOMstandard = (document.getElementById) ? 1 : 0;
var ver4 = (IE4 || NS4 || DOMstandard) ? 1 : 0;
var isMac = (navigator.appVersion.indexOf("Mac") != -1);

function NavBeginEnd(which, from, to) { //array for the head navigation items
	arNavButtons[which] = new Array();
	arNavButtons[which][0] = from;
	arNavButtons[which][1] = to;
}	

function setBeginEnd(which, from, to) { //array for secondary navigation items
	arPopups[which] = new Array();
	arPopups[which][0] = from;
	arPopups[which][1] = to;
}

if (ver4) { //sets up clipping coordinates for head navigation
	arNavButtons = new Array();
	NavBeginEnd(0,0,32); 	
	NavBeginEnd(1,35,124); 	
	NavBeginEnd(2,126,175); 
	NavBeginEnd(3,177,233);	
	NavBeginEnd(4,235,291);	
	NavBeginEnd(5,293,398);
	NavBeginEnd(6,400,454); 
	NavBeginEnd(7,456,523); 
	NavBeginEnd(8,526,620); 
	NavClipTop = 0;
	NavClipBottom = 15;
}

function MM_findObj(n, d) { //v4.01
  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=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function mapOver(which,on) { //controls rollover for secondary nav items
	 if (!ver4) {return;}
	 if(DOMstandard) { 
	 	objMenuOver = document.getElementById('MenuOver').style;
		}
	 else {
	 	if (IE4) {	objMenuOver = document.all.MenuOver.style; }
	 	else {	objMenuOver = document.PageContent.Menu.MenuOver; };
		}
	 if (!on) { objMenuOver.visibility = "hidden"; return;};
	 clTop = arPopups [which][0];
	 clBottom = arPopups [which][1];
	 if (NS4) {		
		objMenuOver.clip.top = clTop;
		objMenuOver.clip.bottom = clBottom;
		objMenuOver.clip.left = clLeft;
		objMenuOver.clip.right = clRight;
	 }
	 else { objMenuOver.clip = "rect(" + clTop + "px " + clRight + "px " + clBottom + "px " + clLeft +"px)"; }
	 objMenuOver.visibility = "visible";
}

function NavOver(which,on) { //controls rollover for head navigation items
	 if (!ver4) {return;}
	 if(DOMstandard) { 
	 	objMenuOver = document.getElementById('NavigationOver').style;
		}
	 else {
	 	if (IE4) {	objMenuOver = document.all.NavigationOver.style; }
	 	else {	objMenuOver = document.Navigation.NavigationOver; };
		}
	 if (!on) { objMenuOver.visibility = "hidden"; return;};
	 NavClipLeft = arNavButtons [which][0];
	 NavClipRight = arNavButtons [which][1];
	 if (NS4) {		
		objMenuOver.clip.top = NavClipTop;
		objMenuOver.clip.bottom = NavClipBottom;
		objMenuOver.clip.left = NavClipLeft;
		objMenuOver.clip.right = NavClipRight;
	 }
	 else { objMenuOver.clip = "rect(" + NavClipTop + "px " + NavClipRight + "px " + NavClipBottom + "px " + NavClipLeft +"px)"; }
	 objMenuOver.visibility = "visible";
}

/* Functions that swaps images. */
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

/* Functions that handle preload. */
function MM_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=MM_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 highlightField(obj,bln) { //changes the background color of a field onfocus and onblur
	if(document.all) {
		if(bln) { obj.style.backgroundColor="#eeeeee" }
		else { obj.style.backgroundColor="#ffffff" }
	}
} //highlightField(obj,bln)

function focusFirst() {
	if(document.forms[0]) { document.forms[0].elements[0].focus(); }
}

function openWindow(location) {
	open(location,'popup','width=360,height=370,scrollbars=no');
}

function popupWindow(location,width,height) {
	eval("open(location,'popup','width="+width+",height="+height+",scrollbars=no')");
}

function revealLayer(layerName) {
	if(document.all) {
		var obj = 	new Object();
		obj = eval("document.all." +layerName+ ".style")
		if(!obj.display || obj.display == "none") { obj.display = "block"; }
		else { obj.display = "none"; }
	}
}

function highlightRequired(fieldname) {
	var reqObj = new Object();
	reqObj=MM_findObj(fieldname);
	reqObj.style.backgroundColor="#E7C9C9";
}

function getFriendlyMessage(fieldname) { //Script to return formatted name to macromedia's form validation function
	var fieldObj = new Object();var valfieldname;valfieldname = "valmessage" + fieldname
	fieldObj=MM_findObj(valfieldname);
	if(fieldObj) { return fieldObj.value; }
	else { return fieldname; }
}

function MM_validateForm() { //v4.0
	var i,p,q,nm,focusField,test,num,min,max,errors='',args=MM_validateForm.arguments;
	for (i=0; i<(args.length-2); i+=3) { 
		test=args[i+2];
		val=MM_findObj(args[i]);
		if (val) { nm=val.name; if ((val=val.value)!="") {
			if (test.indexOf('isEmail')!=-1) {
				p=val.indexOf('@');
				if (p<1 || p==(val.length-1)) {
					errors+='- '+getFriendlyMessage(nm)+' should be an e-mail address.\n';
					highlightRequired(nm);
				}
			}
			else if (test!='R') {
				if (isNaN(val)) { errors+='- '+getFriendlyMessage(nm)+' should be a number.\n';highlightRequired(nm); }
				if (test.indexOf('inRange') != -1) {
					p=test.indexOf(':');
					min=test.substring(8,p); max=test.substring(p+1);
					if (val<min || max<val) {
						errors+='- '+getFriendlyMessage(nm)+' should be a number between '+min+' and '+max+'.\n';
						highlightRequired(nm);
					}
				}
				else if (test.indexOf('hasDigits') != -1) {
					var digits;
					digits=test.substring(10,test.length);
					if (digits!=val.length) {
						errors+='- '+getFriendlyMessage(nm)+' must have '+digits+' digits.\n';
						highlightRequired(nm);
					}
				}
			}
			
		}
		else if (test.charAt(0) == 'R') {
	  		errors += '- '+getFriendlyMessage(nm)+' needs to be filled in.\n';
			highlightRequired(nm);
		}
	} }
	if (errors) { alert('There are the following problems with your form:\n'+errors);window.scrollTo(0,0); }
	document.MM_returnValue = (errors == '');
}

function SetStatus(message) {
	if(IE4) { window.setTimeout("window.status='"+message+"'",1); }
	else { window.status=message; }
}

function stopScroll() { //stops scrolling of iframe pages
	clearInterval(scrollLoop);
}

function scrollFrame(speed) { //starts scrolling of iframe pages
	var direction;
	if(speed>0) { direction=1; }
	else { direction=-1;speed=-speed; }
	if(direction>0) { scrollLoop = setInterval("ContentFrame.scrollBy(0,10)", speed); }
	else { scrollLoop = setInterval("ContentFrame.scrollBy(0,-10)", speed); }
}

/* Phone Reformat Functions */
function stripCharsNotInBag (s, bag)
{ 
	var i;var returnString = "";
    for (i = 0; i < s.length; i++) { var c = s.charAt(i); if (bag.indexOf(c) != -1) returnString += c; }
    return returnString;
}

function reformat (s)
{   
	var arg;var sPos = 0;var resultString = "";
    for (var i = 1; i < reformat.arguments.length; i++) {
       arg = reformat.arguments[i];
       if (i % 2 == 1) resultString += arg;
       else {
           resultString += s.substring(sPos, sPos + arg);
           sPos += arg;
       }
    } 
    return resultString;
}

function ReformatUSPhone(USPhone)
{   
	if (USPhone.length < 10) { return ""; }
	USPhone = stripCharsNotInBag (USPhone, "1234567890");
	return (reformat (USPhone, "(", 3, ") ", 3, "-", 4));
}

function DocViewPopUp(fileID)
{
	var CmnWnd;
	var szURL = 'docView.cfm?view=' + fileID;
	if (CmnWnd == null)
	{
		CmnWnd = window.open(szURL + '','popup','toolbar=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes');
	}
}

//set default status to blank
defaultStatus = '';

//hide javascript messages from the user
function hide_error(msg, url, line) { return true; }
//window.onerror = hide_error;


