
var ns4 = (document.layers) ? true : false;
var ns6 = (document.getElementById) ? true : false;
var ie4 = (document.all) ? true : false;
var ie5 = false;
if (ie4) {
	if ((navigator.userAgent.indexOf("MSIE 5") > 0) || (navigator.userAgent.indexOf("MSIE 6") > 0)) {
		ie5 = true;
	}
	if (ns6) {
		ns6 = false;
	}
}
function checkDataLength(objCurrent, objNext, chars) {
	objLength = document.getElementById(objCurrent).value.length;
	if (objLength == chars) {
		document.getElementById(objNext).select();
	}
}
function highlightResult(objHighlight) {
	document.getElementById(objHighlight).className = "activeResult";
}

function checkEmail(email) {
	emailValue = document.getElementById(email).value;
	if (emailValue.length > 0) {
		var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
		if (filter.test(emailValue)) {
			return true;
		} else {
			document.getElementById(email).select();
			alert("E-mail address format is invalid. Please reenter. Example: myname@aol.com");
			return false;
		}
	}
	return true;
}

function validateEmail(email) {
	var str = document.getElementById(email).value;
	var re = /^\w+['\w]?([\.-]?\w+)*@\w+(['\.-]?\w+)*(\.\w{2,3})+$/;
		var results = re.test(str);
		if (results) {
		} else {
			document.getElementById(email).select();
			alert("E-mail address format is invalid. Please reenter. Example: myname@aol.com");
		}
		
}
function changeTime(begin) {
	startIndex = document.getElementById(begin).selectedIndex;
	document.getElementById('eventEndTime').selectedIndex=startIndex
}

function verifyTime(end) {
	startIndex = document.getElementById('eventStartTime').selectedIndex;
	endIndex = document.getElementById(end).selectedIndex;
	if (endIndex < startIndex) {
		alert("Your end time is before your start time.");
	}
}
// Email Validation Javascript
// copyright 23rd March 2003, by Stephen Chapman, Felgall Pty Ltd

// You have permission to copy and use this javascript provided that
// the content of the script is not changed in any way.
function validateEmail_new(addr, man, db) {
	if (addr == "" && man) {
		if (db) {
			alert("email address is mandatory");
		}
		return false;
	}
	var invalidChars = "/'\\ \";:?!()[]{}^|";
	for (i = 0; i < invalidChars.length; i++) {
		if (addr.indexOf(invalidChars.charAt(i), 0) > -1) {
			if (db) {
				alert("email address contains invalid characters");
			}
			return false;
		}
	}
	for (i = 0; i < addr.length; i++) {
		if (addr.charCodeAt(i) > 127) {
			if (db) {
				alert("email address contains non ascii characters.");
			}
			return false;
		}
	}
	var atPos = addr.indexOf("@", 0);
	if (atPos == -1) {
		if (db) {
			alert("email address must contain an @");
		}
		return false;
	}
	if (atPos == 0) {
		if (db) {
			alert("email address must not start with @");
		}
		return false;
	}
	if (addr.indexOf("@", atPos + 1) > -1) {
		if (db) {
			alert("email address must contain only one @");
		}
		return false;
	}
	if (addr.indexOf(".", atPos) == -1) {
		if (db) {
			alert("email address must contain a period in the domain name");
		}
		return false;
	}
	if (addr.indexOf("@.", 0) != -1) {
		if (db) {
			alert("period must not immediately follow @ in email address");
		}
		return false;
	}
	if (addr.indexOf(".@", 0) != -1) {
		if (db) {
			alert("period must not immediately precede @ in email address");
		}
		return false;
	}
	if (addr.indexOf("..", 0) != -1) {
		if (db) {
			alert("two periods must not be adjacent in email address");
		}
		return false;
	}
	var suffix = addr.substring(addr.lastIndexOf(".") + 1);
	if (suffix.length != 2 && suffix != "com" && suffix != "net" && suffix != "org" && suffix != "edu" && suffix != "int" && suffix != "mil" && suffix != "gov" & suffix != "arpa" && suffix != "biz" && suffix != "aero" && suffix != "name" && suffix != "coop" && suffix != "info" && suffix != "pro" && suffix != "museum") {
		if (db) {
			alert("invalid primary domain in email address");
		}
		return false;
	}
	return true;
}
function showHide(element) {
	var objChange = document.getElementById(element).style.display;
	if (objChange == "none") {
		document.getElementById(element).style.display = "block";
	} else {
		document.getElementById(element).style.display = "none";
	}
}

