/* Training ladders for various race types and performance levels
 *
 * The structure should be pretty evident from the content but the nth array
 * entry is the nth training week.
 */

//
// workout friendly strings
//
var w = {
  // mile based days
  mi02 : "2 miles",
  mi03 : "3 miles",
  mi04 : "4 miles",
  mi05 : "5 miles",
  mi06 : "6 miles",
  mi08 : "8 miles",
  mi10 : "10 miles",
  mi11 : "11 miles",
  mi12 : "12 miles",
  mi13 : "13 miles",
  mi14 : "14 miles",
  mi15 : "15 miles",
  mi16 : "16 miles",
  mi17 : "17 miles",
  mi18 : "18 miles",
  mi19 : "19 miles",
  mi20 : "20 miles",
  mi23 : "23 miles",

  // time based days
  mn15 : "15 minutes",
  mn20 : "20 minutes",
  mn2030 : "20-30 minutes",
  mn30 : "30 minutes",
  mn30s : "30 minutes + <a href='http://runningnw.com/index.php?option=com_content&view=article&id=10&Itemid=22'>strides</a>",
  mn34 : "30-45 minutes",
  mn35 : "35 minutes",
  mn45 : "45 minutes",
  mn45s : "45 minutes + <a href='http://runningnw.com/index.php?option=com_content&view=article&id=10&Itemid=22'>strides</a>",
  mn46 : "45-60 minutes",
  mn50 : "50 minutes",
  mn55 : "55 minutes",
  mn60 : "60 minutes",
  mn60s : "60 minutes + <a href='http://runningnw.com/index.php?option=com_content&view=article&id=10&Itemid=22'>strides</a>",
  mn6090 : "60-90 minutes",
  mn65 : "65 minutes",
  mn70 : "70 minutes",
  mn75 : "75 minutes",
  mn80 : "80 minutes",
  mn85 : "85 minutes",
  mn90 : "90 minutes",

  // special workouts for the "long hard run" ladder
  lhrtp : "tbd taper",
  lhrrest : "rest/crosstrain",
  lhr0406o : "rest or 4-6 easy",
  lhr0406e : "4-6 easy",
  lhr0608e : "6-8 easy",
  lhr0608m : "6-8 moderate",
  lhr1012m : "10-12 moderate",
  lhrmir : "4-6x1mile @ 5k pace (10-12 total)",

  lhr1015k: "10k-15k marathon pace",
  lhr20k: "20k at marathon pace",
  lhr25k: "25k at marathon pace",
  lhr30k: "30k at marathon pace",
  lhrlong: "22-26 moderate",
  lhr800s: "8x800 3-5 seconds faster than 5k pace (10-12 total)",

  // Daniels on Running level A
  dor_a_es : "<a href='workouts.htm#dor_a_e'>E + strides</a>",
  dor_a_e : "<a href='workouts.htm#dor_a_e'>E</a>",
  dor_a_e1 : "<a href='workouts.htm#dor_a_e1'>E1 <span class='calcable distance' contrib='0.14'></span></a>",
  dor_a_e2 : "<a href='workouts.htm#dor_a_e2'>E2 <span class='calcable distance' contrib='0.11'></span></a>",
  dor_a_e3 : "<a href='workouts.htm#dor_a_e3'>E3 <span class='calcable distance' contrib='0.13'></span></a>",
  dor_a_e4 : "<a href='workouts.htm#dor_a_e4'>E4 <span class='calcable distance' contrib='0.16'></span></a>",
  dor_a_e5 : "<a href='workouts.htm#dor_a_e5'>E5",
  dor_a_l : "<a href='workouts.htm#dor_a_l'>Long (~<span class='calcable distance' contrib='0.25'></span>)</a></a>",
  dor_a_l1 : "<a href='workouts.htm#dor_a_l1'>Longest: min(22 miles, 2:30)</a>",
  dor_a_l2 : "<a href='workouts.htm#dor_a_l2'>Longer: min(15 miles, 2:00)</a>",
  dor_a_mp : "<a href='workouts.htm#dor_a_mp'>MP: min(15 miles, 2:00)</a>",
  dor_a_mp1 : "<a href='workouts.htm#dor_a_mp1'>MP1: min(12 miles, 1:40)</a>",
  dor_a_t : "<a href='workouts.htm#dor_a_t'>T</a>",
  dor_a_t1 : "<a href='workouts.htm#dor_a_t1'>T1</a>",
  dor_a_t2 : "<a href='workouts.htm#dor_a_t2'>T2</a>",
  dor_a_t3 : "<a href='workouts.htm#dor_a_t3'>T3</a>",
  dor_a_ti1 : "<a href='workouts.htm#dor_a_ti1'>TI1</a>",
  dor_a_ti1s : "<a href='workouts.htm#dor_a_ti1'>TI1 + strides</a>",
  dor_a_ti2 : "<a href='workouts.htm#dor_a_ti2'>TI2</a>",
  dor_a_ti2s : "<a href='workouts.htm#dor_a_ti2'>TI2 + strides</a>",
  dor_a_ti3 : "<a href='workouts.htm#dor_a_ti3'>TI3</a>",
  dor_a_ti3s : "<a href='workouts.htm#dor_a_ti3'>TI3 + strides</a>",
  dor_a_ti4 : "<a href='workouts.htm#dor_a_ti4'>TI4</a>",
  dor_a_ti4s : "<a href='workouts.htm#dor_a_ti4'>TI4 + strides</a>",
  dor_a_tl : "<a href='workouts.htm#dor_a_tl'>TL</a>",
  dor_a_tl1 : "<a href='workouts.htm#dor_a_tl1'>TL1</a>",
  dor_a_tl2 : "<a href='workouts.htm#dor_a_tl2'>TL2</a>",
  dor_a_tlt : "<a href='workouts.htm#dor_a_tlt'>TLT</a>",
  dor_a_tlt1 : "<a href='workouts.htm#dor_a_tlt1'>TLT1</a>",
  dor_a_tlt2 : "<a href='workouts.htm#dor_a_tlt2'>TLT2</a>",
  dor_a_i1 : "<a href='workouts.htm#dor_a_i1'>I1 (~<span class='calcable distance' contrib='0.08'></span></a>)</a>",
  dor_a_i2 : "<a href='workouts.htm#dor_a_i2'>I2 (~<span class='calcable distance' contrib='0.08'></span></a>)</a>",
  dor_a_i3 : "<a href='workouts.htm#dor_a_i3'>I3 (~<span class='calcable distance' contrib='0.08'></span></a>)</a>",

  // Daniels on Running level B
  dor_b_e : "<a href='workouts.htm#dor_b_e'>E</a>",
  dor_b_es : "<a href='workouts.htm#dor_b_e'>E + strides</a>",
  dor_b_e1: "<a href='workouts.htm#dor_b_e1'>E1</a>",
  dor_b_e2: "<a href='workouts.htm#dor_b_e2'>E2</a>",
  dor_b_e3: "<a href='workouts.htm#dor_b_e3'>E3</a>",
  dor_b_l: "<a href='workouts.htm#dor_b_l'>L</a>",
  dor_b_l1: "<a href='workouts.htm#dor_b_l1'>L1</a>",
  dor_b_l2: "<a href='workouts.htm#dor_b_l2'>L2</a>",
  dor_b_mp: "<a href='workouts.htm#dor_b_mp'>MP</a>",
  dor_b_t1: "<a href='workouts.htm#dor_b_t1'>T1</a>",
  dor_b_t2: "<a href='workouts.htm#dor_b_t2'>T2</a>",
  dor_b_ti1: "<a href='workouts.htm#dor_b_ti1'>TI1</a>",
  dor_b_ti2: "<a href='workouts.htm#dor_b_ti2'>TI2</a>",
  dor_b_ti3: "<a href='workouts.htm#dor_b_ti3'>TI3</a>",
  dor_b_tl: "<a href='workouts.htm#dor_b_tl'>TL</a>",
  dor_b_tlt: "<a href='workouts.htm#dor_b_tlt'>TLT</a>",
  dor_b_tlt1: "<a href='workouts.htm#dor_b_tlt1'>TLT1</a>",
  dor_b_tlt1s: "<a href='workouts.htm#dor_b_tlt1'>TLT1 + strides</a>",
  dor_b_tlt2: "<a href='workouts.htm#dor_b_tlt2'>TLT2</a>",
  dor_b_i1: "<a href='workouts.htm#dor_b_i1'>I1</a>",
  dor_b_i2: "<a href='workouts.htm#dor_b_i2'>I2</a>",
  dor_b_i3: "<a href='workouts.htm#dor_b_i3'>I3</a>",
  dor_b_i4: "<a href='workouts.htm#dor_b_i4'>I4</a>",
  dor_b_r1: "<a href='workouts.htm#dor_b_r1'>R1</a>",
  dor_b_r2: "<a href='workouts.htm#dor_b_r2'>R2</a>",
  dor_b_r3: "<a href='workouts.htm#dor_b_r3'>R3</a>",
  dor_b_r4: "<a href='workouts.htm#dor_b_r4'>R4</a>",
  dor_b_r5: "<a href='workouts.htm#dor_b_r5'>R5</a>",

  // Daniels on Running level C (NYI)
  dor_c_e: "<a href='workouts.htm#dor_c_e'>E</a>",

  trk : "Track",
  trk68x8 : "6-8x800",
  trk810x8 : "8-10x800",
  trk1012x8 : "10-12x800",
  trk6x2 : "6x200",
  trk4m : "4x1 Mile",

  race : "Race!!!",

  // specific workouts with Chuck's documentation
  str : "<a href='http://runningnw.com/index.php?option=com_content&view=article&id=10&Itemid=22'>Strides</a>",
  tem : "<a href='http://runningnw.com/index.php?option=com_content&view=article&id=7&Itemid=19'>Tempo</a>",
  hil : "<a href='http://runningnw.com/index.php?option=com_content&view=article&id=9&Itemid=21'>Hills</a>",
  vp : "<a href='http://runningnw.com/index.php?option=com_content&view=article&id=8&Itemid=20'>Fartlek</a>",

  opt : "Off or light run",
  off : "off"
};

