// JavaScript Document
var counter1 = 0;

function addSchoolForm()
{
	counter1++;
	var newFields = document.getElementById('readschool').cloneNode(true);
	newFields.id = '';
	newFields.style.display = 'block';
	var newField = newFields.childNodes;
	var txt = '';
	for (var i=0;i<newField.length;i++)
	{

		var theName = newField[i].name;
		if (theName)
			newField[i].name = theName + '[' + counter1 + ']';

		var theId = newField[i].id;
		if (theId)
			newField[i].id = theId + '[' + counter1 + ']';
			
	}
	var insertHere = document.getElementById('writeschool');
	insertHere.parentNode.insertBefore(newFields,insertHere);
}


var counter2 = 0;

function addProjectForm()
{
	counter2++;
	var newFields = document.getElementById('readprogram').cloneNode(true);
	newFields.id = '';
	newFields.style.display = 'block';
	var newField = newFields.childNodes;
	for (var i=0;i<newField.length;i++)
	{
		var theName = newField[i].name
		if (theName)
			newField[i].name = theName + '[' + counter2 + ']';
		
		var theId = newField[i].id;
		if (theId)
			newField[i].id = theId + '[' + counter2 + ']';
	}
	var insertHere = document.getElementById('writeprogram');
	insertHere.parentNode.insertBefore(newFields,insertHere);
}

function validateDonationForm() {

	var theForm = document.forms[0];
	var returnVal = true;
	
	for(i=0; i<theForm.elements.length; i++){
		
		// Empty the errors
		if(theForm.elements[i].type == "select-one") {
			document.getElementById('error' + theForm.elements[i].name).innerHTML = "";
		}
		
		if(theForm.elements[i].type == "select-one" 
			&& theForm.elements[i].value == "no_selection_made"
			&& theForm.elements[i + 1].value == "") {
			i++;
			continue;
		}
			
		// If this element is a select element and a selection
		// has been made, but there is no value in the donation box, error
	    if(theForm.elements[i].type == "select-one" 
			&& theForm.elements[i].value != "no_selection_made"
			&& !(theForm.elements[i + 1].value > 0)){
				returnVal = false;
				document.getElementById('error' + theForm.elements[i].name).innerHTML = "Donation must be greater than zero.";
		}

	    if(theForm.elements[i].type == "text" 
			&& theForm.elements[i].value > 0
			&& theForm.elements[i - 1].value == "no_selection_made"){
				returnVal = false;
				document.getElementById('error' + theForm.elements[i - 1].name).innerHTML = "Please select a project or location.";
		}	
		
	    if(theForm.elements[i].type == "text" && !isFloat(theForm.elements[i].value)) {
				returnVal = false;
				document.getElementById('error' + theForm.elements[i - 1].name).innerHTML = "Please enter a valid donation amount.";
		}

	}
	
	return returnVal;

}

function validateUserDataForm() {

	var theForm = document.forms[1];
	var returnVal = true;
	  	
	document.getElementById('errordata[citystatezip]').innerHTML = "";			
	document.getElementById('errordata[phone]').innerHTML = "";

	for(i=0; i<theForm.elements.length; i++){
	
	  // this is the only text field not required
	  if(theForm.elements[i].name == "data[gradyear]") {
		continue;
	  }	
	  
	  // Empty the errors
	  if(theForm.elements[i].type == "text") {
	  	if (document.getElementById('error' + theForm.elements[i].name))  
			document.getElementById('error' + theForm.elements[i].name).innerHTML = "";
	  }
	 
	 if (theForm.elements[i].name == "data[email]" && !(isValidEmail(theForm.elements[i].value))) {
	  	    returnVal = false;
			document.getElementById('errordata[email]').innerHTML = "Please enter a valid email.";
			continue;	 	
	 }
	 
     if((theForm.elements[i].name == "data[city]" || theForm.elements[i].name == "data[state]" 
	  		|| theForm.elements[i].name == "data[zip]") && theForm.elements[i].value == ""){
	  	    returnVal = false;
			document.getElementById('errordata[citystatezip]').innerHTML = "City, state, and zipcode are required fields.";
			continue;
	  }

	  if(theForm.elements[i].type == "text" 
	  	&& theForm.elements[i].value == ""
	  	&& (theForm.elements[i].name == "data[areacode]" || theForm.elements[i].name == "data[phonenumber]" 
	  		|| theForm.elements[i].name == "data[phonenumber2]")){
	  		returnVal = false;
			document.getElementById('errordata[phone]').innerHTML = "A valid phone number is required.";
			continue;
	  }
	  
	  // If this element is a select element and a selection
	  // has been made, but there is no value in the donation box, error
	  if(theForm.elements[i].type == "text" 
	  	&& theForm.elements[i].value == ""){
			returnVal = false;
			document.getElementById('error' + theForm.elements[i].name).innerHTML = "This is a required field.";
	  }
	  
	}

	return returnVal;

}

function isFloat(S) {
    return /^\d+(\.\d+)?$/.test(S);
}


function isValidEmail(str) {
   return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
}