function showHideDisplay(element) {
    var tagId = 'membersAttendance'+element;
	var objChange = document.getElementById(tagId).style.display;
	if (objChange == "none") {
		document.getElementById(tagId).style.display = "block";
	} else {
		document.getElementById(tagId).style.display = "none";
	}
}

function setFocus(element) {
	var tagId = document.getElementById(element);
	tagId.focus();
}
function ValidateEventTime(EventEndTime, EventStartTime) {
	var EventEndTimeValue = document.getElementById(EventEndTime).value;
	var stringValue = new String(EventEndTimeValue);
	var stringLength = stringValue.length;
	return true;
}
function formatDate(object) {

	var dateString = object.value;
	if (dateString.length == 2 || dateString.length == 5) {
		dateString = dateString + "/";
	}
	object.value = dateString;
}
function disableAlphas(e)
{
	var keynum;
	var keychar;
	var numcheck;
	
	if(window.event) // IE
	  {
	  
	  keynum = e.keyCode;
	  }
	else if(e.which) // Netscape/Firefox/Opera
	  {
	  keynum = e.which;
	  }
	  if(keynum == 8)
	  {
	  	return true;
	  }
	  else if (keynum < 47 || keynum > 57) {
		return false;
	  }
	//keychar = String.fromCharCode(keynum);
	//numcheck = /\d/;
	//return numcheck.test(keychar);
}
function isFutureDate(object)
{
     var eventDate = object.value;
     var calDate= new Date(eventDate);
     var calyear=calDate.getFullYear();
	 var calmonth=calDate.getMonth()+1;
	 var caltoday=calDate.getDate();
	 var todayDate= new Date();
	 var todayYear=todayDate.getFullYear();
	 var todayMonth=todayDate.getMonth()+1;
	 var todayToday=todayDate.getDate();	
	 if(calyear >= todayYear &&
	 	calmonth > todayMonth)
	 {
	 	return true;
	 }
	 else if(calyear >= todayYear &&
	 	     calmonth == todayMonth	 &&
	 	     caltoday > todayToday)
	 {
	     return true;
	 }
	 else
	 {
	 	var today=new Date()
		today.setDate(today.getDate()+1)
	 	object.value=today;
	 }
}
function handleKeyPress(evt) {
	var nbr;
	if(window.Event)
	{
		nbr=evt.which; 
	}
	else
	{
		nbr=event.keyCode 
	};
	if ((nbr==48) || (nbr==49) || (nbr==50) || (nbr==51) || (nbr==52) || (nbr==53) || (nbr==54) || (nbr==55) || (nbr==56) || (nbr==57)) 
	{
		return true;
	}
	else 
	{
		return false; 
	}
}
function disableAlphas_old() {
	if (event.keyCode < 48 || event.keyCode > 57) {
		event.keyCode = 8;
	}
}
function onlyInteger() {
	if (event.keyCode < 48 || event.keyCode > 57) {
		event.keyCode = 8;
	}
}	
// Declaring valid date character, minimum year and maximum year
var dtCh = "/";
var minYear = 1900;
var maxYear = 2100;
function isInteger(s) {
	var i;
	for (i = 0; i < s.length; i++) {   
        // Check that current character is number.
		var c = s.charAt(i);
		if (((c < "0") || (c > "9"))) {
			return false;
		}
	}
    // All characters are numbers.
	return true;
}
function stripCharsInBag(s, bag) {
	var i;
	var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
	for (i = 0; i < s.length; i++) {
		var c = s.charAt(i);
		if (bag.indexOf(c) == -1) {
			returnString += c;
		}
	}
	return returnString;
}
function daysInFebruary(year) {
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
	return (((year % 4 == 0) && ((!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28);
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31;
		if (i == 4 || i == 6 || i == 9 || i == 11) {
			this[i] = 30;
		}
		if (i == 2) {
			this[i] = 29;
		}
	}
	return this;
}
function isDate(dtStr) {
	var daysInMonth = DaysArray(12);
	var pos1 = dtStr.indexOf(dtCh);
	var pos2 = dtStr.indexOf(dtCh, pos1 + 1);
	var strMonth = dtStr.substring(0, pos1);
	var strDay = dtStr.substring(pos1 + 1, pos2);
	var strYear = dtStr.substring(pos2 + 1);
	strYr = strYear;
	if (strDay.charAt(0) == "0" && strDay.length > 1) {
		strDay = strDay.substring(1);
	}
	if (strMonth.charAt(0) == "0" && strMonth.length > 1) {
		strMonth = strMonth.substring(1);
	}
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0) == "0" && strYr.length > 1) {
			strYr = strYr.substring(1);
		}
	}
	month = parseInt(strMonth);
	day = parseInt(strDay);
	year = parseInt(strYr);
	if (pos1 == -1 || pos2 == -1) {
		alert("The date format should be : mm/dd/yyyy");
		return false;
	}
	if (strMonth.length < 1 || month < 1 || month > 12) {
		alert("Please enter a valid month");
		return false;
	}
	if (strDay.length < 1 || day < 1 || day > 31 || (month == 2 && day > daysInFebruary(year)) || day > daysInMonth[month]) {
		alert("Please enter a valid day");
		return false;
	}
	if (strYear.length != 4 || year == 0 || year < minYear || year > maxYear) {
		alert("Please enter a valid 4 digit year between " + minYear + " and " + maxYear);
		return false;
	}
	if (dtStr.indexOf(dtCh, pos2 + 1) != -1 || isInteger(stripCharsInBag(dtStr, dtCh)) == false) {
		alert("Please enter a valid date");
		return false;
	}
	return true;
}
function ValidateDate(object) {
	var dt = object.value;
	if (dt.length > 0) {
		if (isDate(dt) == false) {
			object.focus();
			return false;
		}
	}
	return true;
}
var cX = 0;
var cY = 0;
function UpdateCursorPosition(e) {
	cX = e.pageX;
	cY = e.pageY;
}
function UpdateCursorPositionDocAll(e) {
	cX = event.clientX;
	cY = event.clientY;
}
if (document.all) {
	document.onmousemove = UpdateCursorPositionDocAll;
} else {
	document.onmousemove = UpdateCursorPosition;
}
function AssignPosition(d) {
	d.style.left = (25) + "px";
	d.style.top = (cY - 180) + "px";
}
function HideContent(d) {
	if (d.length < 1) {
		return;
	}
	document.getElementById(d).style.display = "none";
}
function ShowContent(d) {
	if (d.length < 1) {
		return;
	}
	var dd = document.getElementById(d);
	AssignPosition(dd);
	dd.style.display = "block";
}