// add a memo to this data structure for that note to be included in the page
var memos = {
  aplus : "In this schedule, on time trial days the 2-mile should be followed by 6x200.",
  lhr : "Adapted from <a href=\"http://www.google.com/search?hl=en&client=firefox-a&rls=org.mozilla%3Aen-US%3Aofficial&hs=vpB&q=%22run+your+best+marathon.+really.%22&btnG=Search\">Running Times</a>."
};

var ladders = {
  full : {
    title : "Marathon",
    beginner : [ [ w.mn20, w.str, w.mn20, w.mn20, w.off, w.mi02, w.off ],
      [ w.mn20, w.str, w.mn20, w.mn20, w.off, w.mi04, w.off ],
      [ w.mn20, w.str, w.mn20, w.mn20, w.off, w.mi06, w.off ],
      [ w.mn20, w.str, w.mn20, w.mn20, w.off, w.mi08, w.off ],
      [ w.mn20, w.str, w.mn20, w.mn20, w.off, w.mi02, w.off ],

      [ w.mn20, w.tem, w.mn20, w.mn20, w.off, w.mi04, w.off ],
      [ w.mn20, w.tem, w.mn20, w.mn20, w.off, w.mi06, w.off ],
      [ w.mn20, w.tem, w.mn20, w.mn20, w.off, w.mi08, w.off ],
      [ w.mn20, w.tem, w.mn20, w.mn20, w.off, w.mi11, w.off ],
      [ w.mn20, w.tem, w.mn30, w.mn20, w.off, w.mi13, w.off ],
      [ w.mn20, w.tem, w.mn30, w.mn20, w.off, w.mi11, w.off ],
      [ w.mn30, w.tem, w.mn30, w.mn20, w.off, w.mi13, w.off ],

      [ w.mn30, w.hil, w.mn30, w.str, w.off, w.mi15, w.off ],
      [ w.mn30, w.hil, w.mn30, w.str, w.off, w.mi11, w.off ],
      [ w.mn30, w.hil, w.mn30, w.str, w.off, w.mi13, w.off ],
      [ w.mn30, w.hil, w.mn45, w.str, w.off, w.mi15, w.off ],
      [ w.mn30, w.hil, w.mn45, w.str, w.off, w.mi17, w.off ],
      [ w.mn30, w.hil, w.mn45, w.str, w.off, w.mi11, w.off ],
      [ w.mn30, w.hil, w.mn45, w.vp, w.off, w.mi13, w.off ],
      [ w.mn30, w.hil, w.mn45, w.vp, w.off, w.mi15, w.off ],

      [ w.mn30, w.trk, w.mn45, w.vp, w.off, w.mi08, w.off ],
      [ w.mn30, w.trk, w.mn20, w.mn20, w.off, w.mi20, w.off ],
      [ w.mn20, w.trk, w.mn20, w.vp, w.off, w.mi15, w.off ],
      [ w.mn20, w.trk, w.mn30, w.str, w.off, w.mi12, w.off ],
      [ w.mn20, w.trk, w.mn30, w.str, w.off, w.mi08, w.off ],
      [ w.mn20, w.trk, w.mn30, w.mn15, w.off, w.mn15, w.race ]
    ],
    intermediate : [ [ w.mn30, w.str, w.mn30, w.mn30, w.off, w.mi06, w.off ],
      [ w.mn30, w.str, w.mn30, w.mn30, w.off, w.mi08, w.off ],
      [ w.mn30, w.str, w.mn30, w.mn30, w.off, w.mi10, w.off ],
      [ w.mn30, w.str, w.mn30, w.mn30, w.off, w.mi08, w.off ],
      [ w.mn30, w.str, w.mn30, w.mn30, w.off, w.mi10, w.off ],

      [ w.mn30, w.tem, w.mn30, w.mn30, w.off, w.mi11, w.off ],
      [ w.mn30, w.tem, w.mn30, w.mn30, w.off, w.mi13, w.off ],
      [ w.mn30, w.tem, w.mn30, w.str, w.off, w.mi15, w.off ],
      [ w.mn30, w.tem, w.mn30, w.str, w.off, w.mi11, w.off ],
      [ w.mn30, w.tem, w.mn45, w.str, w.off, w.mi13, w.off ],
      [ w.mn30, w.tem, w.mn45, w.str, w.off, w.mi15, w.off ],
      [ w.mn45, w.tem, w.mn45, w.str, w.off, w.mi17, w.off ],

      [ w.mn45, w.hil, w.mn45, w.str, w.off, w.mi11, w.off ],
      [ w.mn45, w.hil, w.mn45, w.vp, w.off, w.mi13, w.off ],
      [ w.mn45, w.hil, w.mn45, w.vp, w.off, w.mi15, w.off ],
      [ w.mn45, w.hil, w.mn60, w.vp, w.off, w.mi17, w.off ],
      [ w.mn30, w.hil, w.mn45, w.vp, w.off, w.mi20, w.off ],
      [ w.mn30, w.hil, w.mn30, w.vp, w.off, w.mi11, w.off ],
      [ w.mn45, w.hil, w.mn60, w.vp, w.off, w.mi13, w.off ],
      [ w.mn45, w.hil, w.mn60, w.vp, w.off, w.mi15, w.off ],

      [ w.mn45, w.trk, w.mn60, w.str, w.off, w.mi17, w.off ],
      [ w.mn45, w.trk, w.mn30, w.mn30, w.off, w.mi20, w.off ],
      [ w.mn30, w.trk, w.mn30, w.str, w.off, w.mi15, w.off ],
      [ w.mn30, w.trk, w.mn45, w.str, w.off, w.mi12, w.off ],
      [ w.mn30, w.trk, w.mn30, w.str, w.off, w.mi08, w.off ],
      [ w.mn30, w.trk, w.mn30, w.str, w.off, w.mn15, w.race ]
    ],
    advanced : [ [ w.mn45, w.str, w.mn45, w.str, w.off, w.mi06, w.off ],
      [ w.mn45, w.str, w.mn45, w.str, w.off, w.mi08, w.off ],
      [ w.mn45, w.str, w.mn45, w.str, w.off, w.mi10, w.off ],
      [ w.mn45, w.str, w.mn45, w.str, w.off, w.mi11, w.off ],

      [ w.mn45, w.tem, w.mn45, w.str, w.off, w.mi13, w.off ],
      [ w.mn60, w.tem, w.mn60, w.str, w.off, w.mi15, w.off ],
      [ w.mn60, w.tem, w.mn60, w.vp, w.off, w.mi17, w.off ],
      [ w.mn60, w.tem, w.mn60, w.vp, w.off, w.mi11, w.off ],
      [ w.mn60, w.tem, w.mn60, w.vp, w.off, w.mi13, w.off ],
      [ w.mn45, w.tem, w.mn70, w.vp, w.off, w.mi15, w.off ],
      [ w.mn60, w.tem, w.mn75, w.vp, w.off, w.mi17, w.off ],
      [ w.mn60, w.tem, w.mn60, w.vp, w.off, w.mi20, w.off ],

      [ w.mn45, w.hil, w.mn45, w.vp, w.off, w.mi11, w.off ],
      [ w.mn60, w.hil, w.mn80, w.str, w.off, w.mi13, w.off ],
      [ w.mn45, w.hil, w.mn60, w.str, w.off, w.mi15, w.off ],
      [ w.mn60, w.hil, w.mn75, w.str, w.off, w.mi17, w.off ],
      [ w.mn60, w.hil, w.mn60, w.str, w.off, w.mi20, w.off ],
      [ w.mn45, w.hil, w.mn45, w.str, w.off, w.mi11, w.off ],
      [ w.mn60, w.hil, w.mn85, w.str, w.off, w.mi13, w.off ],
      [ w.mn45, w.hil, w.mn60, w.vp, w.off, w.mi15, w.off ],

      [ w.mn45, w.trk, w.mn90, w.vp, w.off, w.mi17, w.off ],
      [ w.mn45, w.trk, w.mn45, w.vp, w.off, w.mi20, w.off ],
      [ w.mn45, w.trk, w.mn45, w.vp, w.off, w.mi15, w.off ],
      [ w.mn45, w.trk, w.mn45, w.vp, w.off, w.mi12, w.off ],
      [ w.mn30, w.trk, w.mn30, w.vp, w.off, w.mi08, w.off ],
      [ w.mn20, w.trk, w.mn30, w.str, w.off, w.mn15, w.race ]
    ],
    lhr : [ [ w.lhrrest, w.lhr0406o, w.lhr0608e, w.lhr1012m, w.lhrmir, w.lhr1012m, w.lhr1012m ],
      [ w.lhr1015k, w.lhr0406e, w.lhr1012m, w.lhrlong, w.lhr0406e, w.lhr0608e, w.lhr1012m ],
      [ w.lhr1012m, w.lhr800s, w.lhr0608e, w.lhr1012m, w.lhr0608m, w.lhr0608e, w.lhr20k ],
      [ w.lhrrest, w.lhr0406o, w.lhr0608e, w.lhr1012m, w.lhrmir, w.lhr1012m, w.lhr1012m ],
      [ w.lhr1015k, w.lhr0406e, w.lhr1012m, w.lhrlong, w.lhr0406e, w.lhr0608e, w.lhr1012m ],
      [ w.lhr1012m, w.lhr800s, w.lhr0608e, w.lhr1012m, w.lhr0608m, w.lhr0608e, w.lhr25k ],
      [ w.lhrrest, w.lhr0406o, w.lhr0608e, w.lhr1012m, w.lhrmir, w.lhr1012m, w.lhr1012m ],
      [ w.lhr1015k, w.lhr0406e, w.lhr1012m, w.lhrlong, w.lhr0406e, w.lhr0608e, w.lhr1012m ],
      [ w.lhr1012m, w.lhr800s, w.lhr0608e, w.lhr1012m, w.lhr0608m, w.lhr0608e, w.lhr30k ],

      [ w.lhrrest, w.lhr0406o, w.lhr0608e, w.lhr1012m, w.lhrmir, w.lhr1012m, w.lhr1012m ],
      [ w.lhr1015k, w.lhr0406e, w.lhr1012m, w.lhrlong, w.lhr0406e, w.lhr0608e, w.lhr1012m ],
      [ w.lhr1012m, w.lhr800s, w.lhr0608e, w.lhr1012m, w.lhr0608m, w.lhr0608e, w.lhr20k ],
      [ w.lhrrest, w.lhr0406o, w.lhr0608e, w.lhr1012m, w.lhrmir, w.lhr1012m, w.lhr1012m ],
      [ w.lhr1015k, w.lhr0406e, w.lhr1012m, w.lhrlong, w.lhr0406e, w.lhr0608e, w.lhr1012m ],
      [ w.lhr1012m, w.lhr800s, w.lhr0608e, w.lhr1012m, w.lhr0608m, w.lhr0608e, w.lhr25k ],
      [ w.lhrrest, w.lhr0406o, w.lhr0608e, w.lhr1012m, w.lhrmir, w.lhr1012m, w.lhr1012m ],
      [ w.lhr1015k, w.lhr0406e, w.lhr1012m, w.lhrlong, w.lhr0406e, w.lhr0608e, w.lhr1012m ],
      [ w.lhr1012m, w.lhr800s, w.lhr0608e, w.lhr1012m, w.lhr0608m, w.lhr0608e, w.lhr30k ],

      [ w.lhrtp, w.lhrtp, w.lhrtp, w.lhrtp, w.lhrtp, w.lhrtp, w.lhrtp ],
      [ w.lhrtp, w.lhrtp, w.lhrtp, w.lhrtp, w.lhrtp, w.lhrtp, w.lhrtp ],
      [ w.lhrtp, w.lhrtp, w.lhrtp, w.lhrtp, w.lhrtp, w.lhrtp, w.race ]
    ],
    aplus : [ [ w.mn60s, w.trk68x8,   w.mn6090, w.hil,  w.opt, w.mi17, w.opt ],
      [ w.mn60s, w.trk68x8,   w.mn6090, w.hil,  w.opt, w.mi17, w.opt ],
      [ w.mn60s, w.trk810x8,  w.mn6090, w.hil,  w.opt, w.mi17, w.opt ],
      [ w.mn60s, w.trk810x8,  w.mn6090, w.hil,  w.opt, w.mi20, w.opt ],

      [ w.mn60s, w.trk1012x8, w.mn6090, w.hil,  w.opt, w.mi20, w.opt ],
      [ w.mn60s, w.trk1012x8, w.mn6090, w.hil,  w.opt, w.mi20, w.opt ],
      [ w.mn45s, w.trk1012x8, w.mn60,   w.hil,  w.opt, w.mi17, w.opt ],
      [ w.mn45s, w.trk1012x8, w.mn45,   w.hil,  w.opt, w.mi23, w.opt ],
      [ w.mn30s, w.trk,       w.mn30,   w.mn30, w.opt, w.mi20, w.opt ],

      [ w.mn45s, w.trk,       w.mn60,   w.trk4m, w.opt, w.mi20, w.opt ],
      [ w.mn45s, w.trk,       w.mn45,   w.trk4m, w.opt, w.mi15, w.opt ],
      [ w.mn45s, w.trk,       w.mn45,   w.trk4m, w.opt, w.mi12, w.opt ],
      [ w.mn45s, w.trk,       w.mn45,   w.trk4m, w.opt, w.mi10, w.opt ],
      [ w.mn30s, w.trk,       w.mn30,   w.mn30 , w.opt, w.off, w.race ]
    ],
    dor_a : [ [ w.dor_a_e, w.dor_a_e, w.dor_a_e, w.dor_a_e,  w.dor_a_e, w.dor_a_e, w.dor_a_e, "<span class='calcable distance' contrib='0.5'></span>" ],
      [ w.dor_a_e, w.dor_a_e, w.dor_a_e, w.dor_a_e,  w.dor_a_e, w.dor_a_e, w.dor_a_e, "<span class='calcable distance' contrib='0.5'></span>" ],
      [ w.dor_a_e, w.dor_a_e, w.dor_a_e, w.dor_a_e,  w.dor_a_e, w.dor_a_e, w.dor_a_e, "<span class='calcable distance' contrib='0.5'></span>" ],

      [ w.dor_a_l, w.dor_a_es, w.dor_a_es, w.dor_a_e,  w.dor_a_e, w.dor_a_es, w.dor_a_es, "<span class='calcable distance' contrib='0.5'></span>" ],
      [ w.dor_a_l, w.dor_a_es, w.dor_a_es, w.dor_a_e,  w.dor_a_e, w.dor_a_es, w.dor_a_es, "<span class='calcable distance' contrib='0.5'></span>" ],
      [ w.dor_a_l, w.dor_a_es, w.dor_a_es, w.dor_a_e,  w.dor_a_e, w.dor_a_es, w.dor_a_es, "<span class='calcable distance' contrib='0.5'></span>" ],
      // 7...
      [ w.dor_a_l, w.dor_a_es, w.dor_a_e, w.dor_a_e,  w.dor_a_i2, w.dor_a_es, w.dor_a_e, "<span class='calcable distance' contrib='0.8'></span>" ],
      [ w.dor_a_t1, w.dor_a_es, w.dor_a_e, w.dor_a_i2,  w.dor_a_es, w.dor_a_e, w.dor_a_e, "<span class='calcable distance' contrib='0.8'></span>" ],
      [ w.dor_a_tl1, w.dor_a_e, w.dor_a_e, w.dor_a_es,  w.dor_a_i1, w.dor_a_e, w.dor_a_es, "<span class='calcable distance' contrib='0.7'></span>" ],
      // 10...
      [ w.dor_a_l, w.dor_a_es, w.dor_a_e, w.dor_a_i1, w.dor_a_es, w.dor_a_e, w.dor_a_e, "<span class='calcable distance' contrib='0.9'></span>" ],
      [ w.dor_a_tl2, w.dor_a_e, w.dor_a_es, w.dor_a_i3, w.dor_a_e, w.dor_a_e, w.dor_a_l, "<span class='calcable distance' contrib='0.9'></span>" ],
      [ w.dor_a_es, w.dor_a_t2, w.dor_a_e, w.dor_a_es, w.dor_a_i1, w.dor_a_e, w.dor_a_e, "<span class='calcable distance' contrib='0.7'></span>" ],
      // 13...
      [ w.dor_a_l, w.dor_a_es, w.dor_a_e, w.dor_a_ti1, w.dor_a_es, w.dor_a_e, w.dor_a_e, "<span class='calcable distance' contrib='1.0'></span>" ],
      [ w.dor_a_tlt1, w.dor_a_es, w.dor_a_e, w.dor_a_e, w.dor_a_ti2s, w.dor_a_e, w.dor_a_e, "<span class='calcable distance' contrib='0.9'></span>" ],
      [ w.dor_a_mp1, w.dor_a_es, w.dor_a_e, w.dor_a_e, w.dor_a_ti3s, w.dor_a_e, w.dor_a_e, "<span class='calcable distance' contrib='0.8'></span>" ],
      // 16...
      [ w.dor_a_l, w.dor_a_es, w.dor_a_e, w.dor_a_t, w.dor_a_es, w.dor_a_e, w.dor_a_e, "<span class='calcable distance' contrib='1.0'></span>" ],
      [ w.dor_a_tlt2, w.dor_a_es, w.dor_a_e, w.dor_a_e, w.dor_a_ti4s, w.dor_a_e, w.dor_a_e, "<span class='calcable distance' contrib='0.9'></span>" ],
      [ w.dor_a_mp, w.dor_a_es, w.dor_a_e, w.dor_a_e, w.dor_a_ti1s, w.dor_a_e, w.dor_a_e, "<span class='calcable distance' contrib='0.7'></span>" ],
      // 19...
      [ w.dor_a_l1, w.dor_a_e, w.dor_a_e, w.dor_a_e, w.dor_a_t1, w.dor_a_e, w.dor_a_e, "<span class='calcable distance' contrib='1.0'></span>" ],
      [ w.dor_a_tlt, w.dor_a_e, w.dor_a_e, w.dor_a_e, w.dor_a_t, w.dor_a_e, w.dor_a_e, "<span class='calcable distance' contrib='0.8'></span>" ],
      [ w.dor_a_l1, w.dor_a_e, w.dor_a_e, w.dor_a_t2, w.dor_a_e, w.dor_a_e, w.dor_a_e, "<span class='calcable distance' contrib='0.7'></span>" ],
      // 22...
      [ w.dor_a_mp, w.dor_a_e, w.dor_a_e, w.dor_a_e, w.dor_a_ti1, w.dor_a_e, w.dor_a_e, "<span class='calcable distance' contrib='0.7'></span>" ],
      [ w.dor_a_tl, w.dor_a_e1, w.dor_a_e2, w.dor_a_e2, w.dor_a_ti2, w.dor_a_e3, w.dor_a_e3, "<span class='calcable distance' contrib='0.6'></span>" ],
      [ w.dor_a_l2, w.dor_a_e4, w.dor_a_t3, w.dor_a_e4, w.dor_a_e2, w.dor_a_e5, w.dor_a_e5, "<span class='calcable distance' contrib='0.3'></span>" ]
    ],
    dor_c : [ [ w.dor_c_e, w.dor_c_e, w.dor_c_e, w.dor_c_e,  w.dor_c_e, w.dor_c_e, w.dor_c_e, "?" ],
      [ w.dor_c_e, w.dor_c_e, w.dor_c_e, w.dor_c_e,  w.dor_c_e, w.dor_c_e, w.dor_c_e, "?" ],
      [ w.dor_c_e, w.dor_c_e, w.dor_c_e, w.dor_c_e,  w.dor_c_e, w.dor_c_e, w.dor_c_e, "?" ],

      [ w.dor_c_l, w.dor_c_es, w.dor_c_es, w.dor_c_e,  w.dor_c_e, w.dor_c_es, w.dor_c_es, "?" ],
      [ w.dor_c_l, w.dor_c_es, w.dor_c_es, w.dor_c_e,  w.dor_c_e, w.dor_c_es, w.dor_c_es, "?" ],
      [ w.dor_c_l, w.dor_c_es, w.dor_c_es, w.dor_c_e,  w.dor_c_e, w.dor_c_es, w.dor_c_es, "?" ],
      // 7...
      [ w.dor_c_l, w.dor_c_es, w.dor_c_e, w.dor_c_ti1,  w.dor_c_es, w.dor_c_e, w.dor_c_r1, "50-60" ],
      [ w.dor_c_, w.dor_c_, w.dor_c_, w.dor_c_,  w.dor_c_, w.dor_c_, w.dor_c_, "50-60" ],
      [ w.dor_c_, w.dor_c_, w.dor_c_, w.dor_c_,  w.dor_c_, w.dor_c_, w.dor_c_, "50-60" ],
      // 10...
      [ w.dor_c_, w.dor_c_, w.dor_c_, w.dor_c_,  w.dor_c_, w.dor_c_, w.dor_c_, "60-65" ],
      [ w.dor_c_, w.dor_c_, w.dor_c_, w.dor_c_,  w.dor_c_, w.dor_c_, w.dor_c_, "60-65" ],
      [ w.dor_c_, w.dor_c_, w.dor_c_, w.dor_c_,  w.dor_c_, w.dor_c_, w.dor_c_, "60-65" ],
      // 13...
      [ w.dor_c_, w.dor_c_, w.dor_c_, w.dor_c_,  w.dor_c_, w.dor_c_, w.dor_c_, "60-65" ],
      [ w.dor_c_, w.dor_c_, w.dor_c_, w.dor_c_,  w.dor_c_, w.dor_c_, w.dor_c_, "60-65" ],
      [ w.dor_c_, w.dor_c_, w.dor_c_, w.dor_c_,  w.dor_c_, w.dor_c_, w.dor_c_, "60-65" ],
      // 16...
      [ w.dor_c_, w.dor_c_, w.dor_c_, w.dor_c_,  w.dor_c_, w.dor_c_, w.dor_c_, "65-70" ],
      [ w.dor_c_, w.dor_c_, w.dor_c_, w.dor_c_,  w.dor_c_, w.dor_c_, w.dor_c_, "65-70" ],
      [ w.dor_c_, w.dor_c_, w.dor_c_, w.dor_c_,  w.dor_c_, w.dor_c_, w.dor_c_, "65-70" ],
      // 19...
      [ w.dor_c_, w.dor_c_, w.dor_c_, w.dor_c_,  w.dor_c_, w.dor_c_, w.dor_c_, "70" ],
      [ w.dor_c_, w.dor_c_, w.dor_c_, w.dor_c_,  w.dor_c_, w.dor_c_, w.dor_c_, "70" ],
      [ w.dor_c_, w.dor_c_, w.dor_c_, w.dor_c_,  w.dor_c_, w.dor_c_, w.dor_c_, "70" ],
      // 22...
      [ w.dor_c_, w.dor_c_, w.dor_c_, w.dor_c_,  w.dor_c_, w.dor_c_, w.dor_c_, "70" ],
      [ w.dor_c_, w.dor_c_, w.dor_c_, w.dor_c_,  w.dor_c_, w.dor_c_, w.dor_c_, "65-70" ],
      [ w.dor_c_, w.dor_c_, w.dor_c_, w.dor_c_,  w.dor_c_, w.dor_c_, w.dor_c_, "60" ],
    ],
    dor_b : [ [ w.dor_b_e, w.dor_b_e, w.dor_b_e, w.dor_b_e,  w.dor_b_e, w.dor_b_e, w.dor_b_e, "?" ],
      [ w.dor_b_e, w.dor_b_e, w.dor_b_e, w.dor_b_e,  w.dor_b_e, w.dor_b_e, w.dor_b_e, "?" ],
      [ w.dor_b_e, w.dor_b_e, w.dor_b_e, w.dor_b_e,  w.dor_b_e, w.dor_b_e, w.dor_b_e, "?" ],

      [ w.dor_b_l, w.dor_b_es, w.dor_b_es, w.dor_b_e,  w.dor_b_e, w.dor_b_es, w.dor_b_es, "?" ],
      [ w.dor_b_l, w.dor_b_es, w.dor_b_es, w.dor_b_e,  w.dor_b_e, w.dor_b_es, w.dor_b_es, "?" ],
      [ w.dor_b_l, w.dor_b_es, w.dor_b_es, w.dor_b_e,  w.dor_b_e, w.dor_b_es, w.dor_b_es, "?" ],
      // 7...
      [ w.dor_b_l, w.dor_b_e, w.dor_b_es, w.dor_b_r1,  w.dor_b_e, w.dor_b_es, w.dor_b_es, "60" ],
      [ w.dor_b_tlt1s, w.dor_b_e, w.dor_b_es, w.dor_b_r2,  w.dor_b_e, w.dor_b_es, w.dor_b_ti1, "60" ],
      [ w.dor_b_l, w.dor_b_e, w.dor_b_es, w.dor_b_r3,  w.dor_b_e, w.dor_b_es, w.dor_b_es, "70" ],
      // 10...
      [ w.dor_b_mp, w.dor_b_e, w.dor_b_e, w.dor_b_es, w.dor_b_r4, w.dor_b_es, w.dor_b_es,  "70" ],
      [ w.dor_b_tlt2, w.dor_b_e, w.dor_b_es, w.dor_b_r5, w.dor_b_e, w.dor_b_es, w.dor_b_ti1, "70" ],
      [ w.dor_b_l, w.dor_b_e, w.dor_b_es, w.dor_b_r1, w.dor_b_e, w.dor_b_es, w.dor_b_es, "80" ],
      // 13...
      [ w.dor_b_tlt1, w.dor_b_es, w.dor_b_e, w.dor_b_i1, w.dor_b_es, w.dor_b_e, w.dor_b_e,    "80" ],
      [ w.dor_b_mp, w.dor_b_e, w.dor_b_e, w.dor_b_es, w.dor_b_i1, w.dor_b_e, w.dor_b_es, "80" ],
      [ w.dor_b_l, w.dor_b_es, w.dor_b_e, w.dor_b_i3, w.dor_b_es, w.dor_b_e, w.dor_b_e,  "90" ],
      // 16...
      [ w.dor_b_tlt2, w.dor_b_es, w.dor_b_e, w.dor_b_es, w.dor_b_i4, w.dor_b_e, w.dor_b_e,      "80" ],
      [ w.dor_b_l, w.dor_b_es, w.dor_b_e, w.dor_b_i3, w.dor_b_es, w.dor_b_e, w.dor_b_e, "90" ],
      [ w.dor_b_mp, w.dor_b_e, w.dor_b_e, w.dor_b_es, w.dor_b_i3, w.dor_b_e, w.dor_b_es,   "80" ],
      // 19...
      [ w.dor_b_tl, w.dor_b_e, w.dor_b_e, w.dor_b_ti1, w.dor_b_e, w.dor_b_e, w.dor_b_e, "80" ],
      [ w.dor_b_tlt, w.dor_b_e, w.dor_b_e, w.dor_b_e, w.dor_b_ti1, w.dor_b_e, w.dor_b_e, "80" ],
      [ w.dor_b_l1, w.dor_b_e, w.dor_b_e, w.dor_b_ti2, w.dor_b_e, w.dor_b_e, w.dor_b_e, "70-80" ],
      // 22...
      [ w.dor_b_mp, w.dor_b_e, w.dor_b_e, w.dor_b_e, w.dor_b_t2, w.dor_b_e, w.dor_b_e,      "60-70" ],
      [ w.dor_b_tl, w.dor_b_e, w.dor_b_e, w.dor_b_e, w.dor_b_ti2, w.dor_b_e, w.dor_b_e, "60" ],
      [ w.dor_b_l2, w.dor_b_e1, w.dor_b_ti3, w.dor_b_e1, w.dor_b_e2, w.dor_b_e3, w.dor_b_e3,  "?" ]
    ]
  },
  "half" : {
    title : "Half marathon (3 month schedule)",
    beginner : [ [ w.mn2030, w.tem, w.mn30, w.mn2030, w.off, w.mi02, w.off ],
      [ w.mn2030, w.tem, w.mn45, w.mn2030, w.off, w.mi03, w.off ],
      [ w.mn2030, w.tem, w.mn30, w.mn2030, w.off, w.mi04, w.off ],
      [ w.mn2030, w.tem, w.mn35, w.mn2030, w.off, w.mi06, w.off ],

      [ w.mn2030, w.hil, w.mn30, w.mn2030, w.off, w.mi04, w.off ],
      [ w.mn2030, w.hil, w.off, w.mn20, w.off, w.mi08, w.off ],
      [ w.mn2030, w.hil, w.mn30, w.mn2030, w.off, w.mi06, w.off ],
      [ w.mn2030, w.hil, w.mn35, w.mn2030, w.off, w.mi10, w.off ],

      [ w.mn2030, w.trk, w.mn45, w.mn2030, w.off, w.mi06, w.off ],
      [ w.mn2030, w.trk, w.mn30, w.mn2030, w.off, w.mi12, w.off ],
      [ w.mn2030, w.trk, w.mn35, w.mn2030, w.off, w.mi10, w.off ],
      [ w.mn2030, w.trk, w.mn30, w.mn2030, w.off, w.mi08, w.off ],
      [ w.mn2030, w.trk, w.mn20, w.mn2030, w.off, w.mi03, w.race ]
    ],
    intermediate : [ [ w.mn34, w.tem, w.mn45, w.mn34, w.off, w.mi04, w.off ],
      [ w.mn34, w.tem, w.mn45, w.mn34, w.off, w.mi06, w.off ],
      [ w.mn34, w.tem, w.mn45, w.mn34, w.off, w.mi04, w.off ],
      [ w.mn34, w.tem, w.mn45, w.mn34, w.off, w.mi08, w.off ],

      [ w.mn34, w.hil, w.mn45, w.mn34, w.off, w.mi06, w.off ],
      [ w.mn30, w.hil, w.mn30, w.mn30, w.off, w.mi10, w.off ],
      [ w.mn34, w.hil, w.mn45, w.mn34, w.off, w.mi06, w.off ],
      [ w.mn34, w.hil, w.mn50, w.mn34, w.off, w.mi12, w.off ],

      [ w.mn34, w.trk, w.mn55, w.mn34, w.off, w.mi08, w.off ],
      [ w.mn34, w.trk, w.mn45, w.mn34, w.off, w.mi15, w.off ],
      [ w.mn34, w.trk, w.mn50, w.mn34, w.off, w.mi10, w.off ],
      [ w.mn34, w.trk, w.mn45, w.mn34, w.off, w.mi08, w.off ],
      [ w.mn34, w.trk, w.mn30, w.mn2030, w.off, w.mi03, w.race ]
    ],
    advanced : [ [ w.mn46, w.tem, w.mn60, w.mn46, w.off, w.mi08, w.off ],
      [ w.mn46, w.tem, w.mn60, w.mn46, w.off, w.mi10, w.off ],
      [ w.mn46, w.tem, w.mn60, w.mn46, w.off, w.mi12, w.off ],
      [ w.mn46, w.tem, w.mn60, w.mn46, w.off, w.mi10, w.off ],

      [ w.mn46, w.hil, w.mn60, w.mn46, w.off, w.mi13, w.off ],
      [ w.mn45, w.hil, w.mn45, w.mn45, w.off, w.mi12, w.off ],
      [ w.mn46, w.hil, w.mn60, w.mn46, w.off, w.mi14, w.off ],
      [ w.mn46, w.hil, w.mn65, w.mn46, w.off, w.mi15, w.off ],

      [ w.mn46, w.trk, w.mn70, w.mn46, w.off, w.mi13, w.off ],
      [ w.mn46, w.trk, w.mn60, w.mn46, w.off, w.mi17, w.off ],
      [ w.mn46, w.trk, w.mn65, w.mn46, w.off, w.mi12, w.off ],
      [ w.mn46, w.trk, w.mn60, w.mn46, w.off, w.mi08, w.off ],
      [ w.mn46, w.trk, w.mn45, w.mn2030, w.off, w.mi03, w.race ]
    ]
  },

  "half4" : {
    title : "Half marathon (4 month schedule)",
  },

  // note: last element - do not include trailing "," or it will break 
  // rendering in IE 
  "half6" : {
    title : "Half marathon (6 month schedule)",
  }
};


