var wordCountLimit = 500;
function CountWords (this_field, show_word_count, show_char_count) {
			if (show_word_count == null) {
				show_word_count = false;
			}
			if (show_char_count == null) {
				show_char_count = false;
			}

			var fullStr = this_field;
			var initial_whitespace_rExp = /^[^A-Za-z0-9]+/gi;
			var left_trimmedStr = fullStr.replace(initial_whitespace_rExp, "");
			var non_alphanumerics_rExp = rExp = /[^A-Za-z0-9]+/gi;
			var cleanedStr = left_trimmedStr.replace(non_alphanumerics_rExp, " ");
			var splitString = cleanedStr.split(" ");
			var word_count = splitString.length -1;

			if (fullStr.length <2) {
				word_count = 0;
			}
	return word_count;
}
function isDecimal(str){
  var re = /^\d+(\.\d{1,2})?$/ 
  return re.test(str);
}
function isCurrency(str){
  var re = /^(\$|)([1-9]\d{0,2}(\,\d{3})*|([1-9]\d*))(\.\d{1,2})?$/ 
  return re.test(str);
}
function stripCurrency(sString){
// strip '$' and commas
  sString = sString.replace(/,/g,"");
  sString = sString.replace(/\$/g,"");
  sString = sString.replace(/\.0$/g,".00");
  return sString;
}
function isSelected(element) {
				$F(id).selectedIndex > 0;
				alert($F(id).selectedIndex);
				rspmsg = response_select;
}
function IsEmail(stEmail)
{
	var iAtPos, iDotPos;
	
	// validate email address
	iLength = stEmail.length;
	if (iLength == 0)
		return false;
	else
	{
		iAtPos = stEmail.indexOf("@")
		if (iAtPos == -1 || iAtPos == 0)
			return false;
		
		iDotPos = stEmail.lastIndexOf(".")
		if ((iDotPos == -1) || (iDotPos <= (iAtPos + 1)))
			return false;

		iPosDiff = (iLength - iDotPos);
		if ((iPosDiff < 3) || (iPosDiff > 5))
			return false;
	}

	return true;
}

function ProcessAdmin(formname)
{
	var re = /[^\d\.]/g;
	frmThis = document.forms[formname];
	submit = frmThis.preventDupe.value;
	msg = "Several of the fields were not entered correctly:\n\n";
	if (submit == 1)
	{
		/*Initialize validation of form fields*/
			val = frmThis.firstname.value;
			if (val == "")
			{
				msg = msg + "Please enter your First Name\n";
			}
			val = frmThis.lastname.value;
			if (val == "")
			{
			msg = msg + "Please enter your Last Name\n";
			}
			val = frmThis.address.value;
			if (val == "")
			{
				msg = msg + "Please enter your Street Address\n";
			}	
			val = frmThis.city.value;
			if (val == "")
			{
				msg = msg + "Please enter your City\n";
			}
	
			val = frmThis.state.value;
			if (val == "")
			{
				msg = msg + "Please enter your State\n";
			}
			
			val = frmThis.country.value;
			if (val == "")
			{
				msg = msg + "Please enter your Country\n";
			}
			
			val = frmThis.zip.value;
			if (val == "")
			{
				msg = msg + "Please enter your Zip\n";
			}
			val = frmThis.email.value;
			if (!IsEmail(val))
			{
				msg = msg + "Please enter a valid Email Address\n";
			}
			
			val = frmThis.background.value;
			if (val == "")
			{
				msg = msg + "Please enter your information about your Background\n";
			}
			
			if ((CountWords(val))>wordCountLimit)
			{
				msg = msg + "Please limit your Background to 350 words - Counted(" + CountWords(val) + ")\n";
			};

			val = frmThis.finAmount.value;
			if (val == "")
			{
				msg = msg + "Please enter the Total Amount Requested\n";
			}
						
			/*Process errors*/
			
			if(msg == "Several of the fields were not entered correctly:\n\n") {
				frmThis.preventDupe.value = 0;
				return true;
			}else{
				msg = msg + "\nPlease correct these problems and submit the form again.";
				alert(msg);
				return false;
			}
	}/*End Preventdupe*/
	else
		return false;
		
}