/* VALIDATE ZIP CODE */
function ValidZipCode(ZipCode) {
	var ZipCodeValue = document.getElementById(ZipCode).value;
	var stringValue = new String(ZipCodeValue);
	var stringLength = stringValue.length;
	if ((stringLength != 5) && (stringLength != 9) && (stringLength != 10)) {
		alert("Please enter a valid zip code.");
		document.getElementById(ZipCode).focus();
		return false;
	}
	if (stringLength == 5) {
		for (var i = 0; i < stringLength; i++) {
			value = stringValue.charAt(i);
			if (!((value >= 0) && (value <= 9))) {
				alert("Please enter a valid zip code.");
				document.getElementById(ZipCode).focus();
				return false;
			}
		}
	}
	if (stringLength == 9) {
		for (var i = 0; i < stringLength; i++) {
			value = stringValue.charAt(i);
			if (!((value >= 0) && (value <= 9))) {
				alert("Please enter a valid zip code.");
				document.getElementById(ZipCode).focus();
				return false;
			}
		}
	}
	if (stringLength == 10) {
		var zip = stringValue.substring(0, 5);
		var symbol = stringValue.substring(5, 6);
		var plus4 = stringValue.substring(6, 10);
		if (symbol != "-") {
			alert("Please enter a valid zip code.");
			document.getElementById(ZipCode).focus();
			return false;
		}
		for (var i = 0; i < zip.length; i++) {
			value = zip.charAt(i);
			if (!((value >= 0) && (value <= 9))) {
				alert("Please enter a valid zip code.");
				document.getElementById(ZipCode).focus();
				return false;
			}
		}
		for (var i = 0; i < plus4.length; i++) {
			value = plus4.charAt(i);
			if (!((value >= 0) && (value <= 9))) {
				alert("Please enter a valid zip code.");
				document.getElementById(ZipCode).focus();
				return false;
			}
		}
	}
	return true;
}
function currentDate() {
	/*Current date script credit: 
			JavaScript Kit (www.javascriptkit.com)
			Over 200+ free scripts here!
			*/
	var mydate = new Date();
	var year = mydate.getYear();
	if (year < 1000) {
		year += 1900;
	}
	var day = mydate.getDay();
	var month = mydate.getMonth();
	var daym = mydate.getDate();
	if (daym < 10) {
		daym = "0" + daym;
	}
	var dayarray = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
	var montharray = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
	document.write("<font color='ffffff' face='Arial'>" + dayarray[day] + ", " + montharray[month] + " " + daym + ", " + year + "</font>");
}
function checkTableRows(className) {
	var r, l;
	if (!document.getElementById) {
		return;
	}
	var tb = document.getElementsByTagName("table");
	for (r = 0; r < tb.length; r++) {
		if (tb[r].className == className) {
			tr = tb[r].getElementsByTagName("tr");
			doEven(tr);
		}
	}
}
function doEven(myRows) {
	for (l = 0; l < tr.length; l++) {
		if (l % 2 == 0) {
			tr[l].setAttribute("class", "alt");
			tr[l].setAttribute("className", "alt");
		}
	}
}
function addLoadEvent(func) {
	var onloadBak = window.onload;
	if (typeof window.onload != "function") {
		window.onload = func;
	} else {
		window.onload = function () {
			onloadBak();
			func();
		};
	}
}

