
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 MM_openBrWindow(theURL,winName,features) { //v2.0
//dependent=yes,width=,height=,top=10,left=300,titlebar=0,menubar=0,status=0,scrollbars=yes
  window.open(theURL,winName,features);
}

function mmLoadMenus() {
  if (window.mm_menu_0621095032_0) return;
          window.mm_menu_0621095032_0 = new Menu("root",148,18,"Arial, Helvetica, sans-serif",12,"#FFFFFF","#FFFFFF","#FF9900","#FFCC00","left","middle",3,0,1000,-5,7,true,true,true,0,true,true);
  mm_menu_0621095032_0.addMenuItem("Our&nbsp;Mission","location='mission.asp'");
  mm_menu_0621095032_0.addMenuItem("Board&nbsp;of&nbsp;Trustees","location='board.asp'");
  mm_menu_0621095032_0.addMenuItem("Calendar","location='calendar.asp'");
  mm_menu_0621095032_0.addMenuItem("News Feeds","location='NewsFeed.asp'");
 mm_menu_0621095032_0.addMenuItem("Internal&nbsp;Audit&nbsp;Department","location='internal_audit.asp'");
mm_menu_0621095032_0.addMenuItem("Local&nbsp;Plan","location='localplan.asp'");
  mm_menu_0621095032_0.addMenuItem("Fundraising","location='fundraising.asp'");
  mm_menu_0621095032_0.addMenuItem("Volunteer","location='volunteer.asp'");
   mm_menu_0621095032_0.hideOnMouseOut=true;
   mm_menu_0621095032_0.bgColor='#FF6600';
   mm_menu_0621095032_0.menuBorder=1;
   mm_menu_0621095032_0.menuLiteBgColor='';
   mm_menu_0621095032_0.menuBorderBgColor='#FF6600';

      window.mm_menu_0621095932_0 = new Menu("root",190,18,"Arial, Helvetica, sans-serif",12,"#FFFFFF","#FFFFFF","#FF9900","#FFCC00","left","middle",3,0,1000,-5,7,true,true,true,0,true,true);
  mm_menu_0621095932_0.addMenuItem("Media","location='mailto: media@mhmraharris.org'");
  mm_menu_0621095932_0.addMenuItem("Public&nbsp;Affairs","location='mailto: publicaffairs@mhmraharris.org'");
  mm_menu_0621095932_0.addMenuItem("Request&nbsp;for&nbsp;Information/Proposal","location='RFIP.asp'");
  mm_menu_0621095932_0.addMenuItem("Webmaster","location='mailto: webmaster@mhmraharris.org'");
   mm_menu_0621095932_0.hideOnMouseOut=true;
   mm_menu_0621095932_0.bgColor='#FF6600';
   mm_menu_0621095932_0.menuBorder=1;
   mm_menu_0621095932_0.menuLiteBgColor='';
   mm_menu_0621095932_0.menuBorderBgColor='#FF6600';

mm_menu_0621095932_0.writeMenus();
} // mmLoadMenus()

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

 function doClock()
  { // By Paul Davis - www.kaosweaver.com
   var t=new Date(),a=doClock.arguments,str="",i,a1,lang="1";
   var month=new Array('January','Jan', 'February','Feb', 'March','Mar', 'April','Apr', 'May','May', 'June','Jun', 'July','Jul', 'August','Aug', 'September','Sep', 'October','Oct', 'November','Nov', 'December','Dec');
   var tday= new Array('Sunday','Sun','Monday','Mon', 'Tuesday','Tue', 'Wednesday','Wed','Thursday','Thr','Friday','Fri','Saturday','Sat');
   for(i=0;i<a.length;i++) {a1=a[i].charAt(1);switch (a[i].charAt(0)) {
   case "M":if  ((Number(a1)==3) && ((t.getMonth()+1)<10)) str+="0";
   str+=(Number(a1)>1)?t.getMonth()+1:month[t.getMonth()*2+Number(a1)];break;
   case "D": if ((Number(a1)==1) && (t.getDate()<10)) str+="0";str+=t.getDate();break;
   case "Y": str+=(a1=='0')?t.getFullYear():t.getFullYear().toString().substring(2);break;
   case "W":str+=tday[t.getDay()*2+Number(a1)];break; default: str+=unescape(a[i]);}}return str;
  }

// User Created Functions //
function setFocus(num)
{	
	//alert(num);
	if (num == undefined)
	{
		num = 0;
	}
	
	document.forms[0].elements[num].focus();
}

/* add events */
function addEvent(obj, evType, fn){ 
 if (obj.addEventListener){ 
   obj.addEventListener(evType, fn, false); 
   return true; 
 } else if (obj.attachEvent){ 
   var r = obj.attachEvent("on"+evType, fn); 
   return r; 
 } else { 
   return false; 
 } 
}
//addEvent(window, 'load', checkKeycode);

