// Original script: Copyright (c) 1996-1997 Tomer Shiran. All rights reserved.
// Courtesy of SimplytheBest.net - http://simplythebest.net/scripts/
// Improvements: Copyright (c) 2008 Ralph Sickinger, WILLCOR, Inc.

var caution = false
var nodecnt = 0
function setCookie(name, value, expires, path, domain, secure) {
  var curCookie = name + "=" + escape(value) +
    ((expires) ? "; expires=" + expires.toGMTString() : "") +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    ((secure) ? "; secure" : "")
  if (!caution || (name + "=" + escape(value)).length <= 4000)
    document.cookie = curCookie
  else
    if (confirm("Cookie exceeds 4KB and will be cut!"))
      document.cookie = curCookie
}
function getCookie(name) {
  var prefix = name + "="
  var cookieStartIndex = document.cookie.indexOf(prefix)
  if (cookieStartIndex == -1)
    return null
  var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length)
  if (cookieEndIndex == -1)
    cookieEndIndex = document.cookie.length
  return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex))
}
function deleteCookie(name, path, domain) {
  if (getCookie(name)) {
    document.cookie = name + "=" +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    "; expires=Thu, 01-Jan-70 00:00:01 GMT"
  }
}
function fixDate(date) {
  var base = new Date(0)
  var skew = base.getTime()
  if (skew > 0)
    date.setTime(date.getTime() - skew)
}
function item(parent, caption, file, id, depth) {
  if (parent) { nodecnt++ }

  this.parent = parent
  this.text = caption
  this.id = id
  this.file = file
  this.depth = depth
}
function makeArray(length) {
  this.length = length
}
function makeDatabase() {
  var ix = 0
  outline = new makeArray(160)

//        outline[0] = new item(false, "<i>Summary</i>","summary","",0)

        outline[ix] = new item(false, "Cover Page","index","",0)
        ix++
        outline[ix] = new item(false, "Preface","2","",0)
        ix++
        outline[ix] = new item(false, "Acknowledgments","3","",0)
        ix++
        outline[ix] = new item(true, "I - Acquisition Management","4","1",0)
        ix++
        outline[ix] = new item(true, "Policy","41","2",1)
        ix++
        outline[ix] = new item(false, "The Program Manager's Bill of Rights and Responsibilities","411","",2)
        ix++
        outline[ix] = new item(false, "Defense Acquisition Decision Reviews & Phases","412","",2)
        ix++
        outline[ix] = new item(false, "Acquisition Categories (ACAT)","413","",2)
        ix++
        outline[ix] = new item(false, "Acquisition Strategy Considerations","414","",2)
        ix++
        outline[ix] = new item(false, "Acquisition Technology and Logistics Knowledge Sharing System","415","",2)
        ix++
        outline[ix] = new item(false, "Acquisition Community Connection (ACC)","416","",2)
        ix++
        outline[ix] = new item(false, "Defense Acquisition Guidebook (DAG)","417","",2)
        ix++
        outline[ix] = new item(false, "Defense Acquisition Board Timeline Milestones B, C & FRPDR","418","",2)
        ix++
        outline[ix] = new item(false, "Milestone Decision Information","419","",2)
        ix++
        outline[ix] = new item(false, "Information for Milestone/Decision Reviews","41a","",2)
        ix++
        outline[ix] = new item(false, "C4ISR Interoperability","41b","",2)
        ix++
        outline[ix] = new item(false, "S&T Linkage to Defense Acquisition Process","41c","",2)
        ix++
        outline[ix] = new item(false, "Advanced Concept Technology Demonstration Initiation Process","41d","",2)
        ix++
        outline[ix] = new item(false, "Acquisition Program vs. ATD & ACTD","41e","",2)
        ix++
        outline[ix] = new item(false, "Program Structure/Schedule (Example)","41f","",2)
        ix++
        outline[ix] = new item(true, "International","42","3",1)
        ix++
        outline[ix] = new item(false, "DoD International Armaments Cooperation Policy","421","",2)
        ix++
        outline[ix] = new item(false, "The Scope of Defense Cooperation","422","",2)
        ix++
        outline[ix] = new item(false, "Defense Sales vs. Cooperative Acquisition","423","",2)
        ix++
        outline[ix] = new item(false, "International Activities Associated With Defense Acquisition Phases","424","",2)
        ix++
        outline[ix] = new item(true, "Funds Management","43","4",1)
        ix++
        outline[ix] = new item(false, "Resource Allocation Process—Overlap","431","",2)
        ix++
        outline[ix] = new item(false, "Planning, Programming, Budgeting and Execution (PPBE)—Planning","432","",2)
        ix++
        outline[ix] = new item(false, "PPBE On-Year Concurrent Program/Budget Review","433","",2)
        ix++
        outline[ix] = new item(false, "PPBE Off-Year Program/Budget Review","434","",2)
        ix++
        outline[ix] = new item(false, "Resource Allocation Process","435","",2)
        ix++
        outline[ix] = new item(false, "Congressional Enactment Timetable","436","",2)
        ix++
        outline[ix] = new item(false, "Procurement Appropriations","437","",2)
        ix++
        outline[ix] = new item(false, "RDT&E Appropriations (Account Numbers)","438","",2)
        ix++
        outline[ix] = new item(false, "RDT&E Appropriations (Relationship Between MFP 6...)","439","",2)
        ix++
        outline[ix] = new item(false, "Sample Navy Appropriations and Budget Activities","43a","",2)
        ix++
        outline[ix] = new item(false, "Appropriation Life","43b","",2)
        ix++
        outline[ix] = new item(false, "Below Threshold Reprogramming Actions","43c","",2)
        ix++
        outline[ix] = new item(false, "Life Cycle Cost Composition","43d","",2)
        ix++
        outline[ix] = new item(false, "Product Improvements","43e","",2)
        ix++
        outline[ix] = new item(false, "Cost Estimating","43f","",2)
        ix++
        outline[ix] = new item(false, "Cost Estimating Relationships (CER)","43g","",2)
        ix++
        outline[ix] = new item(false, "Performance Measurement","43h","",2)
        ix++
        outline[ix] = new item(true, "Contracting","44","5",1)
        ix++
        outline[ix] = new item(false, "Contracting—Components of Contract Price","441","",2)
        ix++
        outline[ix] = new item(false, "Types of Contracts","442","",2)
        ix++
        outline[ix] = new item(false, "Contract Type Features","443","",2)
        ix++
        outline[ix] = new item(false, "Pre-Solicitation Process","444","",2)
        ix++
        outline[ix] = new item(false, "Post-Solicitation Process","445","",2)
        ix++
        outline[ix] = new item(false, "Other Ways to Buy","446","",2)
        ix++
        outline[ix] = new item(true, "Defense Industry Business Management","45","6",1)
        ix++
        outline[ix] = new item(false, "Contractor Profitability Ratios","451","",2)
        ix++
        outline[ix] = new item(false, "Aerospace Defense Industry Contractor Profitability Ratios","452","",2)
        ix++
        outline[ix] = new item(false, "Lockheed Martin Corp — Dupont Formula Analysis (an Example)","453","",2)
        ix++
        outline[ix] = new item(false, "Cash Cycle","454","",2)
        ix++
        outline[ix] = new item(false, "Contractor Financing and Payments","455","",2)
        ix++
        outline[ix] = new item(false, "Direct and Indirect Costs","456","",2)
        ix++
        outline[ix] = new item(false, "Assigning Indirect Costs","457","",2)
        ix++
        outline[ix] = new item(false, "Life Cycle of Indirect Cost Rates","458","",2)
        ix++
        outline[ix] = new item(false, "Contractor’s Cost Proposal","459","",2)
        ix++
        outline[ix] = new item(false, "Contractor Business Planning Process Outputs","45a","",2)
        ix++
        outline[ix] = new item(true, "Logistics","46","7",1)
        ix++
        outline[ix] = new item(false, "Life Cycle Logistics","461","",2)
        ix++
        outline[ix] = new item(false, "Principal Life Cycle Logistics Goals/Objectives","462","",2)
        ix++
        outline[ix] = new item(false, "System Operational Effectiveness (SOE)","463","",2)
        ix++
        outline[ix] = new item(false, "Best Practice: Support Elements","464","",2)
        ix++
        outline[ix] = new item(false, "Support Element Definitions","465","",2)
        ix++
        outline[ix] = new item(false, "Life Cycle Logistics Linkage to Defense Acquisition Process","466","",2)
        ix++
        outline[ix] = new item(false, "Performance-Based Logistics (PBL)","467","",2)
        ix++
        outline[ix] = new item(false, "Performance-Based Logistics Implementation Model","468","",2)
        ix++
        outline[ix] = new item(false, "Post-Production Support Decision Process","469","",2)
        ix++
        outline[ix] = new item(false, "Operational Availability","46a","",2)
        ix++
        outline[ix] = new item(false, "Logistics Management Community of Practice (LOG COP)","46b","",2)
        ix++
        outline[ix] = new item(false, "Defense Acquisition Guidebook -Life Cycle Logistics-","46c","",2)
        ix++
        outline[ix] = new item(false, "Organization","47","",1)
        ix++
        outline[ix] = new item(true, "Manufacturing","48","8",1)
        ix++
        outline[ix] = new item(false, "The Role of Manufacturing in the Acquisition Process","481","",2)
        ix++
        outline[ix] = new item(false, "Common Production Risks That Greatly Impact...","482","",2)
        ix++
        outline[ix] = new item(false, "Producibility","483","",2)
        ix++
        outline[ix] = new item(false, "Producibility - Defense Acquisition Guidebook","484","",2)
        ix++
        outline[ix] = new item(false, "Quality Management Systems","485","",2)
        ix++
        outline[ix] = new item(false, "Key Characteristics and Variation Reduction","486","",2)
        ix++
        outline[ix] = new item(false, "Production Readiness Review (PRR)","487","",2)
        ix++
        outline[ix] = new item(false, "Additional Manufacturing Information Sources","488","",2)
        ix++
        outline[ix] = new item(true, "Test & Evaluation (T&E)","49","9",1)
        ix++
        outline[ix] = new item(false, "Test & Evaluation (T&E)—Types and Tasks","491","",2)
        ix++
        outline[ix] = new item(false, "Modeling & Simulation (M&S) Planning","492","",2)
        ix++
        outline[ix] = new item(false, "Hierarchy of Models and Simulations","493","",2)
        ix++
        outline[ix] = new item(false, "The Evolution of Modeling & Simulation","494","",2)
        ix++
        outline[ix] = new item(true, "Planning and Control","4a","@",1)
        ix++
        outline[ix] = new item(false, "Planning and Control Tools","4a1","",2)
        ix++
        outline[ix] = new item(false, "PERT* Network Charts","4a2","",2)
        ix++
        outline[ix] = new item(false, "Network Schedule Development","4a3","",2)
        ix++
        outline[ix] = new item(false, "Lead Time Chart","4a4","",2)
        ix++
        outline[ix] = new item(false, "Line of Balance Technique","4a5","",2)
        ix++
        outline[ix] = new item(false, "Acquisition Program Baseline","4a6","",2)
        ix++
        outline[ix] = new item(true, "Risk Management","4b","A",1)
        ix++
        outline[ix] = new item(false, "Risk Management Process Model","4b1","",2)
        ix++
        outline[ix] = new item(false, "Risk & Tradeoffs Analysis","4b2","",2)
        ix++
        outline[ix] = new item(false, "Program Manager’s Checklist...","4b3","",2)
        ix++
        outline[ix] = new item(false, "Technical Performance Measurement","4b4","",2)
        ix++
        outline[ix] = new item(true, "Systems Engineering","4c","B",1)
        ix++
        outline[ix] = new item(false, "What Is Systems Engineering?","4c1","",2)
        ix++
        outline[ix] = new item(false, "A Simple Model of a Systems Engineering Process Systems Engineering Tasks","4c2","",2)
        ix++
        outline[ix] = new item(false, "Systems Engineering Tasks","4c3","",2)
        ix++
        outline[ix] = new item(false, "Systems Engineering Policy in DoD","4c4","",2)
        ix++
        outline[ix] = new item(false, "Systems Engineering Process “The Basic Engine”","4c5","",2)
        ix++
        outline[ix] = new item(false, "Systems Engineering Process “Basic Engine Operations”","4c6","",2)
        ix++
        outline[ix] = new item(false, "Generic SE Process - Detailed Approach","4c7","",2)
        ix++
        outline[ix] = new item(false, "Concept Refinement Phase Systems Engineering Activities","4c8","",2)
        ix++
        outline[ix] = new item(false, "Technology Development Phase Systems Engineering Activities","4c9","",2)
        ix++
        outline[ix] = new item(false, "System Development and Demonstration Phase Systems Engineering Activities","4ca","",2)
        ix++
        outline[ix] = new item(false, "Production and Deployment Phase Systems Engineering Activities","4cb","",2)
        ix++
        outline[ix] = new item(false, "Operations and Support Phase Systems Engineering Activities","4cc","",2)
        ix++
        outline[ix] = new item(false, "Important Systems Engineering Design Considerations  “the Fishbone”","4cd","",2)
        ix++
        outline[ix] = new item(false, "Requirements (User Needs) Analysis Questions","4ce","",2)
        ix++
        outline[ix] = new item(false, "Attributes of a Well-Defined Requirement","4cf","",2)
        ix++
        outline[ix] = new item(false, "System Analysis and Control","4cg","",2)
        ix++
        outline[ix] = new item(false, "Specification Development & Technical Reviews","4ch","",2)
        ix++
        outline[ix] = new item(false, "Technical Review Definitions","4ci","",2)
        ix++
        outline[ix] = new item(false, "Technical Review Best Practices","4cj","",2)
        ix++
        outline[ix] = new item(false, "Specifications and Standards","4ck","",2)
        ix++
        outline[ix] = new item(false, "Performance Vs. Detail Specifications","4cl","",2)
        ix++
        outline[ix] = new item(false, "Program-Unique Specifications","4cm","",2)
        ix++
        outline[ix] = new item(false, "Configuration Management","4cn","",2)
        ix++
        outline[ix] = new item(false, "Interface Management","4co","",2)
        ix++
        outline[ix] = new item(false, "Interface Control Concept","4cp","",2)
        ix++
        outline[ix] = new item(false, "How to Create a Work Breakdown Structure","4cq","",2)
        ix++
        outline[ix] = new item(false, "Basic Purposes of WBS","4cr","",2)
        ix++
        outline[ix] = new item(false, "Software Management","4cs","",2)
        ix++
        outline[ix] = new item(true, "II - Leadership & Managerial Skills","5","C",0)
        ix++
        outline[ix] = new item(false, "Working Groups","51","",1)
        ix++
        outline[ix] = new item(false, "Management Tradeoff s for Working Groups","52","",1)
        ix++
        outline[ix] = new item(false, "Team Performance Model","53","",1)
        ix++
        outline[ix] = new item(false, "Delegation","54","",1)
        ix++
        outline[ix] = new item(false, "Effective Meetings","55","",1)
        ix++
        outline[ix] = new item(false, "Personal Communications","56","",1)
        ix++
        outline[ix] = new item(false, "Time Management","57","",1)
        ix++
        outline[ix] = new item(false, "Decision Briefing","58","",1)
        ix++
        outline[ix] = new item(false, "Management Tools & Techniques","59","",1)
        ix++
        outline[ix] = new item(true, "III - Problem Solving Tools","6","D",0)
        ix++
        outline[ix] = new item(false, "Brainstorming","61","",1)
        ix++
        outline[ix] = new item(false, "Cause-And-Effect Diagram","62","",1)
        ix++
        outline[ix] = new item(false, "Force Field Analysis","63","",1)
        ix++
        outline[ix] = new item(false, "Histogram","64","",1)
        ix++
        outline[ix] = new item(false, "Scatter Diagram","65","",1)
        ix++
        outline[ix] = new item(false, "Surveys","66","",1)
        ix++
        outline[ix] = new item(false, "Affinity Diagram","67","",1)
        ix++
        outline[ix] = new item(false, "Pairwise Ranking","68","",1)
        ix++
        outline[ix] = new item(false, "Pareto Chart","69","",1)
        ix++
        outline[ix] = new item(false, "Benchmarking","6a","",1)
        ix++
        outline[ix] = new item(false, "Flowcharting","6b","",1)
        ix++
        outline[ix] = new item(false, "Standard Flowchart Symbols","6c","",1)
        ix++
        outline[ix] = new item(false, "Deployment Flowcharts","6d","",1)
        ix++
        outline[ix] = new item(false, "Nominal Group Technique (NGT)","6e","",1)
        ix++
        outline[ix] = new item(false, "Creative Problem Solving","6f","",1)
        ix++
        outline[ix] = new item(false, "Knot Chart","6g","",1)
        ix++
        outline[ix] = new item(false, "Qualitative Problem Solving","6h","",1)
        ix++
        outline[ix] = new item(false, "Gantt Chart","6i","",1)
        ix++
        outline[ix] = new item(false, "Notes","7","",0)
        ix++

  setStates()
  setImages()
}

