// JavaScript Document


function validateForm() {
	var errCnt = 0;
	var errVal = 0;
	var mtFldsCnt = 0;
	var oFrm = window.document.frmDonate;
	var oSec = window.document.frmDonate.txtSecCode;
	var ArrFldNames = ["selEDMonth", "selEDYear", "txtSecCode", "txtLast", "txtFirst", "txtEmail", "txtEmail2", "txtCity", "txtZip", "txtPhone", "txtDonationAmount", "txtCCNum", "txtAddress", "selState", "selFund", "selPayMethod" ]
	var rqfldbgClr = "FF0000";
	var normfldbgClr = "ffffff";
	var rqfldTxtClr = "000000";
	var normfldTxtClr = "000000";
	var strError = "<strong><font color=" + "'#FF0000'" + " size=" + "'2'" + " face=" + "'Arial, Helvetica, sans-serif' " + ">PLEASE VERIFY REQUIRED FIELDS.  FORM ERROR(s) FOUND!</font></strong>"


//Check Credit card value
//*  checkCreditCard( ccnumber, ccname)

		if (!checkCreditCard (oFrm.txtCCNum.value, oFrm.selPayMethod.value)) {
			errVal = 1;
			errCnt++;
			strError = "<strong><font color=" + "'#FF0000'" + " size=" + "'2'" + " face=" + "'Arial, Helvetica, sans-serif' " + ">Credit Card Number Invalid!</font></strong>"

			}

//Check the length of the phone number
//if (!(oFrm.txtPhone.length == 14)) {
//errCnt = 2
//	strError = "<strong><font color=" + "'#FF0000'" + " size=" + "'2'" + " face=" + "'Arial, Helvetica, sans-serif' " + ">Phone Number Invalid!  Please re-enter</font></strong>"

//}

//Confirm Email	
		if (!confirmEmail() ) {

			errVal = 10;
			errCnt++;
			strError = "<strong><font color=" + "'#FF0000'" + " size=" + "'2'" + " face=" + "'Arial, Helvetica, sans-serif' " + ">EMAIL CONFIRMATION ERROR!</font></strong>"
			}

//Verify no empty fields
			for (var mtFlds = 0; mtFlds < ArrFldNames.length; mtFlds++) {
				var fldNm = ArrFldNames[mtFlds];
			
					if (eval("oFrm." + fldNm + ".value") == "") {
						eval("oFrm." + fldNm + ".style.backgroundColor = " + "'" + rqfldbgClr + "'")
						eval("oFrm." + fldNm + ".style.color = " + "'" + rqfldTxtClr + "'")
						mtFldsCnt++;

					} else {
						eval("oFrm." + fldNm + ".style.backgroundColor = " + "'" + normfldbgClr + "'")
						eval("oFrm." + fldNm + ".style.color = " + "'" + normfldTxtClr + "'")
					}
							
			}

		
//If Card = Amex - lengh should be 4 else len should be 3

		
		if (oFrm.selPayMethod.value == "Amex" ) {
			//make sure length = 4
					if (oSec.value.length != 4) {
					strError = "<div align='justify'><strong><font color='#FF0000' size='2' face='Arial, Helvetica, sans-serif' >INVALID ANEX 4-DIGIT CARD VERIFICATION NUMBER!  USE 4-DIGIT CODE ON FRONT OF CARD</font></strong></div>";
					errVal = 12;
					errCnt++;
					tdErrFld.innerHTML = strError;			
					} 				
		 } 

		 if (oFrm.selPayMethod.value !=  "Amex" && oSec.value.length <3 ) {
					strError = "<div align='justify'<strong><font color='#FF0000' size='2' face='Arial, Helvetica, sans-serif' >INVALID 3-DIGIT CARD VERIFICATION NUMBER!  USE 3-DIGIT CODE ON BACK OF CARD</font></strong></div>";
					errVal = 13;
					errCnt++;
					tdErrFld.innerHTML = strError;
					}
					

		


		//If the form has no errors then submit
		if (errCnt > 0 ) {
			return tdErrFld.innerHTML = strError;
		} else {
			return oFrm.submit();					
		}
		

}


function confirmEmail() {
	var oFrm = window.document.frmDonate;
	var rqfldbgClr = "FFD7D7";
	var normfldbgClr = "ffffff";
	var rqfldTxtClr = "000000";
	var normfldTxtClr = "000000";
	
		if (  (oFrm.txtEmail.value != oFrm.txtEmail2.value) || (oFrm.txtEmail.value == "" || oFrm.txtEmail2.value == "")  ) {			
			oFrm.txtEmail.style.backgroundColor = rqfldbgClr; 
			oFrm.txtEmail.style.color = rqfldTxtClr;
			oFrm.txtEmail2.style.backgroundColor = rqfldbgClr;
			oFrm.txtEmail2.style.color = rqfldTxtClr;
			return false;
		} else {
			oFrm.txtEmail.style.backgroundColor = normfldbgClr; 
			oFrm.txtEmail2.style.backgroundColor = normfldbgClr;
			oFrm.txtEmail.style.color = normfldTxtClr;
			oFrm.txtEmail2.style.color = normfldTxtClr;
			return true;
			}

}



function isEmail(str) {
			// are regular expressions supported?
			  var supported = 0;
			  if (window.RegExp) {
				var tempStr = "a";
				var tempReg = new RegExp(tempStr);
				if (tempReg.test(tempStr)) supported = 1;
			  }
			  if (!supported) 
				return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
			  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
			  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
			  return (!r1.test(str) && r2.test(str));
	}


function capitalizeWords(string)
{
var tmpStr, tmpChar, preString, postString, strlen;
tmpStr = string.toLowerCase();
stringLen = tmpStr.length;
if (stringLen > 0)
{
  for (i = 0; i < stringLen; i++)
  {
    if (i == 0)
	{
      tmpChar = tmpStr.substring(0,1).toUpperCase();
      postString = tmpStr.substring(1,stringLen);
      tmpStr = tmpChar + postString;
    }
    else
	{
      tmpChar = tmpStr.substring(i,i+1);
      if (tmpChar == " " && i < (stringLen-1))
	  {
      tmpChar = tmpStr.substring(i+1,i+2).toUpperCase();
      preString = tmpStr.substring(0,i+1);
      postString = tmpStr.substring(i+2,stringLen);
      tmpStr = preString + tmpChar + postString;
      }
    }
  }
}
return tmpStr;
}


function numberCheck(evt) 
{
		var keyValue;
		var evtKeyCap;
		
		//IE Key capture
		if (navigator.appName == 'Microsoft Internet Explorer'){
			keyValue = evt.keyCode;
			}
		
		//Netscape Key capture
			if (navigator.appName == 'Netscape') {
			keyValue =	evt.which;
			}
			if ((keyValue < 48 || keyValue > 57) && (keyValue != 8 && keyValue !=0))
				{		
				 return false;
				}
}

function fldtoNumbersOnly(fld) {
	var sFld = fld
}


function formatCurrency(num) {
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));
return (((sign)?'':'-') + '$' + num + '.' + cents);
}

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="(";
	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; 
} 