/* prevent special character(s) */
function Prevent(e)
{
var keynum
var keychar
var numcheck

if(window.event) // IE
{
keynum = e.keyCode
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which
}
keychar = String.fromCharCode(keynum)

// alert(keynum);
// alert(keychar);
// use keynum for javascript key code value
// use keychar for actual key value

	if (keychar == "'") // apostrophe
		if (keynum != 8)
		{
		alert("That character is not allowed.");
		return false;
		//window.event.returnValue = false;
		}
}

/* Phone Numbers */
function integerOnly(e)
{
var keynum
var keychar
var numcheck

if(window.event) // IE
{
keynum = e.keyCode
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which
}
keychar = String.fromCharCode(keynum)

// alert(keynum);
// alert(keychar);
// use keynum for javascript key code value
// use keychar for actual key value

	if (keynum < 48 || keynum > 57)
		if (keynum != 8)
		{
		alert("Invalid character used. Digits ONLY. No paranthesis () or dashes - .");
		return false;
		}
}

/* Social Security - phasing out */
function SSNoOnly(e)
{
var keynum
var keychar
var numcheck

if(window.event) // IE
{
keynum = e.keyCode
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which
}
keychar = String.fromCharCode(keynum)

// alert(keynum);
// alert(keychar);
// use keynum for javascript key code value
// use keychar for actual key value

	if (keynum < 48 || keynum > 57)
		if (keynum != 45 && keynum != 8) // dash(-)
		{
		alert("Invalid character used. Digits and dashes - ONLY.");
		return false;
		}
}

/* Decimal or Money */
function numericOnly(e)
{
var keynum
var keychar
var numcheck

if(window.event) // IE
{
keynum = e.keyCode
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which
}
keychar = String.fromCharCode(keynum)

// alert(keynum);
// alert(keychar);
// use keynum for javascript key code value
// use keychar for actual key value

	if (keynum < 48 || keynum >= 58)
		if (keynum != 46 && keynum != 8)  // decimal point (.)
		{
		alert("Invalid character used. Ex: 25000.00");
		return false;
		}
}

/* prevent ENTER from submitting */
/*add this to form element onkeypress="return noenter(event);"*/
function noenter(e)
{
var keynum
var keychar
var numcheck

if(window.event) // IE
{
keynum = e.keyCode
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which
}
keychar = String.fromCharCode(keynum)

// alert(keynum);
// alert(keychar);
// use keynum for javascript key code value
// use keychar for actual key value

	if (keynum == 13)
		{
		return false;
		}
}

/* prevent radio buttons */
function cancelEvent()
{
	//alert("You are NOT authorized to use this section!");
	//var eSrc = window.event.srcElement
	//if (eSrc.className == "clsreadonly")
	{
		window.event.returnValue = false;
		window.event.cancelBubble = true;
	}
}

function doNothing()
{
	void(0);
}

function ClearPrefillText(id)
{
	document.getElementById(id).value = "";
}

/* Format Phone number */
var _OUTPUT=1; /* set to 1 to have the function output the result -return true if converted
                * set to 0 to have the function not output anything -returns the value
				*/
function formatPhone(num)
{
  	var _return=false;
  	/*
   	* 7181238748 to 1(718)123-8748
   	*/

  	if(num.length != 10)
  	{
    	/*
     	* if user did not enter 10 digit phone number then simply print whatever user entered
     	*/
		_return=_OUTPUT?num:false;
  	}
  	else
  	{
    	/* formating phone number here */
		_return="1(";
		var ini = num.substring(0,3);
		_return+=ini+")";
		var st = num.substring(3,6);
		_return+=st+"-";
		var end = num.substring(6,10);
		_return+=end;
  	}
  	return _return;
}

/* Get Today Date */
function TodayDate(field)
{
	var Today = new Date();
	//alert(Today);
	Today = ((Today.getMonth()+1) + '/' + Today.getDate() + '/' + Today.getYear());
	document.getElementById(""+ field +"").value = Today;
}

/* Popup Calendar */
function popupCal(field)
{
	newWin = window.open('../includes/cal_pop.asp?field='+ field +'','cal','dependent=yes,top=10,left=300,width=210,height=230,titlebar=no,status=1')
}

/* Popup Calendar from Sub Directories */
function popupCal2(field,ip)
{
	newWin = window.open('http://'+ ip +'/includes/cal_pop.asp?field='+ field +'','cal','dependent=yes,top=10,left=300,width=210,height=230,titlebar=no,status=0')
}

/* scroll 'over' to change image */
function swapimage(image)
{
	window.document.images[image].src = "images/red.gif";
}

/* scroll 'out' to change image */
function swapimageout(image)
{
	window.document.images[image].src = "images/transparent.gif";
}

