// for the scholarship entry form
  function amountExpand(){
    var amountType = document.scholarship.amount_type.options;
    var selection = amountType[amountType.selectedIndex].value;
    var amountBox = document.getElementById("amountValue");
    if (selection == "Up to" || selection == "At least") {
      amountBox.innerHTML = '$<input type="text" name="amount_to" size="10" maxlength="10"><span class="red">&nbsp;&nbsp;Example:[1000]</span>';
    } else if (selection == "Varies") {
      amountBox.innerHTML = "";
    } else if (selection == "range") {
      amountBox.innerHTML = 'From $<input type="text" name="amount_from" size="10" maxlength="10"> to $<input type="text" name="amount_to" size="10" maxlength="10"><span class="red">&nbsp;&nbsp;Example:[1000]</span>';
    }
  }

  function numAwardsExpand() {
    var numAwardsType = document.scholarship.num_awards_type.options;
    var selection = numAwardsType[numAwardsType.selectedIndex].value;
    var numAwardsBox = document.getElementById("numAwards");
    if (selection == "Up to" || selection == "At least") {
      numAwardsBox.innerHTML = '<input type="text" name="num_awards" size="10" maxlength="10"><span class="red">&nbsp;&nbsp;Example:[40]</span>';
    } else if (selection == "Several" || selection == "Varies") {
      numAwardsBox.innerHTML = "";
    }
  }


  function eligDropdownGenerate(prefix, num) {
    list = '<select name="elig' + num + '" size="1" onChange="dropdownExpand(\''+prefix+'\','+num+');">\n';
    list += '<option selected value="">Select Option</option>\n';
    list += '<option value="list">List</option>\n';
    list += '<option value="para">Paragraph</option>\n';
//    list += '<option value="before">Add before</option>\n';
    list += '<option value="done">Done</option>\n';
    list += '</select><br>\n';
    return list;
  }
	
  function appInfoGenerate(prefix, num) {
    list = '<select name="application' + num + '" size="1" onChange="dropdownExpand(\''+prefix+'\','+num+');">\n';
    list += '<option selected value="">Select Option</option>\n';
    list += '<option value="para">Paragraph</option>\n';
//    list += '<option value="before">Add Before</option>\n';
//	list += '<option value="after">Add After</option>\n';
	list += '<option value="done">Done</option>\n';
    list += '</select><br>\n';
    return list;
  }
  
  //create a new div block and generate a new dropdown box
  //only generate a new dropdown if it doesn't exists, otherwise same id will be generated twice (bad)
  function newDivisionGenerate(prefix,num) {
    //all numberings start at 1
	var id="";
	var innerJSCode ="document.getElementById(prefix+num).innerHTML = ";
	if (document.getElementById(prefix+(num+1)) == null) {
	  num++;
      var division = document.createElement('div');
	  division.id = prefix+num;
	  if (prefix == 'e') {
	    id='eligibility';
        innerJSCode += "eligDropdownGenerate(prefix, num);";
	  } else if (prefix == 'app') {
	    id='application';
		innerJSCode += "appInfoGenerate(prefix, num);";
	  }
	  document.getElementById(id).appendChild(division);
	  eval(innerJSCode);
    }
  }	
  
  /** 
   * dropdown box option response
   * if list is selected, then it will ask for number of items.
   * if paragraph is selected, then it gives you a textarea.
   */  
  function dropdownExpand(prefix,num) {
    var elemName = "";
	var JSCode = "";  
  	if (prefix == 'e') {
      JSCode = 'document.scholarship.elig'+ num +'.options';
	} else if (prefix == 'app') {
	  JSCode = 'document.scholarship.application'+ num +'.options';
	}
	var presentationType = eval(JSCode);
    var selection = presentationType[presentationType.selectedIndex].value;
	//clear all elements except the dropdown box
	var divElem = document.getElementById(prefix+num);
	if (typeof divElem.childNodes == "undefined") {
	  return;
	}
	for (var i=divElem.childNodes.length; i>2; i--) {
  	  divElem.removeChild(divElem.lastChild);
	}

	//get the outer-most div element within each section
	JSCode = 'var outerDivElem = document.getElementById';
	if (prefix == 'e') {
          JSCode += '("eligibility")';
	} else if (prefix == 'app') {
	  JSCode += '("application")';
 	}
	eval(JSCode);

	
    if (selection == "list") {
	  if (prefix == 'e') {
	    elemName = "items"+num;
  	  } //application doesn't need it
	  var inputBox = 'Number of Items: <input type="text" name="'+elemName+'" size="5" onChange="listExpand(\''+prefix+'\','+num+')"><font class="red">&nbsp;&nbsp;Example:[5] and then press tab</font><br>\n';
	  divElem.innerHTML += inputBox;
	  //next dropdown is generated when listExpand is called in onChange
    } else if (selection == "para") {
	  if (prefix == 'e') {
	    elemName = "e_para"+num;
      } else if (prefix == 'app') {
	    elemName = "app_para"+num;
	  }
	  var inputBox = '<textarea wrap="virtual" rows="3" cols="70" name="'+elemName+'"></textarea><span class="red">&nbsp;&nbsp;Format it the way you want it to look</span><br>\n';
	  divElem.innerHTML += inputBox;
	  newDivisionGenerate(prefix,num);
    } else if (selection == "done") {
	  for (var i=outerDivElem.childNodes.length; i>num+1; i--) {
	  	outerDivElem.removeChild(outerDivElem.lastChild);
          }
      } else if (selection == "before") {
         for (var i=num; i<outerDivElem.childNodes.length; i++) {
	    alert(outerDivElem.childNodes.length);
	    var node = outerDivElem.childNodes[i];
            alert("1");
            node.name = prefix+(num+1);
            alert("2");
     	  }
          alert(outerDivElem.childNodes.length);
          var newNode = outerDivElem.lastChild.cloneNode(true);
          var refNode = outerDivElem.childNodes[num];
          newNode.name = prefix+num;
          outerDivElem.insertBefore(newNode,refNode);
      }
  }

  /* expand and modify how many list item text box requested */
  function listExpand(prefix,num) {
    if (prefix == 'e') {
  	  var JSCode  = "parseInt(eval('document.scholarship.items'+num+'.value'))";
	}
	var numItems = eval(JSCode);
	
	if (numItems <=0 ) {
	  alert("Please enter a number of at least 1");
	  return;
	}
	var divElem = document.getElementById(prefix+num);
	var nodeList = divElem.getElementsByTagName("span");
	if (prefix == 'e') {
	  var name = "list_item"+num+'_';
	}
	//first two items are the dropdown box and text box
	if (nodeList.length!=0) {
	  //need more items
	  if (numItems>nodeList.length) {
	    for (var i=nodeList.length; i<numItems; i++) {
	      divElem.innerHTML+='<span>Item'+(i+1)+':  <textarea wrap="virtual" rows="3" cols="60" name="'+name+(i+1)+'"></textarea><font class="red">&nbsp;&nbsp;Format it the way you want it to look</font><br></span>\n';
	    }
	  } else if (numItems<nodeList.length) {
	  //too many items
	  //remove node from the end of the list
	    for (var i=nodeList.length-1; i>numItems-1; i--) {
	  	  divElem.removeChild(nodeList[i]);
	    }
	  }
	} else {
	  for (var i=1; i<numItems+1; i++) {
 	    divElem.innerHTML+='<span>Item'+i+':  <textarea wrap="virtual" rows="3" cols="60" name="'+name+i+'"></textarea><font class="red">&nbsp;&nbsp;Format it the way you want it to look</font><br></span>\n';
	  }
	  //Generate a new division
	  newDivisionGenerate(prefix,num);
	}
  }
  // A utility function that returns true if a string contains only 
  // whitespace characters
  function isblank(s) {
    for(var i = 0; i < s.length; i++) {
      var c = s.charAt(i);
      if ((c != ' ') && (c != '\n') && (c != '	')) return false;
    }
    return true;
  }

  function verify(form) {
    var msg;
    var empty_fields = false;
	var empty_selects = false;
    var errors = "";
    for (var i=0; i<form.length; i++) {
	  var elem = form.elements[i];
	  if ((elem.type == "text") || (elem.type == "textarea")) {
		if (!elem.optional) {
		  if ((elem.value == null) || (elem.value == "") || isblank(elem.value)) {
            empty_fields = true;
            continue;
          }
		}
	    if (elem.numeric) {
		  var v = parseInt(elem.value);
		  if (isNaN(v) || v <= 0) {
		    errors += elem.value+ ', ';
		  }
		}
	  } else if (elem.type == "select-one") {
	    if (elem.options[elem.selectedIndex].value == "") {
		  empty_selects = true;
		}
	  }
	}
	if (!empty_fields && !errors && !empty_selects) return true;
	
    msg  = "_____________________________________________________  _\n\n"
    msg += "The form was not submitted because of the following error(s).\n";
    msg += "Please correct these error(s) and re-submit.\n";
    msg += "_____________________________________________________  _\n\n"
	
	if (empty_fields) {
      msg += "- Make sure all fields are not empty or select 'done' as an option to remove extra text boxes.\n"; 
    }
    if (errors) { 
	  msg += '- Make sure all the numeric field contains only numbers that is greater than 0.\n';
	  msg += errors + "... is/are the invalid value(s).\n";    
    }
	if (empty_selects) {
	  msg += "- Make sure each the dropdown list has an option. If you have any extra dropdown list, select 'done'.\n";
	}
	alert(msg);
    return false;
  }

