function select_by_value(control, text) {
  for (i=0; i<control.options.length; i++) {
    if ( control.options[i].value == text )
		control.selectedIndex = i;
  }
}


function expand_preset(index) {
  if (index > 3) {
    d.e_r_mode_count.value = '2';
	
	if (index == 4)
	  d.e_r_mode.selectedIndex = 1;
	else if (index == 5)
	  d.e_r_mode.selectedIndex = 2;
	else
	  d.e_r_mode.selectedIndex = 3;
  }
  else {
    d.e_r_mode_count.value = '1';
	d.e_r_mode.selectedIndex = index;
  }
}


function toggle_enabled() {
  for (i=0; i<d.e_r_preset.length; i++)
	d.e_r_preset[i].disabled = !d.e_repeat.checked;
  
  d.e_r_count.disabled = !d.e_repeat.checked;
  d.e_r_mode.disabled = !d.e_repeat.checked;
  d.e_r_mode_count.disabled = !d.e_repeat.checked;
  
  if ( !d.e_repeat.checked )
    document.getElementById("repeat_box").className = "hide_repeat";
  else
    document.getElementById("repeat_box").className = "show_repeat";	

}

function match_dates() {
	var month = d.e_sd_month.selectedIndex,
		day = d.e_sd_day.selectedIndex,
		year = d.e_sd_year.value;	

	if ( !is_integer(d.e_ed_year.value) )
		d.e_ed_year.value = CURRENT_YEAR;
	
	if ( !is_integer(d.e_sd_year.value) )
		d.e_sd_year.value = CURRENT_YEAR;
  
  if ( year < BASE_YEAR ) {
    d.e_sd_year.value = CURRENT_YEAR;
    year = CURRENT_YEAR;
  }
  else {
    if ( year > MAX_YEAR ) {
      d.e_sd_year.value = CURRENT_YEAR;
      year = CURRENT_YEAR;
    }
  }
  
  if ( d.e_ed_year.value < year)
    d.e_ed_year.value = year;
  
  if ( d.e_ed_year.value = year) {
    if ( d.e_ed_month.selectedIndex < month )
      d.e_ed_month.selectedIndex = month;
    
    if ( d.e_ed_month.selectedIndex == month ) {
      if ( d.e_ed_day.selectedIndex < day )
        d.e_ed_day.selectedIndex = day;
    }
  }
}

function is_integer(num) {
	return !String(num).match("[^0-9]");
}

function form_justify() {
	// Called from onSubmit
  error = "";
    
  if ( d.e_title.value.match("^ *$") )
    error += "-Please provide a title.\n";

  if ( d.e_title.value.length > MAX_MSG_LENGTH )
    error += "-Please limit the length of your title to 80 characters";
  
  if ( d.e_sd_year.value < BASE_YEAR || d.e_sd_year.value > MAX_YEAR )
    error += "-Invalid start year!\n";  
  
  if ( d.e_ed_year.value < BASE_YEAR || d.e_ed_year.value > MAX_YEAR )
    error += "-Invalid end year!\n";  
  
  if ( error != "" ) {
    alert("The following errors were encountered:\n" + error);
    return false;
  }
  
  return true;
}