/* validate textarea length */
function Textarea(thisObj,limit)
{
	var count = parseInt(limit);
	//alert(thisForm.value.length);
	//alert(limit);
  	if ((thisObj.value.length+1) > limit)
  	{
    	alert("Please limit your information to only "+ limit +" characters.\nYou have exceeded the limit by "+ ((thisObj.value.length+1)-limit));
    	thisObj.focus();
    	return (false);
  	}
}

/* Toggle Visibility - Show/Hide Anything that has an id attribute */
function Toggle_Visibility(id) 
{
var e = document.getElementById(id);
if(e.style.display == 'none')
e.style.display = 'block';
else
e.style.display = 'none';
}

// Toggle List of Layers - Show/Hide Layers(Containers) by passing id attribute and number of layers 
function Toggle_Layers(id,no)
{
var num = parseInt(no); // number of layers to roll through //
var e = document.getElementById("Layer"+id);

if (e.style.display == 'none')
	{
	e.style.display = 'block';
	for (i=1; i<num+1; i++)  // roll through layers //
		{
		if (i!=id) // hide elements not equal to id //
			{
			e = document.getElementById("Layer"+i);
			e.style.display = 'none';
			//alert(i);
			}
		}
	}
}
// end

// Show List of Layers //
function Show_Layers(idname,no)
{
var num = parseInt(no); // number of layers to roll through //

	for (i=1; i<num+1; i++)  // roll through layers //
		{
			e = document.getElementById(idname+i);
			e.style.display = 'block';
		}
}
// end

// Hide List of Layers //
function Hide_Layers(idname,no)
{
var num = parseInt(no); // number of layers to roll through //

	for (i=1; i<num+1; i++)  // roll through layers //
		{
			e = document.getElementById(idname+i);
			e.style.display = 'none';
		}
}
// end

/* Layer visibility */
ns4 = document.layers
ie4 = document.all 
nn6 = document.getElementById && !document.all 

// Show/Hide functions for pointer objects
function showObject(id) {
   if (ns4) {
      document.n1.visibility = "show";
   }
   else if (ie4) {
      document.all[id].style.visibility = "visible";
   }
   else if (nn6) {
      document.getElementById(id).style.visibility = "visible";
   }
}

function hideObject(id) {
   if (ns4) {
      document.n1.visibility = "hide";
   }
   else if (ie4) {
      document.all[id].style.visibility = "hidden";
   }
   else if (nn6) {
      document.getElementById(id).style.visibility = "hidden";
   }
}
// end


/* custom left function for javascript */
function Left(str, n)
{
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}

/* custom right function for javascript */
function Right(str, n)
{
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}

/* custom trim function for javascript */
function Trim(str)
{
   	var str = String(str);
	str = str.replace(/^\s*|\s*$/g,"");
	return String(str);
}

/* for moving across text boxes automatically */
function MoveNext(oThis, NextField, PreviousField)
{
	var oTxtRange
	var entrylength
	entrylength = oThis.form.elements[PreviousField].value.length;
		
     if (oThis.maxLength)
     {
          if (oThis.value.length == oThis.maxLength)
          {
               if (oThis.form.elements[NextField])
               {
                    oThis.form.elements[NextField].focus();
               }
          }
     }
	 if (oThis.value.length == 0)
	 {
	 	//alert(entrylength);
		if (document.selection && document.selection.createRange) {
  		// the Internet Explorer 4.0x code
		oTxtRange = oThis.form.elements[PreviousField].createTextRange();
		oTxtRange.move("character", entrylength);
		oTxtRange.select();

		} else if (document.getSelection) {
  		// the Navigator 4.0x code
		//oTxtRange = oThis.form.elements[PreviousField].setSelectionRange(0, entrylength);
		oTxtRange = oThis.form.elements[PreviousField].focus();
		} else {
  		// the alternative code
		}
  	}
}

/* Handle radio buttons */
//alert(document.getElementsByName("elementname").length);
function Rdo_Handler(ElementName)
{
//alert(document.getElementsByName(ElementName).length);
var Element = 0;
var sReturn = "";

for (i=0; i<((document.getElementsByName(ElementName).length)); i++)
{
	//alert(document.getElementsByName(ElementName)[i].checked);
	if (document.getElementsByName(ElementName)[i].checked == true)
	{
		Element = Element + 1;
		//alert(document.getElementsByName(ElementName)[i].value);
		sReturn = document.getElementsByName(ElementName)[i].value;
		//alert(Element);
	}
	else 
	{
		Element = Element + 0;
		//alert(Element);
	}
}
//alert(Element);
if (Element == 0)
{
	alert("Please Select a(n) "+ ElementName +" Level.");
	document.getElementsByName(ElementName)[0].focus();
	return (false);
}
else
{
	return sReturn
}
}
// End radio buttons //