//not in use anymore. Just for future technical references   (creating a dynamic table)
/*  function webExpand(num) {
  	var numLinks = parseInt(eval('document.scholarship.web_item'+num+'.value'));
	if (numLinks <=0 ) {
	  alert("Please enter a number of at least 1");
	  return;
	}
	var divElem = document.getElementById('app'+num);
	var trList = divElem.getElementsByTagName("tr");
	var tdList = divElem.getElementsByTagName("td");
	if (tdList.length != 0) {
	//first two items are the dropdown box and text box
 	    //need more items
      var currentNumLinks = (tdList.length-1)/2;	  
	  if (numLinks>currentNumLinks) {
	    for (var i=currentNumLinks+1; i<numLinks+1; i++) {
		  td = trList[0].insertCell(trList[0].cells.length);
		  td.innerHTML = 'Link:<br><input type="text" name="weblink'+num+'_'+i+'" size="20">'
		  td = trList[0].insertCell(trList[0].cells.length);
		  td.innerHTML = 'Phrases/Sentences:<br><textarea wrap="off" rows="3" cols="30" name="web_phrase'+num+'_'+(i+1)+'"></textarea>';
        }
	  } else if (numLinks<currentNumLinks) {
	  //too many items
	  //remove node from the end of the list
	    for (var i=currentNumLinks; i>numLinks; i--) {
  	      trList[0].deleteCell(trList[0].cells.length-1);
		  trList[0].deleteCell(trList[0].cells.length-1);
	    }
	  }
	} else {
	  //create new nodes
	  var tr, td;
	  var table = document.createElement("table");
	  table = divElem.appendChild(table);
	  tr = table.insertRow(table.rows.length);
 
	  for (var i=1; i<numLinks+1; i++) {
	    td = tr.insertCell(tr.cells.length);
	 	td.innerHTML ='Phrases/Sentences:<br><textarea wrap="off" rows="3" cols="30" name="web_phrase'+num+'_'+i+'"></textarea>';
		td = tr.insertCell(tr.cells.length);
        td.innerHTML ='Link:<br><input type="text" name="weblink'+num+'_'+i+'" size="20">';
	  }
	  td = tr.insertCell(tr.cells.length);
	  td.innerHTML = 'Phrases/Sentences:<br><textarea wrap="off" rows="3" cols="30" name="web_phrase'+num+'_'+(numLinks+1)+'"></textarea>';
	  //Generate a new division
	  newAppDivisionGenerate(num);
	}
  }	
  
  function contactExpand(num) {
  	var numContacts = parseInt(eval('document.scholarship.contact_item'+num+'.value'));
	if (numContacts <=0 ) {
	  alert("Please enter a number of at least 1");
	  return;
	}
	var divElem = document.getElementById('app'+num);
	var trList = divElem.getElementsByTagName("tr");
	var tdList = divElem.getElementsByTagName("td");
	if (tdList.length != 0) {
	//first two items are the dropdown box and text box
 	    //need more items
      var currentNumContacts = (tdList.length-1)/2;	  
	  if (numContacts>currentNumContacts) {
	    for (var i=currentNumContacts+1; i<numContacts+1; i++) {
		  td = trList[0].insertCell(trList[0].cells.length);
		  td.innerHTML = 'Email:<br><input type="text" name="contact'+num+'_'+i+'" size="20">'
		  td = trList[0].insertCell(trList[0].cells.length);
		  td.innerHTML = 'Phrases/Sentences:<br><textarea wrap="off" rows="3" cols="30" name="contact_phrase'+num+'_'+(i+1)+'"></textarea>';
        }
	  } else if (numContacts<currentNumContacts) {
	  //too many items
	  //remove node from the end of the list
	    for (var i=currentNumContacts; i>numContacts; i--) {
  	      trList[0].deleteCell(trList[0].cells.length-1);
		  trList[0].deleteCell(trList[0].cells.length-1);
	    }
	  }
	} else {
	  //create new nodes
	  var tr, td;
	  var table = document.createElement("table");
	  table = divElem.appendChild(table);
	  tr = table.insertRow(table.rows.length);
 
	  for (var i=1; i<numContacts+1; i++) {
	    td = tr.insertCell(tr.cells.length);
	 	td.innerHTML ='Phrases/Sentences:<br><textarea wrap="off" rows="3" cols="30" name="contact_phrase'+num+'_'+i+'"></textarea>';
		td = tr.insertCell(tr.cells.length);
        td.innerHTML ='Email:<br><input type="text" name="email'+num+'_'+i+'" size="20">';
	  }
	  td = tr.insertCell(tr.cells.length);
	  td.innerHTML = 'Phrases/Sentences:<br><textarea wrap="off" rows="3" cols="30" name="contact_phrase'+num+'_'+(numContacts+1)+'"></textarea>';
	  //Generate a new division
	  newAppDivisionGenerate(num);
	}
  }*/