function resetStates() {
  setCookie("dau pm tool kit_outline", "-")
}

function setStates() {
  var storedValue = getCookie("dau pm tool kit_outline")
  var parentExpanded = true
  var lastExp = 0
  var text = ""
  var k = 0

  storedValue += "-"
  for (var i = 0; i < outline.length; ++i) {
    if (outline[i].parent) {
      text = "-" + outline[i].id + "-"
      if (storedValue.indexOf(text) != -1)
        outline[i].state = true
      else
        outline[i].state = false
    }
  }

  for (var i = 0; i < outline.length; ++i) {
    if (outline[i].parent) {
      if ((outline[i].depth == 0) || (outline[i].depth <= lastExp) || (parentExpanded)) {
        outline[i].visible = true
        if (outline[i].state)
          lastExp = outline[i].depth + 1
        else
          if (outline[i].depth < lastExp)
            lastExp = outline[i].depth
      } else
        outline[i].visible = false
      parentExpanded = (outline[i].state && outline[i].visible)
    } else {
      if (parentExpanded)
        outline[i].visible = true
      else
        outline[i].visible = false
    }
  }
}
function setImages() {
  for (var i = 0; i < outline.length; ++i) {
    if (outline[i].visible)
      if (outline[i].parent)
        if (((outline[i+1].parent) && (outline[i+1].depth <= outline[i].depth)))
          outline[i].pic = '<IMG SRC="../../minus.gif" BORDER=0>'
        else
          if (outline[i].state)
            outline[i].pic = '<A HREF="javascript:toggle(' + i + ')"><IMG SRC="../../minus.gif" BORDER=0></A>'
          else
            outline[i].pic = '<A HREF="javascript:toggle(' + i + ')"><IMG SRC="../../plus.gif" BORDER=0></A>'
      else
        outline[i].pic = '<IMG SRC="../../leaf.gif" BORDER=0>'
  }
}
function toggle(num) {
  outline[num].state = !outline[num].state

  setStorage()
  history.go(0)
}
function setStorage() {
  var text = "-"
  for (var i = 0; i < outline.length; ++i) {
    if ((outline[i].parent) && (outline[i].state)) {
      text += (outline[i].id)
      text += '-'
    }
  }

  setCookie("dau pm tool kit_outline", text)
}
function drawTree(myname) {
  document.write('<table>');
  for (var i = 0; i < outline.length; ++i) {
    if (outline[i].visible) {
      document.write('<tr><td align=right valign=top colspan=',(outline[i].depth + 1),'>')
      document.write(outline[i].pic, ' ')
      document.write('</td><td colspan=',(3-outline[i].depth))
      if (myname == outline[i].file)
        document.write(' class="boldredtxt"><b>', outline[i].text, '</b>')
      else
        document.write('><a href="',outline[i].file,'.html">', outline[i].text, '</a>')
      document.write('</td></tr>')
    } else {
      var previous = i
      for (var k = i + 1; k < outline.length && outline[k].depth >= outline[previous].depth; ++k) {
        ++i
      }
    }
  }
  document.write('<tr>');
  for (var j = 0; j < 12; ++j) { document.write('<td width=12>&nbsp;</td>') }
  document.write('</tr></table>');
}
makeDatabase()