/* send email from form element using mailto */
function SendEmail(thisObj)
{
	//alert(thisObj.value);
	if (thisObj.value == null || thisObj.value == "") // undefined = null
	{
		alert("No Email Address");
    	thisObj.focus();
    	return (false);
	}
	else
	{
	location.href = "mailto:" + thisObj.value;
	}
}

/* check or uncheck all checkboxes */
function checkAll(fld)
{
//alert(document.getElementsByName(fld).length);
for (i = 0; i < document.getElementsByName(fld).length; i++)
	document.getElementsByName(fld)[i].checked = true;
}

function uncheckAll(fld)
{
for (i = 0; i < document.getElementsByName(fld).length; i++)
	document.getElementsByName(fld)[i].checked = false;
}

var screenW = 640, screenH = 480;

/* Find Screen Size */
function GetScreenSize(show)
{
if (parseInt(navigator.appVersion)>3) {
 screenW = screen.width;
 screenH = screen.height;
}
else if (navigator.appName == "Netscape" 
    && parseInt(navigator.appVersion)==3
    && navigator.javaEnabled()
   ) 
{
 var jToolkit = java.awt.Toolkit.getDefaultToolkit();
 var jScreenSize = jToolkit.getScreenSize();
 screenW = jScreenSize.width;
 screenH = jScreenSize.height;
}

if (show == "YesShow")
{
document.write(
 "Screen width = "+screenW+"<br>"
+"Screen height = "+screenH
)
}

}

/* Reset Captcha image */
function reloadCAPTCHA(str) 
{
	document.getElementById('CAPTCHA').src='CAPTCHA_image.asp?Detail='+str;
}

/* Image swap */
function ImgChange(imgNum,imgSrc) 
{
document.images[imgNum].src = imgSrc;
}

/* Textarea - check character count */
function SizeCheck(strData) {
  if (strData.value.length >= 250) {
  alert('The maximum number of characters allowed for this field is 250.');
  strData.value = strData.value.substring(0,249);
  return false;
  }
}

function SizeCheck(strData, nLimit) {
  if (strData.value.length >= nLimit) {
  alert('The maximum number of characters allowed for this field is ' + nLimit + '.');
  strData.value = strData.value.substring(0,nLimit-1);
  return false;
  }
}

// ******************************************************************
// This function accepts a string variable and verifies if it is a
// proper date or not. It validates format matching either
// mm-dd-yyyy or mm/dd/yyyy. Then it checks to make sure the month
// has the proper number of days, based on which month it is.

// The function returns true if a valid date, false if not.
// ******************************************************************

function isDate(dateStr) {

var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
var matchArray = dateStr.match(datePat); // is the format ok?

if (matchArray == null) {
//alert("Please enter date as either mm/dd/yyyy or mm-dd-yyyy.");
return false;
}

month = matchArray[1]; // p@rse date into variables
day = matchArray[3];
year = matchArray[5];

if (month < 1 || month > 12) { // check month range
//alert("Month must be between 1 and 12.");
return false;
}

if (day < 1 || day > 31) {
//alert("Day must be between 1 and 31.");
return false;
}

if ((month==4 || month==6 || month==9 || month==11) && day==31) {
//alert("Month "+month+" doesn`t have 31 days!")
return false;
}

if (month == 2) { // check for february 29th
var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
if (day > 29 || (day==29 && !isleap)) {
//alert("February " + year + " doesn`t have " + day + " days!");
return false;
}
}
return true; // date is valid
}

// ******************************************************************
// This function accepts a string variable and verifies each character
// is numeric '0123456789'. 
// The function returns true if a valid number, false if not.
// ******************************************************************

function isNumeric(numStr) 
{
	if (numStr != '')
	{
	//alert(numStr);	
	for (i = 0; i <= (numStr.length-1); i++) 
		{
		if ('0123456789'.indexOf(numStr.charAt(i)) < 0) 
			{
				//alert('0123456789'.indexOf(strinput.charAt(i)));
				return false;
			}
		}
	}
return true;
}

// ******************************************************************
// This function accepts a string variable and verifies each character
// is a proper email address using regexp.
// The function returns true if a valid number, false if not.
// ******************************************************************
var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;

function checkmail(e)
{
//alert(e);
//alert(emailFilter.test(e));
if (!(emailFilter.test(e))) 
{ 
	return false;
}
else
{
	return true;
}
}

// ******************************************************************
// This function needs an original image and a new image to swap.
// The Address needs to be modified accordingly.
// ******************************************************************
function Toggle_Images(x,img,newimg)
{ 
var Address = 'http://localhost/Development/';
//var Address = 'http://www.mhmraharris.org/';
//alert(objchg);
//alert(x.src);
//alert(Address+'images/next.gif');
 x.src = (x.src == Address+img)?Address+newimg:Address+img; 
} 


