function URLEncode(str) {
	var SAFECHARS = "0123456789" +					// Numeric
					"ABCDEFGHIJKLMNOPQRSTUVWXYZ" +	// Alphabetic
					"abcdefghijklmnopqrstuvwxyz" +
					"-_.!~*'()";					// RFC2396 Mark characters
	var HEX = "0123456789ABCDEF";
	var plaintext = str;
	var encoded = "";
	for (var i = 0; i < plaintext.length; i++ ) {
		var ch = plaintext.charAt(i);
	    if (ch == " ") {
		    encoded += "+";	// x-www-urlencoded, rather than 
		} else if (SAFECHARS.indexOf(ch) != -1) {
		    encoded += ch;
		} else {
		    var charCode = ch.charCodeAt(0);
			if (charCode > 255) {
			    alert("Unicode Character '" 
                        + ch 
                        + "' cannot be encoded using standard URL encoding.\n" +
				          "(URL encoding only supports 8-bit characters.)\n" +
						  "A space (+) will be substituted.");
				encoded += "+";
			} else {
				encoded += "%";
				encoded += HEX.charAt((charCode >> 4) & 0xF);
				encoded += HEX.charAt(charCode & 0xF);
			}
		}
	}
	return encoded;
}

function wform_other_option(elem) {
  if ($(elem)) {
    if ($(elem).value == "other") {
      $(elem+'_other_div').setStyle('display','');
      $(elem+'_other').focus();
    }
    else {
      $(elem+'_other_div').setStyle('display','none');
      $(elem+'_other').value = "";
    }
  }
}

function wform_auto_check(elem) {
  if ($(elem)) {
    if ($(elem).checked) {
      $(elem).checked = false;
    }
    else {
      $(elem).checked = true;
    }
  }
}

function chkStep1() {
  district_chk = false;
  $$('#districts input.chkbox').each(function(item){
	if (item.checked) {
      district_chk = true;
	}
  });
  ages_chk = false;
  $$('#ages input.chkbox').each(function(item){
	if (item.checked) {
      ages_chk = true;
	}
  });
  if ($('wform_role').value == "") {
	alert("Please select an option for the best description of your role.");
	$('wform_role').focus();
	return false;
  }
  else if (($('wform_role').value == "other") && ($('wform_role_other').value == "")) {
	alert("Please specify a description of your role.");
	$('wform_role_other').focus();
	return false;
  }
  else if (!district_chk) {
    alert("Please select at least one district in which you work or in which your child attends school.");
    return false;
  }
  else if (($('wform_district0').checked) && ($('wform_district_other').value == "")) {
    alert("Please specify the district in which you work or in which your child attends school.");
    $('wform_district_other').focus();
    return false;
  }
  else if (!ages_chk) {
    alert("Please select at least one age range of children with disabilities you serve or the age range that best describes your child.");
    return false;
  }
  else if ($('wform_school_type').value == "") {
    alert("Please select the type of school in which you serve or the school that your child attends.");
    $('wform_school_type').focus();
    return false;
  }
  else {
    $('wform_subtn').value = "Please wait...";
    $('wform_subtn').disabled = true;
    return true;
  }
}

function chkStep2() {
  /*
  una_int_chk = true;
  first_field_fix = false;
  $$('#unserved_needs input.short').each(function(item){
	if ((isNaN(item.value)) && (item.value != '')) {
      una_int_chk = false;
      if (!first_field_fix) {
        first_field_fix = item;
      }
	}
  });
  if ((!$('no_unserved_needs').checked) && (!una_int_chk)) {
    alert("One or more fields for disability estimations are invalid numbers. Please use whole numbers only.");
    if (first_field_fix) {
      first_field_fix.focus();
      first_field_fix.select();
    }
    return false;
  }
  else if (((($('dis_numA0').value != 0) && ($('dis_numA0').value != "")) ||
  		    (($('dis_numB0').value != 0) && ($('dis_numB0').value != "")) ||
  		    (($('dis_numC0').value != 0) && ($('dis_numC0').value != "")) ||
  		    (($('dis_numD0').value != 0) && ($('dis_numD0').value != ""))) &&
  		    ($('wform_unserved_need_other').value == "")) {
    alert("Please specify the other Unserved Needs Disability you listed an estimated count for.");
    $('wform_unserved_need_other').focus();
    return false;
  }
  */
  if ((($('dis_numA0').checked) ||
	   ($('dis_numB0').checked) ||
	   ($('dis_numC0').checked) ||
	   ($('dis_numD0').checked)) &&
	   ($('wform_unserved_need_other').value == "")) {
    alert("Please specify the other Unserved Needs Disability you checked.");
    $('wform_unserved_need_other').focus();
    return false;
  }
  else {
    $('wform_subtn').value = "Please wait...";
    $('wform_subtn').disabled = true;
    return true;
  }
}

function chkStep3() {
  und_chk = true;
  $$('input.under_ref').each(function(item){
    ii = item.value;
    if ((!$('underserved_'+ii+'_1').checked) && 
        (!$('underserved_'+ii+'_2').checked) && 
        (!$('underserved_'+ii+'_3').checked) && 
        (!$('underserved_'+ii+'_4').checked)) {
      und_chk = false;
    }
  });
  if ((!$('no_underserved_needs').checked) && (!und_chk)) {
    alert("Please select an option for all categories of emphasis.");
    return false;
  }
  else {
    $('wform_subtn').value = "Please wait...";
    $('wform_subtn').disabled = true;
    return true;
  }
}

function chkStep4() {
  pers_dev_chk = true;
  $$('input.pers_dev_ref').each(function(item){
    ii = item.value;
    if ((!$('pers_dev_'+ii+'_1').checked) && 
        (!$('pers_dev_'+ii+'_2').checked) && 
        (!$('pers_dev_'+ii+'_3').checked)) {
      pers_dev_chk = false;
    }
  });
  if (!pers_dev_chk) {
    alert("Please select an option for all categories of Service/Personnel Development emphasis.");
    return false;
  }
  else {
    $('wform_subtn').value = "Please wait...";
    $('wform_subtn').disabled = true;
    return true;
  }
}

function init_nav() {
  $$('#nav li.live').each(function(item){
	item.addEvent('mouseover', function(e) {
	  item.set('class','over');
	});
	item.addEvent('mouseout', function(e) {
	  item.set('class','live');
	});
  });
}

function chk_no_unserved_needs() {
  if ($('no_unserved_needs')) {
    if ($('no_unserved_needs').checked) {
      $('unserved_needs').setStyle('display','none');
    }
    else {
      $('unserved_needs').setStyle('display','');
    }
  }
}

function chk_no_underserved_needs() {
  if ($('no_underserved_needs')) {
    if ($('no_underserved_needs').checked) {
      $('underserved_needs').setStyle('display','none');
    }
    else {
      $('underserved_needs').setStyle('display','');
    }
  }
}
