<!--
//  	global javascript functions for PFG, Inc.

// 		eric hanna
//		webmaster
// 		Peregrine Financial Group, Inc.
//		ehanna@pfmail.com
//
// 		thanks also to others


// menu function 
sfHover = function() {
	var sfEls = document.getElementById("navigation").getElementsByTagName("li");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);


// ======== Old MM Functions that are still being used ==============================
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

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;
}

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 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 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 nrc(e)  ======= no right-click ===============================
am = "Right-clicking has been disabled.";
bV  = parseInt(navigator.appVersion)
bNS = navigator.appName=="Netscape"
bIE = navigator.appName=="Microsoft Internet Explorer"

function nrc(e) {
   if (bNS && e.which > 1){
      alert(am)
      return false
   } else if (bIE && (event.button >1)) {
     alert(am)
     return false;
   }
}
// UNCOMMENT THESE THREE LINES TO TURN ON
//document.onmousedown = nrc;
//if (document.layers) window.captureEvents(Event.MOUSEDOWN);
//if (bNS && bV<5) window.onmousedown = nrc;


// ========== IsAlphaNumeric(strString)  ==== test string for Alpha Numeric | "a-Z A-Z 0-9,.- "  ======================================
function IsAlphaNumeric(strString)
   //  check for valid alpha strings	
   {
   	var strValidChars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-',+. ";
   	var strChar;
   	var blnResult = true;

   	if (strString.length == 0) return false;

   	//  test strString consists of valid characters listed above
   	for (i = 0; i < strString.length && blnResult == true; i++)
      		{
      			strChar = strString.charAt(i);
      		  if (strValidChars.indexOf(strChar) == -1)
         		{
         		blnResult = false;
         		}
      		}
   	return blnResult;
   }


// ===========  IsAlpha(strString)  ===========  test string for Alpha | "a-z A-Z"  ===========================
function IsAlpha(strString)
   //  check for valid alpha strings	
   {
   	var strValidChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ-abcdefghijklmnopqrstuvwxyz' ";
   	var strChar;
   	var blnResult = true;

   	if (strString.length == 0) return false;

   	//  test strString consists of valid characters listed above
   	for (i = 0; i < strString.length && blnResult == true; i++)
      		{
      			strChar = strString.charAt(i);
      		  if (strValidChars.indexOf(strChar) == -1)
         		{
         		blnResult = false;
         		}
      		}
   	return blnResult;
   }


// ============== IsNumeric(strString)  ============  test string for isNumeric | "0-1 )(-"  ================================
function IsNumeric(strString)
   //  check for valid alpha strings	
   {
   	var strValidChars = "-0123456789)'( ";
   	var strChar;
   	var blnResult = true;

   	if (strString.length == 0) return false;

   	//  test strString consists of valid characters listed above
   	for (i = 0; i < strString.length && blnResult == true; i++)
      		{
      			strChar = strString.charAt(i);
      		  if (strValidChars.indexOf(strChar) == -1)
         		{
         		blnResult = false;
         		}
      		}
   	return blnResult;
   }


// ======== checkemail(string) ======== test string for isEmail by regular expressions ==============================
var testresults
function checkemail(string){
var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
if (filter.test(string))
testresults=true
else{
testresults=false
}
return (testresults)
}


//============  isDate(day,month,year) ========   test string for date validation  ===================
function y2k(number) { return (number < 1000) ? number + 1900 : number; }
function isDate(day,month,year) {
// checks if date passed is valid
// will accept dates in following format:
// isDate(dd,mm,ccyy), or
// isDate(dd,mm) - which defaults to the current year, or
// isDate(dd) - which defaults to the current month and year.
// Note, if passed the month must be between 1 and 12, and the
// year in ccyy format.

    var today = new Date();
    year = ((!year) ? y2k(today.getYear()):year);
    month = ((!month) ? today.getMonth():month-1);
    if (!day) return false
    var test = new Date(year,month,day);
    if ( (y2k(test.getYear()) == year) &&
         (month == test.getMonth()) &&
         (day == test.getDate()) )
        return true;
    else
        return false
}


// -->