function checkAmount(rad){
	document.getElementById("otheramount").value = "";
	if(rad.value == 0) document.getElementById("otheramount").focus();
}

function selectOtherAmount(){
	document.forms["donation"].ramount[(document.forms["donation"].ramount.length-1)].checked=true;
}
function setCustom(){
	document.getElementById("custom").value = document.getElementById("first_name").value + "|" + document.getElementById("last_name").value + "|"	+ document.getElementById("email").value;
	
	if(document.getElementById("emaillist").checked == true){
		document.getElementById("custom").value += "|Yes";
	}else{
		document.getElementById("custom").value += "|No";
	}
}
// Check the form
// Form Code
var good = true;
var bgBad = "#ff0000";
var bgGood = "#000000";

function setColorDonate(elname, bg) {
	el = document.getElementById(elname);
	if(el) el.style.color = bg;
}

function getFieldValue(el){
	var value = "";
	if(el.type == "select"){
		value = el.options[el.selectedIndex].value			
	}else if(el.type == "checkbox"){
		if(el.checked)	value = el.value
	}else{
		value = el.value
	}
	return value
}

// regex expression must be all on one line...
function checkEmailAddressDonate(el){
	var ret = Array()
	if(el.value.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\.info)|(\..{2,2}))$)\b/gi)){
		ret[0]=1;
	}else{
		ret[0] = 0;
		ret[1] = el.name.replace(/_/," ") + ": Please Enter a Valid Email Address\n\n"
	}
	return ret;
}
function checkPhoneDonate(el){
	var ret = Array()
	if(el.value.match(/^(\([1-9]\d{2}\))|\d{3}\-\s?\d{3}\-\d{4}$/)){
		ret[0]=1;
	}else{
		ret[0] = 0;
		ret[1] = el.name.replace(/_/," ") + ": Please Enter a Valid Phone No. Ex. (585) 123-4567 or 585-123-4567\n\n"
	}
	return ret;
}
function checkStateDonate(el){
	var ret = Array()
	var fvalue = getFieldValue(el);
	
	if(fvalue.match(/^[a-zA-Z]{2}$/)){
		ret[0]=1;
	}else{
		ret[0] = 0;
		ret[1] = el.name.replace(/_/," ") + ": Enter a Valid State\n\n"
	}
	return ret;
}
function checkZipDonate(el){
	var ret = Array()
	if(el.value.match(/(^\d{5}$)|(^\d{5}-\d{4}$)/)){
		ret[0]=1;
	}else{
		ret[0] = 0;
		ret[1] = el.name.replace(/_/," ") + ": Please Enter a Valid Zip. Ex. 14620 or 14620-1234\n\n"
	}
	return ret;
}
function checkMoneyDonate(el){
	var ret = Array()
	el.value = el.value.replace(/\$/,"")
	if(el.value.match(/(^\d+(\.\d{2})? *$)/)){
		ret[0]=1;
	}else{
		ret[0] = 0;
		ret[1] = el.name.replace(/_/," ") + ": Please enter a valid amount. Ex. 100 or 100.00\n\n"
	}
	return ret;
}
function checkNosOnlyDonate(el){
	var ret = Array()
	if(el.value.match(/(^\d+ *$)/)){
		ret[0]=1;
	}else{
		ret[0] = 0;
		ret[1] = el.name.replace(/_/," ") + ": Must Contain Numbers Only\n\n"
	}
	return ret;
}
function emptyfield(ffield){
	alert(ffield);
}
function validfield(ffield){
	alert("\n" + ffield + " ...\t\t\t\n");
}
// code for checking form input
function checkdonateform(theform){
	var frmobj = document.forms[theform];
	var fieldfocus = '';
	var empty = '';
	var notvalid = '';
	var badfields = Array()
	
	// element id, type of input of feilds to check
		var els = Array(Array('first_name', "", " ", 'fnid'), Array('last_name', "", " ", 'lnid'), Array('email', "E", " ", 'emailid'));

	var j = 0;
	var isgood;
	var notvalid ="";
	var required = "";
	var value;
	for(i=0;i<els.length;i++){
		id = els[i][0]
		elObj = document.getElementById(id)
		setColorDonate(els[i][3], bgGood);
		eltype = els[i][1]
		value = "";
		if(elObj.type == "select"){
			value = elObj.options[elObj.selectedIndex].value			
		}else  if(elObj.type == "checkbox"){
		if(elObj.checked)	value = elObj.value
		}else{
			value = elObj.value
		}
		if(els[i][2] == "R" || value == ""){
			if(els[i][2] == "R" && value == ""){
				badfields[j] = Array(els[i][0], els[i][3]);
				j++
				required = required + "'" + elObj.name.replace(/_/," ")  + "': Field is Required\n\n";
				continue
			}
		}

		if(value != ""){
		if(eltype == "M"){
			isgood = checkMoneyDonate(elObj)
		}
		if(eltype == "P"){
			isgood = checkPhoneDonate(elObj)
		}
		if(eltype == "E"){
			isgood = checkEmailAddressDonate(elObj)
		}
		if(eltype == "#"){
			isgood = checkNosOnlyDonate(elObj)
		}
		if(eltype == "Z"){
			isgood = checkZipDonate(elObj)
		}
		if(eltype == "S"){
			isgood = checkStateDonate(elObj)
		}
		if(eltype == ""){
			isgood = Array(1);
		}
		if(isgood[0] < 1){
			badfields[j] = Array(els[i][0], els[i][3]);
			j++
			notvalid = notvalid + isgood[1];
		}
		}
	}
	
	// check amount
	value = "";
	for(i=0;i<frmobj.ramount.length;i++){
		if(frmobj.ramount[i].checked){
			value = frmobj.ramount[i].value;
			break;
		}
	}
	
	if(document.getElementById("otheramount").value != "" || value == 0){
	   value = document.getElementById("otheramount").value;
	}
	
	value = value.replace(/\$/,"")
	if(!value.match(/(^\d+(\.\d{2})? *$)/) || value == 0){
			badfields[badfields.length] = Array('otheramount', 'ramtid');
			notvalid = notvalid + "amount: Please enter a valid amount. Ex. 100 or 100.00\n\n";
	}	
	 
	if(notvalid != "" || required != ""){
		for(i=0;i<badfields.length;i++){
			setColorDonate(badfields[i][1], bgBad);
			if(i == 0) document.getElementById(badfields[i][0]).focus();
		}
		alert(required + notvalid);
		return false
	}
	// set amount field to value
	document.getElementById("amount").value = value
	setCustom()
	return true
}
