function displayHour(hour) {
  if (hour == 0) {
    return "12 a.m.";
  } else if (hour < 12) {
    return hour+" a.m.";
  } else if (hour == 12) {
    return "12 p.m.";
  } else {
    return (hour - 12)+" p.m.";
  }
}
function showAddStep() {
  document.getElementById('goal_management_add_steps_table').style.display='block';
  document.getElementById('add_step_button').style.display='none';
}
function updateHelperName(goal_step_id) {
  document.getElementById('goal_step_'+goal_step_id+'_helper_name').value = document.getElementById('goal_step'+goal_step_id+'_helper_customer_id').options[document. getElementById('goal_step'+goal_step_id+'_helper_customer_id').options.selectedIndex].text;
}
function newPrePopGoalPrompt() {
  //Show prompt to ask for start date and then update all other dates on the page
  //To be the respective number of days offset
  document.getElementById('pre_populated_prompt_box').style.display='block';
}
function updateSuggestedGoalDates(goal_id) {
  newReferenceDate = new Date(document.getElementById('suggested_goal_start_date').value);
  originalReferenceDate = new Date(document.getElementById('goal_start_date').value);

  milliseconds_difference = parseFloat(newReferenceDate.valueOf()) - parseFloat(originalReferenceDate.valueOf());
  
  potential_dates = document.getElementById('goal_management_form').getElementsByTagName('INPUT');
  
  for (var i=0;i < potential_dates.length; i++) {
    if (potential_dates[i].id != 'goal_step_'+goal_id+'_start_date' && potential_dates[i].value.length > 0 && (potential_dates[i].name.indexOf('start_date') > -1 || potential_dates[i].name.indexOf('end_date') > -1 || potential_dates[i].name.indexOf('completed_date') > -1 || potential_dates[i].name.indexOf('date_assigned') > -1 || potential_dates[i].name.indexOf('date_completed') > -1)) {
      current_date_obj = new Date(potential_dates[i].value);
      current_date_timestamp = current_date_obj.valueOf();
      adjusted_date_obj = new Date(current_date_timestamp + milliseconds_difference);
      potential_dates[i].value = (adjusted_date_obj.getMonth() + 1) + "/" + (adjusted_date_obj.getDate()) + "/" + (adjusted_date_obj.getFullYear());
    }
  }
  document.getElementById('pre_populated_prompt_box').style.display='none';
  document.getElementById('goal_start_date').value = document.getElementById('suggested_goal_start_date').value;
}
var active_empty_step = -3;
function copyGoalStep(step_number) {
  showAddStep();
  if (active_empty_step > -1) {
    alert('Please save your current steps to copy this goal\'s step.');
    return;
  }
  document.getElementById('goal_step' + active_empty_step + '_title').value = document.getElementById('goal_step_' + step_number + '_title').value;
  document.getElementById('goal_step' + active_empty_step + '_helper_customer_id').options.selectedIndex = document.getElementById('goal_step' + step_number + '_helper_customer_id').options.selectedIndex;
  document.getElementById('goal_step_' + active_empty_step + '_helper_name').value = document.getElementById('goal_step_' + step_number + '_helper_name').value;
  document.getElementById('goal_step_' + active_empty_step + '_helper_responsibilities').value = document.getElementById('goal_step_' + step_number + '_helper_responsibilities').value;
  document.getElementById('goal_step_' + active_empty_step + '_start_date').value = document.getElementById('goal_step_' + step_number + '_start_date').value;
  document.getElementById('goal_step_' + active_empty_step + '_follow_up_notes').value = document.getElementById('goal_step_' + step_number + '_follow_up_notes').value;
  document.getElementById('goal_step_' + active_empty_step + '_date_assigned').value = document.getElementById('goal_step_' + step_number + '_date_assigned').value;
  document.getElementById('goal_step_' + active_empty_step + '_end_date').value = document.getElementById('goal_step_' + step_number + '_end_date').value;
  document.getElementById('goal_step_' + active_empty_step + '_date_completed').value = document.getElementById('goal_step_' + step_number + '_date_completed').value;
  
  active_empty_step++;
}
function showEmailTokens() {
  document.getElementById('tokens_box').style.display = "block";
  document.getElementById('tokens_box').style.top = (mousey+10)+"px";
  document.getElementById('tokens_box').style.left = (mousex+10)+"px";
}
var token_box_tokens = new Array('goal','goal_step','recipient','account_owner','goal_creator');
function updateCurrentTokenBox() {
  for (i=0;i< token_box_tokens.length; i++) {
    document.getElementById('token_box_' + token_box_tokens[i]).style.display = "none";    
  }
  document.getElementById('token_box_' + token_box_tokens[document.getElementById('token_box_current').options.selectedIndex]).style.display = "block"; 
}
function toggleBoxes(parent_object_id, selected_div, parent_nav_div, selected_nav) {
  if (!document.getElementById(parent_object_id)) { return; }
  var box_container = document.getElementById(parent_object_id);
  var boxes = box_container.getElementsByTagName('DIV');
  for (var box_index in boxes) {
    if (boxes[box_index].className && boxes[box_index].className.search(/box_/) > -1) {
      boxes[box_index].className = boxes[box_index].className.replace(/box_visible|box_hidden/g,"");
      boxes[box_index].className += " box_hidden";
      boxes[box_index].className = boxes[box_index].className.trim();
    }
  }
  if (document.getElementById(selected_div)) {
  document.getElementById(selected_div).className = document.getElementById(selected_div).className.replace(/box_hidden/g,"");
    document.getElementById(selected_div).className += " box_visible";
    document.getElementById(selected_div).className = document.getElementById(selected_div).className.trim();
  }
  //Adjust navigation
  box_container = document.getElementById(parent_nav_div);
  boxes = box_container.getElementsByTagName('A');
  
  for (var box_index in boxes) {
    if (boxes[box_index].className && boxes[box_index].className.search(/tab_/) > -1) {
      boxes[box_index].className = boxes[box_index].className.replace(/tab_active|tab_inactive/g,"");
      boxes[box_index].className += " tab_inactive";
      boxes[box_index].className = boxes[box_index].className.trim();
    }
  }
  if (document.getElementById(selected_nav)) {
  document.getElementById(selected_nav).className = document.getElementById(selected_nav).className.replace(/tab_inactive/g,"");
    document.getElementById(selected_nav).className += " tab_active";
    document.getElementById(selected_nav).className = document.getElementById(selected_nav).className.trim();
  }
}
function toggleRepetitionBox() {
  if (!document.getElementById('repetition_basis')) { return; }
  var box_container = document.getElementById('repeat_boxes');
  var boxes = box_container.getElementsByTagName('DIV');
  for (var box_index in boxes) {
    if (boxes[box_index].className && boxes[box_index].className.search(/_box/) > -1) {
      boxes[box_index].className = boxes[box_index].className.replace(/visible_box|invisible_box/g,"");
      boxes[box_index].className += " invisible_box";
      boxes[box_index].className = boxes[box_index].className.trim();
    }
  }
  if (document.getElementById('repeat_' + document.getElementById('repetition_basis').options[document.getElementById('repetition_basis').options.selectedIndex].value + '_box')) {
    document.getElementById('repeat_' + document.getElementById('repetition_basis').options[document.getElementById('repetition_basis').options.selectedIndex].value + '_box').className = document.getElementById('repeat_' + document.getElementById('repetition_basis').options[document.getElementById('repetition_basis').options.selectedIndex].value + '_box').className.replace(/invisible_box/g,"");
    document.getElementById('repeat_' + document.getElementById('repetition_basis').options[document.getElementById('repetition_basis').options.selectedIndex].value + '_box').className += " visible_box";
    document.getElementById('repeat_' + document.getElementById('repetition_basis').options[document.getElementById('repetition_basis').options.selectedIndex].value + '_box').className = document.getElementById('repeat_' + document.getElementById('repetition_basis').options[document.getElementById('repetition_basis').options.selectedIndex].value + '_box').className.trim();
    
    var selected_value = document.getElementById('repetition_basis').options[document.getElementById('repetition_basis').options.selectedIndex].value;
    var delimiter_pos = selected_value.search('_of_');
    if (delimiter_pos == -1) {
      delimiter_pos = -4;
    }
    document.getElementById('repeat_lapse_period').innerHTML = selected_value.substr(delimiter_pos+4,1).toUpperCase() + selected_value.substr(delimiter_pos+5) + "(s)";
  }
  if (document.getElementById('repetition_basis').options[document.getElementById('repetition_basis').options.selectedIndex].value == 'instance_marked_completed' || document.getElementById('repetition_basis').options[document.getElementById('repetition_basis').options.selectedIndex].value == 'instance_due_date_passes') {
    document.getElementById('repeat_freq_box').style.display = 'none';
  } else {
    document.getElementById('repeat_freq_box').style.display = 'inline';
  }
}
function updateGoalRepeatingInterface() {
  if (document.getElementById('is_multiple').checked) {
    document.getElementById('single_occurrence_inner_box').style.display = 'none';
    document.getElementById('multiple_occurrence_inner_box').style.display = 'block';
    document.getElementById('goal_dates_box').innerHTML = document.getElementById('is_multiple').title;
    document.getElementById('repeat_tabs_box').style.display = 'block';
  } else {
    document.getElementById('single_occurrence_inner_box').style.display = 'block';
    document.getElementById('multiple_occurrence_inner_box').style.display = 'none';
    document.getElementById('goal_dates_box').innerHTML = document.getElementById('is_multiple').getAttribute('single_title');
    document.getElementById('repeat_tabs_box').style.display = 'none';
  }
}
