// 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(158)

//        outline[0] = new item(false, "<i>Summary</i>","summary","",0)

        outline[ix] = new item(false, "Cover","index","",0)
        ix++
        outline[ix] = new item(false, "Preface","2","",0)
        ix++
        outline[ix] = new item(true, "Introduction","3","1",0)
        ix++
        outline[ix] = new item(false, "I.1  Background","31","",1)
        ix++
        outline[ix] = new item(false, "I.2  Purpose","32","",1)
        ix++
        outline[ix] = new item(false, "I.3  Overview of Producibility","33","",1)
        ix++
        outline[ix] = new item(false, "I.4  Producibility Tools and Techniques","34","",1)
        ix++
        outline[ix] = new item(false, "I.5  Document Format","35","",1)
        ix++
        outline[ix] = new item(false, "I.6  Recommendations for Use","36","",1)
        ix++
        outline[ix] = new item(false, "I.7  Disclaimer","37","",1)
        ix++
        outline[ix] = new item(false, "I.8  Summary","38","",1)
        ix++
        outline[ix] = new item(true, "Section 1 - Step 1. Establish a Producibility Infrastructure","4","2",0)
        ix++
        outline[ix] = new item(false, "1.1  Recognize the Need for Management Commitment","41","",1)
        ix++
        outline[ix] = new item(false, "1.2  Organize for Producibility","42","",1)
        ix++
        outline[ix] = new item(false, "1.3  Implement a Risk Management Program","43","",1)
        ix++
        outline[ix] = new item(false, "1.4  Incorporate Producibility Into New Product Introduction Strategy","44","",1)
        ix++
        outline[ix] = new item(false, "1.5  Employ Producibility Design Guidelines","45","",1)
        ix++
        outline[ix] = new item(false, "1.6  Instill a Commercial Best Practices Philosophy","46","",1)
        ix++
        outline[ix] = new item(true, "Section 2 - Step 2. Determine Process Capability","5","3",0)
        ix++
        outline[ix] = new item(true, "2.1  Understand Current Process Capabilities (Company and Supplier)","51","4",1)
        ix++
        outline[ix] = new item(false, "2.1  Description","511","",2)
        ix++
        outline[ix] = new item(false, "2.1  Significance","512","",2)
        ix++
        outline[ix] = new item(false, "2.1  Resource Requirements","513","",2)
        ix++
        outline[ix] = new item(false, "2.1  Implementation","514","",2)
        ix++
        outline[ix] = new item(true, "2.2  Predict Future Process Capabilities","52","5",1)
        ix++
        outline[ix] = new item(false, "2.2  Description","521","",2)
        ix++
        outline[ix] = new item(false, "2.2  Significance","522","",2)
        ix++
        outline[ix] = new item(false, "2.2  Resource Requirements","523","",2)
        ix++
        outline[ix] = new item(false, "2.2  Implementation","524","",2)
        ix++
        outline[ix] = new item(true, "Section 3 - Step 3. Address Producibility During Conceptual Design","6","6",0)
        ix++
        outline[ix] = new item(false, "3.1  Identify Product Goals","61","",1)
        ix++
        outline[ix] = new item(false, "3.2  Identify Key Characteristics","62","",1)
        ix++
        outline[ix] = new item(false, "3.3  Perform Trade Studies on Alternative Product and Process Designs","63","",1)
        ix++
        outline[ix] = new item(false, "3.4  Develop a Manufacturing Plan","64","",1)
        ix++
        outline[ix] = new item(false, "3.5  Perform a Complexity Analysis","65","",1)
        ix++
        outline[ix] = new item(true, "Section 4 - Step 4. Address Producibility During Detailed Design","7","7",0)
        ix++
        outline[ix] = new item(false, "4.1  Conduct Producibility Engineering Review","71","",1)
        ix++
        outline[ix] = new item(false, "4.2  Error-Proof the Design","72","",1)
        ix++
        outline[ix] = new item(false, "4.3  Optimize Manufacturing","73","",1)
        ix++
        outline[ix] = new item(true, "Section 5 - Step 5. Measure Producibility","8","8",0)
        ix++
        outline[ix] = new item(false, "5.1  Measure Processes","81","",1)
        ix++
        outline[ix] = new item(false, "5.2  Measure Products","82","",1)
        ix++
        outline[ix] = new item(false, "5.3  Measure Producibility System","83","",1)
        ix++
        outline[ix] = new item(false, "6.0  Conclusion","9","",0)
        ix++
        outline[ix] = new item(true, "Appendices","a","9",0)
        ix++
        outline[ix] = new item(false, "Appendix A: Acronyms","a1","",1)
        ix++
        outline[ix] = new item(true, "Appendix B: Glossary of Producibility Terms","a2","@",1)
        ix++
        outline[ix] = new item(false, "Appendix B. Glossary of Producibility Terms (B -  E)","a21","",2)
        ix++
        outline[ix] = new item(false, "Appendix B. Glossary of Producibility Terms (F - P)","a22","",2)
        ix++
        outline[ix] = new item(false, "Appendix B. Glossary of Producibility Terms (Q - T)","a23","",2)
        ix++
        outline[ix] = new item(false, "Appendix C: Bibliography","a3","",1)
        ix++
        outline[ix] = new item(true, "Appendix D: Case Studies","a4","A",1)
        ix++
        outline[ix] = new item(true, "D.1 - D.9","a41","B",2)
        ix++
        outline[ix] = new item(false, "D.1 Case Study 1 - Integrated Product Development I","a411","",3)
        ix++
        outline[ix] = new item(false, "D.2 Case Study 2 - Integrated Product Development II","a412","",3)
        ix++
        outline[ix] = new item(false, "D.3 Case Study 3 - Integrated Product Development III","a413","",3)
        ix++
        outline[ix] = new item(false, "D.4 Case Study 4 - Integrated Product Development IV","a414","",3)
        ix++
        outline[ix] = new item(false, "D.5 Case Study 5 - Performance Management Teams","a415","",3)
        ix++
        outline[ix] = new item(false, "D.6 Case Study 6 - Integrated Product Teams","a416","",3)
        ix++
        outline[ix] = new item(false, "D.7 Case Study 7 - Risk Management I","a417","",3)
        ix++
        outline[ix] = new item(false, "D.8 Case Study 8 - Risk Management II","a418","",3)
        ix++
        outline[ix] = new item(false, "D.9 Case Study 9 - Risk Management III","a419","",3)
        ix++
        outline[ix] = new item(true, "D.10 - D.19","a42","C",2)
        ix++
        outline[ix] = new item(false, "D.10 Case Study 10 - Program Launch Process","a421","",3)
        ix++
        outline[ix] = new item(false, "D.11 Case Study 11 - Knowledge/Rule-Based Guidelines","a422","",3)
        ix++
        outline[ix] = new item(false, "D.12 Case Study 12 -Mechanical Design Guidelines","a423","",3)
        ix++
        outline[ix] = new item(false, "D.13 Case Study 13 - Benchmarking Process","a424","",3)
        ix++
        outline[ix] = new item(false, "D.14 Case Study 14 - Benchmarking as a Tool for Quality Assessment","a425","",3)
        ix++
        outline[ix] = new item(false, "D.15 Case Study 15 - Best Practices Program","a426","",3)
        ix++
        outline[ix] = new item(false, "D.16 Case Study 16 - Supplier Best Practices","a427","",3)
        ix++
        outline[ix] = new item(false, "D.17 Case Study 17 - Process Capability Analysis","a428","",3)
        ix++
        outline[ix] = new item(false, "D.18 Case Study 18 - Process Capability Models","a429","",3)
        ix++
        outline[ix] = new item(false, "D.19 Case Study 19 - Understanding Composites and Their Processing Requirements Prior to Production","a42a","",3)
        ix++
        outline[ix] = new item(true, "D.20 - D.29","a43","D",2)
        ix++
        outline[ix] = new item(false, "D.20 Case Study 20 - Machine Capabilities and Tolerances","a431","",3)
        ix++
        outline[ix] = new item(false, "D.21 Case Study 21 - Partnering with Suppliers","a432","",3)
        ix++
        outline[ix] = new item(false, "D.22 Case Study 22 - Manufacturing Technology Insertion","a433","",3)
        ix++
        outline[ix] = new item(false, "D.23 Case Study 23 - Obsolescence and Commercial Technology Insertion","a434","",3)
        ix++
        outline[ix] = new item(false, "D.24 Case Study 24 - Affordability as a Key Product Goal","a435","",3)
        ix++
        outline[ix] = new item(false, "D.25 Case Study 25 - Design-to-Cost I","a436","",3)
        ix++
        outline[ix] = new item(false, "D.26 Case Study 26 - Design-to-Cost II","a437","",3)
        ix++
        outline[ix] = new item(false, "D.27 Case Study 27 - Application of Quality Function Deployment to Battery Design","a438","",3)
        ix++
        outline[ix] = new item(false, "D.28 Case Study 28 - Key Characteristics and Variability Reduction","a439","",3)
        ix++
        outline[ix] = new item(false, "D.29 Case Study 29 - F-22 Variability Reduction","a43a","",3)
        ix++
        outline[ix] = new item(true, "D.30 - D.39","a44","E",2)
        ix++
        outline[ix] = new item(false, "D.30 Case Study 30 - Design for Manufacture/Assembly in Concurrent Engineering","a441","",3)
        ix++
        outline[ix] = new item(false, "D.31 Case Study 31 - Power Supply Trade Study","a442","",3)
        ix++
        outline[ix] = new item(false, "D.32 Case Study 32 - System Engineering Trade Study","a443","",3)
        ix++
        outline[ix] = new item(false, "D.33 Case Study 33 - Variation Simulation Analysis","a444","",3)
        ix++
        outline[ix] = new item(false, "D.34 Case Study 34 - Aircraft Panel Complexity Analysis","a445","",3)
        ix++
        outline[ix] = new item(false, "D.35 Case Study 35 - Change in Design Tolerance due to Complexity Analysis Results","a446","",3)
        ix++
        outline[ix] = new item(false, "D.36 Case Study 36 - Complexity Analysis Examples","a447","",3)
        ix++
        outline[ix] = new item(false, "D.37 Case Study 37 - Producibility Expert Program","a448","",3)
        ix++
        outline[ix] = new item(false, "D.38 Case Study 38 - Producibility Review in Product Manufacture","a449","",3)
        ix++
        outline[ix] = new item(false, "D.39 Case Study 39 - Poka-yoke: Mistake-Proofing the Process","a44a","",3)
        ix++
        outline[ix] = new item(true, "D.40 - D.43","a45","F",2)
        ix++
        outline[ix] = new item(false, "D.40 Case Study 40 - Modeling and Simulation","a451","",3)
        ix++
        outline[ix] = new item(false, "D.41 Case Study 41 -Factory Process Modeling and Simulation","a452","",3)
        ix++
        outline[ix] = new item(false, "D.42 Case Study 42 - Process Variability Reduction","a453","",3)
        ix++
        outline[ix] = new item(false, "D.43 Case Study 43 - Using Metrics to Drive Process and Quality Management","a454","",3)
        ix++
        outline[ix] = new item(true, "Appendix E: Industry Applications and Techniques","a5","G",1)
        ix++
        outline[ix] = new item(true, "E.1  Customer Satisfaction Through Design For Manufacure/ Assembly and Six Sigma Analysis","a51","H",2)
        ix++
        outline[ix] = new item(false, "E.1  Introduction","a511","",3)
        ix++
        outline[ix] = new item(false, "E.1  Objectives","a512","",3)
        ix++
        outline[ix] = new item(false, "E.1  GPSIS Cover Assembly Selection","a513","",3)
        ix++
        outline[ix] = new item(false, "E.1  Design IPT Membership","a514","",3)
        ix++
        outline[ix] = new item(false, "E.1  Design Methodologies and Tools","a515","",3)
        ix++
        outline[ix] = new item(false, "E.1  DFMA and Six Sigma Principles","a516","",3)
        ix++
        outline[ix] = new item(false, "E.1  Design Evolution","a517","",3)
        ix++
        outline[ix] = new item(false, "E.1  Design Results","a518","",3)
        ix++
        outline[ix] = new item(false, "E.1  Performance and Quality","a519","",3)
        ix++
        outline[ix] = new item(false, "E.1  Predicted Cost Savings","a51a","",3)
        ix++
        outline[ix] = new item(false, "E.1  Authors","a51b","",3)
        ix++
        outline[ix] = new item(true, "E.2  Producibility Design - To Requirements: Helping Enhance Product Definition","a52","I",2)
        ix++
        outline[ix] = new item(false, "E.2  Introduction","a521","",3)
        ix++
        outline[ix] = new item(true, "E.2  Technical Approach","a522","J",3)
        ix++
        outline[ix] = new item(false, "Contractor Participation","a5221","",4)
        ix++
        outline[ix] = new item(false, "Information Architecture","a5222","",4)
        ix++
        outline[ix] = new item(false, "Product Definition","a5223","",4)
        ix++
        outline[ix] = new item(false, "The Producibility Engineering Top Ten Steps","a5224","",4)
        ix++
        outline[ix] = new item(false, "E.2  Producibility Engineering and the Military Depot","a523","",3)
        ix++
        outline[ix] = new item(false, "E.2  Benefits","a524","",3)
        ix++
        outline[ix] = new item(false, "E.2  Conclusion","a525","",3)
        ix++
        outline[ix] = new item(false, "E.2  Authors","a526","",3)
        ix++
        outline[ix] = new item(false, "E.3  Producibility Program Implementation Checklist","a53","",2)
        ix++
        outline[ix] = new item(true, "Appendix F: Tools and Techniques","a6","K",1)
        ix++
        outline[ix] = new item(true, "F.1","a61","L",2)
        ix++
        outline[ix] = new item(true, "F.1.1 - F.1.11","a611","M",3)
        ix++
        outline[ix] = new item(false, "F.1.1  Benchmarking","a6111","",4)
        ix++
        outline[ix] = new item(false, "F.1.2  Cost Tools","a6112","",4)
        ix++
        outline[ix] = new item(false, "F.1.3  Database Management Systems","a6113","",4)
        ix++
        outline[ix] = new item(false, "F.1.4  Decision Support Tools","a6114","",4)
        ix++
        outline[ix] = new item(false, "F.1.5  Design for Manufacture / Assembly","a6115","",4)
        ix++
        outline[ix] = new item(false, "F.1.6  Design of Experiments","a6116","",4)
        ix++
        outline[ix] = new item(false, "F.1.7  Failure Mode and Effects Analysis","a6117","",4)
        ix++
        outline[ix] = new item(false, "F.1.8  Integrated Product and Process Development","a6118","",4)
        ix++
        outline[ix] = new item(false, "F.1.9  Integrated Product Team","a6119","",4)
        ix++
        outline[ix] = new item(false, "F.1.10  Knowledge-Based Systems","a611a","",4)
        ix++
        outline[ix] = new item(false, "F.1.11  Manufacturing Planning Tools","a611b","",4)
        ix++
        outline[ix] = new item(true, "F.1.12 - F.1.23","a612","N",3)
        ix++
        outline[ix] = new item(false, "F.1.12  Manufacturing Simulations","a6121","",4)
        ix++
        outline[ix] = new item(false, "F.1.13  Modeling and Simulation","a6122","",4)
        ix++
        outline[ix] = new item(false, "F.1.14  Producibility Assessment Worksheet","a6123","",4)
        ix++
        outline[ix] = new item(false, "F.1.15  Prototyping","a6124","",4)
        ix++
        outline[ix] = new item(false, "F.1.16  Quality Function Deployment","a6125","",4)
        ix++
        outline[ix] = new item(false, "F.1.17  Rapid Prototyping","a6126","",4)
        ix++
        outline[ix] = new item(false, "F.1.18  Risk Management Tools","a6127","",4)
        ix++
        outline[ix] = new item(false, "F.1.19  Root Cause Analysis","a6128","",4)
        ix++
        outline[ix] = new item(false, "F.1.20  Six Sigma","a6129","",4)
        ix++
        outline[ix] = new item(false, "F.1.21  Statistical Process Control","a612a","",4)
        ix++
        outline[ix] = new item(false, "F.1.22  Statistical Quality Control","a612b","",4)
        ix++
        outline[ix] = new item(false, "F.1.23  Tolerance Analysis","a612c","",4)
        ix++
        outline[ix] = new item(true, "F.2  Producibility Software","a62","O",2)
        ix++
        outline[ix] = new item(false, "F.2.1  Design For Assembly","a621","",3)
        ix++
        outline[ix] = new item(false, "F.2.2  Statistical Process Control and Statistical Quality Control","a622","",3)
        ix++
        outline[ix] = new item(false, "F.2.3  Simulation","a623","",3)
        ix++
        outline[ix] = new item(false, "F.2.4  Tolerance Analysis","a624","",3)
        ix++
        outline[ix] = new item(false, "F.2.5  Miscellaneous Producibility Software","a625","",3)
        ix++

  setStates()
  setImages()
}

function resetStates() {
  setCookie("navso p-3687_outline", "-")
}

function setStates() {
  var storedValue = getCookie("navso p-3687_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("navso p-3687_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=',(5-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()