function validateAssist(formname)
{
	frmThis = document.forms[formname];
	submit = frmThis.preventDupe.value;
	msg = "Several of the fields were not entered correctly:\n\n";
	if (submit == 1)
	{
		/*Initialize validation of form fields*/
			val = frmThis.firstname.value;
			if (val == "")
			{
				msg = msg + "Please enter your First Name\n";
			}
			val = frmThis.lastname.value;
			if (val == "")
			{
			msg = msg + "Please enter your Last Name\n";
			}
			val = frmThis.address.value;
			if (val == "")
			{
				msg = msg + "Please enter your Street Address\n";
			}	
			val = frmThis.city.value;
			if (val == "")
			{
				msg = msg + "Please enter your City\n";
			}
	
			val = frmThis.state.value;
			if (val == "")
			{
				msg = msg + "Please enter your State\n";
			}
			
			val = frmThis.country.value;
			if (val == "")
			{
				msg = msg + "Please enter your Country\n";
			}
			
			val = frmThis.zip.value;
			if (val == "")
			{
				msg = msg + "Please enter your Zip\n";
			}
			val = frmThis.email.value;
			if (!IsEmail(val))
			{
				msg = msg + "Please enter a valid Email Address\n";
			}
			
			val = frmThis.background.value;
			if (val == "")
			{
				msg = msg + "Please enter your information about your Background\n";
			}
			
			if ((CountWords(val))>350)
			{
				msg = msg + "Please limit your Background to 350 words - Counted(" + CountWords(val) + ")\n";
			};


			//check if any selections have been made for needs
			val = frmThis.needs1.selectedIndex + frmThis.needs2.selectedIndex + frmThis.needs3.selectedIndex;
			if (val == 0)
			{
				msg = msg + "Please make at least one selection for Meeds\n";
			}			


			val = frmThis.finAmount.value;
			if (val == "")
			{
				msg = msg + "Please enter the Amount Requested\n";
			}
						
			val = frmThis.terms.checked;
			if (!val)
			{
				msg = msg + "You must agree to the Terms.\n";
			}
			
			/*Process errors*/
			
			if(msg == "Several of the fields were not entered correctly:\n\n") {
				frmThis.preventDupe.value = 0;
				return true;
			}else{
				msg = msg + "\nPlease correct these problems and submit the form again.";
				alert(msg);
				return false;
			}
	}/*End Preventdupe*/
	else
		return false;
		
}

function ProcessReg(frmThis)
{
	submit = frmThis.preventDupe.value;
	msg = "Several of the fields were not entered correctly:\n";
	if (submit == 1)
	{
		
		/*Initialize validation of form fields*/
			val = frmThis.firstname.value;
			if (val == "")
			{
				msg = msg + "Please enter your First Name\n";
			}
			val = frmThis.lastname.value;
			if (val == "")
			{
			msg = msg + "Please enter your Last Name\n";
			}
			val = frmThis.address.value;
			if (val == "")
			{
				msg = msg + "Please enter your Street Address\n";
			}	
			val = frmThis.city.value;
			if (val == "")
			{
				msg = msg + "Please enter your City\n";
			}
	
			val = frmThis.state.value;
			if (val == "")
			{
				msg = msg + "Please enter your State\n";
			}
			
			val = frmThis.country.value;
			if (val == "")
			{
				msg = msg + "Please enter your Country\n";
			}
			
			val = frmThis.zip.value;
			if (val == "")
			{
				msg = msg + "Please enter your Zip\n";
			}
			val = frmThis.email.value;
			if (!IsEmail(val))
			{
				msg = msg + "Please enter a valid Email Address\n";
			}
			val = frmThis.finAmount.value;
			if (val == "")
			{
				msg = msg + "Please enter the Total Amount you wish to donate\n";
			}
			if (!isCurrency(val)) {
				msg = msg + "Please enter a valid Amount.\n";
			}		
			//check if selection made with drop down item
			val = frmThis.finRecipient.selectedIndex;
			if (val == 0)
			{
				msg = msg + "Please enter the Person you wish to donate to\n";
			}			
			val = frmThis.terms.checked;
			if (!val)
			{
				msg = msg + "You must agree to the Terms.\n";
			}
			
			/*Process erros*/
			
			if(msg == "Several of the fields were not entered correctly:\n") {
				frmThis.preventDupe.value = 0;
				frmThis.amount.value = stripCurrency(frmThis.finAmount.value);
				//format finAmount for display purposes
				sString = frmThis.finAmount.value; 
				sString = sString.replace(/\$/g,"");
                sString = sString.replace(/\.0$/g,".00");
				frmThis.finAmount.value = sString;
				return true;
			}else{
				msg = msg + "\nPlease correct these problems and submit the form again.";
				alert(msg);
				return false;
			}
	}/*End Preventdupe*/
	else
		return false;
		
}
 