/* This script and many more are available free online at
The JavaScript Source!! http://javascript.internet.com
Created by: Robert Nyman | http://robertnyman.com/ */
function removeHTMLTags(strInputCode ){
 	if(strInputCode){
 			/* 
  			This line is optional, it replaces escaped brackets with real ones, 
  			i.e. < is replaced with < and > is replaced with >
 		*/	
 	 	strInputCode = strInputCode.replace(/&(lt|gt);/g, function (strMatch, p1){
 		 	return (p1 == "lt")? "<" : ">";
 		});
 		var strTagStrippedText = strInputCode.replace(/<\/?[^>]+(>|$)/g, "");
 		//alert("Output text:\n" + strTagStrippedText);
 		return 	strTagStrippedText;
  	}	
}
function validatePassword(password) {
	 var str =password.value;
	 var x1 = /^[a-z\d]{6,12}$/i;
     var x2 = /[a-z]/i;
     var x3 = /\d/;
     var btn = document.getElementById("changePasswordBtn");     
     if(x1.test(str) && x2.test(str) && x3.test(str)){
	     btn.disabled=false;
	     btn.src="images/leader/submit.jpg";
     }else{
     	   btn.disabled=true;
     	   btn.src="images/common/disabledSubmit.png";
     	   
           alert("Password must Contain characters and at least 1 number");
     }
}
function getWebCalDomain(str) 
{ 
    var webCalUrl="webcal://";
    if (str == null || str.length == 0) 
    return ""; 

    var i = str.indexOf("//"); 
    if (i > -1)
    {
      return webCalUrl+str.substring(i+2, str.length);
    }
    else
    {
      return webCalUrl+str;
    }
 }
 
imgout=new Image(9,9);
imgin=new Image(9,9);

/////////////////BEGIN USER EDITABLE///////////////////////////////
 imgout.src="images/icons/right.gif";
 imgin.src="images/icons/down.gif";
///////////////END USER EDITABLE///////////////////////////////////

//this switches expand collapse icons
function filter(imagename,objectsrc){
 if (document.images){
  document.images[imagename].src=eval(objectsrc+".src");
 }
}

//show OR hide funtion depends on if element is shown or hidden
function toggleIt(id) {
 
 if (document.getElementById) { // DOM3 = IE5, NS6
  if (document.getElementById(id).style.display == "none"){
   filter(("img"+id),'imgin');   
  } else {
   filter(("img"+id),'imgout');
  } 
  Effect.toggle(id, 'slide');
 } else {
  if (document.layers) { 
   if (document.id.display == "none"){
    filter(("img"+id),'imgin');
   } else {
    filter(("img"+id),'imgout'); 
   }
   Effect.toggle(id, 'slide');
  } else {
   if (document.all.id.style.visibility == "none"){
   } else {
    filter(("img"+id),'imgout');
   }
   Effect.toggle(id, 'slide');
  }
 }
}