
function  toAbsoluteUrls () {
  // This function cycles through each of the arrays in nav_arrays.js and
  // adds http://www.orrick.com their urls, changing all the links in the
  // navigation menus from relative urls to absolute ones.
  for (var i=0; i < totalMenus; i++) {
    // array option numbers start at 1 instead of 0, so add 1 to 
    // each count to get the correct menu.
    var menu_name = "menu" + (i+1);
    var menu_opt_count = eval(menu_name);
    for (var k=0; k < menu_opt_count; k++) {
      var menu_opt_name = menu_name + "_" + (k+1);
      var menu_opt_array = eval(menu_opt_name);
      menu_opt_array[1] = "http://www.orrick.com" + menu_opt_array[1];
    };
  };    
}

toAbsoluteUrls();

function  checkAll (checked, css_selection) {
  // All checkboxes example: <a href="javascript:checkAll(true);">all</a> | <a href="javascript:checkAll(false);">none</a>
  // Just one form example: <a href="javascript:checkAll(true, '#RSNEWSLETTERSFORM input');">all</a> | <a href="javascript:checkAll(false, '#RSNEWSLETTERSFORM input');">none</a>
  if (css_selection == null){    
    var forms = document.forms;
    for (var k=0; k< forms.length; k++) {
      var elements = forms[k].elements;
      checkInputs(elements, checked);
    }
  } else {
    var elements = $$(css_selection);
    checkInputs(elements, checked);
  }
}

var Check = {

  all: function(checked, css_selection) {
    // All checkboxes example: <a href="javascript:Check.all(true);">all</a> | <a href="javascript:Check.all(false);">none</a>
    // Just one form example: <a href="javascript:Check.all(true, '#RSNEWSLETTERSFORM input');">all</a> | <a href="javascript:Check.all(false, '#RSNEWSLETTERSFORM input');">none</a>
    if (css_selection == null){    
      var forms = document.forms;
      for (var k=0; k< forms.length; k++) {
        var elements = forms[k].elements;
        Check.inputs(elements, checked);
      }
    } else {
      // css selection can be slow
      var elements = $$(css_selection);
      Check.inputs(elements, checked);
    }
  },

  inputs: function(elements, checked) {
    for (var i=0; i < elements.length; i++) {
      if (elements[i].type == 'checkbox') { elements[i].checked = checked; }
    };
  },

  children: function(element) {
    var children = $(element.id + "Sub").getElementsByTagName("input");
    Check.inputs(children, element.checked);
  },

  parent: function(element) {
    Check.inputs(element, Check.evaluateGroup(element));
  },
  evaluateGroup: function(element){
    // returns true if entire group is checked
    var id = element.parentNode.parentNode.id; // id of parent checkbox
    var children = $(id).getElementsByTagName("input");
    for (var i=0; i < children.length; i++) {
      children[i].checked
    };
  }
  
}
